00001 """autogenerated by genmsg_py from GetRobotStateRequest.msg. Do not edit."""
00002 import roslib.message
00003 import struct
00004
00005
00006 class GetRobotStateRequest(roslib.message.Message):
00007 _md5sum = "d41d8cd98f00b204e9800998ecf8427e"
00008 _type = "arm_navigation_msgs/GetRobotStateRequest"
00009 _has_header = False
00010 _full_text = """
00011
00012
00013
00014 """
00015 __slots__ = []
00016 _slot_types = []
00017
00018 def __init__(self, *args, **kwds):
00019 """
00020 Constructor. Any message fields that are implicitly/explicitly
00021 set to None will be assigned a default value. The recommend
00022 use is keyword arguments as this is more robust to future message
00023 changes. You cannot mix in-order arguments and keyword arguments.
00024
00025 The available fields are:
00026
00027
00028 @param args: complete set of field values, in .msg order
00029 @param kwds: use keyword arguments corresponding to message field names
00030 to set specific fields.
00031 """
00032 if args or kwds:
00033 super(GetRobotStateRequest, self).__init__(*args, **kwds)
00034
00035 def _get_types(self):
00036 """
00037 internal API method
00038 """
00039 return self._slot_types
00040
00041 def serialize(self, buff):
00042 """
00043 serialize message into buffer
00044 @param buff: buffer
00045 @type buff: StringIO
00046 """
00047 try:
00048 pass
00049 except struct.error as se: self._check_types(se)
00050 except TypeError as te: self._check_types(te)
00051
00052 def deserialize(self, str):
00053 """
00054 unpack serialized message in str into this message instance
00055 @param str: byte array of serialized message
00056 @type str: str
00057 """
00058 try:
00059 end = 0
00060 return self
00061 except struct.error as e:
00062 raise roslib.message.DeserializationError(e)
00063
00064
00065 def serialize_numpy(self, buff, numpy):
00066 """
00067 serialize message with numpy array types into buffer
00068 @param buff: buffer
00069 @type buff: StringIO
00070 @param numpy: numpy python module
00071 @type numpy module
00072 """
00073 try:
00074 pass
00075 except struct.error as se: self._check_types(se)
00076 except TypeError as te: self._check_types(te)
00077
00078 def deserialize_numpy(self, str, numpy):
00079 """
00080 unpack serialized message in str into this message instance using numpy for array types
00081 @param str: byte array of serialized message
00082 @type str: str
00083 @param numpy: numpy python module
00084 @type numpy: module
00085 """
00086 try:
00087 end = 0
00088 return self
00089 except struct.error as e:
00090 raise roslib.message.DeserializationError(e)
00091
00092 _struct_I = roslib.message.struct_I
00093 """autogenerated by genmsg_py from GetRobotStateResponse.msg. Do not edit."""
00094 import roslib.message
00095 import struct
00096
00097 import arm_navigation_msgs.msg
00098 import geometry_msgs.msg
00099 import std_msgs.msg
00100 import roslib.rostime
00101 import sensor_msgs.msg
00102
00103 class GetRobotStateResponse(roslib.message.Message):
00104 _md5sum = "9799d82a26586bf3963962b7c3038f40"
00105 _type = "arm_navigation_msgs/GetRobotStateResponse"
00106 _has_header = False
00107 _full_text = """
00108
00109 arm_navigation_msgs/RobotState robot_state
00110
00111
00112
00113
00114 arm_navigation_msgs/ArmNavigationErrorCodes error_code
00115
00116
00117 ================================================================================
00118 MSG: arm_navigation_msgs/RobotState
00119 # This message contains information about the robot state, i.e. the positions of its joints and links
00120 sensor_msgs/JointState joint_state
00121 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state
00122
00123 ================================================================================
00124 MSG: sensor_msgs/JointState
00125 # This is a message that holds data to describe the state of a set of torque controlled joints.
00126 #
00127 # The state of each joint (revolute or prismatic) is defined by:
00128 # * the position of the joint (rad or m),
00129 # * the velocity of the joint (rad/s or m/s) and
00130 # * the effort that is applied in the joint (Nm or N).
00131 #
00132 # Each joint is uniquely identified by its name
00133 # The header specifies the time at which the joint states were recorded. All the joint states
00134 # in one message have to be recorded at the same time.
00135 #
00136 # This message consists of a multiple arrays, one for each part of the joint state.
00137 # The goal is to make each of the fields optional. When e.g. your joints have no
00138 # effort associated with them, you can leave the effort array empty.
00139 #
00140 # All arrays in this message should have the same size, or be empty.
00141 # This is the only way to uniquely associate the joint name with the correct
00142 # states.
00143
00144
00145 Header header
00146
00147 string[] name
00148 float64[] position
00149 float64[] velocity
00150 float64[] effort
00151
00152 ================================================================================
00153 MSG: std_msgs/Header
00154 # Standard metadata for higher-level stamped data types.
00155 # This is generally used to communicate timestamped data
00156 # in a particular coordinate frame.
00157 #
00158 # sequence ID: consecutively increasing ID
00159 uint32 seq
00160 #Two-integer timestamp that is expressed as:
00161 # * stamp.secs: seconds (stamp_secs) since epoch
00162 # * stamp.nsecs: nanoseconds since stamp_secs
00163 # time-handling sugar is provided by the client library
00164 time stamp
00165 #Frame this data is associated with
00166 # 0: no frame
00167 # 1: global frame
00168 string frame_id
00169
00170 ================================================================================
00171 MSG: arm_navigation_msgs/MultiDOFJointState
00172 #A representation of a multi-dof joint state
00173 time stamp
00174 string[] joint_names
00175 string[] frame_ids
00176 string[] child_frame_ids
00177 geometry_msgs/Pose[] poses
00178
00179 ================================================================================
00180 MSG: geometry_msgs/Pose
00181 # A representation of pose in free space, composed of postion and orientation.
00182 Point position
00183 Quaternion orientation
00184
00185 ================================================================================
00186 MSG: geometry_msgs/Point
00187 # This contains the position of a point in free space
00188 float64 x
00189 float64 y
00190 float64 z
00191
00192 ================================================================================
00193 MSG: geometry_msgs/Quaternion
00194 # This represents an orientation in free space in quaternion form.
00195
00196 float64 x
00197 float64 y
00198 float64 z
00199 float64 w
00200
00201 ================================================================================
00202 MSG: arm_navigation_msgs/ArmNavigationErrorCodes
00203 int32 val
00204
00205 # overall behavior
00206 int32 PLANNING_FAILED=-1
00207 int32 SUCCESS=1
00208 int32 TIMED_OUT=-2
00209
00210 # start state errors
00211 int32 START_STATE_IN_COLLISION=-3
00212 int32 START_STATE_VIOLATES_PATH_CONSTRAINTS=-4
00213
00214 # goal errors
00215 int32 GOAL_IN_COLLISION=-5
00216 int32 GOAL_VIOLATES_PATH_CONSTRAINTS=-6
00217
00218 # robot state
00219 int32 INVALID_ROBOT_STATE=-7
00220 int32 INCOMPLETE_ROBOT_STATE=-8
00221
00222 # planning request errors
00223 int32 INVALID_PLANNER_ID=-9
00224 int32 INVALID_NUM_PLANNING_ATTEMPTS=-10
00225 int32 INVALID_ALLOWED_PLANNING_TIME=-11
00226 int32 INVALID_GROUP_NAME=-12
00227 int32 INVALID_GOAL_JOINT_CONSTRAINTS=-13
00228 int32 INVALID_GOAL_POSITION_CONSTRAINTS=-14
00229 int32 INVALID_GOAL_ORIENTATION_CONSTRAINTS=-15
00230 int32 INVALID_PATH_JOINT_CONSTRAINTS=-16
00231 int32 INVALID_PATH_POSITION_CONSTRAINTS=-17
00232 int32 INVALID_PATH_ORIENTATION_CONSTRAINTS=-18
00233
00234 # state/trajectory monitor errors
00235 int32 INVALID_TRAJECTORY=-19
00236 int32 INVALID_INDEX=-20
00237 int32 JOINT_LIMITS_VIOLATED=-21
00238 int32 PATH_CONSTRAINTS_VIOLATED=-22
00239 int32 COLLISION_CONSTRAINTS_VIOLATED=-23
00240 int32 GOAL_CONSTRAINTS_VIOLATED=-24
00241 int32 JOINTS_NOT_MOVING=-25
00242 int32 TRAJECTORY_CONTROLLER_FAILED=-26
00243
00244 # system errors
00245 int32 FRAME_TRANSFORM_FAILURE=-27
00246 int32 COLLISION_CHECKING_UNAVAILABLE=-28
00247 int32 ROBOT_STATE_STALE=-29
00248 int32 SENSOR_INFO_STALE=-30
00249
00250 # kinematics errors
00251 int32 NO_IK_SOLUTION=-31
00252 int32 INVALID_LINK_NAME=-32
00253 int32 IK_LINK_IN_COLLISION=-33
00254 int32 NO_FK_SOLUTION=-34
00255 int32 KINEMATICS_STATE_IN_COLLISION=-35
00256
00257 # general errors
00258 int32 INVALID_TIMEOUT=-36
00259
00260
00261 """
00262 __slots__ = ['robot_state','error_code']
00263 _slot_types = ['arm_navigation_msgs/RobotState','arm_navigation_msgs/ArmNavigationErrorCodes']
00264
00265 def __init__(self, *args, **kwds):
00266 """
00267 Constructor. Any message fields that are implicitly/explicitly
00268 set to None will be assigned a default value. The recommend
00269 use is keyword arguments as this is more robust to future message
00270 changes. You cannot mix in-order arguments and keyword arguments.
00271
00272 The available fields are:
00273 robot_state,error_code
00274
00275 @param args: complete set of field values, in .msg order
00276 @param kwds: use keyword arguments corresponding to message field names
00277 to set specific fields.
00278 """
00279 if args or kwds:
00280 super(GetRobotStateResponse, self).__init__(*args, **kwds)
00281
00282 if self.robot_state is None:
00283 self.robot_state = arm_navigation_msgs.msg.RobotState()
00284 if self.error_code is None:
00285 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
00286 else:
00287 self.robot_state = arm_navigation_msgs.msg.RobotState()
00288 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
00289
00290 def _get_types(self):
00291 """
00292 internal API method
00293 """
00294 return self._slot_types
00295
00296 def serialize(self, buff):
00297 """
00298 serialize message into buffer
00299 @param buff: buffer
00300 @type buff: StringIO
00301 """
00302 try:
00303 _x = self
00304 buff.write(_struct_3I.pack(_x.robot_state.joint_state.header.seq, _x.robot_state.joint_state.header.stamp.secs, _x.robot_state.joint_state.header.stamp.nsecs))
00305 _x = self.robot_state.joint_state.header.frame_id
00306 length = len(_x)
00307 buff.write(struct.pack('<I%ss'%length, length, _x))
00308 length = len(self.robot_state.joint_state.name)
00309 buff.write(_struct_I.pack(length))
00310 for val1 in self.robot_state.joint_state.name:
00311 length = len(val1)
00312 buff.write(struct.pack('<I%ss'%length, length, val1))
00313 length = len(self.robot_state.joint_state.position)
00314 buff.write(_struct_I.pack(length))
00315 pattern = '<%sd'%length
00316 buff.write(struct.pack(pattern, *self.robot_state.joint_state.position))
00317 length = len(self.robot_state.joint_state.velocity)
00318 buff.write(_struct_I.pack(length))
00319 pattern = '<%sd'%length
00320 buff.write(struct.pack(pattern, *self.robot_state.joint_state.velocity))
00321 length = len(self.robot_state.joint_state.effort)
00322 buff.write(_struct_I.pack(length))
00323 pattern = '<%sd'%length
00324 buff.write(struct.pack(pattern, *self.robot_state.joint_state.effort))
00325 _x = self
00326 buff.write(_struct_2I.pack(_x.robot_state.multi_dof_joint_state.stamp.secs, _x.robot_state.multi_dof_joint_state.stamp.nsecs))
00327 length = len(self.robot_state.multi_dof_joint_state.joint_names)
00328 buff.write(_struct_I.pack(length))
00329 for val1 in self.robot_state.multi_dof_joint_state.joint_names:
00330 length = len(val1)
00331 buff.write(struct.pack('<I%ss'%length, length, val1))
00332 length = len(self.robot_state.multi_dof_joint_state.frame_ids)
00333 buff.write(_struct_I.pack(length))
00334 for val1 in self.robot_state.multi_dof_joint_state.frame_ids:
00335 length = len(val1)
00336 buff.write(struct.pack('<I%ss'%length, length, val1))
00337 length = len(self.robot_state.multi_dof_joint_state.child_frame_ids)
00338 buff.write(_struct_I.pack(length))
00339 for val1 in self.robot_state.multi_dof_joint_state.child_frame_ids:
00340 length = len(val1)
00341 buff.write(struct.pack('<I%ss'%length, length, val1))
00342 length = len(self.robot_state.multi_dof_joint_state.poses)
00343 buff.write(_struct_I.pack(length))
00344 for val1 in self.robot_state.multi_dof_joint_state.poses:
00345 _v1 = val1.position
00346 _x = _v1
00347 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00348 _v2 = val1.orientation
00349 _x = _v2
00350 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00351 buff.write(_struct_i.pack(self.error_code.val))
00352 except struct.error as se: self._check_types(se)
00353 except TypeError as te: self._check_types(te)
00354
00355 def deserialize(self, str):
00356 """
00357 unpack serialized message in str into this message instance
00358 @param str: byte array of serialized message
00359 @type str: str
00360 """
00361 try:
00362 if self.robot_state is None:
00363 self.robot_state = arm_navigation_msgs.msg.RobotState()
00364 if self.error_code is None:
00365 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
00366 end = 0
00367 _x = self
00368 start = end
00369 end += 12
00370 (_x.robot_state.joint_state.header.seq, _x.robot_state.joint_state.header.stamp.secs, _x.robot_state.joint_state.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00371 start = end
00372 end += 4
00373 (length,) = _struct_I.unpack(str[start:end])
00374 start = end
00375 end += length
00376 self.robot_state.joint_state.header.frame_id = str[start:end]
00377 start = end
00378 end += 4
00379 (length,) = _struct_I.unpack(str[start:end])
00380 self.robot_state.joint_state.name = []
00381 for i in range(0, length):
00382 start = end
00383 end += 4
00384 (length,) = _struct_I.unpack(str[start:end])
00385 start = end
00386 end += length
00387 val1 = str[start:end]
00388 self.robot_state.joint_state.name.append(val1)
00389 start = end
00390 end += 4
00391 (length,) = _struct_I.unpack(str[start:end])
00392 pattern = '<%sd'%length
00393 start = end
00394 end += struct.calcsize(pattern)
00395 self.robot_state.joint_state.position = struct.unpack(pattern, str[start:end])
00396 start = end
00397 end += 4
00398 (length,) = _struct_I.unpack(str[start:end])
00399 pattern = '<%sd'%length
00400 start = end
00401 end += struct.calcsize(pattern)
00402 self.robot_state.joint_state.velocity = struct.unpack(pattern, str[start:end])
00403 start = end
00404 end += 4
00405 (length,) = _struct_I.unpack(str[start:end])
00406 pattern = '<%sd'%length
00407 start = end
00408 end += struct.calcsize(pattern)
00409 self.robot_state.joint_state.effort = struct.unpack(pattern, str[start:end])
00410 _x = self
00411 start = end
00412 end += 8
00413 (_x.robot_state.multi_dof_joint_state.stamp.secs, _x.robot_state.multi_dof_joint_state.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00414 start = end
00415 end += 4
00416 (length,) = _struct_I.unpack(str[start:end])
00417 self.robot_state.multi_dof_joint_state.joint_names = []
00418 for i in range(0, length):
00419 start = end
00420 end += 4
00421 (length,) = _struct_I.unpack(str[start:end])
00422 start = end
00423 end += length
00424 val1 = str[start:end]
00425 self.robot_state.multi_dof_joint_state.joint_names.append(val1)
00426 start = end
00427 end += 4
00428 (length,) = _struct_I.unpack(str[start:end])
00429 self.robot_state.multi_dof_joint_state.frame_ids = []
00430 for i in range(0, length):
00431 start = end
00432 end += 4
00433 (length,) = _struct_I.unpack(str[start:end])
00434 start = end
00435 end += length
00436 val1 = str[start:end]
00437 self.robot_state.multi_dof_joint_state.frame_ids.append(val1)
00438 start = end
00439 end += 4
00440 (length,) = _struct_I.unpack(str[start:end])
00441 self.robot_state.multi_dof_joint_state.child_frame_ids = []
00442 for i in range(0, length):
00443 start = end
00444 end += 4
00445 (length,) = _struct_I.unpack(str[start:end])
00446 start = end
00447 end += length
00448 val1 = str[start:end]
00449 self.robot_state.multi_dof_joint_state.child_frame_ids.append(val1)
00450 start = end
00451 end += 4
00452 (length,) = _struct_I.unpack(str[start:end])
00453 self.robot_state.multi_dof_joint_state.poses = []
00454 for i in range(0, length):
00455 val1 = geometry_msgs.msg.Pose()
00456 _v3 = val1.position
00457 _x = _v3
00458 start = end
00459 end += 24
00460 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00461 _v4 = val1.orientation
00462 _x = _v4
00463 start = end
00464 end += 32
00465 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00466 self.robot_state.multi_dof_joint_state.poses.append(val1)
00467 start = end
00468 end += 4
00469 (self.error_code.val,) = _struct_i.unpack(str[start:end])
00470 return self
00471 except struct.error as e:
00472 raise roslib.message.DeserializationError(e)
00473
00474
00475 def serialize_numpy(self, buff, numpy):
00476 """
00477 serialize message with numpy array types into buffer
00478 @param buff: buffer
00479 @type buff: StringIO
00480 @param numpy: numpy python module
00481 @type numpy module
00482 """
00483 try:
00484 _x = self
00485 buff.write(_struct_3I.pack(_x.robot_state.joint_state.header.seq, _x.robot_state.joint_state.header.stamp.secs, _x.robot_state.joint_state.header.stamp.nsecs))
00486 _x = self.robot_state.joint_state.header.frame_id
00487 length = len(_x)
00488 buff.write(struct.pack('<I%ss'%length, length, _x))
00489 length = len(self.robot_state.joint_state.name)
00490 buff.write(_struct_I.pack(length))
00491 for val1 in self.robot_state.joint_state.name:
00492 length = len(val1)
00493 buff.write(struct.pack('<I%ss'%length, length, val1))
00494 length = len(self.robot_state.joint_state.position)
00495 buff.write(_struct_I.pack(length))
00496 pattern = '<%sd'%length
00497 buff.write(self.robot_state.joint_state.position.tostring())
00498 length = len(self.robot_state.joint_state.velocity)
00499 buff.write(_struct_I.pack(length))
00500 pattern = '<%sd'%length
00501 buff.write(self.robot_state.joint_state.velocity.tostring())
00502 length = len(self.robot_state.joint_state.effort)
00503 buff.write(_struct_I.pack(length))
00504 pattern = '<%sd'%length
00505 buff.write(self.robot_state.joint_state.effort.tostring())
00506 _x = self
00507 buff.write(_struct_2I.pack(_x.robot_state.multi_dof_joint_state.stamp.secs, _x.robot_state.multi_dof_joint_state.stamp.nsecs))
00508 length = len(self.robot_state.multi_dof_joint_state.joint_names)
00509 buff.write(_struct_I.pack(length))
00510 for val1 in self.robot_state.multi_dof_joint_state.joint_names:
00511 length = len(val1)
00512 buff.write(struct.pack('<I%ss'%length, length, val1))
00513 length = len(self.robot_state.multi_dof_joint_state.frame_ids)
00514 buff.write(_struct_I.pack(length))
00515 for val1 in self.robot_state.multi_dof_joint_state.frame_ids:
00516 length = len(val1)
00517 buff.write(struct.pack('<I%ss'%length, length, val1))
00518 length = len(self.robot_state.multi_dof_joint_state.child_frame_ids)
00519 buff.write(_struct_I.pack(length))
00520 for val1 in self.robot_state.multi_dof_joint_state.child_frame_ids:
00521 length = len(val1)
00522 buff.write(struct.pack('<I%ss'%length, length, val1))
00523 length = len(self.robot_state.multi_dof_joint_state.poses)
00524 buff.write(_struct_I.pack(length))
00525 for val1 in self.robot_state.multi_dof_joint_state.poses:
00526 _v5 = val1.position
00527 _x = _v5
00528 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00529 _v6 = val1.orientation
00530 _x = _v6
00531 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00532 buff.write(_struct_i.pack(self.error_code.val))
00533 except struct.error as se: self._check_types(se)
00534 except TypeError as te: self._check_types(te)
00535
00536 def deserialize_numpy(self, str, numpy):
00537 """
00538 unpack serialized message in str into this message instance using numpy for array types
00539 @param str: byte array of serialized message
00540 @type str: str
00541 @param numpy: numpy python module
00542 @type numpy: module
00543 """
00544 try:
00545 if self.robot_state is None:
00546 self.robot_state = arm_navigation_msgs.msg.RobotState()
00547 if self.error_code is None:
00548 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
00549 end = 0
00550 _x = self
00551 start = end
00552 end += 12
00553 (_x.robot_state.joint_state.header.seq, _x.robot_state.joint_state.header.stamp.secs, _x.robot_state.joint_state.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00554 start = end
00555 end += 4
00556 (length,) = _struct_I.unpack(str[start:end])
00557 start = end
00558 end += length
00559 self.robot_state.joint_state.header.frame_id = str[start:end]
00560 start = end
00561 end += 4
00562 (length,) = _struct_I.unpack(str[start:end])
00563 self.robot_state.joint_state.name = []
00564 for i in range(0, length):
00565 start = end
00566 end += 4
00567 (length,) = _struct_I.unpack(str[start:end])
00568 start = end
00569 end += length
00570 val1 = str[start:end]
00571 self.robot_state.joint_state.name.append(val1)
00572 start = end
00573 end += 4
00574 (length,) = _struct_I.unpack(str[start:end])
00575 pattern = '<%sd'%length
00576 start = end
00577 end += struct.calcsize(pattern)
00578 self.robot_state.joint_state.position = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
00579 start = end
00580 end += 4
00581 (length,) = _struct_I.unpack(str[start:end])
00582 pattern = '<%sd'%length
00583 start = end
00584 end += struct.calcsize(pattern)
00585 self.robot_state.joint_state.velocity = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
00586 start = end
00587 end += 4
00588 (length,) = _struct_I.unpack(str[start:end])
00589 pattern = '<%sd'%length
00590 start = end
00591 end += struct.calcsize(pattern)
00592 self.robot_state.joint_state.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
00593 _x = self
00594 start = end
00595 end += 8
00596 (_x.robot_state.multi_dof_joint_state.stamp.secs, _x.robot_state.multi_dof_joint_state.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00597 start = end
00598 end += 4
00599 (length,) = _struct_I.unpack(str[start:end])
00600 self.robot_state.multi_dof_joint_state.joint_names = []
00601 for i in range(0, length):
00602 start = end
00603 end += 4
00604 (length,) = _struct_I.unpack(str[start:end])
00605 start = end
00606 end += length
00607 val1 = str[start:end]
00608 self.robot_state.multi_dof_joint_state.joint_names.append(val1)
00609 start = end
00610 end += 4
00611 (length,) = _struct_I.unpack(str[start:end])
00612 self.robot_state.multi_dof_joint_state.frame_ids = []
00613 for i in range(0, length):
00614 start = end
00615 end += 4
00616 (length,) = _struct_I.unpack(str[start:end])
00617 start = end
00618 end += length
00619 val1 = str[start:end]
00620 self.robot_state.multi_dof_joint_state.frame_ids.append(val1)
00621 start = end
00622 end += 4
00623 (length,) = _struct_I.unpack(str[start:end])
00624 self.robot_state.multi_dof_joint_state.child_frame_ids = []
00625 for i in range(0, length):
00626 start = end
00627 end += 4
00628 (length,) = _struct_I.unpack(str[start:end])
00629 start = end
00630 end += length
00631 val1 = str[start:end]
00632 self.robot_state.multi_dof_joint_state.child_frame_ids.append(val1)
00633 start = end
00634 end += 4
00635 (length,) = _struct_I.unpack(str[start:end])
00636 self.robot_state.multi_dof_joint_state.poses = []
00637 for i in range(0, length):
00638 val1 = geometry_msgs.msg.Pose()
00639 _v7 = val1.position
00640 _x = _v7
00641 start = end
00642 end += 24
00643 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00644 _v8 = val1.orientation
00645 _x = _v8
00646 start = end
00647 end += 32
00648 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00649 self.robot_state.multi_dof_joint_state.poses.append(val1)
00650 start = end
00651 end += 4
00652 (self.error_code.val,) = _struct_i.unpack(str[start:end])
00653 return self
00654 except struct.error as e:
00655 raise roslib.message.DeserializationError(e)
00656
00657 _struct_I = roslib.message.struct_I
00658 _struct_i = struct.Struct("<i")
00659 _struct_4d = struct.Struct("<4d")
00660 _struct_3I = struct.Struct("<3I")
00661 _struct_2I = struct.Struct("<2I")
00662 _struct_3d = struct.Struct("<3d")
00663 class GetRobotState(roslib.message.ServiceDefinition):
00664 _type = 'arm_navigation_msgs/GetRobotState'
00665 _md5sum = '9799d82a26586bf3963962b7c3038f40'
00666 _request_class = GetRobotStateRequest
00667 _response_class = GetRobotStateResponse