kuavo-humanoid-sdk 1.2.2__20250922181216-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 (137) 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/_JoySticks.py +191 -0
  41. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py +199 -0
  42. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_RobotActionState.py +112 -0
  43. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TFArray.py +323 -0
  44. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +48 -0
  45. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPose.py +160 -0
  46. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPoseFree.py +171 -0
  47. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py +168 -0
  48. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py +151 -0
  49. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_bezierCurveCubicPoint.py +178 -0
  50. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py +229 -0
  51. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandTouchState.py +256 -0
  52. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_endEffectorData.py +227 -0
  53. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose.py +123 -0
  54. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py +301 -0
  55. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses.py +149 -0
  56. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_fullBodyTargetTrajectories.py +258 -0
  57. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py +147 -0
  58. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py +218 -0
  59. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py +149 -0
  60. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_handPose.py +136 -0
  61. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py +145 -0
  62. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveError.py +171 -0
  63. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveParam.py +140 -0
  64. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py +165 -0
  65. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointBezierTrajectory.py +201 -0
  66. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py +390 -0
  67. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py +205 -0
  68. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py +320 -0
  69. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py +341 -0
  70. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_motorParam.py +122 -0
  71. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_planArmState.py +120 -0
  72. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_questJoySticks.py +191 -0
  73. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_qv.py +121 -0
  74. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotArmQVVD.py +177 -0
  75. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py +225 -0
  76. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py +128 -0
  77. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py +222 -0
  78. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py +495 -0
  79. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py +200 -0
  80. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py +162 -0
  81. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPose.py +272 -0
  82. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmd.py +315 -0
  83. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmdFree.py +338 -0
  84. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseFree.py +299 -0
  85. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py +251 -0
  86. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py +168 -0
  87. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_ExecuteArmAction.py +281 -0
  88. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_RepublishTFs.py +373 -0
  89. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetJoyTopic.py +282 -0
  90. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py +270 -0
  91. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +29 -0
  92. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py +275 -0
  93. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlModeKuavo.py +236 -0
  94. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeMotorParam.py +299 -0
  95. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py +274 -0
  96. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py +408 -0
  97. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py +304 -0
  98. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_fkSrv.py +394 -0
  99. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py +409 -0
  100. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py +339 -0
  101. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py +257 -0
  102. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py +418 -0
  103. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py +253 -0
  104. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorParam.py +299 -0
  105. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py +330 -0
  106. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py +302 -0
  107. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryBezierCurve.py +421 -0
  108. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryCubicSpline.py +490 -0
  109. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +268 -0
  110. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py +304 -0
  111. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMmCtrlFrame.py +273 -0
  112. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py +283 -0
  113. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py +275 -0
  114. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py +444 -0
  115. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdFreeSrv.py +716 -0
  116. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdSrv.py +662 -0
  117. kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py +7 -0
  118. kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py +7 -0
  119. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py +12 -0
  120. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py +142 -0
  121. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_controller_data.py +121 -0
  122. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_lagrangian_metrics.py +148 -0
  123. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mode_schedule.py +150 -0
  124. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_flattened_controller.py +666 -0
  125. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_input.py +122 -0
  126. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_observation.py +209 -0
  127. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_performance_indices.py +140 -0
  128. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_solver_data.py +886 -0
  129. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_state.py +122 -0
  130. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py +239 -0
  131. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py +148 -0
  132. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +1 -0
  133. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py +376 -0
  134. kuavo_humanoid_sdk-1.2.2.dist-info/METADATA +291 -0
  135. kuavo_humanoid_sdk-1.2.2.dist-info/RECORD +137 -0
  136. kuavo_humanoid_sdk-1.2.2.dist-info/WHEEL +6 -0
  137. kuavo_humanoid_sdk-1.2.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,162 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/touchSensorStatus.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 touchSensorStatus(genpy.Message):
