00001 """autogenerated by genpy from pr2_pick_and_place_service/DetectObjectsRequest.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006
00007
00008 class DetectObjectsRequest(genpy.Message):
00009 _md5sum = "cba5e21e920a3a2b7b375cb65b64cdea"
00010 _type = "pr2_pick_and_place_service/DetectObjectsRequest"
00011 _has_header = False
00012 _full_text = """string command
00013
00014 """
00015 __slots__ = ['command']
00016 _slot_types = ['string']
00017
00018 def __init__(self, *args, **kwds):
00019 """
00020 Constructor. Any message fields that are implicitly/explicitly
00021 set to None will be assigned a default value. The recommend
00022 use is keyword arguments as this is more robust to future message
00023 changes. You cannot mix in-order arguments and keyword arguments.
00024
00025 The available fields are:
00026 command
00027
00028 :param args: complete set of field values, in .msg order
00029 :param kwds: use keyword arguments corresponding to message field names
00030 to set specific fields.
00031 """
00032 if args or kwds:
00033 super(DetectObjectsRequest, self).__init__(*args, **kwds)
00034
00035 if self.command is None:
00036 self.command = ''
00037 else:
00038 self.command = ''
00039
00040 def _get_types(self):
00041 """
00042 internal API method
00043 """
00044 return self._slot_types
00045
00046 def serialize(self, buff):
00047 """
00048 serialize message into buffer
00049 :param buff: buffer, ``StringIO``
00050 """
00051 try:
00052 _x = self.command
00053 length = len(_x)
00054 if python3 or type(_x) == unicode:
00055 _x = _x.encode('utf-8')
00056 length = len(_x)
00057 buff.write(struct.pack('<I%ss'%length, length, _x))
00058 except struct.error as se: self._check_types(se)
00059 except TypeError as te: self._check_types(te)
00060
00061 def deserialize(self, str):
00062 """
00063 unpack serialized message in str into this message instance
00064 :param str: byte array of serialized message, ``str``
00065 """
00066 try:
00067 end = 0
00068 start = end
00069 end += 4
00070 (length,) = _struct_I.unpack(str[start:end])
00071 start = end
00072 end += length
00073 if python3:
00074 self.command = str[start:end].decode('utf-8')
00075 else:
00076 self.command = str[start:end]
00077 return self
00078 except struct.error as e:
00079 raise genpy.DeserializationError(e)
00080
00081
00082 def serialize_numpy(self, buff, numpy):
00083 """
00084 serialize message with numpy array types into buffer
00085 :param buff: buffer, ``StringIO``
00086 :param numpy: numpy python module
00087 """
00088 try:
00089 _x = self.command
00090 length = len(_x)
00091 if python3 or type(_x) == unicode:
00092 _x = _x.encode('utf-8')
00093 length = len(_x)
00094 buff.write(struct.pack('<I%ss'%length, length, _x))
00095 except struct.error as se: self._check_types(se)
00096 except TypeError as te: self._check_types(te)
00097
00098 def deserialize_numpy(self, str, numpy):
00099 """
00100 unpack serialized message in str into this message instance using numpy for array types
00101 :param str: byte array of serialized message, ``str``
00102 :param numpy: numpy python module
00103 """
00104 try:
00105 end = 0
00106 start = end
00107 end += 4
00108 (length,) = _struct_I.unpack(str[start:end])
00109 start = end
00110 end += length
00111 if python3:
00112 self.command = str[start:end].decode('utf-8')
00113 else:
00114 self.command = str[start:end]
00115 return self
00116 except struct.error as e:
00117 raise genpy.DeserializationError(e)
00118
00119 _struct_I = genpy.struct_I
00120 """autogenerated by genpy from pr2_pick_and_place_service/DetectObjectsResponse.msg. Do not edit."""
00121 import sys
00122 python3 = True if sys.hexversion > 0x03000000 else False
00123 import genpy
00124 import struct
00125
00126 import object_manipulation_msgs.msg
00127 import geometry_msgs.msg
00128 import pr2_pick_and_place_service.msg
00129 import sensor_msgs.msg
00130 import household_objects_database_msgs.msg
00131 import std_msgs.msg
00132
00133 class DetectObjectsResponse(genpy.Message):
00134 _md5sum = "449f83591eb66e6fe03617927c047c54"
00135 _type = "pr2_pick_and_place_service/DetectObjectsResponse"
00136 _has_header = False
00137 _full_text = """PickPlaceObject[] objects
00138
00139
00140 ================================================================================
00141 MSG: pr2_pick_and_place_service/PickPlaceObject
00142 int32 objectid
00143 object_manipulation_msgs/GraspableObject object
00144 geometry_msgs/PoseStamped pose
00145 float64[] boundingbox
00146
00147 ================================================================================
00148 MSG: object_manipulation_msgs/GraspableObject
00149 # an object that the object_manipulator can work on
00150
00151 # a graspable object can be represented in multiple ways. This message
00152 # can contain all of them. Which one is actually used is up to the receiver
00153 # of this message. When adding new representations, one must be careful that
00154 # they have reasonable lightweight defaults indicating that that particular
00155 # representation is not available.
00156
00157 # the tf frame to be used as a reference frame when combining information from
00158 # the different representations below
00159 string reference_frame_id
00160
00161 # potential recognition results from a database of models
00162 # all poses are relative to the object reference pose
00163 household_objects_database_msgs/DatabaseModelPose[] potential_models
00164
00165 # the point cloud itself
00166 sensor_msgs/PointCloud cluster
00167
00168 # a region of a PointCloud2 of interest
00169 object_manipulation_msgs/SceneRegion region
00170
00171 # the name that this object has in the collision environment
00172 string collision_name
00173 ================================================================================
00174 MSG: household_objects_database_msgs/DatabaseModelPose
00175 # Informs that a specific model from the Model Database has been
00176 # identified at a certain location
00177
00178 # the database id of the model
00179 int32 model_id
00180
00181 # the pose that it can be found in
00182 geometry_msgs/PoseStamped pose
00183
00184 # a measure of the confidence level in this detection result
00185 float32 confidence
00186
00187 # the name of the object detector that generated this detection result
00188 string detector_name
00189
00190 ================================================================================
00191 MSG: geometry_msgs/PoseStamped
00192 # A Pose with reference coordinate frame and timestamp
00193 Header header
00194 Pose pose
00195
00196 ================================================================================
00197 MSG: std_msgs/Header
00198 # Standard metadata for higher-level stamped data types.
00199 # This is generally used to communicate timestamped data
00200 # in a particular coordinate frame.
00201 #
00202 # sequence ID: consecutively increasing ID
00203 uint32 seq
00204 #Two-integer timestamp that is expressed as:
00205 # * stamp.secs: seconds (stamp_secs) since epoch
00206 # * stamp.nsecs: nanoseconds since stamp_secs
00207 # time-handling sugar is provided by the client library
00208 time stamp
00209 #Frame this data is associated with
00210 # 0: no frame
00211 # 1: global frame
00212 string frame_id
00213
00214 ================================================================================
00215 MSG: geometry_msgs/Pose
00216 # A representation of pose in free space, composed of postion and orientation.
00217 Point position
00218 Quaternion orientation
00219
00220 ================================================================================
00221 MSG: geometry_msgs/Point
00222 # This contains the position of a point in free space
00223 float64 x
00224 float64 y
00225 float64 z
00226
00227 ================================================================================
00228 MSG: geometry_msgs/Quaternion
00229 # This represents an orientation in free space in quaternion form.
00230
00231 float64 x
00232 float64 y
00233 float64 z
00234 float64 w
00235
00236 ================================================================================
00237 MSG: sensor_msgs/PointCloud
00238 # This message holds a collection of 3d points, plus optional additional
00239 # information about each point.
00240
00241 # Time of sensor data acquisition, coordinate frame ID.
00242 Header header
00243
00244 # Array of 3d points. Each Point32 should be interpreted as a 3d point
00245 # in the frame given in the header.
00246 geometry_msgs/Point32[] points
00247
00248 # Each channel should have the same number of elements as points array,
00249 # and the data in each channel should correspond 1:1 with each point.
00250 # Channel names in common practice are listed in ChannelFloat32.msg.
00251 ChannelFloat32[] channels
00252
00253 ================================================================================
00254 MSG: geometry_msgs/Point32
00255 # This contains the position of a point in free space(with 32 bits of precision).
00256 # It is recommeded to use Point wherever possible instead of Point32.
00257 #
00258 # This recommendation is to promote interoperability.
00259 #
00260 # This message is designed to take up less space when sending
00261 # lots of points at once, as in the case of a PointCloud.
00262
00263 float32 x
00264 float32 y
00265 float32 z
00266 ================================================================================
00267 MSG: sensor_msgs/ChannelFloat32
00268 # This message is used by the PointCloud message to hold optional data
00269 # associated with each point in the cloud. The length of the values
00270 # array should be the same as the length of the points array in the
00271 # PointCloud, and each value should be associated with the corresponding
00272 # point.
00273
00274 # Channel names in existing practice include:
00275 # "u", "v" - row and column (respectively) in the left stereo image.
00276 # This is opposite to usual conventions but remains for
00277 # historical reasons. The newer PointCloud2 message has no
00278 # such problem.
00279 # "rgb" - For point clouds produced by color stereo cameras. uint8
00280 # (R,G,B) values packed into the least significant 24 bits,
00281 # in order.
00282 # "intensity" - laser or pixel intensity.
00283 # "distance"
00284
00285 # The channel name should give semantics of the channel (e.g.
00286 # "intensity" instead of "value").
00287 string name
00288
00289 # The values array should be 1-1 with the elements of the associated
00290 # PointCloud.
00291 float32[] values
00292
00293 ================================================================================
00294 MSG: object_manipulation_msgs/SceneRegion
00295 # Point cloud
00296 sensor_msgs/PointCloud2 cloud
00297
00298 # Indices for the region of interest
00299 int32[] mask
00300
00301 # One of the corresponding 2D images, if applicable
00302 sensor_msgs/Image image
00303
00304 # The disparity image, if applicable
00305 sensor_msgs/Image disparity_image
00306
00307 # Camera info for the camera that took the image
00308 sensor_msgs/CameraInfo cam_info
00309
00310 # a 3D region of interest for grasp planning
00311 geometry_msgs/PoseStamped roi_box_pose
00312 geometry_msgs/Vector3 roi_box_dims
00313
00314 ================================================================================
00315 MSG: sensor_msgs/PointCloud2
00316 # This message holds a collection of N-dimensional points, which may
00317 # contain additional information such as normals, intensity, etc. The
00318 # point data is stored as a binary blob, its layout described by the
00319 # contents of the "fields" array.
00320
00321 # The point cloud data may be organized 2d (image-like) or 1d
00322 # (unordered). Point clouds organized as 2d images may be produced by
00323 # camera depth sensors such as stereo or time-of-flight.
00324
00325 # Time of sensor data acquisition, and the coordinate frame ID (for 3d
00326 # points).
00327 Header header
00328
00329 # 2D structure of the point cloud. If the cloud is unordered, height is
00330 # 1 and width is the length of the point cloud.
00331 uint32 height
00332 uint32 width
00333
00334 # Describes the channels and their layout in the binary data blob.
00335 PointField[] fields
00336
00337 bool is_bigendian # Is this data bigendian?
00338 uint32 point_step # Length of a point in bytes
00339 uint32 row_step # Length of a row in bytes
00340 uint8[] data # Actual point data, size is (row_step*height)
00341
00342 bool is_dense # True if there are no invalid points
00343
00344 ================================================================================
00345 MSG: sensor_msgs/PointField
00346 # This message holds the description of one point entry in the
00347 # PointCloud2 message format.
00348 uint8 INT8 = 1
00349 uint8 UINT8 = 2
00350 uint8 INT16 = 3
00351 uint8 UINT16 = 4
00352 uint8 INT32 = 5
00353 uint8 UINT32 = 6
00354 uint8 FLOAT32 = 7
00355 uint8 FLOAT64 = 8
00356
00357 string name # Name of field
00358 uint32 offset # Offset from start of point struct
00359 uint8 datatype # Datatype enumeration, see above
00360 uint32 count # How many elements in the field
00361
00362 ================================================================================
00363 MSG: sensor_msgs/Image
00364 # This message contains an uncompressed image
00365 # (0, 0) is at top-left corner of image
00366 #
00367
00368 Header header # Header timestamp should be acquisition time of image
00369 # Header frame_id should be optical frame of camera
00370 # origin of frame should be optical center of cameara
00371 # +x should point to the right in the image
00372 # +y should point down in the image
00373 # +z should point into to plane of the image
00374 # If the frame_id here and the frame_id of the CameraInfo
00375 # message associated with the image conflict
00376 # the behavior is undefined
00377
00378 uint32 height # image height, that is, number of rows
00379 uint32 width # image width, that is, number of columns
00380
00381 # The legal values for encoding are in file src/image_encodings.cpp
00382 # If you want to standardize a new string format, join
00383 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.
00384
00385 string encoding # Encoding of pixels -- channel meaning, ordering, size
00386 # taken from the list of strings in src/image_encodings.cpp
00387
00388 uint8 is_bigendian # is this data bigendian?
00389 uint32 step # Full row length in bytes
00390 uint8[] data # actual matrix data, size is (step * rows)
00391
00392 ================================================================================
00393 MSG: sensor_msgs/CameraInfo
00394 # This message defines meta information for a camera. It should be in a
00395 # camera namespace on topic "camera_info" and accompanied by up to five
00396 # image topics named:
00397 #
00398 # image_raw - raw data from the camera driver, possibly Bayer encoded
00399 # image - monochrome, distorted
00400 # image_color - color, distorted
00401 # image_rect - monochrome, rectified
00402 # image_rect_color - color, rectified
00403 #
00404 # The image_pipeline contains packages (image_proc, stereo_image_proc)
00405 # for producing the four processed image topics from image_raw and
00406 # camera_info. The meaning of the camera parameters are described in
00407 # detail at http://www.ros.org/wiki/image_pipeline/CameraInfo.
00408 #
00409 # The image_geometry package provides a user-friendly interface to
00410 # common operations using this meta information. If you want to, e.g.,
00411 # project a 3d point into image coordinates, we strongly recommend
00412 # using image_geometry.
00413 #
00414 # If the camera is uncalibrated, the matrices D, K, R, P should be left
00415 # zeroed out. In particular, clients may assume that K[0] == 0.0
00416 # indicates an uncalibrated camera.
00417
00418 #######################################################################
00419 # Image acquisition info #
00420 #######################################################################
00421
00422 # Time of image acquisition, camera coordinate frame ID
00423 Header header # Header timestamp should be acquisition time of image
00424 # Header frame_id should be optical frame of camera
00425 # origin of frame should be optical center of camera
00426 # +x should point to the right in the image
00427 # +y should point down in the image
00428 # +z should point into the plane of the image
00429
00430
00431 #######################################################################
00432 # Calibration Parameters #
00433 #######################################################################
00434 # These are fixed during camera calibration. Their values will be the #
00435 # same in all messages until the camera is recalibrated. Note that #
00436 # self-calibrating systems may "recalibrate" frequently. #
00437 # #
00438 # The internal parameters can be used to warp a raw (distorted) image #
00439 # to: #
00440 # 1. An undistorted image (requires D and K) #
00441 # 2. A rectified image (requires D, K, R) #
00442 # The projection matrix P projects 3D points into the rectified image.#
00443 #######################################################################
00444
00445 # The image dimensions with which the camera was calibrated. Normally
00446 # this will be the full camera resolution in pixels.
00447 uint32 height
00448 uint32 width
00449
00450 # The distortion model used. Supported models are listed in
00451 # sensor_msgs/distortion_models.h. For most cameras, "plumb_bob" - a
00452 # simple model of radial and tangential distortion - is sufficent.
00453 string distortion_model
00454
00455 # The distortion parameters, size depending on the distortion model.
00456 # For "plumb_bob", the 5 parameters are: (k1, k2, t1, t2, k3).
00457 float64[] D
00458
00459 # Intrinsic camera matrix for the raw (distorted) images.
00460 # [fx 0 cx]
00461 # K = [ 0 fy cy]
00462 # [ 0 0 1]
00463 # Projects 3D points in the camera coordinate frame to 2D pixel
00464 # coordinates using the focal lengths (fx, fy) and principal point
00465 # (cx, cy).
00466 float64[9] K # 3x3 row-major matrix
00467
00468 # Rectification matrix (stereo cameras only)
00469 # A rotation matrix aligning the camera coordinate system to the ideal
00470 # stereo image plane so that epipolar lines in both stereo images are
00471 # parallel.
00472 float64[9] R # 3x3 row-major matrix
00473
00474 # Projection/camera matrix
00475 # [fx' 0 cx' Tx]
00476 # P = [ 0 fy' cy' Ty]
00477 # [ 0 0 1 0]
00478 # By convention, this matrix specifies the intrinsic (camera) matrix
00479 # of the processed (rectified) image. That is, the left 3x3 portion
00480 # is the normal camera intrinsic matrix for the rectified image.
00481 # It projects 3D points in the camera coordinate frame to 2D pixel
00482 # coordinates using the focal lengths (fx', fy') and principal point
00483 # (cx', cy') - these may differ from the values in K.
00484 # For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will
00485 # also have R = the identity and P[1:3,1:3] = K.
00486 # For a stereo pair, the fourth column [Tx Ty 0]' is related to the
00487 # position of the optical center of the second camera in the first
00488 # camera's frame. We assume Tz = 0 so both cameras are in the same
00489 # stereo image plane. The first camera always has Tx = Ty = 0. For
00490 # the right (second) camera of a horizontal stereo pair, Ty = 0 and
00491 # Tx = -fx' * B, where B is the baseline between the cameras.
00492 # Given a 3D point [X Y Z]', the projection (x, y) of the point onto
00493 # the rectified image is given by:
00494 # [u v w]' = P * [X Y Z 1]'
00495 # x = u / w
00496 # y = v / w
00497 # This holds for both images of a stereo pair.
00498 float64[12] P # 3x4 row-major matrix
00499
00500
00501 #######################################################################
00502 # Operational Parameters #
00503 #######################################################################
00504 # These define the image region actually captured by the camera #
00505 # driver. Although they affect the geometry of the output image, they #
00506 # may be changed freely without recalibrating the camera. #
00507 #######################################################################
00508
00509 # Binning refers here to any camera setting which combines rectangular
00510 # neighborhoods of pixels into larger "super-pixels." It reduces the
00511 # resolution of the output image to
00512 # (width / binning_x) x (height / binning_y).
00513 # The default values binning_x = binning_y = 0 is considered the same
00514 # as binning_x = binning_y = 1 (no subsampling).
00515 uint32 binning_x
00516 uint32 binning_y
00517
00518 # Region of interest (subwindow of full camera resolution), given in
00519 # full resolution (unbinned) image coordinates. A particular ROI
00520 # always denotes the same window of pixels on the camera sensor,
00521 # regardless of binning settings.
00522 # The default setting of roi (all values 0) is considered the same as
00523 # full resolution (roi.width = width, roi.height = height).
00524 RegionOfInterest roi
00525
00526 ================================================================================
00527 MSG: sensor_msgs/RegionOfInterest
00528 # This message is used to specify a region of interest within an image.
00529 #
00530 # When used to specify the ROI setting of the camera when the image was
00531 # taken, the height and width fields should either match the height and
00532 # width fields for the associated image; or height = width = 0
00533 # indicates that the full resolution image was captured.
00534
00535 uint32 x_offset # Leftmost pixel of the ROI
00536 # (0 if the ROI includes the left edge of the image)
00537 uint32 y_offset # Topmost pixel of the ROI
00538 # (0 if the ROI includes the top edge of the image)
00539 uint32 height # Height of ROI
00540 uint32 width # Width of ROI
00541
00542 # True if a distinct rectified ROI should be calculated from the "raw"
00543 # ROI in this message. Typically this should be False if the full image
00544 # is captured (ROI not used), and True if a subwindow is captured (ROI
00545 # used).
00546 bool do_rectify
00547
00548 ================================================================================
00549 MSG: geometry_msgs/Vector3
00550 # This represents a vector in free space.
00551
00552 float64 x
00553 float64 y
00554 float64 z
00555 """
00556 __slots__ = ['objects']
00557 _slot_types = ['pr2_pick_and_place_service/PickPlaceObject[]']
00558
00559 def __init__(self, *args, **kwds):
00560 """
00561 Constructor. Any message fields that are implicitly/explicitly
00562 set to None will be assigned a default value. The recommend
00563 use is keyword arguments as this is more robust to future message
00564 changes. You cannot mix in-order arguments and keyword arguments.
00565
00566 The available fields are:
00567 objects
00568
00569 :param args: complete set of field values, in .msg order
00570 :param kwds: use keyword arguments corresponding to message field names
00571 to set specific fields.
00572 """
00573 if args or kwds:
00574 super(DetectObjectsResponse, self).__init__(*args, **kwds)
00575 #message fields cannot be None, assign default values for those that are
00576 if self.objects is None:
00577 self.objects = []
00578 else:
00579 self.objects = []
00580
00581 def _get_types(self):
00582 """
00583 internal API method
00584 """
00585 return self._slot_types
00586
00587 def serialize(self, buff):
00588 """
00589 serialize message into buffer
00590 :param buff: buffer, ``StringIO``
00591 """
00592 try:
00593 length = len(self.objects)
00594 buff.write(_struct_I.pack(length))
00595 for val1 in self.objects:
00596 buff.write(_struct_i.pack(val1.objectid))
00597 _v1 = val1.object
00598 _x = _v1.reference_frame_id
00599 length = len(_x)
00600 if python3 or type(_x) == unicode:
00601 _x = _x.encode('utf-8')
00602 length = len(_x)
00603 buff.write(struct.pack('<I%ss'%length, length, _x))
00604 length = len(_v1.potential_models)
00605 buff.write(_struct_I.pack(length))
00606 for val3 in _v1.potential_models:
00607 buff.write(_struct_i.pack(val3.model_id))
00608 _v2 = val3.pose
00609 _v3 = _v2.header
00610 buff.write(_struct_I.pack(_v3.seq))
00611 _v4 = _v3.stamp
00612 _x = _v4
00613 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00614 _x = _v3.frame_id
00615 length = len(_x)
00616 if python3 or type(_x) == unicode:
00617 _x = _x.encode('utf-8')
00618 length = len(_x)
00619 buff.write(struct.pack('<I%ss'%length, length, _x))
00620 _v5 = _v2.pose
00621 _v6 = _v5.position
00622 _x = _v6
00623 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00624 _v7 = _v5.orientation
00625 _x = _v7
00626 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00627 buff.write(_struct_f.pack(val3.confidence))
00628 _x = val3.detector_name
00629 length = len(_x)
00630 if python3 or type(_x) == unicode:
00631 _x = _x.encode('utf-8')
00632 length = len(_x)
00633 buff.write(struct.pack('<I%ss'%length, length, _x))
00634 _v8 = _v1.cluster
00635 _v9 = _v8.header
00636 buff.write(_struct_I.pack(_v9.seq))
00637 _v10 = _v9.stamp
00638 _x = _v10
00639 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00640 _x = _v9.frame_id
00641 length = len(_x)
00642 if python3 or type(_x) == unicode:
00643 _x = _x.encode('utf-8')
00644 length = len(_x)
00645 buff.write(struct.pack('<I%ss'%length, length, _x))
00646 length = len(_v8.points)
00647 buff.write(_struct_I.pack(length))
00648 for val4 in _v8.points:
00649 _x = val4
00650 buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
00651 length = len(_v8.channels)
00652 buff.write(_struct_I.pack(length))
00653 for val4 in _v8.channels:
00654 _x = val4.name
00655 length = len(_x)
00656 if python3 or type(_x) == unicode:
00657 _x = _x.encode('utf-8')
00658 length = len(_x)
00659 buff.write(struct.pack('<I%ss'%length, length, _x))
00660 length = len(val4.values)
00661 buff.write(_struct_I.pack(length))
00662 pattern = '<%sf'%length
00663 buff.write(struct.pack(pattern, *val4.values))
00664 _v11 = _v1.region
00665 _v12 = _v11.cloud
00666 _v13 = _v12.header
00667 buff.write(_struct_I.pack(_v13.seq))
00668 _v14 = _v13.stamp
00669 _x = _v14
00670 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00671 _x = _v13.frame_id
00672 length = len(_x)
00673 if python3 or type(_x) == unicode:
00674 _x = _x.encode('utf-8')
00675 length = len(_x)
00676 buff.write(struct.pack('<I%ss'%length, length, _x))
00677 _x = _v12
00678 buff.write(_struct_2I.pack(_x.height, _x.width))
00679 length = len(_v12.fields)
00680 buff.write(_struct_I.pack(length))
00681 for val5 in _v12.fields:
00682 _x = val5.name
00683 length = len(_x)
00684 if python3 or type(_x) == unicode:
00685 _x = _x.encode('utf-8')
00686 length = len(_x)
00687 buff.write(struct.pack('<I%ss'%length, length, _x))
00688 _x = val5
00689 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00690 _x = _v12
00691 buff.write(_struct_B2I.pack(_x.is_bigendian, _x.point_step, _x.row_step))
00692 _x = _v12.data
00693 length = len(_x)
00694 # - if encoded as a list instead, serialize as bytes instead of string
00695 if type(_x) in [list, tuple]:
00696 buff.write(struct.pack('<I%sB'%length, length, *_x))
00697 else:
00698 buff.write(struct.pack('<I%ss'%length, length, _x))
00699 buff.write(_struct_B.pack(_v12.is_dense))
00700 length = len(_v11.mask)
00701 buff.write(_struct_I.pack(length))
00702 pattern = '<%si'%length
00703 buff.write(struct.pack(pattern, *_v11.mask))
00704 _v15 = _v11.image
00705 _v16 = _v15.header
00706 buff.write(_struct_I.pack(_v16.seq))
00707 _v17 = _v16.stamp
00708 _x = _v17
00709 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00710 _x = _v16.frame_id
00711 length = len(_x)
00712 if python3 or type(_x) == unicode:
00713 _x = _x.encode('utf-8')
00714 length = len(_x)
00715 buff.write(struct.pack('<I%ss'%length, length, _x))
00716 _x = _v15
00717 buff.write(_struct_2I.pack(_x.height, _x.width))
00718 _x = _v15.encoding
00719 length = len(_x)
00720 if python3 or type(_x) == unicode:
00721 _x = _x.encode('utf-8')
00722 length = len(_x)
00723 buff.write(struct.pack('<I%ss'%length, length, _x))
00724 _x = _v15
00725 buff.write(_struct_BI.pack(_x.is_bigendian, _x.step))
00726 _x = _v15.data
00727 length = len(_x)
00728 # - if encoded as a list instead, serialize as bytes instead of string
00729 if type(_x) in [list, tuple]:
00730 buff.write(struct.pack('<I%sB'%length, length, *_x))
00731 else:
00732 buff.write(struct.pack('<I%ss'%length, length, _x))
00733 _v18 = _v11.disparity_image
00734 _v19 = _v18.header
00735 buff.write(_struct_I.pack(_v19.seq))
00736 _v20 = _v19.stamp
00737 _x = _v20
00738 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00739 _x = _v19.frame_id
00740 length = len(_x)
00741 if python3 or type(_x) == unicode:
00742 _x = _x.encode('utf-8')
00743 length = len(_x)
00744 buff.write(struct.pack('<I%ss'%length, length, _x))
00745 _x = _v18
00746 buff.write(_struct_2I.pack(_x.height, _x.width))
00747 _x = _v18.encoding
00748 length = len(_x)
00749 if python3 or type(_x) == unicode:
00750 _x = _x.encode('utf-8')
00751 length = len(_x)
00752 buff.write(struct.pack('<I%ss'%length, length, _x))
00753 _x = _v18
00754 buff.write(_struct_BI.pack(_x.is_bigendian, _x.step))
00755 _x = _v18.data
00756 length = len(_x)
00757 # - if encoded as a list instead, serialize as bytes instead of string
00758 if type(_x) in [list, tuple]:
00759 buff.write(struct.pack('<I%sB'%length, length, *_x))
00760 else:
00761 buff.write(struct.pack('<I%ss'%length, length, _x))
00762 _v21 = _v11.cam_info
00763 _v22 = _v21.header
00764 buff.write(_struct_I.pack(_v22.seq))
00765 _v23 = _v22.stamp
00766 _x = _v23
00767 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00768 _x = _v22.frame_id
00769 length = len(_x)
00770 if python3 or type(_x) == unicode:
00771 _x = _x.encode('utf-8')
00772 length = len(_x)
00773 buff.write(struct.pack('<I%ss'%length, length, _x))
00774 _x = _v21
00775 buff.write(_struct_2I.pack(_x.height, _x.width))
00776 _x = _v21.distortion_model
00777 length = len(_x)
00778 if python3 or type(_x) == unicode:
00779 _x = _x.encode('utf-8')
00780 length = len(_x)
00781 buff.write(struct.pack('<I%ss'%length, length, _x))
00782 length = len(_v21.D)
00783 buff.write(_struct_I.pack(length))
00784 pattern = '<%sd'%length
00785 buff.write(struct.pack(pattern, *_v21.D))
00786 buff.write(_struct_9d.pack(*_v21.K))
00787 buff.write(_struct_9d.pack(*_v21.R))
00788 buff.write(_struct_12d.pack(*_v21.P))
00789 _x = _v21
00790 buff.write(_struct_2I.pack(_x.binning_x, _x.binning_y))
00791 _v24 = _v21.roi
00792 _x = _v24
00793 buff.write(_struct_4IB.pack(_x.x_offset, _x.y_offset, _x.height, _x.width, _x.do_rectify))
00794 _v25 = _v11.roi_box_pose
00795 _v26 = _v25.header
00796 buff.write(_struct_I.pack(_v26.seq))
00797 _v27 = _v26.stamp
00798 _x = _v27
00799 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00800 _x = _v26.frame_id
00801 length = len(_x)
00802 if python3 or type(_x) == unicode:
00803 _x = _x.encode('utf-8')
00804 length = len(_x)
00805 buff.write(struct.pack('<I%ss'%length, length, _x))
00806 _v28 = _v25.pose
00807 _v29 = _v28.position
00808 _x = _v29
00809 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00810 _v30 = _v28.orientation
00811 _x = _v30
00812 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00813 _v31 = _v11.roi_box_dims
00814 _x = _v31
00815 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00816 _x = _v1.collision_name
00817 length = len(_x)
00818 if python3 or type(_x) == unicode:
00819 _x = _x.encode('utf-8')
00820 length = len(_x)
00821 buff.write(struct.pack('<I%ss'%length, length, _x))
00822 _v32 = val1.pose
00823 _v33 = _v32.header
00824 buff.write(_struct_I.pack(_v33.seq))
00825 _v34 = _v33.stamp
00826 _x = _v34
00827 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00828 _x = _v33.frame_id
00829 length = len(_x)
00830 if python3 or type(_x) == unicode:
00831 _x = _x.encode('utf-8')
00832 length = len(_x)
00833 buff.write(struct.pack('<I%ss'%length, length, _x))
00834 _v35 = _v32.pose
00835 _v36 = _v35.position
00836 _x = _v36
00837 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00838 _v37 = _v35.orientation
00839 _x = _v37
00840 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00841 length = len(val1.boundingbox)
00842 buff.write(_struct_I.pack(length))
00843 pattern = '<%sd'%length
00844 buff.write(struct.pack(pattern, *val1.boundingbox))
00845 except struct.error as se: self._check_types(se)
00846 except TypeError as te: self._check_types(te)
00847
00848 def deserialize(self, str):
00849 """
00850 unpack serialized message in str into this message instance
00851 :param str: byte array of serialized message, ``str``
00852 """
00853 try:
00854 if self.objects is None:
00855 self.objects = None
00856 end = 0
00857 start = end
00858 end += 4
00859 (length,) = _struct_I.unpack(str[start:end])
00860 self.objects = []
00861 for i in range(0, length):
00862 val1 = pr2_pick_and_place_service.msg.PickPlaceObject()
00863 start = end
00864 end += 4
00865 (val1.objectid,) = _struct_i.unpack(str[start:end])
00866 _v38 = val1.object
00867 start = end
00868 end += 4
00869 (length,) = _struct_I.unpack(str[start:end])
00870 start = end
00871 end += length
00872 if python3:
00873 _v38.reference_frame_id = str[start:end].decode('utf-8')
00874 else:
00875 _v38.reference_frame_id = str[start:end]
00876 start = end
00877 end += 4
00878 (length,) = _struct_I.unpack(str[start:end])
00879 _v38.potential_models = []
00880 for i in range(0, length):
00881 val3 = household_objects_database_msgs.msg.DatabaseModelPose()
00882 start = end
00883 end += 4
00884 (val3.model_id,) = _struct_i.unpack(str[start:end])
00885 _v39 = val3.pose
00886 _v40 = _v39.header
00887 start = end
00888 end += 4
00889 (_v40.seq,) = _struct_I.unpack(str[start:end])
00890 _v41 = _v40.stamp
00891 _x = _v41
00892 start = end
00893 end += 8
00894 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00895 start = end
00896 end += 4
00897 (length,) = _struct_I.unpack(str[start:end])
00898 start = end
00899 end += length
00900 if python3:
00901 _v40.frame_id = str[start:end].decode('utf-8')
00902 else:
00903 _v40.frame_id = str[start:end]
00904 _v42 = _v39.pose
00905 _v43 = _v42.position
00906 _x = _v43
00907 start = end
00908 end += 24
00909 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00910 _v44 = _v42.orientation
00911 _x = _v44
00912 start = end
00913 end += 32
00914 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00915 start = end
00916 end += 4
00917 (val3.confidence,) = _struct_f.unpack(str[start:end])
00918 start = end
00919 end += 4
00920 (length,) = _struct_I.unpack(str[start:end])
00921 start = end
00922 end += length
00923 if python3:
00924 val3.detector_name = str[start:end].decode('utf-8')
00925 else:
00926 val3.detector_name = str[start:end]
00927 _v38.potential_models.append(val3)
00928 _v45 = _v38.cluster
00929 _v46 = _v45.header
00930 start = end
00931 end += 4
00932 (_v46.seq,) = _struct_I.unpack(str[start:end])
00933 _v47 = _v46.stamp
00934 _x = _v47
00935 start = end
00936 end += 8
00937 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00938 start = end
00939 end += 4
00940 (length,) = _struct_I.unpack(str[start:end])
00941 start = end
00942 end += length
00943 if python3:
00944 _v46.frame_id = str[start:end].decode('utf-8')
00945 else:
00946 _v46.frame_id = str[start:end]
00947 start = end
00948 end += 4
00949 (length,) = _struct_I.unpack(str[start:end])
00950 _v45.points = []
00951 for i in range(0, length):
00952 val4 = geometry_msgs.msg.Point32()
00953 _x = val4
00954 start = end
00955 end += 12
00956 (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
00957 _v45.points.append(val4)
00958 start = end
00959 end += 4
00960 (length,) = _struct_I.unpack(str[start:end])
00961 _v45.channels = []
00962 for i in range(0, length):
00963 val4 = sensor_msgs.msg.ChannelFloat32()
00964 start = end
00965 end += 4
00966 (length,) = _struct_I.unpack(str[start:end])
00967 start = end
00968 end += length
00969 if python3:
00970 val4.name = str[start:end].decode('utf-8')
00971 else:
00972 val4.name = str[start:end]
00973 start = end
00974 end += 4
00975 (length,) = _struct_I.unpack(str[start:end])
00976 pattern = '<%sf'%length
00977 start = end
00978 end += struct.calcsize(pattern)
00979 val4.values = struct.unpack(pattern, str[start:end])
00980 _v45.channels.append(val4)
00981 _v48 = _v38.region
00982 _v49 = _v48.cloud
00983 _v50 = _v49.header
00984 start = end
00985 end += 4
00986 (_v50.seq,) = _struct_I.unpack(str[start:end])
00987 _v51 = _v50.stamp
00988 _x = _v51
00989 start = end
00990 end += 8
00991 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00992 start = end
00993 end += 4
00994 (length,) = _struct_I.unpack(str[start:end])
00995 start = end
00996 end += length
00997 if python3:
00998 _v50.frame_id = str[start:end].decode('utf-8')
00999 else:
01000 _v50.frame_id = str[start:end]
01001 _x = _v49
01002 start = end
01003 end += 8
01004 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01005 start = end
01006 end += 4
01007 (length,) = _struct_I.unpack(str[start:end])
01008 _v49.fields = []
01009 for i in range(0, length):
01010 val5 = sensor_msgs.msg.PointField()
01011 start = end
01012 end += 4
01013 (length,) = _struct_I.unpack(str[start:end])
01014 start = end
01015 end += length
01016 if python3:
01017 val5.name = str[start:end].decode('utf-8')
01018 else:
01019 val5.name = str[start:end]
01020 _x = val5
01021 start = end
01022 end += 9
01023 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
01024 _v49.fields.append(val5)
01025 _x = _v49
01026 start = end
01027 end += 9
01028 (_x.is_bigendian, _x.point_step, _x.row_step,) = _struct_B2I.unpack(str[start:end])
01029 _v49.is_bigendian = bool(_v49.is_bigendian)
01030 start = end
01031 end += 4
01032 (length,) = _struct_I.unpack(str[start:end])
01033 start = end
01034 end += length
01035 if python3:
01036 _v49.data = str[start:end].decode('utf-8')
01037 else:
01038 _v49.data = str[start:end]
01039 start = end
01040 end += 1
01041 (_v49.is_dense,) = _struct_B.unpack(str[start:end])
01042 _v49.is_dense = bool(_v49.is_dense)
01043 start = end
01044 end += 4
01045 (length,) = _struct_I.unpack(str[start:end])
01046 pattern = '<%si'%length
01047 start = end
01048 end += struct.calcsize(pattern)
01049 _v48.mask = struct.unpack(pattern, str[start:end])
01050 _v52 = _v48.image
01051 _v53 = _v52.header
01052 start = end
01053 end += 4
01054 (_v53.seq,) = _struct_I.unpack(str[start:end])
01055 _v54 = _v53.stamp
01056 _x = _v54
01057 start = end
01058 end += 8
01059 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01060 start = end
01061 end += 4
01062 (length,) = _struct_I.unpack(str[start:end])
01063 start = end
01064 end += length
01065 if python3:
01066 _v53.frame_id = str[start:end].decode('utf-8')
01067 else:
01068 _v53.frame_id = str[start:end]
01069 _x = _v52
01070 start = end
01071 end += 8
01072 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01073 start = end
01074 end += 4
01075 (length,) = _struct_I.unpack(str[start:end])
01076 start = end
01077 end += length
01078 if python3:
01079 _v52.encoding = str[start:end].decode('utf-8')
01080 else:
01081 _v52.encoding = str[start:end]
01082 _x = _v52
01083 start = end
01084 end += 5
01085 (_x.is_bigendian, _x.step,) = _struct_BI.unpack(str[start:end])
01086 start = end
01087 end += 4
01088 (length,) = _struct_I.unpack(str[start:end])
01089 start = end
01090 end += length
01091 if python3:
01092 _v52.data = str[start:end].decode('utf-8')
01093 else:
01094 _v52.data = str[start:end]
01095 _v55 = _v48.disparity_image
01096 _v56 = _v55.header
01097 start = end
01098 end += 4
01099 (_v56.seq,) = _struct_I.unpack(str[start:end])
01100 _v57 = _v56.stamp
01101 _x = _v57
01102 start = end
01103 end += 8
01104 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01105 start = end
01106 end += 4
01107 (length,) = _struct_I.unpack(str[start:end])
01108 start = end
01109 end += length
01110 if python3:
01111 _v56.frame_id = str[start:end].decode('utf-8')
01112 else:
01113 _v56.frame_id = str[start:end]
01114 _x = _v55
01115 start = end
01116 end += 8
01117 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01118 start = end
01119 end += 4
01120 (length,) = _struct_I.unpack(str[start:end])
01121 start = end
01122 end += length
01123 if python3:
01124 _v55.encoding = str[start:end].decode('utf-8')
01125 else:
01126 _v55.encoding = str[start:end]
01127 _x = _v55
01128 start = end
01129 end += 5
01130 (_x.is_bigendian, _x.step,) = _struct_BI.unpack(str[start:end])
01131 start = end
01132 end += 4
01133 (length,) = _struct_I.unpack(str[start:end])
01134 start = end
01135 end += length
01136 if python3:
01137 _v55.data = str[start:end].decode('utf-8')
01138 else:
01139 _v55.data = str[start:end]
01140 _v58 = _v48.cam_info
01141 _v59 = _v58.header
01142 start = end
01143 end += 4
01144 (_v59.seq,) = _struct_I.unpack(str[start:end])
01145 _v60 = _v59.stamp
01146 _x = _v60
01147 start = end
01148 end += 8
01149 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01150 start = end
01151 end += 4
01152 (length,) = _struct_I.unpack(str[start:end])
01153 start = end
01154 end += length
01155 if python3:
01156 _v59.frame_id = str[start:end].decode('utf-8')
01157 else:
01158 _v59.frame_id = str[start:end]
01159 _x = _v58
01160 start = end
01161 end += 8
01162 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01163 start = end
01164 end += 4
01165 (length,) = _struct_I.unpack(str[start:end])
01166 start = end
01167 end += length
01168 if python3:
01169 _v58.distortion_model = str[start:end].decode('utf-8')
01170 else:
01171 _v58.distortion_model = str[start:end]
01172 start = end
01173 end += 4
01174 (length,) = _struct_I.unpack(str[start:end])
01175 pattern = '<%sd'%length
01176 start = end
01177 end += struct.calcsize(pattern)
01178 _v58.D = struct.unpack(pattern, str[start:end])
01179 start = end
01180 end += 72
01181 _v58.K = _struct_9d.unpack(str[start:end])
01182 start = end
01183 end += 72
01184 _v58.R = _struct_9d.unpack(str[start:end])
01185 start = end
01186 end += 96
01187 _v58.P = _struct_12d.unpack(str[start:end])
01188 _x = _v58
01189 start = end
01190 end += 8
01191 (_x.binning_x, _x.binning_y,) = _struct_2I.unpack(str[start:end])
01192 _v61 = _v58.roi
01193 _x = _v61
01194 start = end
01195 end += 17
01196 (_x.x_offset, _x.y_offset, _x.height, _x.width, _x.do_rectify,) = _struct_4IB.unpack(str[start:end])
01197 _v61.do_rectify = bool(_v61.do_rectify)
01198 _v62 = _v48.roi_box_pose
01199 _v63 = _v62.header
01200 start = end
01201 end += 4
01202 (_v63.seq,) = _struct_I.unpack(str[start:end])
01203 _v64 = _v63.stamp
01204 _x = _v64
01205 start = end
01206 end += 8
01207 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01208 start = end
01209 end += 4
01210 (length,) = _struct_I.unpack(str[start:end])
01211 start = end
01212 end += length
01213 if python3:
01214 _v63.frame_id = str[start:end].decode('utf-8')
01215 else:
01216 _v63.frame_id = str[start:end]
01217 _v65 = _v62.pose
01218 _v66 = _v65.position
01219 _x = _v66
01220 start = end
01221 end += 24
01222 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01223 _v67 = _v65.orientation
01224 _x = _v67
01225 start = end
01226 end += 32
01227 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01228 _v68 = _v48.roi_box_dims
01229 _x = _v68
01230 start = end
01231 end += 24
01232 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01233 start = end
01234 end += 4
01235 (length,) = _struct_I.unpack(str[start:end])
01236 start = end
01237 end += length
01238 if python3:
01239 _v38.collision_name = str[start:end].decode('utf-8')
01240 else:
01241 _v38.collision_name = str[start:end]
01242 _v69 = val1.pose
01243 _v70 = _v69.header
01244 start = end
01245 end += 4
01246 (_v70.seq,) = _struct_I.unpack(str[start:end])
01247 _v71 = _v70.stamp
01248 _x = _v71
01249 start = end
01250 end += 8
01251 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01252 start = end
01253 end += 4
01254 (length,) = _struct_I.unpack(str[start:end])
01255 start = end
01256 end += length
01257 if python3:
01258 _v70.frame_id = str[start:end].decode('utf-8')
01259 else:
01260 _v70.frame_id = str[start:end]
01261 _v72 = _v69.pose
01262 _v73 = _v72.position
01263 _x = _v73
01264 start = end
01265 end += 24
01266 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01267 _v74 = _v72.orientation
01268 _x = _v74
01269 start = end
01270 end += 32
01271 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01272 start = end
01273 end += 4
01274 (length,) = _struct_I.unpack(str[start:end])
01275 pattern = '<%sd'%length
01276 start = end
01277 end += struct.calcsize(pattern)
01278 val1.boundingbox = struct.unpack(pattern, str[start:end])
01279 self.objects.append(val1)
01280 return self
01281 except struct.error as e:
01282 raise genpy.DeserializationError(e) #most likely buffer underfill
01283
01284
01285 def serialize_numpy(self, buff, numpy):
01286 """
01287 serialize message with numpy array types into buffer
01288 :param buff: buffer, ``StringIO``
01289 :param numpy: numpy python module
01290 """
01291 try:
01292 length = len(self.objects)
01293 buff.write(_struct_I.pack(length))
01294 for val1 in self.objects:
01295 buff.write(_struct_i.pack(val1.objectid))
01296 _v75 = val1.object
01297 _x = _v75.reference_frame_id
01298 length = len(_x)
01299 if python3 or type(_x) == unicode:
01300 _x = _x.encode('utf-8')
01301 length = len(_x)
01302 buff.write(struct.pack('<I%ss'%length, length, _x))
01303 length = len(_v75.potential_models)
01304 buff.write(_struct_I.pack(length))
01305 for val3 in _v75.potential_models:
01306 buff.write(_struct_i.pack(val3.model_id))
01307 _v76 = val3.pose
01308 _v77 = _v76.header
01309 buff.write(_struct_I.pack(_v77.seq))
01310 _v78 = _v77.stamp
01311 _x = _v78
01312 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01313 _x = _v77.frame_id
01314 length = len(_x)
01315 if python3 or type(_x) == unicode:
01316 _x = _x.encode('utf-8')
01317 length = len(_x)
01318 buff.write(struct.pack('<I%ss'%length, length, _x))
01319 _v79 = _v76.pose
01320 _v80 = _v79.position
01321 _x = _v80
01322 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01323 _v81 = _v79.orientation
01324 _x = _v81
01325 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01326 buff.write(_struct_f.pack(val3.confidence))
01327 _x = val3.detector_name
01328 length = len(_x)
01329 if python3 or type(_x) == unicode:
01330 _x = _x.encode('utf-8')
01331 length = len(_x)
01332 buff.write(struct.pack('<I%ss'%length, length, _x))
01333 _v82 = _v75.cluster
01334 _v83 = _v82.header
01335 buff.write(_struct_I.pack(_v83.seq))
01336 _v84 = _v83.stamp
01337 _x = _v84
01338 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01339 _x = _v83.frame_id
01340 length = len(_x)
01341 if python3 or type(_x) == unicode:
01342 _x = _x.encode('utf-8')
01343 length = len(_x)
01344 buff.write(struct.pack('<I%ss'%length, length, _x))
01345 length = len(_v82.points)
01346 buff.write(_struct_I.pack(length))
01347 for val4 in _v82.points:
01348 _x = val4
01349 buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
01350 length = len(_v82.channels)
01351 buff.write(_struct_I.pack(length))
01352 for val4 in _v82.channels:
01353 _x = val4.name
01354 length = len(_x)
01355 if python3 or type(_x) == unicode:
01356 _x = _x.encode('utf-8')
01357 length = len(_x)
01358 buff.write(struct.pack('<I%ss'%length, length, _x))
01359 length = len(val4.values)
01360 buff.write(_struct_I.pack(length))
01361 pattern = '<%sf'%length
01362 buff.write(val4.values.tostring())
01363 _v85 = _v75.region
01364 _v86 = _v85.cloud
01365 _v87 = _v86.header
01366 buff.write(_struct_I.pack(_v87.seq))
01367 _v88 = _v87.stamp
01368 _x = _v88
01369 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01370 _x = _v87.frame_id
01371 length = len(_x)
01372 if python3 or type(_x) == unicode:
01373 _x = _x.encode('utf-8')
01374 length = len(_x)
01375 buff.write(struct.pack('<I%ss'%length, length, _x))
01376 _x = _v86
01377 buff.write(_struct_2I.pack(_x.height, _x.width))
01378 length = len(_v86.fields)
01379 buff.write(_struct_I.pack(length))
01380 for val5 in _v86.fields:
01381 _x = val5.name
01382 length = len(_x)
01383 if python3 or type(_x) == unicode:
01384 _x = _x.encode('utf-8')
01385 length = len(_x)
01386 buff.write(struct.pack('<I%ss'%length, length, _x))
01387 _x = val5
01388 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
01389 _x = _v86
01390 buff.write(_struct_B2I.pack(_x.is_bigendian, _x.point_step, _x.row_step))
01391 _x = _v86.data
01392 length = len(_x)
01393 # - if encoded as a list instead, serialize as bytes instead of string
01394 if type(_x) in [list, tuple]:
01395 buff.write(struct.pack('<I%sB'%length, length, *_x))
01396 else:
01397 buff.write(struct.pack('<I%ss'%length, length, _x))
01398 buff.write(_struct_B.pack(_v86.is_dense))
01399 length = len(_v85.mask)
01400 buff.write(_struct_I.pack(length))
01401 pattern = '<%si'%length
01402 buff.write(_v85.mask.tostring())
01403 _v89 = _v85.image
01404 _v90 = _v89.header
01405 buff.write(_struct_I.pack(_v90.seq))
01406 _v91 = _v90.stamp
01407 _x = _v91
01408 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01409 _x = _v90.frame_id
01410 length = len(_x)
01411 if python3 or type(_x) == unicode:
01412 _x = _x.encode('utf-8')
01413 length = len(_x)
01414 buff.write(struct.pack('<I%ss'%length, length, _x))
01415 _x = _v89
01416 buff.write(_struct_2I.pack(_x.height, _x.width))
01417 _x = _v89.encoding
01418 length = len(_x)
01419 if python3 or type(_x) == unicode:
01420 _x = _x.encode('utf-8')
01421 length = len(_x)
01422 buff.write(struct.pack('<I%ss'%length, length, _x))
01423 _x = _v89
01424 buff.write(_struct_BI.pack(_x.is_bigendian, _x.step))
01425 _x = _v89.data
01426 length = len(_x)
01427 # - if encoded as a list instead, serialize as bytes instead of string
01428 if type(_x) in [list, tuple]:
01429 buff.write(struct.pack('<I%sB'%length, length, *_x))
01430 else:
01431 buff.write(struct.pack('<I%ss'%length, length, _x))
01432 _v92 = _v85.disparity_image
01433 _v93 = _v92.header
01434 buff.write(_struct_I.pack(_v93.seq))
01435 _v94 = _v93.stamp
01436 _x = _v94
01437 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01438 _x = _v93.frame_id
01439 length = len(_x)
01440 if python3 or type(_x) == unicode:
01441 _x = _x.encode('utf-8')
01442 length = len(_x)
01443 buff.write(struct.pack('<I%ss'%length, length, _x))
01444 _x = _v92
01445 buff.write(_struct_2I.pack(_x.height, _x.width))
01446 _x = _v92.encoding
01447 length = len(_x)
01448 if python3 or type(_x) == unicode:
01449 _x = _x.encode('utf-8')
01450 length = len(_x)
01451 buff.write(struct.pack('<I%ss'%length, length, _x))
01452 _x = _v92
01453 buff.write(_struct_BI.pack(_x.is_bigendian, _x.step))
01454 _x = _v92.data
01455 length = len(_x)
01456 # - if encoded as a list instead, serialize as bytes instead of string
01457 if type(_x) in [list, tuple]:
01458 buff.write(struct.pack('<I%sB'%length, length, *_x))
01459 else:
01460 buff.write(struct.pack('<I%ss'%length, length, _x))
01461 _v95 = _v85.cam_info
01462 _v96 = _v95.header
01463 buff.write(_struct_I.pack(_v96.seq))
01464 _v97 = _v96.stamp
01465 _x = _v97
01466 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01467 _x = _v96.frame_id
01468 length = len(_x)
01469 if python3 or type(_x) == unicode:
01470 _x = _x.encode('utf-8')
01471 length = len(_x)
01472 buff.write(struct.pack('<I%ss'%length, length, _x))
01473 _x = _v95
01474 buff.write(_struct_2I.pack(_x.height, _x.width))
01475 _x = _v95.distortion_model
01476 length = len(_x)
01477 if python3 or type(_x) == unicode:
01478 _x = _x.encode('utf-8')
01479 length = len(_x)
01480 buff.write(struct.pack('<I%ss'%length, length, _x))
01481 length = len(_v95.D)
01482 buff.write(_struct_I.pack(length))
01483 pattern = '<%sd'%length
01484 buff.write(_v95.D.tostring())
01485 buff.write(_v95.K.tostring())
01486 buff.write(_v95.R.tostring())
01487 buff.write(_v95.P.tostring())
01488 _x = _v95
01489 buff.write(_struct_2I.pack(_x.binning_x, _x.binning_y))
01490 _v98 = _v95.roi
01491 _x = _v98
01492 buff.write(_struct_4IB.pack(_x.x_offset, _x.y_offset, _x.height, _x.width, _x.do_rectify))
01493 _v99 = _v85.roi_box_pose
01494 _v100 = _v99.header
01495 buff.write(_struct_I.pack(_v100.seq))
01496 _v101 = _v100.stamp
01497 _x = _v101
01498 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01499 _x = _v100.frame_id
01500 length = len(_x)
01501 if python3 or type(_x) == unicode:
01502 _x = _x.encode('utf-8')
01503 length = len(_x)
01504 buff.write(struct.pack('<I%ss'%length, length, _x))
01505 _v102 = _v99.pose
01506 _v103 = _v102.position
01507 _x = _v103
01508 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01509 _v104 = _v102.orientation
01510 _x = _v104
01511 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01512 _v105 = _v85.roi_box_dims
01513 _x = _v105
01514 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01515 _x = _v75.collision_name
01516 length = len(_x)
01517 if python3 or type(_x) == unicode:
01518 _x = _x.encode('utf-8')
01519 length = len(_x)
01520 buff.write(struct.pack('<I%ss'%length, length, _x))
01521 _v106 = val1.pose
01522 _v107 = _v106.header
01523 buff.write(_struct_I.pack(_v107.seq))
01524 _v108 = _v107.stamp
01525 _x = _v108
01526 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01527 _x = _v107.frame_id
01528 length = len(_x)
01529 if python3 or type(_x) == unicode:
01530 _x = _x.encode('utf-8')
01531 length = len(_x)
01532 buff.write(struct.pack('<I%ss'%length, length, _x))
01533 _v109 = _v106.pose
01534 _v110 = _v109.position
01535 _x = _v110
01536 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01537 _v111 = _v109.orientation
01538 _x = _v111
01539 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01540 length = len(val1.boundingbox)
01541 buff.write(_struct_I.pack(length))
01542 pattern = '<%sd'%length
01543 buff.write(val1.boundingbox.tostring())
01544 except struct.error as se: self._check_types(se)
01545 except TypeError as te: self._check_types(te)
01546
01547 def deserialize_numpy(self, str, numpy):
01548 """
01549 unpack serialized message in str into this message instance using numpy for array types
01550 :param str: byte array of serialized message, ``str``
01551 :param numpy: numpy python module
01552 """
01553 try:
01554 if self.objects is None:
01555 self.objects = None
01556 end = 0
01557 start = end
01558 end += 4
01559 (length,) = _struct_I.unpack(str[start:end])
01560 self.objects = []
01561 for i in range(0, length):
01562 val1 = pr2_pick_and_place_service.msg.PickPlaceObject()
01563 start = end
01564 end += 4
01565 (val1.objectid,) = _struct_i.unpack(str[start:end])
01566 _v112 = val1.object
01567 start = end
01568 end += 4
01569 (length,) = _struct_I.unpack(str[start:end])
01570 start = end
01571 end += length
01572 if python3:
01573 _v112.reference_frame_id = str[start:end].decode('utf-8')
01574 else:
01575 _v112.reference_frame_id = str[start:end]
01576 start = end
01577 end += 4
01578 (length,) = _struct_I.unpack(str[start:end])
01579 _v112.potential_models = []
01580 for i in range(0, length):
01581 val3 = household_objects_database_msgs.msg.DatabaseModelPose()
01582 start = end
01583 end += 4
01584 (val3.model_id,) = _struct_i.unpack(str[start:end])
01585 _v113 = val3.pose
01586 _v114 = _v113.header
01587 start = end
01588 end += 4
01589 (_v114.seq,) = _struct_I.unpack(str[start:end])
01590 _v115 = _v114.stamp
01591 _x = _v115
01592 start = end
01593 end += 8
01594 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01595 start = end
01596 end += 4
01597 (length,) = _struct_I.unpack(str[start:end])
01598 start = end
01599 end += length
01600 if python3:
01601 _v114.frame_id = str[start:end].decode('utf-8')
01602 else:
01603 _v114.frame_id = str[start:end]
01604 _v116 = _v113.pose
01605 _v117 = _v116.position
01606 _x = _v117
01607 start = end
01608 end += 24
01609 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01610 _v118 = _v116.orientation
01611 _x = _v118
01612 start = end
01613 end += 32
01614 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01615 start = end
01616 end += 4
01617 (val3.confidence,) = _struct_f.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 if python3:
01624 val3.detector_name = str[start:end].decode('utf-8')
01625 else:
01626 val3.detector_name = str[start:end]
01627 _v112.potential_models.append(val3)
01628 _v119 = _v112.cluster
01629 _v120 = _v119.header
01630 start = end
01631 end += 4
01632 (_v120.seq,) = _struct_I.unpack(str[start:end])
01633 _v121 = _v120.stamp
01634 _x = _v121
01635 start = end
01636 end += 8
01637 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01638 start = end
01639 end += 4
01640 (length,) = _struct_I.unpack(str[start:end])
01641 start = end
01642 end += length
01643 if python3:
01644 _v120.frame_id = str[start:end].decode('utf-8')
01645 else:
01646 _v120.frame_id = str[start:end]
01647 start = end
01648 end += 4
01649 (length,) = _struct_I.unpack(str[start:end])
01650 _v119.points = []
01651 for i in range(0, length):
01652 val4 = geometry_msgs.msg.Point32()
01653 _x = val4
01654 start = end
01655 end += 12
01656 (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
01657 _v119.points.append(val4)
01658 start = end
01659 end += 4
01660 (length,) = _struct_I.unpack(str[start:end])
01661 _v119.channels = []
01662 for i in range(0, length):
01663 val4 = sensor_msgs.msg.ChannelFloat32()
01664 start = end
01665 end += 4
01666 (length,) = _struct_I.unpack(str[start:end])
01667 start = end
01668 end += length
01669 if python3:
01670 val4.name = str[start:end].decode('utf-8')
01671 else:
01672 val4.name = str[start:end]
01673 start = end
01674 end += 4
01675 (length,) = _struct_I.unpack(str[start:end])
01676 pattern = '<%sf'%length
01677 start = end
01678 end += struct.calcsize(pattern)
01679 val4.values = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
01680 _v119.channels.append(val4)
01681 _v122 = _v112.region
01682 _v123 = _v122.cloud
01683 _v124 = _v123.header
01684 start = end
01685 end += 4
01686 (_v124.seq,) = _struct_I.unpack(str[start:end])
01687 _v125 = _v124.stamp
01688 _x = _v125
01689 start = end
01690 end += 8
01691 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01692 start = end
01693 end += 4
01694 (length,) = _struct_I.unpack(str[start:end])
01695 start = end
01696 end += length
01697 if python3:
01698 _v124.frame_id = str[start:end].decode('utf-8')
01699 else:
01700 _v124.frame_id = str[start:end]
01701 _x = _v123
01702 start = end
01703 end += 8
01704 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01705 start = end
01706 end += 4
01707 (length,) = _struct_I.unpack(str[start:end])
01708 _v123.fields = []
01709 for i in range(0, length):
01710 val5 = sensor_msgs.msg.PointField()
01711 start = end
01712 end += 4
01713 (length,) = _struct_I.unpack(str[start:end])
01714 start = end
01715 end += length
01716 if python3:
01717 val5.name = str[start:end].decode('utf-8')
01718 else:
01719 val5.name = str[start:end]
01720 _x = val5
01721 start = end
01722 end += 9
01723 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
01724 _v123.fields.append(val5)
01725 _x = _v123
01726 start = end
01727 end += 9
01728 (_x.is_bigendian, _x.point_step, _x.row_step,) = _struct_B2I.unpack(str[start:end])
01729 _v123.is_bigendian = bool(_v123.is_bigendian)
01730 start = end
01731 end += 4
01732 (length,) = _struct_I.unpack(str[start:end])
01733 start = end
01734 end += length
01735 if python3:
01736 _v123.data = str[start:end].decode('utf-8')
01737 else:
01738 _v123.data = str[start:end]
01739 start = end
01740 end += 1
01741 (_v123.is_dense,) = _struct_B.unpack(str[start:end])
01742 _v123.is_dense = bool(_v123.is_dense)
01743 start = end
01744 end += 4
01745 (length,) = _struct_I.unpack(str[start:end])
01746 pattern = '<%si'%length
01747 start = end
01748 end += struct.calcsize(pattern)
01749 _v122.mask = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
01750 _v126 = _v122.image
01751 _v127 = _v126.header
01752 start = end
01753 end += 4
01754 (_v127.seq,) = _struct_I.unpack(str[start:end])
01755 _v128 = _v127.stamp
01756 _x = _v128
01757 start = end
01758 end += 8
01759 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01760 start = end
01761 end += 4
01762 (length,) = _struct_I.unpack(str[start:end])
01763 start = end
01764 end += length
01765 if python3:
01766 _v127.frame_id = str[start:end].decode('utf-8')
01767 else:
01768 _v127.frame_id = str[start:end]
01769 _x = _v126
01770 start = end
01771 end += 8
01772 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01773 start = end
01774 end += 4
01775 (length,) = _struct_I.unpack(str[start:end])
01776 start = end
01777 end += length
01778 if python3:
01779 _v126.encoding = str[start:end].decode('utf-8')
01780 else:
01781 _v126.encoding = str[start:end]
01782 _x = _v126
01783 start = end
01784 end += 5
01785 (_x.is_bigendian, _x.step,) = _struct_BI.unpack(str[start:end])
01786 start = end
01787 end += 4
01788 (length,) = _struct_I.unpack(str[start:end])
01789 start = end
01790 end += length
01791 if python3:
01792 _v126.data = str[start:end].decode('utf-8')
01793 else:
01794 _v126.data = str[start:end]
01795 _v129 = _v122.disparity_image
01796 _v130 = _v129.header
01797 start = end
01798 end += 4
01799 (_v130.seq,) = _struct_I.unpack(str[start:end])
01800 _v131 = _v130.stamp
01801 _x = _v131
01802 start = end
01803 end += 8
01804 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01805 start = end
01806 end += 4
01807 (length,) = _struct_I.unpack(str[start:end])
01808 start = end
01809 end += length
01810 if python3:
01811 _v130.frame_id = str[start:end].decode('utf-8')
01812 else:
01813 _v130.frame_id = str[start:end]
01814 _x = _v129
01815 start = end
01816 end += 8
01817 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01818 start = end
01819 end += 4
01820 (length,) = _struct_I.unpack(str[start:end])
01821 start = end
01822 end += length
01823 if python3:
01824 _v129.encoding = str[start:end].decode('utf-8')
01825 else:
01826 _v129.encoding = str[start:end]
01827 _x = _v129
01828 start = end
01829 end += 5
01830 (_x.is_bigendian, _x.step,) = _struct_BI.unpack(str[start:end])
01831 start = end
01832 end += 4
01833 (length,) = _struct_I.unpack(str[start:end])
01834 start = end
01835 end += length
01836 if python3:
01837 _v129.data = str[start:end].decode('utf-8')
01838 else:
01839 _v129.data = str[start:end]
01840 _v132 = _v122.cam_info
01841 _v133 = _v132.header
01842 start = end
01843 end += 4
01844 (_v133.seq,) = _struct_I.unpack(str[start:end])
01845 _v134 = _v133.stamp
01846 _x = _v134
01847 start = end
01848 end += 8
01849 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01850 start = end
01851 end += 4
01852 (length,) = _struct_I.unpack(str[start:end])
01853 start = end
01854 end += length
01855 if python3:
01856 _v133.frame_id = str[start:end].decode('utf-8')
01857 else:
01858 _v133.frame_id = str[start:end]
01859 _x = _v132
01860 start = end
01861 end += 8
01862 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01863 start = end
01864 end += 4
01865 (length,) = _struct_I.unpack(str[start:end])
01866 start = end
01867 end += length
01868 if python3:
01869 _v132.distortion_model = str[start:end].decode('utf-8')
01870 else:
01871 _v132.distortion_model = str[start:end]
01872 start = end
01873 end += 4
01874 (length,) = _struct_I.unpack(str[start:end])
01875 pattern = '<%sd'%length
01876 start = end
01877 end += struct.calcsize(pattern)
01878 _v132.D = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01879 start = end
01880 end += 72
01881 _v132.K = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=9)
01882 start = end
01883 end += 72
01884 _v132.R = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=9)
01885 start = end
01886 end += 96
01887 _v132.P = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=12)
01888 _x = _v132
01889 start = end
01890 end += 8
01891 (_x.binning_x, _x.binning_y,) = _struct_2I.unpack(str[start:end])
01892 _v135 = _v132.roi
01893 _x = _v135
01894 start = end
01895 end += 17
01896 (_x.x_offset, _x.y_offset, _x.height, _x.width, _x.do_rectify,) = _struct_4IB.unpack(str[start:end])
01897 _v135.do_rectify = bool(_v135.do_rectify)
01898 _v136 = _v122.roi_box_pose
01899 _v137 = _v136.header
01900 start = end
01901 end += 4
01902 (_v137.seq,) = _struct_I.unpack(str[start:end])
01903 _v138 = _v137.stamp
01904 _x = _v138
01905 start = end
01906 end += 8
01907 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01908 start = end
01909 end += 4
01910 (length,) = _struct_I.unpack(str[start:end])
01911 start = end
01912 end += length
01913 if python3:
01914 _v137.frame_id = str[start:end].decode('utf-8')
01915 else:
01916 _v137.frame_id = str[start:end]
01917 _v139 = _v136.pose
01918 _v140 = _v139.position
01919 _x = _v140
01920 start = end
01921 end += 24
01922 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01923 _v141 = _v139.orientation
01924 _x = _v141
01925 start = end
01926 end += 32
01927 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01928 _v142 = _v122.roi_box_dims
01929 _x = _v142
01930 start = end
01931 end += 24
01932 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01933 start = end
01934 end += 4
01935 (length,) = _struct_I.unpack(str[start:end])
01936 start = end
01937 end += length
01938 if python3:
01939 _v112.collision_name = str[start:end].decode('utf-8')
01940 else:
01941 _v112.collision_name = str[start:end]
01942 _v143 = val1.pose
01943 _v144 = _v143.header
01944 start = end
01945 end += 4
01946 (_v144.seq,) = _struct_I.unpack(str[start:end])
01947 _v145 = _v144.stamp
01948 _x = _v145
01949 start = end
01950 end += 8
01951 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01952 start = end
01953 end += 4
01954 (length,) = _struct_I.unpack(str[start:end])
01955 start = end
01956 end += length
01957 if python3:
01958 _v144.frame_id = str[start:end].decode('utf-8')
01959 else:
01960 _v144.frame_id = str[start:end]
01961 _v146 = _v143.pose
01962 _v147 = _v146.position
01963 _x = _v147
01964 start = end
01965 end += 24
01966 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01967 _v148 = _v146.orientation
01968 _x = _v148
01969 start = end
01970 end += 32
01971 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01972 start = end
01973 end += 4
01974 (length,) = _struct_I.unpack(str[start:end])
01975 pattern = '<%sd'%length
01976 start = end
01977 end += struct.calcsize(pattern)
01978 val1.boundingbox = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01979 self.objects.append(val1)
01980 return self
01981 except struct.error as e:
01982 raise genpy.DeserializationError(e) #most likely buffer underfill
01983
01984 _struct_I = genpy.struct_I
01985 _struct_IBI = struct.Struct("<IBI")
01986 _struct_B = struct.Struct("<B")
01987 _struct_12d = struct.Struct("<12d")
01988 _struct_f = struct.Struct("<f")
01989 _struct_i = struct.Struct("<i")
01990 _struct_BI = struct.Struct("<BI")
01991 _struct_3f = struct.Struct("<3f")
01992 _struct_9d = struct.Struct("<9d")
01993 _struct_B2I = struct.Struct("<B2I")
01994 _struct_4d = struct.Struct("<4d")
01995 _struct_2I = struct.Struct("<2I")
01996 _struct_4IB = struct.Struct("<4IB")
01997 _struct_3d = struct.Struct("<3d")
01998 class DetectObjects(object):
01999 _type = 'pr2_pick_and_place_service/DetectObjects'
02000 _md5sum = 'bf02022b441a7c39aeac8629d3839eb0'
02001 _request_class = DetectObjectsRequest
02002 _response_class = DetectObjectsResponse