kuavo-humanoid-sdk 1.2.1b3319__20250917064014-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,229 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/dexhandCommand.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 std_msgs.msg
10
+
11
+ class dexhandCommand(genpy.Message):
12
+ _md5sum = "ab54699609aa0f9682d32ee67eae87dc"
13
+ _type = "kuavo_msgs/dexhandCommand"
14
+ _has_header = True # flag to mark the presence of a Header object
15
+ _full_text = """# Control modes
16
+ int8 POSITION_CONTROL = 0 # Position control mode
17
+ int8 VELOCITY_CONTROL = 1 # Velocity control mode
18
+
19
+ # Message header
20
+ std_msgs/Header header
21
+
22
+ # Control mode to be used
23
+ int8 control_mode
24
+
25
+ # Data array
26
+ # 数据数组,单手时长度必须为6,双手长度必须为12
27
+ # - 位置控制模式下,每个元素的数据的范围为[0, 100], 0 为完全打开,100 为完全关闭
28
+ # - 速度控制模式下,每个元素的数据的范围为[-100, 100] 负数表示打开,正数表示关闭
29
+ int16[] data
30
+ ================================================================================
31
+ MSG: std_msgs/Header
32
+ # Standard metadata for higher-level stamped data types.
33
+ # This is generally used to communicate timestamped data
34
+ # in a particular coordinate frame.
35
+ #
36
+ # sequence ID: consecutively increasing ID
37
+ uint32 seq
38
+ #Two-integer timestamp that is expressed as:
39
+ # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')
40
+ # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')
41
+ # time-handling sugar is provided by the client library
42
+ time stamp
43
+ #Frame this data is associated with
44
+ string frame_id
45
+ """
46
+ # Pseudo-constants
47
+ POSITION_CONTROL = 0
48
+ VELOCITY_CONTROL = 1
49
+
50
+ __slots__ = ['header','control_mode','data']
51
+ _slot_types = ['std_msgs/Header','int8','int16[]']
52
+
53
+ def __init__(self, *args, **kwds):
54
+ """
55
+ Constructor. Any message fields that are implicitly/explicitly
56
+ set to None will be assigned a default value. The recommend
57
+ use is keyword arguments as this is more robust to future message
58
+ changes. You cannot mix in-order arguments and keyword arguments.
59
+
60
+ The available fields are:
61
+ header,control_mode,data
62
+
63
+ :param args: complete set of field values, in .msg order
64
+ :param kwds: use keyword arguments corresponding to message field names
65
+ to set specific fields.
66
+ """
67
+ if args or kwds:
68
+ super(dexhandCommand, self).__init__(*args, **kwds)
69
+ # message fields cannot be None, assign default values for those that are
70
+ if self.header is None:
71
+ self.header = std_msgs.msg.Header()
72
+ if self.control_mode is None:
73
+ self.control_mode = 0
74
+ if self.data is None:
75
+ self.data = []
76
+ else:
77
+ self.header = std_msgs.msg.Header()
78
+ self.control_mode = 0
79
+ self.data = []
80
+
81
+ def _get_types(self):
82
+ """
83
+ internal API method
84
+ """
85
+ return self._slot_types
86
+
87
+ def serialize(self, buff):
88
+ """
89
+ serialize message into buffer
90
+ :param buff: buffer, ``StringIO``
91
+ """
92
+ try:
93
+ _x = self
94
+ buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
95
+ _x = self.header.frame_id
96
+ length = len(_x)
97
+ if python3 or type(_x) == unicode:
98
+ _x = _x.encode('utf-8')
99
+ length = len(_x)
100
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
101
+ _x = self.control_mode
102
+ buff.write(_get_struct_b().pack(_x))
103
+ length = len(self.data)
104
+ buff.write(_struct_I.pack(length))
105
+ pattern = '<%sh'%length
106
+ buff.write(struct.Struct(pattern).pack(*self.data))
107
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
108
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
109
+
110
+ def deserialize(self, str):
111
+ """
112
+ unpack serialized message in str into this message instance
113
+ :param str: byte array of serialized message, ``str``
114
+ """
115
+ if python3:
116
+ codecs.lookup_error("rosmsg").msg_type = self._type
117
+ try:
118
+ if self.header is None:
119
+ self.header = std_msgs.msg.Header()
120
+ end = 0
121
+ _x = self
122
+ start = end
123
+ end += 12
124
+ (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
125
+ start = end
126
+ end += 4
127
+ (length,) = _struct_I.unpack(str[start:end])
128
+ start = end
129
+ end += length
130
+ if python3:
131
+ self.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
132
+ else:
133
+ self.header.frame_id = str[start:end]
134
+ start = end
135
+ end += 1
136
+ (self.control_mode,) = _get_struct_b().unpack(str[start:end])
137
+ start = end
138
+ end += 4
139
+ (length,) = _struct_I.unpack(str[start:end])
140
+ pattern = '<%sh'%length
141
+ start = end
142
+ s = struct.Struct(pattern)
143
+ end += s.size
144
+ self.data = s.unpack(str[start:end])
145
+ return self
146
+ except struct.error as e:
147
+ raise genpy.DeserializationError(e) # most likely buffer underfill
148
+
149
+
150
+ def serialize_numpy(self, buff, numpy):
151
+ """
152
+ serialize message with numpy array types into buffer
153
+ :param buff: buffer, ``StringIO``
154
+ :param numpy: numpy python module
155
+ """
156
+ try:
157
+ _x = self
158
+ buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
159
+ _x = self.header.frame_id
160
+ length = len(_x)
161
+ if python3 or type(_x) == unicode:
162
+ _x = _x.encode('utf-8')
163
+ length = len(_x)
164
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
165
+ _x = self.control_mode
166
+ buff.write(_get_struct_b().pack(_x))
167
+ length = len(self.data)
168
+ buff.write(_struct_I.pack(length))
169
+ pattern = '<%sh'%length
170
+ buff.write(self.data.tostring())
171
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
172
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
173
+
174
+ def deserialize_numpy(self, str, numpy):
175
+ """
176
+ unpack serialized message in str into this message instance using numpy for array types
177
+ :param str: byte array of serialized message, ``str``
178
+ :param numpy: numpy python module
179
+ """
180
+ if python3:
181
+ codecs.lookup_error("rosmsg").msg_type = self._type
182
+ try:
183
+ if self.header is None:
184
+ self.header = std_msgs.msg.Header()
185
+ end = 0
186
+ _x = self
187
+ start = end
188
+ end += 12
189
+ (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
190
+ start = end
191
+ end += 4
192
+ (length,) = _struct_I.unpack(str[start:end])
193
+ start = end
194
+ end += length
195
+ if python3:
196
+ self.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
197
+ else:
198
+ self.header.frame_id = str[start:end]
199
+ start = end
200
+ end += 1
201
+ (self.control_mode,) = _get_struct_b().unpack(str[start:end])
202
+ start = end
203
+ end += 4
204
+ (length,) = _struct_I.unpack(str[start:end])
205
+ pattern = '<%sh'%length
206
+ start = end
207
+ s = struct.Struct(pattern)
208
+ end += s.size
209
+ self.data = numpy.frombuffer(str[start:end], dtype=numpy.int16, count=length)
210
+ return self
211
+ except struct.error as e:
212
+ raise genpy.DeserializationError(e) # most likely buffer underfill
213
+
214
+ _struct_I = genpy.struct_I
215
+ def _get_struct_I():
216
+ global _struct_I
217
+ return _struct_I
218
+ _struct_3I = None
219
+ def _get_struct_3I():
220
+ global _struct_3I
221
+ if _struct_3I is None:
222
+ _struct_3I = struct.Struct("<3I")
223
+ return _struct_3I
224
+ _struct_b = None
225
+ def _get_struct_b():
226
+ global _struct_b
227
+ if _struct_b is None:
228
+ _struct_b = struct.Struct("<b")
229
+ return _struct_b
@@ -0,0 +1,256 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/dexhandTouchState.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 dexhandTouchState(genpy.Message):
13
+ _md5sum = "ce777577e1167705dca90d1f63037a05"
14
+ _type = "kuavo_msgs/dexhandTouchState"
15
+ _has_header = True # flag to mark the presence of a Header object
16
+ _full_text = """std_msgs/Header header
17
+ kuavo_msgs/touchSensorStatus[5] left_hand
18
+ kuavo_msgs/touchSensorStatus[5] right_hand
19
+
20
+ ================================================================================
21
+ MSG: std_msgs/Header
22
+ # Standard metadata for higher-level stamped data types.
23
+ # This is generally used to communicate timestamped data
24
+ # in a particular coordinate frame.
25
+ #
26
+ # sequence ID: consecutively increasing ID
27
+ uint32 seq
28
+ #Two-integer timestamp that is expressed as:
29
+ # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')
30
+ # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')
31
+ # time-handling sugar is provided by the client library
32
+ time stamp
33
+ #Frame this data is associated with
34
+ string frame_id
35
+
36
+ ================================================================================
37
+ MSG: kuavo_msgs/touchSensorStatus
38
+ uint16 normal_force1 # 法向力1
39
+ uint16 normal_force2 # 法向力2
40
+ uint16 normal_force3 # 法向力3
41
+ uint16 tangential_force1 # 切向力1
42
+ uint16 tangential_force2 # 切向力2
43
+ uint16 tangential_force3 # 切向力3
44
+ uint16 tangential_direction1 # 切向力方向1
45
+ uint16 tangential_direction2 # 切向力方向2
46
+ uint16 tangential_direction3 # 切向力方向3
47
+ uint32 self_proximity1 # 自电容接近传感器1
48
+ uint32 self_proximity2 # 自电容接近传感器2
49
+ uint32 mutual_proximity # 互电容接近传感器
50
+ uint16 status # 传感器状态"""
51
+ __slots__ = ['header','left_hand','right_hand']
52
+ _slot_types = ['std_msgs/Header','kuavo_msgs/touchSensorStatus[5]','kuavo_msgs/touchSensorStatus[5]']
53
+
54
+ def __init__(self, *args, **kwds):
55
+ """
56
+ Constructor. Any message fields that are implicitly/explicitly
57
+ set to None will be assigned a default value. The recommend
58
+ use is keyword arguments as this is more robust to future message
59
+ changes. You cannot mix in-order arguments and keyword arguments.
60
+
61
+ The available fields are:
62
+ header,left_hand,right_hand
63
+
64
+ :param args: complete set of field values, in .msg order
65
+ :param kwds: use keyword arguments corresponding to message field names
66
+ to set specific fields.
67
+ """
68
+ if args or kwds:
69
+ super(dexhandTouchState, self).__init__(*args, **kwds)
70
+ # message fields cannot be None, assign default values for those that are
71
+ if self.header is None:
72
+ self.header = std_msgs.msg.Header()
73
+ if self.left_hand is None:
74
+ self.left_hand = [kuavo_msgs.msg.touchSensorStatus() for _ in range(5)]
75
+ if self.right_hand is None:
76
+ self.right_hand = [kuavo_msgs.msg.touchSensorStatus() for _ in range(5)]
77
+ else:
78
+ self.header = std_msgs.msg.Header()
79
+ self.left_hand = [kuavo_msgs.msg.touchSensorStatus() for _ in range(5)]
80
+ self.right_hand = [kuavo_msgs.msg.touchSensorStatus() for _ in range(5)]
81
+
82
+ def _get_types(self):
83
+ """
84
+ internal API method
85
+ """
86
+ return self._slot_types
87
+
88
+ def serialize(self, buff):
89
+ """
90
+ serialize message into buffer
91
+ :param buff: buffer, ``StringIO``
92
+ """
93
+ try:
94
+ _x = self
95
+ buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
96
+ _x = self.header.frame_id
97
+ length = len(_x)
98
+ if python3 or type(_x) == unicode:
99
+ _x = _x.encode('utf-8')
100
+ length = len(_x)
101
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
102
+ if len(self.left_hand) != 5:
103
+ self._check_types(ValueError("Expecting %s items but found %s when writing '%s'" % (5, len(self.left_hand), 'self.left_hand')))
104
+ for val1 in self.left_hand:
105
+ _x = val1
106
+ buff.write(_get_struct_9H3IH().pack(_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status))
107
+ if len(self.right_hand) != 5:
108
+ self._check_types(ValueError("Expecting %s items but found %s when writing '%s'" % (5, len(self.right_hand), 'self.right_hand')))
109
+ for val1 in self.right_hand:
110
+ _x = val1
111
+ buff.write(_get_struct_9H3IH().pack(_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status))
112
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
113
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
114
+
115
+ def deserialize(self, str):
116
+ """
117
+ unpack serialized message in str into this message instance
118
+ :param str: byte array of serialized message, ``str``
119
+ """
120
+ if python3:
121
+ codecs.lookup_error("rosmsg").msg_type = self._type
122
+ try:
123
+ if self.header is None:
124
+ self.header = std_msgs.msg.Header()
125
+ if self.left_hand is None:
126
+ self.left_hand = None
127
+ if self.right_hand is None:
128
+ self.right_hand = None
129
+ end = 0
130
+ _x = self
131
+ start = end
132
+ end += 12
133
+ (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
134
+ start = end
135
+ end += 4
136
+ (length,) = _struct_I.unpack(str[start:end])
137
+ start = end
138
+ end += length
139
+ if python3:
140
+ self.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
141
+ else:
142
+ self.header.frame_id = str[start:end]
143
+ self.left_hand = []
144
+ for i in range(0, 5):
145
+ val1 = kuavo_msgs.msg.touchSensorStatus()
146
+ _x = val1
147
+ start = end
148
+ end += 32
149
+ (_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status,) = _get_struct_9H3IH().unpack(str[start:end])
150
+ self.left_hand.append(val1)
151
+ self.right_hand = []
152
+ for i in range(0, 5):
153
+ val1 = kuavo_msgs.msg.touchSensorStatus()
154
+ _x = val1
155
+ start = end
156
+ end += 32
157
+ (_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status,) = _get_struct_9H3IH().unpack(str[start:end])
158
+ self.right_hand.append(val1)
159
+ return self
160
+ except struct.error as e:
161
+ raise genpy.DeserializationError(e) # most likely buffer underfill
162
+
163
+
164
+ def serialize_numpy(self, buff, numpy):
165
+ """
166
+ serialize message with numpy array types into buffer
167
+ :param buff: buffer, ``StringIO``
168
+ :param numpy: numpy python module
169
+ """
170
+ try:
171
+ _x = self
172
+ buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
173
+ _x = self.header.frame_id
174
+ length = len(_x)
175
+ if python3 or type(_x) == unicode:
176
+ _x = _x.encode('utf-8')
177
+ length = len(_x)
178
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
179
+ if len(self.left_hand) != 5:
180
+ self._check_types(ValueError("Expecting %s items but found %s when writing '%s'" % (5, len(self.left_hand), 'self.left_hand')))
181
+ for val1 in self.left_hand:
182
+ _x = val1
183
+ buff.write(_get_struct_9H3IH().pack(_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status))
184
+ if len(self.right_hand) != 5:
185
+ self._check_types(ValueError("Expecting %s items but found %s when writing '%s'" % (5, len(self.right_hand), 'self.right_hand')))
186
+ for val1 in self.right_hand:
187
+ _x = val1
188
+ buff.write(_get_struct_9H3IH().pack(_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status))
189
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
190
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
191
+
192
+ def deserialize_numpy(self, str, numpy):
193
+ """
194
+ unpack serialized message in str into this message instance using numpy for array types
195
+ :param str: byte array of serialized message, ``str``
196
+ :param numpy: numpy python module
197
+ """
198
+ if python3:
199
+ codecs.lookup_error("rosmsg").msg_type = self._type
200
+ try:
201
+ if self.header is None:
202
+ self.header = std_msgs.msg.Header()
203
+ if self.left_hand is None:
204
+ self.left_hand = None
205
+ if self.right_hand is None:
206
+ self.right_hand = None
207
+ end = 0
208
+ _x = self
209
+ start = end
210
+ end += 12
211
+ (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
212
+ start = end
213
+ end += 4
214
+ (length,) = _struct_I.unpack(str[start:end])
215
+ start = end
216
+ end += length
217
+ if python3:
218
+ self.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
219
+ else:
220
+ self.header.frame_id = str[start:end]
221
+ self.left_hand = []
222
+ for i in range(0, 5):
223
+ val1 = kuavo_msgs.msg.touchSensorStatus()
224
+ _x = val1
225
+ start = end
226
+ end += 32
227
+ (_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status,) = _get_struct_9H3IH().unpack(str[start:end])
228
+ self.left_hand.append(val1)
229
+ self.right_hand = []
230
+ for i in range(0, 5):
231
+ val1 = kuavo_msgs.msg.touchSensorStatus()
232
+ _x = val1
233
+ start = end
234
+ end += 32
235
+ (_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status,) = _get_struct_9H3IH().unpack(str[start:end])
236
+ self.right_hand.append(val1)
237
+ return self
238
+ except struct.error as e:
239
+ raise genpy.DeserializationError(e) # most likely buffer underfill
240
+
241
+ _struct_I = genpy.struct_I
242
+ def _get_struct_I():
243
+ global _struct_I
244
+ return _struct_I
245
+ _struct_3I = None
246
+ def _get_struct_3I():
247
+ global _struct_3I
248
+ if _struct_3I is None:
249
+ _struct_3I = struct.Struct("<3I")
250
+ return _struct_3I
251
+ _struct_9H3IH = None
252
+ def _get_struct_9H3IH():
253
+ global _struct_9H3IH
254
+ if _struct_9H3IH is None:
255
+ _struct_9H3IH = struct.Struct("<9H3IH")
256
+ return _struct_9H3IH