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