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