kuavo-humanoid-sdk 1.2.1b3279__20250912160921-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 (184) 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/control.py +1524 -0
  18. kuavo_humanoid_sdk/kuavo/core/ros/microphone.py +38 -0
  19. kuavo_humanoid_sdk/kuavo/core/ros/navigation.py +217 -0
  20. kuavo_humanoid_sdk/kuavo/core/ros/observation.py +94 -0
  21. kuavo_humanoid_sdk/kuavo/core/ros/param.py +201 -0
  22. kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py +103 -0
  23. kuavo_humanoid_sdk/kuavo/core/ros/state.py +652 -0
  24. kuavo_humanoid_sdk/kuavo/core/ros/tools.py +220 -0
  25. kuavo_humanoid_sdk/kuavo/core/ros/vision.py +234 -0
  26. kuavo_humanoid_sdk/kuavo/core/ros_env.py +238 -0
  27. kuavo_humanoid_sdk/kuavo/demo_climbstair.py +249 -0
  28. kuavo_humanoid_sdk/kuavo/dexterous_hand.py +238 -0
  29. kuavo_humanoid_sdk/kuavo/leju_claw.py +235 -0
  30. kuavo_humanoid_sdk/kuavo/logger_client.py +80 -0
  31. kuavo_humanoid_sdk/kuavo/robot.py +561 -0
  32. kuavo_humanoid_sdk/kuavo/robot_arm.py +299 -0
  33. kuavo_humanoid_sdk/kuavo/robot_audio.py +39 -0
  34. kuavo_humanoid_sdk/kuavo/robot_blockly.py +1162 -0
  35. kuavo_humanoid_sdk/kuavo/robot_climbstair.py +1607 -0
  36. kuavo_humanoid_sdk/kuavo/robot_head.py +74 -0
  37. kuavo_humanoid_sdk/kuavo/robot_info.py +134 -0
  38. kuavo_humanoid_sdk/kuavo/robot_microphone.py +19 -0
  39. kuavo_humanoid_sdk/kuavo/robot_navigation.py +135 -0
  40. kuavo_humanoid_sdk/kuavo/robot_observation.py +64 -0
  41. kuavo_humanoid_sdk/kuavo/robot_speech.py +24 -0
  42. kuavo_humanoid_sdk/kuavo/robot_state.py +310 -0
  43. kuavo_humanoid_sdk/kuavo/robot_tool.py +109 -0
  44. kuavo_humanoid_sdk/kuavo/robot_vision.py +81 -0
  45. kuavo_humanoid_sdk/kuavo_strategy/__init__.py +2 -0
  46. kuavo_humanoid_sdk/kuavo_strategy/grasp_box/grasp_box_strategy.py +1325 -0
  47. kuavo_humanoid_sdk/kuavo_strategy/kuavo_strategy.py +106 -0
  48. kuavo_humanoid_sdk/kuavo_strategy_v2/common/data_type.py +340 -0
  49. kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/base_event.py +215 -0
  50. kuavo_humanoid_sdk/kuavo_strategy_v2/common/robot_sdk.py +25 -0
  51. kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/case.py +331 -0
  52. kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/strategy.py +504 -0
  53. kuavo_humanoid_sdk/kuavo_strategy_v2/utils/logger_setup.py +40 -0
  54. kuavo_humanoid_sdk/kuavo_strategy_v2/utils/utils.py +88 -0
  55. kuavo_humanoid_sdk/msg/__init__.py +4 -0
  56. kuavo_humanoid_sdk/msg/kuavo_msgs/__init__.py +7 -0
  57. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetection.py +306 -0
  58. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetectionArray.py +437 -0
  59. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AudioReceiverData.py +122 -0
  60. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_FTsensorData.py +260 -0
  61. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_JoySticks.py +191 -0
  62. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py +199 -0
  63. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_MmDetectionMsg.py +264 -0
  64. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_RobotActionState.py +112 -0
  65. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TFArray.py +323 -0
  66. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TaskPoint.py +175 -0
  67. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +62 -0
  68. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armCollisionCheckInfo.py +160 -0
  69. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPose.py +161 -0
  70. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPoseFree.py +171 -0
  71. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py +168 -0
  72. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py +171 -0
  73. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_bezierCurveCubicPoint.py +178 -0
  74. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py +229 -0
  75. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandTouchState.py +256 -0
  76. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_endEffectorData.py +227 -0
  77. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose.py +123 -0
  78. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6D.py +123 -0
  79. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6DTargetTrajectories.py +320 -0
  80. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py +301 -0
  81. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVision.py +136 -0
  82. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVisionArray.py +231 -0
  83. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses.py +149 -0
  84. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses6D.py +149 -0
  85. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_fullBodyTargetTrajectories.py +258 -0
  86. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py +147 -0
  87. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py +218 -0
  88. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py +149 -0
  89. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_handPose.py +136 -0
  90. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py +145 -0
  91. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveError.py +171 -0
  92. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveParam.py +140 -0
  93. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py +165 -0
  94. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointBezierTrajectory.py +201 -0
  95. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py +390 -0
  96. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py +205 -0
  97. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_kuavoModeSchedule.py +224 -0
  98. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py +320 -0
  99. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py +341 -0
  100. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_motorParam.py +122 -0
  101. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfo.py +143 -0
  102. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfoList.py +220 -0
  103. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_planArmState.py +120 -0
  104. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_qv.py +121 -0
  105. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotArmQVVD.py +177 -0
  106. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotBodyMatrices.py +332 -0
  107. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py +225 -0
  108. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py +128 -0
  109. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py +222 -0
  110. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py +655 -0
  111. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py +200 -0
  112. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_tagDataArray.py +216 -0
  113. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py +162 -0
  114. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPose.py +273 -0
  115. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmd.py +316 -0
  116. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmdFree.py +338 -0
  117. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseFree.py +299 -0
  118. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py +251 -0
  119. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py +168 -0
  120. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_CreatePath.py +581 -0
  121. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_ExecuteArmAction.py +281 -0
  122. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetAllMaps.py +241 -0
  123. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetCurrentMap.py +225 -0
  124. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetTargetPartPoseInCamera.py +298 -0
  125. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_InitialPoseWithTaskPoint.py +281 -0
  126. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_LoadMap.py +281 -0
  127. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_NavigateToTaskPoint.py +281 -0
  128. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_RepublishTFs.py +373 -0
  129. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetInitialPose.py +394 -0
  130. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetJoyTopic.py +282 -0
  131. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode.py +468 -0
  132. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode_free.py +289 -0
  133. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py +270 -0
  134. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_TaskPointOperation.py +536 -0
  135. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +43 -0
  136. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_adjustZeroPoint.py +277 -0
  137. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py +275 -0
  138. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlModeKuavo.py +236 -0
  139. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeMotorParam.py +299 -0
  140. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py +274 -0
  141. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py +408 -0
  142. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py +304 -0
  143. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_fkSrv.py +395 -0
  144. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPose6DTargetTrajectoriesSrv.py +426 -0
  145. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py +409 -0
  146. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py +339 -0
  147. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py +257 -0
  148. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py +418 -0
  149. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py +253 -0
  150. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorParam.py +299 -0
  151. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorZeroPoints.py +286 -0
  152. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py +330 -0
  153. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py +302 -0
  154. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryBezierCurve.py +422 -0
  155. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryCubicSpline.py +490 -0
  156. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +268 -0
  157. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py +304 -0
  158. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMmCtrlFrame.py +273 -0
  159. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py +283 -0
  160. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py +275 -0
  161. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py +444 -0
  162. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdFreeSrv.py +716 -0
  163. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdSrv.py +664 -0
  164. kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py +7 -0
  165. kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py +7 -0
  166. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py +12 -0
  167. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py +142 -0
  168. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_controller_data.py +121 -0
  169. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_lagrangian_metrics.py +148 -0
  170. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mode_schedule.py +150 -0
  171. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_flattened_controller.py +666 -0
  172. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_input.py +122 -0
  173. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_observation.py +209 -0
  174. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_performance_indices.py +140 -0
  175. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_solver_data.py +886 -0
  176. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_state.py +122 -0
  177. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py +239 -0
  178. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py +148 -0
  179. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +1 -0
  180. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py +376 -0
  181. kuavo_humanoid_sdk-1.2.1b3279.dist-info/METADATA +296 -0
  182. kuavo_humanoid_sdk-1.2.1b3279.dist-info/RECORD +184 -0
  183. kuavo_humanoid_sdk-1.2.1b3279.dist-info/WHEEL +6 -0
  184. kuavo_humanoid_sdk-1.2.1b3279.dist-info/top_level.txt +1 -0
