_ReactiveLiftActionGoal.py
Go to the documentation of this file.
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 #flag to mark the presence of a Header object
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")


object_manipulation_msgs
Author(s): Matei Ciocarlie
autogenerated on Mon Oct 6 2014 02:58:11