kuavo-humanoid-sdk 1.1.9__20250627185317-py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of kuavo-humanoid-sdk might be problematic. Click here for more details.

Files changed (132) hide show
  1. kuavo_humanoid_sdk/__init__.py +6 -0
  2. kuavo_humanoid_sdk/common/logger.py +45 -0
  3. kuavo_humanoid_sdk/interfaces/__init__.py +4 -0
  4. kuavo_humanoid_sdk/interfaces/data_types.py +276 -0
  5. kuavo_humanoid_sdk/interfaces/end_effector.py +62 -0
  6. kuavo_humanoid_sdk/interfaces/robot.py +22 -0
  7. kuavo_humanoid_sdk/interfaces/robot_info.py +56 -0
  8. kuavo_humanoid_sdk/kuavo/__init__.py +11 -0
  9. kuavo_humanoid_sdk/kuavo/core/audio.py +32 -0
  10. kuavo_humanoid_sdk/kuavo/core/core.py +612 -0
  11. kuavo_humanoid_sdk/kuavo/core/dex_hand_control.py +114 -0
  12. kuavo_humanoid_sdk/kuavo/core/leju_claw_control.py +67 -0
  13. kuavo_humanoid_sdk/kuavo/core/ros/audio.py +92 -0
  14. kuavo_humanoid_sdk/kuavo/core/ros/control.py +1309 -0
  15. kuavo_humanoid_sdk/kuavo/core/ros/observation.py +94 -0
  16. kuavo_humanoid_sdk/kuavo/core/ros/param.py +183 -0
  17. kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py +103 -0
  18. kuavo_humanoid_sdk/kuavo/core/ros/state.py +605 -0
  19. kuavo_humanoid_sdk/kuavo/core/ros/tools.py +219 -0
  20. kuavo_humanoid_sdk/kuavo/core/ros/vision.py +234 -0
  21. kuavo_humanoid_sdk/kuavo/core/ros_env.py +237 -0
  22. kuavo_humanoid_sdk/kuavo/dexterous_hand.py +201 -0
  23. kuavo_humanoid_sdk/kuavo/leju_claw.py +235 -0
  24. kuavo_humanoid_sdk/kuavo/robot.py +465 -0
  25. kuavo_humanoid_sdk/kuavo/robot_arm.py +210 -0
  26. kuavo_humanoid_sdk/kuavo/robot_audio.py +39 -0
  27. kuavo_humanoid_sdk/kuavo/robot_head.py +50 -0
  28. kuavo_humanoid_sdk/kuavo/robot_info.py +113 -0
  29. kuavo_humanoid_sdk/kuavo/robot_observation.py +64 -0
  30. kuavo_humanoid_sdk/kuavo/robot_state.py +299 -0
  31. kuavo_humanoid_sdk/kuavo/robot_tool.py +82 -0
  32. kuavo_humanoid_sdk/kuavo/robot_vision.py +83 -0
  33. kuavo_humanoid_sdk/kuavo_strategy/__init__.py +2 -0
  34. kuavo_humanoid_sdk/kuavo_strategy/grasp_box/grasp_box_strategy.py +1126 -0
  35. kuavo_humanoid_sdk/kuavo_strategy/kuavo_strategy.py +104 -0
  36. kuavo_humanoid_sdk/msg/__init__.py +4 -0
  37. kuavo_humanoid_sdk/msg/kuavo_msgs/__init__.py +7 -0
  38. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetection.py +306 -0
  39. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetectionArray.py +437 -0
  40. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py +199 -0
  41. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_RobotActionState.py +112 -0
  42. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TFArray.py +323 -0
  43. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +44 -0
  44. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPose.py +160 -0
  45. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py +168 -0
  46. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py +151 -0
  47. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_bezierCurveCubicPoint.py +178 -0
  48. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py +229 -0
  49. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandTouchState.py +256 -0
  50. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_endEffectorData.py +227 -0
  51. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose.py +123 -0
  52. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py +301 -0
  53. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses.py +149 -0
  54. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_fullBodyTargetTrajectories.py +258 -0
  55. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py +147 -0
  56. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py +218 -0
  57. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py +149 -0
  58. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_handPose.py +136 -0
  59. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py +145 -0
  60. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveError.py +171 -0
  61. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveParam.py +140 -0
  62. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py +165 -0
  63. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointBezierTrajectory.py +201 -0
  64. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py +390 -0
  65. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py +205 -0
  66. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py +320 -0
  67. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py +341 -0
  68. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_motorParam.py +122 -0
  69. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_planArmState.py +120 -0
  70. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_questJoySticks.py +191 -0
  71. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_qv.py +121 -0
  72. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotArmQVVD.py +177 -0
  73. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py +225 -0
  74. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py +128 -0
  75. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py +222 -0
  76. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py +495 -0
  77. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py +200 -0
  78. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py +162 -0
  79. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPose.py +272 -0
  80. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmd.py +315 -0
  81. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py +251 -0
  82. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py +168 -0
  83. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_ExecuteArmAction.py +281 -0
  84. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_RepublishTFs.py +373 -0
  85. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetJoyTopic.py +282 -0
  86. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py +270 -0
  87. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +28 -0
  88. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py +275 -0
  89. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlModeKuavo.py +236 -0
  90. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeMotorParam.py +299 -0
  91. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py +274 -0
  92. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py +408 -0
  93. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py +304 -0
  94. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_fkSrv.py +394 -0
  95. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py +409 -0
  96. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py +339 -0
  97. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py +257 -0
  98. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py +418 -0
  99. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py +253 -0
  100. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorParam.py +299 -0
  101. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py +330 -0
  102. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py +302 -0
  103. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryBezierCurve.py +421 -0
  104. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryCubicSpline.py +490 -0
  105. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +268 -0
  106. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py +304 -0
  107. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMmCtrlFrame.py +273 -0
  108. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py +283 -0
  109. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py +275 -0
  110. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py +444 -0
  111. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdSrv.py +662 -0
  112. kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py +7 -0
  113. kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py +7 -0
  114. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py +12 -0
  115. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py +142 -0
  116. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_controller_data.py +121 -0
  117. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_lagrangian_metrics.py +148 -0
  118. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mode_schedule.py +150 -0
  119. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_flattened_controller.py +666 -0
  120. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_input.py +122 -0
  121. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_observation.py +209 -0
  122. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_performance_indices.py +140 -0
  123. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_solver_data.py +886 -0
  124. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_state.py +122 -0
  125. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py +239 -0
  126. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py +148 -0
  127. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +1 -0
  128. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py +376 -0
  129. kuavo_humanoid_sdk-1.1.9.dist-info/METADATA +291 -0
  130. kuavo_humanoid_sdk-1.1.9.dist-info/RECORD +132 -0
  131. kuavo_humanoid_sdk-1.1.9.dist-info/WHEEL +6 -0
  132. kuavo_humanoid_sdk-1.1.9.dist-info/top_level.txt +1 -0