@@ -0,0 +1,338 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/twoArmHandPoseCmdFree.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 kuavo_msgs.msg
10
+ import std_msgs.msg
11
+
12
+ class twoArmHandPoseCmdFree(genpy.Message):
13
+ _md5sum = "1e8530cd23f68060b2c08649baf4bbe8"
14
+ _type = "kuavo_msgs/twoArmHandPoseCmdFree"
15
+ _has_header = False # flag to mark the presence of a Header object
16
+ _full_text = """twoArmHandPoseFree hand_poses
17
+ # params for the IK solver
18
+ bool use_custom_ik_param
19
+ bool joint_angles_as_q0
20
+ ikSolveParam ik_param
21
+ ================================================================================
22
+ MSG: kuavo_msgs/twoArmHandPoseFree
23
+ Header header
24
+ armHandPoseFree left_pose
25
+ armHandPoseFree right_pose
26
+ ================================================================================
27
+ MSG: std_msgs/Header
28
+ # Standard metadata for higher-level stamped data types.
29
+ # This is generally used to communicate timestamped data
30
+ # in a particular coordinate frame.
31
+ #
32
+ # sequence ID: consecutively increasing ID
33
+ uint32 seq
34
+ #Two-integer timestamp that is expressed as:
35
+ # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')
36
+ # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')
37
+ # time-handling sugar is provided by the client library
38
+ time stamp
39
+ #Frame this data is associated with
40
+ string frame_id
41
+
42
+ ================================================================================
43
+ MSG: kuavo_msgs/armHandPoseFree
44
+ float64[3] pos_xyz
45
+ float64[4] quat_xyzw
46
+
47
+ float64[3] elbow_pos_xyz
48
+
49
+ float64[] joint_angles
50
+
51
+ ================================================================================
52
+ MSG: kuavo_msgs/ikSolveParam
53
+ # snopt params
54
+ float64 major_optimality_tol
55
+ float64 major_feasibility_tol
56
+ float64 minor_feasibility_tol
57
+ float64 major_iterations_limit
58
+ # constraint and cost params
59
+ float64 oritation_constraint_tol
60
+ float64 pos_constraint_tol # work when pos_cost_weight > 0.0
61
+ float64 pos_cost_weight"""
62
+ __slots__ = ['hand_poses','use_custom_ik_param','joint_angles_as_q0','ik_param']
63
+ _slot_types = ['kuavo_msgs/twoArmHandPoseFree','bool','bool','kuavo_msgs/ikSolveParam']
64
+
65
+ def __init__(self, *args, **kwds):
66
+ """
67
+ Constructor. Any message fields that are implicitly/explicitly
68
+ set to None will be assigned a default value. The recommend
69
+ use is keyword arguments as this is more robust to future message
70
+ changes. You cannot mix in-order arguments and keyword arguments.
71
+
72
+ The available fields are:
73
+ hand_poses,use_custom_ik_param,joint_angles_as_q0,ik_param
74
+
75
+ :param args: complete set of field values, in .msg order
76
+ :param kwds: use keyword arguments corresponding to message field names
77
+ to set specific fields.
78
+ """
79
+ if args or kwds:
80
+ super(twoArmHandPoseCmdFree, self).__init__(*args, **kwds)
81
+ # message fields cannot be None, assign default values for those that are
82
+ if self.hand_poses is None:
83
+ self.hand_poses = kuavo_msgs.msg.twoArmHandPoseFree()
84
+ if self.use_custom_ik_param is None:
85
+ self.use_custom_ik_param = False
86
+ if self.joint_angles_as_q0 is None:
87
+ self.joint_angles_as_q0 = False
88
+ if self.ik_param is None:
89
+ self.ik_param = kuavo_msgs.msg.ikSolveParam()
90
+ else:
91
+ self.hand_poses = kuavo_msgs.msg.twoArmHandPoseFree()
92
+ self.use_custom_ik_param = False
93
+ self.joint_angles_as_q0 = False
94
+ self.ik_param = kuavo_msgs.msg.ikSolveParam()
95
+
96
+ def _get_types(self):
97
+ """
98
+ internal API method
99
+ """
100
+ return self._slot_types
101
+
102
+ def serialize(self, buff):
103
+ """
104
+ serialize message into buffer
105
+ :param buff: buffer, ``StringIO``
106
+ """
107
+ try:
108
+ _x = self
109
+ buff.write(_get_struct_3I().pack(_x.hand_poses.header.seq, _x.hand_poses.header.stamp.secs, _x.hand_poses.header.stamp.nsecs))
110
+ _x = self.hand_poses.header.frame_id
111
+ length = len(_x)
112
+ if python3 or type(_x) == unicode:
113
+ _x = _x.encode('utf-8')
114
+ length = len(_x)
115
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
116
+ buff.write(_get_struct_3d().pack(*self.hand_poses.left_pose.pos_xyz))
117
+ buff.write(_get_struct_4d().pack(*self.hand_poses.left_pose.quat_xyzw))
118
+ buff.write(_get_struct_3d().pack(*self.hand_poses.left_pose.elbow_pos_xyz))
119
+ length = len(self.hand_poses.left_pose.joint_angles)
120
+ buff.write(_struct_I.pack(length))
121
+ pattern = '<%sd'%length
122
+ buff.write(struct.Struct(pattern).pack(*self.hand_poses.left_pose.joint_angles))
123
+ buff.write(_get_struct_3d().pack(*self.hand_poses.right_pose.pos_xyz))
124
+ buff.write(_get_struct_4d().pack(*self.hand_poses.right_pose.quat_xyzw))
125
+ buff.write(_get_struct_3d().pack(*self.hand_poses.right_pose.elbow_pos_xyz))
126
+ length = len(self.hand_poses.right_pose.joint_angles)
127
+ buff.write(_struct_I.pack(length))
128
+ pattern = '<%sd'%length
129
+ buff.write(struct.Struct(pattern).pack(*self.hand_poses.right_pose.joint_angles))
130
+ _x = self
131
+ buff.write(_get_struct_2B7d().pack(_x.use_custom_ik_param, _x.joint_angles_as_q0, _x.ik_param.major_optimality_tol, _x.ik_param.major_feasibility_tol, _x.ik_param.minor_feasibility_tol, _x.ik_param.major_iterations_limit, _x.ik_param.oritation_constraint_tol, _x.ik_param.pos_constraint_tol, _x.ik_param.pos_cost_weight))
132
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
133
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
134
+
135
+ def deserialize(self, str):
136
+ """
137
+ unpack serialized message in str into this message instance
138
+ :param str: byte array of serialized message, ``str``
139
+ """
140
+ if python3:
141
+ codecs.lookup_error("rosmsg").msg_type = self._type
142
+ try:
143
+ if self.hand_poses is None:
144
+ self.hand_poses = kuavo_msgs.msg.twoArmHandPoseFree()
145
+ if self.ik_param is None:
146
+ self.ik_param = kuavo_msgs.msg.ikSolveParam()
147
+ end = 0
148
+ _x = self
149
+ start = end
150
+ end += 12
151
+ (_x.hand_poses.header.seq, _x.hand_poses.header.stamp.secs, _x.hand_poses.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
152
+ start = end
153
+ end += 4
154
+ (length,) = _struct_I.unpack(str[start:end])
155
+ start = end
156
+ end += length
157
+ if python3:
158
+ self.hand_poses.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
159
+ else:
160
+ self.hand_poses.header.frame_id = str[start:end]
161
+ start = end
162
+ end += 24
163
+ self.hand_poses.left_pose.pos_xyz = _get_struct_3d().unpack(str[start:end])
164
+ start = end
165
+ end += 32
166
+ self.hand_poses.left_pose.quat_xyzw = _get_struct_4d().unpack(str[start:end])
167
+ start = end
168
+ end += 24
169
+ self.hand_poses.left_pose.elbow_pos_xyz = _get_struct_3d().unpack(str[start:end])
170
+ start = end
171
+ end += 4
172
+ (length,) = _struct_I.unpack(str[start:end])
173
+ pattern = '<%sd'%length
174
+ start = end
175
+ s = struct.Struct(pattern)
176
+ end += s.size
177
+ self.hand_poses.left_pose.joint_angles = s.unpack(str[start:end])
178
+ start = end
179
+ end += 24
180
+ self.hand_poses.right_pose.pos_xyz = _get_struct_3d().unpack(str[start:end])
181
+ start = end
182
+ end += 32
183
+ self.hand_poses.right_pose.quat_xyzw = _get_struct_4d().unpack(str[start:end])
184
+ start = end
185
+ end += 24
186
+ self.hand_poses.right_pose.elbow_pos_xyz = _get_struct_3d().unpack(str[start:end])
187
+ start = end
188
+ end += 4
189
+ (length,) = _struct_I.unpack(str[start:end])
190
+ pattern = '<%sd'%length
191
+ start = end
192
+ s = struct.Struct(pattern)
193
+ end += s.size
194
+ self.hand_poses.right_pose.joint_angles = s.unpack(str[start:end])
195
+ _x = self
196
+ start = end
197
+ end += 58
198
+ (_x.use_custom_ik_param, _x.joint_angles_as_q0, _x.ik_param.major_optimality_tol, _x.ik_param.major_feasibility_tol, _x.ik_param.minor_feasibility_tol, _x.ik_param.major_iterations_limit, _x.ik_param.oritation_constraint_tol, _x.ik_param.pos_constraint_tol, _x.ik_param.pos_cost_weight,) = _get_struct_2B7d().unpack(str[start:end])
199
+ self.use_custom_ik_param = bool(self.use_custom_ik_param)
200
+ self.joint_angles_as_q0 = bool(self.joint_angles_as_q0)
201
+ return self
202
+ except struct.error as e:
203
+ raise genpy.DeserializationError(e) # most likely buffer underfill
204
+
205
+
206
+ def serialize_numpy(self, buff, numpy):
207
+ """
208
+ serialize message with numpy array types into buffer
209
+ :param buff: buffer, ``StringIO``
210
+ :param numpy: numpy python module
211
+ """
212
+ try:
213
+ _x = self
214
+ buff.write(_get_struct_3I().pack(_x.hand_poses.header.seq, _x.hand_poses.header.stamp.secs, _x.hand_poses.header.stamp.nsecs))
215
+ _x = self.hand_poses.header.frame_id
216
+ length = len(_x)
217
+ if python3 or type(_x) == unicode:
218
+ _x = _x.encode('utf-8')
219
+ length = len(_x)
220
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
221
+ buff.write(self.hand_poses.left_pose.pos_xyz.tostring())
222
+ buff.write(self.hand_poses.left_pose.quat_xyzw.tostring())
223
+ buff.write(self.hand_poses.left_pose.elbow_pos_xyz.tostring())
224
+ length = len(self.hand_poses.left_pose.joint_angles)
225
+ buff.write(_struct_I.pack(length))
226
+ pattern = '<%sd'%length
227
+ buff.write(self.hand_poses.left_pose.joint_angles.tostring())
228
+ buff.write(self.hand_poses.right_pose.pos_xyz.tostring())
229
+ buff.write(self.hand_poses.right_pose.quat_xyzw.tostring())
230
+ buff.write(self.hand_poses.right_pose.elbow_pos_xyz.tostring())
231
+ length = len(self.hand_poses.right_pose.joint_angles)
232
+ buff.write(_struct_I.pack(length))
233
+ pattern = '<%sd'%length
234
+ buff.write(self.hand_poses.right_pose.joint_angles.tostring())
235
+ _x = self
236
+ buff.write(_get_struct_2B7d().pack(_x.use_custom_ik_param, _x.joint_angles_as_q0, _x.ik_param.major_optimality_tol, _x.ik_param.major_feasibility_tol, _x.ik_param.minor_feasibility_tol, _x.ik_param.major_iterations_limit, _x.ik_param.oritation_constraint_tol, _x.ik_param.pos_constraint_tol, _x.ik_param.pos_cost_weight))
237
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
238
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
239
+
240
+ def deserialize_numpy(self, str, numpy):
241
+ """
242
+ unpack serialized message in str into this message instance using numpy for array types
243
+ :param str: byte array of serialized message, ``str``
244
+ :param numpy: numpy python module
245
+ """
246
+ if python3:
247
+ codecs.lookup_error("rosmsg").msg_type = self._type
248
+ try:
249
+ if self.hand_poses is None:
250
+ self.hand_poses = kuavo_msgs.msg.twoArmHandPoseFree()
251
+ if self.ik_param is None:
252
+ self.ik_param = kuavo_msgs.msg.ikSolveParam()
253
+ end = 0
254
+ _x = self
255
+ start = end
256
+ end += 12
257
+ (_x.hand_poses.header.seq, _x.hand_poses.header.stamp.secs, _x.hand_poses.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
258
+ start = end
259
+ end += 4
260
+ (length,) = _struct_I.unpack(str[start:end])
261
+ start = end
262
+ end += length
263
+ if python3:
264
+ self.hand_poses.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
265
+ else:
266
+ self.hand_poses.header.frame_id = str[start:end]
267
+ start = end
268
+ end += 24
269
+ self.hand_poses.left_pose.pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
270
+ start = end
271
+ end += 32
272
+ self.hand_poses.left_pose.quat_xyzw = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
273
+ start = end
274
+ end += 24
275
+ self.hand_poses.left_pose.elbow_pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
276
+ start = end
277
+ end += 4
278
+ (length,) = _struct_I.unpack(str[start:end])
279
+ pattern = '<%sd'%length
280
+ start = end
281
+ s = struct.Struct(pattern)
282
+ end += s.size
283
+ self.hand_poses.left_pose.joint_angles = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
284
+ start = end
285
+ end += 24
286
+ self.hand_poses.right_pose.pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
287
+ start = end
288
+ end += 32
289
+ self.hand_poses.right_pose.quat_xyzw = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
290
+ start = end
291
+ end += 24
292
+ self.hand_poses.right_pose.elbow_pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
293
+ start = end
294
+ end += 4
295
+ (length,) = _struct_I.unpack(str[start:end])
296
+ pattern = '<%sd'%length
297
+ start = end
298
+ s = struct.Struct(pattern)
299
+ end += s.size
300
+ self.hand_poses.right_pose.joint_angles = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
301
+ _x = self
302
+ start = end
303
+ end += 58
304
+ (_x.use_custom_ik_param, _x.joint_angles_as_q0, _x.ik_param.major_optimality_tol, _x.ik_param.major_feasibility_tol, _x.ik_param.minor_feasibility_tol, _x.ik_param.major_iterations_limit, _x.ik_param.oritation_constraint_tol, _x.ik_param.pos_constraint_tol, _x.ik_param.pos_cost_weight,) = _get_struct_2B7d().unpack(str[start:end])
305
+ self.use_custom_ik_param = bool(self.use_custom_ik_param)
306
+ self.joint_angles_as_q0 = bool(self.joint_angles_as_q0)
307
+ return self
308
+ except struct.error as e:
309
+ raise genpy.DeserializationError(e) # most likely buffer underfill
310
+
311
+ _struct_I = genpy.struct_I
312
+ def _get_struct_I():
313
+ global _struct_I
314
+ return _struct_I
315
+ _struct_2B7d = None
316
+ def _get_struct_2B7d():
317
+ global _struct_2B7d
318
+ if _struct_2B7d is None:
319
+ _struct_2B7d = struct.Struct("<2B7d")
320
+ return _struct_2B7d
321
+ _struct_3I = None
322
+ def _get_struct_3I():
323
+ global _struct_3I
324
+ if _struct_3I is None:
325
+ _struct_3I = struct.Struct("<3I")
326
+ return _struct_3I
327
+ _struct_3d = None
328
+ def _get_struct_3d():
329
+ global _struct_3d
330
+ if _struct_3d is None:
331
+ _struct_3d = struct.Struct("<3d")
332
+ return _struct_3d
333
+ _struct_4d = None
334
+ def _get_struct_4d():
335
+ global _struct_4d
336
+ if _struct_4d is None:
337
+ _struct_4d = struct.Struct("<4d")
338
+ return _struct_4d
@@ -0,0 +1,299 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/twoArmHandPoseFree.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 kuavo_msgs.msg
10
+ import std_msgs.msg
11
+
12
+ class twoArmHandPoseFree(genpy.Message):
13
+ _md5sum = "502eb9b395e49da766ec7aa160688372"
14
+ _type = "kuavo_msgs/twoArmHandPoseFree"
15
+ _has_header = True # flag to mark the presence of a Header object
16
+ _full_text = """Header header
17
+ armHandPoseFree left_pose
18
+ armHandPoseFree right_pose
19
+ ================================================================================
20
+ MSG: std_msgs/Header
21
+ # Standard metadata for higher-level stamped data types.
22
+ # This is generally used to communicate timestamped data
23
+ # in a particular coordinate frame.
24
+ #
25
+ # sequence ID: consecutively increasing ID
26
+ uint32 seq
27
+ #Two-integer timestamp that is expressed as:
28
+ # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')
29
+ # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')
30
+ # time-handling sugar is provided by the client library
31
+ time stamp
32
+ #Frame this data is associated with
33
+ string frame_id
34
+
35
+ ================================================================================
36
+ MSG: kuavo_msgs/armHandPoseFree
37
+ float64[3] pos_xyz
38
+ float64[4] quat_xyzw
39
+
40
+ float64[3] elbow_pos_xyz
41
+
42
+ float64[] joint_angles
43
+ """
44
+ __slots__ = ['header','left_pose','right_pose']
45
+ _slot_types = ['std_msgs/Header','kuavo_msgs/armHandPoseFree','kuavo_msgs/armHandPoseFree']
46
+
47
+ def __init__(self, *args, **kwds):
48
+ """
49
+ Constructor. Any message fields that are implicitly/explicitly
50
+ set to None will be assigned a default value. The recommend
51
+ use is keyword arguments as this is more robust to future message
52
+ changes. You cannot mix in-order arguments and keyword arguments.
53
+
54
+ The available fields are:
55
+ header,left_pose,right_pose
56
+
57
+ :param args: complete set of field values, in .msg order
58
+ :param kwds: use keyword arguments corresponding to message field names
59
+ to set specific fields.
60
+ """
61
+ if args or kwds:
62
+ super(twoArmHandPoseFree, self).__init__(*args, **kwds)
63
+ # message fields cannot be None, assign default values for those that are
64
+ if self.header is None:
65
+ self.header = std_msgs.msg.Header()
66
+ if self.left_pose is None:
67
+ self.left_pose = kuavo_msgs.msg.armHandPoseFree()
68
+ if self.right_pose is None:
69
+ self.right_pose = kuavo_msgs.msg.armHandPoseFree()
70
+ else:
71
+ self.header = std_msgs.msg.Header()
72
+ self.left_pose = kuavo_msgs.msg.armHandPoseFree()
73
+ self.right_pose = kuavo_msgs.msg.armHandPoseFree()
74
+
75
+ def _get_types(self):
76
+ """
77
+ internal API method
78
+ """
79
+ return self._slot_types
80
+
81
+ def serialize(self, buff):
82
+ """
83
+ serialize message into buffer
84
+ :param buff: buffer, ``StringIO``
85
+ """
86
+ try:
87
+ _x = self
88
+ buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
89
+ _x = self.header.frame_id
90
+ length = len(_x)
91
+ if python3 or type(_x) == unicode:
92
+ _x = _x.encode('utf-8')
93
+ length = len(_x)
94
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
95
+ buff.write(_get_struct_3d().pack(*self.left_pose.pos_xyz))
96
+ buff.write(_get_struct_4d().pack(*self.left_pose.quat_xyzw))
97
+ buff.write(_get_struct_3d().pack(*self.left_pose.elbow_pos_xyz))
98
+ length = len(self.left_pose.joint_angles)
99
+ buff.write(_struct_I.pack(length))
100
+ pattern = '<%sd'%length
101
+ buff.write(struct.Struct(pattern).pack(*self.left_pose.joint_angles))
102
+ buff.write(_get_struct_3d().pack(*self.right_pose.pos_xyz))
103
+ buff.write(_get_struct_4d().pack(*self.right_pose.quat_xyzw))
104
+ buff.write(_get_struct_3d().pack(*self.right_pose.elbow_pos_xyz))
105
+ length = len(self.right_pose.joint_angles)
106
+ buff.write(_struct_I.pack(length))
107
+ pattern = '<%sd'%length
108
+ buff.write(struct.Struct(pattern).pack(*self.right_pose.joint_angles))
109
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
110
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
111
+
112
+ def deserialize(self, str):
113
+ """
114
+ unpack serialized message in str into this message instance
115
+ :param str: byte array of serialized message, ``str``
116
+ """
117
+ if python3:
118
+ codecs.lookup_error("rosmsg").msg_type = self._type
119
+ try:
120
+ if self.header is None:
121
+ self.header = std_msgs.msg.Header()
122
+ if self.left_pose is None:
123
+ self.left_pose = kuavo_msgs.msg.armHandPoseFree()
124
+ if self.right_pose is None:
125
+ self.right_pose = kuavo_msgs.msg.armHandPoseFree()
126
+ end = 0
127
+ _x = self
128
+ start = end
129
+ end += 12
130
+ (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
131
+ start = end
132
+ end += 4
133
+ (length,) = _struct_I.unpack(str[start:end])
134
+ start = end
135
+ end += length
136
+ if python3:
137
+ self.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
138
+ else:
139
+ self.header.frame_id = str[start:end]
140
+ start = end
141
+ end += 24
142
+ self.left_pose.pos_xyz = _get_struct_3d().unpack(str[start:end])
143
+ start = end
144
+ end += 32
145
+ self.left_pose.quat_xyzw = _get_struct_4d().unpack(str[start:end])
146
+ start = end
147
+ end += 24
148
+ self.left_pose.elbow_pos_xyz = _get_struct_3d().unpack(str[start:end])
149
+ start = end
150
+ end += 4
151
+ (length,) = _struct_I.unpack(str[start:end])
152
+ pattern = '<%sd'%length
153
+ start = end
154
+ s = struct.Struct(pattern)
155
+ end += s.size
156
+ self.left_pose.joint_angles = s.unpack(str[start:end])
157
+ start = end
158
+ end += 24
159
+ self.right_pose.pos_xyz = _get_struct_3d().unpack(str[start:end])
160
+ start = end
161
+ end += 32
162
+ self.right_pose.quat_xyzw = _get_struct_4d().unpack(str[start:end])
163
+ start = end
164
+ end += 24
165
+ self.right_pose.elbow_pos_xyz = _get_struct_3d().unpack(str[start:end])
166
+ start = end
167
+ end += 4
168
+ (length,) = _struct_I.unpack(str[start:end])
169
+ pattern = '<%sd'%length
170
+ start = end
171
+ s = struct.Struct(pattern)
172
+ end += s.size
173
+ self.right_pose.joint_angles = s.unpack(str[start:end])
174
+ return self
175
+ except struct.error as e:
176
+ raise genpy.DeserializationError(e) # most likely buffer underfill
177
+
178
+
179
+ def serialize_numpy(self, buff, numpy):
180
+ """
181
+ serialize message with numpy array types into buffer
182
+ :param buff: buffer, ``StringIO``
183
+ :param numpy: numpy python module
184
+ """
185
+ try:
186
+ _x = self
187
+ buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
188
+ _x = self.header.frame_id
189
+ length = len(_x)
190
+ if python3 or type(_x) == unicode:
191
+ _x = _x.encode('utf-8')
192
+ length = len(_x)
193
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
194
+ buff.write(self.left_pose.pos_xyz.tostring())
195
+ buff.write(self.left_pose.quat_xyzw.tostring())
196
+ buff.write(self.left_pose.elbow_pos_xyz.tostring())
197
+ length = len(self.left_pose.joint_angles)
198
+ buff.write(_struct_I.pack(length))
199
+ pattern = '<%sd'%length
200
+ buff.write(self.left_pose.joint_angles.tostring())
201
+ buff.write(self.right_pose.pos_xyz.tostring())
202
+ buff.write(self.right_pose.quat_xyzw.tostring())
203
+ buff.write(self.right_pose.elbow_pos_xyz.tostring())
204
+ length = len(self.right_pose.joint_angles)
205
+ buff.write(_struct_I.pack(length))
206
+ pattern = '<%sd'%length
207
+ buff.write(self.right_pose.joint_angles.tostring())
208
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
209
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
210
+
211
+ def deserialize_numpy(self, str, numpy):
212
+ """
213
+ unpack serialized message in str into this message instance using numpy for array types
214
+ :param str: byte array of serialized message, ``str``
215
+ :param numpy: numpy python module
216
+ """
217
+ if python3:
218
+ codecs.lookup_error("rosmsg").msg_type = self._type
219
+ try:
220
+ if self.header is None:
221
+ self.header = std_msgs.msg.Header()
222
+ if self.left_pose is None:
223
+ self.left_pose = kuavo_msgs.msg.armHandPoseFree()
224
+ if self.right_pose is None:
225
+ self.right_pose = kuavo_msgs.msg.armHandPoseFree()
226
+ end = 0
227
+ _x = self
228
+ start = end
229
+ end += 12
230
+ (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
231
+ start = end
232
+ end += 4
233
+ (length,) = _struct_I.unpack(str[start:end])
234
+ start = end
235
+ end += length
236
+ if python3:
237
+ self.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
238
+ else:
239
+ self.header.frame_id = str[start:end]
240
+ start = end
241
+ end += 24
242
+ self.left_pose.pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
243
+ start = end
244
+ end += 32
245
+ self.left_pose.quat_xyzw = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
246
+ start = end
247
+ end += 24
248
+ self.left_pose.elbow_pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
249
+ start = end
250
+ end += 4
251
+ (length,) = _struct_I.unpack(str[start:end])
252
+ pattern = '<%sd'%length
253
+ start = end
254
+ s = struct.Struct(pattern)
255
+ end += s.size
256
+ self.left_pose.joint_angles = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
257
+ start = end
258
+ end += 24
259
+ self.right_pose.pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
260
+ start = end
261
+ end += 32
262
+ self.right_pose.quat_xyzw = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
263
+ start = end
264
+ end += 24
265
+ self.right_pose.elbow_pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
266
+ start = end
267
+ end += 4
268
+ (length,) = _struct_I.unpack(str[start:end])
269
+ pattern = '<%sd'%length
270
+ start = end
271
+ s = struct.Struct(pattern)
272
+ end += s.size
273
+ self.right_pose.joint_angles = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
274
+ return self
275
+ except struct.error as e:
276
+ raise genpy.DeserializationError(e) # most likely buffer underfill
277
+
278
+ _struct_I = genpy.struct_I
279
+ def _get_struct_I():
280
+ global _struct_I
281
+ return _struct_I
282
+ _struct_3I = None
283
+ def _get_struct_3I():
284
+ global _struct_3I
285
+ if _struct_3I is None:
286
+ _struct_3I = struct.Struct("<3I")
287
+ return _struct_3I
288
+ _struct_3d = None
289
+ def _get_struct_3d():
290
+ global _struct_3d
291
+ if _struct_3d is None:
292
+ _struct_3d = struct.Struct("<3d")
293
+ return _struct_3d
294
+ _struct_4d = None
295
+ def _get_struct_4d():
296
+ global _struct_4d
297
+ if _struct_4d is None:
298
+ _struct_4d = struct.Struct("<4d")
299
+ return _struct_4d