$search
00001 """autogenerated by genmsg_py from FindContainerAction.msg. Do not edit.""" 00002 import roslib.message 00003 import struct 00004 00005 import object_manipulation_msgs.msg 00006 import roslib.rostime 00007 import actionlib_msgs.msg 00008 import geometry_msgs.msg 00009 import sensor_msgs.msg 00010 import std_msgs.msg 00011 00012 class FindContainerAction(roslib.message.Message): 00013 _md5sum = "924e0c14e65addf50f9c46889a92a8e8" 00014 _type = "object_manipulation_msgs/FindContainerAction" 00015 _has_header = False #flag to mark the presence of a Header object 00016 _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00017 00018 FindContainerActionGoal action_goal 00019 FindContainerActionResult action_result 00020 FindContainerActionFeedback action_feedback 00021 00022 ================================================================================ 00023 MSG: object_manipulation_msgs/FindContainerActionGoal 00024 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00025 00026 Header header 00027 actionlib_msgs/GoalID goal_id 00028 FindContainerGoal goal 00029 00030 ================================================================================ 00031 MSG: std_msgs/Header 00032 # Standard metadata for higher-level stamped data types. 00033 # This is generally used to communicate timestamped data 00034 # in a particular coordinate frame. 00035 # 00036 # sequence ID: consecutively increasing ID 00037 uint32 seq 00038 #Two-integer timestamp that is expressed as: 00039 # * stamp.secs: seconds (stamp_secs) since epoch 00040 # * stamp.nsecs: nanoseconds since stamp_secs 00041 # time-handling sugar is provided by the client library 00042 time stamp 00043 #Frame this data is associated with 00044 # 0: no frame 00045 # 1: global frame 00046 string frame_id 00047 00048 ================================================================================ 00049 MSG: actionlib_msgs/GoalID 00050 # The stamp should store the time at which this goal was requested. 00051 # It is used by an action server when it tries to preempt all 00052 # goals that were requested before a certain time 00053 time stamp 00054 00055 # The id provides a way to associate feedback and 00056 # result message with specific goal requests. The id 00057 # specified must be unique. 00058 string id 00059 00060 00061 ================================================================================ 00062 MSG: object_manipulation_msgs/FindContainerGoal 00063 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00064 # The cloud 00065 sensor_msgs/PointCloud2 cloud 00066 00067 # starting estimate of bounding box 00068 # all output will be in this frame 00069 # Assumes axis-aligned with header frame, 00070 # and WON'T take orientation into account. 00071 geometry_msgs/PoseStamped box_pose 00072 geometry_msgs/Vector3 box_dims 00073 00074 # the direction that the container opens (in bounding box header frame) 00075 geometry_msgs/Vector3 opening_dir 00076 00077 00078 ================================================================================ 00079 MSG: sensor_msgs/PointCloud2 00080 # This message holds a collection of N-dimensional points, which may 00081 # contain additional information such as normals, intensity, etc. The 00082 # point data is stored as a binary blob, its layout described by the 00083 # contents of the "fields" array. 00084 00085 # The point cloud data may be organized 2d (image-like) or 1d 00086 # (unordered). Point clouds organized as 2d images may be produced by 00087 # camera depth sensors such as stereo or time-of-flight. 00088 00089 # Time of sensor data acquisition, and the coordinate frame ID (for 3d 00090 # points). 00091 Header header 00092 00093 # 2D structure of the point cloud. If the cloud is unordered, height is 00094 # 1 and width is the length of the point cloud. 00095 uint32 height 00096 uint32 width 00097 00098 # Describes the channels and their layout in the binary data blob. 00099 PointField[] fields 00100 00101 bool is_bigendian # Is this data bigendian? 00102 uint32 point_step # Length of a point in bytes 00103 uint32 row_step # Length of a row in bytes 00104 uint8[] data # Actual point data, size is (row_step*height) 00105 00106 bool is_dense # True if there are no invalid points 00107 00108 ================================================================================ 00109 MSG: sensor_msgs/PointField 00110 # This message holds the description of one point entry in the 00111 # PointCloud2 message format. 00112 uint8 INT8 = 1 00113 uint8 UINT8 = 2 00114 uint8 INT16 = 3 00115 uint8 UINT16 = 4 00116 uint8 INT32 = 5 00117 uint8 UINT32 = 6 00118 uint8 FLOAT32 = 7 00119 uint8 FLOAT64 = 8 00120 00121 string name # Name of field 00122 uint32 offset # Offset from start of point struct 00123 uint8 datatype # Datatype enumeration, see above 00124 uint32 count # How many elements in the field 00125 00126 ================================================================================ 00127 MSG: geometry_msgs/PoseStamped 00128 # A Pose with reference coordinate frame and timestamp 00129 Header header 00130 Pose pose 00131 00132 ================================================================================ 00133 MSG: geometry_msgs/Pose 00134 # A representation of pose in free space, composed of postion and orientation. 00135 Point position 00136 Quaternion orientation 00137 00138 ================================================================================ 00139 MSG: geometry_msgs/Point 00140 # This contains the position of a point in free space 00141 float64 x 00142 float64 y 00143 float64 z 00144 00145 ================================================================================ 00146 MSG: geometry_msgs/Quaternion 00147 # This represents an orientation in free space in quaternion form. 00148 00149 float64 x 00150 float64 y 00151 float64 z 00152 float64 w 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: object_manipulation_msgs/FindContainerActionResult 00163 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00164 00165 Header header 00166 actionlib_msgs/GoalStatus status 00167 FindContainerResult result 00168 00169 ================================================================================ 00170 MSG: actionlib_msgs/GoalStatus 00171 GoalID goal_id 00172 uint8 status 00173 uint8 PENDING = 0 # The goal has yet to be processed by the action server 00174 uint8 ACTIVE = 1 # The goal is currently being processed by the action server 00175 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing 00176 # and has since completed its execution (Terminal State) 00177 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State) 00178 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due 00179 # to some failure (Terminal State) 00180 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed, 00181 # because the goal was unattainable or invalid (Terminal State) 00182 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing 00183 # and has not yet completed execution 00184 uint8 RECALLING = 7 # The goal received a cancel request before it started executing, 00185 # but the action server has not yet confirmed that the goal is canceled 00186 uint8 RECALLED = 8 # The goal received a cancel request before it started executing 00187 # and was successfully cancelled (Terminal State) 00188 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be 00189 # sent over the wire by an action server 00190 00191 #Allow for the user to associate a string with GoalStatus for debugging 00192 string text 00193 00194 00195 ================================================================================ 00196 MSG: object_manipulation_msgs/FindContainerResult 00197 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00198 # refined pose and dimensions of bounding box for container 00199 geometry_msgs/PoseStamped box_pose 00200 geometry_msgs/Vector3 box_dims 00201 00202 # cloud chunks of stuff in container, and container 00203 sensor_msgs/PointCloud2 contents 00204 sensor_msgs/PointCloud2 container 00205 sensor_msgs/PointCloud2[] clusters 00206 00207 00208 ================================================================================ 00209 MSG: object_manipulation_msgs/FindContainerActionFeedback 00210 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00211 00212 Header header 00213 actionlib_msgs/GoalStatus status 00214 FindContainerFeedback feedback 00215 00216 ================================================================================ 00217 MSG: object_manipulation_msgs/FindContainerFeedback 00218 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00219 00220 00221 00222 """ 00223 __slots__ = ['action_goal','action_result','action_feedback'] 00224 _slot_types = ['object_manipulation_msgs/FindContainerActionGoal','object_manipulation_msgs/FindContainerActionResult','object_manipulation_msgs/FindContainerActionFeedback'] 00225 00226 def __init__(self, *args, **kwds): 00227 """ 00228 Constructor. Any message fields that are implicitly/explicitly 00229 set to None will be assigned a default value. The recommend 00230 use is keyword arguments as this is more robust to future message 00231 changes. You cannot mix in-order arguments and keyword arguments. 00232 00233 The available fields are: 00234 action_goal,action_result,action_feedback 00235 00236 @param args: complete set of field values, in .msg order 00237 @param kwds: use keyword arguments corresponding to message field names 00238 to set specific fields. 00239 """ 00240 if args or kwds: 00241 super(FindContainerAction, self).__init__(*args, **kwds) 00242 #message fields cannot be None, assign default values for those that are 00243 if self.action_goal is None: 00244 self.action_goal = object_manipulation_msgs.msg.FindContainerActionGoal() 00245 if self.action_result is None: 00246 self.action_result = object_manipulation_msgs.msg.FindContainerActionResult() 00247 if self.action_feedback is None: 00248 self.action_feedback = object_manipulation_msgs.msg.FindContainerActionFeedback() 00249 else: 00250 self.action_goal = object_manipulation_msgs.msg.FindContainerActionGoal() 00251 self.action_result = object_manipulation_msgs.msg.FindContainerActionResult() 00252 self.action_feedback = object_manipulation_msgs.msg.FindContainerActionFeedback() 00253 00254 def _get_types(self): 00255 """ 00256 internal API method 00257 """ 00258 return self._slot_types 00259 00260 def serialize(self, buff): 00261 """ 00262 serialize message into buffer 00263 @param buff: buffer 00264 @type buff: StringIO 00265 """ 00266 try: 00267 _x = self 00268 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00269 _x = self.action_goal.header.frame_id 00270 length = len(_x) 00271 buff.write(struct.pack('<I%ss'%length, length, _x)) 00272 _x = self 00273 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00274 _x = self.action_goal.goal_id.id 00275 length = len(_x) 00276 buff.write(struct.pack('<I%ss'%length, length, _x)) 00277 _x = self 00278 buff.write(_struct_3I.pack(_x.action_goal.goal.cloud.header.seq, _x.action_goal.goal.cloud.header.stamp.secs, _x.action_goal.goal.cloud.header.stamp.nsecs)) 00279 _x = self.action_goal.goal.cloud.header.frame_id 00280 length = len(_x) 00281 buff.write(struct.pack('<I%ss'%length, length, _x)) 00282 _x = self 00283 buff.write(_struct_2I.pack(_x.action_goal.goal.cloud.height, _x.action_goal.goal.cloud.width)) 00284 length = len(self.action_goal.goal.cloud.fields) 00285 buff.write(_struct_I.pack(length)) 00286 for val1 in self.action_goal.goal.cloud.fields: 00287 _x = val1.name 00288 length = len(_x) 00289 buff.write(struct.pack('<I%ss'%length, length, _x)) 00290 _x = val1 00291 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00292 _x = self 00293 buff.write(_struct_B2I.pack(_x.action_goal.goal.cloud.is_bigendian, _x.action_goal.goal.cloud.point_step, _x.action_goal.goal.cloud.row_step)) 00294 _x = self.action_goal.goal.cloud.data 00295 length = len(_x) 00296 # - if encoded as a list instead, serialize as bytes instead of string 00297 if type(_x) in [list, tuple]: 00298 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00299 else: 00300 buff.write(struct.pack('<I%ss'%length, length, _x)) 00301 _x = self 00302 buff.write(_struct_B3I.pack(_x.action_goal.goal.cloud.is_dense, _x.action_goal.goal.box_pose.header.seq, _x.action_goal.goal.box_pose.header.stamp.secs, _x.action_goal.goal.box_pose.header.stamp.nsecs)) 00303 _x = self.action_goal.goal.box_pose.header.frame_id 00304 length = len(_x) 00305 buff.write(struct.pack('<I%ss'%length, length, _x)) 00306 _x = self 00307 buff.write(_struct_13d3I.pack(_x.action_goal.goal.box_pose.pose.position.x, _x.action_goal.goal.box_pose.pose.position.y, _x.action_goal.goal.box_pose.pose.position.z, _x.action_goal.goal.box_pose.pose.orientation.x, _x.action_goal.goal.box_pose.pose.orientation.y, _x.action_goal.goal.box_pose.pose.orientation.z, _x.action_goal.goal.box_pose.pose.orientation.w, _x.action_goal.goal.box_dims.x, _x.action_goal.goal.box_dims.y, _x.action_goal.goal.box_dims.z, _x.action_goal.goal.opening_dir.x, _x.action_goal.goal.opening_dir.y, _x.action_goal.goal.opening_dir.z, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00308 _x = self.action_result.header.frame_id 00309 length = len(_x) 00310 buff.write(struct.pack('<I%ss'%length, length, _x)) 00311 _x = self 00312 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00313 _x = self.action_result.status.goal_id.id 00314 length = len(_x) 00315 buff.write(struct.pack('<I%ss'%length, length, _x)) 00316 buff.write(_struct_B.pack(self.action_result.status.status)) 00317 _x = self.action_result.status.text 00318 length = len(_x) 00319 buff.write(struct.pack('<I%ss'%length, length, _x)) 00320 _x = self 00321 buff.write(_struct_3I.pack(_x.action_result.result.box_pose.header.seq, _x.action_result.result.box_pose.header.stamp.secs, _x.action_result.result.box_pose.header.stamp.nsecs)) 00322 _x = self.action_result.result.box_pose.header.frame_id 00323 length = len(_x) 00324 buff.write(struct.pack('<I%ss'%length, length, _x)) 00325 _x = self 00326 buff.write(_struct_10d3I.pack(_x.action_result.result.box_pose.pose.position.x, _x.action_result.result.box_pose.pose.position.y, _x.action_result.result.box_pose.pose.position.z, _x.action_result.result.box_pose.pose.orientation.x, _x.action_result.result.box_pose.pose.orientation.y, _x.action_result.result.box_pose.pose.orientation.z, _x.action_result.result.box_pose.pose.orientation.w, _x.action_result.result.box_dims.x, _x.action_result.result.box_dims.y, _x.action_result.result.box_dims.z, _x.action_result.result.contents.header.seq, _x.action_result.result.contents.header.stamp.secs, _x.action_result.result.contents.header.stamp.nsecs)) 00327 _x = self.action_result.result.contents.header.frame_id 00328 length = len(_x) 00329 buff.write(struct.pack('<I%ss'%length, length, _x)) 00330 _x = self 00331 buff.write(_struct_2I.pack(_x.action_result.result.contents.height, _x.action_result.result.contents.width)) 00332 length = len(self.action_result.result.contents.fields) 00333 buff.write(_struct_I.pack(length)) 00334 for val1 in self.action_result.result.contents.fields: 00335 _x = val1.name 00336 length = len(_x) 00337 buff.write(struct.pack('<I%ss'%length, length, _x)) 00338 _x = val1 00339 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00340 _x = self 00341 buff.write(_struct_B2I.pack(_x.action_result.result.contents.is_bigendian, _x.action_result.result.contents.point_step, _x.action_result.result.contents.row_step)) 00342 _x = self.action_result.result.contents.data 00343 length = len(_x) 00344 # - if encoded as a list instead, serialize as bytes instead of string 00345 if type(_x) in [list, tuple]: 00346 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00347 else: 00348 buff.write(struct.pack('<I%ss'%length, length, _x)) 00349 _x = self 00350 buff.write(_struct_B3I.pack(_x.action_result.result.contents.is_dense, _x.action_result.result.container.header.seq, _x.action_result.result.container.header.stamp.secs, _x.action_result.result.container.header.stamp.nsecs)) 00351 _x = self.action_result.result.container.header.frame_id 00352 length = len(_x) 00353 buff.write(struct.pack('<I%ss'%length, length, _x)) 00354 _x = self 00355 buff.write(_struct_2I.pack(_x.action_result.result.container.height, _x.action_result.result.container.width)) 00356 length = len(self.action_result.result.container.fields) 00357 buff.write(_struct_I.pack(length)) 00358 for val1 in self.action_result.result.container.fields: 00359 _x = val1.name 00360 length = len(_x) 00361 buff.write(struct.pack('<I%ss'%length, length, _x)) 00362 _x = val1 00363 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00364 _x = self 00365 buff.write(_struct_B2I.pack(_x.action_result.result.container.is_bigendian, _x.action_result.result.container.point_step, _x.action_result.result.container.row_step)) 00366 _x = self.action_result.result.container.data 00367 length = len(_x) 00368 # - if encoded as a list instead, serialize as bytes instead of string 00369 if type(_x) in [list, tuple]: 00370 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00371 else: 00372 buff.write(struct.pack('<I%ss'%length, length, _x)) 00373 buff.write(_struct_B.pack(self.action_result.result.container.is_dense)) 00374 length = len(self.action_result.result.clusters) 00375 buff.write(_struct_I.pack(length)) 00376 for val1 in self.action_result.result.clusters: 00377 _v1 = val1.header 00378 buff.write(_struct_I.pack(_v1.seq)) 00379 _v2 = _v1.stamp 00380 _x = _v2 00381 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 00382 _x = _v1.frame_id 00383 length = len(_x) 00384 buff.write(struct.pack('<I%ss'%length, length, _x)) 00385 _x = val1 00386 buff.write(_struct_2I.pack(_x.height, _x.width)) 00387 length = len(val1.fields) 00388 buff.write(_struct_I.pack(length)) 00389 for val2 in val1.fields: 00390 _x = val2.name 00391 length = len(_x) 00392 buff.write(struct.pack('<I%ss'%length, length, _x)) 00393 _x = val2 00394 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00395 _x = val1 00396 buff.write(_struct_B2I.pack(_x.is_bigendian, _x.point_step, _x.row_step)) 00397 _x = val1.data 00398 length = len(_x) 00399 # - if encoded as a list instead, serialize as bytes instead of string 00400 if type(_x) in [list, tuple]: 00401 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00402 else: 00403 buff.write(struct.pack('<I%ss'%length, length, _x)) 00404 buff.write(_struct_B.pack(val1.is_dense)) 00405 _x = self 00406 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00407 _x = self.action_feedback.header.frame_id 00408 length = len(_x) 00409 buff.write(struct.pack('<I%ss'%length, length, _x)) 00410 _x = self 00411 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00412 _x = self.action_feedback.status.goal_id.id 00413 length = len(_x) 00414 buff.write(struct.pack('<I%ss'%length, length, _x)) 00415 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00416 _x = self.action_feedback.status.text 00417 length = len(_x) 00418 buff.write(struct.pack('<I%ss'%length, length, _x)) 00419 except struct.error as se: self._check_types(se) 00420 except TypeError as te: self._check_types(te) 00421 00422 def deserialize(self, str): 00423 """ 00424 unpack serialized message in str into this message instance 00425 @param str: byte array of serialized message 00426 @type str: str 00427 """ 00428 try: 00429 if self.action_goal is None: 00430 self.action_goal = object_manipulation_msgs.msg.FindContainerActionGoal() 00431 if self.action_result is None: 00432 self.action_result = object_manipulation_msgs.msg.FindContainerActionResult() 00433 if self.action_feedback is None: 00434 self.action_feedback = object_manipulation_msgs.msg.FindContainerActionFeedback() 00435 end = 0 00436 _x = self 00437 start = end 00438 end += 12 00439 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00440 start = end 00441 end += 4 00442 (length,) = _struct_I.unpack(str[start:end]) 00443 start = end 00444 end += length 00445 self.action_goal.header.frame_id = str[start:end] 00446 _x = self 00447 start = end 00448 end += 8 00449 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00450 start = end 00451 end += 4 00452 (length,) = _struct_I.unpack(str[start:end]) 00453 start = end 00454 end += length 00455 self.action_goal.goal_id.id = str[start:end] 00456 _x = self 00457 start = end 00458 end += 12 00459 (_x.action_goal.goal.cloud.header.seq, _x.action_goal.goal.cloud.header.stamp.secs, _x.action_goal.goal.cloud.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00460 start = end 00461 end += 4 00462 (length,) = _struct_I.unpack(str[start:end]) 00463 start = end 00464 end += length 00465 self.action_goal.goal.cloud.header.frame_id = str[start:end] 00466 _x = self 00467 start = end 00468 end += 8 00469 (_x.action_goal.goal.cloud.height, _x.action_goal.goal.cloud.width,) = _struct_2I.unpack(str[start:end]) 00470 start = end 00471 end += 4 00472 (length,) = _struct_I.unpack(str[start:end]) 00473 self.action_goal.goal.cloud.fields = [] 00474 for i in range(0, length): 00475 val1 = sensor_msgs.msg.PointField() 00476 start = end 00477 end += 4 00478 (length,) = _struct_I.unpack(str[start:end]) 00479 start = end 00480 end += length 00481 val1.name = str[start:end] 00482 _x = val1 00483 start = end 00484 end += 9 00485 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 00486 self.action_goal.goal.cloud.fields.append(val1) 00487 _x = self 00488 start = end 00489 end += 9 00490 (_x.action_goal.goal.cloud.is_bigendian, _x.action_goal.goal.cloud.point_step, _x.action_goal.goal.cloud.row_step,) = _struct_B2I.unpack(str[start:end]) 00491 self.action_goal.goal.cloud.is_bigendian = bool(self.action_goal.goal.cloud.is_bigendian) 00492 start = end 00493 end += 4 00494 (length,) = _struct_I.unpack(str[start:end]) 00495 start = end 00496 end += length 00497 self.action_goal.goal.cloud.data = str[start:end] 00498 _x = self 00499 start = end 00500 end += 13 00501 (_x.action_goal.goal.cloud.is_dense, _x.action_goal.goal.box_pose.header.seq, _x.action_goal.goal.box_pose.header.stamp.secs, _x.action_goal.goal.box_pose.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end]) 00502 self.action_goal.goal.cloud.is_dense = bool(self.action_goal.goal.cloud.is_dense) 00503 start = end 00504 end += 4 00505 (length,) = _struct_I.unpack(str[start:end]) 00506 start = end 00507 end += length 00508 self.action_goal.goal.box_pose.header.frame_id = str[start:end] 00509 _x = self 00510 start = end 00511 end += 116 00512 (_x.action_goal.goal.box_pose.pose.position.x, _x.action_goal.goal.box_pose.pose.position.y, _x.action_goal.goal.box_pose.pose.position.z, _x.action_goal.goal.box_pose.pose.orientation.x, _x.action_goal.goal.box_pose.pose.orientation.y, _x.action_goal.goal.box_pose.pose.orientation.z, _x.action_goal.goal.box_pose.pose.orientation.w, _x.action_goal.goal.box_dims.x, _x.action_goal.goal.box_dims.y, _x.action_goal.goal.box_dims.z, _x.action_goal.goal.opening_dir.x, _x.action_goal.goal.opening_dir.y, _x.action_goal.goal.opening_dir.z, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_13d3I.unpack(str[start:end]) 00513 start = end 00514 end += 4 00515 (length,) = _struct_I.unpack(str[start:end]) 00516 start = end 00517 end += length 00518 self.action_result.header.frame_id = str[start:end] 00519 _x = self 00520 start = end 00521 end += 8 00522 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00523 start = end 00524 end += 4 00525 (length,) = _struct_I.unpack(str[start:end]) 00526 start = end 00527 end += length 00528 self.action_result.status.goal_id.id = str[start:end] 00529 start = end 00530 end += 1 00531 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 00532 start = end 00533 end += 4 00534 (length,) = _struct_I.unpack(str[start:end]) 00535 start = end 00536 end += length 00537 self.action_result.status.text = str[start:end] 00538 _x = self 00539 start = end 00540 end += 12 00541 (_x.action_result.result.box_pose.header.seq, _x.action_result.result.box_pose.header.stamp.secs, _x.action_result.result.box_pose.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00542 start = end 00543 end += 4 00544 (length,) = _struct_I.unpack(str[start:end]) 00545 start = end 00546 end += length 00547 self.action_result.result.box_pose.header.frame_id = str[start:end] 00548 _x = self 00549 start = end 00550 end += 92 00551 (_x.action_result.result.box_pose.pose.position.x, _x.action_result.result.box_pose.pose.position.y, _x.action_result.result.box_pose.pose.position.z, _x.action_result.result.box_pose.pose.orientation.x, _x.action_result.result.box_pose.pose.orientation.y, _x.action_result.result.box_pose.pose.orientation.z, _x.action_result.result.box_pose.pose.orientation.w, _x.action_result.result.box_dims.x, _x.action_result.result.box_dims.y, _x.action_result.result.box_dims.z, _x.action_result.result.contents.header.seq, _x.action_result.result.contents.header.stamp.secs, _x.action_result.result.contents.header.stamp.nsecs,) = _struct_10d3I.unpack(str[start:end]) 00552 start = end 00553 end += 4 00554 (length,) = _struct_I.unpack(str[start:end]) 00555 start = end 00556 end += length 00557 self.action_result.result.contents.header.frame_id = str[start:end] 00558 _x = self 00559 start = end 00560 end += 8 00561 (_x.action_result.result.contents.height, _x.action_result.result.contents.width,) = _struct_2I.unpack(str[start:end]) 00562 start = end 00563 end += 4 00564 (length,) = _struct_I.unpack(str[start:end]) 00565 self.action_result.result.contents.fields = [] 00566 for i in range(0, length): 00567 val1 = sensor_msgs.msg.PointField() 00568 start = end 00569 end += 4 00570 (length,) = _struct_I.unpack(str[start:end]) 00571 start = end 00572 end += length 00573 val1.name = str[start:end] 00574 _x = val1 00575 start = end 00576 end += 9 00577 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 00578 self.action_result.result.contents.fields.append(val1) 00579 _x = self 00580 start = end 00581 end += 9 00582 (_x.action_result.result.contents.is_bigendian, _x.action_result.result.contents.point_step, _x.action_result.result.contents.row_step,) = _struct_B2I.unpack(str[start:end]) 00583 self.action_result.result.contents.is_bigendian = bool(self.action_result.result.contents.is_bigendian) 00584 start = end 00585 end += 4 00586 (length,) = _struct_I.unpack(str[start:end]) 00587 start = end 00588 end += length 00589 self.action_result.result.contents.data = str[start:end] 00590 _x = self 00591 start = end 00592 end += 13 00593 (_x.action_result.result.contents.is_dense, _x.action_result.result.container.header.seq, _x.action_result.result.container.header.stamp.secs, _x.action_result.result.container.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end]) 00594 self.action_result.result.contents.is_dense = bool(self.action_result.result.contents.is_dense) 00595 start = end 00596 end += 4 00597 (length,) = _struct_I.unpack(str[start:end]) 00598 start = end 00599 end += length 00600 self.action_result.result.container.header.frame_id = str[start:end] 00601 _x = self 00602 start = end 00603 end += 8 00604 (_x.action_result.result.container.height, _x.action_result.result.container.width,) = _struct_2I.unpack(str[start:end]) 00605 start = end 00606 end += 4 00607 (length,) = _struct_I.unpack(str[start:end]) 00608 self.action_result.result.container.fields = [] 00609 for i in range(0, length): 00610 val1 = sensor_msgs.msg.PointField() 00611 start = end 00612 end += 4 00613 (length,) = _struct_I.unpack(str[start:end]) 00614 start = end 00615 end += length 00616 val1.name = str[start:end] 00617 _x = val1 00618 start = end 00619 end += 9 00620 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 00621 self.action_result.result.container.fields.append(val1) 00622 _x = self 00623 start = end 00624 end += 9 00625 (_x.action_result.result.container.is_bigendian, _x.action_result.result.container.point_step, _x.action_result.result.container.row_step,) = _struct_B2I.unpack(str[start:end]) 00626 self.action_result.result.container.is_bigendian = bool(self.action_result.result.container.is_bigendian) 00627 start = end 00628 end += 4 00629 (length,) = _struct_I.unpack(str[start:end]) 00630 start = end 00631 end += length 00632 self.action_result.result.container.data = str[start:end] 00633 start = end 00634 end += 1 00635 (self.action_result.result.container.is_dense,) = _struct_B.unpack(str[start:end]) 00636 self.action_result.result.container.is_dense = bool(self.action_result.result.container.is_dense) 00637 start = end 00638 end += 4 00639 (length,) = _struct_I.unpack(str[start:end]) 00640 self.action_result.result.clusters = [] 00641 for i in range(0, length): 00642 val1 = sensor_msgs.msg.PointCloud2() 00643 _v3 = val1.header 00644 start = end 00645 end += 4 00646 (_v3.seq,) = _struct_I.unpack(str[start:end]) 00647 _v4 = _v3.stamp 00648 _x = _v4 00649 start = end 00650 end += 8 00651 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end]) 00652 start = end 00653 end += 4 00654 (length,) = _struct_I.unpack(str[start:end]) 00655 start = end 00656 end += length 00657 _v3.frame_id = str[start:end] 00658 _x = val1 00659 start = end 00660 end += 8 00661 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end]) 00662 start = end 00663 end += 4 00664 (length,) = _struct_I.unpack(str[start:end]) 00665 val1.fields = [] 00666 for i in range(0, length): 00667 val2 = sensor_msgs.msg.PointField() 00668 start = end 00669 end += 4 00670 (length,) = _struct_I.unpack(str[start:end]) 00671 start = end 00672 end += length 00673 val2.name = str[start:end] 00674 _x = val2 00675 start = end 00676 end += 9 00677 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 00678 val1.fields.append(val2) 00679 _x = val1 00680 start = end 00681 end += 9 00682 (_x.is_bigendian, _x.point_step, _x.row_step,) = _struct_B2I.unpack(str[start:end]) 00683 val1.is_bigendian = bool(val1.is_bigendian) 00684 start = end 00685 end += 4 00686 (length,) = _struct_I.unpack(str[start:end]) 00687 start = end 00688 end += length 00689 val1.data = str[start:end] 00690 start = end 00691 end += 1 00692 (val1.is_dense,) = _struct_B.unpack(str[start:end]) 00693 val1.is_dense = bool(val1.is_dense) 00694 self.action_result.result.clusters.append(val1) 00695 _x = self 00696 start = end 00697 end += 12 00698 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00699 start = end 00700 end += 4 00701 (length,) = _struct_I.unpack(str[start:end]) 00702 start = end 00703 end += length 00704 self.action_feedback.header.frame_id = str[start:end] 00705 _x = self 00706 start = end 00707 end += 8 00708 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00709 start = end 00710 end += 4 00711 (length,) = _struct_I.unpack(str[start:end]) 00712 start = end 00713 end += length 00714 self.action_feedback.status.goal_id.id = str[start:end] 00715 start = end 00716 end += 1 00717 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end]) 00718 start = end 00719 end += 4 00720 (length,) = _struct_I.unpack(str[start:end]) 00721 start = end 00722 end += length 00723 self.action_feedback.status.text = str[start:end] 00724 return self 00725 except struct.error as e: 00726 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00727 00728 00729 def serialize_numpy(self, buff, numpy): 00730 """ 00731 serialize message with numpy array types into buffer 00732 @param buff: buffer 00733 @type buff: StringIO 00734 @param numpy: numpy python module 00735 @type numpy module 00736 """ 00737 try: 00738 _x = self 00739 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00740 _x = self.action_goal.header.frame_id 00741 length = len(_x) 00742 buff.write(struct.pack('<I%ss'%length, length, _x)) 00743 _x = self 00744 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00745 _x = self.action_goal.goal_id.id 00746 length = len(_x) 00747 buff.write(struct.pack('<I%ss'%length, length, _x)) 00748 _x = self 00749 buff.write(_struct_3I.pack(_x.action_goal.goal.cloud.header.seq, _x.action_goal.goal.cloud.header.stamp.secs, _x.action_goal.goal.cloud.header.stamp.nsecs)) 00750 _x = self.action_goal.goal.cloud.header.frame_id 00751 length = len(_x) 00752 buff.write(struct.pack('<I%ss'%length, length, _x)) 00753 _x = self 00754 buff.write(_struct_2I.pack(_x.action_goal.goal.cloud.height, _x.action_goal.goal.cloud.width)) 00755 length = len(self.action_goal.goal.cloud.fields) 00756 buff.write(_struct_I.pack(length)) 00757 for val1 in self.action_goal.goal.cloud.fields: 00758 _x = val1.name 00759 length = len(_x) 00760 buff.write(struct.pack('<I%ss'%length, length, _x)) 00761 _x = val1 00762 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00763 _x = self 00764 buff.write(_struct_B2I.pack(_x.action_goal.goal.cloud.is_bigendian, _x.action_goal.goal.cloud.point_step, _x.action_goal.goal.cloud.row_step)) 00765 _x = self.action_goal.goal.cloud.data 00766 length = len(_x) 00767 # - if encoded as a list instead, serialize as bytes instead of string 00768 if type(_x) in [list, tuple]: 00769 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00770 else: 00771 buff.write(struct.pack('<I%ss'%length, length, _x)) 00772 _x = self 00773 buff.write(_struct_B3I.pack(_x.action_goal.goal.cloud.is_dense, _x.action_goal.goal.box_pose.header.seq, _x.action_goal.goal.box_pose.header.stamp.secs, _x.action_goal.goal.box_pose.header.stamp.nsecs)) 00774 _x = self.action_goal.goal.box_pose.header.frame_id 00775 length = len(_x) 00776 buff.write(struct.pack('<I%ss'%length, length, _x)) 00777 _x = self 00778 buff.write(_struct_13d3I.pack(_x.action_goal.goal.box_pose.pose.position.x, _x.action_goal.goal.box_pose.pose.position.y, _x.action_goal.goal.box_pose.pose.position.z, _x.action_goal.goal.box_pose.pose.orientation.x, _x.action_goal.goal.box_pose.pose.orientation.y, _x.action_goal.goal.box_pose.pose.orientation.z, _x.action_goal.goal.box_pose.pose.orientation.w, _x.action_goal.goal.box_dims.x, _x.action_goal.goal.box_dims.y, _x.action_goal.goal.box_dims.z, _x.action_goal.goal.opening_dir.x, _x.action_goal.goal.opening_dir.y, _x.action_goal.goal.opening_dir.z, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00779 _x = self.action_result.header.frame_id 00780 length = len(_x) 00781 buff.write(struct.pack('<I%ss'%length, length, _x)) 00782 _x = self 00783 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00784 _x = self.action_result.status.goal_id.id 00785 length = len(_x) 00786 buff.write(struct.pack('<I%ss'%length, length, _x)) 00787 buff.write(_struct_B.pack(self.action_result.status.status)) 00788 _x = self.action_result.status.text 00789 length = len(_x) 00790 buff.write(struct.pack('<I%ss'%length, length, _x)) 00791 _x = self 00792 buff.write(_struct_3I.pack(_x.action_result.result.box_pose.header.seq, _x.action_result.result.box_pose.header.stamp.secs, _x.action_result.result.box_pose.header.stamp.nsecs)) 00793 _x = self.action_result.result.box_pose.header.frame_id 00794 length = len(_x) 00795 buff.write(struct.pack('<I%ss'%length, length, _x)) 00796 _x = self 00797 buff.write(_struct_10d3I.pack(_x.action_result.result.box_pose.pose.position.x, _x.action_result.result.box_pose.pose.position.y, _x.action_result.result.box_pose.pose.position.z, _x.action_result.result.box_pose.pose.orientation.x, _x.action_result.result.box_pose.pose.orientation.y, _x.action_result.result.box_pose.pose.orientation.z, _x.action_result.result.box_pose.pose.orientation.w, _x.action_result.result.box_dims.x, _x.action_result.result.box_dims.y, _x.action_result.result.box_dims.z, _x.action_result.result.contents.header.seq, _x.action_result.result.contents.header.stamp.secs, _x.action_result.result.contents.header.stamp.nsecs)) 00798 _x = self.action_result.result.contents.header.frame_id 00799 length = len(_x) 00800 buff.write(struct.pack('<I%ss'%length, length, _x)) 00801 _x = self 00802 buff.write(_struct_2I.pack(_x.action_result.result.contents.height, _x.action_result.result.contents.width)) 00803 length = len(self.action_result.result.contents.fields) 00804 buff.write(_struct_I.pack(length)) 00805 for val1 in self.action_result.result.contents.fields: 00806 _x = val1.name 00807 length = len(_x) 00808 buff.write(struct.pack('<I%ss'%length, length, _x)) 00809 _x = val1 00810 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00811 _x = self 00812 buff.write(_struct_B2I.pack(_x.action_result.result.contents.is_bigendian, _x.action_result.result.contents.point_step, _x.action_result.result.contents.row_step)) 00813 _x = self.action_result.result.contents.data 00814 length = len(_x) 00815 # - if encoded as a list instead, serialize as bytes instead of string 00816 if type(_x) in [list, tuple]: 00817 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00818 else: 00819 buff.write(struct.pack('<I%ss'%length, length, _x)) 00820 _x = self 00821 buff.write(_struct_B3I.pack(_x.action_result.result.contents.is_dense, _x.action_result.result.container.header.seq, _x.action_result.result.container.header.stamp.secs, _x.action_result.result.container.header.stamp.nsecs)) 00822 _x = self.action_result.result.container.header.frame_id 00823 length = len(_x) 00824 buff.write(struct.pack('<I%ss'%length, length, _x)) 00825 _x = self 00826 buff.write(_struct_2I.pack(_x.action_result.result.container.height, _x.action_result.result.container.width)) 00827 length = len(self.action_result.result.container.fields) 00828 buff.write(_struct_I.pack(length)) 00829 for val1 in self.action_result.result.container.fields: 00830 _x = val1.name 00831 length = len(_x) 00832 buff.write(struct.pack('<I%ss'%length, length, _x)) 00833 _x = val1 00834 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00835 _x = self 00836 buff.write(_struct_B2I.pack(_x.action_result.result.container.is_bigendian, _x.action_result.result.container.point_step, _x.action_result.result.container.row_step)) 00837 _x = self.action_result.result.container.data 00838 length = len(_x) 00839 # - if encoded as a list instead, serialize as bytes instead of string 00840 if type(_x) in [list, tuple]: 00841 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00842 else: 00843 buff.write(struct.pack('<I%ss'%length, length, _x)) 00844 buff.write(_struct_B.pack(self.action_result.result.container.is_dense)) 00845 length = len(self.action_result.result.clusters) 00846 buff.write(_struct_I.pack(length)) 00847 for val1 in self.action_result.result.clusters: 00848 _v5 = val1.header 00849 buff.write(_struct_I.pack(_v5.seq)) 00850 _v6 = _v5.stamp 00851 _x = _v6 00852 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 00853 _x = _v5.frame_id 00854 length = len(_x) 00855 buff.write(struct.pack('<I%ss'%length, length, _x)) 00856 _x = val1 00857 buff.write(_struct_2I.pack(_x.height, _x.width)) 00858 length = len(val1.fields) 00859 buff.write(_struct_I.pack(length)) 00860 for val2 in val1.fields: 00861 _x = val2.name 00862 length = len(_x) 00863 buff.write(struct.pack('<I%ss'%length, length, _x)) 00864 _x = val2 00865 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00866 _x = val1 00867 buff.write(_struct_B2I.pack(_x.is_bigendian, _x.point_step, _x.row_step)) 00868 _x = val1.data 00869 length = len(_x) 00870 # - if encoded as a list instead, serialize as bytes instead of string 00871 if type(_x) in [list, tuple]: 00872 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00873 else: 00874 buff.write(struct.pack('<I%ss'%length, length, _x)) 00875 buff.write(_struct_B.pack(val1.is_dense)) 00876 _x = self 00877 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00878 _x = self.action_feedback.header.frame_id 00879 length = len(_x) 00880 buff.write(struct.pack('<I%ss'%length, length, _x)) 00881 _x = self 00882 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00883 _x = self.action_feedback.status.goal_id.id 00884 length = len(_x) 00885 buff.write(struct.pack('<I%ss'%length, length, _x)) 00886 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00887 _x = self.action_feedback.status.text 00888 length = len(_x) 00889 buff.write(struct.pack('<I%ss'%length, length, _x)) 00890 except struct.error as se: self._check_types(se) 00891 except TypeError as te: self._check_types(te) 00892 00893 def deserialize_numpy(self, str, numpy): 00894 """ 00895 unpack serialized message in str into this message instance using numpy for array types 00896 @param str: byte array of serialized message 00897 @type str: str 00898 @param numpy: numpy python module 00899 @type numpy: module 00900 """ 00901 try: 00902 if self.action_goal is None: 00903 self.action_goal = object_manipulation_msgs.msg.FindContainerActionGoal() 00904 if self.action_result is None: 00905 self.action_result = object_manipulation_msgs.msg.FindContainerActionResult() 00906 if self.action_feedback is None: 00907 self.action_feedback = object_manipulation_msgs.msg.FindContainerActionFeedback() 00908 end = 0 00909 _x = self 00910 start = end 00911 end += 12 00912 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00913 start = end 00914 end += 4 00915 (length,) = _struct_I.unpack(str[start:end]) 00916 start = end 00917 end += length 00918 self.action_goal.header.frame_id = str[start:end] 00919 _x = self 00920 start = end 00921 end += 8 00922 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00923 start = end 00924 end += 4 00925 (length,) = _struct_I.unpack(str[start:end]) 00926 start = end 00927 end += length 00928 self.action_goal.goal_id.id = str[start:end] 00929 _x = self 00930 start = end 00931 end += 12 00932 (_x.action_goal.goal.cloud.header.seq, _x.action_goal.goal.cloud.header.stamp.secs, _x.action_goal.goal.cloud.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00933 start = end 00934 end += 4 00935 (length,) = _struct_I.unpack(str[start:end]) 00936 start = end 00937 end += length 00938 self.action_goal.goal.cloud.header.frame_id = str[start:end] 00939 _x = self 00940 start = end 00941 end += 8 00942 (_x.action_goal.goal.cloud.height, _x.action_goal.goal.cloud.width,) = _struct_2I.unpack(str[start:end]) 00943 start = end 00944 end += 4 00945 (length,) = _struct_I.unpack(str[start:end]) 00946 self.action_goal.goal.cloud.fields = [] 00947 for i in range(0, length): 00948 val1 = sensor_msgs.msg.PointField() 00949 start = end 00950 end += 4 00951 (length,) = _struct_I.unpack(str[start:end]) 00952 start = end 00953 end += length 00954 val1.name = str[start:end] 00955 _x = val1 00956 start = end 00957 end += 9 00958 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 00959 self.action_goal.goal.cloud.fields.append(val1) 00960 _x = self 00961 start = end 00962 end += 9 00963 (_x.action_goal.goal.cloud.is_bigendian, _x.action_goal.goal.cloud.point_step, _x.action_goal.goal.cloud.row_step,) = _struct_B2I.unpack(str[start:end]) 00964 self.action_goal.goal.cloud.is_bigendian = bool(self.action_goal.goal.cloud.is_bigendian) 00965 start = end 00966 end += 4 00967 (length,) = _struct_I.unpack(str[start:end]) 00968 start = end 00969 end += length 00970 self.action_goal.goal.cloud.data = str[start:end] 00971 _x = self 00972 start = end 00973 end += 13 00974 (_x.action_goal.goal.cloud.is_dense, _x.action_goal.goal.box_pose.header.seq, _x.action_goal.goal.box_pose.header.stamp.secs, _x.action_goal.goal.box_pose.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end]) 00975 self.action_goal.goal.cloud.is_dense = bool(self.action_goal.goal.cloud.is_dense) 00976 start = end 00977 end += 4 00978 (length,) = _struct_I.unpack(str[start:end]) 00979 start = end 00980 end += length 00981 self.action_goal.goal.box_pose.header.frame_id = str[start:end] 00982 _x = self 00983 start = end 00984 end += 116 00985 (_x.action_goal.goal.box_pose.pose.position.x, _x.action_goal.goal.box_pose.pose.position.y, _x.action_goal.goal.box_pose.pose.position.z, _x.action_goal.goal.box_pose.pose.orientation.x, _x.action_goal.goal.box_pose.pose.orientation.y, _x.action_goal.goal.box_pose.pose.orientation.z, _x.action_goal.goal.box_pose.pose.orientation.w, _x.action_goal.goal.box_dims.x, _x.action_goal.goal.box_dims.y, _x.action_goal.goal.box_dims.z, _x.action_goal.goal.opening_dir.x, _x.action_goal.goal.opening_dir.y, _x.action_goal.goal.opening_dir.z, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_13d3I.unpack(str[start:end]) 00986 start = end 00987 end += 4 00988 (length,) = _struct_I.unpack(str[start:end]) 00989 start = end 00990 end += length 00991 self.action_result.header.frame_id = str[start:end] 00992 _x = self 00993 start = end 00994 end += 8 00995 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00996 start = end 00997 end += 4 00998 (length,) = _struct_I.unpack(str[start:end]) 00999 start = end 01000 end += length 01001 self.action_result.status.goal_id.id = str[start:end] 01002 start = end 01003 end += 1 01004 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 01005 start = end 01006 end += 4 01007 (length,) = _struct_I.unpack(str[start:end]) 01008 start = end 01009 end += length 01010 self.action_result.status.text = str[start:end] 01011 _x = self 01012 start = end 01013 end += 12 01014 (_x.action_result.result.box_pose.header.seq, _x.action_result.result.box_pose.header.stamp.secs, _x.action_result.result.box_pose.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 01015 start = end 01016 end += 4 01017 (length,) = _struct_I.unpack(str[start:end]) 01018 start = end 01019 end += length 01020 self.action_result.result.box_pose.header.frame_id = str[start:end] 01021 _x = self 01022 start = end 01023 end += 92 01024 (_x.action_result.result.box_pose.pose.position.x, _x.action_result.result.box_pose.pose.position.y, _x.action_result.result.box_pose.pose.position.z, _x.action_result.result.box_pose.pose.orientation.x, _x.action_result.result.box_pose.pose.orientation.y, _x.action_result.result.box_pose.pose.orientation.z, _x.action_result.result.box_pose.pose.orientation.w, _x.action_result.result.box_dims.x, _x.action_result.result.box_dims.y, _x.action_result.result.box_dims.z, _x.action_result.result.contents.header.seq, _x.action_result.result.contents.header.stamp.secs, _x.action_result.result.contents.header.stamp.nsecs,) = _struct_10d3I.unpack(str[start:end]) 01025 start = end 01026 end += 4 01027 (length,) = _struct_I.unpack(str[start:end]) 01028 start = end 01029 end += length 01030 self.action_result.result.contents.header.frame_id = str[start:end] 01031 _x = self 01032 start = end 01033 end += 8 01034 (_x.action_result.result.contents.height, _x.action_result.result.contents.width,) = _struct_2I.unpack(str[start:end]) 01035 start = end 01036 end += 4 01037 (length,) = _struct_I.unpack(str[start:end]) 01038 self.action_result.result.contents.fields = [] 01039 for i in range(0, length): 01040 val1 = sensor_msgs.msg.PointField() 01041 start = end 01042 end += 4 01043 (length,) = _struct_I.unpack(str[start:end]) 01044 start = end 01045 end += length 01046 val1.name = str[start:end] 01047 _x = val1 01048 start = end 01049 end += 9 01050 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 01051 self.action_result.result.contents.fields.append(val1) 01052 _x = self 01053 start = end 01054 end += 9 01055 (_x.action_result.result.contents.is_bigendian, _x.action_result.result.contents.point_step, _x.action_result.result.contents.row_step,) = _struct_B2I.unpack(str[start:end]) 01056 self.action_result.result.contents.is_bigendian = bool(self.action_result.result.contents.is_bigendian) 01057 start = end 01058 end += 4 01059 (length,) = _struct_I.unpack(str[start:end]) 01060 start = end 01061 end += length 01062 self.action_result.result.contents.data = str[start:end] 01063 _x = self 01064 start = end 01065 end += 13 01066 (_x.action_result.result.contents.is_dense, _x.action_result.result.container.header.seq, _x.action_result.result.container.header.stamp.secs, _x.action_result.result.container.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end]) 01067 self.action_result.result.contents.is_dense = bool(self.action_result.result.contents.is_dense) 01068 start = end 01069 end += 4 01070 (length,) = _struct_I.unpack(str[start:end]) 01071 start = end 01072 end += length 01073 self.action_result.result.container.header.frame_id = str[start:end] 01074 _x = self 01075 start = end 01076 end += 8 01077 (_x.action_result.result.container.height, _x.action_result.result.container.width,) = _struct_2I.unpack(str[start:end]) 01078 start = end 01079 end += 4 01080 (length,) = _struct_I.unpack(str[start:end]) 01081 self.action_result.result.container.fields = [] 01082 for i in range(0, length): 01083 val1 = sensor_msgs.msg.PointField() 01084 start = end 01085 end += 4 01086 (length,) = _struct_I.unpack(str[start:end]) 01087 start = end 01088 end += length 01089 val1.name = str[start:end] 01090 _x = val1 01091 start = end 01092 end += 9 01093 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 01094 self.action_result.result.container.fields.append(val1) 01095 _x = self 01096 start = end 01097 end += 9 01098 (_x.action_result.result.container.is_bigendian, _x.action_result.result.container.point_step, _x.action_result.result.container.row_step,) = _struct_B2I.unpack(str[start:end]) 01099 self.action_result.result.container.is_bigendian = bool(self.action_result.result.container.is_bigendian) 01100 start = end 01101 end += 4 01102 (length,) = _struct_I.unpack(str[start:end]) 01103 start = end 01104 end += length 01105 self.action_result.result.container.data = str[start:end] 01106 start = end 01107 end += 1 01108 (self.action_result.result.container.is_dense,) = _struct_B.unpack(str[start:end]) 01109 self.action_result.result.container.is_dense = bool(self.action_result.result.container.is_dense) 01110 start = end 01111 end += 4 01112 (length,) = _struct_I.unpack(str[start:end]) 01113 self.action_result.result.clusters = [] 01114 for i in range(0, length): 01115 val1 = sensor_msgs.msg.PointCloud2() 01116 _v7 = val1.header 01117 start = end 01118 end += 4 01119 (_v7.seq,) = _struct_I.unpack(str[start:end]) 01120 _v8 = _v7.stamp 01121 _x = _v8 01122 start = end 01123 end += 8 01124 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end]) 01125 start = end 01126 end += 4 01127 (length,) = _struct_I.unpack(str[start:end]) 01128 start = end 01129 end += length 01130 _v7.frame_id = str[start:end] 01131 _x = val1 01132 start = end 01133 end += 8 01134 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end]) 01135 start = end 01136 end += 4 01137 (length,) = _struct_I.unpack(str[start:end]) 01138 val1.fields = [] 01139 for i in range(0, length): 01140 val2 = sensor_msgs.msg.PointField() 01141 start = end 01142 end += 4 01143 (length,) = _struct_I.unpack(str[start:end]) 01144 start = end 01145 end += length 01146 val2.name = str[start:end] 01147 _x = val2 01148 start = end 01149 end += 9 01150 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 01151 val1.fields.append(val2) 01152 _x = val1 01153 start = end 01154 end += 9 01155 (_x.is_bigendian, _x.point_step, _x.row_step,) = _struct_B2I.unpack(str[start:end]) 01156 val1.is_bigendian = bool(val1.is_bigendian) 01157 start = end 01158 end += 4 01159 (length,) = _struct_I.unpack(str[start:end]) 01160 start = end 01161 end += length 01162 val1.data = str[start:end] 01163 start = end 01164 end += 1 01165 (val1.is_dense,) = _struct_B.unpack(str[start:end]) 01166 val1.is_dense = bool(val1.is_dense) 01167 self.action_result.result.clusters.append(val1) 01168 _x = self 01169 start = end 01170 end += 12 01171 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 01172 start = end 01173 end += 4 01174 (length,) = _struct_I.unpack(str[start:end]) 01175 start = end 01176 end += length 01177 self.action_feedback.header.frame_id = str[start:end] 01178 _x = self 01179 start = end 01180 end += 8 01181 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 01182 start = end 01183 end += 4 01184 (length,) = _struct_I.unpack(str[start:end]) 01185 start = end 01186 end += length 01187 self.action_feedback.status.goal_id.id = str[start:end] 01188 start = end 01189 end += 1 01190 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end]) 01191 start = end 01192 end += 4 01193 (length,) = _struct_I.unpack(str[start:end]) 01194 start = end 01195 end += length 01196 self.action_feedback.status.text = str[start:end] 01197 return self 01198 except struct.error as e: 01199 raise roslib.message.DeserializationError(e) #most likely buffer underfill 01200 01201 _struct_I = roslib.message.struct_I 01202 _struct_IBI = struct.Struct("<IBI") 01203 _struct_B = struct.Struct("<B") 01204 _struct_10d3I = struct.Struct("<10d3I") 01205 _struct_13d3I = struct.Struct("<13d3I") 01206 _struct_3I = struct.Struct("<3I") 01207 _struct_B3I = struct.Struct("<B3I") 01208 _struct_B2I = struct.Struct("<B2I") 01209 _struct_2I = struct.Struct("<2I")