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