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