@@ -0,0 +1,227 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/endEffectorData.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 endEffectorData(genpy.Message):
11
+ _md5sum = "5703dc153b077fbca188a602cb8df8ed"
12
+ _type = "kuavo_msgs/endEffectorData"
13
+ _has_header = False # flag to mark the presence of a Header object
14
+ _full_text = """string[] name
15
+ float64[] position
16
+ float64[] velocity
17
+ float64[] effort
18
+ """
19
+ __slots__ = ['name','position','velocity','effort']
20
+ _slot_types = ['string[]','float64[]','float64[]','float64[]']
21
+
22
+ def __init__(self, *args, **kwds):
23
+ """
24
+ Constructor. Any message fields that are implicitly/explicitly
25
+ set to None will be assigned a default value. The recommend
26
+ use is keyword arguments as this is more robust to future message
27
+ changes. You cannot mix in-order arguments and keyword arguments.
28
+
29
+ The available fields are:
30
+ name,position,velocity,effort
31
+
32
+ :param args: complete set of field values, in .msg order
33
+ :param kwds: use keyword arguments corresponding to message field names
34
+ to set specific fields.
35
+ """
36
+ if args or kwds:
37
+ super(endEffectorData, self).__init__(*args, **kwds)
38
+ # message fields cannot be None, assign default values for those that are
39
+ if self.name is None:
40
+ self.name = []
41
+ if self.position is None:
42
+ self.position = []
43
+ if self.velocity is None:
44
+ self.velocity = []
45
+ if self.effort is None:
46
+ self.effort = []
47
+ else:
48
+ self.name = []
49
+ self.position = []
50
+ self.velocity = []
51
+ self.effort = []
52
+
53
+ def _get_types(self):
54
+ """
55
+ internal API method
56
+ """
57
+ return self._slot_types
58
+
59
+ def serialize(self, buff):
60
+ """
61
+ serialize message into buffer
62
+ :param buff: buffer, ``StringIO``
63
+ """
64
+ try:
65
+ length = len(self.name)
66
+ buff.write(_struct_I.pack(length))
67
+ for val1 in self.name:
68
+ length = len(val1)
69
+ if python3 or type(val1) == unicode:
70
+ val1 = val1.encode('utf-8')
71
+ length = len(val1)
72
+ buff.write(struct.Struct('<I%ss'%length).pack(length, val1))
73
+ length = len(self.position)
74
+ buff.write(_struct_I.pack(length))
75
+ pattern = '<%sd'%length
76
+ buff.write(struct.Struct(pattern).pack(*self.position))
77
+ length = len(self.velocity)
78
+ buff.write(_struct_I.pack(length))
79
+ pattern = '<%sd'%length
80
+ buff.write(struct.Struct(pattern).pack(*self.velocity))
81
+ length = len(self.effort)
82
+ buff.write(_struct_I.pack(length))
83
+ pattern = '<%sd'%length
84
+ buff.write(struct.Struct(pattern).pack(*self.effort))
85
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
86
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
87
+
88
+ def deserialize(self, str):
89
+ """
90
+ unpack serialized message in str into this message instance
91
+ :param str: byte array of serialized message, ``str``
92
+ """
93
+ if python3:
94
+ codecs.lookup_error("rosmsg").msg_type = self._type
95
+ try:
96
+ end = 0
97
+ start = end
98
+ end += 4
99
+ (length,) = _struct_I.unpack(str[start:end])
100
+ self.name = []
101
+ for i in range(0, length):
102
+ start = end
103
+ end += 4
104
+ (length,) = _struct_I.unpack(str[start:end])
105
+ start = end
106
+ end += length
107
+ if python3:
108
+ val1 = str[start:end].decode('utf-8', 'rosmsg')
109
+ else:
110
+ val1 = str[start:end]
111
+ self.name.append(val1)
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
+ self.position = s.unpack(str[start:end])
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.velocity = s.unpack(str[start:end])
128
+ start = end
129
+ end += 4
130
+ (length,) = _struct_I.unpack(str[start:end])
131
+ pattern = '<%sd'%length
132
+ start = end
133
+ s = struct.Struct(pattern)
134
+ end += s.size
135
+ self.effort = s.unpack(str[start:end])
136
+ return self
137
+ except struct.error as e:
138
+ raise genpy.DeserializationError(e) # most likely buffer underfill
139
+
140
+
141
+ def serialize_numpy(self, buff, numpy):
142
+ """
143
+ serialize message with numpy array types into buffer
144
+ :param buff: buffer, ``StringIO``
145
+ :param numpy: numpy python module
146
+ """
147
+ try:
148
+ length = len(self.name)
149
+ buff.write(_struct_I.pack(length))
150
+ for val1 in self.name:
151
+ length = len(val1)
152
+ if python3 or type(val1) == unicode:
153
+ val1 = val1.encode('utf-8')
154
+ length = len(val1)
155
+ buff.write(struct.Struct('<I%ss'%length).pack(length, val1))
156
+ length = len(self.position)
157
+ buff.write(_struct_I.pack(length))
158
+ pattern = '<%sd'%length
159
+ buff.write(self.position.tostring())
160
+ length = len(self.velocity)
161
+ buff.write(_struct_I.pack(length))
162
+ pattern = '<%sd'%length
163
+ buff.write(self.velocity.tostring())
164
+ length = len(self.effort)
165
+ buff.write(_struct_I.pack(length))
166
+ pattern = '<%sd'%length
167
+ buff.write(self.effort.tostring())
168
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
169
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
170
+
171
+ def deserialize_numpy(self, str, numpy):
172
+ """
173
+ unpack serialized message in str into this message instance using numpy for array types
174
+ :param str: byte array of serialized message, ``str``
175
+ :param numpy: numpy python module
176
+ """
177
+ if python3:
178
+ codecs.lookup_error("rosmsg").msg_type = self._type
179
+ try:
180
+ end = 0
181
+ start = end
182
+ end += 4
183
+ (length,) = _struct_I.unpack(str[start:end])
184
+ self.name = []
185
+ for i in range(0, length):
186
+ start = end
187
+ end += 4
188
+ (length,) = _struct_I.unpack(str[start:end])
189
+ start = end
190
+ end += length
191
+ if python3:
192
+ val1 = str[start:end].decode('utf-8', 'rosmsg')
193
+ else:
194
+ val1 = str[start:end]
195
+ self.name.append(val1)
196
+ start = end
197
+ end += 4
198
+ (length,) = _struct_I.unpack(str[start:end])
199
+ pattern = '<%sd'%length
200
+ start = end
201
+ s = struct.Struct(pattern)
202
+ end += s.size
203
+ self.position = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
204
+ start = end
205
+ end += 4
206
+ (length,) = _struct_I.unpack(str[start:end])
207
+ pattern = '<%sd'%length
208
+ start = end
209
+ s = struct.Struct(pattern)
210
+ end += s.size
211
+ self.velocity = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
212
+ start = end
213
+ end += 4
214
+ (length,) = _struct_I.unpack(str[start:end])
215
+ pattern = '<%sd'%length
216
+ start = end
217
+ s = struct.Struct(pattern)
218
+ end += s.size
219
+ self.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
220
+ return self
221
+ except struct.error as e:
222
+ raise genpy.DeserializationError(e) # most likely buffer underfill
223
+
224
+ _struct_I = genpy.struct_I
225
+ def _get_struct_I():
226
+ global _struct_I
227
+ return _struct_I
@@ -0,0 +1,123 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/footPose.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 footPose(genpy.Message):
11
+ _md5sum = "b0acb7ad1ed1ee5a0a630b91b650f49a"
12
+ _type = "kuavo_msgs/footPose"
13
+ _has_header = False # flag to mark the presence of a Header object
14
+ _full_text = """float64[4] footPose # x, y, z, yaw
15
+ float64[4] torsoPose # x, y, z, yaw
16
+ """
17
+ __slots__ = ['footPose','torsoPose']
18
+ _slot_types = ['float64[4]','float64[4]']
19
+
20
+ def __init__(self, *args, **kwds):
21
+ """
22
+ Constructor. Any message fields that are implicitly/explicitly
23
+ set to None will be assigned a default value. The recommend
24
+ use is keyword arguments as this is more robust to future message
25
+ changes. You cannot mix in-order arguments and keyword arguments.
26
+
27
+ The available fields are:
28
+ footPose,torsoPose
29
+
30
+ :param args: complete set of field values, in .msg order
31
+ :param kwds: use keyword arguments corresponding to message field names
32
+ to set specific fields.
33
+ """
34
+ if args or kwds:
35
+ super(footPose, self).__init__(*args, **kwds)
36
+ # message fields cannot be None, assign default values for those that are
37
+ if self.footPose is None:
38
+ self.footPose = [0.] * 4
39
+ if self.torsoPose is None:
40
+ self.torsoPose = [0.] * 4
41
+ else:
42
+ self.footPose = [0.] * 4
43
+ self.torsoPose = [0.] * 4
44
+
45
+ def _get_types(self):
46
+ """
47
+ internal API method
48
+ """
49
+ return self._slot_types
50
+
51
+ def serialize(self, buff):
52
+ """
53
+ serialize message into buffer
54
+ :param buff: buffer, ``StringIO``
55
+ """
56
+ try:
57
+ buff.write(_get_struct_4d().pack(*self.footPose))
58
+ buff.write(_get_struct_4d().pack(*self.torsoPose))
59
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
60
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
61
+
62
+ def deserialize(self, str):
63
+ """
64
+ unpack serialized message in str into this message instance
65
+ :param str: byte array of serialized message, ``str``
66
+ """
67
+ if python3:
68
+ codecs.lookup_error("rosmsg").msg_type = self._type
69
+ try:
70
+ end = 0
71
+ start = end
72
+ end += 32
73
+ self.footPose = _get_struct_4d().unpack(str[start:end])
74
+ start = end
75
+ end += 32
76
+ self.torsoPose = _get_struct_4d().unpack(str[start:end])
77
+ return self
78
+ except struct.error as e:
79
+ raise genpy.DeserializationError(e) # most likely buffer underfill
80
+
81
+
82
+ def serialize_numpy(self, buff, numpy):
83
+ """
84
+ serialize message with numpy array types into buffer
85
+ :param buff: buffer, ``StringIO``
86
+ :param numpy: numpy python module
87
+ """
88
+ try:
89
+ buff.write(self.footPose.tostring())
90
+ buff.write(self.torsoPose.tostring())
91
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
92
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
93
+
94
+ def deserialize_numpy(self, str, numpy):
95
+ """
96
+ unpack serialized message in str into this message instance using numpy for array types
97
+ :param str: byte array of serialized message, ``str``
98
+ :param numpy: numpy python module
99
+ """
100
+ if python3:
101
+ codecs.lookup_error("rosmsg").msg_type = self._type
102
+ try:
103
+ end = 0
104
+ start = end
105
+ end += 32
106
+ self.footPose = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
107
+ start = end
108
+ end += 32
109
+ self.torsoPose = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
110
+ return self
111
+ except struct.error as e:
112
+ raise genpy.DeserializationError(e) # most likely buffer underfill
113
+
114
+ _struct_I = genpy.struct_I
115
+ def _get_struct_I():
116
+ global _struct_I
117
+ return _struct_I
118
+ _struct_4d = None
119
+ def _get_struct_4d():
120
+ global _struct_4d
121
+ if _struct_4d is None:
122
+ _struct_4d = struct.Struct("<4d")
123
+ return _struct_4d
@@ -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