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