00001 """autogenerated by genpy from arm_navigation_msgs/GetStateValidityRequest.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006
00007 import arm_navigation_msgs.msg
00008 import geometry_msgs.msg
00009 import std_msgs.msg
00010 import genpy
00011 import sensor_msgs.msg
00012
00013 class GetStateValidityRequest(genpy.Message):
00014 _md5sum = "fe05d730cc03ecb8a8dff34774a12c59"
00015 _type = "arm_navigation_msgs/GetStateValidityRequest"
00016 _has_header = False
00017 _full_text = """
00018
00019 arm_navigation_msgs/RobotState robot_state
00020
00021
00022 bool check_collisions
00023
00024
00025 bool check_path_constraints
00026
00027
00028 bool check_goal_constraints
00029
00030
00031 bool check_joint_limits
00032
00033
00034 string group_name
00035
00036
00037
00038
00039 arm_navigation_msgs/Constraints path_constraints
00040
00041
00042
00043
00044 arm_navigation_msgs/Constraints goal_constraints
00045
00046
00047 ================================================================================
00048 MSG: arm_navigation_msgs/RobotState
00049 # This message contains information about the robot state, i.e. the positions of its joints and links
00050 sensor_msgs/JointState joint_state
00051 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state
00052
00053 ================================================================================
00054 MSG: sensor_msgs/JointState
00055 # This is a message that holds data to describe the state of a set of torque controlled joints.
00056 #
00057 # The state of each joint (revolute or prismatic) is defined by:
00058 # * the position of the joint (rad or m),
00059 # * the velocity of the joint (rad/s or m/s) and
00060 # * the effort that is applied in the joint (Nm or N).
00061 #
00062 # Each joint is uniquely identified by its name
00063 # The header specifies the time at which the joint states were recorded. All the joint states
00064 # in one message have to be recorded at the same time.
00065 #
00066 # This message consists of a multiple arrays, one for each part of the joint state.
00067 # The goal is to make each of the fields optional. When e.g. your joints have no
00068 # effort associated with them, you can leave the effort array empty.
00069 #
00070 # All arrays in this message should have the same size, or be empty.
00071 # This is the only way to uniquely associate the joint name with the correct
00072 # states.
00073
00074
00075 Header header
00076
00077 string[] name
00078 float64[] position
00079 float64[] velocity
00080 float64[] effort
00081
00082 ================================================================================
00083 MSG: std_msgs/Header
00084 # Standard metadata for higher-level stamped data types.
00085 # This is generally used to communicate timestamped data
00086 # in a particular coordinate frame.
00087 #
00088 # sequence ID: consecutively increasing ID
00089 uint32 seq
00090 #Two-integer timestamp that is expressed as:
00091 # * stamp.secs: seconds (stamp_secs) since epoch
00092 # * stamp.nsecs: nanoseconds since stamp_secs
00093 # time-handling sugar is provided by the client library
00094 time stamp
00095 #Frame this data is associated with
00096 # 0: no frame
00097 # 1: global frame
00098 string frame_id
00099
00100 ================================================================================
00101 MSG: arm_navigation_msgs/MultiDOFJointState
00102 #A representation of a multi-dof joint state
00103 time stamp
00104 string[] joint_names
00105 string[] frame_ids
00106 string[] child_frame_ids
00107 geometry_msgs/Pose[] poses
00108
00109 ================================================================================
00110 MSG: geometry_msgs/Pose
00111 # A representation of pose in free space, composed of postion and orientation.
00112 Point position
00113 Quaternion orientation
00114
00115 ================================================================================
00116 MSG: geometry_msgs/Point
00117 # This contains the position of a point in free space
00118 float64 x
00119 float64 y
00120 float64 z
00121
00122 ================================================================================
00123 MSG: geometry_msgs/Quaternion
00124 # This represents an orientation in free space in quaternion form.
00125
00126 float64 x
00127 float64 y
00128 float64 z
00129 float64 w
00130
00131 ================================================================================
00132 MSG: arm_navigation_msgs/Constraints
00133 # This message contains a list of motion planning constraints.
00134
00135 arm_navigation_msgs/JointConstraint[] joint_constraints
00136 arm_navigation_msgs/PositionConstraint[] position_constraints
00137 arm_navigation_msgs/OrientationConstraint[] orientation_constraints
00138 arm_navigation_msgs/VisibilityConstraint[] visibility_constraints
00139
00140 ================================================================================
00141 MSG: arm_navigation_msgs/JointConstraint
00142 # Constrain the position of a joint to be within a certain bound
00143 string joint_name
00144
00145 # the bound to be achieved is [position - tolerance_below, position + tolerance_above]
00146 float64 position
00147 float64 tolerance_above
00148 float64 tolerance_below
00149
00150 # A weighting factor for this constraint
00151 float64 weight
00152 ================================================================================
00153 MSG: arm_navigation_msgs/PositionConstraint
00154 # This message contains the definition of a position constraint.
00155 Header header
00156
00157 # The robot link this constraint refers to
00158 string link_name
00159
00160 # The offset (in the link frame) for the target point on the link we are planning for
00161 geometry_msgs/Point target_point_offset
00162
00163 # The nominal/target position for the point we are planning for
00164 geometry_msgs/Point position
00165
00166 # The shape of the bounded region that constrains the position of the end-effector
00167 # This region is always centered at the position defined above
00168 arm_navigation_msgs/Shape constraint_region_shape
00169
00170 # The orientation of the bounded region that constrains the position of the end-effector.
00171 # This allows the specification of non-axis aligned constraints
00172 geometry_msgs/Quaternion constraint_region_orientation
00173
00174 # Constraint weighting factor - a weight for this constraint
00175 float64 weight
00176
00177 ================================================================================
00178 MSG: arm_navigation_msgs/Shape
00179 byte SPHERE=0
00180 byte BOX=1
00181 byte CYLINDER=2
00182 byte MESH=3
00183
00184 byte type
00185
00186
00187 #### define sphere, box, cylinder ####
00188 # the origin of each shape is considered at the shape's center
00189
00190 # for sphere
00191 # radius := dimensions[0]
00192
00193 # for cylinder
00194 # radius := dimensions[0]
00195 # length := dimensions[1]
00196 # the length is along the Z axis
00197
00198 # for box
00199 # size_x := dimensions[0]
00200 # size_y := dimensions[1]
00201 # size_z := dimensions[2]
00202 float64[] dimensions
00203
00204
00205 #### define mesh ####
00206
00207 # list of triangles; triangle k is defined by tre vertices located
00208 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]
00209 int32[] triangles
00210 geometry_msgs/Point[] vertices
00211
00212 ================================================================================
00213 MSG: arm_navigation_msgs/OrientationConstraint
00214 # This message contains the definition of an orientation constraint.
00215 Header header
00216
00217 # The robot link this constraint refers to
00218 string link_name
00219
00220 # The type of the constraint
00221 int32 type
00222 int32 LINK_FRAME=0
00223 int32 HEADER_FRAME=1
00224
00225 # The desired orientation of the robot link specified as a quaternion
00226 geometry_msgs/Quaternion orientation
00227
00228 # optional RPY error tolerances specified if
00229 float64 absolute_roll_tolerance
00230 float64 absolute_pitch_tolerance
00231 float64 absolute_yaw_tolerance
00232
00233 # Constraint weighting factor - a weight for this constraint
00234 float64 weight
00235
00236 ================================================================================
00237 MSG: arm_navigation_msgs/VisibilityConstraint
00238 # This message contains the definition of a visibility constraint.
00239 Header header
00240
00241 # The point stamped target that needs to be kept within view of the sensor
00242 geometry_msgs/PointStamped target
00243
00244 # The local pose of the frame in which visibility is to be maintained
00245 # The frame id should represent the robot link to which the sensor is attached
00246 # The visual axis of the sensor is assumed to be along the X axis of this frame
00247 geometry_msgs/PoseStamped sensor_pose
00248
00249 # The deviation (in radians) that will be tolerated
00250 # Constraint error will be measured as the solid angle between the
00251 # X axis of the frame defined above and the vector between the origin
00252 # of the frame defined above and the target location
00253 float64 absolute_tolerance
00254
00255
00256 ================================================================================
00257 MSG: geometry_msgs/PointStamped
00258 # This represents a Point with reference coordinate frame and timestamp
00259 Header header
00260 Point point
00261
00262 ================================================================================
00263 MSG: geometry_msgs/PoseStamped
00264 # A Pose with reference coordinate frame and timestamp
00265 Header header
00266 Pose pose
00267
00268 """
00269 __slots__ = ['robot_state','check_collisions','check_path_constraints','check_goal_constraints','check_joint_limits','group_name','path_constraints','goal_constraints']
00270 _slot_types = ['arm_navigation_msgs/RobotState','bool','bool','bool','bool','string','arm_navigation_msgs/Constraints','arm_navigation_msgs/Constraints']
00271
00272 def __init__(self, *args, **kwds):
00273 """
00274 Constructor. Any message fields that are implicitly/explicitly
00275 set to None will be assigned a default value. The recommend
00276 use is keyword arguments as this is more robust to future message
00277 changes. You cannot mix in-order arguments and keyword arguments.
00278
00279 The available fields are:
00280 robot_state,check_collisions,check_path_constraints,check_goal_constraints,check_joint_limits,group_name,path_constraints,goal_constraints
00281
00282 :param args: complete set of field values, in .msg order
00283 :param kwds: use keyword arguments corresponding to message field names
00284 to set specific fields.
00285 """
00286 if args or kwds:
00287 super(GetStateValidityRequest, self).__init__(*args, **kwds)
00288
00289 if self.robot_state is None:
00290 self.robot_state = arm_navigation_msgs.msg.RobotState()
00291 if self.check_collisions is None:
00292 self.check_collisions = False
00293 if self.check_path_constraints is None:
00294 self.check_path_constraints = False
00295 if self.check_goal_constraints is None:
00296 self.check_goal_constraints = False
00297 if self.check_joint_limits is None:
00298 self.check_joint_limits = False
00299 if self.group_name is None:
00300 self.group_name = ''
00301 if self.path_constraints is None:
00302 self.path_constraints = arm_navigation_msgs.msg.Constraints()
00303 if self.goal_constraints is None:
00304 self.goal_constraints = arm_navigation_msgs.msg.Constraints()
00305 else:
00306 self.robot_state = arm_navigation_msgs.msg.RobotState()
00307 self.check_collisions = False
00308 self.check_path_constraints = False
00309 self.check_goal_constraints = False
00310 self.check_joint_limits = False
00311 self.group_name = ''
00312 self.path_constraints = arm_navigation_msgs.msg.Constraints()
00313 self.goal_constraints = arm_navigation_msgs.msg.Constraints()
00314
00315 def _get_types(self):
00316 """
00317 internal API method
00318 """
00319 return self._slot_types
00320
00321 def serialize(self, buff):
00322 """
00323 serialize message into buffer
00324 :param buff: buffer, ``StringIO``
00325 """
00326 try:
00327 _x = self
00328 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))
00329 _x = self.robot_state.joint_state.header.frame_id
00330 length = len(_x)
00331 if python3 or type(_x) == unicode:
00332 _x = _x.encode('utf-8')
00333 length = len(_x)
00334 buff.write(struct.pack('<I%ss'%length, length, _x))
00335 length = len(self.robot_state.joint_state.name)
00336 buff.write(_struct_I.pack(length))
00337 for val1 in self.robot_state.joint_state.name:
00338 length = len(val1)
00339 if python3 or type(val1) == unicode:
00340 val1 = val1.encode('utf-8')
00341 length = len(val1)
00342 buff.write(struct.pack('<I%ss'%length, length, val1))
00343 length = len(self.robot_state.joint_state.position)
00344 buff.write(_struct_I.pack(length))
00345 pattern = '<%sd'%length
00346 buff.write(struct.pack(pattern, *self.robot_state.joint_state.position))
00347 length = len(self.robot_state.joint_state.velocity)
00348 buff.write(_struct_I.pack(length))
00349 pattern = '<%sd'%length
00350 buff.write(struct.pack(pattern, *self.robot_state.joint_state.velocity))
00351 length = len(self.robot_state.joint_state.effort)
00352 buff.write(_struct_I.pack(length))
00353 pattern = '<%sd'%length
00354 buff.write(struct.pack(pattern, *self.robot_state.joint_state.effort))
00355 _x = self
00356 buff.write(_struct_2I.pack(_x.robot_state.multi_dof_joint_state.stamp.secs, _x.robot_state.multi_dof_joint_state.stamp.nsecs))
00357 length = len(self.robot_state.multi_dof_joint_state.joint_names)
00358 buff.write(_struct_I.pack(length))
00359 for val1 in self.robot_state.multi_dof_joint_state.joint_names:
00360 length = len(val1)
00361 if python3 or type(val1) == unicode:
00362 val1 = val1.encode('utf-8')
00363 length = len(val1)
00364 buff.write(struct.pack('<I%ss'%length, length, val1))
00365 length = len(self.robot_state.multi_dof_joint_state.frame_ids)
00366 buff.write(_struct_I.pack(length))
00367 for val1 in self.robot_state.multi_dof_joint_state.frame_ids:
00368 length = len(val1)
00369 if python3 or type(val1) == unicode:
00370 val1 = val1.encode('utf-8')
00371 length = len(val1)
00372 buff.write(struct.pack('<I%ss'%length, length, val1))
00373 length = len(self.robot_state.multi_dof_joint_state.child_frame_ids)
00374 buff.write(_struct_I.pack(length))
00375 for val1 in self.robot_state.multi_dof_joint_state.child_frame_ids:
00376 length = len(val1)
00377 if python3 or type(val1) == unicode:
00378 val1 = val1.encode('utf-8')
00379 length = len(val1)
00380 buff.write(struct.pack('<I%ss'%length, length, val1))
00381 length = len(self.robot_state.multi_dof_joint_state.poses)
00382 buff.write(_struct_I.pack(length))
00383 for val1 in self.robot_state.multi_dof_joint_state.poses:
00384 _v1 = val1.position
00385 _x = _v1
00386 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00387 _v2 = val1.orientation
00388 _x = _v2
00389 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00390 _x = self
00391 buff.write(_struct_4B.pack(_x.check_collisions, _x.check_path_constraints, _x.check_goal_constraints, _x.check_joint_limits))
00392 _x = self.group_name
00393 length = len(_x)
00394 if python3 or type(_x) == unicode:
00395 _x = _x.encode('utf-8')
00396 length = len(_x)
00397 buff.write(struct.pack('<I%ss'%length, length, _x))
00398 length = len(self.path_constraints.joint_constraints)
00399 buff.write(_struct_I.pack(length))
00400 for val1 in self.path_constraints.joint_constraints:
00401 _x = val1.joint_name
00402 length = len(_x)
00403 if python3 or type(_x) == unicode:
00404 _x = _x.encode('utf-8')
00405 length = len(_x)
00406 buff.write(struct.pack('<I%ss'%length, length, _x))
00407 _x = val1
00408 buff.write(_struct_4d.pack(_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight))
00409 length = len(self.path_constraints.position_constraints)
00410 buff.write(_struct_I.pack(length))
00411 for val1 in self.path_constraints.position_constraints:
00412 _v3 = val1.header
00413 buff.write(_struct_I.pack(_v3.seq))
00414 _v4 = _v3.stamp
00415 _x = _v4
00416 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00417 _x = _v3.frame_id
00418 length = len(_x)
00419 if python3 or type(_x) == unicode:
00420 _x = _x.encode('utf-8')
00421 length = len(_x)
00422 buff.write(struct.pack('<I%ss'%length, length, _x))
00423 _x = val1.link_name
00424 length = len(_x)
00425 if python3 or type(_x) == unicode:
00426 _x = _x.encode('utf-8')
00427 length = len(_x)
00428 buff.write(struct.pack('<I%ss'%length, length, _x))
00429 _v5 = val1.target_point_offset
00430 _x = _v5
00431 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00432 _v6 = val1.position
00433 _x = _v6
00434 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00435 _v7 = val1.constraint_region_shape
00436 buff.write(_struct_b.pack(_v7.type))
00437 length = len(_v7.dimensions)
00438 buff.write(_struct_I.pack(length))
00439 pattern = '<%sd'%length
00440 buff.write(struct.pack(pattern, *_v7.dimensions))
00441 length = len(_v7.triangles)
00442 buff.write(_struct_I.pack(length))
00443 pattern = '<%si'%length
00444 buff.write(struct.pack(pattern, *_v7.triangles))
00445 length = len(_v7.vertices)
00446 buff.write(_struct_I.pack(length))
00447 for val3 in _v7.vertices:
00448 _x = val3
00449 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00450 _v8 = val1.constraint_region_orientation
00451 _x = _v8
00452 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00453 buff.write(_struct_d.pack(val1.weight))
00454 length = len(self.path_constraints.orientation_constraints)
00455 buff.write(_struct_I.pack(length))
00456 for val1 in self.path_constraints.orientation_constraints:
00457 _v9 = val1.header
00458 buff.write(_struct_I.pack(_v9.seq))
00459 _v10 = _v9.stamp
00460 _x = _v10
00461 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00462 _x = _v9.frame_id
00463 length = len(_x)
00464 if python3 or type(_x) == unicode:
00465 _x = _x.encode('utf-8')
00466 length = len(_x)
00467 buff.write(struct.pack('<I%ss'%length, length, _x))
00468 _x = val1.link_name
00469 length = len(_x)
00470 if python3 or type(_x) == unicode:
00471 _x = _x.encode('utf-8')
00472 length = len(_x)
00473 buff.write(struct.pack('<I%ss'%length, length, _x))
00474 buff.write(_struct_i.pack(val1.type))
00475 _v11 = val1.orientation
00476 _x = _v11
00477 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00478 _x = val1
00479 buff.write(_struct_4d.pack(_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight))
00480 length = len(self.path_constraints.visibility_constraints)
00481 buff.write(_struct_I.pack(length))
00482 for val1 in self.path_constraints.visibility_constraints:
00483 _v12 = val1.header
00484 buff.write(_struct_I.pack(_v12.seq))
00485 _v13 = _v12.stamp
00486 _x = _v13
00487 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00488 _x = _v12.frame_id
00489 length = len(_x)
00490 if python3 or type(_x) == unicode:
00491 _x = _x.encode('utf-8')
00492 length = len(_x)
00493 buff.write(struct.pack('<I%ss'%length, length, _x))
00494 _v14 = val1.target
00495 _v15 = _v14.header
00496 buff.write(_struct_I.pack(_v15.seq))
00497 _v16 = _v15.stamp
00498 _x = _v16
00499 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00500 _x = _v15.frame_id
00501 length = len(_x)
00502 if python3 or type(_x) == unicode:
00503 _x = _x.encode('utf-8')
00504 length = len(_x)
00505 buff.write(struct.pack('<I%ss'%length, length, _x))
00506 _v17 = _v14.point
00507 _x = _v17
00508 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00509 _v18 = val1.sensor_pose
00510 _v19 = _v18.header
00511 buff.write(_struct_I.pack(_v19.seq))
00512 _v20 = _v19.stamp
00513 _x = _v20
00514 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00515 _x = _v19.frame_id
00516 length = len(_x)
00517 if python3 or type(_x) == unicode:
00518 _x = _x.encode('utf-8')
00519 length = len(_x)
00520 buff.write(struct.pack('<I%ss'%length, length, _x))
00521 _v21 = _v18.pose
00522 _v22 = _v21.position
00523 _x = _v22
00524 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00525 _v23 = _v21.orientation
00526 _x = _v23
00527 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00528 buff.write(_struct_d.pack(val1.absolute_tolerance))
00529 length = len(self.goal_constraints.joint_constraints)
00530 buff.write(_struct_I.pack(length))
00531 for val1 in self.goal_constraints.joint_constraints:
00532 _x = val1.joint_name
00533 length = len(_x)
00534 if python3 or type(_x) == unicode:
00535 _x = _x.encode('utf-8')
00536 length = len(_x)
00537 buff.write(struct.pack('<I%ss'%length, length, _x))
00538 _x = val1
00539 buff.write(_struct_4d.pack(_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight))
00540 length = len(self.goal_constraints.position_constraints)
00541 buff.write(_struct_I.pack(length))
00542 for val1 in self.goal_constraints.position_constraints:
00543 _v24 = val1.header
00544 buff.write(_struct_I.pack(_v24.seq))
00545 _v25 = _v24.stamp
00546 _x = _v25
00547 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00548 _x = _v24.frame_id
00549 length = len(_x)
00550 if python3 or type(_x) == unicode:
00551 _x = _x.encode('utf-8')
00552 length = len(_x)
00553 buff.write(struct.pack('<I%ss'%length, length, _x))
00554 _x = val1.link_name
00555 length = len(_x)
00556 if python3 or type(_x) == unicode:
00557 _x = _x.encode('utf-8')
00558 length = len(_x)
00559 buff.write(struct.pack('<I%ss'%length, length, _x))
00560 _v26 = val1.target_point_offset
00561 _x = _v26
00562 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00563 _v27 = val1.position
00564 _x = _v27
00565 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00566 _v28 = val1.constraint_region_shape
00567 buff.write(_struct_b.pack(_v28.type))
00568 length = len(_v28.dimensions)
00569 buff.write(_struct_I.pack(length))
00570 pattern = '<%sd'%length
00571 buff.write(struct.pack(pattern, *_v28.dimensions))
00572 length = len(_v28.triangles)
00573 buff.write(_struct_I.pack(length))
00574 pattern = '<%si'%length
00575 buff.write(struct.pack(pattern, *_v28.triangles))
00576 length = len(_v28.vertices)
00577 buff.write(_struct_I.pack(length))
00578 for val3 in _v28.vertices:
00579 _x = val3
00580 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00581 _v29 = val1.constraint_region_orientation
00582 _x = _v29
00583 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00584 buff.write(_struct_d.pack(val1.weight))
00585 length = len(self.goal_constraints.orientation_constraints)
00586 buff.write(_struct_I.pack(length))
00587 for val1 in self.goal_constraints.orientation_constraints:
00588 _v30 = val1.header
00589 buff.write(_struct_I.pack(_v30.seq))
00590 _v31 = _v30.stamp
00591 _x = _v31
00592 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00593 _x = _v30.frame_id
00594 length = len(_x)
00595 if python3 or type(_x) == unicode:
00596 _x = _x.encode('utf-8')
00597 length = len(_x)
00598 buff.write(struct.pack('<I%ss'%length, length, _x))
00599 _x = val1.link_name
00600 length = len(_x)
00601 if python3 or type(_x) == unicode:
00602 _x = _x.encode('utf-8')
00603 length = len(_x)
00604 buff.write(struct.pack('<I%ss'%length, length, _x))
00605 buff.write(_struct_i.pack(val1.type))
00606 _v32 = val1.orientation
00607 _x = _v32
00608 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00609 _x = val1
00610 buff.write(_struct_4d.pack(_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight))
00611 length = len(self.goal_constraints.visibility_constraints)
00612 buff.write(_struct_I.pack(length))
00613 for val1 in self.goal_constraints.visibility_constraints:
00614 _v33 = val1.header
00615 buff.write(_struct_I.pack(_v33.seq))
00616 _v34 = _v33.stamp
00617 _x = _v34
00618 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00619 _x = _v33.frame_id
00620 length = len(_x)
00621 if python3 or type(_x) == unicode:
00622 _x = _x.encode('utf-8')
00623 length = len(_x)
00624 buff.write(struct.pack('<I%ss'%length, length, _x))
00625 _v35 = val1.target
00626 _v36 = _v35.header
00627 buff.write(_struct_I.pack(_v36.seq))
00628 _v37 = _v36.stamp
00629 _x = _v37
00630 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00631 _x = _v36.frame_id
00632 length = len(_x)
00633 if python3 or type(_x) == unicode:
00634 _x = _x.encode('utf-8')
00635 length = len(_x)
00636 buff.write(struct.pack('<I%ss'%length, length, _x))
00637 _v38 = _v35.point
00638 _x = _v38
00639 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00640 _v39 = val1.sensor_pose
00641 _v40 = _v39.header
00642 buff.write(_struct_I.pack(_v40.seq))
00643 _v41 = _v40.stamp
00644 _x = _v41
00645 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00646 _x = _v40.frame_id
00647 length = len(_x)
00648 if python3 or type(_x) == unicode:
00649 _x = _x.encode('utf-8')
00650 length = len(_x)
00651 buff.write(struct.pack('<I%ss'%length, length, _x))
00652 _v42 = _v39.pose
00653 _v43 = _v42.position
00654 _x = _v43
00655 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00656 _v44 = _v42.orientation
00657 _x = _v44
00658 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00659 buff.write(_struct_d.pack(val1.absolute_tolerance))
00660 except struct.error as se: self._check_types(se)
00661 except TypeError as te: self._check_types(te)
00662
00663 def deserialize(self, str):
00664 """
00665 unpack serialized message in str into this message instance
00666 :param str: byte array of serialized message, ``str``
00667 """
00668 try:
00669 if self.robot_state is None:
00670 self.robot_state = arm_navigation_msgs.msg.RobotState()
00671 if self.path_constraints is None:
00672 self.path_constraints = arm_navigation_msgs.msg.Constraints()
00673 if self.goal_constraints is None:
00674 self.goal_constraints = arm_navigation_msgs.msg.Constraints()
00675 end = 0
00676 _x = self
00677 start = end
00678 end += 12
00679 (_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])
00680 start = end
00681 end += 4
00682 (length,) = _struct_I.unpack(str[start:end])
00683 start = end
00684 end += length
00685 if python3:
00686 self.robot_state.joint_state.header.frame_id = str[start:end].decode('utf-8')
00687 else:
00688 self.robot_state.joint_state.header.frame_id = str[start:end]
00689 start = end
00690 end += 4
00691 (length,) = _struct_I.unpack(str[start:end])
00692 self.robot_state.joint_state.name = []
00693 for i in range(0, length):
00694 start = end
00695 end += 4
00696 (length,) = _struct_I.unpack(str[start:end])
00697 start = end
00698 end += length
00699 if python3:
00700 val1 = str[start:end].decode('utf-8')
00701 else:
00702 val1 = str[start:end]
00703 self.robot_state.joint_state.name.append(val1)
00704 start = end
00705 end += 4
00706 (length,) = _struct_I.unpack(str[start:end])
00707 pattern = '<%sd'%length
00708 start = end
00709 end += struct.calcsize(pattern)
00710 self.robot_state.joint_state.position = struct.unpack(pattern, str[start:end])
00711 start = end
00712 end += 4
00713 (length,) = _struct_I.unpack(str[start:end])
00714 pattern = '<%sd'%length
00715 start = end
00716 end += struct.calcsize(pattern)
00717 self.robot_state.joint_state.velocity = struct.unpack(pattern, str[start:end])
00718 start = end
00719 end += 4
00720 (length,) = _struct_I.unpack(str[start:end])
00721 pattern = '<%sd'%length
00722 start = end
00723 end += struct.calcsize(pattern)
00724 self.robot_state.joint_state.effort = struct.unpack(pattern, str[start:end])
00725 _x = self
00726 start = end
00727 end += 8
00728 (_x.robot_state.multi_dof_joint_state.stamp.secs, _x.robot_state.multi_dof_joint_state.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00729 start = end
00730 end += 4
00731 (length,) = _struct_I.unpack(str[start:end])
00732 self.robot_state.multi_dof_joint_state.joint_names = []
00733 for i in range(0, length):
00734 start = end
00735 end += 4
00736 (length,) = _struct_I.unpack(str[start:end])
00737 start = end
00738 end += length
00739 if python3:
00740 val1 = str[start:end].decode('utf-8')
00741 else:
00742 val1 = str[start:end]
00743 self.robot_state.multi_dof_joint_state.joint_names.append(val1)
00744 start = end
00745 end += 4
00746 (length,) = _struct_I.unpack(str[start:end])
00747 self.robot_state.multi_dof_joint_state.frame_ids = []
00748 for i in range(0, length):
00749 start = end
00750 end += 4
00751 (length,) = _struct_I.unpack(str[start:end])
00752 start = end
00753 end += length
00754 if python3:
00755 val1 = str[start:end].decode('utf-8')
00756 else:
00757 val1 = str[start:end]
00758 self.robot_state.multi_dof_joint_state.frame_ids.append(val1)
00759 start = end
00760 end += 4
00761 (length,) = _struct_I.unpack(str[start:end])
00762 self.robot_state.multi_dof_joint_state.child_frame_ids = []
00763 for i in range(0, length):
00764 start = end
00765 end += 4
00766 (length,) = _struct_I.unpack(str[start:end])
00767 start = end
00768 end += length
00769 if python3:
00770 val1 = str[start:end].decode('utf-8')
00771 else:
00772 val1 = str[start:end]
00773 self.robot_state.multi_dof_joint_state.child_frame_ids.append(val1)
00774 start = end
00775 end += 4
00776 (length,) = _struct_I.unpack(str[start:end])
00777 self.robot_state.multi_dof_joint_state.poses = []
00778 for i in range(0, length):
00779 val1 = geometry_msgs.msg.Pose()
00780 _v45 = val1.position
00781 _x = _v45
00782 start = end
00783 end += 24
00784 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00785 _v46 = val1.orientation
00786 _x = _v46
00787 start = end
00788 end += 32
00789 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00790 self.robot_state.multi_dof_joint_state.poses.append(val1)
00791 _x = self
00792 start = end
00793 end += 4
00794 (_x.check_collisions, _x.check_path_constraints, _x.check_goal_constraints, _x.check_joint_limits,) = _struct_4B.unpack(str[start:end])
00795 self.check_collisions = bool(self.check_collisions)
00796 self.check_path_constraints = bool(self.check_path_constraints)
00797 self.check_goal_constraints = bool(self.check_goal_constraints)
00798 self.check_joint_limits = bool(self.check_joint_limits)
00799 start = end
00800 end += 4
00801 (length,) = _struct_I.unpack(str[start:end])
00802 start = end
00803 end += length
00804 if python3:
00805 self.group_name = str[start:end].decode('utf-8')
00806 else:
00807 self.group_name = str[start:end]
00808 start = end
00809 end += 4
00810 (length,) = _struct_I.unpack(str[start:end])
00811 self.path_constraints.joint_constraints = []
00812 for i in range(0, length):
00813 val1 = arm_navigation_msgs.msg.JointConstraint()
00814 start = end
00815 end += 4
00816 (length,) = _struct_I.unpack(str[start:end])
00817 start = end
00818 end += length
00819 if python3:
00820 val1.joint_name = str[start:end].decode('utf-8')
00821 else:
00822 val1.joint_name = str[start:end]
00823 _x = val1
00824 start = end
00825 end += 32
00826 (_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight,) = _struct_4d.unpack(str[start:end])
00827 self.path_constraints.joint_constraints.append(val1)
00828 start = end
00829 end += 4
00830 (length,) = _struct_I.unpack(str[start:end])
00831 self.path_constraints.position_constraints = []
00832 for i in range(0, length):
00833 val1 = arm_navigation_msgs.msg.PositionConstraint()
00834 _v47 = val1.header
00835 start = end
00836 end += 4
00837 (_v47.seq,) = _struct_I.unpack(str[start:end])
00838 _v48 = _v47.stamp
00839 _x = _v48
00840 start = end
00841 end += 8
00842 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00843 start = end
00844 end += 4
00845 (length,) = _struct_I.unpack(str[start:end])
00846 start = end
00847 end += length
00848 if python3:
00849 _v47.frame_id = str[start:end].decode('utf-8')
00850 else:
00851 _v47.frame_id = str[start:end]
00852 start = end
00853 end += 4
00854 (length,) = _struct_I.unpack(str[start:end])
00855 start = end
00856 end += length
00857 if python3:
00858 val1.link_name = str[start:end].decode('utf-8')
00859 else:
00860 val1.link_name = str[start:end]
00861 _v49 = val1.target_point_offset
00862 _x = _v49
00863 start = end
00864 end += 24
00865 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00866 _v50 = val1.position
00867 _x = _v50
00868 start = end
00869 end += 24
00870 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00871 _v51 = val1.constraint_region_shape
00872 start = end
00873 end += 1
00874 (_v51.type,) = _struct_b.unpack(str[start:end])
00875 start = end
00876 end += 4
00877 (length,) = _struct_I.unpack(str[start:end])
00878 pattern = '<%sd'%length
00879 start = end
00880 end += struct.calcsize(pattern)
00881 _v51.dimensions = struct.unpack(pattern, str[start:end])
00882 start = end
00883 end += 4
00884 (length,) = _struct_I.unpack(str[start:end])
00885 pattern = '<%si'%length
00886 start = end
00887 end += struct.calcsize(pattern)
00888 _v51.triangles = struct.unpack(pattern, str[start:end])
00889 start = end
00890 end += 4
00891 (length,) = _struct_I.unpack(str[start:end])
00892 _v51.vertices = []
00893 for i in range(0, length):
00894 val3 = geometry_msgs.msg.Point()
00895 _x = val3
00896 start = end
00897 end += 24
00898 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00899 _v51.vertices.append(val3)
00900 _v52 = val1.constraint_region_orientation
00901 _x = _v52
00902 start = end
00903 end += 32
00904 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00905 start = end
00906 end += 8
00907 (val1.weight,) = _struct_d.unpack(str[start:end])
00908 self.path_constraints.position_constraints.append(val1)
00909 start = end
00910 end += 4
00911 (length,) = _struct_I.unpack(str[start:end])
00912 self.path_constraints.orientation_constraints = []
00913 for i in range(0, length):
00914 val1 = arm_navigation_msgs.msg.OrientationConstraint()
00915 _v53 = val1.header
00916 start = end
00917 end += 4
00918 (_v53.seq,) = _struct_I.unpack(str[start:end])
00919 _v54 = _v53.stamp
00920 _x = _v54
00921 start = end
00922 end += 8
00923 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00924 start = end
00925 end += 4
00926 (length,) = _struct_I.unpack(str[start:end])
00927 start = end
00928 end += length
00929 if python3:
00930 _v53.frame_id = str[start:end].decode('utf-8')
00931 else:
00932 _v53.frame_id = str[start:end]
00933 start = end
00934 end += 4
00935 (length,) = _struct_I.unpack(str[start:end])
00936 start = end
00937 end += length
00938 if python3:
00939 val1.link_name = str[start:end].decode('utf-8')
00940 else:
00941 val1.link_name = str[start:end]
00942 start = end
00943 end += 4
00944 (val1.type,) = _struct_i.unpack(str[start:end])
00945 _v55 = val1.orientation
00946 _x = _v55
00947 start = end
00948 end += 32
00949 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00950 _x = val1
00951 start = end
00952 end += 32
00953 (_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight,) = _struct_4d.unpack(str[start:end])
00954 self.path_constraints.orientation_constraints.append(val1)
00955 start = end
00956 end += 4
00957 (length,) = _struct_I.unpack(str[start:end])
00958 self.path_constraints.visibility_constraints = []
00959 for i in range(0, length):
00960 val1 = arm_navigation_msgs.msg.VisibilityConstraint()
00961 _v56 = val1.header
00962 start = end
00963 end += 4
00964 (_v56.seq,) = _struct_I.unpack(str[start:end])
00965 _v57 = _v56.stamp
00966 _x = _v57
00967 start = end
00968 end += 8
00969 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00970 start = end
00971 end += 4
00972 (length,) = _struct_I.unpack(str[start:end])
00973 start = end
00974 end += length
00975 if python3:
00976 _v56.frame_id = str[start:end].decode('utf-8')
00977 else:
00978 _v56.frame_id = str[start:end]
00979 _v58 = val1.target
00980 _v59 = _v58.header
00981 start = end
00982 end += 4
00983 (_v59.seq,) = _struct_I.unpack(str[start:end])
00984 _v60 = _v59.stamp
00985 _x = _v60
00986 start = end
00987 end += 8
00988 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00989 start = end
00990 end += 4
00991 (length,) = _struct_I.unpack(str[start:end])
00992 start = end
00993 end += length
00994 if python3:
00995 _v59.frame_id = str[start:end].decode('utf-8')
00996 else:
00997 _v59.frame_id = str[start:end]
00998 _v61 = _v58.point
00999 _x = _v61
01000 start = end
01001 end += 24
01002 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01003 _v62 = val1.sensor_pose
01004 _v63 = _v62.header
01005 start = end
01006 end += 4
01007 (_v63.seq,) = _struct_I.unpack(str[start:end])
01008 _v64 = _v63.stamp
01009 _x = _v64
01010 start = end
01011 end += 8
01012 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01013 start = end
01014 end += 4
01015 (length,) = _struct_I.unpack(str[start:end])
01016 start = end
01017 end += length
01018 if python3:
01019 _v63.frame_id = str[start:end].decode('utf-8')
01020 else:
01021 _v63.frame_id = str[start:end]
01022 _v65 = _v62.pose
01023 _v66 = _v65.position
01024 _x = _v66
01025 start = end
01026 end += 24
01027 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01028 _v67 = _v65.orientation
01029 _x = _v67
01030 start = end
01031 end += 32
01032 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01033 start = end
01034 end += 8
01035 (val1.absolute_tolerance,) = _struct_d.unpack(str[start:end])
01036 self.path_constraints.visibility_constraints.append(val1)
01037 start = end
01038 end += 4
01039 (length,) = _struct_I.unpack(str[start:end])
01040 self.goal_constraints.joint_constraints = []
01041 for i in range(0, length):
01042 val1 = arm_navigation_msgs.msg.JointConstraint()
01043 start = end
01044 end += 4
01045 (length,) = _struct_I.unpack(str[start:end])
01046 start = end
01047 end += length
01048 if python3:
01049 val1.joint_name = str[start:end].decode('utf-8')
01050 else:
01051 val1.joint_name = str[start:end]
01052 _x = val1
01053 start = end
01054 end += 32
01055 (_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight,) = _struct_4d.unpack(str[start:end])
01056 self.goal_constraints.joint_constraints.append(val1)
01057 start = end
01058 end += 4
01059 (length,) = _struct_I.unpack(str[start:end])
01060 self.goal_constraints.position_constraints = []
01061 for i in range(0, length):
01062 val1 = arm_navigation_msgs.msg.PositionConstraint()
01063 _v68 = val1.header
01064 start = end
01065 end += 4
01066 (_v68.seq,) = _struct_I.unpack(str[start:end])
01067 _v69 = _v68.stamp
01068 _x = _v69
01069 start = end
01070 end += 8
01071 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01072 start = end
01073 end += 4
01074 (length,) = _struct_I.unpack(str[start:end])
01075 start = end
01076 end += length
01077 if python3:
01078 _v68.frame_id = str[start:end].decode('utf-8')
01079 else:
01080 _v68.frame_id = str[start:end]
01081 start = end
01082 end += 4
01083 (length,) = _struct_I.unpack(str[start:end])
01084 start = end
01085 end += length
01086 if python3:
01087 val1.link_name = str[start:end].decode('utf-8')
01088 else:
01089 val1.link_name = str[start:end]
01090 _v70 = val1.target_point_offset
01091 _x = _v70
01092 start = end
01093 end += 24
01094 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01095 _v71 = val1.position
01096 _x = _v71
01097 start = end
01098 end += 24
01099 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01100 _v72 = val1.constraint_region_shape
01101 start = end
01102 end += 1
01103 (_v72.type,) = _struct_b.unpack(str[start:end])
01104 start = end
01105 end += 4
01106 (length,) = _struct_I.unpack(str[start:end])
01107 pattern = '<%sd'%length
01108 start = end
01109 end += struct.calcsize(pattern)
01110 _v72.dimensions = struct.unpack(pattern, str[start:end])
01111 start = end
01112 end += 4
01113 (length,) = _struct_I.unpack(str[start:end])
01114 pattern = '<%si'%length
01115 start = end
01116 end += struct.calcsize(pattern)
01117 _v72.triangles = struct.unpack(pattern, str[start:end])
01118 start = end
01119 end += 4
01120 (length,) = _struct_I.unpack(str[start:end])
01121 _v72.vertices = []
01122 for i in range(0, length):
01123 val3 = geometry_msgs.msg.Point()
01124 _x = val3
01125 start = end
01126 end += 24
01127 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01128 _v72.vertices.append(val3)
01129 _v73 = val1.constraint_region_orientation
01130 _x = _v73
01131 start = end
01132 end += 32
01133 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01134 start = end
01135 end += 8
01136 (val1.weight,) = _struct_d.unpack(str[start:end])
01137 self.goal_constraints.position_constraints.append(val1)
01138 start = end
01139 end += 4
01140 (length,) = _struct_I.unpack(str[start:end])
01141 self.goal_constraints.orientation_constraints = []
01142 for i in range(0, length):
01143 val1 = arm_navigation_msgs.msg.OrientationConstraint()
01144 _v74 = val1.header
01145 start = end
01146 end += 4
01147 (_v74.seq,) = _struct_I.unpack(str[start:end])
01148 _v75 = _v74.stamp
01149 _x = _v75
01150 start = end
01151 end += 8
01152 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01153 start = end
01154 end += 4
01155 (length,) = _struct_I.unpack(str[start:end])
01156 start = end
01157 end += length
01158 if python3:
01159 _v74.frame_id = str[start:end].decode('utf-8')
01160 else:
01161 _v74.frame_id = str[start:end]
01162 start = end
01163 end += 4
01164 (length,) = _struct_I.unpack(str[start:end])
01165 start = end
01166 end += length
01167 if python3:
01168 val1.link_name = str[start:end].decode('utf-8')
01169 else:
01170 val1.link_name = str[start:end]
01171 start = end
01172 end += 4
01173 (val1.type,) = _struct_i.unpack(str[start:end])
01174 _v76 = val1.orientation
01175 _x = _v76
01176 start = end
01177 end += 32
01178 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01179 _x = val1
01180 start = end
01181 end += 32
01182 (_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight,) = _struct_4d.unpack(str[start:end])
01183 self.goal_constraints.orientation_constraints.append(val1)
01184 start = end
01185 end += 4
01186 (length,) = _struct_I.unpack(str[start:end])
01187 self.goal_constraints.visibility_constraints = []
01188 for i in range(0, length):
01189 val1 = arm_navigation_msgs.msg.VisibilityConstraint()
01190 _v77 = val1.header
01191 start = end
01192 end += 4
01193 (_v77.seq,) = _struct_I.unpack(str[start:end])
01194 _v78 = _v77.stamp
01195 _x = _v78
01196 start = end
01197 end += 8
01198 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01199 start = end
01200 end += 4
01201 (length,) = _struct_I.unpack(str[start:end])
01202 start = end
01203 end += length
01204 if python3:
01205 _v77.frame_id = str[start:end].decode('utf-8')
01206 else:
01207 _v77.frame_id = str[start:end]
01208 _v79 = val1.target
01209 _v80 = _v79.header
01210 start = end
01211 end += 4
01212 (_v80.seq,) = _struct_I.unpack(str[start:end])
01213 _v81 = _v80.stamp
01214 _x = _v81
01215 start = end
01216 end += 8
01217 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01218 start = end
01219 end += 4
01220 (length,) = _struct_I.unpack(str[start:end])
01221 start = end
01222 end += length
01223 if python3:
01224 _v80.frame_id = str[start:end].decode('utf-8')
01225 else:
01226 _v80.frame_id = str[start:end]
01227 _v82 = _v79.point
01228 _x = _v82
01229 start = end
01230 end += 24
01231 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01232 _v83 = val1.sensor_pose
01233 _v84 = _v83.header
01234 start = end
01235 end += 4
01236 (_v84.seq,) = _struct_I.unpack(str[start:end])
01237 _v85 = _v84.stamp
01238 _x = _v85
01239 start = end
01240 end += 8
01241 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01242 start = end
01243 end += 4
01244 (length,) = _struct_I.unpack(str[start:end])
01245 start = end
01246 end += length
01247 if python3:
01248 _v84.frame_id = str[start:end].decode('utf-8')
01249 else:
01250 _v84.frame_id = str[start:end]
01251 _v86 = _v83.pose
01252 _v87 = _v86.position
01253 _x = _v87
01254 start = end
01255 end += 24
01256 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01257 _v88 = _v86.orientation
01258 _x = _v88
01259 start = end
01260 end += 32
01261 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01262 start = end
01263 end += 8
01264 (val1.absolute_tolerance,) = _struct_d.unpack(str[start:end])
01265 self.goal_constraints.visibility_constraints.append(val1)
01266 return self
01267 except struct.error as e:
01268 raise genpy.DeserializationError(e)
01269
01270
01271 def serialize_numpy(self, buff, numpy):
01272 """
01273 serialize message with numpy array types into buffer
01274 :param buff: buffer, ``StringIO``
01275 :param numpy: numpy python module
01276 """
01277 try:
01278 _x = self
01279 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))
01280 _x = self.robot_state.joint_state.header.frame_id
01281 length = len(_x)
01282 if python3 or type(_x) == unicode:
01283 _x = _x.encode('utf-8')
01284 length = len(_x)
01285 buff.write(struct.pack('<I%ss'%length, length, _x))
01286 length = len(self.robot_state.joint_state.name)
01287 buff.write(_struct_I.pack(length))
01288 for val1 in self.robot_state.joint_state.name:
01289 length = len(val1)
01290 if python3 or type(val1) == unicode:
01291 val1 = val1.encode('utf-8')
01292 length = len(val1)
01293 buff.write(struct.pack('<I%ss'%length, length, val1))
01294 length = len(self.robot_state.joint_state.position)
01295 buff.write(_struct_I.pack(length))
01296 pattern = '<%sd'%length
01297 buff.write(self.robot_state.joint_state.position.tostring())
01298 length = len(self.robot_state.joint_state.velocity)
01299 buff.write(_struct_I.pack(length))
01300 pattern = '<%sd'%length
01301 buff.write(self.robot_state.joint_state.velocity.tostring())
01302 length = len(self.robot_state.joint_state.effort)
01303 buff.write(_struct_I.pack(length))
01304 pattern = '<%sd'%length
01305 buff.write(self.robot_state.joint_state.effort.tostring())
01306 _x = self
01307 buff.write(_struct_2I.pack(_x.robot_state.multi_dof_joint_state.stamp.secs, _x.robot_state.multi_dof_joint_state.stamp.nsecs))
01308 length = len(self.robot_state.multi_dof_joint_state.joint_names)
01309 buff.write(_struct_I.pack(length))
01310 for val1 in self.robot_state.multi_dof_joint_state.joint_names:
01311 length = len(val1)
01312 if python3 or type(val1) == unicode:
01313 val1 = val1.encode('utf-8')
01314 length = len(val1)
01315 buff.write(struct.pack('<I%ss'%length, length, val1))
01316 length = len(self.robot_state.multi_dof_joint_state.frame_ids)
01317 buff.write(_struct_I.pack(length))
01318 for val1 in self.robot_state.multi_dof_joint_state.frame_ids:
01319 length = len(val1)
01320 if python3 or type(val1) == unicode:
01321 val1 = val1.encode('utf-8')
01322 length = len(val1)
01323 buff.write(struct.pack('<I%ss'%length, length, val1))
01324 length = len(self.robot_state.multi_dof_joint_state.child_frame_ids)
01325 buff.write(_struct_I.pack(length))
01326 for val1 in self.robot_state.multi_dof_joint_state.child_frame_ids:
01327 length = len(val1)
01328 if python3 or type(val1) == unicode:
01329 val1 = val1.encode('utf-8')
01330 length = len(val1)
01331 buff.write(struct.pack('<I%ss'%length, length, val1))
01332 length = len(self.robot_state.multi_dof_joint_state.poses)
01333 buff.write(_struct_I.pack(length))
01334 for val1 in self.robot_state.multi_dof_joint_state.poses:
01335 _v89 = val1.position
01336 _x = _v89
01337 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01338 _v90 = val1.orientation
01339 _x = _v90
01340 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01341 _x = self
01342 buff.write(_struct_4B.pack(_x.check_collisions, _x.check_path_constraints, _x.check_goal_constraints, _x.check_joint_limits))
01343 _x = self.group_name
01344 length = len(_x)
01345 if python3 or type(_x) == unicode:
01346 _x = _x.encode('utf-8')
01347 length = len(_x)
01348 buff.write(struct.pack('<I%ss'%length, length, _x))
01349 length = len(self.path_constraints.joint_constraints)
01350 buff.write(_struct_I.pack(length))
01351 for val1 in self.path_constraints.joint_constraints:
01352 _x = val1.joint_name
01353 length = len(_x)
01354 if python3 or type(_x) == unicode:
01355 _x = _x.encode('utf-8')
01356 length = len(_x)
01357 buff.write(struct.pack('<I%ss'%length, length, _x))
01358 _x = val1
01359 buff.write(_struct_4d.pack(_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight))
01360 length = len(self.path_constraints.position_constraints)
01361 buff.write(_struct_I.pack(length))
01362 for val1 in self.path_constraints.position_constraints:
01363 _v91 = val1.header
01364 buff.write(_struct_I.pack(_v91.seq))
01365 _v92 = _v91.stamp
01366 _x = _v92
01367 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01368 _x = _v91.frame_id
01369 length = len(_x)
01370 if python3 or type(_x) == unicode:
01371 _x = _x.encode('utf-8')
01372 length = len(_x)
01373 buff.write(struct.pack('<I%ss'%length, length, _x))
01374 _x = val1.link_name
01375 length = len(_x)
01376 if python3 or type(_x) == unicode:
01377 _x = _x.encode('utf-8')
01378 length = len(_x)
01379 buff.write(struct.pack('<I%ss'%length, length, _x))
01380 _v93 = val1.target_point_offset
01381 _x = _v93
01382 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01383 _v94 = val1.position
01384 _x = _v94
01385 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01386 _v95 = val1.constraint_region_shape
01387 buff.write(_struct_b.pack(_v95.type))
01388 length = len(_v95.dimensions)
01389 buff.write(_struct_I.pack(length))
01390 pattern = '<%sd'%length
01391 buff.write(_v95.dimensions.tostring())
01392 length = len(_v95.triangles)
01393 buff.write(_struct_I.pack(length))
01394 pattern = '<%si'%length
01395 buff.write(_v95.triangles.tostring())
01396 length = len(_v95.vertices)
01397 buff.write(_struct_I.pack(length))
01398 for val3 in _v95.vertices:
01399 _x = val3
01400 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01401 _v96 = val1.constraint_region_orientation
01402 _x = _v96
01403 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01404 buff.write(_struct_d.pack(val1.weight))
01405 length = len(self.path_constraints.orientation_constraints)
01406 buff.write(_struct_I.pack(length))
01407 for val1 in self.path_constraints.orientation_constraints:
01408 _v97 = val1.header
01409 buff.write(_struct_I.pack(_v97.seq))
01410 _v98 = _v97.stamp
01411 _x = _v98
01412 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01413 _x = _v97.frame_id
01414 length = len(_x)
01415 if python3 or type(_x) == unicode:
01416 _x = _x.encode('utf-8')
01417 length = len(_x)
01418 buff.write(struct.pack('<I%ss'%length, length, _x))
01419 _x = val1.link_name
01420 length = len(_x)
01421 if python3 or type(_x) == unicode:
01422 _x = _x.encode('utf-8')
01423 length = len(_x)
01424 buff.write(struct.pack('<I%ss'%length, length, _x))
01425 buff.write(_struct_i.pack(val1.type))
01426 _v99 = val1.orientation
01427 _x = _v99
01428 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01429 _x = val1
01430 buff.write(_struct_4d.pack(_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight))
01431 length = len(self.path_constraints.visibility_constraints)
01432 buff.write(_struct_I.pack(length))
01433 for val1 in self.path_constraints.visibility_constraints:
01434 _v100 = val1.header
01435 buff.write(_struct_I.pack(_v100.seq))
01436 _v101 = _v100.stamp
01437 _x = _v101
01438 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01439 _x = _v100.frame_id
01440 length = len(_x)
01441 if python3 or type(_x) == unicode:
01442 _x = _x.encode('utf-8')
01443 length = len(_x)
01444 buff.write(struct.pack('<I%ss'%length, length, _x))
01445 _v102 = val1.target
01446 _v103 = _v102.header
01447 buff.write(_struct_I.pack(_v103.seq))
01448 _v104 = _v103.stamp
01449 _x = _v104
01450 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01451 _x = _v103.frame_id
01452 length = len(_x)
01453 if python3 or type(_x) == unicode:
01454 _x = _x.encode('utf-8')
01455 length = len(_x)
01456 buff.write(struct.pack('<I%ss'%length, length, _x))
01457 _v105 = _v102.point
01458 _x = _v105
01459 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01460 _v106 = val1.sensor_pose
01461 _v107 = _v106.header
01462 buff.write(_struct_I.pack(_v107.seq))
01463 _v108 = _v107.stamp
01464 _x = _v108
01465 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01466 _x = _v107.frame_id
01467 length = len(_x)
01468 if python3 or type(_x) == unicode:
01469 _x = _x.encode('utf-8')
01470 length = len(_x)
01471 buff.write(struct.pack('<I%ss'%length, length, _x))
01472 _v109 = _v106.pose
01473 _v110 = _v109.position
01474 _x = _v110
01475 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01476 _v111 = _v109.orientation
01477 _x = _v111
01478 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01479 buff.write(_struct_d.pack(val1.absolute_tolerance))
01480 length = len(self.goal_constraints.joint_constraints)
01481 buff.write(_struct_I.pack(length))
01482 for val1 in self.goal_constraints.joint_constraints:
01483 _x = val1.joint_name
01484 length = len(_x)
01485 if python3 or type(_x) == unicode:
01486 _x = _x.encode('utf-8')
01487 length = len(_x)
01488 buff.write(struct.pack('<I%ss'%length, length, _x))
01489 _x = val1
01490 buff.write(_struct_4d.pack(_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight))
01491 length = len(self.goal_constraints.position_constraints)
01492 buff.write(_struct_I.pack(length))
01493 for val1 in self.goal_constraints.position_constraints:
01494 _v112 = val1.header
01495 buff.write(_struct_I.pack(_v112.seq))
01496 _v113 = _v112.stamp
01497 _x = _v113
01498 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01499 _x = _v112.frame_id
01500 length = len(_x)
01501 if python3 or type(_x) == unicode:
01502 _x = _x.encode('utf-8')
01503 length = len(_x)
01504 buff.write(struct.pack('<I%ss'%length, length, _x))
01505 _x = val1.link_name
01506 length = len(_x)
01507 if python3 or type(_x) == unicode:
01508 _x = _x.encode('utf-8')
01509 length = len(_x)
01510 buff.write(struct.pack('<I%ss'%length, length, _x))
01511 _v114 = val1.target_point_offset
01512 _x = _v114
01513 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01514 _v115 = val1.position
01515 _x = _v115
01516 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01517 _v116 = val1.constraint_region_shape
01518 buff.write(_struct_b.pack(_v116.type))
01519 length = len(_v116.dimensions)
01520 buff.write(_struct_I.pack(length))
01521 pattern = '<%sd'%length
01522 buff.write(_v116.dimensions.tostring())
01523 length = len(_v116.triangles)
01524 buff.write(_struct_I.pack(length))
01525 pattern = '<%si'%length
01526 buff.write(_v116.triangles.tostring())
01527 length = len(_v116.vertices)
01528 buff.write(_struct_I.pack(length))
01529 for val3 in _v116.vertices:
01530 _x = val3
01531 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01532 _v117 = val1.constraint_region_orientation
01533 _x = _v117
01534 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01535 buff.write(_struct_d.pack(val1.weight))
01536 length = len(self.goal_constraints.orientation_constraints)
01537 buff.write(_struct_I.pack(length))
01538 for val1 in self.goal_constraints.orientation_constraints:
01539 _v118 = val1.header
01540 buff.write(_struct_I.pack(_v118.seq))
01541 _v119 = _v118.stamp
01542 _x = _v119
01543 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01544 _x = _v118.frame_id
01545 length = len(_x)
01546 if python3 or type(_x) == unicode:
01547 _x = _x.encode('utf-8')
01548 length = len(_x)
01549 buff.write(struct.pack('<I%ss'%length, length, _x))
01550 _x = val1.link_name
01551 length = len(_x)
01552 if python3 or type(_x) == unicode:
01553 _x = _x.encode('utf-8')
01554 length = len(_x)
01555 buff.write(struct.pack('<I%ss'%length, length, _x))
01556 buff.write(_struct_i.pack(val1.type))
01557 _v120 = val1.orientation
01558 _x = _v120
01559 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01560 _x = val1
01561 buff.write(_struct_4d.pack(_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight))
01562 length = len(self.goal_constraints.visibility_constraints)
01563 buff.write(_struct_I.pack(length))
01564 for val1 in self.goal_constraints.visibility_constraints:
01565 _v121 = val1.header
01566 buff.write(_struct_I.pack(_v121.seq))
01567 _v122 = _v121.stamp
01568 _x = _v122
01569 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01570 _x = _v121.frame_id
01571 length = len(_x)
01572 if python3 or type(_x) == unicode:
01573 _x = _x.encode('utf-8')
01574 length = len(_x)
01575 buff.write(struct.pack('<I%ss'%length, length, _x))
01576 _v123 = val1.target
01577 _v124 = _v123.header
01578 buff.write(_struct_I.pack(_v124.seq))
01579 _v125 = _v124.stamp
01580 _x = _v125
01581 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01582 _x = _v124.frame_id
01583 length = len(_x)
01584 if python3 or type(_x) == unicode:
01585 _x = _x.encode('utf-8')
01586 length = len(_x)
01587 buff.write(struct.pack('<I%ss'%length, length, _x))
01588 _v126 = _v123.point
01589 _x = _v126
01590 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01591 _v127 = val1.sensor_pose
01592 _v128 = _v127.header
01593 buff.write(_struct_I.pack(_v128.seq))
01594 _v129 = _v128.stamp
01595 _x = _v129
01596 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01597 _x = _v128.frame_id
01598 length = len(_x)
01599 if python3 or type(_x) == unicode:
01600 _x = _x.encode('utf-8')
01601 length = len(_x)
01602 buff.write(struct.pack('<I%ss'%length, length, _x))
01603 _v130 = _v127.pose
01604 _v131 = _v130.position
01605 _x = _v131
01606 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01607 _v132 = _v130.orientation
01608 _x = _v132
01609 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01610 buff.write(_struct_d.pack(val1.absolute_tolerance))
01611 except struct.error as se: self._check_types(se)
01612 except TypeError as te: self._check_types(te)
01613
01614 def deserialize_numpy(self, str, numpy):
01615 """
01616 unpack serialized message in str into this message instance using numpy for array types
01617 :param str: byte array of serialized message, ``str``
01618 :param numpy: numpy python module
01619 """
01620 try:
01621 if self.robot_state is None:
01622 self.robot_state = arm_navigation_msgs.msg.RobotState()
01623 if self.path_constraints is None:
01624 self.path_constraints = arm_navigation_msgs.msg.Constraints()
01625 if self.goal_constraints is None:
01626 self.goal_constraints = arm_navigation_msgs.msg.Constraints()
01627 end = 0
01628 _x = self
01629 start = end
01630 end += 12
01631 (_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])
01632 start = end
01633 end += 4
01634 (length,) = _struct_I.unpack(str[start:end])
01635 start = end
01636 end += length
01637 if python3:
01638 self.robot_state.joint_state.header.frame_id = str[start:end].decode('utf-8')
01639 else:
01640 self.robot_state.joint_state.header.frame_id = str[start:end]
01641 start = end
01642 end += 4
01643 (length,) = _struct_I.unpack(str[start:end])
01644 self.robot_state.joint_state.name = []
01645 for i in range(0, length):
01646 start = end
01647 end += 4
01648 (length,) = _struct_I.unpack(str[start:end])
01649 start = end
01650 end += length
01651 if python3:
01652 val1 = str[start:end].decode('utf-8')
01653 else:
01654 val1 = str[start:end]
01655 self.robot_state.joint_state.name.append(val1)
01656 start = end
01657 end += 4
01658 (length,) = _struct_I.unpack(str[start:end])
01659 pattern = '<%sd'%length
01660 start = end
01661 end += struct.calcsize(pattern)
01662 self.robot_state.joint_state.position = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01663 start = end
01664 end += 4
01665 (length,) = _struct_I.unpack(str[start:end])
01666 pattern = '<%sd'%length
01667 start = end
01668 end += struct.calcsize(pattern)
01669 self.robot_state.joint_state.velocity = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01670 start = end
01671 end += 4
01672 (length,) = _struct_I.unpack(str[start:end])
01673 pattern = '<%sd'%length
01674 start = end
01675 end += struct.calcsize(pattern)
01676 self.robot_state.joint_state.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01677 _x = self
01678 start = end
01679 end += 8
01680 (_x.robot_state.multi_dof_joint_state.stamp.secs, _x.robot_state.multi_dof_joint_state.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
01681 start = end
01682 end += 4
01683 (length,) = _struct_I.unpack(str[start:end])
01684 self.robot_state.multi_dof_joint_state.joint_names = []
01685 for i in range(0, length):
01686 start = end
01687 end += 4
01688 (length,) = _struct_I.unpack(str[start:end])
01689 start = end
01690 end += length
01691 if python3:
01692 val1 = str[start:end].decode('utf-8')
01693 else:
01694 val1 = str[start:end]
01695 self.robot_state.multi_dof_joint_state.joint_names.append(val1)
01696 start = end
01697 end += 4
01698 (length,) = _struct_I.unpack(str[start:end])
01699 self.robot_state.multi_dof_joint_state.frame_ids = []
01700 for i in range(0, length):
01701 start = end
01702 end += 4
01703 (length,) = _struct_I.unpack(str[start:end])
01704 start = end
01705 end += length
01706 if python3:
01707 val1 = str[start:end].decode('utf-8')
01708 else:
01709 val1 = str[start:end]
01710 self.robot_state.multi_dof_joint_state.frame_ids.append(val1)
01711 start = end
01712 end += 4
01713 (length,) = _struct_I.unpack(str[start:end])
01714 self.robot_state.multi_dof_joint_state.child_frame_ids = []
01715 for i in range(0, length):
01716 start = end
01717 end += 4
01718 (length,) = _struct_I.unpack(str[start:end])
01719 start = end
01720 end += length
01721 if python3:
01722 val1 = str[start:end].decode('utf-8')
01723 else:
01724 val1 = str[start:end]
01725 self.robot_state.multi_dof_joint_state.child_frame_ids.append(val1)
01726 start = end
01727 end += 4
01728 (length,) = _struct_I.unpack(str[start:end])
01729 self.robot_state.multi_dof_joint_state.poses = []
01730 for i in range(0, length):
01731 val1 = geometry_msgs.msg.Pose()
01732 _v133 = val1.position
01733 _x = _v133
01734 start = end
01735 end += 24
01736 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01737 _v134 = val1.orientation
01738 _x = _v134
01739 start = end
01740 end += 32
01741 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01742 self.robot_state.multi_dof_joint_state.poses.append(val1)
01743 _x = self
01744 start = end
01745 end += 4
01746 (_x.check_collisions, _x.check_path_constraints, _x.check_goal_constraints, _x.check_joint_limits,) = _struct_4B.unpack(str[start:end])
01747 self.check_collisions = bool(self.check_collisions)
01748 self.check_path_constraints = bool(self.check_path_constraints)
01749 self.check_goal_constraints = bool(self.check_goal_constraints)
01750 self.check_joint_limits = bool(self.check_joint_limits)
01751 start = end
01752 end += 4
01753 (length,) = _struct_I.unpack(str[start:end])
01754 start = end
01755 end += length
01756 if python3:
01757 self.group_name = str[start:end].decode('utf-8')
01758 else:
01759 self.group_name = str[start:end]
01760 start = end
01761 end += 4
01762 (length,) = _struct_I.unpack(str[start:end])
01763 self.path_constraints.joint_constraints = []
01764 for i in range(0, length):
01765 val1 = arm_navigation_msgs.msg.JointConstraint()
01766 start = end
01767 end += 4
01768 (length,) = _struct_I.unpack(str[start:end])
01769 start = end
01770 end += length
01771 if python3:
01772 val1.joint_name = str[start:end].decode('utf-8')
01773 else:
01774 val1.joint_name = str[start:end]
01775 _x = val1
01776 start = end
01777 end += 32
01778 (_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight,) = _struct_4d.unpack(str[start:end])
01779 self.path_constraints.joint_constraints.append(val1)
01780 start = end
01781 end += 4
01782 (length,) = _struct_I.unpack(str[start:end])
01783 self.path_constraints.position_constraints = []
01784 for i in range(0, length):
01785 val1 = arm_navigation_msgs.msg.PositionConstraint()
01786 _v135 = val1.header
01787 start = end
01788 end += 4
01789 (_v135.seq,) = _struct_I.unpack(str[start:end])
01790 _v136 = _v135.stamp
01791 _x = _v136
01792 start = end
01793 end += 8
01794 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01795 start = end
01796 end += 4
01797 (length,) = _struct_I.unpack(str[start:end])
01798 start = end
01799 end += length
01800 if python3:
01801 _v135.frame_id = str[start:end].decode('utf-8')
01802 else:
01803 _v135.frame_id = str[start:end]
01804 start = end
01805 end += 4
01806 (length,) = _struct_I.unpack(str[start:end])
01807 start = end
01808 end += length
01809 if python3:
01810 val1.link_name = str[start:end].decode('utf-8')
01811 else:
01812 val1.link_name = str[start:end]
01813 _v137 = val1.target_point_offset
01814 _x = _v137
01815 start = end
01816 end += 24
01817 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01818 _v138 = val1.position
01819 _x = _v138
01820 start = end
01821 end += 24
01822 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01823 _v139 = val1.constraint_region_shape
01824 start = end
01825 end += 1
01826 (_v139.type,) = _struct_b.unpack(str[start:end])
01827 start = end
01828 end += 4
01829 (length,) = _struct_I.unpack(str[start:end])
01830 pattern = '<%sd'%length
01831 start = end
01832 end += struct.calcsize(pattern)
01833 _v139.dimensions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01834 start = end
01835 end += 4
01836 (length,) = _struct_I.unpack(str[start:end])
01837 pattern = '<%si'%length
01838 start = end
01839 end += struct.calcsize(pattern)
01840 _v139.triangles = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
01841 start = end
01842 end += 4
01843 (length,) = _struct_I.unpack(str[start:end])
01844 _v139.vertices = []
01845 for i in range(0, length):
01846 val3 = geometry_msgs.msg.Point()
01847 _x = val3
01848 start = end
01849 end += 24
01850 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01851 _v139.vertices.append(val3)
01852 _v140 = val1.constraint_region_orientation
01853 _x = _v140
01854 start = end
01855 end += 32
01856 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01857 start = end
01858 end += 8
01859 (val1.weight,) = _struct_d.unpack(str[start:end])
01860 self.path_constraints.position_constraints.append(val1)
01861 start = end
01862 end += 4
01863 (length,) = _struct_I.unpack(str[start:end])
01864 self.path_constraints.orientation_constraints = []
01865 for i in range(0, length):
01866 val1 = arm_navigation_msgs.msg.OrientationConstraint()
01867 _v141 = val1.header
01868 start = end
01869 end += 4
01870 (_v141.seq,) = _struct_I.unpack(str[start:end])
01871 _v142 = _v141.stamp
01872 _x = _v142
01873 start = end
01874 end += 8
01875 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01876 start = end
01877 end += 4
01878 (length,) = _struct_I.unpack(str[start:end])
01879 start = end
01880 end += length
01881 if python3:
01882 _v141.frame_id = str[start:end].decode('utf-8')
01883 else:
01884 _v141.frame_id = str[start:end]
01885 start = end
01886 end += 4
01887 (length,) = _struct_I.unpack(str[start:end])
01888 start = end
01889 end += length
01890 if python3:
01891 val1.link_name = str[start:end].decode('utf-8')
01892 else:
01893 val1.link_name = str[start:end]
01894 start = end
01895 end += 4
01896 (val1.type,) = _struct_i.unpack(str[start:end])
01897 _v143 = val1.orientation
01898 _x = _v143
01899 start = end
01900 end += 32
01901 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01902 _x = val1
01903 start = end
01904 end += 32
01905 (_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight,) = _struct_4d.unpack(str[start:end])
01906 self.path_constraints.orientation_constraints.append(val1)
01907 start = end
01908 end += 4
01909 (length,) = _struct_I.unpack(str[start:end])
01910 self.path_constraints.visibility_constraints = []
01911 for i in range(0, length):
01912 val1 = arm_navigation_msgs.msg.VisibilityConstraint()
01913 _v144 = val1.header
01914 start = end
01915 end += 4
01916 (_v144.seq,) = _struct_I.unpack(str[start:end])
01917 _v145 = _v144.stamp
01918 _x = _v145
01919 start = end
01920 end += 8
01921 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01922 start = end
01923 end += 4
01924 (length,) = _struct_I.unpack(str[start:end])
01925 start = end
01926 end += length
01927 if python3:
01928 _v144.frame_id = str[start:end].decode('utf-8')
01929 else:
01930 _v144.frame_id = str[start:end]
01931 _v146 = val1.target
01932 _v147 = _v146.header
01933 start = end
01934 end += 4
01935 (_v147.seq,) = _struct_I.unpack(str[start:end])
01936 _v148 = _v147.stamp
01937 _x = _v148
01938 start = end
01939 end += 8
01940 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01941 start = end
01942 end += 4
01943 (length,) = _struct_I.unpack(str[start:end])
01944 start = end
01945 end += length
01946 if python3:
01947 _v147.frame_id = str[start:end].decode('utf-8')
01948 else:
01949 _v147.frame_id = str[start:end]
01950 _v149 = _v146.point
01951 _x = _v149
01952 start = end
01953 end += 24
01954 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01955 _v150 = val1.sensor_pose
01956 _v151 = _v150.header
01957 start = end
01958 end += 4
01959 (_v151.seq,) = _struct_I.unpack(str[start:end])
01960 _v152 = _v151.stamp
01961 _x = _v152
01962 start = end
01963 end += 8
01964 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01965 start = end
01966 end += 4
01967 (length,) = _struct_I.unpack(str[start:end])
01968 start = end
01969 end += length
01970 if python3:
01971 _v151.frame_id = str[start:end].decode('utf-8')
01972 else:
01973 _v151.frame_id = str[start:end]
01974 _v153 = _v150.pose
01975 _v154 = _v153.position
01976 _x = _v154
01977 start = end
01978 end += 24
01979 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01980 _v155 = _v153.orientation
01981 _x = _v155
01982 start = end
01983 end += 32
01984 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01985 start = end
01986 end += 8
01987 (val1.absolute_tolerance,) = _struct_d.unpack(str[start:end])
01988 self.path_constraints.visibility_constraints.append(val1)
01989 start = end
01990 end += 4
01991 (length,) = _struct_I.unpack(str[start:end])
01992 self.goal_constraints.joint_constraints = []
01993 for i in range(0, length):
01994 val1 = arm_navigation_msgs.msg.JointConstraint()
01995 start = end
01996 end += 4
01997 (length,) = _struct_I.unpack(str[start:end])
01998 start = end
01999 end += length
02000 if python3:
02001 val1.joint_name = str[start:end].decode('utf-8')
02002 else:
02003 val1.joint_name = str[start:end]
02004 _x = val1
02005 start = end
02006 end += 32
02007 (_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight,) = _struct_4d.unpack(str[start:end])
02008 self.goal_constraints.joint_constraints.append(val1)
02009 start = end
02010 end += 4
02011 (length,) = _struct_I.unpack(str[start:end])
02012 self.goal_constraints.position_constraints = []
02013 for i in range(0, length):
02014 val1 = arm_navigation_msgs.msg.PositionConstraint()
02015 _v156 = val1.header
02016 start = end
02017 end += 4
02018 (_v156.seq,) = _struct_I.unpack(str[start:end])
02019 _v157 = _v156.stamp
02020 _x = _v157
02021 start = end
02022 end += 8
02023 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02024 start = end
02025 end += 4
02026 (length,) = _struct_I.unpack(str[start:end])
02027 start = end
02028 end += length
02029 if python3:
02030 _v156.frame_id = str[start:end].decode('utf-8')
02031 else:
02032 _v156.frame_id = str[start:end]
02033 start = end
02034 end += 4
02035 (length,) = _struct_I.unpack(str[start:end])
02036 start = end
02037 end += length
02038 if python3:
02039 val1.link_name = str[start:end].decode('utf-8')
02040 else:
02041 val1.link_name = str[start:end]
02042 _v158 = val1.target_point_offset
02043 _x = _v158
02044 start = end
02045 end += 24
02046 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02047 _v159 = val1.position
02048 _x = _v159
02049 start = end
02050 end += 24
02051 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02052 _v160 = val1.constraint_region_shape
02053 start = end
02054 end += 1
02055 (_v160.type,) = _struct_b.unpack(str[start:end])
02056 start = end
02057 end += 4
02058 (length,) = _struct_I.unpack(str[start:end])
02059 pattern = '<%sd'%length
02060 start = end
02061 end += struct.calcsize(pattern)
02062 _v160.dimensions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02063 start = end
02064 end += 4
02065 (length,) = _struct_I.unpack(str[start:end])
02066 pattern = '<%si'%length
02067 start = end
02068 end += struct.calcsize(pattern)
02069 _v160.triangles = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
02070 start = end
02071 end += 4
02072 (length,) = _struct_I.unpack(str[start:end])
02073 _v160.vertices = []
02074 for i in range(0, length):
02075 val3 = geometry_msgs.msg.Point()
02076 _x = val3
02077 start = end
02078 end += 24
02079 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02080 _v160.vertices.append(val3)
02081 _v161 = val1.constraint_region_orientation
02082 _x = _v161
02083 start = end
02084 end += 32
02085 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02086 start = end
02087 end += 8
02088 (val1.weight,) = _struct_d.unpack(str[start:end])
02089 self.goal_constraints.position_constraints.append(val1)
02090 start = end
02091 end += 4
02092 (length,) = _struct_I.unpack(str[start:end])
02093 self.goal_constraints.orientation_constraints = []
02094 for i in range(0, length):
02095 val1 = arm_navigation_msgs.msg.OrientationConstraint()
02096 _v162 = val1.header
02097 start = end
02098 end += 4
02099 (_v162.seq,) = _struct_I.unpack(str[start:end])
02100 _v163 = _v162.stamp
02101 _x = _v163
02102 start = end
02103 end += 8
02104 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02105 start = end
02106 end += 4
02107 (length,) = _struct_I.unpack(str[start:end])
02108 start = end
02109 end += length
02110 if python3:
02111 _v162.frame_id = str[start:end].decode('utf-8')
02112 else:
02113 _v162.frame_id = str[start:end]
02114 start = end
02115 end += 4
02116 (length,) = _struct_I.unpack(str[start:end])
02117 start = end
02118 end += length
02119 if python3:
02120 val1.link_name = str[start:end].decode('utf-8')
02121 else:
02122 val1.link_name = str[start:end]
02123 start = end
02124 end += 4
02125 (val1.type,) = _struct_i.unpack(str[start:end])
02126 _v164 = val1.orientation
02127 _x = _v164
02128 start = end
02129 end += 32
02130 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02131 _x = val1
02132 start = end
02133 end += 32
02134 (_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight,) = _struct_4d.unpack(str[start:end])
02135 self.goal_constraints.orientation_constraints.append(val1)
02136 start = end
02137 end += 4
02138 (length,) = _struct_I.unpack(str[start:end])
02139 self.goal_constraints.visibility_constraints = []
02140 for i in range(0, length):
02141 val1 = arm_navigation_msgs.msg.VisibilityConstraint()
02142 _v165 = val1.header
02143 start = end
02144 end += 4
02145 (_v165.seq,) = _struct_I.unpack(str[start:end])
02146 _v166 = _v165.stamp
02147 _x = _v166
02148 start = end
02149 end += 8
02150 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02151 start = end
02152 end += 4
02153 (length,) = _struct_I.unpack(str[start:end])
02154 start = end
02155 end += length
02156 if python3:
02157 _v165.frame_id = str[start:end].decode('utf-8')
02158 else:
02159 _v165.frame_id = str[start:end]
02160 _v167 = val1.target
02161 _v168 = _v167.header
02162 start = end
02163 end += 4
02164 (_v168.seq,) = _struct_I.unpack(str[start:end])
02165 _v169 = _v168.stamp
02166 _x = _v169
02167 start = end
02168 end += 8
02169 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02170 start = end
02171 end += 4
02172 (length,) = _struct_I.unpack(str[start:end])
02173 start = end
02174 end += length
02175 if python3:
02176 _v168.frame_id = str[start:end].decode('utf-8')
02177 else:
02178 _v168.frame_id = str[start:end]
02179 _v170 = _v167.point
02180 _x = _v170
02181 start = end
02182 end += 24
02183 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02184 _v171 = val1.sensor_pose
02185 _v172 = _v171.header
02186 start = end
02187 end += 4
02188 (_v172.seq,) = _struct_I.unpack(str[start:end])
02189 _v173 = _v172.stamp
02190 _x = _v173
02191 start = end
02192 end += 8
02193 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02194 start = end
02195 end += 4
02196 (length,) = _struct_I.unpack(str[start:end])
02197 start = end
02198 end += length
02199 if python3:
02200 _v172.frame_id = str[start:end].decode('utf-8')
02201 else:
02202 _v172.frame_id = str[start:end]
02203 _v174 = _v171.pose
02204 _v175 = _v174.position
02205 _x = _v175
02206 start = end
02207 end += 24
02208 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02209 _v176 = _v174.orientation
02210 _x = _v176
02211 start = end
02212 end += 32
02213 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02214 start = end
02215 end += 8
02216 (val1.absolute_tolerance,) = _struct_d.unpack(str[start:end])
02217 self.goal_constraints.visibility_constraints.append(val1)
02218 return self
02219 except struct.error as e:
02220 raise genpy.DeserializationError(e)
02221
02222 _struct_I = genpy.struct_I
02223 _struct_b = struct.Struct("<b")
02224 _struct_d = struct.Struct("<d")
02225 _struct_i = struct.Struct("<i")
02226 _struct_3I = struct.Struct("<3I")
02227 _struct_4d = struct.Struct("<4d")
02228 _struct_4B = struct.Struct("<4B")
02229 _struct_2I = struct.Struct("<2I")
02230 _struct_3d = struct.Struct("<3d")
02231 """autogenerated by genpy from arm_navigation_msgs/GetStateValidityResponse.msg. Do not edit."""
02232 import sys
02233 python3 = True if sys.hexversion > 0x03000000 else False
02234 import genpy
02235 import struct
02236
02237 import arm_navigation_msgs.msg
02238 import geometry_msgs.msg
02239 import std_msgs.msg
02240
02241 class GetStateValidityResponse(genpy.Message):
02242 _md5sum = "3229301226a0605e3ffc9dfdaeac662f"
02243 _type = "arm_navigation_msgs/GetStateValidityResponse"
02244 _has_header = False
02245 _full_text = """
02246
02247
02248
02249 arm_navigation_msgs/ArmNavigationErrorCodes error_code
02250
02251
02252 arm_navigation_msgs/ContactInformation[] contacts
02253
02254
02255 ================================================================================
02256 MSG: arm_navigation_msgs/ArmNavigationErrorCodes
02257 int32 val
02258
02259 # overall behavior
02260 int32 PLANNING_FAILED=-1
02261 int32 SUCCESS=1
02262 int32 TIMED_OUT=-2
02263
02264 # start state errors
02265 int32 START_STATE_IN_COLLISION=-3
02266 int32 START_STATE_VIOLATES_PATH_CONSTRAINTS=-4
02267
02268 # goal errors
02269 int32 GOAL_IN_COLLISION=-5
02270 int32 GOAL_VIOLATES_PATH_CONSTRAINTS=-6
02271
02272 # robot state
02273 int32 INVALID_ROBOT_STATE=-7
02274 int32 INCOMPLETE_ROBOT_STATE=-8
02275
02276 # planning request errors
02277 int32 INVALID_PLANNER_ID=-9
02278 int32 INVALID_NUM_PLANNING_ATTEMPTS=-10
02279 int32 INVALID_ALLOWED_PLANNING_TIME=-11
02280 int32 INVALID_GROUP_NAME=-12
02281 int32 INVALID_GOAL_JOINT_CONSTRAINTS=-13
02282 int32 INVALID_GOAL_POSITION_CONSTRAINTS=-14
02283 int32 INVALID_GOAL_ORIENTATION_CONSTRAINTS=-15
02284 int32 INVALID_PATH_JOINT_CONSTRAINTS=-16
02285 int32 INVALID_PATH_POSITION_CONSTRAINTS=-17
02286 int32 INVALID_PATH_ORIENTATION_CONSTRAINTS=-18
02287
02288 # state/trajectory monitor errors
02289 int32 INVALID_TRAJECTORY=-19
02290 int32 INVALID_INDEX=-20
02291 int32 JOINT_LIMITS_VIOLATED=-21
02292 int32 PATH_CONSTRAINTS_VIOLATED=-22
02293 int32 COLLISION_CONSTRAINTS_VIOLATED=-23
02294 int32 GOAL_CONSTRAINTS_VIOLATED=-24
02295 int32 JOINTS_NOT_MOVING=-25
02296 int32 TRAJECTORY_CONTROLLER_FAILED=-26
02297
02298 # system errors
02299 int32 FRAME_TRANSFORM_FAILURE=-27
02300 int32 COLLISION_CHECKING_UNAVAILABLE=-28
02301 int32 ROBOT_STATE_STALE=-29
02302 int32 SENSOR_INFO_STALE=-30
02303
02304 # kinematics errors
02305 int32 NO_IK_SOLUTION=-31
02306 int32 INVALID_LINK_NAME=-32
02307 int32 IK_LINK_IN_COLLISION=-33
02308 int32 NO_FK_SOLUTION=-34
02309 int32 KINEMATICS_STATE_IN_COLLISION=-35
02310
02311 # general errors
02312 int32 INVALID_TIMEOUT=-36
02313
02314
02315 ================================================================================
02316 MSG: arm_navigation_msgs/ContactInformation
02317 # Standard ROS header contains information
02318 # about the frame in which this
02319 # contact is specified
02320 Header header
02321
02322 # Position of the contact point
02323 geometry_msgs/Point position
02324
02325 # Normal corresponding to the contact point
02326 geometry_msgs/Vector3 normal
02327
02328 # Depth of contact point
02329 float64 depth
02330
02331 # Name of the first body that is in contact
02332 # This could be a link or a namespace that represents a body
02333 string contact_body_1
02334 string attached_body_1
02335 uint32 body_type_1
02336
02337 # Name of the second body that is in contact
02338 # This could be a link or a namespace that represents a body
02339 string contact_body_2
02340 string attached_body_2
02341 uint32 body_type_2
02342
02343 uint32 ROBOT_LINK=0
02344 uint32 OBJECT=1
02345 uint32 ATTACHED_BODY=2
02346 ================================================================================
02347 MSG: std_msgs/Header
02348 # Standard metadata for higher-level stamped data types.
02349 # This is generally used to communicate timestamped data
02350 # in a particular coordinate frame.
02351 #
02352 # sequence ID: consecutively increasing ID
02353 uint32 seq
02354 #Two-integer timestamp that is expressed as:
02355 # * stamp.secs: seconds (stamp_secs) since epoch
02356 # * stamp.nsecs: nanoseconds since stamp_secs
02357 # time-handling sugar is provided by the client library
02358 time stamp
02359 #Frame this data is associated with
02360 # 0: no frame
02361 # 1: global frame
02362 string frame_id
02363
02364 ================================================================================
02365 MSG: geometry_msgs/Point
02366 # This contains the position of a point in free space
02367 float64 x
02368 float64 y
02369 float64 z
02370
02371 ================================================================================
02372 MSG: geometry_msgs/Vector3
02373 # This represents a vector in free space.
02374
02375 float64 x
02376 float64 y
02377 float64 z
02378 """
02379 __slots__ = ['error_code','contacts']
02380 _slot_types = ['arm_navigation_msgs/ArmNavigationErrorCodes','arm_navigation_msgs/ContactInformation[]']
02381
02382 def __init__(self, *args, **kwds):
02383 """
02384 Constructor. Any message fields that are implicitly/explicitly
02385 set to None will be assigned a default value. The recommend
02386 use is keyword arguments as this is more robust to future message
02387 changes. You cannot mix in-order arguments and keyword arguments.
02388
02389 The available fields are:
02390 error_code,contacts
02391
02392 :param args: complete set of field values, in .msg order
02393 :param kwds: use keyword arguments corresponding to message field names
02394 to set specific fields.
02395 """
02396 if args or kwds:
02397 super(GetStateValidityResponse, self).__init__(*args, **kwds)
02398
02399 if self.error_code is None:
02400 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
02401 if self.contacts is None:
02402 self.contacts = []
02403 else:
02404 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
02405 self.contacts = []
02406
02407 def _get_types(self):
02408 """
02409 internal API method
02410 """
02411 return self._slot_types
02412
02413 def serialize(self, buff):
02414 """
02415 serialize message into buffer
02416 :param buff: buffer, ``StringIO``
02417 """
02418 try:
02419 buff.write(_struct_i.pack(self.error_code.val))
02420 length = len(self.contacts)
02421 buff.write(_struct_I.pack(length))
02422 for val1 in self.contacts:
02423 _v177 = val1.header
02424 buff.write(_struct_I.pack(_v177.seq))
02425 _v178 = _v177.stamp
02426 _x = _v178
02427 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
02428 _x = _v177.frame_id
02429 length = len(_x)
02430 if python3 or type(_x) == unicode:
02431 _x = _x.encode('utf-8')
02432 length = len(_x)
02433 buff.write(struct.pack('<I%ss'%length, length, _x))
02434 _v179 = val1.position
02435 _x = _v179
02436 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
02437 _v180 = val1.normal
02438 _x = _v180
02439 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
02440 buff.write(_struct_d.pack(val1.depth))
02441 _x = val1.contact_body_1
02442 length = len(_x)
02443 if python3 or type(_x) == unicode:
02444 _x = _x.encode('utf-8')
02445 length = len(_x)
02446 buff.write(struct.pack('<I%ss'%length, length, _x))
02447 _x = val1.attached_body_1
02448 length = len(_x)
02449 if python3 or type(_x) == unicode:
02450 _x = _x.encode('utf-8')
02451 length = len(_x)
02452 buff.write(struct.pack('<I%ss'%length, length, _x))
02453 buff.write(_struct_I.pack(val1.body_type_1))
02454 _x = val1.contact_body_2
02455 length = len(_x)
02456 if python3 or type(_x) == unicode:
02457 _x = _x.encode('utf-8')
02458 length = len(_x)
02459 buff.write(struct.pack('<I%ss'%length, length, _x))
02460 _x = val1.attached_body_2
02461 length = len(_x)
02462 if python3 or type(_x) == unicode:
02463 _x = _x.encode('utf-8')
02464 length = len(_x)
02465 buff.write(struct.pack('<I%ss'%length, length, _x))
02466 buff.write(_struct_I.pack(val1.body_type_2))
02467 except struct.error as se: self._check_types(se)
02468 except TypeError as te: self._check_types(te)
02469
02470 def deserialize(self, str):
02471 """
02472 unpack serialized message in str into this message instance
02473 :param str: byte array of serialized message, ``str``
02474 """
02475 try:
02476 if self.error_code is None:
02477 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
02478 if self.contacts is None:
02479 self.contacts = None
02480 end = 0
02481 start = end
02482 end += 4
02483 (self.error_code.val,) = _struct_i.unpack(str[start:end])
02484 start = end
02485 end += 4
02486 (length,) = _struct_I.unpack(str[start:end])
02487 self.contacts = []
02488 for i in range(0, length):
02489 val1 = arm_navigation_msgs.msg.ContactInformation()
02490 _v181 = val1.header
02491 start = end
02492 end += 4
02493 (_v181.seq,) = _struct_I.unpack(str[start:end])
02494 _v182 = _v181.stamp
02495 _x = _v182
02496 start = end
02497 end += 8
02498 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02499 start = end
02500 end += 4
02501 (length,) = _struct_I.unpack(str[start:end])
02502 start = end
02503 end += length
02504 if python3:
02505 _v181.frame_id = str[start:end].decode('utf-8')
02506 else:
02507 _v181.frame_id = str[start:end]
02508 _v183 = val1.position
02509 _x = _v183
02510 start = end
02511 end += 24
02512 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02513 _v184 = val1.normal
02514 _x = _v184
02515 start = end
02516 end += 24
02517 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02518 start = end
02519 end += 8
02520 (val1.depth,) = _struct_d.unpack(str[start:end])
02521 start = end
02522 end += 4
02523 (length,) = _struct_I.unpack(str[start:end])
02524 start = end
02525 end += length
02526 if python3:
02527 val1.contact_body_1 = str[start:end].decode('utf-8')
02528 else:
02529 val1.contact_body_1 = str[start:end]
02530 start = end
02531 end += 4
02532 (length,) = _struct_I.unpack(str[start:end])
02533 start = end
02534 end += length
02535 if python3:
02536 val1.attached_body_1 = str[start:end].decode('utf-8')
02537 else:
02538 val1.attached_body_1 = str[start:end]
02539 start = end
02540 end += 4
02541 (val1.body_type_1,) = _struct_I.unpack(str[start:end])
02542 start = end
02543 end += 4
02544 (length,) = _struct_I.unpack(str[start:end])
02545 start = end
02546 end += length
02547 if python3:
02548 val1.contact_body_2 = str[start:end].decode('utf-8')
02549 else:
02550 val1.contact_body_2 = str[start:end]
02551 start = end
02552 end += 4
02553 (length,) = _struct_I.unpack(str[start:end])
02554 start = end
02555 end += length
02556 if python3:
02557 val1.attached_body_2 = str[start:end].decode('utf-8')
02558 else:
02559 val1.attached_body_2 = str[start:end]
02560 start = end
02561 end += 4
02562 (val1.body_type_2,) = _struct_I.unpack(str[start:end])
02563 self.contacts.append(val1)
02564 return self
02565 except struct.error as e:
02566 raise genpy.DeserializationError(e)
02567
02568
02569 def serialize_numpy(self, buff, numpy):
02570 """
02571 serialize message with numpy array types into buffer
02572 :param buff: buffer, ``StringIO``
02573 :param numpy: numpy python module
02574 """
02575 try:
02576 buff.write(_struct_i.pack(self.error_code.val))
02577 length = len(self.contacts)
02578 buff.write(_struct_I.pack(length))
02579 for val1 in self.contacts:
02580 _v185 = val1.header
02581 buff.write(_struct_I.pack(_v185.seq))
02582 _v186 = _v185.stamp
02583 _x = _v186
02584 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
02585 _x = _v185.frame_id
02586 length = len(_x)
02587 if python3 or type(_x) == unicode:
02588 _x = _x.encode('utf-8')
02589 length = len(_x)
02590 buff.write(struct.pack('<I%ss'%length, length, _x))
02591 _v187 = val1.position
02592 _x = _v187
02593 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
02594 _v188 = val1.normal
02595 _x = _v188
02596 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
02597 buff.write(_struct_d.pack(val1.depth))
02598 _x = val1.contact_body_1
02599 length = len(_x)
02600 if python3 or type(_x) == unicode:
02601 _x = _x.encode('utf-8')
02602 length = len(_x)
02603 buff.write(struct.pack('<I%ss'%length, length, _x))
02604 _x = val1.attached_body_1
02605 length = len(_x)
02606 if python3 or type(_x) == unicode:
02607 _x = _x.encode('utf-8')
02608 length = len(_x)
02609 buff.write(struct.pack('<I%ss'%length, length, _x))
02610 buff.write(_struct_I.pack(val1.body_type_1))
02611 _x = val1.contact_body_2
02612 length = len(_x)
02613 if python3 or type(_x) == unicode:
02614 _x = _x.encode('utf-8')
02615 length = len(_x)
02616 buff.write(struct.pack('<I%ss'%length, length, _x))
02617 _x = val1.attached_body_2
02618 length = len(_x)
02619 if python3 or type(_x) == unicode:
02620 _x = _x.encode('utf-8')
02621 length = len(_x)
02622 buff.write(struct.pack('<I%ss'%length, length, _x))
02623 buff.write(_struct_I.pack(val1.body_type_2))
02624 except struct.error as se: self._check_types(se)
02625 except TypeError as te: self._check_types(te)
02626
02627 def deserialize_numpy(self, str, numpy):
02628 """
02629 unpack serialized message in str into this message instance using numpy for array types
02630 :param str: byte array of serialized message, ``str``
02631 :param numpy: numpy python module
02632 """
02633 try:
02634 if self.error_code is None:
02635 self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
02636 if self.contacts is None:
02637 self.contacts = None
02638 end = 0
02639 start = end
02640 end += 4
02641 (self.error_code.val,) = _struct_i.unpack(str[start:end])
02642 start = end
02643 end += 4
02644 (length,) = _struct_I.unpack(str[start:end])
02645 self.contacts = []
02646 for i in range(0, length):
02647 val1 = arm_navigation_msgs.msg.ContactInformation()
02648 _v189 = val1.header
02649 start = end
02650 end += 4
02651 (_v189.seq,) = _struct_I.unpack(str[start:end])
02652 _v190 = _v189.stamp
02653 _x = _v190
02654 start = end
02655 end += 8
02656 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02657 start = end
02658 end += 4
02659 (length,) = _struct_I.unpack(str[start:end])
02660 start = end
02661 end += length
02662 if python3:
02663 _v189.frame_id = str[start:end].decode('utf-8')
02664 else:
02665 _v189.frame_id = str[start:end]
02666 _v191 = val1.position
02667 _x = _v191
02668 start = end
02669 end += 24
02670 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02671 _v192 = val1.normal
02672 _x = _v192
02673 start = end
02674 end += 24
02675 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02676 start = end
02677 end += 8
02678 (val1.depth,) = _struct_d.unpack(str[start:end])
02679 start = end
02680 end += 4
02681 (length,) = _struct_I.unpack(str[start:end])
02682 start = end
02683 end += length
02684 if python3:
02685 val1.contact_body_1 = str[start:end].decode('utf-8')
02686 else:
02687 val1.contact_body_1 = str[start:end]
02688 start = end
02689 end += 4
02690 (length,) = _struct_I.unpack(str[start:end])
02691 start = end
02692 end += length
02693 if python3:
02694 val1.attached_body_1 = str[start:end].decode('utf-8')
02695 else:
02696 val1.attached_body_1 = str[start:end]
02697 start = end
02698 end += 4
02699 (val1.body_type_1,) = _struct_I.unpack(str[start:end])
02700 start = end
02701 end += 4
02702 (length,) = _struct_I.unpack(str[start:end])
02703 start = end
02704 end += length
02705 if python3:
02706 val1.contact_body_2 = str[start:end].decode('utf-8')
02707 else:
02708 val1.contact_body_2 = str[start:end]
02709 start = end
02710 end += 4
02711 (length,) = _struct_I.unpack(str[start:end])
02712 start = end
02713 end += length
02714 if python3:
02715 val1.attached_body_2 = str[start:end].decode('utf-8')
02716 else:
02717 val1.attached_body_2 = str[start:end]
02718 start = end
02719 end += 4
02720 (val1.body_type_2,) = _struct_I.unpack(str[start:end])
02721 self.contacts.append(val1)
02722 return self
02723 except struct.error as e:
02724 raise genpy.DeserializationError(e)
02725
02726 _struct_I = genpy.struct_I
02727 _struct_i = struct.Struct("<i")
02728 _struct_2I = struct.Struct("<2I")
02729 _struct_d = struct.Struct("<d")
02730 _struct_3d = struct.Struct("<3d")
02731 class GetStateValidity(object):
02732 _type = 'arm_navigation_msgs/GetStateValidity'
02733 _md5sum = '05125b9572f64feb9a7f590a8674e9ee'
02734 _request_class = GetStateValidityRequest
02735 _response_class = GetStateValidityResponse