kuavo-humanoid-sdk 1.2.2b3208__20250922170818-py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of kuavo-humanoid-sdk might be problematic. Click here for more details.

Files changed (186) hide show
  1. kuavo_humanoid_sdk/__init__.py +6 -0
  2. kuavo_humanoid_sdk/common/logger.py +45 -0
  3. kuavo_humanoid_sdk/interfaces/__init__.py +4 -0
  4. kuavo_humanoid_sdk/interfaces/data_types.py +288 -0
  5. kuavo_humanoid_sdk/interfaces/end_effector.py +62 -0
  6. kuavo_humanoid_sdk/interfaces/robot.py +22 -0
  7. kuavo_humanoid_sdk/interfaces/robot_info.py +56 -0
  8. kuavo_humanoid_sdk/kuavo/__init__.py +16 -0
  9. kuavo_humanoid_sdk/kuavo/core/audio.py +32 -0
  10. kuavo_humanoid_sdk/kuavo/core/core.py +666 -0
  11. kuavo_humanoid_sdk/kuavo/core/dex_hand_control.py +114 -0
  12. kuavo_humanoid_sdk/kuavo/core/leju_claw_control.py +67 -0
  13. kuavo_humanoid_sdk/kuavo/core/llm_doubao.py +608 -0
  14. kuavo_humanoid_sdk/kuavo/core/microphone.py +192 -0
  15. kuavo_humanoid_sdk/kuavo/core/navigation.py +70 -0
  16. kuavo_humanoid_sdk/kuavo/core/ros/audio.py +110 -0
  17. kuavo_humanoid_sdk/kuavo/core/ros/camera.py +105 -0
  18. kuavo_humanoid_sdk/kuavo/core/ros/control.py +1524 -0
  19. kuavo_humanoid_sdk/kuavo/core/ros/microphone.py +38 -0
  20. kuavo_humanoid_sdk/kuavo/core/ros/navigation.py +217 -0
  21. kuavo_humanoid_sdk/kuavo/core/ros/observation.py +94 -0
  22. kuavo_humanoid_sdk/kuavo/core/ros/param.py +201 -0
  23. kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py +103 -0
  24. kuavo_humanoid_sdk/kuavo/core/ros/state.py +652 -0
  25. kuavo_humanoid_sdk/kuavo/core/ros/tools.py +220 -0
  26. kuavo_humanoid_sdk/kuavo/core/ros/vision.py +234 -0
  27. kuavo_humanoid_sdk/kuavo/core/ros_env.py +238 -0
  28. kuavo_humanoid_sdk/kuavo/core/sdk_deprecated.py +41 -0
  29. kuavo_humanoid_sdk/kuavo/demo_climbstair.py +249 -0
  30. kuavo_humanoid_sdk/kuavo/dexterous_hand.py +238 -0
  31. kuavo_humanoid_sdk/kuavo/leju_claw.py +235 -0
  32. kuavo_humanoid_sdk/kuavo/logger_client.py +80 -0
  33. kuavo_humanoid_sdk/kuavo/robot.py +646 -0
  34. kuavo_humanoid_sdk/kuavo/robot_arm.py +411 -0
  35. kuavo_humanoid_sdk/kuavo/robot_audio.py +39 -0
  36. kuavo_humanoid_sdk/kuavo/robot_blockly.py +1154 -0
  37. kuavo_humanoid_sdk/kuavo/robot_climbstair.py +1607 -0
  38. kuavo_humanoid_sdk/kuavo/robot_head.py +95 -0
  39. kuavo_humanoid_sdk/kuavo/robot_info.py +134 -0
  40. kuavo_humanoid_sdk/kuavo/robot_microphone.py +19 -0
  41. kuavo_humanoid_sdk/kuavo/robot_navigation.py +135 -0
  42. kuavo_humanoid_sdk/kuavo/robot_observation.py +64 -0
  43. kuavo_humanoid_sdk/kuavo/robot_speech.py +24 -0
  44. kuavo_humanoid_sdk/kuavo/robot_state.py +310 -0
  45. kuavo_humanoid_sdk/kuavo/robot_tool.py +109 -0
  46. kuavo_humanoid_sdk/kuavo/robot_vision.py +81 -0
  47. kuavo_humanoid_sdk/kuavo_strategy/__init__.py +2 -0
  48. kuavo_humanoid_sdk/kuavo_strategy/grasp_box/grasp_box_strategy.py +1325 -0
  49. kuavo_humanoid_sdk/kuavo_strategy/kuavo_strategy.py +106 -0
  50. kuavo_humanoid_sdk/kuavo_strategy_v2/common/data_type.py +340 -0
  51. kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/base_event.py +215 -0
  52. kuavo_humanoid_sdk/kuavo_strategy_v2/common/robot_sdk.py +25 -0
  53. kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/case.py +331 -0
  54. kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/strategy.py +504 -0
  55. kuavo_humanoid_sdk/kuavo_strategy_v2/utils/logger_setup.py +40 -0
  56. kuavo_humanoid_sdk/kuavo_strategy_v2/utils/utils.py +88 -0
  57. kuavo_humanoid_sdk/msg/__init__.py +4 -0
  58. kuavo_humanoid_sdk/msg/kuavo_msgs/__init__.py +7 -0
  59. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetection.py +306 -0
  60. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetectionArray.py +437 -0
  61. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AudioReceiverData.py +122 -0
  62. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_FTsensorData.py +260 -0
  63. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_JoySticks.py +191 -0
  64. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py +199 -0
  65. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_MmDetectionMsg.py +264 -0
  66. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_RobotActionState.py +112 -0
  67. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TFArray.py +323 -0
  68. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TaskPoint.py +175 -0
  69. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +62 -0
  70. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armCollisionCheckInfo.py +160 -0
  71. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPose.py +161 -0
  72. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPoseFree.py +171 -0
  73. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py +168 -0
  74. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py +171 -0
  75. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_bezierCurveCubicPoint.py +178 -0
  76. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py +229 -0
  77. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandTouchState.py +256 -0
  78. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_endEffectorData.py +227 -0
  79. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose.py +123 -0
  80. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6D.py +123 -0
  81. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6DTargetTrajectories.py +320 -0
  82. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py +301 -0
  83. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVision.py +136 -0
  84. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVisionArray.py +231 -0
  85. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses.py +149 -0
  86. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses6D.py +149 -0
  87. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_fullBodyTargetTrajectories.py +258 -0
  88. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py +147 -0
  89. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py +218 -0
  90. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py +149 -0
  91. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_handPose.py +136 -0
  92. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py +145 -0
  93. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveError.py +171 -0
  94. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveParam.py +140 -0
  95. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py +165 -0
  96. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointBezierTrajectory.py +201 -0
  97. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py +390 -0
  98. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py +205 -0
  99. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_kuavoModeSchedule.py +224 -0
  100. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py +320 -0
  101. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py +341 -0
  102. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_motorParam.py +122 -0
  103. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfo.py +143 -0
  104. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfoList.py +220 -0
  105. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_planArmState.py +120 -0
  106. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_qv.py +121 -0
  107. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotArmQVVD.py +177 -0
  108. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotBodyMatrices.py +332 -0
  109. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py +225 -0
  110. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py +128 -0
  111. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py +222 -0
  112. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py +655 -0
  113. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py +200 -0
  114. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_tagDataArray.py +216 -0
  115. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py +162 -0
  116. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPose.py +273 -0
  117. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmd.py +316 -0
  118. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmdFree.py +338 -0
  119. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseFree.py +299 -0
  120. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py +251 -0
  121. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py +168 -0
  122. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_CreatePath.py +581 -0
  123. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_ExecuteArmAction.py +281 -0
  124. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetAllMaps.py +241 -0
  125. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetCurrentMap.py +225 -0
  126. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetTargetPartPoseInCamera.py +298 -0
  127. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_InitialPoseWithTaskPoint.py +281 -0
  128. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_LoadMap.py +281 -0
  129. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_NavigateToTaskPoint.py +281 -0
  130. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_RepublishTFs.py +373 -0
  131. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetInitialPose.py +394 -0
  132. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetJoyTopic.py +282 -0
  133. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode.py +468 -0
  134. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode_free.py +289 -0
  135. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py +270 -0
  136. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_TaskPointOperation.py +536 -0
  137. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +43 -0
  138. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_adjustZeroPoint.py +277 -0
  139. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py +275 -0
  140. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlModeKuavo.py +236 -0
  141. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeMotorParam.py +299 -0
  142. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py +274 -0
  143. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py +408 -0
  144. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py +304 -0
  145. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_fkSrv.py +395 -0
  146. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPose6DTargetTrajectoriesSrv.py +426 -0
  147. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py +409 -0
  148. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py +339 -0
  149. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py +257 -0
  150. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py +418 -0
  151. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py +253 -0
  152. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorParam.py +299 -0
  153. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorZeroPoints.py +286 -0
  154. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py +330 -0
  155. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py +302 -0
  156. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryBezierCurve.py +422 -0
  157. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryCubicSpline.py +490 -0
  158. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +268 -0
  159. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py +304 -0
  160. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMmCtrlFrame.py +273 -0
  161. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py +283 -0
  162. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py +275 -0
  163. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py +444 -0
  164. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdFreeSrv.py +716 -0
  165. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdSrv.py +664 -0
  166. kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py +7 -0
  167. kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py +7 -0
  168. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py +12 -0
  169. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py +142 -0
  170. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_controller_data.py +121 -0
  171. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_lagrangian_metrics.py +148 -0
  172. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mode_schedule.py +150 -0
  173. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_flattened_controller.py +666 -0
  174. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_input.py +122 -0
  175. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_observation.py +209 -0
  176. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_performance_indices.py +140 -0
  177. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_solver_data.py +886 -0
  178. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_state.py +122 -0
  179. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py +239 -0
  180. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py +148 -0
  181. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +1 -0
  182. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py +376 -0
  183. kuavo_humanoid_sdk-1.2.2b3208.dist-info/METADATA +297 -0
  184. kuavo_humanoid_sdk-1.2.2b3208.dist-info/RECORD +186 -0
  185. kuavo_humanoid_sdk-1.2.2b3208.dist-info/WHEEL +6 -0
  186. kuavo_humanoid_sdk-1.2.2b3208.dist-info/top_level.txt +1 -0