11
+ _md5sum = "08cd59dc396363cba4d4f01df99ec86c"
12
+ _type = "kuavo_msgs/touchSensorStatus"
13
+ _has_header = False # flag to mark the presence of a Header object
14
+ _full_text = """uint16 normal_force1 # 法向力1
15
+ uint16 normal_force2 # 法向力2
16
+ uint16 normal_force3 # 法向力3
17
+ uint16 tangential_force1 # 切向力1
18
+ uint16 tangential_force2 # 切向力2
19
+ uint16 tangential_force3 # 切向力3
20
+ uint16 tangential_direction1 # 切向力方向1
21
+ uint16 tangential_direction2 # 切向力方向2
22
+ uint16 tangential_direction3 # 切向力方向3
23
+ uint32 self_proximity1 # 自电容接近传感器1
24
+ uint32 self_proximity2 # 自电容接近传感器2
25
+ uint32 mutual_proximity # 互电容接近传感器
26
+ uint16 status # 传感器状态"""
27
+ __slots__ = ['normal_force1','normal_force2','normal_force3','tangential_force1','tangential_force2','tangential_force3','tangential_direction1','tangential_direction2','tangential_direction3','self_proximity1','self_proximity2','mutual_proximity','status']
28
+ _slot_types = ['uint16','uint16','uint16','uint16','uint16','uint16','uint16','uint16','uint16','uint32','uint32','uint32','uint16']
29
+
30
+ def __init__(self, *args, **kwds):
31
+ """
32
+ Constructor. Any message fields that are implicitly/explicitly
33
+ set to None will be assigned a default value. The recommend
34
+ use is keyword arguments as this is more robust to future message
35
+ changes. You cannot mix in-order arguments and keyword arguments.
36
+
37
+ The available fields are:
38
+ normal_force1,normal_force2,normal_force3,tangential_force1,tangential_force2,tangential_force3,tangential_direction1,tangential_direction2,tangential_direction3,self_proximity1,self_proximity2,mutual_proximity,status
39
+
40
+ :param args: complete set of field values, in .msg order
41
+ :param kwds: use keyword arguments corresponding to message field names
42
+ to set specific fields.
43
+ """
44
+ if args or kwds:
45
+ super(touchSensorStatus, self).__init__(*args, **kwds)
46
+ # message fields cannot be None, assign default values for those that are
47
+ if self.normal_force1 is None:
48
+ self.normal_force1 = 0
49
+ if self.normal_force2 is None:
50
+ self.normal_force2 = 0
51
+ if self.normal_force3 is None:
52
+ self.normal_force3 = 0
53
+ if self.tangential_force1 is None:
54
+ self.tangential_force1 = 0
55
+ if self.tangential_force2 is None:
56
+ self.tangential_force2 = 0
57
+ if self.tangential_force3 is None:
58
+ self.tangential_force3 = 0
59
+ if self.tangential_direction1 is None:
60
+ self.tangential_direction1 = 0
61
+ if self.tangential_direction2 is None:
62
+ self.tangential_direction2 = 0
63
+ if self.tangential_direction3 is None:
64
+ self.tangential_direction3 = 0
65
+ if self.self_proximity1 is None:
66
+ self.self_proximity1 = 0
67
+ if self.self_proximity2 is None:
68
+ self.self_proximity2 = 0
69
+ if self.mutual_proximity is None:
70
+ self.mutual_proximity = 0
71
+ if self.status is None:
72
+ self.status = 0
73
+ else:
74
+ self.normal_force1 = 0
75
+ self.normal_force2 = 0
76
+ self.normal_force3 = 0
77
+ self.tangential_force1 = 0
78
+ self.tangential_force2 = 0
79
+ self.tangential_force3 = 0
80
+ self.tangential_direction1 = 0
81
+ self.tangential_direction2 = 0
82
+ self.tangential_direction3 = 0
83
+ self.self_proximity1 = 0
84
+ self.self_proximity2 = 0
85
+ self.mutual_proximity = 0
86
+ self.status = 0
87
+
88
+ def _get_types(self):
89
+ """
90
+ internal API method
91
+ """
92
+ return self._slot_types
93
+
94
+ def serialize(self, buff):
95
+ """
96
+ serialize message into buffer
97
+ :param buff: buffer, ``StringIO``
98
+ """
99
+ try:
100
+ _x = self
101
+ buff.write(_get_struct_9H3IH().pack(_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status))
102
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
103
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
104
+
105
+ def deserialize(self, str):
106
+ """
107
+ unpack serialized message in str into this message instance
108
+ :param str: byte array of serialized message, ``str``
109
+ """
110
+ if python3:
111
+ codecs.lookup_error("rosmsg").msg_type = self._type
112
+ try:
113
+ end = 0
114
+ _x = self
115
+ start = end
116
+ end += 32
117
+ (_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status,) = _get_struct_9H3IH().unpack(str[start:end])
118
+ return self
119
+ except struct.error as e:
120
+ raise genpy.DeserializationError(e) # most likely buffer underfill
121
+
122
+
123
+ def serialize_numpy(self, buff, numpy):
124
+ """
125
+ serialize message with numpy array types into buffer
126
+ :param buff: buffer, ``StringIO``
127
+ :param numpy: numpy python module
128
+ """
129
+ try:
130
+ _x = self
131
+ buff.write(_get_struct_9H3IH().pack(_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status))
132
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
133
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
134
+
135
+ def deserialize_numpy(self, str, numpy):
136
+ """
137
+ unpack serialized message in str into this message instance using numpy for array types
138
+ :param str: byte array of serialized message, ``str``
139
+ :param numpy: numpy python module
140
+ """
141
+ if python3:
142
+ codecs.lookup_error("rosmsg").msg_type = self._type
143
+ try:
144
+ end = 0
145
+ _x = self
146
+ start = end
147
+ end += 32
148
+ (_x.normal_force1, _x.normal_force2, _x.normal_force3, _x.tangential_force1, _x.tangential_force2, _x.tangential_force3, _x.tangential_direction1, _x.tangential_direction2, _x.tangential_direction3, _x.self_proximity1, _x.self_proximity2, _x.mutual_proximity, _x.status,) = _get_struct_9H3IH().unpack(str[start:end])
149
+ return self
150
+ except struct.error as e:
151
+ raise genpy.DeserializationError(e) # most likely buffer underfill
152
+
153
+ _struct_I = genpy.struct_I
154
+ def _get_struct_I():
155
+ global _struct_I
156
+ return _struct_I
157
+ _struct_9H3IH = None
158
+ def _get_struct_9H3IH():
159
+ global _struct_9H3IH
160
+ if _struct_9H3IH is None:
161
+ _struct_9H3IH = struct.Struct("<9H3IH")
162
+ return _struct_9H3IH
@@ -0,0 +1,272 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/twoArmHandPose.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
+ import std_msgs.msg
11
+
12
+ class twoArmHandPose(genpy.Message):
13
+ _md5sum = "5bdb1e027f430369b6f88e5e2f5d31ca"
14
+ _type = "kuavo_msgs/twoArmHandPose"
15
+ _has_header = True # flag to mark the presence of a Header object
16
+ _full_text = """Header header
17
+ armHandPose left_pose
18
+ armHandPose right_pose
19
+ ================================================================================
20
+ MSG: std_msgs/Header
21
+ # Standard metadata for higher-level stamped data types.
22
+ # This is generally used to communicate timestamped data
23
+ # in a particular coordinate frame.
24
+ #
25
+ # sequence ID: consecutively increasing ID
26
+ uint32 seq
27
+ #Two-integer timestamp that is expressed as:
28
+ # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')
29
+ # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')
30
+ # time-handling sugar is provided by the client library
31
+ time stamp
32
+ #Frame this data is associated with
33
+ string frame_id
34
+
35
+ ================================================================================
36
+ MSG: kuavo_msgs/armHandPose
37
+ float64[3] pos_xyz
38
+ float64[4] quat_xyzw
39
+
40
+ float64[3] elbow_pos_xyz
41
+
42
+ float64[7] joint_angles"""
43
+ __slots__ = ['header','left_pose','right_pose']
44
+ _slot_types = ['std_msgs/Header','kuavo_msgs/armHandPose','kuavo_msgs/armHandPose']
45
+
46
+ def __init__(self, *args, **kwds):
47
+ """
48
+ Constructor. Any message fields that are implicitly/explicitly
49
+ set to None will be assigned a default value. The recommend
50
+ use is keyword arguments as this is more robust to future message
51
+ changes. You cannot mix in-order arguments and keyword arguments.
52
+
53
+ The available fields are:
54
+ header,left_pose,right_pose
55
+
56
+ :param args: complete set of field values, in .msg order
57
+ :param kwds: use keyword arguments corresponding to message field names
58
+ to set specific fields.
59
+ """
60
+ if args or kwds:
61
+ super(twoArmHandPose, self).__init__(*args, **kwds)
62
+ # message fields cannot be None, assign default values for those that are
63
+ if self.header is None:
64
+ self.header = std_msgs.msg.Header()
65
+ if self.left_pose is None:
66
+ self.left_pose = kuavo_msgs.msg.armHandPose()
67
+ if self.right_pose is None:
68
+ self.right_pose = kuavo_msgs.msg.armHandPose()
69
+ else:
70
+ self.header = std_msgs.msg.Header()
71
+ self.left_pose = kuavo_msgs.msg.armHandPose()
72
+ self.right_pose = kuavo_msgs.msg.armHandPose()
73
+
74
+ def _get_types(self):
75
+ """
76
+ internal API method
77
+ """
78
+ return self._slot_types
79
+
80
+ def serialize(self, buff):
81
+ """
82
+ serialize message into buffer
83
+ :param buff: buffer, ``StringIO``
84
+ """
85
+ try:
86
+ _x = self
87
+ buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
88
+ _x = self.header.frame_id
89
+ length = len(_x)
90
+ if python3 or type(_x) == unicode:
91
+ _x = _x.encode('utf-8')
92
+ length = len(_x)
93
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
94
+ buff.write(_get_struct_3d().pack(*self.left_pose.pos_xyz))
95
+ buff.write(_get_struct_4d().pack(*self.left_pose.quat_xyzw))
96
+ buff.write(_get_struct_3d().pack(*self.left_pose.elbow_pos_xyz))
97
+ buff.write(_get_struct_7d().pack(*self.left_pose.joint_angles))
98
+ buff.write(_get_struct_3d().pack(*self.right_pose.pos_xyz))
99
+ buff.write(_get_struct_4d().pack(*self.right_pose.quat_xyzw))
100
+ buff.write(_get_struct_3d().pack(*self.right_pose.elbow_pos_xyz))
101
+ buff.write(_get_struct_7d().pack(*self.right_pose.joint_angles))
102
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
103
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
104
+
105
+ def deserialize(self, str):
106
+ """
107
+ unpack serialized message in str into this message instance
108
+ :param str: byte array of serialized message, ``str``
109
+ """
110
+ if python3:
111
+ codecs.lookup_error("rosmsg").msg_type = self._type
112
+ try:
113
+ if self.header is None:
114
+ self.header = std_msgs.msg.Header()
115
+ if self.left_pose is None:
116
+ self.left_pose = kuavo_msgs.msg.armHandPose()
117
+ if self.right_pose is None:
118
+ self.right_pose = kuavo_msgs.msg.armHandPose()
119
+ end = 0
120
+ _x = self
121
+ start = end
122
+ end += 12
123
+ (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
124
+ start = end
125
+ end += 4
126
+ (length,) = _struct_I.unpack(str[start:end])
127
+ start = end
128
+ end += length
129
+ if python3:
130
+ self.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
131
+ else:
132
+ self.header.frame_id = str[start:end]
133
+ start = end
134
+ end += 24
135
+ self.left_pose.pos_xyz = _get_struct_3d().unpack(str[start:end])
136
+ start = end
137
+ end += 32
138
+ self.left_pose.quat_xyzw = _get_struct_4d().unpack(str[start:end])
139
+ start = end
140
+ end += 24
141
+ self.left_pose.elbow_pos_xyz = _get_struct_3d().unpack(str[start:end])
142
+ start = end
143
+ end += 56
144
+ self.left_pose.joint_angles = _get_struct_7d().unpack(str[start:end])
145
+ start = end
146
+ end += 24
147
+ self.right_pose.pos_xyz = _get_struct_3d().unpack(str[start:end])
148
+ start = end
149
+ end += 32
150
+ self.right_pose.quat_xyzw = _get_struct_4d().unpack(str[start:end])
151
+ start = end
152
+ end += 24
153
+ self.right_pose.elbow_pos_xyz = _get_struct_3d().unpack(str[start:end])
154
+ start = end
155
+ end += 56
156
+ self.right_pose.joint_angles = _get_struct_7d().unpack(str[start:end])
157
+ return self
158
+ except struct.error as e:
159
+ raise genpy.DeserializationError(e) # most likely buffer underfill
160
+
161
+
162
+ def serialize_numpy(self, buff, numpy):
163
+ """
164
+ serialize message with numpy array types into buffer
165
+ :param buff: buffer, ``StringIO``
166
+ :param numpy: numpy python module
167
+ """
168
+ try:
169
+ _x = self
170
+ buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
171
+ _x = self.header.frame_id
172
+ length = len(_x)
173
+ if python3 or type(_x) == unicode:
174
+ _x = _x.encode('utf-8')
175
+ length = len(_x)
176
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
177
+ buff.write(self.left_pose.pos_xyz.tostring())
178
+ buff.write(self.left_pose.quat_xyzw.tostring())
179
+ buff.write(self.left_pose.elbow_pos_xyz.tostring())
180
+ buff.write(self.left_pose.joint_angles.tostring())
181
+ buff.write(self.right_pose.pos_xyz.tostring())
182
+ buff.write(self.right_pose.quat_xyzw.tostring())
183
+ buff.write(self.right_pose.elbow_pos_xyz.tostring())
184
+ buff.write(self.right_pose.joint_angles.tostring())
185
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
186
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
187
+
188
+ def deserialize_numpy(self, str, numpy):
189
+ """
190
+ unpack serialized message in str into this message instance using numpy for array types
191
+ :param str: byte array of serialized message, ``str``
192
+ :param numpy: numpy python module
193
+ """
194
+ if python3:
195
+ codecs.lookup_error("rosmsg").msg_type = self._type
196
+ try:
197
+ if self.header is None:
198
+ self.header = std_msgs.msg.Header()
199
+ if self.left_pose is None:
200
+ self.left_pose = kuavo_msgs.msg.armHandPose()
201
+ if self.right_pose is None:
202
+ self.right_pose = kuavo_msgs.msg.armHandPose()
203
+ end = 0
204
+ _x = self
205
+ start = end
206
+ end += 12
207
+ (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
208
+ start = end
209
+ end += 4
210
+ (length,) = _struct_I.unpack(str[start:end])
211
+ start = end
212
+ end += length
213
+ if python3:
214
+ self.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
215
+ else:
216
+ self.header.frame_id = str[start:end]
217
+ start = end
218
+ end += 24
219
+ self.left_pose.pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
220
+ start = end
221
+ end += 32
222
+ self.left_pose.quat_xyzw = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
223
+ start = end
224
+ end += 24
225
+ self.left_pose.elbow_pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
226
+ start = end
227
+ end += 56
228
+ self.left_pose.joint_angles = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=7)
229
+ start = end
230
+ end += 24
231
+ self.right_pose.pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
232
+ start = end
233
+ end += 32
234
+ self.right_pose.quat_xyzw = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=4)
235
+ start = end
236
+ end += 24
237
+ self.right_pose.elbow_pos_xyz = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
238
+ start = end
239
+ end += 56
240
+ self.right_pose.joint_angles = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=7)
241
+ return self
242
+ except struct.error as e:
243
+ raise genpy.DeserializationError(e) # most likely buffer underfill
244
+
245
+ _struct_I = genpy.struct_I
246
+ def _get_struct_I():
247
+ global _struct_I
248
+ return _struct_I
249
+ _struct_3I = None
250
+ def _get_struct_3I():
251
+ global _struct_3I
252
+ if _struct_3I is None:
253
+ _struct_3I = struct.Struct("<3I")
254
+ return _struct_3I
255
+ _struct_3d = None
256
+ def _get_struct_3d():
257
+ global _struct_3d
258
+ if _struct_3d is None:
259
+ _struct_3d = struct.Struct("<3d")
260
+ return _struct_3d
261
+ _struct_4d = None
262
+ def _get_struct_4d():
263
+ global _struct_4d
264
+ if _struct_4d is None:
265
+ _struct_4d = struct.Struct("<4d")
266
+ return _struct_4d
267
+ _struct_7d = None
268
+ def _get_struct_7d():
269
+ global _struct_7d
270
+ if _struct_7d is None:
271
+ _struct_7d = struct.Struct("<7d")
272
+ return _struct_7d