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,140 @@
|
|
|
1
|
+
# This Python file uses the following encoding: utf-8
|
|
2
|
+
"""autogenerated by genpy from kuavo_msgs/ikSolveParam.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 ikSolveParam(genpy.Message):
|
|
11
|
+
_md5sum = "be29d8b02ad14da680464b8c4f590f98"
|
|
12
|
+
_type = "kuavo_msgs/ikSolveParam"
|
|
13
|
+
_has_header = False # flag to mark the presence of a Header object
|
|
14
|
+
_full_text = """# snopt params
|
|
15
|
+
float64 major_optimality_tol
|
|
16
|
+
float64 major_feasibility_tol
|
|
17
|
+
float64 minor_feasibility_tol
|
|
18
|
+
float64 major_iterations_limit
|
|
19
|
+
# constraint and cost params
|
|
20
|
+
float64 oritation_constraint_tol
|
|
21
|
+
float64 pos_constraint_tol # work when pos_cost_weight > 0.0
|
|
22
|
+
float64 pos_cost_weight"""
|
|
23
|
+
__slots__ = ['major_optimality_tol','major_feasibility_tol','minor_feasibility_tol','major_iterations_limit','oritation_constraint_tol','pos_constraint_tol','pos_cost_weight']
|
|
24
|
+
_slot_types = ['float64','float64','float64','float64','float64','float64','float64']
|
|
25
|
+
|
|
26
|
+
def __init__(self, *args, **kwds):
|
|
27
|
+
"""
|
|
28
|
+
Constructor. Any message fields that are implicitly/explicitly
|
|
29
|
+
set to None will be assigned a default value. The recommend
|
|
30
|
+
use is keyword arguments as this is more robust to future message
|
|
31
|
+
changes. You cannot mix in-order arguments and keyword arguments.
|
|
32
|
+
|
|
33
|
+
The available fields are:
|
|
34
|
+
major_optimality_tol,major_feasibility_tol,minor_feasibility_tol,major_iterations_limit,oritation_constraint_tol,pos_constraint_tol,pos_cost_weight
|
|
35
|
+
|
|
36
|
+
:param args: complete set of field values, in .msg order
|
|
37
|
+
:param kwds: use keyword arguments corresponding to message field names
|
|
38
|
+
to set specific fields.
|
|
39
|
+
"""
|
|
40
|
+
if args or kwds:
|
|
41
|
+
super(ikSolveParam, self).__init__(*args, **kwds)
|
|
42
|
+
# message fields cannot be None, assign default values for those that are
|
|
43
|
+
if self.major_optimality_tol is None:
|
|
44
|
+
self.major_optimality_tol = 0.
|
|
45
|
+
if self.major_feasibility_tol is None:
|
|
46
|
+
self.major_feasibility_tol = 0.
|
|
47
|
+
if self.minor_feasibility_tol is None:
|
|
48
|
+
self.minor_feasibility_tol = 0.
|
|
49
|
+
if self.major_iterations_limit is None:
|
|
50
|
+
self.major_iterations_limit = 0.
|
|
51
|
+
if self.oritation_constraint_tol is None:
|
|
52
|
+
self.oritation_constraint_tol = 0.
|
|
53
|
+
if self.pos_constraint_tol is None:
|
|
54
|
+
self.pos_constraint_tol = 0.
|
|
55
|
+
if self.pos_cost_weight is None:
|
|
56
|
+
self.pos_cost_weight = 0.
|
|
57
|
+
else:
|
|
58
|
+
self.major_optimality_tol = 0.
|
|
59
|
+
self.major_feasibility_tol = 0.
|
|
60
|
+
self.minor_feasibility_tol = 0.
|
|
61
|
+
self.major_iterations_limit = 0.
|
|
62
|
+
self.oritation_constraint_tol = 0.
|
|
63
|
+
self.pos_constraint_tol = 0.
|
|
64
|
+
self.pos_cost_weight = 0.
|
|
65
|
+
|
|
66
|
+
def _get_types(self):
|
|
67
|
+
"""
|
|
68
|
+
internal API method
|
|
69
|
+
"""
|
|
70
|
+
return self._slot_types
|
|
71
|
+
|
|
72
|
+
def serialize(self, buff):
|
|
73
|
+
"""
|
|
74
|
+
serialize message into buffer
|
|
75
|
+
:param buff: buffer, ``StringIO``
|
|
76
|
+
"""
|
|
77
|
+
try:
|
|
78
|
+
_x = self
|
|
79
|
+
buff.write(_get_struct_7d().pack(_x.major_optimality_tol, _x.major_feasibility_tol, _x.minor_feasibility_tol, _x.major_iterations_limit, _x.oritation_constraint_tol, _x.pos_constraint_tol, _x.pos_cost_weight))
|
|
80
|
+
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
|
|
81
|
+
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
|
|
82
|
+
|
|
83
|
+
def deserialize(self, str):
|
|
84
|
+
"""
|
|
85
|
+
unpack serialized message in str into this message instance
|
|
86
|
+
:param str: byte array of serialized message, ``str``
|
|
87
|
+
"""
|
|
88
|
+
if python3:
|
|
89
|
+
codecs.lookup_error("rosmsg").msg_type = self._type
|
|
90
|
+
try:
|
|
91
|
+
end = 0
|
|
92
|
+
_x = self
|
|
93
|
+
start = end
|
|
94
|
+
end += 56
|
|
95
|
+
(_x.major_optimality_tol, _x.major_feasibility_tol, _x.minor_feasibility_tol, _x.major_iterations_limit, _x.oritation_constraint_tol, _x.pos_constraint_tol, _x.pos_cost_weight,) = _get_struct_7d().unpack(str[start:end])
|
|
96
|
+
return self
|
|
97
|
+
except struct.error as e:
|
|
98
|
+
raise genpy.DeserializationError(e) # most likely buffer underfill
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def serialize_numpy(self, buff, numpy):
|
|
102
|
+
"""
|
|
103
|
+
serialize message with numpy array types into buffer
|
|
104
|
+
:param buff: buffer, ``StringIO``
|
|
105
|
+
:param numpy: numpy python module
|
|
106
|
+
"""
|
|
107
|
+
try:
|
|
108
|
+
_x = self
|
|
109
|
+
buff.write(_get_struct_7d().pack(_x.major_optimality_tol, _x.major_feasibility_tol, _x.minor_feasibility_tol, _x.major_iterations_limit, _x.oritation_constraint_tol, _x.pos_constraint_tol, _x.pos_cost_weight))
|
|
110
|
+
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
|
|
111
|
+
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
|
|
112
|
+
|
|
113
|
+
def deserialize_numpy(self, str, numpy):
|
|
114
|
+
"""
|
|
115
|
+
unpack serialized message in str into this message instance using numpy for array types
|
|
116
|
+
:param str: byte array of serialized message, ``str``
|
|
117
|
+
:param numpy: numpy python module
|
|
118
|
+
"""
|
|
119
|
+
if python3:
|
|
120
|
+
codecs.lookup_error("rosmsg").msg_type = self._type
|
|
121
|
+
try:
|
|
122
|
+
end = 0
|
|
123
|
+
_x = self
|
|
124
|
+
start = end
|
|
125
|
+
end += 56
|
|
126
|
+
(_x.major_optimality_tol, _x.major_feasibility_tol, _x.minor_feasibility_tol, _x.major_iterations_limit, _x.oritation_constraint_tol, _x.pos_constraint_tol, _x.pos_cost_weight,) = _get_struct_7d().unpack(str[start:end])
|
|
127
|
+
return self
|
|
128
|
+
except struct.error as e:
|
|
129
|
+
raise genpy.DeserializationError(e) # most likely buffer underfill
|
|
130
|
+
|
|
131
|
+
_struct_I = genpy.struct_I
|
|
132
|
+
def _get_struct_I():
|
|
133
|
+
global _struct_I
|
|
134
|
+
return _struct_I
|
|
135
|
+
_struct_7d = None
|
|
136
|
+
def _get_struct_7d():
|
|
137
|
+
global _struct_7d
|
|
138
|
+
if _struct_7d is None:
|
|
139
|
+
_struct_7d = struct.Struct("<7d")
|
|
140
|
+
return _struct_7d
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# This Python file uses the following encoding: utf-8
|
|
2
|
+
"""autogenerated by genpy from kuavo_msgs/imuData.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
|
+
|
|
11
|
+
class imuData(genpy.Message):
|
|
12
|
+
_md5sum = "6406067cf839b39a677ae809cd04646a"
|
|
13
|
+
_type = "kuavo_msgs/imuData"
|
|
14
|
+
_has_header = False # flag to mark the presence of a Header object
|
|
15
|
+
_full_text = """geometry_msgs/Vector3 gyro #陀螺仪数据
|
|
16
|
+
geometry_msgs/Vector3 acc #加速计数据
|
|
17
|
+
geometry_msgs/Vector3 free_acc #无重力加速度数据
|
|
18
|
+
geometry_msgs/Quaternion quat #四元数数据
|
|
19
|
+
|
|
20
|
+
================================================================================
|
|
21
|
+
MSG: geometry_msgs/Vector3
|
|
22
|
+
# This represents a vector in free space.
|
|
23
|
+
# It is only meant to represent a direction. Therefore, it does not
|
|
24
|
+
# make sense to apply a translation to it (e.g., when applying a
|
|
25
|
+
# generic rigid transformation to a Vector3, tf2 will only apply the
|
|
26
|
+
# rotation). If you want your data to be translatable too, use the
|
|
27
|
+
# geometry_msgs/Point message instead.
|
|
28
|
+
|
|
29
|
+
float64 x
|
|
30
|
+
float64 y
|
|
31
|
+
float64 z
|
|
32
|
+
================================================================================
|
|
33
|
+
MSG: geometry_msgs/Quaternion
|
|
34
|
+
# This represents an orientation in free space in quaternion form.
|
|
35
|
+
|
|
36
|
+
float64 x
|
|
37
|
+
float64 y
|
|
38
|
+
float64 z
|
|
39
|
+
float64 w
|
|
40
|
+
"""
|
|
41
|
+
__slots__ = ['gyro','acc','free_acc','quat']
|
|
42
|
+
_slot_types = ['geometry_msgs/Vector3','geometry_msgs/Vector3','geometry_msgs/Vector3','geometry_msgs/Quaternion']
|
|
43
|
+
|
|
44
|
+
def __init__(self, *args, **kwds):
|
|
45
|
+
"""
|
|
46
|
+
Constructor. Any message fields that are implicitly/explicitly
|
|
47
|
+
set to None will be assigned a default value. The recommend
|
|
48
|
+
use is keyword arguments as this is more robust to future message
|
|
49
|
+
changes. You cannot mix in-order arguments and keyword arguments.
|
|
50
|
+
|
|
51
|
+
The available fields are:
|
|
52
|
+
gyro,acc,free_acc,quat
|
|
53
|
+
|
|
54
|
+
:param args: complete set of field values, in .msg order
|
|
55
|
+
:param kwds: use keyword arguments corresponding to message field names
|
|
56
|
+
to set specific fields.
|
|
57
|
+
"""
|
|
58
|
+
if args or kwds:
|
|
59
|
+
super(imuData, self).__init__(*args, **kwds)
|
|
60
|
+
# message fields cannot be None, assign default values for those that are
|
|
61
|
+
if self.gyro is None:
|
|
62
|
+
self.gyro = geometry_msgs.msg.Vector3()
|
|
63
|
+
if self.acc is None:
|
|
64
|
+
self.acc = geometry_msgs.msg.Vector3()
|
|
65
|
+
if self.free_acc is None:
|
|
66
|
+
self.free_acc = geometry_msgs.msg.Vector3()
|
|
67
|
+
if self.quat is None:
|
|
68
|
+
self.quat = geometry_msgs.msg.Quaternion()
|
|
69
|
+
else:
|
|
70
|
+
self.gyro = geometry_msgs.msg.Vector3()
|
|
71
|
+
self.acc = geometry_msgs.msg.Vector3()
|
|
72
|
+
self.free_acc = geometry_msgs.msg.Vector3()
|
|
73
|
+
self.quat = geometry_msgs.msg.Quaternion()
|
|
74
|
+
|
|
75
|
+
def _get_types(self):
|
|
76
|
+
"""
|
|
77
|
+
internal API method
|
|
78
|
+
"""
|
|
79
|
+
return self._slot_types
|
|
80
|
+
|
|
81
|
+
def serialize(self, buff):
|
|
82
|
+
"""
|
|
83
|
+
serialize message into buffer
|
|
84
|
+
:param buff: buffer, ``StringIO``
|
|
85
|
+
"""
|
|
86
|
+
try:
|
|
87
|
+
_x = self
|
|
88
|
+
buff.write(_get_struct_13d().pack(_x.gyro.x, _x.gyro.y, _x.gyro.z, _x.acc.x, _x.acc.y, _x.acc.z, _x.free_acc.x, _x.free_acc.y, _x.free_acc.z, _x.quat.x, _x.quat.y, _x.quat.z, _x.quat.w))
|
|
89
|
+
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
|
|
90
|
+
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
|
|
91
|
+
|
|
92
|
+
def deserialize(self, str):
|
|
93
|
+
"""
|
|
94
|
+
unpack serialized message in str into this message instance
|
|
95
|
+
:param str: byte array of serialized message, ``str``
|
|
96
|
+
"""
|
|
97
|
+
if python3:
|
|
98
|
+
codecs.lookup_error("rosmsg").msg_type = self._type
|
|
99
|
+
try:
|
|
100
|
+
if self.gyro is None:
|
|
101
|
+
self.gyro = geometry_msgs.msg.Vector3()
|
|
102
|
+
if self.acc is None:
|
|
103
|
+
self.acc = geometry_msgs.msg.Vector3()
|
|
104
|
+
if self.free_acc is None:
|
|
105
|
+
self.free_acc = geometry_msgs.msg.Vector3()
|
|
106
|
+
if self.quat is None:
|
|
107
|
+
self.quat = geometry_msgs.msg.Quaternion()
|
|
108
|
+
end = 0
|
|
109
|
+
_x = self
|
|
110
|
+
start = end
|
|
111
|
+
end += 104
|
|
112
|
+
(_x.gyro.x, _x.gyro.y, _x.gyro.z, _x.acc.x, _x.acc.y, _x.acc.z, _x.free_acc.x, _x.free_acc.y, _x.free_acc.z, _x.quat.x, _x.quat.y, _x.quat.z, _x.quat.w,) = _get_struct_13d().unpack(str[start:end])
|
|
113
|
+
return self
|
|
114
|
+
except struct.error as e:
|
|
115
|
+
raise genpy.DeserializationError(e) # most likely buffer underfill
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def serialize_numpy(self, buff, numpy):
|
|
119
|
+
"""
|
|
120
|
+
serialize message with numpy array types into buffer
|
|
121
|
+
:param buff: buffer, ``StringIO``
|
|
122
|
+
:param numpy: numpy python module
|
|
123
|
+
"""
|
|
124
|
+
try:
|
|
125
|
+
_x = self
|
|
126
|
+
buff.write(_get_struct_13d().pack(_x.gyro.x, _x.gyro.y, _x.gyro.z, _x.acc.x, _x.acc.y, _x.acc.z, _x.free_acc.x, _x.free_acc.y, _x.free_acc.z, _x.quat.x, _x.quat.y, _x.quat.z, _x.quat.w))
|
|
127
|
+
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
|
|
128
|
+
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
|
|
129
|
+
|
|
130
|
+
def deserialize_numpy(self, str, numpy):
|
|
131
|
+
"""
|
|
132
|
+
unpack serialized message in str into this message instance using numpy for array types
|
|
133
|
+
:param str: byte array of serialized message, ``str``
|
|
134
|
+
:param numpy: numpy python module
|
|
135
|
+
"""
|
|
136
|
+
if python3:
|
|
137
|
+
codecs.lookup_error("rosmsg").msg_type = self._type
|
|
138
|
+
try:
|
|
139
|
+
if self.gyro is None:
|
|
140
|
+
self.gyro = geometry_msgs.msg.Vector3()
|
|
141
|
+
if self.acc is None:
|
|
142
|
+
self.acc = geometry_msgs.msg.Vector3()
|
|
143
|
+
if self.free_acc is None:
|
|
144
|
+
self.free_acc = geometry_msgs.msg.Vector3()
|
|
145
|
+
if self.quat is None:
|
|
146
|
+
self.quat = geometry_msgs.msg.Quaternion()
|
|
147
|
+
end = 0
|
|
148
|
+
_x = self
|
|
149
|
+
start = end
|
|
150
|
+
end += 104
|
|
151
|
+
(_x.gyro.x, _x.gyro.y, _x.gyro.z, _x.acc.x, _x.acc.y, _x.acc.z, _x.free_acc.x, _x.free_acc.y, _x.free_acc.z, _x.quat.x, _x.quat.y, _x.quat.z, _x.quat.w,) = _get_struct_13d().unpack(str[start:end])
|
|
152
|
+
return self
|
|
153
|
+
except struct.error as e:
|
|
154
|
+
raise genpy.DeserializationError(e) # most likely buffer underfill
|
|
155
|
+
|
|
156
|
+
_struct_I = genpy.struct_I
|
|
157
|
+
def _get_struct_I():
|
|
158
|
+
global _struct_I
|
|
159
|
+
return _struct_I
|
|
160
|
+
_struct_13d = None
|
|
161
|
+
def _get_struct_13d():
|
|
162
|
+
global _struct_13d
|
|
163
|
+
if _struct_13d is None:
|
|
164
|
+
_struct_13d = struct.Struct("<13d")
|
|
165
|
+
return _struct_13d
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# This Python file uses the following encoding: utf-8
|
|
2
|
+
"""autogenerated by genpy from kuavo_msgs/jointBezierTrajectory.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 jointBezierTrajectory(genpy.Message):
|
|
12
|
+
_md5sum = "734a11eb72071b59bdbb297c6a53338c"
|
|
13
|
+
_type = "kuavo_msgs/jointBezierTrajectory"
|
|
14
|
+
_has_header = False # flag to mark the presence of a Header object
|
|
15
|
+
_full_text = """kuavo_msgs/bezierCurveCubicPoint[] bezier_curve_points
|
|
16
|
+
|
|
17
|
+
================================================================================
|
|
18
|
+
MSG: kuavo_msgs/bezierCurveCubicPoint
|
|
19
|
+
# [x, y] x is time, y is value
|
|
20
|
+
|
|
21
|
+
float64[] end_point
|
|
22
|
+
float64[] left_control_point
|
|
23
|
+
float64[] right_control_point"""
|
|
24
|
+
__slots__ = ['bezier_curve_points']
|
|
25
|
+
_slot_types = ['kuavo_msgs/bezierCurveCubicPoint[]']
|
|
26
|
+
|
|
27
|
+
def __init__(self, *args, **kwds):
|
|
28
|
+
"""
|
|
29
|
+
Constructor. Any message fields that are implicitly/explicitly
|
|
30
|
+
set to None will be assigned a default value. The recommend
|
|
31
|
+
use is keyword arguments as this is more robust to future message
|
|
32
|
+
changes. You cannot mix in-order arguments and keyword arguments.
|
|
33
|
+
|
|
34
|
+
The available fields are:
|
|
35
|
+
bezier_curve_points
|
|
36
|
+
|
|
37
|
+
:param args: complete set of field values, in .msg order
|
|
38
|
+
:param kwds: use keyword arguments corresponding to message field names
|
|
39
|
+
to set specific fields.
|
|
40
|
+
"""
|
|
41
|
+
if args or kwds:
|
|
42
|
+
super(jointBezierTrajectory, self).__init__(*args, **kwds)
|
|
43
|
+
# message fields cannot be None, assign default values for those that are
|
|
44
|
+
if self.bezier_curve_points is None:
|
|
45
|
+
self.bezier_curve_points = []
|
|
46
|
+
else:
|
|
47
|
+
self.bezier_curve_points = []
|
|
48
|
+
|
|
49
|
+
def _get_types(self):
|
|
50
|
+
"""
|
|
51
|
+
internal API method
|
|
52
|
+
"""
|
|
53
|
+
return self._slot_types
|
|
54
|
+
|
|
55
|
+
def serialize(self, buff):
|
|
56
|
+
"""
|
|
57
|
+
serialize message into buffer
|
|
58
|
+
:param buff: buffer, ``StringIO``
|
|
59
|
+
"""
|
|
60
|
+
try:
|
|
61
|
+
length = len(self.bezier_curve_points)
|
|
62
|
+
buff.write(_struct_I.pack(length))
|
|
63
|
+
for val1 in self.bezier_curve_points:
|
|
64
|
+
length = len(val1.end_point)
|
|
65
|
+
buff.write(_struct_I.pack(length))
|
|
66
|
+
pattern = '<%sd'%length
|
|
67
|
+
buff.write(struct.Struct(pattern).pack(*val1.end_point))
|
|
68
|
+
length = len(val1.left_control_point)
|
|
69
|
+
buff.write(_struct_I.pack(length))
|
|
70
|
+
pattern = '<%sd'%length
|
|
71
|
+
buff.write(struct.Struct(pattern).pack(*val1.left_control_point))
|
|
72
|
+
length = len(val1.right_control_point)
|
|
73
|
+
buff.write(_struct_I.pack(length))
|
|
74
|
+
pattern = '<%sd'%length
|
|
75
|
+
buff.write(struct.Struct(pattern).pack(*val1.right_control_point))
|
|
76
|
+
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
|
|
77
|
+
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
|
|
78
|
+
|
|
79
|
+
def deserialize(self, str):
|
|
80
|
+
"""
|
|
81
|
+
unpack serialized message in str into this message instance
|
|
82
|
+
:param str: byte array of serialized message, ``str``
|
|
83
|
+
"""
|
|
84
|
+
if python3:
|
|
85
|
+
codecs.lookup_error("rosmsg").msg_type = self._type
|
|
86
|
+
try:
|
|
87
|
+
if self.bezier_curve_points is None:
|
|
88
|
+
self.bezier_curve_points = None
|
|
89
|
+
end = 0
|
|
90
|
+
start = end
|
|
91
|
+
end += 4
|
|
92
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
93
|
+
self.bezier_curve_points = []
|
|
94
|
+
for i in range(0, length):
|
|
95
|
+
val1 = kuavo_msgs.msg.bezierCurveCubicPoint()
|
|
96
|
+
start = end
|
|
97
|
+
end += 4
|
|
98
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
99
|
+
pattern = '<%sd'%length
|
|
100
|
+
start = end
|
|
101
|
+
s = struct.Struct(pattern)
|
|
102
|
+
end += s.size
|
|
103
|
+
val1.end_point = s.unpack(str[start:end])
|
|
104
|
+
start = end
|
|
105
|
+
end += 4
|
|
106
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
107
|
+
pattern = '<%sd'%length
|
|
108
|
+
start = end
|
|
109
|
+
s = struct.Struct(pattern)
|
|
110
|
+
end += s.size
|
|
111
|
+
val1.left_control_point = s.unpack(str[start:end])
|
|
112
|
+
start = end
|
|
113
|
+
end += 4
|
|
114
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
115
|
+
pattern = '<%sd'%length
|
|
116
|
+
start = end
|
|
117
|
+
s = struct.Struct(pattern)
|
|
118
|
+
end += s.size
|
|
119
|
+
val1.right_control_point = s.unpack(str[start:end])
|
|
120
|
+
self.bezier_curve_points.append(val1)
|
|
121
|
+
return self
|
|
122
|
+
except struct.error as e:
|
|
123
|
+
raise genpy.DeserializationError(e) # most likely buffer underfill
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def serialize_numpy(self, buff, numpy):
|
|
127
|
+
"""
|
|
128
|
+
serialize message with numpy array types into buffer
|
|
129
|
+
:param buff: buffer, ``StringIO``
|
|
130
|
+
:param numpy: numpy python module
|
|
131
|
+
"""
|
|
132
|
+
try:
|
|
133
|
+
length = len(self.bezier_curve_points)
|
|
134
|
+
buff.write(_struct_I.pack(length))
|
|
135
|
+
for val1 in self.bezier_curve_points:
|
|
136
|
+
length = len(val1.end_point)
|
|
137
|
+
buff.write(_struct_I.pack(length))
|
|
138
|
+
pattern = '<%sd'%length
|
|
139
|
+
buff.write(val1.end_point.tostring())
|
|
140
|
+
length = len(val1.left_control_point)
|
|
141
|
+
buff.write(_struct_I.pack(length))
|
|
142
|
+
pattern = '<%sd'%length
|
|
143
|
+
buff.write(val1.left_control_point.tostring())
|
|
144
|
+
length = len(val1.right_control_point)
|
|
145
|
+
buff.write(_struct_I.pack(length))
|
|
146
|
+
pattern = '<%sd'%length
|
|
147
|
+
buff.write(val1.right_control_point.tostring())
|
|
148
|
+
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
|
|
149
|
+
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
|
|
150
|
+
|
|
151
|
+
def deserialize_numpy(self, str, numpy):
|
|
152
|
+
"""
|
|
153
|
+
unpack serialized message in str into this message instance using numpy for array types
|
|
154
|
+
:param str: byte array of serialized message, ``str``
|
|
155
|
+
:param numpy: numpy python module
|
|
156
|
+
"""
|
|
157
|
+
if python3:
|
|
158
|
+
codecs.lookup_error("rosmsg").msg_type = self._type
|
|
159
|
+
try:
|
|
160
|
+
if self.bezier_curve_points is None:
|
|
161
|
+
self.bezier_curve_points = None
|
|
162
|
+
end = 0
|
|
163
|
+
start = end
|
|
164
|
+
end += 4
|
|
165
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
166
|
+
self.bezier_curve_points = []
|
|
167
|
+
for i in range(0, length):
|
|
168
|
+
val1 = kuavo_msgs.msg.bezierCurveCubicPoint()
|
|
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
|
+
val1.end_point = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
|
|
177
|
+
start = end
|
|
178
|
+
end += 4
|
|
179
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
180
|
+
pattern = '<%sd'%length
|
|
181
|
+
start = end
|
|
182
|
+
s = struct.Struct(pattern)
|
|
183
|
+
end += s.size
|
|
184
|
+
val1.left_control_point = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
|
|
185
|
+
start = end
|
|
186
|
+
end += 4
|
|
187
|
+
(length,) = _struct_I.unpack(str[start:end])
|
|
188
|
+
pattern = '<%sd'%length
|
|
189
|
+
start = end
|
|
190
|
+
s = struct.Struct(pattern)
|
|
191
|
+
end += s.size
|
|
192
|
+
val1.right_control_point = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
|
|
193
|
+
self.bezier_curve_points.append(val1)
|
|
194
|
+
return self
|
|
195
|
+
except struct.error as e:
|
|
196
|
+
raise genpy.DeserializationError(e) # most likely buffer underfill
|
|
197
|
+
|
|
198
|
+
_struct_I = genpy.struct_I
|
|
199
|
+
def _get_struct_I():
|
|
200
|
+
global _struct_I
|
|
201
|
+
return _struct_I
|