@@ -0,0 +1,886 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from ocs2_msgs/mpc_solver_data.msg. Do not edit."""
3
+ import codecs
4
+ import sys
5
+ python3 = True if sys.hexversion > 0x03000000 else False
6
+ import genpy
7
+ import struct
8
+
9
+ import ocs2_msgs.msg
10
+
11
+ class mpc_solver_data(genpy.Message):
12
+ _md5sum = "5d8e9cf6f256a05764e6ff2f6f246a7f"
13
+ _type = "ocs2_msgs/mpc_solver_data"
14
+ _has_header = False # flag to mark the presence of a Header object
15
+ _full_text = """float64 initTime # 对应 scalar_t initTime_
16
+ float64[] initState # 对应 vector_t initState_
17
+ float64 finalTime # 对应 scalar_t finalTime_
18
+
19
+ # ModeSchedule 和 TargetTrajectories
20
+ mode_schedule modeSchedule
21
+ mpc_target_trajectories targetTrajectories
22
+
23
+ # 包含 PrimalSolution
24
+ mpc_flattened_controller mpc_flattened_controller
25
+
26
+ # swingplanner存储的swingPlannerMultipliers
27
+ float64[] swingPlannerMultipliers
28
+
29
+ ================================================================================
30
+ MSG: ocs2_msgs/mode_schedule
31
+ # MPC mode sequence
32
+
33
+ float64[] eventTimes # event times: its size is equal to the size of phaseSequence minus one
34
+ int8[] modeSequence # mode sequence: e.g., for a quadrupedal robot, it is in the set {0, 1,..., 15}
35
+ ================================================================================
36
+ MSG: ocs2_msgs/mpc_target_trajectories
37
+ # MPC target trajectories
38
+
39
+ float64[] timeTrajectory # MPC target time trajectory
40
+ mpc_state[] stateTrajectory # MPC target state trajectory
41
+ mpc_input[] inputTrajectory # MPC target input trajectory
42
+
43
+
44
+ ================================================================================
45
+ MSG: ocs2_msgs/mpc_state
46
+ # MPC internal model state vector
47
+ float32[] value
48
+
49
+ ================================================================================
50
+ MSG: ocs2_msgs/mpc_input
51
+ # MPC internal model input vector
52
+
53
+ float32[] value
54
+ ================================================================================
55
+ MSG: ocs2_msgs/mpc_flattened_controller
56
+ # Flattened controller: A serialized controller
57
+
58
+ # define controllerType Enum values
59
+ uint8 CONTROLLER_UNKNOWN=0 # safety mechanism: message initalization to zero
60
+ uint8 CONTROLLER_FEEDFORWARD=1
61
+ uint8 CONTROLLER_LINEAR=2
62
+
63
+ uint8 controllerType # what type of controller is this
64
+
65
+ mpc_observation initObservation # plan initial observation
66
+
67
+ mpc_target_trajectories planTargetTrajectories # target trajectory in cost function
68
+ mpc_state[] stateTrajectory # optimized state trajectory from planner
69
+ mpc_input[] inputTrajectory # optimized input trajectory from planner
70
+ float64[] timeTrajectory # time trajectory for stateTrajectory and inputTrajectory
71
+ uint16[] postEventIndices # array of indices indicating the index of post-event time in the trajectories
72
+ mode_schedule modeSchedule # optimal/predefined MPC mode sequence and event times
73
+
74
+ controller_data[] data # the actual payload from flatten method: one vector of data per time step
75
+
76
+ mpc_performance_indices performanceIndices # solver performance indices
77
+
78
+ ================================================================================
79
+ MSG: ocs2_msgs/mpc_observation
80
+ # MPC observation
81
+ float64 time # Current time
82
+ mpc_state state # Current state
83
+ mpc_input input # Current input
84
+ int8 mode # Current mode
85
+
86
+ ================================================================================
87
+ MSG: ocs2_msgs/controller_data
88
+ float32[] data
89
+
90
+ ================================================================================
91
+ MSG: ocs2_msgs/mpc_performance_indices
92
+ # MPC performance indices
93
+ float32 initTime
94
+ float32 merit
95
+ float32 cost
96
+ float32 dynamicsViolationSSE
97
+ float32 equalityConstraintsSSE
98
+ float32 equalityLagrangian
99
+ float32 inequalityLagrangian
100
+ """
101
+ __slots__ = ['initTime','initState','finalTime','modeSchedule','targetTrajectories','mpc_flattened_controller','swingPlannerMultipliers']
102
+ _slot_types = ['float64','float64[]','float64','ocs2_msgs/mode_schedule','ocs2_msgs/mpc_target_trajectories','ocs2_msgs/mpc_flattened_controller','float64[]']
103
+
104
+ def __init__(self, *args, **kwds):
105
+ """
106
+ Constructor. Any message fields that are implicitly/explicitly
107
+ set to None will be assigned a default value. The recommend
108
+ use is keyword arguments as this is more robust to future message
109
+ changes. You cannot mix in-order arguments and keyword arguments.
110
+
111
+ The available fields are:
112
+ initTime,initState,finalTime,modeSchedule,targetTrajectories,mpc_flattened_controller,swingPlannerMultipliers
113
+
114
+ :param args: complete set of field values, in .msg order
115
+ :param kwds: use keyword arguments corresponding to message field names
116
+ to set specific fields.
117
+ """
118
+ if args or kwds:
119
+ super(mpc_solver_data, self).__init__(*args, **kwds)
120
+ # message fields cannot be None, assign default values for those that are
121
+ if self.initTime is None:
122
+ self.initTime = 0.
123
+ if self.initState is None:
124
+ self.initState = []
125
+ if self.finalTime is None:
126
+ self.finalTime = 0.
127
+ if self.modeSchedule is None:
128
+ self.modeSchedule = ocs2_msgs.msg.mode_schedule()
129
+ if self.targetTrajectories is None:
130
+ self.targetTrajectories = ocs2_msgs.msg.mpc_target_trajectories()
131
+ if self.mpc_flattened_controller is None:
132
+ self.mpc_flattened_controller = ocs2_msgs.msg.mpc_flattened_controller()
133
+ if self.swingPlannerMultipliers is None:
134
+ self.swingPlannerMultipliers = []
135
+ else:
136
+ self.initTime = 0.
137
+ self.initState = []
138
+ self.finalTime = 0.
139
+ self.modeSchedule = ocs2_msgs.msg.mode_schedule()
140
+ self.targetTrajectories = ocs2_msgs.msg.mpc_target_trajectories()
141
+ self.mpc_flattened_controller = ocs2_msgs.msg.mpc_flattened_controller()
142
+ self.swingPlannerMultipliers = []
143
+
144
+ def _get_types(self):
145
+ """
146
+ internal API method
147
+ """
148
+ return self._slot_types
149
+
150
+ def serialize(self, buff):
151
+ """
152
+ serialize message into buffer
153
+ :param buff: buffer, ``StringIO``
154
+ """
155
+ try:
156
+ _x = self.initTime
157
+ buff.write(_get_struct_d().pack(_x))
158
+ length = len(self.initState)
159
+ buff.write(_struct_I.pack(length))
160
+ pattern = '<%sd'%length
161
+ buff.write(struct.Struct(pattern).pack(*self.initState))
162
+ _x = self.finalTime
163
+ buff.write(_get_struct_d().pack(_x))
164
+ length = len(self.modeSchedule.eventTimes)
165
+ buff.write(_struct_I.pack(length))
166
+ pattern = '<%sd'%length
167
+ buff.write(struct.Struct(pattern).pack(*self.modeSchedule.eventTimes))
168
+ length = len(self.modeSchedule.modeSequence)
169
+ buff.write(_struct_I.pack(length))
170
+ pattern = '<%sb'%length
171
+ buff.write(struct.Struct(pattern).pack(*self.modeSchedule.modeSequence))
172
+ length = len(self.targetTrajectories.timeTrajectory)
173
+ buff.write(_struct_I.pack(length))
174
+ pattern = '<%sd'%length
175
+ buff.write(struct.Struct(pattern).pack(*self.targetTrajectories.timeTrajectory))
176
+ length = len(self.targetTrajectories.stateTrajectory)
177
+ buff.write(_struct_I.pack(length))
178
+ for val1 in self.targetTrajectories.stateTrajectory:
179
+ length = len(val1.value)
180
+ buff.write(_struct_I.pack(length))
181
+ pattern = '<%sf'%length
182
+ buff.write(struct.Struct(pattern).pack(*val1.value))
183
+ length = len(self.targetTrajectories.inputTrajectory)
184
+ buff.write(_struct_I.pack(length))
185
+ for val1 in self.targetTrajectories.inputTrajectory:
186
+ length = len(val1.value)
187
+ buff.write(_struct_I.pack(length))
188
+ pattern = '<%sf'%length
189
+ buff.write(struct.Struct(pattern).pack(*val1.value))
190
+ _x = self
191
+ buff.write(_get_struct_Bd().pack(_x.mpc_flattened_controller.controllerType, _x.mpc_flattened_controller.initObservation.time))
192
+ length = len(self.mpc_flattened_controller.initObservation.state.value)
193
+ buff.write(_struct_I.pack(length))
194
+ pattern = '<%sf'%length
195
+ buff.write(struct.Struct(pattern).pack(*self.mpc_flattened_controller.initObservation.state.value))
196
+ length = len(self.mpc_flattened_controller.initObservation.input.value)
197
+ buff.write(_struct_I.pack(length))
198
+ pattern = '<%sf'%length
199
+ buff.write(struct.Struct(pattern).pack(*self.mpc_flattened_controller.initObservation.input.value))
200
+ _x = self.mpc_flattened_controller.initObservation.mode
201
+ buff.write(_get_struct_b().pack(_x))
202
+ length = len(self.mpc_flattened_controller.planTargetTrajectories.timeTrajectory)
203
+ buff.write(_struct_I.pack(length))
204
+ pattern = '<%sd'%length
205
+ buff.write(struct.Struct(pattern).pack(*self.mpc_flattened_controller.planTargetTrajectories.timeTrajectory))
206
+ length = len(self.mpc_flattened_controller.planTargetTrajectories.stateTrajectory)
207
+ buff.write(_struct_I.pack(length))
208
+ for val1 in self.mpc_flattened_controller.planTargetTrajectories.stateTrajectory:
209
+ length = len(val1.value)
210
+ buff.write(_struct_I.pack(length))
211
+ pattern = '<%sf'%length
212
+ buff.write(struct.Struct(pattern).pack(*val1.value))
213
+ length = len(self.mpc_flattened_controller.planTargetTrajectories.inputTrajectory)
214
+ buff.write(_struct_I.pack(length))
215
+ for val1 in self.mpc_flattened_controller.planTargetTrajectories.inputTrajectory:
216
+ length = len(val1.value)
217
+ buff.write(_struct_I.pack(length))
218
+ pattern = '<%sf'%length
219
+ buff.write(struct.Struct(pattern).pack(*val1.value))
220
+ length = len(self.mpc_flattened_controller.stateTrajectory)
221
+ buff.write(_struct_I.pack(length))
222
+ for val1 in self.mpc_flattened_controller.stateTrajectory:
223
+ length = len(val1.value)
224
+ buff.write(_struct_I.pack(length))
225
+ pattern = '<%sf'%length
226
+ buff.write(struct.Struct(pattern).pack(*val1.value))
227
+ length = len(self.mpc_flattened_controller.inputTrajectory)
228
+ buff.write(_struct_I.pack(length))
229
+ for val1 in self.mpc_flattened_controller.inputTrajectory:
230
+ length = len(val1.value)
231
+ buff.write(_struct_I.pack(length))
232
+ pattern = '<%sf'%length
233
+ buff.write(struct.Struct(pattern).pack(*val1.value))
234
+ length = len(self.mpc_flattened_controller.timeTrajectory)
235
+ buff.write(_struct_I.pack(length))
236
+ pattern = '<%sd'%length
237
+ buff.write(struct.Struct(pattern).pack(*self.mpc_flattened_controller.timeTrajectory))
238
+ length = len(self.mpc_flattened_controller.postEventIndices)
239
+ buff.write(_struct_I.pack(length))
240
+ pattern = '<%sH'%length
241
+ buff.write(struct.Struct(pattern).pack(*self.mpc_flattened_controller.postEventIndices))
242
+ length = len(self.mpc_flattened_controller.modeSchedule.eventTimes)
243
+ buff.write(_struct_I.pack(length))
244
+ pattern = '<%sd'%length
245
+ buff.write(struct.Struct(pattern).pack(*self.mpc_flattened_controller.modeSchedule.eventTimes))
246
+ length = len(self.mpc_flattened_controller.modeSchedule.modeSequence)
247
+ buff.write(_struct_I.pack(length))
248
+ pattern = '<%sb'%length
249
+ buff.write(struct.Struct(pattern).pack(*self.mpc_flattened_controller.modeSchedule.modeSequence))
250
+ length = len(self.mpc_flattened_controller.data)
251
+ buff.write(_struct_I.pack(length))
252
+ for val1 in self.mpc_flattened_controller.data:
253
+ length = len(val1.data)
254
+ buff.write(_struct_I.pack(length))
255
+ pattern = '<%sf'%length
256
+ buff.write(struct.Struct(pattern).pack(*val1.data))
257
+ _x = self
258
+ buff.write(_get_struct_7f().pack(_x.mpc_flattened_controller.performanceIndices.initTime, _x.mpc_flattened_controller.performanceIndices.merit, _x.mpc_flattened_controller.performanceIndices.cost, _x.mpc_flattened_controller.performanceIndices.dynamicsViolationSSE, _x.mpc_flattened_controller.performanceIndices.equalityConstraintsSSE, _x.mpc_flattened_controller.performanceIndices.equalityLagrangian, _x.mpc_flattened_controller.performanceIndices.inequalityLagrangian))
259
+ length = len(self.swingPlannerMultipliers)
260
+ buff.write(_struct_I.pack(length))
261
+ pattern = '<%sd'%length
262
+ buff.write(struct.Struct(pattern).pack(*self.swingPlannerMultipliers))
263
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
264
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
265
+
266
+ def deserialize(self, str):
267
+ """
268
+ unpack serialized message in str into this message instance
269
+ :param str: byte array of serialized message, ``str``
270
+ """
271
+ if python3:
272
+ codecs.lookup_error("rosmsg").msg_type = self._type
273
+ try:
274
+ if self.modeSchedule is None:
275
+ self.modeSchedule = ocs2_msgs.msg.mode_schedule()
276
+ if self.targetTrajectories is None:
277
+ self.targetTrajectories = ocs2_msgs.msg.mpc_target_trajectories()
278
+ if self.mpc_flattened_controller is None:
279
+ self.mpc_flattened_controller = ocs2_msgs.msg.mpc_flattened_controller()
280
+ end = 0
281
+ start = end
282
+ end += 8
283
+ (self.initTime,) = _get_struct_d().unpack(str[start:end])
284
+ start = end
285
+ end += 4
286
+ (length,) = _struct_I.unpack(str[start:end])
287
+ pattern = '<%sd'%length
288
+ start = end
289
+ s = struct.Struct(pattern)
290
+ end += s.size
291
+ self.initState = s.unpack(str[start:end])
292
+ start = end
293
+ end += 8
294
+ (self.finalTime,) = _get_struct_d().unpack(str[start:end])
295
+ start = end
296
+ end += 4
297
+ (length,) = _struct_I.unpack(str[start:end])
298
+ pattern = '<%sd'%length
299
+ start = end
300
+ s = struct.Struct(pattern)
301
+ end += s.size
302
+ self.modeSchedule.eventTimes = s.unpack(str[start:end])
303
+ start = end
304
+ end += 4
305
+ (length,) = _struct_I.unpack(str[start:end])
306
+ pattern = '<%sb'%length
307
+ start = end
308
+ s = struct.Struct(pattern)
309
+ end += s.size
310
+ self.modeSchedule.modeSequence = s.unpack(str[start:end])
311
+ start = end
312
+ end += 4
313
+ (length,) = _struct_I.unpack(str[start:end])
314
+ pattern = '<%sd'%length
315
+ start = end
316
+ s = struct.Struct(pattern)
317
+ end += s.size
318
+ self.targetTrajectories.timeTrajectory = s.unpack(str[start:end])
319
+ start = end
320
+ end += 4
321
+ (length,) = _struct_I.unpack(str[start:end])
322
+ self.targetTrajectories.stateTrajectory = []
323
+ for i in range(0, length):
324
+ val1 = ocs2_msgs.msg.mpc_state()
325
+ start = end
326
+ end += 4
327
+ (length,) = _struct_I.unpack(str[start:end])
328
+ pattern = '<%sf'%length
329
+ start = end
330
+ s = struct.Struct(pattern)
331
+ end += s.size
332
+ val1.value = s.unpack(str[start:end])
333
+ self.targetTrajectories.stateTrajectory.append(val1)
334
+ start = end
335
+ end += 4
336
+ (length,) = _struct_I.unpack(str[start:end])
337
+ self.targetTrajectories.inputTrajectory = []
338
+ for i in range(0, length):
339
+ val1 = ocs2_msgs.msg.mpc_input()
340
+ start = end
341
+ end += 4
342
+ (length,) = _struct_I.unpack(str[start:end])
343
+ pattern = '<%sf'%length
344
+ start = end
345
+ s = struct.Struct(pattern)
346
+ end += s.size
347
+ val1.value = s.unpack(str[start:end])
348
+ self.targetTrajectories.inputTrajectory.append(val1)
349
+ _x = self
350
+ start = end
351
+ end += 9
352
+ (_x.mpc_flattened_controller.controllerType, _x.mpc_flattened_controller.initObservation.time,) = _get_struct_Bd().unpack(str[start:end])
353
+ start = end
354
+ end += 4
355
+ (length,) = _struct_I.unpack(str[start:end])
356
+ pattern = '<%sf'%length
357
+ start = end
358
+ s = struct.Struct(pattern)
359
+ end += s.size
360
+ self.mpc_flattened_controller.initObservation.state.value = s.unpack(str[start:end])
361
+ start = end
362
+ end += 4
363
+ (length,) = _struct_I.unpack(str[start:end])
364
+ pattern = '<%sf'%length
365
+ start = end
366
+ s = struct.Struct(pattern)
367
+ end += s.size
368
+ self.mpc_flattened_controller.initObservation.input.value = s.unpack(str[start:end])
369
+ start = end
370
+ end += 1
371
+ (self.mpc_flattened_controller.initObservation.mode,) = _get_struct_b().unpack(str[start:end])
372
+ start = end
373
+ end += 4
374
+ (length,) = _struct_I.unpack(str[start:end])
375
+ pattern = '<%sd'%length
376
+ start = end
377
+ s = struct.Struct(pattern)
378
+ end += s.size
379
+ self.mpc_flattened_controller.planTargetTrajectories.timeTrajectory = s.unpack(str[start:end])
380
+ start = end
381
+ end += 4
382
+ (length,) = _struct_I.unpack(str[start:end])
383
+ self.mpc_flattened_controller.planTargetTrajectories.stateTrajectory = []
384
+ for i in range(0, length):
385
+ val1 = ocs2_msgs.msg.mpc_state()
386
+ start = end
387
+ end += 4
388
+ (length,) = _struct_I.unpack(str[start:end])
389
+ pattern = '<%sf'%length
390
+ start = end
391
+ s = struct.Struct(pattern)
392
+ end += s.size
393
+ val1.value = s.unpack(str[start:end])
394
+ self.mpc_flattened_controller.planTargetTrajectories.stateTrajectory.append(val1)
395
+ start = end
396
+ end += 4
397
+ (length,) = _struct_I.unpack(str[start:end])
398
+ self.mpc_flattened_controller.planTargetTrajectories.inputTrajectory = []
399
+ for i in range(0, length):
400
+ val1 = ocs2_msgs.msg.mpc_input()
401
+ start = end
402
+ end += 4
403
+ (length,) = _struct_I.unpack(str[start:end])
404
+ pattern = '<%sf'%length
405
+ start = end
406
+ s = struct.Struct(pattern)
407
+ end += s.size
408
+ val1.value = s.unpack(str[start:end])
409
+ self.mpc_flattened_controller.planTargetTrajectories.inputTrajectory.append(val1)
410
+ start = end
411
+ end += 4
412
+ (length,) = _struct_I.unpack(str[start:end])
413
+ self.mpc_flattened_controller.stateTrajectory = []
414
+ for i in range(0, length):
415
+ val1 = ocs2_msgs.msg.mpc_state()
416
+ start = end
417
+ end += 4
418
+ (length,) = _struct_I.unpack(str[start:end])
419
+ pattern = '<%sf'%length
420
+ start = end
421
+ s = struct.Struct(pattern)
422
+ end += s.size
423
+ val1.value = s.unpack(str[start:end])
424
+ self.mpc_flattened_controller.stateTrajectory.append(val1)
425
+ start = end
426
+ end += 4
427
+ (length,) = _struct_I.unpack(str[start:end])
428
+ self.mpc_flattened_controller.inputTrajectory = []
429
+ for i in range(0, length):
430
+ val1 = ocs2_msgs.msg.mpc_input()
431
+ start = end
432
+ end += 4
433
+ (length,) = _struct_I.unpack(str[start:end])
434
+ pattern = '<%sf'%length
435
+ start = end
436
+ s = struct.Struct(pattern)
437
+ end += s.size
438
+ val1.value = s.unpack(str[start:end])
439
+ self.mpc_flattened_controller.inputTrajectory.append(val1)
440
+ start = end
441
+ end += 4
442
+ (length,) = _struct_I.unpack(str[start:end])
443
+ pattern = '<%sd'%length
444
+ start = end
445
+ s = struct.Struct(pattern)
446
+ end += s.size
447
+ self.mpc_flattened_controller.timeTrajectory = s.unpack(str[start:end])
448
+ start = end
449
+ end += 4
450
+ (length,) = _struct_I.unpack(str[start:end])
451
+ pattern = '<%sH'%length
452
+ start = end
453
+ s = struct.Struct(pattern)
454
+ end += s.size
455
+ self.mpc_flattened_controller.postEventIndices = s.unpack(str[start:end])
456
+ start = end
457
+ end += 4
458
+ (length,) = _struct_I.unpack(str[start:end])
459
+ pattern = '<%sd'%length
460
+ start = end
461
+ s = struct.Struct(pattern)
462
+ end += s.size
463
+ self.mpc_flattened_controller.modeSchedule.eventTimes = s.unpack(str[start:end])
464
+ start = end
465
+ end += 4
466
+ (length,) = _struct_I.unpack(str[start:end])
467
+ pattern = '<%sb'%length
468
+ start = end
469
+ s = struct.Struct(pattern)
470
+ end += s.size
471
+ self.mpc_flattened_controller.modeSchedule.modeSequence = s.unpack(str[start:end])
472
+ start = end
473
+ end += 4
474
+ (length,) = _struct_I.unpack(str[start:end])
475
+ self.mpc_flattened_controller.data = []
476
+ for i in range(0, length):
477
+ val1 = ocs2_msgs.msg.controller_data()
478
+ start = end
479
+ end += 4
480
+ (length,) = _struct_I.unpack(str[start:end])
481
+ pattern = '<%sf'%length
482
+ start = end
483
+ s = struct.Struct(pattern)
484
+ end += s.size
485
+ val1.data = s.unpack(str[start:end])
486
+ self.mpc_flattened_controller.data.append(val1)
487
+ _x = self
488
+ start = end
489
+ end += 28
490
+ (_x.mpc_flattened_controller.performanceIndices.initTime, _x.mpc_flattened_controller.performanceIndices.merit, _x.mpc_flattened_controller.performanceIndices.cost, _x.mpc_flattened_controller.performanceIndices.dynamicsViolationSSE, _x.mpc_flattened_controller.performanceIndices.equalityConstraintsSSE, _x.mpc_flattened_controller.performanceIndices.equalityLagrangian, _x.mpc_flattened_controller.performanceIndices.inequalityLagrangian,) = _get_struct_7f().unpack(str[start:end])
491
+ start = end
492
+ end += 4
493
+ (length,) = _struct_I.unpack(str[start:end])
494
+ pattern = '<%sd'%length
495
+ start = end
496
+ s = struct.Struct(pattern)
497
+ end += s.size
498
+ self.swingPlannerMultipliers = s.unpack(str[start:end])
499
+ return self
500
+ except struct.error as e:
501
+ raise genpy.DeserializationError(e) # most likely buffer underfill
502
+
503
+
504
+ def serialize_numpy(self, buff, numpy):
505
+ """
506
+ serialize message with numpy array types into buffer
507
+ :param buff: buffer, ``StringIO``
508
+ :param numpy: numpy python module
509
+ """
510
+ try:
511
+ _x = self.initTime
512
+ buff.write(_get_struct_d().pack(_x))
513
+ length = len(self.initState)
514
+ buff.write(_struct_I.pack(length))
515
+ pattern = '<%sd'%length
516
+ buff.write(self.initState.tostring())
517
+ _x = self.finalTime
518
+ buff.write(_get_struct_d().pack(_x))
519
+ length = len(self.modeSchedule.eventTimes)
520
+ buff.write(_struct_I.pack(length))
521
+ pattern = '<%sd'%length
522
+ buff.write(self.modeSchedule.eventTimes.tostring())
523
+ length = len(self.modeSchedule.modeSequence)
524
+ buff.write(_struct_I.pack(length))
525
+ pattern = '<%sb'%length
526
+ buff.write(self.modeSchedule.modeSequence.tostring())
527
+ length = len(self.targetTrajectories.timeTrajectory)
528
+ buff.write(_struct_I.pack(length))
529
+ pattern = '<%sd'%length
530
+ buff.write(self.targetTrajectories.timeTrajectory.tostring())
531
+ length = len(self.targetTrajectories.stateTrajectory)
532
+ buff.write(_struct_I.pack(length))
533
+ for val1 in self.targetTrajectories.stateTrajectory:
534
+ length = len(val1.value)
535
+ buff.write(_struct_I.pack(length))
536
+ pattern = '<%sf'%length
537
+ buff.write(val1.value.tostring())
538
+ length = len(self.targetTrajectories.inputTrajectory)
539
+ buff.write(_struct_I.pack(length))
540
+ for val1 in self.targetTrajectories.inputTrajectory:
541
+ length = len(val1.value)
542
+ buff.write(_struct_I.pack(length))
543
+ pattern = '<%sf'%length
544
+ buff.write(val1.value.tostring())
545
+ _x = self
546
+ buff.write(_get_struct_Bd().pack(_x.mpc_flattened_controller.controllerType, _x.mpc_flattened_controller.initObservation.time))
547
+ length = len(self.mpc_flattened_controller.initObservation.state.value)
548
+ buff.write(_struct_I.pack(length))
549
+ pattern = '<%sf'%length
550
+ buff.write(self.mpc_flattened_controller.initObservation.state.value.tostring())
551
+ length = len(self.mpc_flattened_controller.initObservation.input.value)
552
+ buff.write(_struct_I.pack(length))
553
+ pattern = '<%sf'%length
554
+ buff.write(self.mpc_flattened_controller.initObservation.input.value.tostring())
555
+ _x = self.mpc_flattened_controller.initObservation.mode
556
+ buff.write(_get_struct_b().pack(_x))
557
+ length = len(self.mpc_flattened_controller.planTargetTrajectories.timeTrajectory)
558
+ buff.write(_struct_I.pack(length))
559
+ pattern = '<%sd'%length
560
+ buff.write(self.mpc_flattened_controller.planTargetTrajectories.timeTrajectory.tostring())
561
+ length = len(self.mpc_flattened_controller.planTargetTrajectories.stateTrajectory)
562
+ buff.write(_struct_I.pack(length))
563
+ for val1 in self.mpc_flattened_controller.planTargetTrajectories.stateTrajectory:
564
+ length = len(val1.value)
565
+ buff.write(_struct_I.pack(length))
566
+ pattern = '<%sf'%length
567
+ buff.write(val1.value.tostring())
568
+ length = len(self.mpc_flattened_controller.planTargetTrajectories.inputTrajectory)
569
+ buff.write(_struct_I.pack(length))
570
+ for val1 in self.mpc_flattened_controller.planTargetTrajectories.inputTrajectory:
571
+ length = len(val1.value)
572
+ buff.write(_struct_I.pack(length))
573
+ pattern = '<%sf'%length
574
+ buff.write(val1.value.tostring())
575
+ length = len(self.mpc_flattened_controller.stateTrajectory)
576
+ buff.write(_struct_I.pack(length))
577
+ for val1 in self.mpc_flattened_controller.stateTrajectory:
578
+ length = len(val1.value)
579
+ buff.write(_struct_I.pack(length))
580
+ pattern = '<%sf'%length
581
+ buff.write(val1.value.tostring())
582
+ length = len(self.mpc_flattened_controller.inputTrajectory)
583
+ buff.write(_struct_I.pack(length))
584
+ for val1 in self.mpc_flattened_controller.inputTrajectory:
585
+ length = len(val1.value)
586
+ buff.write(_struct_I.pack(length))
587
+ pattern = '<%sf'%length
588
+ buff.write(val1.value.tostring())
589
+ length = len(self.mpc_flattened_controller.timeTrajectory)
590
+ buff.write(_struct_I.pack(length))
591
+ pattern = '<%sd'%length
592
+ buff.write(self.mpc_flattened_controller.timeTrajectory.tostring())
593
+ length = len(self.mpc_flattened_controller.postEventIndices)
594
+ buff.write(_struct_I.pack(length))
595
+ pattern = '<%sH'%length
596
+ buff.write(self.mpc_flattened_controller.postEventIndices.tostring())
597
+ length = len(self.mpc_flattened_controller.modeSchedule.eventTimes)
598
+ buff.write(_struct_I.pack(length))
599
+ pattern = '<%sd'%length
600
+ buff.write(self.mpc_flattened_controller.modeSchedule.eventTimes.tostring())
601
+ length = len(self.mpc_flattened_controller.modeSchedule.modeSequence)
602
+ buff.write(_struct_I.pack(length))
603
+ pattern = '<%sb'%length
604
+ buff.write(self.mpc_flattened_controller.modeSchedule.modeSequence.tostring())
605
+ length = len(self.mpc_flattened_controller.data)
606
+ buff.write(_struct_I.pack(length))
607
+ for val1 in self.mpc_flattened_controller.data:
608
+ length = len(val1.data)
609
+ buff.write(_struct_I.pack(length))
610
+ pattern = '<%sf'%length
611
+ buff.write(val1.data.tostring())
612
+ _x = self
613
+ buff.write(_get_struct_7f().pack(_x.mpc_flattened_controller.performanceIndices.initTime, _x.mpc_flattened_controller.performanceIndices.merit, _x.mpc_flattened_controller.performanceIndices.cost, _x.mpc_flattened_controller.performanceIndices.dynamicsViolationSSE, _x.mpc_flattened_controller.performanceIndices.equalityConstraintsSSE, _x.mpc_flattened_controller.performanceIndices.equalityLagrangian, _x.mpc_flattened_controller.performanceIndices.inequalityLagrangian))
614
+ length = len(self.swingPlannerMultipliers)
615
+ buff.write(_struct_I.pack(length))
616
+ pattern = '<%sd'%length
617
+ buff.write(self.swingPlannerMultipliers.tostring())
618
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
619
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
620
+
621
+ def deserialize_numpy(self, str, numpy):
622
+ """
623
+ unpack serialized message in str into this message instance using numpy for array types
624
+ :param str: byte array of serialized message, ``str``
625
+ :param numpy: numpy python module
626
+ """
627
+ if python3:
628
+ codecs.lookup_error("rosmsg").msg_type = self._type
629
+ try:
630
+ if self.modeSchedule is None:
631
+ self.modeSchedule = ocs2_msgs.msg.mode_schedule()
632
+ if self.targetTrajectories is None:
633
+ self.targetTrajectories = ocs2_msgs.msg.mpc_target_trajectories()
634
+ if self.mpc_flattened_controller is None:
635
+ self.mpc_flattened_controller = ocs2_msgs.msg.mpc_flattened_controller()
636
+ end = 0
637
+ start = end
638
+ end += 8
639
+ (self.initTime,) = _get_struct_d().unpack(str[start:end])
640
+ start = end
641
+ end += 4
642
+ (length,) = _struct_I.unpack(str[start:end])
643
+ pattern = '<%sd'%length
644
+ start = end
645
+ s = struct.Struct(pattern)
646
+ end += s.size
647
+ self.initState = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
648
+ start = end
649
+ end += 8
650
+ (self.finalTime,) = _get_struct_d().unpack(str[start:end])
651
+ start = end
652
+ end += 4
653
+ (length,) = _struct_I.unpack(str[start:end])
654
+ pattern = '<%sd'%length
655
+ start = end
656
+ s = struct.Struct(pattern)
657
+ end += s.size
658
+ self.modeSchedule.eventTimes = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
659
+ start = end
660
+ end += 4
661
+ (length,) = _struct_I.unpack(str[start:end])
662
+ pattern = '<%sb'%length
663
+ start = end
664
+ s = struct.Struct(pattern)
665
+ end += s.size
666
+ self.modeSchedule.modeSequence = numpy.frombuffer(str[start:end], dtype=numpy.int8, count=length)
667
+ start = end
668
+ end += 4
669
+ (length,) = _struct_I.unpack(str[start:end])
670
+ pattern = '<%sd'%length
671
+ start = end
672
+ s = struct.Struct(pattern)
673
+ end += s.size
674
+ self.targetTrajectories.timeTrajectory = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
675
+ start = end
676
+ end += 4
677
+ (length,) = _struct_I.unpack(str[start:end])
678
+ self.targetTrajectories.stateTrajectory = []
679
+ for i in range(0, length):
680
+ val1 = ocs2_msgs.msg.mpc_state()
681
+ start = end
682
+ end += 4
683
+ (length,) = _struct_I.unpack(str[start:end])
684
+ pattern = '<%sf'%length
685
+ start = end
686
+ s = struct.Struct(pattern)
687
+ end += s.size
688
+ val1.value = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
689
+ self.targetTrajectories.stateTrajectory.append(val1)
690
+ start = end
691
+ end += 4
692
+ (length,) = _struct_I.unpack(str[start:end])
693
+ self.targetTrajectories.inputTrajectory = []
694
+ for i in range(0, length):
695
+ val1 = ocs2_msgs.msg.mpc_input()
696
+ start = end
697
+ end += 4
698
+ (length,) = _struct_I.unpack(str[start:end])
699
+ pattern = '<%sf'%length
700
+ start = end
701
+ s = struct.Struct(pattern)
702
+ end += s.size
703
+ val1.value = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
704
+ self.targetTrajectories.inputTrajectory.append(val1)
705
+ _x = self
706
+ start = end
707
+ end += 9
708
+ (_x.mpc_flattened_controller.controllerType, _x.mpc_flattened_controller.initObservation.time,) = _get_struct_Bd().unpack(str[start:end])
709
+ start = end
710
+ end += 4
711
+ (length,) = _struct_I.unpack(str[start:end])
712
+ pattern = '<%sf'%length
713
+ start = end
714
+ s = struct.Struct(pattern)
715
+ end += s.size
716
+ self.mpc_flattened_controller.initObservation.state.value = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
717
+ start = end
718
+ end += 4
719
+ (length,) = _struct_I.unpack(str[start:end])
720
+ pattern = '<%sf'%length
721
+ start = end
722
+ s = struct.Struct(pattern)
723
+ end += s.size
724
+ self.mpc_flattened_controller.initObservation.input.value = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
725
+ start = end
726
+ end += 1
727
+ (self.mpc_flattened_controller.initObservation.mode,) = _get_struct_b().unpack(str[start:end])
728
+ start = end
729
+ end += 4
730
+ (length,) = _struct_I.unpack(str[start:end])
731
+ pattern = '<%sd'%length
732
+ start = end
733
+ s = struct.Struct(pattern)
734
+ end += s.size
735
+ self.mpc_flattened_controller.planTargetTrajectories.timeTrajectory = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
736
+ start = end
737
+ end += 4
738
+ (length,) = _struct_I.unpack(str[start:end])
739
+ self.mpc_flattened_controller.planTargetTrajectories.stateTrajectory = []
740
+ for i in range(0, length):
741
+ val1 = ocs2_msgs.msg.mpc_state()
742
+ start = end
743
+ end += 4
744
+ (length,) = _struct_I.unpack(str[start:end])
745
+ pattern = '<%sf'%length
746
+ start = end
747
+ s = struct.Struct(pattern)
748
+ end += s.size
749
+ val1.value = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
750
+ self.mpc_flattened_controller.planTargetTrajectories.stateTrajectory.append(val1)
751
+ start = end
752
+ end += 4
753
+ (length,) = _struct_I.unpack(str[start:end])
754
+ self.mpc_flattened_controller.planTargetTrajectories.inputTrajectory = []
755
+ for i in range(0, length):
756
+ val1 = ocs2_msgs.msg.mpc_input()
757
+ start = end
758
+ end += 4
759
+ (length,) = _struct_I.unpack(str[start:end])
760
+ pattern = '<%sf'%length
761
+ start = end
762
+ s = struct.Struct(pattern)
763
+ end += s.size
764
+ val1.value = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
765
+ self.mpc_flattened_controller.planTargetTrajectories.inputTrajectory.append(val1)
766
+ start = end
767
+ end += 4
768
+ (length,) = _struct_I.unpack(str[start:end])
769
+ self.mpc_flattened_controller.stateTrajectory = []
770
+ for i in range(0, length):
771
+ val1 = ocs2_msgs.msg.mpc_state()
772
+ start = end
773
+ end += 4
774
+ (length,) = _struct_I.unpack(str[start:end])
775
+ pattern = '<%sf'%length
776
+ start = end
777
+ s = struct.Struct(pattern)
778
+ end += s.size
779
+ val1.value = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
780
+ self.mpc_flattened_controller.stateTrajectory.append(val1)
781
+ start = end
782
+ end += 4
783
+ (length,) = _struct_I.unpack(str[start:end])
784
+ self.mpc_flattened_controller.inputTrajectory = []
785
+ for i in range(0, length):
786
+ val1 = ocs2_msgs.msg.mpc_input()
787
+ start = end
788
+ end += 4
789
+ (length,) = _struct_I.unpack(str[start:end])
790
+ pattern = '<%sf'%length
791
+ start = end
792
+ s = struct.Struct(pattern)
793
+ end += s.size
794
+ val1.value = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
795
+ self.mpc_flattened_controller.inputTrajectory.append(val1)
796
+ start = end
797
+ end += 4
798
+ (length,) = _struct_I.unpack(str[start:end])
799
+ pattern = '<%sd'%length
800
+ start = end
801
+ s = struct.Struct(pattern)
802
+ end += s.size
803
+ self.mpc_flattened_controller.timeTrajectory = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
804
+ start = end
805
+ end += 4
806
+ (length,) = _struct_I.unpack(str[start:end])
807
+ pattern = '<%sH'%length
808
+ start = end
809
+ s = struct.Struct(pattern)
810
+ end += s.size
811
+ self.mpc_flattened_controller.postEventIndices = numpy.frombuffer(str[start:end], dtype=numpy.uint16, count=length)
812
+ start = end
813
+ end += 4
814
+ (length,) = _struct_I.unpack(str[start:end])
815
+ pattern = '<%sd'%length
816
+ start = end
817
+ s = struct.Struct(pattern)
818
+ end += s.size
819
+ self.mpc_flattened_controller.modeSchedule.eventTimes = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
820
+ start = end
821
+ end += 4
822
+ (length,) = _struct_I.unpack(str[start:end])
823
+ pattern = '<%sb'%length
824
+ start = end
825
+ s = struct.Struct(pattern)
826
+ end += s.size
827
+ self.mpc_flattened_controller.modeSchedule.modeSequence = numpy.frombuffer(str[start:end], dtype=numpy.int8, count=length)
828
+ start = end
829
+ end += 4
830
+ (length,) = _struct_I.unpack(str[start:end])
831
+ self.mpc_flattened_controller.data = []
832
+ for i in range(0, length):
833
+ val1 = ocs2_msgs.msg.controller_data()
834
+ start = end
835
+ end += 4
836
+ (length,) = _struct_I.unpack(str[start:end])
837
+ pattern = '<%sf'%length
838
+ start = end
839
+ s = struct.Struct(pattern)
840
+ end += s.size
841
+ val1.data = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
842
+ self.mpc_flattened_controller.data.append(val1)
843
+ _x = self
844
+ start = end
845
+ end += 28
846
+ (_x.mpc_flattened_controller.performanceIndices.initTime, _x.mpc_flattened_controller.performanceIndices.merit, _x.mpc_flattened_controller.performanceIndices.cost, _x.mpc_flattened_controller.performanceIndices.dynamicsViolationSSE, _x.mpc_flattened_controller.performanceIndices.equalityConstraintsSSE, _x.mpc_flattened_controller.performanceIndices.equalityLagrangian, _x.mpc_flattened_controller.performanceIndices.inequalityLagrangian,) = _get_struct_7f().unpack(str[start:end])
847
+ start = end
848
+ end += 4
849
+ (length,) = _struct_I.unpack(str[start:end])
850
+ pattern = '<%sd'%length
851
+ start = end
852
+ s = struct.Struct(pattern)
853
+ end += s.size
854
+ self.swingPlannerMultipliers = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
855
+ return self
856
+ except struct.error as e:
857
+ raise genpy.DeserializationError(e) # most likely buffer underfill
858
+
859
+ _struct_I = genpy.struct_I
860
+ def _get_struct_I():
861
+ global _struct_I
862
+ return _struct_I
863
+ _struct_7f = None
864
+ def _get_struct_7f():
865
+ global _struct_7f
866
+ if _struct_7f is None:
867
+ _struct_7f = struct.Struct("<7f")
868
+ return _struct_7f
869
+ _struct_Bd = None
870
+ def _get_struct_Bd():
871
+ global _struct_Bd
872
+ if _struct_Bd is None:
873
+ _struct_Bd = struct.Struct("<Bd")
874
+ return _struct_Bd
875
+ _struct_b = None
876
+ def _get_struct_b():
877
+ global _struct_b
878
+ if _struct_b is None:
879
+ _struct_b = struct.Struct("<b")
880
+ return _struct_b
881
+ _struct_d = None
882
+ def _get_struct_d():
883
+ global _struct_d
884
+ if _struct_d is None:
885
+ _struct_d = struct.Struct("<d")
886
+ return _struct_d