kuavo-humanoid-sdk 1.2.1b3302__20250916170841-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.
- kuavo_humanoid_sdk/__init__.py +6 -0
- kuavo_humanoid_sdk/common/logger.py +45 -0
- kuavo_humanoid_sdk/interfaces/__init__.py +4 -0
- kuavo_humanoid_sdk/interfaces/data_types.py +288 -0
- kuavo_humanoid_sdk/interfaces/end_effector.py +62 -0
- kuavo_humanoid_sdk/interfaces/robot.py +22 -0
- kuavo_humanoid_sdk/interfaces/robot_info.py +56 -0
- kuavo_humanoid_sdk/kuavo/__init__.py +16 -0
- kuavo_humanoid_sdk/kuavo/core/audio.py +32 -0
- kuavo_humanoid_sdk/kuavo/core/core.py +666 -0
- kuavo_humanoid_sdk/kuavo/core/dex_hand_control.py +114 -0
- kuavo_humanoid_sdk/kuavo/core/leju_claw_control.py +67 -0
- kuavo_humanoid_sdk/kuavo/core/llm_doubao.py +608 -0
- kuavo_humanoid_sdk/kuavo/core/microphone.py +192 -0
- kuavo_humanoid_sdk/kuavo/core/navigation.py +70 -0
- kuavo_humanoid_sdk/kuavo/core/ros/audio.py +110 -0
- kuavo_humanoid_sdk/kuavo/core/ros/camera.py +105 -0
- kuavo_humanoid_sdk/kuavo/core/ros/control.py +1524 -0
- kuavo_humanoid_sdk/kuavo/core/ros/microphone.py +38 -0
- kuavo_humanoid_sdk/kuavo/core/ros/navigation.py +217 -0
- kuavo_humanoid_sdk/kuavo/core/ros/observation.py +94 -0
- kuavo_humanoid_sdk/kuavo/core/ros/param.py +201 -0
- kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py +103 -0
- kuavo_humanoid_sdk/kuavo/core/ros/state.py +652 -0
- kuavo_humanoid_sdk/kuavo/core/ros/tools.py +220 -0
- kuavo_humanoid_sdk/kuavo/core/ros/vision.py +234 -0
- kuavo_humanoid_sdk/kuavo/core/ros_env.py +238 -0
- kuavo_humanoid_sdk/kuavo/core/sdk_deprecated.py +41 -0
- kuavo_humanoid_sdk/kuavo/demo_climbstair.py +249 -0
- kuavo_humanoid_sdk/kuavo/dexterous_hand.py +238 -0
- kuavo_humanoid_sdk/kuavo/leju_claw.py +235 -0
- kuavo_humanoid_sdk/kuavo/logger_client.py +80 -0
- kuavo_humanoid_sdk/kuavo/robot.py +561 -0
- kuavo_humanoid_sdk/kuavo/robot_arm.py +411 -0
- kuavo_humanoid_sdk/kuavo/robot_audio.py +39 -0
- kuavo_humanoid_sdk/kuavo/robot_blockly.py +1154 -0
- kuavo_humanoid_sdk/kuavo/robot_climbstair.py +1607 -0
- kuavo_humanoid_sdk/kuavo/robot_head.py +95 -0
- kuavo_humanoid_sdk/kuavo/robot_info.py +134 -0
- kuavo_humanoid_sdk/kuavo/robot_microphone.py +19 -0
- kuavo_humanoid_sdk/kuavo/robot_navigation.py +135 -0
- kuavo_humanoid_sdk/kuavo/robot_observation.py +64 -0
- kuavo_humanoid_sdk/kuavo/robot_speech.py +24 -0
- kuavo_humanoid_sdk/kuavo/robot_state.py +310 -0
- kuavo_humanoid_sdk/kuavo/robot_tool.py +109 -0
- kuavo_humanoid_sdk/kuavo/robot_vision.py +81 -0
- kuavo_humanoid_sdk/kuavo_strategy/__init__.py +2 -0
- kuavo_humanoid_sdk/kuavo_strategy/grasp_box/grasp_box_strategy.py +1325 -0
- kuavo_humanoid_sdk/kuavo_strategy/kuavo_strategy.py +106 -0
- kuavo_humanoid_sdk/kuavo_strategy_v2/common/data_type.py +340 -0
- kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/base_event.py +215 -0
- kuavo_humanoid_sdk/kuavo_strategy_v2/common/robot_sdk.py +25 -0
- kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/case.py +331 -0
- kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/strategy.py +504 -0
- kuavo_humanoid_sdk/kuavo_strategy_v2/utils/logger_setup.py +40 -0
- kuavo_humanoid_sdk/kuavo_strategy_v2/utils/utils.py +88 -0
- kuavo_humanoid_sdk/msg/__init__.py +4 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/__init__.py +7 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetection.py +306 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetectionArray.py +437 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AudioReceiverData.py +122 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_FTsensorData.py +260 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_JoySticks.py +191 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py +199 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_MmDetectionMsg.py +264 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_RobotActionState.py +112 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TFArray.py +323 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TaskPoint.py +175 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +62 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armCollisionCheckInfo.py +160 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPose.py +161 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPoseFree.py +171 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py +168 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py +171 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_bezierCurveCubicPoint.py +178 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py +229 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandTouchState.py +256 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_endEffectorData.py +227 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose.py +123 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6D.py +123 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6DTargetTrajectories.py +320 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py +301 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVision.py +136 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVisionArray.py +231 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses.py +149 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses6D.py +149 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_fullBodyTargetTrajectories.py +258 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py +147 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py +218 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py +149 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_handPose.py +136 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py +145 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveError.py +171 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveParam.py +140 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py +165 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointBezierTrajectory.py +201 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py +390 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py +205 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_kuavoModeSchedule.py +224 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py +320 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py +341 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_motorParam.py +122 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfo.py +143 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfoList.py +220 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_planArmState.py +120 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_qv.py +121 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotArmQVVD.py +177 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotBodyMatrices.py +332 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py +225 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py +128 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py +222 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py +655 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py +200 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_tagDataArray.py +216 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py +162 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPose.py +273 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmd.py +316 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmdFree.py +338 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseFree.py +299 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py +251 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py +168 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_CreatePath.py +581 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_ExecuteArmAction.py +281 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetAllMaps.py +241 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetCurrentMap.py +225 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetTargetPartPoseInCamera.py +298 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_InitialPoseWithTaskPoint.py +281 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_LoadMap.py +281 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_NavigateToTaskPoint.py +281 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_RepublishTFs.py +373 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetInitialPose.py +394 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetJoyTopic.py +282 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode.py +468 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode_free.py +289 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py +270 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_TaskPointOperation.py +536 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +43 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_adjustZeroPoint.py +277 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py +275 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlModeKuavo.py +236 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeMotorParam.py +299 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py +274 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py +408 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py +304 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_fkSrv.py +395 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPose6DTargetTrajectoriesSrv.py +426 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py +409 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py +339 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py +257 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py +418 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py +253 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorParam.py +299 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorZeroPoints.py +286 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py +330 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py +302 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryBezierCurve.py +422 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryCubicSpline.py +490 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +268 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py +304 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMmCtrlFrame.py +273 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py +283 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py +275 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py +444 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdFreeSrv.py +716 -0
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdSrv.py +664 -0
- kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py +7 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py +7 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py +12 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py +142 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_controller_data.py +121 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_lagrangian_metrics.py +148 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mode_schedule.py +150 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_flattened_controller.py +666 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_input.py +122 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_observation.py +209 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_performance_indices.py +140 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_solver_data.py +886 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_state.py +122 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py +239 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py +148 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +1 -0
- kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py +376 -0
- kuavo_humanoid_sdk-1.2.1b3302.dist-info/METADATA +297 -0
- kuavo_humanoid_sdk-1.2.1b3302.dist-info/RECORD +186 -0
- kuavo_humanoid_sdk-1.2.1b3302.dist-info/WHEEL +6 -0
- kuavo_humanoid_sdk-1.2.1b3302.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
|