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,264 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/MmDetectionMsg.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 MmDetectionMsg(genpy.Message):
12
+ _md5sum = "ae9783b5c89ddfd7442af5018fe3e2e1"
13
+ _type = "kuavo_msgs/MmDetectionMsg"
14
+ _has_header = True # flag to mark the presence of a Header object
15
+ _full_text = """# Mobile Manipulator Detection Message
16
+ # This message provides structured anomaly detection results for mobile manipulator policy tracking
17
+
18
+ # Header for timestamping
19
+ Header header
20
+
21
+ # Overall anomaly detection result
22
+ bool hasAnomaly
23
+
24
+ # First type detection: Trajectory-level position error metrics
25
+ # Compares entire policy trajectory with target trajectory
26
+ float64 trajectoryPositionErrorMax
27
+ float64 trajectoryPositionErrorAvg
28
+ bool trajectoryPositionMaxThresholdExceeded
29
+ bool trajectoryPositionAvgThresholdExceeded
30
+
31
+ # First type detection: Trajectory-level orientation error metrics
32
+ # Compares entire policy trajectory with target trajectory
33
+ float64 trajectoryOrientationErrorMax
34
+ float64 trajectoryOrientationErrorAvg
35
+ bool trajectoryOrientationMaxThresholdExceeded
36
+ bool trajectoryOrientationAvgThresholdExceeded
37
+
38
+ # Second type detection: Velocity magnitude threshold detection
39
+ # Directly checks policy inputTrajectory velocity magnitudes
40
+ float64 velocityMagnitudeAvg
41
+ float64 velocityMagnitudeMax
42
+ bool velocityAvgThresholdExceeded
43
+ bool velocityMaxThresholdExceeded
44
+ ================================================================================
45
+ MSG: std_msgs/Header
46
+ # Standard metadata for higher-level stamped data types.
47
+ # This is generally used to communicate timestamped data
48
+ # in a particular coordinate frame.
49
+ #
50
+ # sequence ID: consecutively increasing ID
51
+ uint32 seq
52
+ #Two-integer timestamp that is expressed as:
53
+ # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')
54
+ # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')
55
+ # time-handling sugar is provided by the client library
56
+ time stamp
57
+ #Frame this data is associated with
58
+ string frame_id
59
+ """
60
+ __slots__ = ['header','hasAnomaly','trajectoryPositionErrorMax','trajectoryPositionErrorAvg','trajectoryPositionMaxThresholdExceeded','trajectoryPositionAvgThresholdExceeded','trajectoryOrientationErrorMax','trajectoryOrientationErrorAvg','trajectoryOrientationMaxThresholdExceeded','trajectoryOrientationAvgThresholdExceeded','velocityMagnitudeAvg','velocityMagnitudeMax','velocityAvgThresholdExceeded','velocityMaxThresholdExceeded']
61
+ _slot_types = ['std_msgs/Header','bool','float64','float64','bool','bool','float64','float64','bool','bool','float64','float64','bool','bool']
62
+
63
+ def __init__(self, *args, **kwds):
64
+ """
65
+ Constructor. Any message fields that are implicitly/explicitly
66
+ set to None will be assigned a default value. The recommend
67
+ use is keyword arguments as this is more robust to future message
68
+ changes. You cannot mix in-order arguments and keyword arguments.
69
+
70
+ The available fields are:
71
+ header,hasAnomaly,trajectoryPositionErrorMax,trajectoryPositionErrorAvg,trajectoryPositionMaxThresholdExceeded,trajectoryPositionAvgThresholdExceeded,trajectoryOrientationErrorMax,trajectoryOrientationErrorAvg,trajectoryOrientationMaxThresholdExceeded,trajectoryOrientationAvgThresholdExceeded,velocityMagnitudeAvg,velocityMagnitudeMax,velocityAvgThresholdExceeded,velocityMaxThresholdExceeded
72
+
73
+ :param args: complete set of field values, in .msg order
74
+ :param kwds: use keyword arguments corresponding to message field names
75
+ to set specific fields.
76
+ """
77
+ if args or kwds:
78
+ super(MmDetectionMsg, self).__init__(*args, **kwds)
79
+ # message fields cannot be None, assign default values for those that are
80
+ if self.header is None:
81
+ self.header = std_msgs.msg.Header()
82
+ if self.hasAnomaly is None:
83
+ self.hasAnomaly = False
84
+ if self.trajectoryPositionErrorMax is None:
85
+ self.trajectoryPositionErrorMax = 0.
86
+ if self.trajectoryPositionErrorAvg is None:
87
+ self.trajectoryPositionErrorAvg = 0.
88
+ if self.trajectoryPositionMaxThresholdExceeded is None:
89
+ self.trajectoryPositionMaxThresholdExceeded = False
90
+ if self.trajectoryPositionAvgThresholdExceeded is None:
91
+ self.trajectoryPositionAvgThresholdExceeded = False
92
+ if self.trajectoryOrientationErrorMax is None:
93
+ self.trajectoryOrientationErrorMax = 0.
94
+ if self.trajectoryOrientationErrorAvg is None:
95
+ self.trajectoryOrientationErrorAvg = 0.
96
+ if self.trajectoryOrientationMaxThresholdExceeded is None:
97
+ self.trajectoryOrientationMaxThresholdExceeded = False
98
+ if self.trajectoryOrientationAvgThresholdExceeded is None:
99
+ self.trajectoryOrientationAvgThresholdExceeded = False
100
+ if self.velocityMagnitudeAvg is None:
101
+ self.velocityMagnitudeAvg = 0.
102
+ if self.velocityMagnitudeMax is None:
103
+ self.velocityMagnitudeMax = 0.
104
+ if self.velocityAvgThresholdExceeded is None:
105
+ self.velocityAvgThresholdExceeded = False
106
+ if self.velocityMaxThresholdExceeded is None:
107
+ self.velocityMaxThresholdExceeded = False
108
+ else:
109
+ self.header = std_msgs.msg.Header()
110
+ self.hasAnomaly = False
111
+ self.trajectoryPositionErrorMax = 0.
112
+ self.trajectoryPositionErrorAvg = 0.
113
+ self.trajectoryPositionMaxThresholdExceeded = False
114
+ self.trajectoryPositionAvgThresholdExceeded = False
115
+ self.trajectoryOrientationErrorMax = 0.
116
+ self.trajectoryOrientationErrorAvg = 0.
117
+ self.trajectoryOrientationMaxThresholdExceeded = False
118
+ self.trajectoryOrientationAvgThresholdExceeded = False
119
+ self.velocityMagnitudeAvg = 0.
120
+ self.velocityMagnitudeMax = 0.
121
+ self.velocityAvgThresholdExceeded = False
122
+ self.velocityMaxThresholdExceeded = False
123
+
124
+ def _get_types(self):
125
+ """
126
+ internal API method
127
+ """
128
+ return self._slot_types
129
+
130
+ def serialize(self, buff):
131
+ """
132
+ serialize message into buffer
133
+ :param buff: buffer, ``StringIO``
134
+ """
135
+ try:
136
+ _x = self
137
+ buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
138
+ _x = self.header.frame_id
139
+ length = len(_x)
140
+ if python3 or type(_x) == unicode:
141
+ _x = _x.encode('utf-8')
142
+ length = len(_x)
143
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
144
+ _x = self
145
+ buff.write(_get_struct_B2d2B2d2B2d2B().pack(_x.hasAnomaly, _x.trajectoryPositionErrorMax, _x.trajectoryPositionErrorAvg, _x.trajectoryPositionMaxThresholdExceeded, _x.trajectoryPositionAvgThresholdExceeded, _x.trajectoryOrientationErrorMax, _x.trajectoryOrientationErrorAvg, _x.trajectoryOrientationMaxThresholdExceeded, _x.trajectoryOrientationAvgThresholdExceeded, _x.velocityMagnitudeAvg, _x.velocityMagnitudeMax, _x.velocityAvgThresholdExceeded, _x.velocityMaxThresholdExceeded))
146
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
147
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
148
+
149
+ def deserialize(self, str):
150
+ """
151
+ unpack serialized message in str into this message instance
152
+ :param str: byte array of serialized message, ``str``
153
+ """
154
+ if python3:
155
+ codecs.lookup_error("rosmsg").msg_type = self._type
156
+ try:
157
+ if self.header is None:
158
+ self.header = std_msgs.msg.Header()
159
+ end = 0
160
+ _x = self
161
+ start = end
162
+ end += 12
163
+ (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
164
+ start = end
165
+ end += 4
166
+ (length,) = _struct_I.unpack(str[start:end])
167
+ start = end
168
+ end += length
169
+ if python3:
170
+ self.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
171
+ else:
172
+ self.header.frame_id = str[start:end]
173
+ _x = self
174
+ start = end
175
+ end += 55
176
+ (_x.hasAnomaly, _x.trajectoryPositionErrorMax, _x.trajectoryPositionErrorAvg, _x.trajectoryPositionMaxThresholdExceeded, _x.trajectoryPositionAvgThresholdExceeded, _x.trajectoryOrientationErrorMax, _x.trajectoryOrientationErrorAvg, _x.trajectoryOrientationMaxThresholdExceeded, _x.trajectoryOrientationAvgThresholdExceeded, _x.velocityMagnitudeAvg, _x.velocityMagnitudeMax, _x.velocityAvgThresholdExceeded, _x.velocityMaxThresholdExceeded,) = _get_struct_B2d2B2d2B2d2B().unpack(str[start:end])
177
+ self.hasAnomaly = bool(self.hasAnomaly)
178
+ self.trajectoryPositionMaxThresholdExceeded = bool(self.trajectoryPositionMaxThresholdExceeded)
179
+ self.trajectoryPositionAvgThresholdExceeded = bool(self.trajectoryPositionAvgThresholdExceeded)
180
+ self.trajectoryOrientationMaxThresholdExceeded = bool(self.trajectoryOrientationMaxThresholdExceeded)
181
+ self.trajectoryOrientationAvgThresholdExceeded = bool(self.trajectoryOrientationAvgThresholdExceeded)
182
+ self.velocityAvgThresholdExceeded = bool(self.velocityAvgThresholdExceeded)
183
+ self.velocityMaxThresholdExceeded = bool(self.velocityMaxThresholdExceeded)
184
+ return self
185
+ except struct.error as e:
186
+ raise genpy.DeserializationError(e) # most likely buffer underfill
187
+
188
+
189
+ def serialize_numpy(self, buff, numpy):
190
+ """
191
+ serialize message with numpy array types into buffer
192
+ :param buff: buffer, ``StringIO``
193
+ :param numpy: numpy python module
194
+ """
195
+ try:
196
+ _x = self
197
+ buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
198
+ _x = self.header.frame_id
199
+ length = len(_x)
200
+ if python3 or type(_x) == unicode:
201
+ _x = _x.encode('utf-8')
202
+ length = len(_x)
203
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
204
+ _x = self
205
+ buff.write(_get_struct_B2d2B2d2B2d2B().pack(_x.hasAnomaly, _x.trajectoryPositionErrorMax, _x.trajectoryPositionErrorAvg, _x.trajectoryPositionMaxThresholdExceeded, _x.trajectoryPositionAvgThresholdExceeded, _x.trajectoryOrientationErrorMax, _x.trajectoryOrientationErrorAvg, _x.trajectoryOrientationMaxThresholdExceeded, _x.trajectoryOrientationAvgThresholdExceeded, _x.velocityMagnitudeAvg, _x.velocityMagnitudeMax, _x.velocityAvgThresholdExceeded, _x.velocityMaxThresholdExceeded))
206
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
207
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
208
+
209
+ def deserialize_numpy(self, str, numpy):
210
+ """
211
+ unpack serialized message in str into this message instance using numpy for array types
212
+ :param str: byte array of serialized message, ``str``
213
+ :param numpy: numpy python module
214
+ """
215
+ if python3:
216
+ codecs.lookup_error("rosmsg").msg_type = self._type
217
+ try:
218
+ if self.header is None:
219
+ self.header = std_msgs.msg.Header()
220
+ end = 0
221
+ _x = self
222
+ start = end
223
+ end += 12
224
+ (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
225
+ start = end
226
+ end += 4
227
+ (length,) = _struct_I.unpack(str[start:end])
228
+ start = end
229
+ end += length
230
+ if python3:
231
+ self.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
232
+ else:
233
+ self.header.frame_id = str[start:end]
234
+ _x = self
235
+ start = end
236
+ end += 55
237
+ (_x.hasAnomaly, _x.trajectoryPositionErrorMax, _x.trajectoryPositionErrorAvg, _x.trajectoryPositionMaxThresholdExceeded, _x.trajectoryPositionAvgThresholdExceeded, _x.trajectoryOrientationErrorMax, _x.trajectoryOrientationErrorAvg, _x.trajectoryOrientationMaxThresholdExceeded, _x.trajectoryOrientationAvgThresholdExceeded, _x.velocityMagnitudeAvg, _x.velocityMagnitudeMax, _x.velocityAvgThresholdExceeded, _x.velocityMaxThresholdExceeded,) = _get_struct_B2d2B2d2B2d2B().unpack(str[start:end])
238
+ self.hasAnomaly = bool(self.hasAnomaly)
239
+ self.trajectoryPositionMaxThresholdExceeded = bool(self.trajectoryPositionMaxThresholdExceeded)
240
+ self.trajectoryPositionAvgThresholdExceeded = bool(self.trajectoryPositionAvgThresholdExceeded)
241
+ self.trajectoryOrientationMaxThresholdExceeded = bool(self.trajectoryOrientationMaxThresholdExceeded)
242
+ self.trajectoryOrientationAvgThresholdExceeded = bool(self.trajectoryOrientationAvgThresholdExceeded)
243
+ self.velocityAvgThresholdExceeded = bool(self.velocityAvgThresholdExceeded)
244
+ self.velocityMaxThresholdExceeded = bool(self.velocityMaxThresholdExceeded)
245
+ return self
246
+ except struct.error as e:
247
+ raise genpy.DeserializationError(e) # most likely buffer underfill
248
+
249
+ _struct_I = genpy.struct_I
250
+ def _get_struct_I():
251
+ global _struct_I
252
+ return _struct_I
253
+ _struct_3I = None
254
+ def _get_struct_3I():
255
+ global _struct_3I
256
+ if _struct_3I is None:
257
+ _struct_3I = struct.Struct("<3I")
258
+ return _struct_3I
259
+ _struct_B2d2B2d2B2d2B = None
260
+ def _get_struct_B2d2B2d2B2d2B():
261
+ global _struct_B2d2B2d2B2d2B
262
+ if _struct_B2d2B2d2B2d2B is None:
263
+ _struct_B2d2B2d2B2d2B = struct.Struct("<B2d2B2d2B2d2B")
264
+ return _struct_B2d2B2d2B2d2B
@@ -0,0 +1,112 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/RobotActionState.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
+
10
+ class RobotActionState(genpy.Message):
11
+ _md5sum = "800f34bc468def1d86e2d42bea5648c0"
12
+ _type = "kuavo_msgs/RobotActionState"
13
+ _has_header = False # flag to mark the presence of a Header object
14
+ _full_text = """uint8 state """
15
+ __slots__ = ['state']
16
+ _slot_types = ['uint8']
17
+
18
+ def __init__(self, *args, **kwds):
19
+ """
20
+ Constructor. Any message fields that are implicitly/explicitly
21
+ set to None will be assigned a default value. The recommend
22
+ use is keyword arguments as this is more robust to future message
23
+ changes. You cannot mix in-order arguments and keyword arguments.
24
+
25
+ The available fields are:
26
+ state
27
+
28
+ :param args: complete set of field values, in .msg order
29
+ :param kwds: use keyword arguments corresponding to message field names
30
+ to set specific fields.
31
+ """
32
+ if args or kwds:
33
+ super(RobotActionState, self).__init__(*args, **kwds)
34
+ # message fields cannot be None, assign default values for those that are
35
+ if self.state is None:
36
+ self.state = 0
37
+ else:
38
+ self.state = 0
39
+
40
+ def _get_types(self):
41
+ """
42
+ internal API method
43
+ """
44
+ return self._slot_types
45
+
46
+ def serialize(self, buff):
47
+ """
48
+ serialize message into buffer
49
+ :param buff: buffer, ``StringIO``
50
+ """
51
+ try:
52
+ _x = self.state
53
+ buff.write(_get_struct_B().pack(_x))
54
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
55
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
56
+
57
+ def deserialize(self, str):
58
+ """
59
+ unpack serialized message in str into this message instance
60
+ :param str: byte array of serialized message, ``str``
61
+ """
62
+ if python3:
63
+ codecs.lookup_error("rosmsg").msg_type = self._type
64
+ try:
65
+ end = 0
66
+ start = end
67
+ end += 1
68
+ (self.state,) = _get_struct_B().unpack(str[start:end])
69
+ return self
70
+ except struct.error as e:
71
+ raise genpy.DeserializationError(e) # most likely buffer underfill
72
+
73
+
74
+ def serialize_numpy(self, buff, numpy):
75
+ """
76
+ serialize message with numpy array types into buffer
77
+ :param buff: buffer, ``StringIO``
78
+ :param numpy: numpy python module
79
+ """
80
+ try:
81
+ _x = self.state
82
+ buff.write(_get_struct_B().pack(_x))
83
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
84
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
85
+
86
+ def deserialize_numpy(self, str, numpy):
87
+ """
88
+ unpack serialized message in str into this message instance using numpy for array types
89
+ :param str: byte array of serialized message, ``str``
90
+ :param numpy: numpy python module
91
+ """
92
+ if python3:
93
+ codecs.lookup_error("rosmsg").msg_type = self._type
94
+ try:
95
+ end = 0
96
+ start = end
97
+ end += 1
98
+ (self.state,) = _get_struct_B().unpack(str[start:end])
99
+ return self
100
+ except struct.error as e:
101
+ raise genpy.DeserializationError(e) # most likely buffer underfill
102
+
103
+ _struct_I = genpy.struct_I
104
+ def _get_struct_I():
105
+ global _struct_I
106
+ return _struct_I
107
+ _struct_B = None
108
+ def _get_struct_B():
109
+ global _struct_B
110
+ if _struct_B is None:
111
+ _struct_B = struct.Struct("<B")
112
+ return _struct_B
@@ -0,0 +1,323 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/TFArray.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 geometry_msgs.msg
10
+ import std_msgs.msg
11
+
12
+ class TFArray(genpy.Message):
13
+ _md5sum = "94810edda583a504dfda3829e70d7eec"
14
+ _type = "kuavo_msgs/TFArray"
15
+ _has_header = False # flag to mark the presence of a Header object
16
+ _full_text = """geometry_msgs/TransformStamped[] transforms
17
+ ================================================================================
18
+ MSG: geometry_msgs/TransformStamped
19
+ # This expresses a transform from coordinate frame header.frame_id
20
+ # to the coordinate frame child_frame_id
21
+ #
22
+ # This message is mostly used by the
23
+ # <a href="http://wiki.ros.org/tf">tf</a> package.
24
+ # See its documentation for more information.
25
+
26
+ Header header
27
+ string child_frame_id # the frame id of the child frame
28
+ Transform transform
29
+
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
+ ================================================================================
47
+ MSG: geometry_msgs/Transform
48
+ # This represents the transform between two coordinate frames in free space.
49
+
50
+ Vector3 translation
51
+ Quaternion rotation
52
+
53
+ ================================================================================
54
+ MSG: geometry_msgs/Vector3
55
+ # This represents a vector in free space.
56
+ # It is only meant to represent a direction. Therefore, it does not
57
+ # make sense to apply a translation to it (e.g., when applying a
58
+ # generic rigid transformation to a Vector3, tf2 will only apply the
59
+ # rotation). If you want your data to be translatable too, use the
60
+ # geometry_msgs/Point message instead.
61
+
62
+ float64 x
63
+ float64 y
64
+ float64 z
65
+ ================================================================================
66
+ MSG: geometry_msgs/Quaternion
67
+ # This represents an orientation in free space in quaternion form.
68
+
69
+ float64 x
70
+ float64 y
71
+ float64 z
72
+ float64 w
73
+ """
74
+ __slots__ = ['transforms']
75
+ _slot_types = ['geometry_msgs/TransformStamped[]']
76
+
77
+ def __init__(self, *args, **kwds):
78
+ """
79
+ Constructor. Any message fields that are implicitly/explicitly
80
+ set to None will be assigned a default value. The recommend
81
+ use is keyword arguments as this is more robust to future message
82
+ changes. You cannot mix in-order arguments and keyword arguments.
83
+
84
+ The available fields are:
85
+ transforms
86
+
87
+ :param args: complete set of field values, in .msg order
88
+ :param kwds: use keyword arguments corresponding to message field names
89
+ to set specific fields.
90
+ """
91
+ if args or kwds:
92
+ super(TFArray, self).__init__(*args, **kwds)
93
+ # message fields cannot be None, assign default values for those that are
94
+ if self.transforms is None:
95
+ self.transforms = []
96
+ else:
97
+ self.transforms = []
98
+
99
+ def _get_types(self):
100
+ """
101
+ internal API method
102
+ """
103
+ return self._slot_types
104
+
105
+ def serialize(self, buff):
106
+ """
107
+ serialize message into buffer
108
+ :param buff: buffer, ``StringIO``
109
+ """
110
+ try:
111
+ length = len(self.transforms)
112
+ buff.write(_struct_I.pack(length))
113
+ for val1 in self.transforms:
114
+ _v1 = val1.header
115
+ _x = _v1.seq
116
+ buff.write(_get_struct_I().pack(_x))
117
+ _v2 = _v1.stamp
118
+ _x = _v2
119
+ buff.write(_get_struct_2I().pack(_x.secs, _x.nsecs))
120
+ _x = _v1.frame_id
121
+ length = len(_x)
122
+ if python3 or type(_x) == unicode:
123
+ _x = _x.encode('utf-8')
124
+ length = len(_x)
125
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
126
+ _x = val1.child_frame_id
127
+ length = len(_x)
128
+ if python3 or type(_x) == unicode:
129
+ _x = _x.encode('utf-8')
130
+ length = len(_x)
131
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
132
+ _v3 = val1.transform
133
+ _v4 = _v3.translation
134
+ _x = _v4
135
+ buff.write(_get_struct_3d().pack(_x.x, _x.y, _x.z))
136
+ _v5 = _v3.rotation
137
+ _x = _v5
138
+ buff.write(_get_struct_4d().pack(_x.x, _x.y, _x.z, _x.w))
139
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
140
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
141
+
142
+ def deserialize(self, str):
143
+ """
144
+ unpack serialized message in str into this message instance
145
+ :param str: byte array of serialized message, ``str``
146
+ """
147
+ if python3:
148
+ codecs.lookup_error("rosmsg").msg_type = self._type
149
+ try:
150
+ if self.transforms is None:
151
+ self.transforms = None
152
+ end = 0
153
+ start = end
154
+ end += 4
155
+ (length,) = _struct_I.unpack(str[start:end])
156
+ self.transforms = []
157
+ for i in range(0, length):
158
+ val1 = geometry_msgs.msg.TransformStamped()
159
+ _v6 = val1.header
160
+ start = end
161
+ end += 4
162
+ (_v6.seq,) = _get_struct_I().unpack(str[start:end])
163
+ _v7 = _v6.stamp
164
+ _x = _v7
165
+ start = end
166
+ end += 8
167
+ (_x.secs, _x.nsecs,) = _get_struct_2I().unpack(str[start:end])
168
+ start = end
169
+ end += 4
170
+ (length,) = _struct_I.unpack(str[start:end])
171
+ start = end
172
+ end += length
173
+ if python3:
174
+ _v6.frame_id = str[start:end].decode('utf-8', 'rosmsg')
175
+ else:
176
+ _v6.frame_id = str[start:end]
177
+ start = end
178
+ end += 4
179
+ (length,) = _struct_I.unpack(str[start:end])
180
+ start = end
181
+ end += length
182
+ if python3:
183
+ val1.child_frame_id = str[start:end].decode('utf-8', 'rosmsg')
184
+ else:
185
+ val1.child_frame_id = str[start:end]
186
+ _v8 = val1.transform
187
+ _v9 = _v8.translation
188
+ _x = _v9
189
+ start = end
190
+ end += 24
191
+ (_x.x, _x.y, _x.z,) = _get_struct_3d().unpack(str[start:end])
192
+ _v10 = _v8.rotation
193
+ _x = _v10
194
+ start = end
195
+ end += 32
196
+ (_x.x, _x.y, _x.z, _x.w,) = _get_struct_4d().unpack(str[start:end])
197
+ self.transforms.append(val1)
198
+ return self
199
+ except struct.error as e:
200
+ raise genpy.DeserializationError(e) # most likely buffer underfill
201
+
202
+
203
+ def serialize_numpy(self, buff, numpy):
204
+ """
205
+ serialize message with numpy array types into buffer
206
+ :param buff: buffer, ``StringIO``
207
+ :param numpy: numpy python module
208
+ """
209
+ try:
210
+ length = len(self.transforms)
211
+ buff.write(_struct_I.pack(length))
212
+ for val1 in self.transforms:
213
+ _v11 = val1.header
214
+ _x = _v11.seq
215
+ buff.write(_get_struct_I().pack(_x))
216
+ _v12 = _v11.stamp
217
+ _x = _v12
218
+ buff.write(_get_struct_2I().pack(_x.secs, _x.nsecs))
219
+ _x = _v11.frame_id
220
+ length = len(_x)
221
+ if python3 or type(_x) == unicode:
222
+ _x = _x.encode('utf-8')
223
+ length = len(_x)
224
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
225
+ _x = val1.child_frame_id
226
+ length = len(_x)
227
+ if python3 or type(_x) == unicode:
228
+ _x = _x.encode('utf-8')
229
+ length = len(_x)
230
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
231
+ _v13 = val1.transform
232
+ _v14 = _v13.translation
233
+ _x = _v14
234
+ buff.write(_get_struct_3d().pack(_x.x, _x.y, _x.z))
235
+ _v15 = _v13.rotation
236
+ _x = _v15
237
+ buff.write(_get_struct_4d().pack(_x.x, _x.y, _x.z, _x.w))
238
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
239
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
240
+
241
+ def deserialize_numpy(self, str, numpy):
242
+ """
243
+ unpack serialized message in str into this message instance using numpy for array types
244
+ :param str: byte array of serialized message, ``str``
245
+ :param numpy: numpy python module
246
+ """
247
+ if python3:
248
+ codecs.lookup_error("rosmsg").msg_type = self._type
249
+ try:
250
+ if self.transforms is None:
251
+ self.transforms = None
252
+ end = 0
253
+ start = end
254
+ end += 4
255
+ (length,) = _struct_I.unpack(str[start:end])
256
+ self.transforms = []
257
+ for i in range(0, length):
258
+ val1 = geometry_msgs.msg.TransformStamped()
259
+ _v16 = val1.header
260
+ start = end
261
+ end += 4
262
+ (_v16.seq,) = _get_struct_I().unpack(str[start:end])
263
+ _v17 = _v16.stamp
264
+ _x = _v17
265
+ start = end
266
+ end += 8
267
+ (_x.secs, _x.nsecs,) = _get_struct_2I().unpack(str[start:end])
268
+ start = end
269
+ end += 4
270
+ (length,) = _struct_I.unpack(str[start:end])
271
+ start = end
272
+ end += length
273
+ if python3:
274
+ _v16.frame_id = str[start:end].decode('utf-8', 'rosmsg')
275
+ else:
276
+ _v16.frame_id = str[start:end]
277
+ start = end
278
+ end += 4
279
+ (length,) = _struct_I.unpack(str[start:end])
280
+ start = end
281
+ end += length
282
+ if python3:
283
+ val1.child_frame_id = str[start:end].decode('utf-8', 'rosmsg')
284
+ else:
285
+ val1.child_frame_id = str[start:end]
286
+ _v18 = val1.transform
287
+ _v19 = _v18.translation
288
+ _x = _v19
289
+ start = end
290
+ end += 24
291
+ (_x.x, _x.y, _x.z,) = _get_struct_3d().unpack(str[start:end])
292
+ _v20 = _v18.rotation
293
+ _x = _v20
294
+ start = end
295
+ end += 32
296
+ (_x.x, _x.y, _x.z, _x.w,) = _get_struct_4d().unpack(str[start:end])
297
+ self.transforms.append(val1)
298
+ return self
299
+ except struct.error as e:
300
+ raise genpy.DeserializationError(e) # most likely buffer underfill
301
+
302
+ _struct_I = genpy.struct_I
303
+ def _get_struct_I():
304
+ global _struct_I
305
+ return _struct_I
306
+ _struct_2I = None
307
+ def _get_struct_2I():
308
+ global _struct_2I
309
+ if _struct_2I is None:
310
+ _struct_2I = struct.Struct("<2I")
311
+ return _struct_2I
312
+ _struct_3d = None
313
+ def _get_struct_3d():
314
+ global _struct_3d
315
+ if _struct_3d is None:
316
+ _struct_3d = struct.Struct("<3d")
317
+ return _struct_3d
318
+ _struct_4d = None
319
+ def _get_struct_4d():
320
+ global _struct_4d
321
+ if _struct_4d is None:
322
+ _struct_4d = struct.Struct("<4d")
323
+ return _struct_4d