kuavo-humanoid-sdk 1.2.1b3279__20250912160921-py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kuavo-humanoid-sdk might be problematic. Click here for more details.
- 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/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/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 +299 -0
- kuavo_humanoid_sdk/kuavo/robot_audio.py +39 -0
- kuavo_humanoid_sdk/kuavo/robot_blockly.py +1162 -0
- kuavo_humanoid_sdk/kuavo/robot_climbstair.py +1607 -0
- kuavo_humanoid_sdk/kuavo/robot_head.py +74 -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.1b3279.dist-info/METADATA +296 -0
- kuavo_humanoid_sdk-1.2.1b3279.dist-info/RECORD +184 -0
- kuavo_humanoid_sdk-1.2.1b3279.dist-info/WHEEL +6 -0
- kuavo_humanoid_sdk-1.2.1b3279.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
# This Python file uses the following encoding: utf-8
|
|
2
|
+
"""autogenerated by genpy from kuavo_msgs/footPose6DTargetTrajectories.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
|
+
|
|
11
|
+
class footPose6DTargetTrajectories(genpy.Message):
|
|
12
|
+
_md5sum = "0d3083075c75f61a03150e42af0846c2"
|
|
13
|
+
_type = "kuavo_msgs/footPose6DTargetTrajectories"
|
|
14
|
+
_has_header = False # flag to mark the presence of a Header object
|
|
15
|
+
_full_text = """float64[] timeTrajectory
|
|
16
|
+
int32[] footIndexTrajectory
|
|
17
|
+
footPose6D[] footPoseTrajectory
|
|
18
|
+
footPoses6D[] additionalFootPoseTrajectory # 可选字段,用于存储额外的轨迹点规划值
|
|
19
|
+
float64[] swingHeightTrajectory # 可选字段,用于存储swing高度轨迹
|
|
20
|
+
float64 insertTime # 可选字段,用于存储连续上楼梯时新插入指令的时间点
|
|
21
|
+
================================================================================
|
|
22
|
+
MSG: kuavo_msgs/footPose6D
|
|
23
|
+
float64[6] footPose6D # x, y, z, yaw
|
|
24
|
+
float64[6] torsoPose6D # x, y, z, yaw
|
|
25
|
+
|
|
26
|
+
================================================================================
|
|
27
|
+
MSG: kuavo_msgs/footPoses6D
|
|
28
|
+
footPose6D[] data
|
|
29
|
+
"""
|
|
30
|
+
__slots__ = ['timeTrajectory','footIndexTrajectory','footPoseTrajectory','additionalFootPoseTrajectory','swingHeightTrajectory','insertTime']
|
|
31
|
+
_slot_types = ['float64[]','int32[]','kuavo_msgs/footPose6D[]','kuavo_msgs/footPoses6D[]','float64[]','float64']
|
|
32
|
+
|
|
33
|
+
def __init__(self, *args, **kwds):
|
|
34
|
+
"""
|
|
35
|
+
Constructor. Any message fields that are implicitly/explicitly
|
|
36
|
+
set to None will be assigned a default value. The recommend
|
|
37
|
+
use is keyword arguments as this is more robust to future message
|
|
38
|
+
changes. You cannot mix in-order arguments and keyword arguments.
|
|
39
|
+
|
|
40
|
+
The available fields are:
|
|
41
|
+
timeTrajectory,footIndexTrajectory,footPoseTrajectory,additionalFootPoseTrajectory,swingHeightTrajectory,insertTime
|
|
42
|
+
|
|
43
|
+
:param args: complete set of field values, in .msg order
|
|
44
|
+
:param kwds: use keyword arguments corresponding to message field names
|
|
45
|
+
to set specific fields.
|
|
46
|
+
"""
|
|
47
|
+
if args or kwds:
|
|
48
|
+
super(footPose6DTargetTrajectories, self).__init__(*args, **kwds)
|
|
49
|
+
# message fields cannot be None, assign default values for those that are
|
|
50
|
+
if self.timeTrajectory is None:
|
|
51
|
+
self.timeTrajectory = []
|
|
52
|
+
if self.footIndexTrajectory is None:
|
|
53
|
+
self.footIndexTrajectory = []
|
|
54
|
+
if self.footPoseTrajectory is None:
|
|
55
|
+
self.footPoseTrajectory = []
|
|
56
|
+
if self.additionalFootPoseTrajectory is None:
|
|
57
|
+
self.additionalFootPoseTrajectory = []
|
|
58
|
+
if self.swingHeightTrajectory is None:
|
|
59
|
+
self.swingHeightTrajectory = []
|
|
60
|
+
if self.insertTime is None:
|
|
61
|
+
self.insertTime = 0.
|
|
62
|
+
else:
|
|
63
|
+
self.timeTrajectory = []
|
|
64
|
+
self.footIndexTrajectory = []
|
|
65
|
+
self.footPoseTrajectory = []
|
|
66
|
+
self.additionalFootPoseTrajectory = []
|
|
67
|
+
self.swingHeightTrajectory = []
|
|
68
|
+
self.insertTime = 0.
|
|
69
|
+
|
|
70
|
+
def _get_types(self):
|
|
71
|
+
"""
|
|
72
|
+
internal API method
|
|
73
|
+
"""
|
|
74
|
+
return self._slot_types
|
|
75
|
+
|
|
76
|
+
def serialize(self, buff):
|
|
77
|
+
"""
|
|
78
|
+
serialize message into buffer
|
|
79
|
+
:param buff: buffer, ``StringIO``
|
|
80
|
+
"""
|
|
81
|
+
try:
|
|
82
|
+
length = len(self.timeTrajectory)
|
|
83
|
+
buff.write(_struct_I.pack(length))
|
|
84
|
+
pattern = '<%sd'%length
|
|
85
|
+
buff.write(struct.Struct(pattern).pack(*self.timeTrajectory))
|
|
86
|
+
length = len(self.footIndexTrajectory)
|
|
87
|
+
buff.write(_struct_I.pack(length))
|
|
88
|
+
pattern = '<%si'%length
|
|
89
|
+
buff.write(struct.Struct(pattern).pack(*self.footIndexTrajectory))
|
|
90
|
+
length = len(self.footPoseTrajectory)
|
|
91
|
+
buff.write(_struct_I.pack(length))
|
|
92
|
+
for val1 in self.footPoseTrajectory:
|
|
93
|
+
buff.write(_get_struct_6d().pack(*val1.footPose6D))
|
|
94
|
+
buff.write(_get_struct_6d().pack(*val1.torsoPose6D))
|
|
95
|
+
length = len(self.additionalFootPoseTrajectory)
|
|
96
|
+
buff.write(_struct_I.pack(length))
|
|
97
|
+
for val1 in self.additionalFootPoseTrajectory:
|
|
98
|
+
length = len(val1.data)
|
|
99
|
+
buff.write(_struct_I.pack(length))
|
|
100
|
+
for val2 in val1.data:
|
|
101
|
+
buff.write(_get_struct_6d().pack(*val2.footPose6D))
|
|
102
|
+
buff.write(_get_struct_6d().pack(*val2.torsoPose6D))
|
|
103
|
+
length = len(self.swingHeightTrajectory)
|
|
104
|
+
buff.write(_struct_I.pack(length))
|
|
105
|
+
pattern = '<%sd'%length
|
|
106
|
+
buff.write(struct.Struct(pattern).pack(*self.swingHeightTrajectory))
|
|
107
|
+
_x = self.insertTime
|
|
108
|
+
buff.write(_get_struct_d().pack(_x))
|
|
109
|
+
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
|
|
110
|
+
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
|
|
111
|
+
|
|
112
|
+
def deserialize(self, str):
|
|
113
|
+
"""
|
|
114
|
+
unpack serialized message in str into this message instance
|
|
115
|
+
:param str: byte array of serialized message, ``str``
|
|
116
|
+
"""
|
|
117
|
+
if python3:
|
|
118
|
+
codecs.lookup_error("rosmsg").msg_type = self._type
|
|
119
|
+
try:
|
|
120
|
+
if self.footPoseTrajectory is None:
|
|
121
|
+
self.footPoseTrajectory = None
|
|
122
|
+
if self.additionalFootPoseTrajectory is None:
|
|
123
|
+
self.additionalFootPoseTrajectory = None
|
|
124
|
+
end = 0
|
|
125
|
+
start = end
|
|
126
|
+
end += 4
|
|
127
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
128
|
+
pattern = '<%sd'%length
|
|
129
|
+
start = end
|
|
130
|
+
s = struct.Struct(pattern)
|
|
131
|
+
end += s.size
|
|
132
|
+
self.timeTrajectory = s.unpack(str[start:end])
|
|
133
|
+
start = end
|
|
134
|
+
end += 4
|
|
135
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
136
|
+
pattern = '<%si'%length
|
|
137
|
+
start = end
|
|
138
|
+
s = struct.Struct(pattern)
|
|
139
|
+
end += s.size
|
|
140
|
+
self.footIndexTrajectory = s.unpack(str[start:end])
|
|
141
|
+
start = end
|
|
142
|
+
end += 4
|
|
143
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
144
|
+
self.footPoseTrajectory = []
|
|
145
|
+
for i in range(0, length):
|
|
146
|
+
val1 = kuavo_msgs.msg.footPose6D()
|
|
147
|
+
start = end
|
|
148
|
+
end += 48
|
|
149
|
+
val1.footPose6D = _get_struct_6d().unpack(str[start:end])
|
|
150
|
+
start = end
|
|
151
|
+
end += 48
|
|
152
|
+
val1.torsoPose6D = _get_struct_6d().unpack(str[start:end])
|
|
153
|
+
self.footPoseTrajectory.append(val1)
|
|
154
|
+
start = end
|
|
155
|
+
end += 4
|
|
156
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
157
|
+
self.additionalFootPoseTrajectory = []
|
|
158
|
+
for i in range(0, length):
|
|
159
|
+
val1 = kuavo_msgs.msg.footPoses6D()
|
|
160
|
+
start = end
|
|
161
|
+
end += 4
|
|
162
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
163
|
+
val1.data = []
|
|
164
|
+
for i in range(0, length):
|
|
165
|
+
val2 = kuavo_msgs.msg.footPose6D()
|
|
166
|
+
start = end
|
|
167
|
+
end += 48
|
|
168
|
+
val2.footPose6D = _get_struct_6d().unpack(str[start:end])
|
|
169
|
+
start = end
|
|
170
|
+
end += 48
|
|
171
|
+
val2.torsoPose6D = _get_struct_6d().unpack(str[start:end])
|
|
172
|
+
val1.data.append(val2)
|
|
173
|
+
self.additionalFootPoseTrajectory.append(val1)
|
|
174
|
+
start = end
|
|
175
|
+
end += 4
|
|
176
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
177
|
+
pattern = '<%sd'%length
|
|
178
|
+
start = end
|
|
179
|
+
s = struct.Struct(pattern)
|
|
180
|
+
end += s.size
|
|
181
|
+
self.swingHeightTrajectory = s.unpack(str[start:end])
|
|
182
|
+
start = end
|
|
183
|
+
end += 8
|
|
184
|
+
(self.insertTime,) = _get_struct_d().unpack(str[start:end])
|
|
185
|
+
return self
|
|
186
|
+
except struct.error as e:
|
|
187
|
+
raise genpy.DeserializationError(e) # most likely buffer underfill
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
def serialize_numpy(self, buff, numpy):
|
|
191
|
+
"""
|
|
192
|
+
serialize message with numpy array types into buffer
|
|
193
|
+
:param buff: buffer, ``StringIO``
|
|
194
|
+
:param numpy: numpy python module
|
|
195
|
+
"""
|
|
196
|
+
try:
|
|
197
|
+
length = len(self.timeTrajectory)
|
|
198
|
+
buff.write(_struct_I.pack(length))
|
|
199
|
+
pattern = '<%sd'%length
|
|
200
|
+
buff.write(self.timeTrajectory.tostring())
|
|
201
|
+
length = len(self.footIndexTrajectory)
|
|
202
|
+
buff.write(_struct_I.pack(length))
|
|
203
|
+
pattern = '<%si'%length
|
|
204
|
+
buff.write(self.footIndexTrajectory.tostring())
|
|
205
|
+
length = len(self.footPoseTrajectory)
|
|
206
|
+
buff.write(_struct_I.pack(length))
|
|
207
|
+
for val1 in self.footPoseTrajectory:
|
|
208
|
+
buff.write(val1.footPose6D.tostring())
|
|
209
|
+
buff.write(val1.torsoPose6D.tostring())
|
|
210
|
+
length = len(self.additionalFootPoseTrajectory)
|
|
211
|
+
buff.write(_struct_I.pack(length))
|
|
212
|
+
for val1 in self.additionalFootPoseTrajectory:
|
|
213
|
+
length = len(val1.data)
|
|
214
|
+
buff.write(_struct_I.pack(length))
|
|
215
|
+
for val2 in val1.data:
|
|
216
|
+
buff.write(val2.footPose6D.tostring())
|
|
217
|
+
buff.write(val2.torsoPose6D.tostring())
|
|
218
|
+
length = len(self.swingHeightTrajectory)
|
|
219
|
+
buff.write(_struct_I.pack(length))
|
|
220
|
+
pattern = '<%sd'%length
|
|
221
|
+
buff.write(self.swingHeightTrajectory.tostring())
|
|
222
|
+
_x = self.insertTime
|
|
223
|
+
buff.write(_get_struct_d().pack(_x))
|
|
224
|
+
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
|
|
225
|
+
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
|
|
226
|
+
|
|
227
|
+
def deserialize_numpy(self, str, numpy):
|
|
228
|
+
"""
|
|
229
|
+
unpack serialized message in str into this message instance using numpy for array types
|
|
230
|
+
:param str: byte array of serialized message, ``str``
|
|
231
|
+
:param numpy: numpy python module
|
|
232
|
+
"""
|
|
233
|
+
if python3:
|
|
234
|
+
codecs.lookup_error("rosmsg").msg_type = self._type
|
|
235
|
+
try:
|
|
236
|
+
if self.footPoseTrajectory is None:
|
|
237
|
+
self.footPoseTrajectory = None
|
|
238
|
+
if self.additionalFootPoseTrajectory is None:
|
|
239
|
+
self.additionalFootPoseTrajectory = None
|
|
240
|
+
end = 0
|
|
241
|
+
start = end
|
|
242
|
+
end += 4
|
|
243
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
244
|
+
pattern = '<%sd'%length
|
|
245
|
+
start = end
|
|
246
|
+
s = struct.Struct(pattern)
|
|
247
|
+
end += s.size
|
|
248
|
+
self.timeTrajectory = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
|
|
249
|
+
start = end
|
|
250
|
+
end += 4
|
|
251
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
252
|
+
pattern = '<%si'%length
|
|
253
|
+
start = end
|
|
254
|
+
s = struct.Struct(pattern)
|
|
255
|
+
end += s.size
|
|
256
|
+
self.footIndexTrajectory = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
|
|
257
|
+
start = end
|
|
258
|
+
end += 4
|
|
259
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
260
|
+
self.footPoseTrajectory = []
|
|
261
|
+
for i in range(0, length):
|
|
262
|
+
val1 = kuavo_msgs.msg.footPose6D()
|
|
263
|
+
start = end
|
|
264
|
+
end += 48
|
|
265
|
+
val1.footPose6D = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=6)
|
|
266
|
+
start = end
|
|
267
|
+
end += 48
|
|
268
|
+
val1.torsoPose6D = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=6)
|
|
269
|
+
self.footPoseTrajectory.append(val1)
|
|
270
|
+
start = end
|
|
271
|
+
end += 4
|
|
272
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
273
|
+
self.additionalFootPoseTrajectory = []
|
|
274
|
+
for i in range(0, length):
|
|
275
|
+
val1 = kuavo_msgs.msg.footPoses6D()
|
|
276
|
+
start = end
|
|
277
|
+
end += 4
|
|
278
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
279
|
+
val1.data = []
|
|
280
|
+
for i in range(0, length):
|
|
281
|
+
val2 = kuavo_msgs.msg.footPose6D()
|
|
282
|
+
start = end
|
|
283
|
+
end += 48
|
|
284
|
+
val2.footPose6D = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=6)
|
|
285
|
+
start = end
|
|
286
|
+
end += 48
|
|
287
|
+
val2.torsoPose6D = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=6)
|
|
288
|
+
val1.data.append(val2)
|
|
289
|
+
self.additionalFootPoseTrajectory.append(val1)
|
|
290
|
+
start = end
|
|
291
|
+
end += 4
|
|
292
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
293
|
+
pattern = '<%sd'%length
|
|
294
|
+
start = end
|
|
295
|
+
s = struct.Struct(pattern)
|
|
296
|
+
end += s.size
|
|
297
|
+
self.swingHeightTrajectory = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
|
|
298
|
+
start = end
|
|
299
|
+
end += 8
|
|
300
|
+
(self.insertTime,) = _get_struct_d().unpack(str[start:end])
|
|
301
|
+
return self
|
|
302
|
+
except struct.error as e:
|
|
303
|
+
raise genpy.DeserializationError(e) # most likely buffer underfill
|
|
304
|
+
|
|
305
|
+
_struct_I = genpy.struct_I
|
|
306
|
+
def _get_struct_I():
|
|
307
|
+
global _struct_I
|
|
308
|
+
return _struct_I
|
|
309
|
+
_struct_6d = None
|
|
310
|
+
def _get_struct_6d():
|
|
311
|
+
global _struct_6d
|
|
312
|
+
if _struct_6d is None:
|
|
313
|
+
_struct_6d = struct.Struct("<6d")
|
|
314
|
+
return _struct_6d
|
|
315
|
+
_struct_d = None
|
|
316
|
+
def _get_struct_d():
|
|
317
|
+
global _struct_d
|
|
318
|
+
if _struct_d is None:
|
|
319
|
+
_struct_d = struct.Struct("<d")
|
|
320
|
+
return _struct_d
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
# This Python file uses the following encoding: utf-8
|
|
2
|
+
"""autogenerated by genpy from kuavo_msgs/footPoseTargetTrajectories.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
|
+
|
|
11
|
+
class footPoseTargetTrajectories(genpy.Message):
|
|
12
|
+
_md5sum = "1ead1f233650869a3c090250fbdd7b77"
|
|
13
|
+
_type = "kuavo_msgs/footPoseTargetTrajectories"
|
|
14
|
+
_has_header = False # flag to mark the presence of a Header object
|
|
15
|
+
_full_text = """float64[] timeTrajectory
|
|
16
|
+
int32[] footIndexTrajectory
|
|
17
|
+
footPose[] footPoseTrajectory
|
|
18
|
+
footPoses[] additionalFootPoseTrajectory # 可选字段,用于存储额外的轨迹点规划值
|
|
19
|
+
float64[] swingHeightTrajectory # 可选字段,用于存储swing高度轨迹
|
|
20
|
+
|
|
21
|
+
================================================================================
|
|
22
|
+
MSG: kuavo_msgs/footPose
|
|
23
|
+
float64[4] footPose # x, y, z, yaw
|
|
24
|
+
float64[4] torsoPose # x, y, z, yaw
|
|
25
|
+
|
|
26
|
+
================================================================================
|
|
27
|
+
MSG: kuavo_msgs/footPoses
|
|
28
|
+
footPose[] data
|
|
29
|
+
"""
|
|
30
|
+
__slots__ = ['timeTrajectory','footIndexTrajectory','footPoseTrajectory','additionalFootPoseTrajectory','swingHeightTrajectory']
|
|
31
|
+
_slot_types = ['float64[]','int32[]','kuavo_msgs/footPose[]','kuavo_msgs/footPoses[]','float64[]']
|
|
32
|
+
|
|
33
|
+
def __init__(self, *args, **kwds):
|
|
34
|
+
"""
|
|
35
|
+
Constructor. Any message fields that are implicitly/explicitly
|
|
36
|
+
set to None will be assigned a default value. The recommend
|
|
37
|
+
use is keyword arguments as this is more robust to future message
|
|
38
|
+
changes. You cannot mix in-order arguments and keyword arguments.
|
|
39
|
+
|
|
40
|
+
The available fields are:
|
|
41
|
+
timeTrajectory,footIndexTrajectory,footPoseTrajectory,additionalFootPoseTrajectory,swingHeightTrajectory
|
|
42
|
+
|
|
43
|
+
:param args: complete set of field values, in .msg order
|
|
44
|
+
:param kwds: use keyword arguments corresponding to message field names
|
|
45
|
+
to set specific fields.
|
|
46
|
+
"""
|
|
47
|
+
if args or kwds:
|
|
48
|
+
super(footPoseTargetTrajectories, self).__init__(*args, **kwds)
|
|
49
|
+
# message fields cannot be None, assign default values for those that are
|
|
50
|
+
if self.timeTrajectory is None:
|
|
51
|
+
self.timeTrajectory = []
|
|
52
|
+
if self.footIndexTrajectory is None:
|
|
53
|
+
self.footIndexTrajectory = []
|
|
54
|
+
if self.footPoseTrajectory is None:
|
|
55
|
+
self.footPoseTrajectory = []
|
|
56
|
+
if self.additionalFootPoseTrajectory is None:
|
|
57
|
+
self.additionalFootPoseTrajectory = []
|
|
58
|
+
if self.swingHeightTrajectory is None:
|
|
59
|
+
self.swingHeightTrajectory = []
|
|
60
|
+
else:
|
|
61
|
+
self.timeTrajectory = []
|
|
62
|
+
self.footIndexTrajectory = []
|
|
63
|
+
self.footPoseTrajectory = []
|
|
64
|
+
self.additionalFootPoseTrajectory = []
|
|
65
|
+
self.swingHeightTrajectory = []
|
|
66
|
+
|
|
67
|
+
def _get_types(self):
|
|
68
|
+
"""
|
|
69
|
+
internal API method
|
|
70
|
+
"""
|
|
71
|
+
return self._slot_types
|
|
72
|
+
|
|
73
|
+
def serialize(self, buff):
|
|
74
|
+
"""
|
|
75
|
+
serialize message into buffer
|
|
76
|
+
:param buff: buffer, ``StringIO``
|
|
77
|
+
"""
|
|
78
|
+
try:
|
|
79
|
+
length = len(self.timeTrajectory)
|
|
80
|
+
buff.write(_struct_I.pack(length))
|
|
81
|
+
pattern = '<%sd'%length
|
|
82
|
+
buff.write(struct.Struct(pattern).pack(*self.timeTrajectory))
|
|
83
|
+
length = len(self.footIndexTrajectory)
|
|
84
|
+
buff.write(_struct_I.pack(length))
|
|
85
|
+
pattern = '<%si'%length
|
|
86
|
+
buff.write(struct.Struct(pattern).pack(*self.footIndexTrajectory))
|
|
87
|
+
length = len(self.footPoseTrajectory)
|
|
88
|
+
buff.write(_struct_I.pack(length))
|
|
89
|
+
for val1 in self.footPoseTrajectory:
|
|
90
|
+
buff.write(_get_struct_4d().pack(*val1.footPose))
|
|
91
|
+
buff.write(_get_struct_4d().pack(*val1.torsoPose))
|
|
92
|
+
length = len(self.additionalFootPoseTrajectory)
|
|
93
|
+
buff.write(_struct_I.pack(length))
|
|
94
|
+
for val1 in self.additionalFootPoseTrajectory:
|
|
95
|
+
length = len(val1.data)
|
|
96
|
+
buff.write(_struct_I.pack(length))
|
|
97
|
+
for val2 in val1.data:
|
|
98
|
+
buff.write(_get_struct_4d().pack(*val2.footPose))
|
|
99
|
+
buff.write(_get_struct_4d().pack(*val2.torsoPose))
|
|
100
|
+
length = len(self.swingHeightTrajectory)
|
|
101
|
+
buff.write(_struct_I.pack(length))
|
|
102
|
+
pattern = '<%sd'%length
|
|
103
|
+
buff.write(struct.Struct(pattern).pack(*self.swingHeightTrajectory))
|
|
104
|
+
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
|
|
105
|
+
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
|
|
106
|
+
|
|
107
|
+
def deserialize(self, str):
|
|
108
|
+
"""
|
|
109
|
+
unpack serialized message in str into this message instance
|
|
110
|
+
:param str: byte array of serialized message, ``str``
|
|
111
|
+
"""
|
|
112
|
+
if python3:
|
|
113
|
+
codecs.lookup_error("rosmsg").msg_type = self._type
|
|
114
|
+
try:
|
|
115
|
+
if self.footPoseTrajectory is None:
|
|
116
|
+
self.footPoseTrajectory = None
|
|
117
|
+
if self.additionalFootPoseTrajectory is None:
|
|
118
|
+
self.additionalFootPoseTrajectory = None
|
|
119
|
+
end = 0
|
|
120
|
+
start = end
|
|
121
|
+
end += 4
|
|
122
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
123
|
+
pattern = '<%sd'%length
|
|
124
|
+
start = end
|
|
125
|
+
s = struct.Struct(pattern)
|
|
126
|
+
end += s.size
|
|
127
|
+
self.timeTrajectory = s.unpack(str[start:end])
|
|
128
|
+
start = end
|
|
129
|
+
end += 4
|
|
130
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
131
|
+
pattern = '<%si'%length
|
|
132
|
+
start = end
|
|
133
|
+
s = struct.Struct(pattern)
|
|
134
|
+
end += s.size
|
|
135
|
+
self.footIndexTrajectory = s.unpack(str[start:end])
|
|
136
|
+
start = end
|
|
137
|
+
end += 4
|
|
138
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
139
|
+
self.footPoseTrajectory = []
|
|
140
|
+
for i in range(0, length):
|
|
141
|
+
val1 = kuavo_msgs.msg.footPose()
|
|
142
|
+
start = end
|
|
143
|
+
end += 32
|
|
144
|
+
val1.footPose = _get_struct_4d().unpack(str[start:end])
|
|
145
|
+
start = end
|
|
146
|
+
end += 32
|
|
147
|
+
val1.torsoPose = _get_struct_4d().unpack(str[start:end])
|
|
148
|
+
self.footPoseTrajectory.append(val1)
|
|
149
|
+
start = end
|
|
150
|
+
end += 4
|
|
151
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
152
|
+
self.additionalFootPoseTrajectory = []
|
|
153
|
+
for i in range(0, length):
|
|
154
|
+
val1 = kuavo_msgs.msg.footPoses()
|
|
155
|
+
start = end
|
|
156
|
+
end += 4
|
|
157
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
158
|
+
val1.data = []
|
|
159
|
+
for i in range(0, length):
|
|
160
|
+
val2 = kuavo_msgs.msg.footPose()
|
|
161
|
+
start = end
|
|
162
|
+
end += 32
|
|
163
|
+
val2.footPose = _get_struct_4d().unpack(str[start:end])
|
|
164
|
+
start = end
|
|
165
|
+
end += 32
|
|
166
|
+
val2.torsoPose = _get_struct_4d().unpack(str[start:end])
|
|
167
|
+
val1.data.append(val2)
|
|
168
|
+
self.additionalFootPoseTrajectory.append(val1)
|
|
169
|
+
start = end
|
|
170
|
+
end += 4
|
|
171
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
172
|
+
pattern = '<%sd'%length
|
|
173
|
+
start = end
|
|
174
|
+
s = struct.Struct(pattern)
|
|
175
|
+
end += s.size
|
|
176
|
+
self.swingHeightTrajectory = s.unpack(str[start:end])
|
|
177
|
+
return self
|
|
178
|
+
except struct.error as e:
|
|
179
|
+
raise genpy.DeserializationError(e) # most likely buffer underfill
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
def serialize_numpy(self, buff, numpy):
|
|
183
|
+
"""
|
|
184
|
+
serialize message with numpy array types into buffer
|
|
185
|
+
:param buff: buffer, ``StringIO``
|
|
186
|
+
:param numpy: numpy python module
|
|
187
|
+
"""
|
|
188
|
+
try:
|
|
189
|
+
length = len(self.timeTrajectory)
|
|
190
|
+
buff.write(_struct_I.pack(length))
|
|
191
|
+
pattern = '<%sd'%length
|
|
192
|
+
buff.write(self.timeTrajectory.tostring())
|
|
193
|
+
length = len(self.footIndexTrajectory)
|
|
194
|
+
buff.write(_struct_I.pack(length))
|
|
195
|
+
pattern = '<%si'%length
|
|
196
|
+
buff.write(self.footIndexTrajectory.tostring())
|
|
197
|
+
length = len(self.footPoseTrajectory)
|
|
198
|
+
buff.write(_struct_I.pack(length))
|
|
199
|
+
for val1 in self.footPoseTrajectory:
|
|
200
|
+
buff.write(val1.footPose.tostring())
|
|
201
|
+
buff.write(val1.torsoPose.tostring())
|
|
202
|
+
length = len(self.additionalFootPoseTrajectory)
|
|
203
|
+
buff.write(_struct_I.pack(length))
|
|
204
|
+
for val1 in self.additionalFootPoseTrajectory:
|
|
205
|
+
length = len(val1.data)
|
|
206
|
+
buff.write(_struct_I.pack(length))
|
|
207
|
+
for val2 in val1.data:
|
|
208
|
+
buff.write(val2.footPose.tostring())
|
|
209
|
+
buff.write(val2.torsoPose.tostring())
|
|
210
|
+
length = len(self.swingHeightTrajectory)
|
|
211
|
+
buff.write(_struct_I.pack(length))
|
|
212
|
+
pattern = '<%sd'%length
|
|
213
|
+
buff.write(self.swingHeightTrajectory.tostring())
|
|
214
|
+
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
|
|
215
|
+
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
|
|
216
|
+
|
|
217
|
+
def deserialize_numpy(self, str, numpy):
|
|
218
|
+
"""
|
|
219
|
+
unpack serialized message in str into this message instance using numpy for array types
|
|
220
|
+
:param str: byte array of serialized message, ``str``
|
|
221
|
+
:param numpy: numpy python module
|
|
222
|
+
"""
|
|
223
|
+
if python3:
|
|
224
|
+
codecs.lookup_error("rosmsg").msg_type = self._type
|
|
225
|
+
try:
|
|
226
|
+
if self.footPoseTrajectory is None:
|
|
227
|
+
self.footPoseTrajectory = None
|
|
228
|
+
if self.additionalFootPoseTrajectory is None:
|
|
229
|
+
self.additionalFootPoseTrajectory = None
|
|
230
|
+
end = 0
|
|
231
|
+
start = end
|
|
232
|
+
end += 4
|
|
233
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
234
|
+
pattern = '<%sd'%length
|
|
235
|
+
start = end
|
|
236
|
+
s = struct.Struct(pattern)
|
|
237
|
+
end += s.size
|
|
238
|
+
self.timeTrajectory = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
|
|
239
|
+
start = end
|
|
240
|
+
end += 4
|
|
241
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
242
|
+
pattern = '<%si'%length
|
|
243
|
+
start = end
|
|
244
|
+
s = struct.Struct(pattern)
|
|
245
|
+
end += s.size
|
|
246
|
+
self.footIndexTrajectory = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
|
|
247
|
+
start = end
|
|
248
|
+
end += 4
|
|
249
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
250
|
+
self.footPoseTrajectory = []
|
|
251
|
+
for i in range(0, length):
|
|
252
|
+
val1 = kuavo_msgs.msg.footPose()
|
|
253
|
+
start = end
|
|
254
|
+
end += 32
|
|
255
|
+
val1.footPose = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
|
|
256
|
+
start = end
|
|
257
|
+
end += 32
|
|
258
|
+
val1.torsoPose = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
|
|
259
|
+
self.footPoseTrajectory.append(val1)
|
|
260
|
+
start = end
|
|
261
|
+
end += 4
|
|
262
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
263
|
+
self.additionalFootPoseTrajectory = []
|
|
264
|
+
for i in range(0, length):
|
|
265
|
+
val1 = kuavo_msgs.msg.footPoses()
|
|
266
|
+
start = end
|
|
267
|
+
end += 4
|
|
268
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
269
|
+
val1.data = []
|
|
270
|
+
for i in range(0, length):
|
|
271
|
+
val2 = kuavo_msgs.msg.footPose()
|
|
272
|
+
start = end
|
|
273
|
+
end += 32
|
|
274
|
+
val2.footPose = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
|
|
275
|
+
start = end
|
|
276
|
+
end += 32
|
|
277
|
+
val2.torsoPose = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
|
|
278
|
+
val1.data.append(val2)
|
|
279
|
+
self.additionalFootPoseTrajectory.append(val1)
|
|
280
|
+
start = end
|
|
281
|
+
end += 4
|
|
282
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
283
|
+
pattern = '<%sd'%length
|
|
284
|
+
start = end
|
|
285
|
+
s = struct.Struct(pattern)
|
|
286
|
+
end += s.size
|
|
287
|
+
self.swingHeightTrajectory = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
|
|
288
|
+
return self
|
|
289
|
+
except struct.error as e:
|
|
290
|
+
raise genpy.DeserializationError(e) # most likely buffer underfill
|
|
291
|
+
|
|
292
|
+
_struct_I = genpy.struct_I
|
|
293
|
+
def _get_struct_I():
|
|
294
|
+
global _struct_I
|
|
295
|
+
return _struct_I
|
|
296
|
+
_struct_4d = None
|
|
297
|
+
def _get_struct_4d():
|
|
298
|
+
global _struct_4d
|
|
299
|
+
if _struct_4d is None:
|
|
300
|
+
_struct_4d = struct.Struct("<4d")
|
|
301
|
+
return _struct_4d
|