$search
00001 """autogenerated by genmsg_py from SyncPlanningSceneGoal.msg. Do not edit.""" 00002 import roslib.message 00003 import struct 00004 00005 import arm_navigation_msgs.msg 00006 import geometry_msgs.msg 00007 import std_msgs.msg 00008 import roslib.rostime 00009 import sensor_msgs.msg 00010 00011 class SyncPlanningSceneGoal(roslib.message.Message): 00012 _md5sum = "285525c9abe002fbafa99af84a14b4cb" 00013 _type = "arm_navigation_msgs/SyncPlanningSceneGoal" 00014 _has_header = False #flag to mark the presence of a Header object 00015 _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00016 # THIS MESSAGE IS FOR INTERNAL COMMUNICATION BETWEEN 00017 # PLANNING ENVIRONMENT COMPONENTS ONLY 00018 00019 #Full planning scene 00020 PlanningScene planning_scene 00021 00022 ================================================================================ 00023 MSG: arm_navigation_msgs/PlanningScene 00024 #full robot state 00025 arm_navigation_msgs/RobotState robot_state 00026 00027 #additional frames for duplicating tf 00028 geometry_msgs/TransformStamped[] fixed_frame_transforms 00029 00030 #full allowed collision matrix 00031 AllowedCollisionMatrix allowed_collision_matrix 00032 00033 #allowed contacts 00034 arm_navigation_msgs/AllowedContactSpecification[] allowed_contacts 00035 00036 #all link paddings 00037 arm_navigation_msgs/LinkPadding[] link_padding 00038 00039 #collision objects 00040 arm_navigation_msgs/CollisionObject[] collision_objects 00041 arm_navigation_msgs/AttachedCollisionObject[] attached_collision_objects 00042 00043 #the collision map 00044 arm_navigation_msgs/CollisionMap collision_map 00045 00046 ================================================================================ 00047 MSG: arm_navigation_msgs/RobotState 00048 # This message contains information about the robot state, i.e. the positions of its joints and links 00049 sensor_msgs/JointState joint_state 00050 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state 00051 00052 ================================================================================ 00053 MSG: sensor_msgs/JointState 00054 # This is a message that holds data to describe the state of a set of torque controlled joints. 00055 # 00056 # The state of each joint (revolute or prismatic) is defined by: 00057 # * the position of the joint (rad or m), 00058 # * the velocity of the joint (rad/s or m/s) and 00059 # * the effort that is applied in the joint (Nm or N). 00060 # 00061 # Each joint is uniquely identified by its name 00062 # The header specifies the time at which the joint states were recorded. All the joint states 00063 # in one message have to be recorded at the same time. 00064 # 00065 # This message consists of a multiple arrays, one for each part of the joint state. 00066 # The goal is to make each of the fields optional. When e.g. your joints have no 00067 # effort associated with them, you can leave the effort array empty. 00068 # 00069 # All arrays in this message should have the same size, or be empty. 00070 # This is the only way to uniquely associate the joint name with the correct 00071 # states. 00072 00073 00074 Header header 00075 00076 string[] name 00077 float64[] position 00078 float64[] velocity 00079 float64[] effort 00080 00081 ================================================================================ 00082 MSG: std_msgs/Header 00083 # Standard metadata for higher-level stamped data types. 00084 # This is generally used to communicate timestamped data 00085 # in a particular coordinate frame. 00086 # 00087 # sequence ID: consecutively increasing ID 00088 uint32 seq 00089 #Two-integer timestamp that is expressed as: 00090 # * stamp.secs: seconds (stamp_secs) since epoch 00091 # * stamp.nsecs: nanoseconds since stamp_secs 00092 # time-handling sugar is provided by the client library 00093 time stamp 00094 #Frame this data is associated with 00095 # 0: no frame 00096 # 1: global frame 00097 string frame_id 00098 00099 ================================================================================ 00100 MSG: arm_navigation_msgs/MultiDOFJointState 00101 #A representation of a multi-dof joint state 00102 time stamp 00103 string[] joint_names 00104 string[] frame_ids 00105 string[] child_frame_ids 00106 geometry_msgs/Pose[] poses 00107 00108 ================================================================================ 00109 MSG: geometry_msgs/Pose 00110 # A representation of pose in free space, composed of postion and orientation. 00111 Point position 00112 Quaternion orientation 00113 00114 ================================================================================ 00115 MSG: geometry_msgs/Point 00116 # This contains the position of a point in free space 00117 float64 x 00118 float64 y 00119 float64 z 00120 00121 ================================================================================ 00122 MSG: geometry_msgs/Quaternion 00123 # This represents an orientation in free space in quaternion form. 00124 00125 float64 x 00126 float64 y 00127 float64 z 00128 float64 w 00129 00130 ================================================================================ 00131 MSG: geometry_msgs/TransformStamped 00132 # This expresses a transform from coordinate frame header.frame_id 00133 # to the coordinate frame child_frame_id 00134 # 00135 # This message is mostly used by the 00136 # <a href="http://www.ros.org/wiki/tf">tf</a> package. 00137 # See it's documentation for more information. 00138 00139 Header header 00140 string child_frame_id # the frame id of the child frame 00141 Transform transform 00142 00143 ================================================================================ 00144 MSG: geometry_msgs/Transform 00145 # This represents the transform between two coordinate frames in free space. 00146 00147 Vector3 translation 00148 Quaternion rotation 00149 00150 ================================================================================ 00151 MSG: geometry_msgs/Vector3 00152 # This represents a vector in free space. 00153 00154 float64 x 00155 float64 y 00156 float64 z 00157 ================================================================================ 00158 MSG: arm_navigation_msgs/AllowedCollisionMatrix 00159 # the list of link names in the matrix 00160 string[] link_names 00161 00162 # the individual entries in the allowed collision matrix 00163 # symmetric, with same order as link_names 00164 AllowedCollisionEntry[] entries 00165 00166 ================================================================================ 00167 MSG: arm_navigation_msgs/AllowedCollisionEntry 00168 # whether or not collision checking is enabled 00169 bool[] enabled 00170 00171 ================================================================================ 00172 MSG: arm_navigation_msgs/AllowedContactSpecification 00173 # The names of the regions 00174 string name 00175 00176 # The shape of the region in the environment 00177 arm_navigation_msgs/Shape shape 00178 00179 # The pose of the space defining the region 00180 geometry_msgs/PoseStamped pose_stamped 00181 00182 # The set of links that will be allowed to have penetration contact within this region 00183 string[] link_names 00184 00185 # The maximum penetration depth allowed for every link 00186 float64 penetration_depth 00187 00188 ================================================================================ 00189 MSG: arm_navigation_msgs/Shape 00190 byte SPHERE=0 00191 byte BOX=1 00192 byte CYLINDER=2 00193 byte MESH=3 00194 00195 byte type 00196 00197 00198 #### define sphere, box, cylinder #### 00199 # the origin of each shape is considered at the shape's center 00200 00201 # for sphere 00202 # radius := dimensions[0] 00203 00204 # for cylinder 00205 # radius := dimensions[0] 00206 # length := dimensions[1] 00207 # the length is along the Z axis 00208 00209 # for box 00210 # size_x := dimensions[0] 00211 # size_y := dimensions[1] 00212 # size_z := dimensions[2] 00213 float64[] dimensions 00214 00215 00216 #### define mesh #### 00217 00218 # list of triangles; triangle k is defined by tre vertices located 00219 # at indices triangles[3k], triangles[3k+1], triangles[3k+2] 00220 int32[] triangles 00221 geometry_msgs/Point[] vertices 00222 00223 ================================================================================ 00224 MSG: geometry_msgs/PoseStamped 00225 # A Pose with reference coordinate frame and timestamp 00226 Header header 00227 Pose pose 00228 00229 ================================================================================ 00230 MSG: arm_navigation_msgs/LinkPadding 00231 #name for the link 00232 string link_name 00233 00234 # padding to apply to the link 00235 float64 padding 00236 00237 ================================================================================ 00238 MSG: arm_navigation_msgs/CollisionObject 00239 # a header, used for interpreting the poses 00240 Header header 00241 00242 # the id of the object 00243 string id 00244 00245 # The padding used for filtering points near the object. 00246 # This does not affect collision checking for the object. 00247 # Set to negative to get zero padding. 00248 float32 padding 00249 00250 #This contains what is to be done with the object 00251 CollisionObjectOperation operation 00252 00253 #the shapes associated with the object 00254 arm_navigation_msgs/Shape[] shapes 00255 00256 #the poses associated with the shapes - will be transformed using the header 00257 geometry_msgs/Pose[] poses 00258 00259 ================================================================================ 00260 MSG: arm_navigation_msgs/CollisionObjectOperation 00261 #Puts the object into the environment 00262 #or updates the object if already added 00263 byte ADD=0 00264 00265 #Removes the object from the environment entirely 00266 byte REMOVE=1 00267 00268 #Only valid within the context of a CollisionAttachedObject message 00269 #Will be ignored if sent with an CollisionObject message 00270 #Takes an attached object, detaches from the attached link 00271 #But adds back in as regular object 00272 byte DETACH_AND_ADD_AS_OBJECT=2 00273 00274 #Only valid within the context of a CollisionAttachedObject message 00275 #Will be ignored if sent with an CollisionObject message 00276 #Takes current object in the environment and removes it as 00277 #a regular object 00278 byte ATTACH_AND_REMOVE_AS_OBJECT=3 00279 00280 # Byte code for operation 00281 byte operation 00282 00283 ================================================================================ 00284 MSG: arm_navigation_msgs/AttachedCollisionObject 00285 # The CollisionObject will be attached with a fixed joint to this link 00286 # If link name is set to REMOVE_ALL_ATTACHED_OBJECTS and object.operation 00287 # is set to REMOVE will remove all attached bodies attached to any object 00288 string link_name 00289 00290 #Reserved for indicating that all attached objects should be removed 00291 string REMOVE_ALL_ATTACHED_OBJECTS = "all" 00292 00293 #This contains the actual shapes and poses for the CollisionObject 00294 #to be attached to the link 00295 #If action is remove and no object.id is set, all objects 00296 #attached to the link indicated by link_name will be removed 00297 CollisionObject object 00298 00299 # The set of links that the attached objects are allowed to touch 00300 # by default - the link_name is included by default 00301 string[] touch_links 00302 00303 ================================================================================ 00304 MSG: arm_navigation_msgs/CollisionMap 00305 #header for interpreting box positions 00306 Header header 00307 00308 #boxes for use in collision testing 00309 OrientedBoundingBox[] boxes 00310 00311 ================================================================================ 00312 MSG: arm_navigation_msgs/OrientedBoundingBox 00313 #the center of the box 00314 geometry_msgs/Point32 center 00315 00316 #the extents of the box, assuming the center is at the point 00317 geometry_msgs/Point32 extents 00318 00319 #the axis of the box 00320 geometry_msgs/Point32 axis 00321 00322 #the angle of rotation around the axis 00323 float32 angle 00324 00325 ================================================================================ 00326 MSG: geometry_msgs/Point32 00327 # This contains the position of a point in free space(with 32 bits of precision). 00328 # It is recommeded to use Point wherever possible instead of Point32. 00329 # 00330 # This recommendation is to promote interoperability. 00331 # 00332 # This message is designed to take up less space when sending 00333 # lots of points at once, as in the case of a PointCloud. 00334 00335 float32 x 00336 float32 y 00337 float32 z 00338 """ 00339 __slots__ = ['planning_scene'] 00340 _slot_types = ['arm_navigation_msgs/PlanningScene'] 00341 00342 def __init__(self, *args, **kwds): 00343 """ 00344 Constructor. Any message fields that are implicitly/explicitly 00345 set to None will be assigned a default value. The recommend 00346 use is keyword arguments as this is more robust to future message 00347 changes. You cannot mix in-order arguments and keyword arguments. 00348 00349 The available fields are: 00350 planning_scene 00351 00352 @param args: complete set of field values, in .msg order 00353 @param kwds: use keyword arguments corresponding to message field names 00354 to set specific fields. 00355 """ 00356 if args or kwds: 00357 super(SyncPlanningSceneGoal, self).__init__(*args, **kwds) 00358 #message fields cannot be None, assign default values for those that are 00359 if self.planning_scene is None: 00360 self.planning_scene = arm_navigation_msgs.msg.PlanningScene() 00361 else: 00362 self.planning_scene = arm_navigation_msgs.msg.PlanningScene() 00363 00364 def _get_types(self): 00365 """ 00366 internal API method 00367 """ 00368 return self._slot_types 00369 00370 def serialize(self, buff): 00371 """ 00372 serialize message into buffer 00373 @param buff: buffer 00374 @type buff: StringIO 00375 """ 00376 try: 00377 _x = self 00378 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)) 00379 _x = self.planning_scene.robot_state.joint_state.header.frame_id 00380 length = len(_x) 00381 buff.write(struct.pack('<I%ss'%length, length, _x)) 00382 length = len(self.planning_scene.robot_state.joint_state.name) 00383 buff.write(_struct_I.pack(length)) 00384 for val1 in self.planning_scene.robot_state.joint_state.name: 00385 length = len(val1) 00386 buff.write(struct.pack('<I%ss'%length, length, val1)) 00387 length = len(self.planning_scene.robot_state.joint_state.position) 00388 buff.write(_struct_I.pack(length)) 00389 pattern = '<%sd'%length 00390 buff.write(struct.pack(pattern, *self.planning_scene.robot_state.joint_state.position)) 00391 length = len(self.planning_scene.robot_state.joint_state.velocity) 00392 buff.write(_struct_I.pack(length)) 00393 pattern = '<%sd'%length 00394 buff.write(struct.pack(pattern, *self.planning_scene.robot_state.joint_state.velocity)) 00395 length = len(self.planning_scene.robot_state.joint_state.effort) 00396 buff.write(_struct_I.pack(length)) 00397 pattern = '<%sd'%length 00398 buff.write(struct.pack(pattern, *self.planning_scene.robot_state.joint_state.effort)) 00399 _x = self 00400 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)) 00401 length = len(self.planning_scene.robot_state.multi_dof_joint_state.joint_names) 00402 buff.write(_struct_I.pack(length)) 00403 for val1 in self.planning_scene.robot_state.multi_dof_joint_state.joint_names: 00404 length = len(val1) 00405 buff.write(struct.pack('<I%ss'%length, length, val1)) 00406 length = len(self.planning_scene.robot_state.multi_dof_joint_state.frame_ids) 00407 buff.write(_struct_I.pack(length)) 00408 for val1 in self.planning_scene.robot_state.multi_dof_joint_state.frame_ids: 00409 length = len(val1) 00410 buff.write(struct.pack('<I%ss'%length, length, val1)) 00411 length = len(self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids) 00412 buff.write(_struct_I.pack(length)) 00413 for val1 in self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids: 00414 length = len(val1) 00415 buff.write(struct.pack('<I%ss'%length, length, val1)) 00416 length = len(self.planning_scene.robot_state.multi_dof_joint_state.poses) 00417 buff.write(_struct_I.pack(length)) 00418 for val1 in self.planning_scene.robot_state.multi_dof_joint_state.poses: 00419 _v1 = val1.position 00420 _x = _v1 00421 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00422 _v2 = val1.orientation 00423 _x = _v2 00424 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 00425 length = len(self.planning_scene.fixed_frame_transforms) 00426 buff.write(_struct_I.pack(length)) 00427 for val1 in self.planning_scene.fixed_frame_transforms: 00428 _v3 = val1.header 00429 buff.write(_struct_I.pack(_v3.seq)) 00430 _v4 = _v3.stamp 00431 _x = _v4 00432 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 00433 _x = _v3.frame_id 00434 length = len(_x) 00435 buff.write(struct.pack('<I%ss'%length, length, _x)) 00436 _x = val1.child_frame_id 00437 length = len(_x) 00438 buff.write(struct.pack('<I%ss'%length, length, _x)) 00439 _v5 = val1.transform 00440 _v6 = _v5.translation 00441 _x = _v6 00442 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00443 _v7 = _v5.rotation 00444 _x = _v7 00445 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 00446 length = len(self.planning_scene.allowed_collision_matrix.link_names) 00447 buff.write(_struct_I.pack(length)) 00448 for val1 in self.planning_scene.allowed_collision_matrix.link_names: 00449 length = len(val1) 00450 buff.write(struct.pack('<I%ss'%length, length, val1)) 00451 length = len(self.planning_scene.allowed_collision_matrix.entries) 00452 buff.write(_struct_I.pack(length)) 00453 for val1 in self.planning_scene.allowed_collision_matrix.entries: 00454 length = len(val1.enabled) 00455 buff.write(_struct_I.pack(length)) 00456 pattern = '<%sB'%length 00457 buff.write(struct.pack(pattern, *val1.enabled)) 00458 length = len(self.planning_scene.allowed_contacts) 00459 buff.write(_struct_I.pack(length)) 00460 for val1 in self.planning_scene.allowed_contacts: 00461 _x = val1.name 00462 length = len(_x) 00463 buff.write(struct.pack('<I%ss'%length, length, _x)) 00464 _v8 = val1.shape 00465 buff.write(_struct_b.pack(_v8.type)) 00466 length = len(_v8.dimensions) 00467 buff.write(_struct_I.pack(length)) 00468 pattern = '<%sd'%length 00469 buff.write(struct.pack(pattern, *_v8.dimensions)) 00470 length = len(_v8.triangles) 00471 buff.write(_struct_I.pack(length)) 00472 pattern = '<%si'%length 00473 buff.write(struct.pack(pattern, *_v8.triangles)) 00474 length = len(_v8.vertices) 00475 buff.write(_struct_I.pack(length)) 00476 for val3 in _v8.vertices: 00477 _x = val3 00478 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00479 _v9 = val1.pose_stamped 00480 _v10 = _v9.header 00481 buff.write(_struct_I.pack(_v10.seq)) 00482 _v11 = _v10.stamp 00483 _x = _v11 00484 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 00485 _x = _v10.frame_id 00486 length = len(_x) 00487 buff.write(struct.pack('<I%ss'%length, length, _x)) 00488 _v12 = _v9.pose 00489 _v13 = _v12.position 00490 _x = _v13 00491 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00492 _v14 = _v12.orientation 00493 _x = _v14 00494 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 00495 length = len(val1.link_names) 00496 buff.write(_struct_I.pack(length)) 00497 for val2 in val1.link_names: 00498 length = len(val2) 00499 buff.write(struct.pack('<I%ss'%length, length, val2)) 00500 buff.write(_struct_d.pack(val1.penetration_depth)) 00501 length = len(self.planning_scene.link_padding) 00502 buff.write(_struct_I.pack(length)) 00503 for val1 in self.planning_scene.link_padding: 00504 _x = val1.link_name 00505 length = len(_x) 00506 buff.write(struct.pack('<I%ss'%length, length, _x)) 00507 buff.write(_struct_d.pack(val1.padding)) 00508 length = len(self.planning_scene.collision_objects) 00509 buff.write(_struct_I.pack(length)) 00510 for val1 in self.planning_scene.collision_objects: 00511 _v15 = val1.header 00512 buff.write(_struct_I.pack(_v15.seq)) 00513 _v16 = _v15.stamp 00514 _x = _v16 00515 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 00516 _x = _v15.frame_id 00517 length = len(_x) 00518 buff.write(struct.pack('<I%ss'%length, length, _x)) 00519 _x = val1.id 00520 length = len(_x) 00521 buff.write(struct.pack('<I%ss'%length, length, _x)) 00522 buff.write(_struct_f.pack(val1.padding)) 00523 _v17 = val1.operation 00524 buff.write(_struct_b.pack(_v17.operation)) 00525 length = len(val1.shapes) 00526 buff.write(_struct_I.pack(length)) 00527 for val2 in val1.shapes: 00528 buff.write(_struct_b.pack(val2.type)) 00529 length = len(val2.dimensions) 00530 buff.write(_struct_I.pack(length)) 00531 pattern = '<%sd'%length 00532 buff.write(struct.pack(pattern, *val2.dimensions)) 00533 length = len(val2.triangles) 00534 buff.write(_struct_I.pack(length)) 00535 pattern = '<%si'%length 00536 buff.write(struct.pack(pattern, *val2.triangles)) 00537 length = len(val2.vertices) 00538 buff.write(_struct_I.pack(length)) 00539 for val3 in val2.vertices: 00540 _x = val3 00541 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00542 length = len(val1.poses) 00543 buff.write(_struct_I.pack(length)) 00544 for val2 in val1.poses: 00545 _v18 = val2.position 00546 _x = _v18 00547 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00548 _v19 = val2.orientation 00549 _x = _v19 00550 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 00551 length = len(self.planning_scene.attached_collision_objects) 00552 buff.write(_struct_I.pack(length)) 00553 for val1 in self.planning_scene.attached_collision_objects: 00554 _x = val1.link_name 00555 length = len(_x) 00556 buff.write(struct.pack('<I%ss'%length, length, _x)) 00557 _v20 = val1.object 00558 _v21 = _v20.header 00559 buff.write(_struct_I.pack(_v21.seq)) 00560 _v22 = _v21.stamp 00561 _x = _v22 00562 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 00563 _x = _v21.frame_id 00564 length = len(_x) 00565 buff.write(struct.pack('<I%ss'%length, length, _x)) 00566 _x = _v20.id 00567 length = len(_x) 00568 buff.write(struct.pack('<I%ss'%length, length, _x)) 00569 buff.write(_struct_f.pack(_v20.padding)) 00570 _v23 = _v20.operation 00571 buff.write(_struct_b.pack(_v23.operation)) 00572 length = len(_v20.shapes) 00573 buff.write(_struct_I.pack(length)) 00574 for val3 in _v20.shapes: 00575 buff.write(_struct_b.pack(val3.type)) 00576 length = len(val3.dimensions) 00577 buff.write(_struct_I.pack(length)) 00578 pattern = '<%sd'%length 00579 buff.write(struct.pack(pattern, *val3.dimensions)) 00580 length = len(val3.triangles) 00581 buff.write(_struct_I.pack(length)) 00582 pattern = '<%si'%length 00583 buff.write(struct.pack(pattern, *val3.triangles)) 00584 length = len(val3.vertices) 00585 buff.write(_struct_I.pack(length)) 00586 for val4 in val3.vertices: 00587 _x = val4 00588 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00589 length = len(_v20.poses) 00590 buff.write(_struct_I.pack(length)) 00591 for val3 in _v20.poses: 00592 _v24 = val3.position 00593 _x = _v24 00594 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00595 _v25 = val3.orientation 00596 _x = _v25 00597 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 00598 length = len(val1.touch_links) 00599 buff.write(_struct_I.pack(length)) 00600 for val2 in val1.touch_links: 00601 length = len(val2) 00602 buff.write(struct.pack('<I%ss'%length, length, val2)) 00603 _x = self 00604 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)) 00605 _x = self.planning_scene.collision_map.header.frame_id 00606 length = len(_x) 00607 buff.write(struct.pack('<I%ss'%length, length, _x)) 00608 length = len(self.planning_scene.collision_map.boxes) 00609 buff.write(_struct_I.pack(length)) 00610 for val1 in self.planning_scene.collision_map.boxes: 00611 _v26 = val1.center 00612 _x = _v26 00613 buff.write(_struct_3f.pack(_x.x, _x.y, _x.z)) 00614 _v27 = val1.extents 00615 _x = _v27 00616 buff.write(_struct_3f.pack(_x.x, _x.y, _x.z)) 00617 _v28 = val1.axis 00618 _x = _v28 00619 buff.write(_struct_3f.pack(_x.x, _x.y, _x.z)) 00620 buff.write(_struct_f.pack(val1.angle)) 00621 except struct.error as se: self._check_types(se) 00622 except TypeError as te: self._check_types(te) 00623 00624 def deserialize(self, str): 00625 """ 00626 unpack serialized message in str into this message instance 00627 @param str: byte array of serialized message 00628 @type str: str 00629 """ 00630 try: 00631 if self.planning_scene is None: 00632 self.planning_scene = arm_navigation_msgs.msg.PlanningScene() 00633 end = 0 00634 _x = self 00635 start = end 00636 end += 12 00637 (_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]) 00638 start = end 00639 end += 4 00640 (length,) = _struct_I.unpack(str[start:end]) 00641 start = end 00642 end += length 00643 self.planning_scene.robot_state.joint_state.header.frame_id = str[start:end] 00644 start = end 00645 end += 4 00646 (length,) = _struct_I.unpack(str[start:end]) 00647 self.planning_scene.robot_state.joint_state.name = [] 00648 for i in range(0, length): 00649 start = end 00650 end += 4 00651 (length,) = _struct_I.unpack(str[start:end]) 00652 start = end 00653 end += length 00654 val1 = str[start:end] 00655 self.planning_scene.robot_state.joint_state.name.append(val1) 00656 start = end 00657 end += 4 00658 (length,) = _struct_I.unpack(str[start:end]) 00659 pattern = '<%sd'%length 00660 start = end 00661 end += struct.calcsize(pattern) 00662 self.planning_scene.robot_state.joint_state.position = struct.unpack(pattern, str[start:end]) 00663 start = end 00664 end += 4 00665 (length,) = _struct_I.unpack(str[start:end]) 00666 pattern = '<%sd'%length 00667 start = end 00668 end += struct.calcsize(pattern) 00669 self.planning_scene.robot_state.joint_state.velocity = struct.unpack(pattern, str[start:end]) 00670 start = end 00671 end += 4 00672 (length,) = _struct_I.unpack(str[start:end]) 00673 pattern = '<%sd'%length 00674 start = end 00675 end += struct.calcsize(pattern) 00676 self.planning_scene.robot_state.joint_state.effort = struct.unpack(pattern, str[start:end]) 00677 _x = self 00678 start = end 00679 end += 8 00680 (_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]) 00681 start = end 00682 end += 4 00683 (length,) = _struct_I.unpack(str[start:end]) 00684 self.planning_scene.robot_state.multi_dof_joint_state.joint_names = [] 00685 for i in range(0, length): 00686 start = end 00687 end += 4 00688 (length,) = _struct_I.unpack(str[start:end]) 00689 start = end 00690 end += length 00691 val1 = str[start:end] 00692 self.planning_scene.robot_state.multi_dof_joint_state.joint_names.append(val1) 00693 start = end 00694 end += 4 00695 (length,) = _struct_I.unpack(str[start:end]) 00696 self.planning_scene.robot_state.multi_dof_joint_state.frame_ids = [] 00697 for i in range(0, length): 00698 start = end 00699 end += 4 00700 (length,) = _struct_I.unpack(str[start:end]) 00701 start = end 00702 end += length 00703 val1 = str[start:end] 00704 self.planning_scene.robot_state.multi_dof_joint_state.frame_ids.append(val1) 00705 start = end 00706 end += 4 00707 (length,) = _struct_I.unpack(str[start:end]) 00708 self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids = [] 00709 for i in range(0, length): 00710 start = end 00711 end += 4 00712 (length,) = _struct_I.unpack(str[start:end]) 00713 start = end 00714 end += length 00715 val1 = str[start:end] 00716 self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids.append(val1) 00717 start = end 00718 end += 4 00719 (length,) = _struct_I.unpack(str[start:end]) 00720 self.planning_scene.robot_state.multi_dof_joint_state.poses = [] 00721 for i in range(0, length): 00722 val1 = geometry_msgs.msg.Pose() 00723 _v29 = val1.position 00724 _x = _v29 00725 start = end 00726 end += 24 00727 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 00728 _v30 = val1.orientation 00729 _x = _v30 00730 start = end 00731 end += 32 00732 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 00733 self.planning_scene.robot_state.multi_dof_joint_state.poses.append(val1) 00734 start = end 00735 end += 4 00736 (length,) = _struct_I.unpack(str[start:end]) 00737 self.planning_scene.fixed_frame_transforms = [] 00738 for i in range(0, length): 00739 val1 = geometry_msgs.msg.TransformStamped() 00740 _v31 = val1.header 00741 start = end 00742 end += 4 00743 (_v31.seq,) = _struct_I.unpack(str[start:end]) 00744 _v32 = _v31.stamp 00745 _x = _v32 00746 start = end 00747 end += 8 00748 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end]) 00749 start = end 00750 end += 4 00751 (length,) = _struct_I.unpack(str[start:end]) 00752 start = end 00753 end += length 00754 _v31.frame_id = str[start:end] 00755 start = end 00756 end += 4 00757 (length,) = _struct_I.unpack(str[start:end]) 00758 start = end 00759 end += length 00760 val1.child_frame_id = str[start:end] 00761 _v33 = val1.transform 00762 _v34 = _v33.translation 00763 _x = _v34 00764 start = end 00765 end += 24 00766 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 00767 _v35 = _v33.rotation 00768 _x = _v35 00769 start = end 00770 end += 32 00771 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 00772 self.planning_scene.fixed_frame_transforms.append(val1) 00773 start = end 00774 end += 4 00775 (length,) = _struct_I.unpack(str[start:end]) 00776 self.planning_scene.allowed_collision_matrix.link_names = [] 00777 for i in range(0, length): 00778 start = end 00779 end += 4 00780 (length,) = _struct_I.unpack(str[start:end]) 00781 start = end 00782 end += length 00783 val1 = str[start:end] 00784 self.planning_scene.allowed_collision_matrix.link_names.append(val1) 00785 start = end 00786 end += 4 00787 (length,) = _struct_I.unpack(str[start:end]) 00788 self.planning_scene.allowed_collision_matrix.entries = [] 00789 for i in range(0, length): 00790 val1 = arm_navigation_msgs.msg.AllowedCollisionEntry() 00791 start = end 00792 end += 4 00793 (length,) = _struct_I.unpack(str[start:end]) 00794 pattern = '<%sB'%length 00795 start = end 00796 end += struct.calcsize(pattern) 00797 val1.enabled = struct.unpack(pattern, str[start:end]) 00798 val1.enabled = map(bool, val1.enabled) 00799 self.planning_scene.allowed_collision_matrix.entries.append(val1) 00800 start = end 00801 end += 4 00802 (length,) = _struct_I.unpack(str[start:end]) 00803 self.planning_scene.allowed_contacts = [] 00804 for i in range(0, length): 00805 val1 = arm_navigation_msgs.msg.AllowedContactSpecification() 00806 start = end 00807 end += 4 00808 (length,) = _struct_I.unpack(str[start:end]) 00809 start = end 00810 end += length 00811 val1.name = str[start:end] 00812 _v36 = val1.shape 00813 start = end 00814 end += 1 00815 (_v36.type,) = _struct_b.unpack(str[start:end]) 00816 start = end 00817 end += 4 00818 (length,) = _struct_I.unpack(str[start:end]) 00819 pattern = '<%sd'%length 00820 start = end 00821 end += struct.calcsize(pattern) 00822 _v36.dimensions = struct.unpack(pattern, str[start:end]) 00823 start = end 00824 end += 4 00825 (length,) = _struct_I.unpack(str[start:end]) 00826 pattern = '<%si'%length 00827 start = end 00828 end += struct.calcsize(pattern) 00829 _v36.triangles = struct.unpack(pattern, str[start:end]) 00830 start = end 00831 end += 4 00832 (length,) = _struct_I.unpack(str[start:end]) 00833 _v36.vertices = [] 00834 for i in range(0, length): 00835 val3 = geometry_msgs.msg.Point() 00836 _x = val3 00837 start = end 00838 end += 24 00839 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 00840 _v36.vertices.append(val3) 00841 _v37 = val1.pose_stamped 00842 _v38 = _v37.header 00843 start = end 00844 end += 4 00845 (_v38.seq,) = _struct_I.unpack(str[start:end]) 00846 _v39 = _v38.stamp 00847 _x = _v39 00848 start = end 00849 end += 8 00850 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end]) 00851 start = end 00852 end += 4 00853 (length,) = _struct_I.unpack(str[start:end]) 00854 start = end 00855 end += length 00856 _v38.frame_id = str[start:end] 00857 _v40 = _v37.pose 00858 _v41 = _v40.position 00859 _x = _v41 00860 start = end 00861 end += 24 00862 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 00863 _v42 = _v40.orientation 00864 _x = _v42 00865 start = end 00866 end += 32 00867 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 00868 start = end 00869 end += 4 00870 (length,) = _struct_I.unpack(str[start:end]) 00871 val1.link_names = [] 00872 for i in range(0, length): 00873 start = end 00874 end += 4 00875 (length,) = _struct_I.unpack(str[start:end]) 00876 start = end 00877 end += length 00878 val2 = str[start:end] 00879 val1.link_names.append(val2) 00880 start = end 00881 end += 8 00882 (val1.penetration_depth,) = _struct_d.unpack(str[start:end]) 00883 self.planning_scene.allowed_contacts.append(val1) 00884 start = end 00885 end += 4 00886 (length,) = _struct_I.unpack(str[start:end]) 00887 self.planning_scene.link_padding = [] 00888 for i in range(0, length): 00889 val1 = arm_navigation_msgs.msg.LinkPadding() 00890 start = end 00891 end += 4 00892 (length,) = _struct_I.unpack(str[start:end]) 00893 start = end 00894 end += length 00895 val1.link_name = str[start:end] 00896 start = end 00897 end += 8 00898 (val1.padding,) = _struct_d.unpack(str[start:end]) 00899 self.planning_scene.link_padding.append(val1) 00900 start = end 00901 end += 4 00902 (length,) = _struct_I.unpack(str[start:end]) 00903 self.planning_scene.collision_objects = [] 00904 for i in range(0, length): 00905 val1 = arm_navigation_msgs.msg.CollisionObject() 00906 _v43 = val1.header 00907 start = end 00908 end += 4 00909 (_v43.seq,) = _struct_I.unpack(str[start:end]) 00910 _v44 = _v43.stamp 00911 _x = _v44 00912 start = end 00913 end += 8 00914 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end]) 00915 start = end 00916 end += 4 00917 (length,) = _struct_I.unpack(str[start:end]) 00918 start = end 00919 end += length 00920 _v43.frame_id = str[start:end] 00921 start = end 00922 end += 4 00923 (length,) = _struct_I.unpack(str[start:end]) 00924 start = end 00925 end += length 00926 val1.id = str[start:end] 00927 start = end 00928 end += 4 00929 (val1.padding,) = _struct_f.unpack(str[start:end]) 00930 _v45 = val1.operation 00931 start = end 00932 end += 1 00933 (_v45.operation,) = _struct_b.unpack(str[start:end]) 00934 start = end 00935 end += 4 00936 (length,) = _struct_I.unpack(str[start:end]) 00937 val1.shapes = [] 00938 for i in range(0, length): 00939 val2 = arm_navigation_msgs.msg.Shape() 00940 start = end 00941 end += 1 00942 (val2.type,) = _struct_b.unpack(str[start:end]) 00943 start = end 00944 end += 4 00945 (length,) = _struct_I.unpack(str[start:end]) 00946 pattern = '<%sd'%length 00947 start = end 00948 end += struct.calcsize(pattern) 00949 val2.dimensions = struct.unpack(pattern, str[start:end]) 00950 start = end 00951 end += 4 00952 (length,) = _struct_I.unpack(str[start:end]) 00953 pattern = '<%si'%length 00954 start = end 00955 end += struct.calcsize(pattern) 00956 val2.triangles = struct.unpack(pattern, str[start:end]) 00957 start = end 00958 end += 4 00959 (length,) = _struct_I.unpack(str[start:end]) 00960 val2.vertices = [] 00961 for i in range(0, length): 00962 val3 = geometry_msgs.msg.Point() 00963 _x = val3 00964 start = end 00965 end += 24 00966 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 00967 val2.vertices.append(val3) 00968 val1.shapes.append(val2) 00969 start = end 00970 end += 4 00971 (length,) = _struct_I.unpack(str[start:end]) 00972 val1.poses = [] 00973 for i in range(0, length): 00974 val2 = geometry_msgs.msg.Pose() 00975 _v46 = val2.position 00976 _x = _v46 00977 start = end 00978 end += 24 00979 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 00980 _v47 = val2.orientation 00981 _x = _v47 00982 start = end 00983 end += 32 00984 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 00985 val1.poses.append(val2) 00986 self.planning_scene.collision_objects.append(val1) 00987 start = end 00988 end += 4 00989 (length,) = _struct_I.unpack(str[start:end]) 00990 self.planning_scene.attached_collision_objects = [] 00991 for i in range(0, length): 00992 val1 = arm_navigation_msgs.msg.AttachedCollisionObject() 00993 start = end 00994 end += 4 00995 (length,) = _struct_I.unpack(str[start:end]) 00996 start = end 00997 end += length 00998 val1.link_name = str[start:end] 00999 _v48 = val1.object 01000 _v49 = _v48.header 01001 start = end 01002 end += 4 01003 (_v49.seq,) = _struct_I.unpack(str[start:end]) 01004 _v50 = _v49.stamp 01005 _x = _v50 01006 start = end 01007 end += 8 01008 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end]) 01009 start = end 01010 end += 4 01011 (length,) = _struct_I.unpack(str[start:end]) 01012 start = end 01013 end += length 01014 _v49.frame_id = str[start:end] 01015 start = end 01016 end += 4 01017 (length,) = _struct_I.unpack(str[start:end]) 01018 start = end 01019 end += length 01020 _v48.id = str[start:end] 01021 start = end 01022 end += 4 01023 (_v48.padding,) = _struct_f.unpack(str[start:end]) 01024 _v51 = _v48.operation 01025 start = end 01026 end += 1 01027 (_v51.operation,) = _struct_b.unpack(str[start:end]) 01028 start = end 01029 end += 4 01030 (length,) = _struct_I.unpack(str[start:end]) 01031 _v48.shapes = [] 01032 for i in range(0, length): 01033 val3 = arm_navigation_msgs.msg.Shape() 01034 start = end 01035 end += 1 01036 (val3.type,) = _struct_b.unpack(str[start:end]) 01037 start = end 01038 end += 4 01039 (length,) = _struct_I.unpack(str[start:end]) 01040 pattern = '<%sd'%length 01041 start = end 01042 end += struct.calcsize(pattern) 01043 val3.dimensions = struct.unpack(pattern, str[start:end]) 01044 start = end 01045 end += 4 01046 (length,) = _struct_I.unpack(str[start:end]) 01047 pattern = '<%si'%length 01048 start = end 01049 end += struct.calcsize(pattern) 01050 val3.triangles = struct.unpack(pattern, str[start:end]) 01051 start = end 01052 end += 4 01053 (length,) = _struct_I.unpack(str[start:end]) 01054 val3.vertices = [] 01055 for i in range(0, length): 01056 val4 = geometry_msgs.msg.Point() 01057 _x = val4 01058 start = end 01059 end += 24 01060 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 01061 val3.vertices.append(val4) 01062 _v48.shapes.append(val3) 01063 start = end 01064 end += 4 01065 (length,) = _struct_I.unpack(str[start:end]) 01066 _v48.poses = [] 01067 for i in range(0, length): 01068 val3 = geometry_msgs.msg.Pose() 01069 _v52 = val3.position 01070 _x = _v52 01071 start = end 01072 end += 24 01073 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 01074 _v53 = val3.orientation 01075 _x = _v53 01076 start = end 01077 end += 32 01078 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 01079 _v48.poses.append(val3) 01080 start = end 01081 end += 4 01082 (length,) = _struct_I.unpack(str[start:end]) 01083 val1.touch_links = [] 01084 for i in range(0, length): 01085 start = end 01086 end += 4 01087 (length,) = _struct_I.unpack(str[start:end]) 01088 start = end 01089 end += length 01090 val2 = str[start:end] 01091 val1.touch_links.append(val2) 01092 self.planning_scene.attached_collision_objects.append(val1) 01093 _x = self 01094 start = end 01095 end += 12 01096 (_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]) 01097 start = end 01098 end += 4 01099 (length,) = _struct_I.unpack(str[start:end]) 01100 start = end 01101 end += length 01102 self.planning_scene.collision_map.header.frame_id = str[start:end] 01103 start = end 01104 end += 4 01105 (length,) = _struct_I.unpack(str[start:end]) 01106 self.planning_scene.collision_map.boxes = [] 01107 for i in range(0, length): 01108 val1 = arm_navigation_msgs.msg.OrientedBoundingBox() 01109 _v54 = val1.center 01110 _x = _v54 01111 start = end 01112 end += 12 01113 (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end]) 01114 _v55 = val1.extents 01115 _x = _v55 01116 start = end 01117 end += 12 01118 (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end]) 01119 _v56 = val1.axis 01120 _x = _v56 01121 start = end 01122 end += 12 01123 (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end]) 01124 start = end 01125 end += 4 01126 (val1.angle,) = _struct_f.unpack(str[start:end]) 01127 self.planning_scene.collision_map.boxes.append(val1) 01128 return self 01129 except struct.error as e: 01130 raise roslib.message.DeserializationError(e) #most likely buffer underfill 01131 01132 01133 def serialize_numpy(self, buff, numpy): 01134 """ 01135 serialize message with numpy array types into buffer 01136 @param buff: buffer 01137 @type buff: StringIO 01138 @param numpy: numpy python module 01139 @type numpy module 01140 """ 01141 try: 01142 _x = self 01143 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)) 01144 _x = self.planning_scene.robot_state.joint_state.header.frame_id 01145 length = len(_x) 01146 buff.write(struct.pack('<I%ss'%length, length, _x)) 01147 length = len(self.planning_scene.robot_state.joint_state.name) 01148 buff.write(_struct_I.pack(length)) 01149 for val1 in self.planning_scene.robot_state.joint_state.name: 01150 length = len(val1) 01151 buff.write(struct.pack('<I%ss'%length, length, val1)) 01152 length = len(self.planning_scene.robot_state.joint_state.position) 01153 buff.write(_struct_I.pack(length)) 01154 pattern = '<%sd'%length 01155 buff.write(self.planning_scene.robot_state.joint_state.position.tostring()) 01156 length = len(self.planning_scene.robot_state.joint_state.velocity) 01157 buff.write(_struct_I.pack(length)) 01158 pattern = '<%sd'%length 01159 buff.write(self.planning_scene.robot_state.joint_state.velocity.tostring()) 01160 length = len(self.planning_scene.robot_state.joint_state.effort) 01161 buff.write(_struct_I.pack(length)) 01162 pattern = '<%sd'%length 01163 buff.write(self.planning_scene.robot_state.joint_state.effort.tostring()) 01164 _x = self 01165 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)) 01166 length = len(self.planning_scene.robot_state.multi_dof_joint_state.joint_names) 01167 buff.write(_struct_I.pack(length)) 01168 for val1 in self.planning_scene.robot_state.multi_dof_joint_state.joint_names: 01169 length = len(val1) 01170 buff.write(struct.pack('<I%ss'%length, length, val1)) 01171 length = len(self.planning_scene.robot_state.multi_dof_joint_state.frame_ids) 01172 buff.write(_struct_I.pack(length)) 01173 for val1 in self.planning_scene.robot_state.multi_dof_joint_state.frame_ids: 01174 length = len(val1) 01175 buff.write(struct.pack('<I%ss'%length, length, val1)) 01176 length = len(self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids) 01177 buff.write(_struct_I.pack(length)) 01178 for val1 in self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids: 01179 length = len(val1) 01180 buff.write(struct.pack('<I%ss'%length, length, val1)) 01181 length = len(self.planning_scene.robot_state.multi_dof_joint_state.poses) 01182 buff.write(_struct_I.pack(length)) 01183 for val1 in self.planning_scene.robot_state.multi_dof_joint_state.poses: 01184 _v57 = val1.position 01185 _x = _v57 01186 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 01187 _v58 = val1.orientation 01188 _x = _v58 01189 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 01190 length = len(self.planning_scene.fixed_frame_transforms) 01191 buff.write(_struct_I.pack(length)) 01192 for val1 in self.planning_scene.fixed_frame_transforms: 01193 _v59 = val1.header 01194 buff.write(_struct_I.pack(_v59.seq)) 01195 _v60 = _v59.stamp 01196 _x = _v60 01197 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 01198 _x = _v59.frame_id 01199 length = len(_x) 01200 buff.write(struct.pack('<I%ss'%length, length, _x)) 01201 _x = val1.child_frame_id 01202 length = len(_x) 01203 buff.write(struct.pack('<I%ss'%length, length, _x)) 01204 _v61 = val1.transform 01205 _v62 = _v61.translation 01206 _x = _v62 01207 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 01208 _v63 = _v61.rotation 01209 _x = _v63 01210 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 01211 length = len(self.planning_scene.allowed_collision_matrix.link_names) 01212 buff.write(_struct_I.pack(length)) 01213 for val1 in self.planning_scene.allowed_collision_matrix.link_names: 01214 length = len(val1) 01215 buff.write(struct.pack('<I%ss'%length, length, val1)) 01216 length = len(self.planning_scene.allowed_collision_matrix.entries) 01217 buff.write(_struct_I.pack(length)) 01218 for val1 in self.planning_scene.allowed_collision_matrix.entries: 01219 length = len(val1.enabled) 01220 buff.write(_struct_I.pack(length)) 01221 pattern = '<%sB'%length 01222 buff.write(val1.enabled.tostring()) 01223 length = len(self.planning_scene.allowed_contacts) 01224 buff.write(_struct_I.pack(length)) 01225 for val1 in self.planning_scene.allowed_contacts: 01226 _x = val1.name 01227 length = len(_x) 01228 buff.write(struct.pack('<I%ss'%length, length, _x)) 01229 _v64 = val1.shape 01230 buff.write(_struct_b.pack(_v64.type)) 01231 length = len(_v64.dimensions) 01232 buff.write(_struct_I.pack(length)) 01233 pattern = '<%sd'%length 01234 buff.write(_v64.dimensions.tostring()) 01235 length = len(_v64.triangles) 01236 buff.write(_struct_I.pack(length)) 01237 pattern = '<%si'%length 01238 buff.write(_v64.triangles.tostring()) 01239 length = len(_v64.vertices) 01240 buff.write(_struct_I.pack(length)) 01241 for val3 in _v64.vertices: 01242 _x = val3 01243 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 01244 _v65 = val1.pose_stamped 01245 _v66 = _v65.header 01246 buff.write(_struct_I.pack(_v66.seq)) 01247 _v67 = _v66.stamp 01248 _x = _v67 01249 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 01250 _x = _v66.frame_id 01251 length = len(_x) 01252 buff.write(struct.pack('<I%ss'%length, length, _x)) 01253 _v68 = _v65.pose 01254 _v69 = _v68.position 01255 _x = _v69 01256 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 01257 _v70 = _v68.orientation 01258 _x = _v70 01259 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 01260 length = len(val1.link_names) 01261 buff.write(_struct_I.pack(length)) 01262 for val2 in val1.link_names: 01263 length = len(val2) 01264 buff.write(struct.pack('<I%ss'%length, length, val2)) 01265 buff.write(_struct_d.pack(val1.penetration_depth)) 01266 length = len(self.planning_scene.link_padding) 01267 buff.write(_struct_I.pack(length)) 01268 for val1 in self.planning_scene.link_padding: 01269 _x = val1.link_name 01270 length = len(_x) 01271 buff.write(struct.pack('<I%ss'%length, length, _x)) 01272 buff.write(_struct_d.pack(val1.padding)) 01273 length = len(self.planning_scene.collision_objects) 01274 buff.write(_struct_I.pack(length)) 01275 for val1 in self.planning_scene.collision_objects: 01276 _v71 = val1.header 01277 buff.write(_struct_I.pack(_v71.seq)) 01278 _v72 = _v71.stamp 01279 _x = _v72 01280 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 01281 _x = _v71.frame_id 01282 length = len(_x) 01283 buff.write(struct.pack('<I%ss'%length, length, _x)) 01284 _x = val1.id 01285 length = len(_x) 01286 buff.write(struct.pack('<I%ss'%length, length, _x)) 01287 buff.write(_struct_f.pack(val1.padding)) 01288 _v73 = val1.operation 01289 buff.write(_struct_b.pack(_v73.operation)) 01290 length = len(val1.shapes) 01291 buff.write(_struct_I.pack(length)) 01292 for val2 in val1.shapes: 01293 buff.write(_struct_b.pack(val2.type)) 01294 length = len(val2.dimensions) 01295 buff.write(_struct_I.pack(length)) 01296 pattern = '<%sd'%length 01297 buff.write(val2.dimensions.tostring()) 01298 length = len(val2.triangles) 01299 buff.write(_struct_I.pack(length)) 01300 pattern = '<%si'%length 01301 buff.write(val2.triangles.tostring()) 01302 length = len(val2.vertices) 01303 buff.write(_struct_I.pack(length)) 01304 for val3 in val2.vertices: 01305 _x = val3 01306 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 01307 length = len(val1.poses) 01308 buff.write(_struct_I.pack(length)) 01309 for val2 in val1.poses: 01310 _v74 = val2.position 01311 _x = _v74 01312 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 01313 _v75 = val2.orientation 01314 _x = _v75 01315 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 01316 length = len(self.planning_scene.attached_collision_objects) 01317 buff.write(_struct_I.pack(length)) 01318 for val1 in self.planning_scene.attached_collision_objects: 01319 _x = val1.link_name 01320 length = len(_x) 01321 buff.write(struct.pack('<I%ss'%length, length, _x)) 01322 _v76 = val1.object 01323 _v77 = _v76.header 01324 buff.write(_struct_I.pack(_v77.seq)) 01325 _v78 = _v77.stamp 01326 _x = _v78 01327 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 01328 _x = _v77.frame_id 01329 length = len(_x) 01330 buff.write(struct.pack('<I%ss'%length, length, _x)) 01331 _x = _v76.id 01332 length = len(_x) 01333 buff.write(struct.pack('<I%ss'%length, length, _x)) 01334 buff.write(_struct_f.pack(_v76.padding)) 01335 _v79 = _v76.operation 01336 buff.write(_struct_b.pack(_v79.operation)) 01337 length = len(_v76.shapes) 01338 buff.write(_struct_I.pack(length)) 01339 for val3 in _v76.shapes: 01340 buff.write(_struct_b.pack(val3.type)) 01341 length = len(val3.dimensions) 01342 buff.write(_struct_I.pack(length)) 01343 pattern = '<%sd'%length 01344 buff.write(val3.dimensions.tostring()) 01345 length = len(val3.triangles) 01346 buff.write(_struct_I.pack(length)) 01347 pattern = '<%si'%length 01348 buff.write(val3.triangles.tostring()) 01349 length = len(val3.vertices) 01350 buff.write(_struct_I.pack(length)) 01351 for val4 in val3.vertices: 01352 _x = val4 01353 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 01354 length = len(_v76.poses) 01355 buff.write(_struct_I.pack(length)) 01356 for val3 in _v76.poses: 01357 _v80 = val3.position 01358 _x = _v80 01359 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 01360 _v81 = val3.orientation 01361 _x = _v81 01362 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 01363 length = len(val1.touch_links) 01364 buff.write(_struct_I.pack(length)) 01365 for val2 in val1.touch_links: 01366 length = len(val2) 01367 buff.write(struct.pack('<I%ss'%length, length, val2)) 01368 _x = self 01369 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)) 01370 _x = self.planning_scene.collision_map.header.frame_id 01371 length = len(_x) 01372 buff.write(struct.pack('<I%ss'%length, length, _x)) 01373 length = len(self.planning_scene.collision_map.boxes) 01374 buff.write(_struct_I.pack(length)) 01375 for val1 in self.planning_scene.collision_map.boxes: 01376 _v82 = val1.center 01377 _x = _v82 01378 buff.write(_struct_3f.pack(_x.x, _x.y, _x.z)) 01379 _v83 = val1.extents 01380 _x = _v83 01381 buff.write(_struct_3f.pack(_x.x, _x.y, _x.z)) 01382 _v84 = val1.axis 01383 _x = _v84 01384 buff.write(_struct_3f.pack(_x.x, _x.y, _x.z)) 01385 buff.write(_struct_f.pack(val1.angle)) 01386 except struct.error as se: self._check_types(se) 01387 except TypeError as te: self._check_types(te) 01388 01389 def deserialize_numpy(self, str, numpy): 01390 """ 01391 unpack serialized message in str into this message instance using numpy for array types 01392 @param str: byte array of serialized message 01393 @type str: str 01394 @param numpy: numpy python module 01395 @type numpy: module 01396 """ 01397 try: 01398 if self.planning_scene is None: 01399 self.planning_scene = arm_navigation_msgs.msg.PlanningScene() 01400 end = 0 01401 _x = self 01402 start = end 01403 end += 12 01404 (_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]) 01405 start = end 01406 end += 4 01407 (length,) = _struct_I.unpack(str[start:end]) 01408 start = end 01409 end += length 01410 self.planning_scene.robot_state.joint_state.header.frame_id = str[start:end] 01411 start = end 01412 end += 4 01413 (length,) = _struct_I.unpack(str[start:end]) 01414 self.planning_scene.robot_state.joint_state.name = [] 01415 for i in range(0, length): 01416 start = end 01417 end += 4 01418 (length,) = _struct_I.unpack(str[start:end]) 01419 start = end 01420 end += length 01421 val1 = str[start:end] 01422 self.planning_scene.robot_state.joint_state.name.append(val1) 01423 start = end 01424 end += 4 01425 (length,) = _struct_I.unpack(str[start:end]) 01426 pattern = '<%sd'%length 01427 start = end 01428 end += struct.calcsize(pattern) 01429 self.planning_scene.robot_state.joint_state.position = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 01430 start = end 01431 end += 4 01432 (length,) = _struct_I.unpack(str[start:end]) 01433 pattern = '<%sd'%length 01434 start = end 01435 end += struct.calcsize(pattern) 01436 self.planning_scene.robot_state.joint_state.velocity = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 01437 start = end 01438 end += 4 01439 (length,) = _struct_I.unpack(str[start:end]) 01440 pattern = '<%sd'%length 01441 start = end 01442 end += struct.calcsize(pattern) 01443 self.planning_scene.robot_state.joint_state.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 01444 _x = self 01445 start = end 01446 end += 8 01447 (_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]) 01448 start = end 01449 end += 4 01450 (length,) = _struct_I.unpack(str[start:end]) 01451 self.planning_scene.robot_state.multi_dof_joint_state.joint_names = [] 01452 for i in range(0, length): 01453 start = end 01454 end += 4 01455 (length,) = _struct_I.unpack(str[start:end]) 01456 start = end 01457 end += length 01458 val1 = str[start:end] 01459 self.planning_scene.robot_state.multi_dof_joint_state.joint_names.append(val1) 01460 start = end 01461 end += 4 01462 (length,) = _struct_I.unpack(str[start:end]) 01463 self.planning_scene.robot_state.multi_dof_joint_state.frame_ids = [] 01464 for i in range(0, length): 01465 start = end 01466 end += 4 01467 (length,) = _struct_I.unpack(str[start:end]) 01468 start = end 01469 end += length 01470 val1 = str[start:end] 01471 self.planning_scene.robot_state.multi_dof_joint_state.frame_ids.append(val1) 01472 start = end 01473 end += 4 01474 (length,) = _struct_I.unpack(str[start:end]) 01475 self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids = [] 01476 for i in range(0, length): 01477 start = end 01478 end += 4 01479 (length,) = _struct_I.unpack(str[start:end]) 01480 start = end 01481 end += length 01482 val1 = str[start:end] 01483 self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids.append(val1) 01484 start = end 01485 end += 4 01486 (length,) = _struct_I.unpack(str[start:end]) 01487 self.planning_scene.robot_state.multi_dof_joint_state.poses = [] 01488 for i in range(0, length): 01489 val1 = geometry_msgs.msg.Pose() 01490 _v85 = val1.position 01491 _x = _v85 01492 start = end 01493 end += 24 01494 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 01495 _v86 = val1.orientation 01496 _x = _v86 01497 start = end 01498 end += 32 01499 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 01500 self.planning_scene.robot_state.multi_dof_joint_state.poses.append(val1) 01501 start = end 01502 end += 4 01503 (length,) = _struct_I.unpack(str[start:end]) 01504 self.planning_scene.fixed_frame_transforms = [] 01505 for i in range(0, length): 01506 val1 = geometry_msgs.msg.TransformStamped() 01507 _v87 = val1.header 01508 start = end 01509 end += 4 01510 (_v87.seq,) = _struct_I.unpack(str[start:end]) 01511 _v88 = _v87.stamp 01512 _x = _v88 01513 start = end 01514 end += 8 01515 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end]) 01516 start = end 01517 end += 4 01518 (length,) = _struct_I.unpack(str[start:end]) 01519 start = end 01520 end += length 01521 _v87.frame_id = str[start:end] 01522 start = end 01523 end += 4 01524 (length,) = _struct_I.unpack(str[start:end]) 01525 start = end 01526 end += length 01527 val1.child_frame_id = str[start:end] 01528 _v89 = val1.transform 01529 _v90 = _v89.translation 01530 _x = _v90 01531 start = end 01532 end += 24 01533 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 01534 _v91 = _v89.rotation 01535 _x = _v91 01536 start = end 01537 end += 32 01538 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 01539 self.planning_scene.fixed_frame_transforms.append(val1) 01540 start = end 01541 end += 4 01542 (length,) = _struct_I.unpack(str[start:end]) 01543 self.planning_scene.allowed_collision_matrix.link_names = [] 01544 for i in range(0, length): 01545 start = end 01546 end += 4 01547 (length,) = _struct_I.unpack(str[start:end]) 01548 start = end 01549 end += length 01550 val1 = str[start:end] 01551 self.planning_scene.allowed_collision_matrix.link_names.append(val1) 01552 start = end 01553 end += 4 01554 (length,) = _struct_I.unpack(str[start:end]) 01555 self.planning_scene.allowed_collision_matrix.entries = [] 01556 for i in range(0, length): 01557 val1 = arm_navigation_msgs.msg.AllowedCollisionEntry() 01558 start = end 01559 end += 4 01560 (length,) = _struct_I.unpack(str[start:end]) 01561 pattern = '<%sB'%length 01562 start = end 01563 end += struct.calcsize(pattern) 01564 val1.enabled = numpy.frombuffer(str[start:end], dtype=numpy.bool, count=length) 01565 val1.enabled = map(bool, val1.enabled) 01566 self.planning_scene.allowed_collision_matrix.entries.append(val1) 01567 start = end 01568 end += 4 01569 (length,) = _struct_I.unpack(str[start:end]) 01570 self.planning_scene.allowed_contacts = [] 01571 for i in range(0, length): 01572 val1 = arm_navigation_msgs.msg.AllowedContactSpecification() 01573 start = end 01574 end += 4 01575 (length,) = _struct_I.unpack(str[start:end]) 01576 start = end 01577 end += length 01578 val1.name = str[start:end] 01579 _v92 = val1.shape 01580 start = end 01581 end += 1 01582 (_v92.type,) = _struct_b.unpack(str[start:end]) 01583 start = end 01584 end += 4 01585 (length,) = _struct_I.unpack(str[start:end]) 01586 pattern = '<%sd'%length 01587 start = end 01588 end += struct.calcsize(pattern) 01589 _v92.dimensions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 01590 start = end 01591 end += 4 01592 (length,) = _struct_I.unpack(str[start:end]) 01593 pattern = '<%si'%length 01594 start = end 01595 end += struct.calcsize(pattern) 01596 _v92.triangles = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length) 01597 start = end 01598 end += 4 01599 (length,) = _struct_I.unpack(str[start:end]) 01600 _v92.vertices = [] 01601 for i in range(0, length): 01602 val3 = geometry_msgs.msg.Point() 01603 _x = val3 01604 start = end 01605 end += 24 01606 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 01607 _v92.vertices.append(val3) 01608 _v93 = val1.pose_stamped 01609 _v94 = _v93.header 01610 start = end 01611 end += 4 01612 (_v94.seq,) = _struct_I.unpack(str[start:end]) 01613 _v95 = _v94.stamp 01614 _x = _v95 01615 start = end 01616 end += 8 01617 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end]) 01618 start = end 01619 end += 4 01620 (length,) = _struct_I.unpack(str[start:end]) 01621 start = end 01622 end += length 01623 _v94.frame_id = str[start:end] 01624 _v96 = _v93.pose 01625 _v97 = _v96.position 01626 _x = _v97 01627 start = end 01628 end += 24 01629 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 01630 _v98 = _v96.orientation 01631 _x = _v98 01632 start = end 01633 end += 32 01634 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 01635 start = end 01636 end += 4 01637 (length,) = _struct_I.unpack(str[start:end]) 01638 val1.link_names = [] 01639 for i in range(0, length): 01640 start = end 01641 end += 4 01642 (length,) = _struct_I.unpack(str[start:end]) 01643 start = end 01644 end += length 01645 val2 = str[start:end] 01646 val1.link_names.append(val2) 01647 start = end 01648 end += 8 01649 (val1.penetration_depth,) = _struct_d.unpack(str[start:end]) 01650 self.planning_scene.allowed_contacts.append(val1) 01651 start = end 01652 end += 4 01653 (length,) = _struct_I.unpack(str[start:end]) 01654 self.planning_scene.link_padding = [] 01655 for i in range(0, length): 01656 val1 = arm_navigation_msgs.msg.LinkPadding() 01657 start = end 01658 end += 4 01659 (length,) = _struct_I.unpack(str[start:end]) 01660 start = end 01661 end += length 01662 val1.link_name = str[start:end] 01663 start = end 01664 end += 8 01665 (val1.padding,) = _struct_d.unpack(str[start:end]) 01666 self.planning_scene.link_padding.append(val1) 01667 start = end 01668 end += 4 01669 (length,) = _struct_I.unpack(str[start:end]) 01670 self.planning_scene.collision_objects = [] 01671 for i in range(0, length): 01672 val1 = arm_navigation_msgs.msg.CollisionObject() 01673 _v99 = val1.header 01674 start = end 01675 end += 4 01676 (_v99.seq,) = _struct_I.unpack(str[start:end]) 01677 _v100 = _v99.stamp 01678 _x = _v100 01679 start = end 01680 end += 8 01681 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end]) 01682 start = end 01683 end += 4 01684 (length,) = _struct_I.unpack(str[start:end]) 01685 start = end 01686 end += length 01687 _v99.frame_id = str[start:end] 01688 start = end 01689 end += 4 01690 (length,) = _struct_I.unpack(str[start:end]) 01691 start = end 01692 end += length 01693 val1.id = str[start:end] 01694 start = end 01695 end += 4 01696 (val1.padding,) = _struct_f.unpack(str[start:end]) 01697 _v101 = val1.operation 01698 start = end 01699 end += 1 01700 (_v101.operation,) = _struct_b.unpack(str[start:end]) 01701 start = end 01702 end += 4 01703 (length,) = _struct_I.unpack(str[start:end]) 01704 val1.shapes = [] 01705 for i in range(0, length): 01706 val2 = arm_navigation_msgs.msg.Shape() 01707 start = end 01708 end += 1 01709 (val2.type,) = _struct_b.unpack(str[start:end]) 01710 start = end 01711 end += 4 01712 (length,) = _struct_I.unpack(str[start:end]) 01713 pattern = '<%sd'%length 01714 start = end 01715 end += struct.calcsize(pattern) 01716 val2.dimensions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 01717 start = end 01718 end += 4 01719 (length,) = _struct_I.unpack(str[start:end]) 01720 pattern = '<%si'%length 01721 start = end 01722 end += struct.calcsize(pattern) 01723 val2.triangles = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length) 01724 start = end 01725 end += 4 01726 (length,) = _struct_I.unpack(str[start:end]) 01727 val2.vertices = [] 01728 for i in range(0, length): 01729 val3 = geometry_msgs.msg.Point() 01730 _x = val3 01731 start = end 01732 end += 24 01733 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 01734 val2.vertices.append(val3) 01735 val1.shapes.append(val2) 01736 start = end 01737 end += 4 01738 (length,) = _struct_I.unpack(str[start:end]) 01739 val1.poses = [] 01740 for i in range(0, length): 01741 val2 = geometry_msgs.msg.Pose() 01742 _v102 = val2.position 01743 _x = _v102 01744 start = end 01745 end += 24 01746 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 01747 _v103 = val2.orientation 01748 _x = _v103 01749 start = end 01750 end += 32 01751 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 01752 val1.poses.append(val2) 01753 self.planning_scene.collision_objects.append(val1) 01754 start = end 01755 end += 4 01756 (length,) = _struct_I.unpack(str[start:end]) 01757 self.planning_scene.attached_collision_objects = [] 01758 for i in range(0, length): 01759 val1 = arm_navigation_msgs.msg.AttachedCollisionObject() 01760 start = end 01761 end += 4 01762 (length,) = _struct_I.unpack(str[start:end]) 01763 start = end 01764 end += length 01765 val1.link_name = str[start:end] 01766 _v104 = val1.object 01767 _v105 = _v104.header 01768 start = end 01769 end += 4 01770 (_v105.seq,) = _struct_I.unpack(str[start:end]) 01771 _v106 = _v105.stamp 01772 _x = _v106 01773 start = end 01774 end += 8 01775 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end]) 01776 start = end 01777 end += 4 01778 (length,) = _struct_I.unpack(str[start:end]) 01779 start = end 01780 end += length 01781 _v105.frame_id = str[start:end] 01782 start = end 01783 end += 4 01784 (length,) = _struct_I.unpack(str[start:end]) 01785 start = end 01786 end += length 01787 _v104.id = str[start:end] 01788 start = end 01789 end += 4 01790 (_v104.padding,) = _struct_f.unpack(str[start:end]) 01791 _v107 = _v104.operation 01792 start = end 01793 end += 1 01794 (_v107.operation,) = _struct_b.unpack(str[start:end]) 01795 start = end 01796 end += 4 01797 (length,) = _struct_I.unpack(str[start:end]) 01798 _v104.shapes = [] 01799 for i in range(0, length): 01800 val3 = arm_navigation_msgs.msg.Shape() 01801 start = end 01802 end += 1 01803 (val3.type,) = _struct_b.unpack(str[start:end]) 01804 start = end 01805 end += 4 01806 (length,) = _struct_I.unpack(str[start:end]) 01807 pattern = '<%sd'%length 01808 start = end 01809 end += struct.calcsize(pattern) 01810 val3.dimensions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 01811 start = end 01812 end += 4 01813 (length,) = _struct_I.unpack(str[start:end]) 01814 pattern = '<%si'%length 01815 start = end 01816 end += struct.calcsize(pattern) 01817 val3.triangles = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length) 01818 start = end 01819 end += 4 01820 (length,) = _struct_I.unpack(str[start:end]) 01821 val3.vertices = [] 01822 for i in range(0, length): 01823 val4 = geometry_msgs.msg.Point() 01824 _x = val4 01825 start = end 01826 end += 24 01827 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 01828 val3.vertices.append(val4) 01829 _v104.shapes.append(val3) 01830 start = end 01831 end += 4 01832 (length,) = _struct_I.unpack(str[start:end]) 01833 _v104.poses = [] 01834 for i in range(0, length): 01835 val3 = geometry_msgs.msg.Pose() 01836 _v108 = val3.position 01837 _x = _v108 01838 start = end 01839 end += 24 01840 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 01841 _v109 = val3.orientation 01842 _x = _v109 01843 start = end 01844 end += 32 01845 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 01846 _v104.poses.append(val3) 01847 start = end 01848 end += 4 01849 (length,) = _struct_I.unpack(str[start:end]) 01850 val1.touch_links = [] 01851 for i in range(0, length): 01852 start = end 01853 end += 4 01854 (length,) = _struct_I.unpack(str[start:end]) 01855 start = end 01856 end += length 01857 val2 = str[start:end] 01858 val1.touch_links.append(val2) 01859 self.planning_scene.attached_collision_objects.append(val1) 01860 _x = self 01861 start = end 01862 end += 12 01863 (_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]) 01864 start = end 01865 end += 4 01866 (length,) = _struct_I.unpack(str[start:end]) 01867 start = end 01868 end += length 01869 self.planning_scene.collision_map.header.frame_id = str[start:end] 01870 start = end 01871 end += 4 01872 (length,) = _struct_I.unpack(str[start:end]) 01873 self.planning_scene.collision_map.boxes = [] 01874 for i in range(0, length): 01875 val1 = arm_navigation_msgs.msg.OrientedBoundingBox() 01876 _v110 = val1.center 01877 _x = _v110 01878 start = end 01879 end += 12 01880 (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end]) 01881 _v111 = val1.extents 01882 _x = _v111 01883 start = end 01884 end += 12 01885 (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end]) 01886 _v112 = val1.axis 01887 _x = _v112 01888 start = end 01889 end += 12 01890 (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end]) 01891 start = end 01892 end += 4 01893 (val1.angle,) = _struct_f.unpack(str[start:end]) 01894 self.planning_scene.collision_map.boxes.append(val1) 01895 return self 01896 except struct.error as e: 01897 raise roslib.message.DeserializationError(e) #most likely buffer underfill 01898 01899 _struct_I = roslib.message.struct_I 01900 _struct_b = struct.Struct("<b") 01901 _struct_d = struct.Struct("<d") 01902 _struct_f = struct.Struct("<f") 01903 _struct_3f = struct.Struct("<3f") 01904 _struct_3I = struct.Struct("<3I") 01905 _struct_4d = struct.Struct("<4d") 01906 _struct_2I = struct.Struct("<2I") 01907 _struct_3d = struct.Struct("<3d")