kuavo-humanoid-sdk 1.2.1b3319__20250917133850-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 +561 -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.1b3319.dist-info/METADATA +297 -0
  184. kuavo_humanoid_sdk-1.2.1b3319.dist-info/RECORD +186 -0
  185. kuavo_humanoid_sdk-1.2.1b3319.dist-info/WHEEL +6 -0
  186. kuavo_humanoid_sdk-1.2.1b3319.dist-info/top_level.txt +1 -0
@@ -0,0 +1,664 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/twoArmHandPoseCmdSrvRequest.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 twoArmHandPoseCmdSrvRequest(genpy.Message):
13
+ _md5sum = "cc73837d27c2081b9de63a7f5c230e6e"
14
+ _type = "kuavo_msgs/twoArmHandPoseCmdSrvRequest"
15
+ _has_header = False # flag to mark the presence of a Header object
16
+ _full_text = """twoArmHandPoseCmd twoArmHandPoseCmdRequest
17
+
18
+ ================================================================================
19
+ MSG: kuavo_msgs/twoArmHandPoseCmd
20
+ twoArmHandPose hand_poses
21
+ # params for the IK solver
22
+ bool use_custom_ik_param
23
+ bool joint_angles_as_q0
24
+ ikSolveParam ik_param
25
+ int32 frame # 0 keep current frame 1 world frame (based on odom) 2 local frame 3 VRFrame 4 manipulation world frame
26
+ ================================================================================
27
+ MSG: kuavo_msgs/twoArmHandPose
28
+ Header header
29
+ armHandPose left_pose
30
+ armHandPose right_pose
31
+ ================================================================================
32
+ MSG: std_msgs/Header
33
+ # Standard metadata for higher-level stamped data types.
34
+ # This is generally used to communicate timestamped data
35
+ # in a particular coordinate frame.
36
+ #
37
+ # sequence ID: consecutively increasing ID
38
+ uint32 seq
39
+ #Two-integer timestamp that is expressed as:
40
+ # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')
41
+ # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')
42
+ # time-handling sugar is provided by the client library
43
+ time stamp
44
+ #Frame this data is associated with
45
+ string frame_id
46
+
47
+ ================================================================================
48
+ MSG: kuavo_msgs/armHandPose
49
+ float64[3] pos_xyz
50
+ float64[4] quat_xyzw
51
+
52
+ float64[3] elbow_pos_xyz
53
+
54
+ float64[7] joint_angles
55
+
56
+ ================================================================================
57
+ MSG: kuavo_msgs/ikSolveParam
58
+ # snopt params
59
+ float64 major_optimality_tol
60
+ float64 major_feasibility_tol
61
+ float64 minor_feasibility_tol
62
+ float64 major_iterations_limit
63
+ # constraint and cost params
64
+ float64 oritation_constraint_tol
65
+ float64 pos_constraint_tol # work when pos_cost_weight > 0.0
66
+ float64 pos_cost_weight"""
67
+ __slots__ = ['twoArmHandPoseCmdRequest']
68
+ _slot_types = ['kuavo_msgs/twoArmHandPoseCmd']
69
+
70
+ def __init__(self, *args, **kwds):
71
+ """
72
+ Constructor. Any message fields that are implicitly/explicitly
73
+ set to None will be assigned a default value. The recommend
74
+ use is keyword arguments as this is more robust to future message
75
+ changes. You cannot mix in-order arguments and keyword arguments.
76
+
77
+ The available fields are:
78
+ twoArmHandPoseCmdRequest
79
+
80
+ :param args: complete set of field values, in .msg order
81
+ :param kwds: use keyword arguments corresponding to message field names
82
+ to set specific fields.
83
+ """
84
+ if args or kwds:
85
+ super(twoArmHandPoseCmdSrvRequest, self).__init__(*args, **kwds)
86
+ # message fields cannot be None, assign default values for those that are
87
+ if self.twoArmHandPoseCmdRequest is None:
88
+ self.twoArmHandPoseCmdRequest = kuavo_msgs.msg.twoArmHandPoseCmd()
89
+ else:
90
+ self.twoArmHandPoseCmdRequest = kuavo_msgs.msg.twoArmHandPoseCmd()
91
+
92
+ def _get_types(self):
93
+ """
94
+ internal API method
95
+ """
96
+ return self._slot_types
97
+
98
+ def serialize(self, buff):
99
+ """
100
+ serialize message into buffer
101
+ :param buff: buffer, ``StringIO``
102
+ """
103
+ try:
104
+ _x = self
105
+ buff.write(_get_struct_3I().pack(_x.twoArmHandPoseCmdRequest.hand_poses.header.seq, _x.twoArmHandPoseCmdRequest.hand_poses.header.stamp.secs, _x.twoArmHandPoseCmdRequest.hand_poses.header.stamp.nsecs))
106
+ _x = self.twoArmHandPoseCmdRequest.hand_poses.header.frame_id
107
+ length = len(_x)
108
+ if python3 or type(_x) == unicode:
109
+ _x = _x.encode('utf-8')
110
+ length = len(_x)
111
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
112
+ buff.write(_get_struct_3d().pack(*self.twoArmHandPoseCmdRequest.hand_poses.left_pose.pos_xyz))
113
+ buff.write(_get_struct_4d().pack(*self.twoArmHandPoseCmdRequest.hand_poses.left_pose.quat_xyzw))
114
+ buff.write(_get_struct_3d().pack(*self.twoArmHandPoseCmdRequest.hand_poses.left_pose.elbow_pos_xyz))
115
+ buff.write(_get_struct_7d().pack(*self.twoArmHandPoseCmdRequest.hand_poses.left_pose.joint_angles))
116
+ buff.write(_get_struct_3d().pack(*self.twoArmHandPoseCmdRequest.hand_poses.right_pose.pos_xyz))
117
+ buff.write(_get_struct_4d().pack(*self.twoArmHandPoseCmdRequest.hand_poses.right_pose.quat_xyzw))
118
+ buff.write(_get_struct_3d().pack(*self.twoArmHandPoseCmdRequest.hand_poses.right_pose.elbow_pos_xyz))
119
+ buff.write(_get_struct_7d().pack(*self.twoArmHandPoseCmdRequest.hand_poses.right_pose.joint_angles))
120
+ _x = self
121
+ buff.write(_get_struct_2B7di().pack(_x.twoArmHandPoseCmdRequest.use_custom_ik_param, _x.twoArmHandPoseCmdRequest.joint_angles_as_q0, _x.twoArmHandPoseCmdRequest.ik_param.major_optimality_tol, _x.twoArmHandPoseCmdRequest.ik_param.major_feasibility_tol, _x.twoArmHandPoseCmdRequest.ik_param.minor_feasibility_tol, _x.twoArmHandPoseCmdRequest.ik_param.major_iterations_limit, _x.twoArmHandPoseCmdRequest.ik_param.oritation_constraint_tol, _x.twoArmHandPoseCmdRequest.ik_param.pos_constraint_tol, _x.twoArmHandPoseCmdRequest.ik_param.pos_cost_weight, _x.twoArmHandPoseCmdRequest.frame))
122
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
123
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
124
+
125
+ def deserialize(self, str):
126
+ """
127
+ unpack serialized message in str into this message instance
128
+ :param str: byte array of serialized message, ``str``
129
+ """
130
+ if python3:
131
+ codecs.lookup_error("rosmsg").msg_type = self._type
132
+ try:
133
+ if self.twoArmHandPoseCmdRequest is None:
134
+ self.twoArmHandPoseCmdRequest = kuavo_msgs.msg.twoArmHandPoseCmd()
135
+ end = 0
136
+ _x = self
137
+ start = end
138
+ end += 12
139
+ (_x.twoArmHandPoseCmdRequest.hand_poses.header.seq, _x.twoArmHandPoseCmdRequest.hand_poses.header.stamp.secs, _x.twoArmHandPoseCmdRequest.hand_poses.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
140
+ start = end
141
+ end += 4
142
+ (length,) = _struct_I.unpack(str[start:end])
143
+ start = end
144
+ end += length
145
+ if python3:
146
+ self.twoArmHandPoseCmdRequest.hand_poses.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
147
+ else:
148
+ self.twoArmHandPoseCmdRequest.hand_poses.header.frame_id = str[start:end]
149
+ start = end
150
+ end += 24
151
+ self.twoArmHandPoseCmdRequest.hand_poses.left_pose.pos_xyz = _get_struct_3d().unpack(str[start:end])
152
+ start = end
153
+ end += 32
154
+ self.twoArmHandPoseCmdRequest.hand_poses.left_pose.quat_xyzw = _get_struct_4d().unpack(str[start:end])
155
+ start = end
156
+ end += 24
157
+ self.twoArmHandPoseCmdRequest.hand_poses.left_pose.elbow_pos_xyz = _get_struct_3d().unpack(str[start:end])
158
+ start = end
159
+ end += 56
160
+ self.twoArmHandPoseCmdRequest.hand_poses.left_pose.joint_angles = _get_struct_7d().unpack(str[start:end])
161
+ start = end
162
+ end += 24
163
+ self.twoArmHandPoseCmdRequest.hand_poses.right_pose.pos_xyz = _get_struct_3d().unpack(str[start:end])
164
+ start = end
165
+ end += 32
166
+ self.twoArmHandPoseCmdRequest.hand_poses.right_pose.quat_xyzw = _get_struct_4d().unpack(str[start:end])
167
+ start = end
168
+ end += 24
169
+ self.twoArmHandPoseCmdRequest.hand_poses.right_pose.elbow_pos_xyz = _get_struct_3d().unpack(str[start:end])
170
+ start = end
171
+ end += 56
172
+ self.twoArmHandPoseCmdRequest.hand_poses.right_pose.joint_angles = _get_struct_7d().unpack(str[start:end])
173
+ _x = self
174
+ start = end
175
+ end += 62
176
+ (_x.twoArmHandPoseCmdRequest.use_custom_ik_param, _x.twoArmHandPoseCmdRequest.joint_angles_as_q0, _x.twoArmHandPoseCmdRequest.ik_param.major_optimality_tol, _x.twoArmHandPoseCmdRequest.ik_param.major_feasibility_tol, _x.twoArmHandPoseCmdRequest.ik_param.minor_feasibility_tol, _x.twoArmHandPoseCmdRequest.ik_param.major_iterations_limit, _x.twoArmHandPoseCmdRequest.ik_param.oritation_constraint_tol, _x.twoArmHandPoseCmdRequest.ik_param.pos_constraint_tol, _x.twoArmHandPoseCmdRequest.ik_param.pos_cost_weight, _x.twoArmHandPoseCmdRequest.frame,) = _get_struct_2B7di().unpack(str[start:end])
177
+ self.twoArmHandPoseCmdRequest.use_custom_ik_param = bool(self.twoArmHandPoseCmdRequest.use_custom_ik_param)
178
+ self.twoArmHandPoseCmdRequest.joint_angles_as_q0 = bool(self.twoArmHandPoseCmdRequest.joint_angles_as_q0)
179
+ return self
180
+ except struct.error as e:
181
+ raise genpy.DeserializationError(e) # most likely buffer underfill
182
+
183
+
184
+ def serialize_numpy(self, buff, numpy):
185
+ """
186
+ serialize message with numpy array types into buffer
187
+ :param buff: buffer, ``StringIO``
188
+ :param numpy: numpy python module
189
+ """
190
+ try:
191
+ _x = self
192
+ buff.write(_get_struct_3I().pack(_x.twoArmHandPoseCmdRequest.hand_poses.header.seq, _x.twoArmHandPoseCmdRequest.hand_poses.header.stamp.secs, _x.twoArmHandPoseCmdRequest.hand_poses.header.stamp.nsecs))
193
+ _x = self.twoArmHandPoseCmdRequest.hand_poses.header.frame_id
194
+ length = len(_x)
195
+ if python3 or type(_x) == unicode:
196
+ _x = _x.encode('utf-8')
197
+ length = len(_x)
198
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
199
+ buff.write(self.twoArmHandPoseCmdRequest.hand_poses.left_pose.pos_xyz.tostring())
200
+ buff.write(self.twoArmHandPoseCmdRequest.hand_poses.left_pose.quat_xyzw.tostring())
201
+ buff.write(self.twoArmHandPoseCmdRequest.hand_poses.left_pose.elbow_pos_xyz.tostring())
202
+ buff.write(self.twoArmHandPoseCmdRequest.hand_poses.left_pose.joint_angles.tostring())
203
+ buff.write(self.twoArmHandPoseCmdRequest.hand_poses.right_pose.pos_xyz.tostring())
204
+ buff.write(self.twoArmHandPoseCmdRequest.hand_poses.right_pose.quat_xyzw.tostring())
205
+ buff.write(self.twoArmHandPoseCmdRequest.hand_poses.right_pose.elbow_pos_xyz.tostring())
206
+ buff.write(self.twoArmHandPoseCmdRequest.hand_poses.right_pose.joint_angles.tostring())
207
+ _x = self
208
+ buff.write(_get_struct_2B7di().pack(_x.twoArmHandPoseCmdRequest.use_custom_ik_param, _x.twoArmHandPoseCmdRequest.joint_angles_as_q0, _x.twoArmHandPoseCmdRequest.ik_param.major_optimality_tol, _x.twoArmHandPoseCmdRequest.ik_param.major_feasibility_tol, _x.twoArmHandPoseCmdRequest.ik_param.minor_feasibility_tol, _x.twoArmHandPoseCmdRequest.ik_param.major_iterations_limit, _x.twoArmHandPoseCmdRequest.ik_param.oritation_constraint_tol, _x.twoArmHandPoseCmdRequest.ik_param.pos_constraint_tol, _x.twoArmHandPoseCmdRequest.ik_param.pos_cost_weight, _x.twoArmHandPoseCmdRequest.frame))
209
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
210
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
211
+
212
+ def deserialize_numpy(self, str, numpy):
213
+ """
214
+ unpack serialized message in str into this message instance using numpy for array types
215
+ :param str: byte array of serialized message, ``str``
216
+ :param numpy: numpy python module
217
+ """
218
+ if python3:
219
+ codecs.lookup_error("rosmsg").msg_type = self._type
220
+ try:
221
+ if self.twoArmHandPoseCmdRequest is None:
222
+ self.twoArmHandPoseCmdRequest = kuavo_msgs.msg.twoArmHandPoseCmd()
223
+ end = 0
224
+ _x = self
225
+ start = end
226
+ end += 12
227
+ (_x.twoArmHandPoseCmdRequest.hand_poses.header.seq, _x.twoArmHandPoseCmdRequest.hand_poses.header.stamp.secs, _x.twoArmHandPoseCmdRequest.hand_poses.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
228
+ start = end
229
+ end += 4
230
+ (length,) = _struct_I.unpack(str[start:end])
231
+ start = end
232
+ end += length
233
+ if python3:
234
+ self.twoArmHandPoseCmdRequest.hand_poses.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
235
+ else:
236
+ self.twoArmHandPoseCmdRequest.hand_poses.header.frame_id = str[start:end]
237
+ start = end
238
+ end += 24
239
+ self.twoArmHandPoseCmdRequest.hand_poses.left_pose.pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
240
+ start = end
241
+ end += 32
242
+ self.twoArmHandPoseCmdRequest.hand_poses.left_pose.quat_xyzw = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
243
+ start = end
244
+ end += 24
245
+ self.twoArmHandPoseCmdRequest.hand_poses.left_pose.elbow_pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
246
+ start = end
247
+ end += 56
248
+ self.twoArmHandPoseCmdRequest.hand_poses.left_pose.joint_angles = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=7)
249
+ start = end
250
+ end += 24
251
+ self.twoArmHandPoseCmdRequest.hand_poses.right_pose.pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
252
+ start = end
253
+ end += 32
254
+ self.twoArmHandPoseCmdRequest.hand_poses.right_pose.quat_xyzw = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
255
+ start = end
256
+ end += 24
257
+ self.twoArmHandPoseCmdRequest.hand_poses.right_pose.elbow_pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
258
+ start = end
259
+ end += 56
260
+ self.twoArmHandPoseCmdRequest.hand_poses.right_pose.joint_angles = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=7)
261
+ _x = self
262
+ start = end
263
+ end += 62
264
+ (_x.twoArmHandPoseCmdRequest.use_custom_ik_param, _x.twoArmHandPoseCmdRequest.joint_angles_as_q0, _x.twoArmHandPoseCmdRequest.ik_param.major_optimality_tol, _x.twoArmHandPoseCmdRequest.ik_param.major_feasibility_tol, _x.twoArmHandPoseCmdRequest.ik_param.minor_feasibility_tol, _x.twoArmHandPoseCmdRequest.ik_param.major_iterations_limit, _x.twoArmHandPoseCmdRequest.ik_param.oritation_constraint_tol, _x.twoArmHandPoseCmdRequest.ik_param.pos_constraint_tol, _x.twoArmHandPoseCmdRequest.ik_param.pos_cost_weight, _x.twoArmHandPoseCmdRequest.frame,) = _get_struct_2B7di().unpack(str[start:end])
265
+ self.twoArmHandPoseCmdRequest.use_custom_ik_param = bool(self.twoArmHandPoseCmdRequest.use_custom_ik_param)
266
+ self.twoArmHandPoseCmdRequest.joint_angles_as_q0 = bool(self.twoArmHandPoseCmdRequest.joint_angles_as_q0)
267
+ return self
268
+ except struct.error as e:
269
+ raise genpy.DeserializationError(e) # most likely buffer underfill
270
+
271
+ _struct_I = genpy.struct_I
272
+ def _get_struct_I():
273
+ global _struct_I
274
+ return _struct_I
275
+ _struct_2B7di = None
276
+ def _get_struct_2B7di():
277
+ global _struct_2B7di
278
+ if _struct_2B7di is None:
279
+ _struct_2B7di = struct.Struct("<2B7di")
280
+ return _struct_2B7di
281
+ _struct_3I = None
282
+ def _get_struct_3I():
283
+ global _struct_3I
284
+ if _struct_3I is None:
285
+ _struct_3I = struct.Struct("<3I")
286
+ return _struct_3I
287
+ _struct_3d = None
288
+ def _get_struct_3d():
289
+ global _struct_3d
290
+ if _struct_3d is None:
291
+ _struct_3d = struct.Struct("<3d")
292
+ return _struct_3d
293
+ _struct_4d = None
294
+ def _get_struct_4d():
295
+ global _struct_4d
296
+ if _struct_4d is None:
297
+ _struct_4d = struct.Struct("<4d")
298
+ return _struct_4d
299
+ _struct_7d = None
300
+ def _get_struct_7d():
301
+ global _struct_7d
302
+ if _struct_7d is None:
303
+ _struct_7d = struct.Struct("<7d")
304
+ return _struct_7d
305
+ # This Python file uses the following encoding: utf-8
306
+ """autogenerated by genpy from kuavo_msgs/twoArmHandPoseCmdSrvResponse.msg. Do not edit."""
307
+ import codecs
308
+ import sys
309
+ python3 = True if sys.hexversion > 0x03000000 else False
310
+ import genpy
311
+ import struct
312
+
313
+ import kuavo_msgs.msg
314
+ import std_msgs.msg
315
+
316
+ class twoArmHandPoseCmdSrvResponse(genpy.Message):
317
+ _md5sum = "7dba8c11b6c3ac9ec243b4520ad906c7"
318
+ _type = "kuavo_msgs/twoArmHandPoseCmdSrvResponse"
319
+ _has_header = False # flag to mark the presence of a Header object
320
+ _full_text = """bool success
321
+ bool with_torso
322
+ float64[] q_arm
323
+ float64[] q_torso
324
+
325
+ float64 time_cost # unit: ms
326
+ # ik result
327
+ twoArmHandPose hand_poses
328
+
329
+ ================================================================================
330
+ MSG: kuavo_msgs/twoArmHandPose
331
+ Header header
332
+ armHandPose left_pose
333
+ armHandPose right_pose
334
+ ================================================================================
335
+ MSG: std_msgs/Header
336
+ # Standard metadata for higher-level stamped data types.
337
+ # This is generally used to communicate timestamped data
338
+ # in a particular coordinate frame.
339
+ #
340
+ # sequence ID: consecutively increasing ID
341
+ uint32 seq
342
+ #Two-integer timestamp that is expressed as:
343
+ # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')
344
+ # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')
345
+ # time-handling sugar is provided by the client library
346
+ time stamp
347
+ #Frame this data is associated with
348
+ string frame_id
349
+
350
+ ================================================================================
351
+ MSG: kuavo_msgs/armHandPose
352
+ float64[3] pos_xyz
353
+ float64[4] quat_xyzw
354
+
355
+ float64[3] elbow_pos_xyz
356
+
357
+ float64[7] joint_angles
358
+ """
359
+ __slots__ = ['success','with_torso','q_arm','q_torso','time_cost','hand_poses']
360
+ _slot_types = ['bool','bool','float64[]','float64[]','float64','kuavo_msgs/twoArmHandPose']
361
+
362
+ def __init__(self, *args, **kwds):
363
+ """
364
+ Constructor. Any message fields that are implicitly/explicitly
365
+ set to None will be assigned a default value. The recommend
366
+ use is keyword arguments as this is more robust to future message
367
+ changes. You cannot mix in-order arguments and keyword arguments.
368
+
369
+ The available fields are:
370
+ success,with_torso,q_arm,q_torso,time_cost,hand_poses
371
+
372
+ :param args: complete set of field values, in .msg order
373
+ :param kwds: use keyword arguments corresponding to message field names
374
+ to set specific fields.
375
+ """
376
+ if args or kwds:
377
+ super(twoArmHandPoseCmdSrvResponse, self).__init__(*args, **kwds)
378
+ # message fields cannot be None, assign default values for those that are
379
+ if self.success is None:
380
+ self.success = False
381
+ if self.with_torso is None:
382
+ self.with_torso = False
383
+ if self.q_arm is None:
384
+ self.q_arm = []
385
+ if self.q_torso is None:
386
+ self.q_torso = []
387
+ if self.time_cost is None:
388
+ self.time_cost = 0.
389
+ if self.hand_poses is None:
390
+ self.hand_poses = kuavo_msgs.msg.twoArmHandPose()
391
+ else:
392
+ self.success = False
393
+ self.with_torso = False
394
+ self.q_arm = []
395
+ self.q_torso = []
396
+ self.time_cost = 0.
397
+ self.hand_poses = kuavo_msgs.msg.twoArmHandPose()
398
+
399
+ def _get_types(self):
400
+ """
401
+ internal API method
402
+ """
403
+ return self._slot_types
404
+
405
+ def serialize(self, buff):
406
+ """
407
+ serialize message into buffer
408
+ :param buff: buffer, ``StringIO``
409
+ """
410
+ try:
411
+ _x = self
412
+ buff.write(_get_struct_2B().pack(_x.success, _x.with_torso))
413
+ length = len(self.q_arm)
414
+ buff.write(_struct_I.pack(length))
415
+ pattern = '<%sd'%length
416
+ buff.write(struct.Struct(pattern).pack(*self.q_arm))
417
+ length = len(self.q_torso)
418
+ buff.write(_struct_I.pack(length))
419
+ pattern = '<%sd'%length
420
+ buff.write(struct.Struct(pattern).pack(*self.q_torso))
421
+ _x = self
422
+ buff.write(_get_struct_d3I().pack(_x.time_cost, _x.hand_poses.header.seq, _x.hand_poses.header.stamp.secs, _x.hand_poses.header.stamp.nsecs))
423
+ _x = self.hand_poses.header.frame_id
424
+ length = len(_x)
425
+ if python3 or type(_x) == unicode:
426
+ _x = _x.encode('utf-8')
427
+ length = len(_x)
428
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
429
+ buff.write(_get_struct_3d().pack(*self.hand_poses.left_pose.pos_xyz))
430
+ buff.write(_get_struct_4d().pack(*self.hand_poses.left_pose.quat_xyzw))
431
+ buff.write(_get_struct_3d().pack(*self.hand_poses.left_pose.elbow_pos_xyz))
432
+ buff.write(_get_struct_7d().pack(*self.hand_poses.left_pose.joint_angles))
433
+ buff.write(_get_struct_3d().pack(*self.hand_poses.right_pose.pos_xyz))
434
+ buff.write(_get_struct_4d().pack(*self.hand_poses.right_pose.quat_xyzw))
435
+ buff.write(_get_struct_3d().pack(*self.hand_poses.right_pose.elbow_pos_xyz))
436
+ buff.write(_get_struct_7d().pack(*self.hand_poses.right_pose.joint_angles))
437
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
438
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
439
+
440
+ def deserialize(self, str):
441
+ """
442
+ unpack serialized message in str into this message instance
443
+ :param str: byte array of serialized message, ``str``
444
+ """
445
+ if python3:
446
+ codecs.lookup_error("rosmsg").msg_type = self._type
447
+ try:
448
+ if self.hand_poses is None:
449
+ self.hand_poses = kuavo_msgs.msg.twoArmHandPose()
450
+ end = 0
451
+ _x = self
452
+ start = end
453
+ end += 2
454
+ (_x.success, _x.with_torso,) = _get_struct_2B().unpack(str[start:end])
455
+ self.success = bool(self.success)
456
+ self.with_torso = bool(self.with_torso)
457
+ start = end
458
+ end += 4
459
+ (length,) = _struct_I.unpack(str[start:end])
460
+ pattern = '<%sd'%length
461
+ start = end
462
+ s = struct.Struct(pattern)
463
+ end += s.size
464
+ self.q_arm = s.unpack(str[start:end])
465
+ start = end
466
+ end += 4
467
+ (length,) = _struct_I.unpack(str[start:end])
468
+ pattern = '<%sd'%length
469
+ start = end
470
+ s = struct.Struct(pattern)
471
+ end += s.size
472
+ self.q_torso = s.unpack(str[start:end])
473
+ _x = self
474
+ start = end
475
+ end += 20
476
+ (_x.time_cost, _x.hand_poses.header.seq, _x.hand_poses.header.stamp.secs, _x.hand_poses.header.stamp.nsecs,) = _get_struct_d3I().unpack(str[start:end])
477
+ start = end
478
+ end += 4
479
+ (length,) = _struct_I.unpack(str[start:end])
480
+ start = end
481
+ end += length
482
+ if python3:
483
+ self.hand_poses.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
484
+ else:
485
+ self.hand_poses.header.frame_id = str[start:end]
486
+ start = end
487
+ end += 24
488
+ self.hand_poses.left_pose.pos_xyz = _get_struct_3d().unpack(str[start:end])
489
+ start = end
490
+ end += 32
491
+ self.hand_poses.left_pose.quat_xyzw = _get_struct_4d().unpack(str[start:end])
492
+ start = end
493
+ end += 24
494
+ self.hand_poses.left_pose.elbow_pos_xyz = _get_struct_3d().unpack(str[start:end])
495
+ start = end
496
+ end += 56
497
+ self.hand_poses.left_pose.joint_angles = _get_struct_7d().unpack(str[start:end])
498
+ start = end
499
+ end += 24
500
+ self.hand_poses.right_pose.pos_xyz = _get_struct_3d().unpack(str[start:end])
501
+ start = end
502
+ end += 32
503
+ self.hand_poses.right_pose.quat_xyzw = _get_struct_4d().unpack(str[start:end])
504
+ start = end
505
+ end += 24
506
+ self.hand_poses.right_pose.elbow_pos_xyz = _get_struct_3d().unpack(str[start:end])
507
+ start = end
508
+ end += 56
509
+ self.hand_poses.right_pose.joint_angles = _get_struct_7d().unpack(str[start:end])
510
+ return self
511
+ except struct.error as e:
512
+ raise genpy.DeserializationError(e) # most likely buffer underfill
513
+
514
+
515
+ def serialize_numpy(self, buff, numpy):
516
+ """
517
+ serialize message with numpy array types into buffer
518
+ :param buff: buffer, ``StringIO``
519
+ :param numpy: numpy python module
520
+ """
521
+ try:
522
+ _x = self
523
+ buff.write(_get_struct_2B().pack(_x.success, _x.with_torso))
524
+ length = len(self.q_arm)
525
+ buff.write(_struct_I.pack(length))
526
+ pattern = '<%sd'%length
527
+ buff.write(self.q_arm.tostring())
528
+ length = len(self.q_torso)
529
+ buff.write(_struct_I.pack(length))
530
+ pattern = '<%sd'%length
531
+ buff.write(self.q_torso.tostring())
532
+ _x = self
533
+ buff.write(_get_struct_d3I().pack(_x.time_cost, _x.hand_poses.header.seq, _x.hand_poses.header.stamp.secs, _x.hand_poses.header.stamp.nsecs))
534
+ _x = self.hand_poses.header.frame_id
535
+ length = len(_x)
536
+ if python3 or type(_x) == unicode:
537
+ _x = _x.encode('utf-8')
538
+ length = len(_x)
539
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
540
+ buff.write(self.hand_poses.left_pose.pos_xyz.tostring())
541
+ buff.write(self.hand_poses.left_pose.quat_xyzw.tostring())
542
+ buff.write(self.hand_poses.left_pose.elbow_pos_xyz.tostring())
543
+ buff.write(self.hand_poses.left_pose.joint_angles.tostring())
544
+ buff.write(self.hand_poses.right_pose.pos_xyz.tostring())
545
+ buff.write(self.hand_poses.right_pose.quat_xyzw.tostring())
546
+ buff.write(self.hand_poses.right_pose.elbow_pos_xyz.tostring())
547
+ buff.write(self.hand_poses.right_pose.joint_angles.tostring())
548
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
549
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
550
+
551
+ def deserialize_numpy(self, str, numpy):
552
+ """
553
+ unpack serialized message in str into this message instance using numpy for array types
554
+ :param str: byte array of serialized message, ``str``
555
+ :param numpy: numpy python module
556
+ """
557
+ if python3:
558
+ codecs.lookup_error("rosmsg").msg_type = self._type
559
+ try:
560
+ if self.hand_poses is None:
561
+ self.hand_poses = kuavo_msgs.msg.twoArmHandPose()
562
+ end = 0
563
+ _x = self
564
+ start = end
565
+ end += 2
566
+ (_x.success, _x.with_torso,) = _get_struct_2B().unpack(str[start:end])
567
+ self.success = bool(self.success)
568
+ self.with_torso = bool(self.with_torso)
569
+ start = end
570
+ end += 4
571
+ (length,) = _struct_I.unpack(str[start:end])
572
+ pattern = '<%sd'%length
573
+ start = end
574
+ s = struct.Struct(pattern)
575
+ end += s.size
576
+ self.q_arm = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
577
+ start = end
578
+ end += 4
579
+ (length,) = _struct_I.unpack(str[start:end])
580
+ pattern = '<%sd'%length
581
+ start = end
582
+ s = struct.Struct(pattern)
583
+ end += s.size
584
+ self.q_torso = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
585
+ _x = self
586
+ start = end
587
+ end += 20
588
+ (_x.time_cost, _x.hand_poses.header.seq, _x.hand_poses.header.stamp.secs, _x.hand_poses.header.stamp.nsecs,) = _get_struct_d3I().unpack(str[start:end])
589
+ start = end
590
+ end += 4
591
+ (length,) = _struct_I.unpack(str[start:end])
592
+ start = end
593
+ end += length
594
+ if python3:
595
+ self.hand_poses.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
596
+ else:
597
+ self.hand_poses.header.frame_id = str[start:end]
598
+ start = end
599
+ end += 24
600
+ self.hand_poses.left_pose.pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
601
+ start = end
602
+ end += 32
603
+ self.hand_poses.left_pose.quat_xyzw = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
604
+ start = end
605
+ end += 24
606
+ self.hand_poses.left_pose.elbow_pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
607
+ start = end
608
+ end += 56
609
+ self.hand_poses.left_pose.joint_angles = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=7)
610
+ start = end
611
+ end += 24
612
+ self.hand_poses.right_pose.pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
613
+ start = end
614
+ end += 32
615
+ self.hand_poses.right_pose.quat_xyzw = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
616
+ start = end
617
+ end += 24
618
+ self.hand_poses.right_pose.elbow_pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
619
+ start = end
620
+ end += 56
621
+ self.hand_poses.right_pose.joint_angles = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=7)
622
+ return self
623
+ except struct.error as e:
624
+ raise genpy.DeserializationError(e) # most likely buffer underfill
625
+
626
+ _struct_I = genpy.struct_I
627
+ def _get_struct_I():
628
+ global _struct_I
629
+ return _struct_I
630
+ _struct_2B = None
631
+ def _get_struct_2B():
632
+ global _struct_2B
633
+ if _struct_2B is None:
634
+ _struct_2B = struct.Struct("<2B")
635
+ return _struct_2B
636
+ _struct_3d = None
637
+ def _get_struct_3d():
638
+ global _struct_3d
639
+ if _struct_3d is None:
640
+ _struct_3d = struct.Struct("<3d")
641
+ return _struct_3d
642
+ _struct_4d = None
643
+ def _get_struct_4d():
644
+ global _struct_4d
645
+ if _struct_4d is None:
646
+ _struct_4d = struct.Struct("<4d")
647
+ return _struct_4d
648
+ _struct_7d = None
649
+ def _get_struct_7d():
650
+ global _struct_7d
651
+ if _struct_7d is None:
652
+ _struct_7d = struct.Struct("<7d")
653
+ return _struct_7d
654
+ _struct_d3I = None
655
+ def _get_struct_d3I():
656
+ global _struct_d3I
657
+ if _struct_d3I is None:
658
+ _struct_d3I = struct.Struct("<d3I")
659
+ return _struct_d3I
660
+ class twoArmHandPoseCmdSrv(object):
661
+ _type = 'kuavo_msgs/twoArmHandPoseCmdSrv'
662
+ _md5sum = '5c40c421651b828448c8e8f1a4ba5e3d'
663
+ _request_class = twoArmHandPoseCmdSrvRequest
664
+ _response_class = twoArmHandPoseCmdSrvResponse
@@ -0,0 +1,7 @@
1
+ import os
2
+ import sys
3
+
4
+ # Add package path to sys.path if not already there
5
+ package_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
6
+ if package_path not in sys.path:
7
+ sys.path.append(package_path)
@@ -0,0 +1,7 @@
1
+ import os
2
+ import sys
3
+
4
+ # Add package path to sys.path if not already there
5
+ package_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
6
+ if package_path not in sys.path:
7
+ sys.path.append(package_path)
@@ -0,0 +1,12 @@
1
+ from ._constraint import *
2
+ from ._controller_data import *
3
+ from ._lagrangian_metrics import *
4
+ from ._mode_schedule import *
5
+ from ._mpc_flattened_controller import *
6
+ from ._mpc_input import *
7
+ from ._mpc_observation import *
8
+ from ._mpc_performance_indices import *
9
+ from ._mpc_solver_data import *
10
+ from ._mpc_state import *
11
+ from ._mpc_target_trajectories import *
12
+ from ._multiplier import *