_ReactiveGraspAction.py
Go to the documentation of this file.
00001 """autogenerated by genpy from object_manipulation_msgs/ReactiveGraspAction.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 geometry_msgs.msg
00011 import sensor_msgs.msg
00012 import std_msgs.msg
00013 import genpy
00014 import household_objects_database_msgs.msg
00015 
00016 class ReactiveGraspAction(genpy.Message):
00017   _md5sum = "52c8ac19491b8c70004f2fefd4dbedef"
00018   _type = "object_manipulation_msgs/ReactiveGraspAction"
00019   _has_header = False #flag to mark the presence of a Header object
00020   _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00021 
00022 ReactiveGraspActionGoal action_goal
00023 ReactiveGraspActionResult action_result
00024 ReactiveGraspActionFeedback action_feedback
00025 
00026 ================================================================================
00027 MSG: object_manipulation_msgs/ReactiveGraspActionGoal
00028 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00029 
00030 Header header
00031 actionlib_msgs/GoalID goal_id
00032 ReactiveGraspGoal goal
00033 
00034 ================================================================================
00035 MSG: std_msgs/Header
00036 # Standard metadata for higher-level stamped data types.
00037 # This is generally used to communicate timestamped data 
00038 # in a particular coordinate frame.
00039 # 
00040 # sequence ID: consecutively increasing ID 
00041 uint32 seq
00042 #Two-integer timestamp that is expressed as:
00043 # * stamp.secs: seconds (stamp_secs) since epoch
00044 # * stamp.nsecs: nanoseconds since stamp_secs
00045 # time-handling sugar is provided by the client library
00046 time stamp
00047 #Frame this data is associated with
00048 # 0: no frame
00049 # 1: global frame
00050 string frame_id
00051 
00052 ================================================================================
00053 MSG: actionlib_msgs/GoalID
00054 # The stamp should store the time at which this goal was requested.
00055 # It is used by an action server when it tries to preempt all
00056 # goals that were requested before a certain time
00057 time stamp
00058 
00059 # The id provides a way to associate feedback and
00060 # result message with specific goal requests. The id
00061 # specified must be unique.
00062 string id
00063 
00064 
00065 ================================================================================
00066 MSG: object_manipulation_msgs/ReactiveGraspGoal
00067 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00068 # an action for reactive grasping
00069 # a reactive grasp starts from the current pose of the gripper and ends
00070 # at a desired grasp pose, presumably using the touch sensors along the way
00071 
00072 # the name of the arm being used
00073 string arm_name
00074 
00075 # the object to be grasped
00076 GraspableObject target
00077 
00078 # the desired grasp pose for the hand
00079 geometry_msgs/PoseStamped final_grasp_pose
00080 
00081 # the joint trajectory to use for the approach (if available)
00082 # this trajectory is expected to start at the current pose of the gripper
00083 # and end at the desired grasp pose
00084 trajectory_msgs/JointTrajectory trajectory
00085 
00086 # the name of the support surface in the collision environment, if any
00087 string collision_support_surface_name
00088 
00089 # The internal posture of the hand for the pre-grasp
00090 # only positions are used
00091 sensor_msgs/JointState pre_grasp_posture
00092 
00093 # The internal posture of the hand for the grasp
00094 # positions and efforts are used
00095 sensor_msgs/JointState grasp_posture
00096 
00097 # The max contact force to use while grasping (<=0 to disable)
00098 float32 max_contact_force
00099 
00100 
00101 ================================================================================
00102 MSG: object_manipulation_msgs/GraspableObject
00103 # an object that the object_manipulator can work on
00104 
00105 # a graspable object can be represented in multiple ways. This message
00106 # can contain all of them. Which one is actually used is up to the receiver
00107 # of this message. When adding new representations, one must be careful that
00108 # they have reasonable lightweight defaults indicating that that particular
00109 # representation is not available.
00110 
00111 # the tf frame to be used as a reference frame when combining information from
00112 # the different representations below
00113 string reference_frame_id
00114 
00115 # potential recognition results from a database of models
00116 # all poses are relative to the object reference pose
00117 household_objects_database_msgs/DatabaseModelPose[] potential_models
00118 
00119 # the point cloud itself
00120 sensor_msgs/PointCloud cluster
00121 
00122 # a region of a PointCloud2 of interest
00123 object_manipulation_msgs/SceneRegion region
00124 
00125 # the name that this object has in the collision environment
00126 string collision_name
00127 ================================================================================
00128 MSG: household_objects_database_msgs/DatabaseModelPose
00129 # Informs that a specific model from the Model Database has been 
00130 # identified at a certain location
00131 
00132 # the database id of the model
00133 int32 model_id
00134 
00135 # the pose that it can be found in
00136 geometry_msgs/PoseStamped pose
00137 
00138 # a measure of the confidence level in this detection result
00139 float32 confidence
00140 
00141 # the name of the object detector that generated this detection result
00142 string detector_name
00143 
00144 ================================================================================
00145 MSG: geometry_msgs/PoseStamped
00146 # A Pose with reference coordinate frame and timestamp
00147 Header header
00148 Pose pose
00149 
00150 ================================================================================
00151 MSG: geometry_msgs/Pose
00152 # A representation of pose in free space, composed of postion and orientation. 
00153 Point position
00154 Quaternion orientation
00155 
00156 ================================================================================
00157 MSG: geometry_msgs/Point
00158 # This contains the position of a point in free space
00159 float64 x
00160 float64 y
00161 float64 z
00162 
00163 ================================================================================
00164 MSG: geometry_msgs/Quaternion
00165 # This represents an orientation in free space in quaternion form.
00166 
00167 float64 x
00168 float64 y
00169 float64 z
00170 float64 w
00171 
00172 ================================================================================
00173 MSG: sensor_msgs/PointCloud
00174 # This message holds a collection of 3d points, plus optional additional
00175 # information about each point.
00176 
00177 # Time of sensor data acquisition, coordinate frame ID.
00178 Header header
00179 
00180 # Array of 3d points. Each Point32 should be interpreted as a 3d point
00181 # in the frame given in the header.
00182 geometry_msgs/Point32[] points
00183 
00184 # Each channel should have the same number of elements as points array,
00185 # and the data in each channel should correspond 1:1 with each point.
00186 # Channel names in common practice are listed in ChannelFloat32.msg.
00187 ChannelFloat32[] channels
00188 
00189 ================================================================================
00190 MSG: geometry_msgs/Point32
00191 # This contains the position of a point in free space(with 32 bits of precision).
00192 # It is recommeded to use Point wherever possible instead of Point32.  
00193 # 
00194 # This recommendation is to promote interoperability.  
00195 #
00196 # This message is designed to take up less space when sending
00197 # lots of points at once, as in the case of a PointCloud.  
00198 
00199 float32 x
00200 float32 y
00201 float32 z
00202 ================================================================================
00203 MSG: sensor_msgs/ChannelFloat32
00204 # This message is used by the PointCloud message to hold optional data
00205 # associated with each point in the cloud. The length of the values
00206 # array should be the same as the length of the points array in the
00207 # PointCloud, and each value should be associated with the corresponding
00208 # point.
00209 
00210 # Channel names in existing practice include:
00211 #   "u", "v" - row and column (respectively) in the left stereo image.
00212 #              This is opposite to usual conventions but remains for
00213 #              historical reasons. The newer PointCloud2 message has no
00214 #              such problem.
00215 #   "rgb" - For point clouds produced by color stereo cameras. uint8
00216 #           (R,G,B) values packed into the least significant 24 bits,
00217 #           in order.
00218 #   "intensity" - laser or pixel intensity.
00219 #   "distance"
00220 
00221 # The channel name should give semantics of the channel (e.g.
00222 # "intensity" instead of "value").
00223 string name
00224 
00225 # The values array should be 1-1 with the elements of the associated
00226 # PointCloud.
00227 float32[] values
00228 
00229 ================================================================================
00230 MSG: object_manipulation_msgs/SceneRegion
00231 # Point cloud
00232 sensor_msgs/PointCloud2 cloud
00233 
00234 # Indices for the region of interest
00235 int32[] mask
00236 
00237 # One of the corresponding 2D images, if applicable
00238 sensor_msgs/Image image
00239 
00240 # The disparity image, if applicable
00241 sensor_msgs/Image disparity_image
00242 
00243 # Camera info for the camera that took the image
00244 sensor_msgs/CameraInfo cam_info
00245 
00246 # a 3D region of interest for grasp planning
00247 geometry_msgs/PoseStamped  roi_box_pose
00248 geometry_msgs/Vector3      roi_box_dims
00249 
00250 ================================================================================
00251 MSG: sensor_msgs/PointCloud2
00252 # This message holds a collection of N-dimensional points, which may
00253 # contain additional information such as normals, intensity, etc. The
00254 # point data is stored as a binary blob, its layout described by the
00255 # contents of the "fields" array.
00256 
00257 # The point cloud data may be organized 2d (image-like) or 1d
00258 # (unordered). Point clouds organized as 2d images may be produced by
00259 # camera depth sensors such as stereo or time-of-flight.
00260 
00261 # Time of sensor data acquisition, and the coordinate frame ID (for 3d
00262 # points).
00263 Header header
00264 
00265 # 2D structure of the point cloud. If the cloud is unordered, height is
00266 # 1 and width is the length of the point cloud.
00267 uint32 height
00268 uint32 width
00269 
00270 # Describes the channels and their layout in the binary data blob.
00271 PointField[] fields
00272 
00273 bool    is_bigendian # Is this data bigendian?
00274 uint32  point_step   # Length of a point in bytes
00275 uint32  row_step     # Length of a row in bytes
00276 uint8[] data         # Actual point data, size is (row_step*height)
00277 
00278 bool is_dense        # True if there are no invalid points
00279 
00280 ================================================================================
00281 MSG: sensor_msgs/PointField
00282 # This message holds the description of one point entry in the
00283 # PointCloud2 message format.
00284 uint8 INT8    = 1
00285 uint8 UINT8   = 2
00286 uint8 INT16   = 3
00287 uint8 UINT16  = 4
00288 uint8 INT32   = 5
00289 uint8 UINT32  = 6
00290 uint8 FLOAT32 = 7
00291 uint8 FLOAT64 = 8
00292 
00293 string name      # Name of field
00294 uint32 offset    # Offset from start of point struct
00295 uint8  datatype  # Datatype enumeration, see above
00296 uint32 count     # How many elements in the field
00297 
00298 ================================================================================
00299 MSG: sensor_msgs/Image
00300 # This message contains an uncompressed image
00301 # (0, 0) is at top-left corner of image
00302 #
00303 
00304 Header header        # Header timestamp should be acquisition time of image
00305                      # Header frame_id should be optical frame of camera
00306                      # origin of frame should be optical center of cameara
00307                      # +x should point to the right in the image
00308                      # +y should point down in the image
00309                      # +z should point into to plane of the image
00310                      # If the frame_id here and the frame_id of the CameraInfo
00311                      # message associated with the image conflict
00312                      # the behavior is undefined
00313 
00314 uint32 height         # image height, that is, number of rows
00315 uint32 width          # image width, that is, number of columns
00316 
00317 # The legal values for encoding are in file src/image_encodings.cpp
00318 # If you want to standardize a new string format, join
00319 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.
00320 
00321 string encoding       # Encoding of pixels -- channel meaning, ordering, size
00322                       # taken from the list of strings in src/image_encodings.cpp
00323 
00324 uint8 is_bigendian    # is this data bigendian?
00325 uint32 step           # Full row length in bytes
00326 uint8[] data          # actual matrix data, size is (step * rows)
00327 
00328 ================================================================================
00329 MSG: sensor_msgs/CameraInfo
00330 # This message defines meta information for a camera. It should be in a
00331 # camera namespace on topic "camera_info" and accompanied by up to five
00332 # image topics named:
00333 #
00334 #   image_raw - raw data from the camera driver, possibly Bayer encoded
00335 #   image            - monochrome, distorted
00336 #   image_color      - color, distorted
00337 #   image_rect       - monochrome, rectified
00338 #   image_rect_color - color, rectified
00339 #
00340 # The image_pipeline contains packages (image_proc, stereo_image_proc)
00341 # for producing the four processed image topics from image_raw and
00342 # camera_info. The meaning of the camera parameters are described in
00343 # detail at http://www.ros.org/wiki/image_pipeline/CameraInfo.
00344 #
00345 # The image_geometry package provides a user-friendly interface to
00346 # common operations using this meta information. If you want to, e.g.,
00347 # project a 3d point into image coordinates, we strongly recommend
00348 # using image_geometry.
00349 #
00350 # If the camera is uncalibrated, the matrices D, K, R, P should be left
00351 # zeroed out. In particular, clients may assume that K[0] == 0.0
00352 # indicates an uncalibrated camera.
00353 
00354 #######################################################################
00355 #                     Image acquisition info                          #
00356 #######################################################################
00357 
00358 # Time of image acquisition, camera coordinate frame ID
00359 Header header    # Header timestamp should be acquisition time of image
00360                  # Header frame_id should be optical frame of camera
00361                  # origin of frame should be optical center of camera
00362                  # +x should point to the right in the image
00363                  # +y should point down in the image
00364                  # +z should point into the plane of the image
00365 
00366 
00367 #######################################################################
00368 #                      Calibration Parameters                         #
00369 #######################################################################
00370 # These are fixed during camera calibration. Their values will be the #
00371 # same in all messages until the camera is recalibrated. Note that    #
00372 # self-calibrating systems may "recalibrate" frequently.              #
00373 #                                                                     #
00374 # The internal parameters can be used to warp a raw (distorted) image #
00375 # to:                                                                 #
00376 #   1. An undistorted image (requires D and K)                        #
00377 #   2. A rectified image (requires D, K, R)                           #
00378 # The projection matrix P projects 3D points into the rectified image.#
00379 #######################################################################
00380 
00381 # The image dimensions with which the camera was calibrated. Normally
00382 # this will be the full camera resolution in pixels.
00383 uint32 height
00384 uint32 width
00385 
00386 # The distortion model used. Supported models are listed in
00387 # sensor_msgs/distortion_models.h. For most cameras, "plumb_bob" - a
00388 # simple model of radial and tangential distortion - is sufficent.
00389 string distortion_model
00390 
00391 # The distortion parameters, size depending on the distortion model.
00392 # For "plumb_bob", the 5 parameters are: (k1, k2, t1, t2, k3).
00393 float64[] D
00394 
00395 # Intrinsic camera matrix for the raw (distorted) images.
00396 #     [fx  0 cx]
00397 # K = [ 0 fy cy]
00398 #     [ 0  0  1]
00399 # Projects 3D points in the camera coordinate frame to 2D pixel
00400 # coordinates using the focal lengths (fx, fy) and principal point
00401 # (cx, cy).
00402 float64[9]  K # 3x3 row-major matrix
00403 
00404 # Rectification matrix (stereo cameras only)
00405 # A rotation matrix aligning the camera coordinate system to the ideal
00406 # stereo image plane so that epipolar lines in both stereo images are
00407 # parallel.
00408 float64[9]  R # 3x3 row-major matrix
00409 
00410 # Projection/camera matrix
00411 #     [fx'  0  cx' Tx]
00412 # P = [ 0  fy' cy' Ty]
00413 #     [ 0   0   1   0]
00414 # By convention, this matrix specifies the intrinsic (camera) matrix
00415 #  of the processed (rectified) image. That is, the left 3x3 portion
00416 #  is the normal camera intrinsic matrix for the rectified image.
00417 # It projects 3D points in the camera coordinate frame to 2D pixel
00418 #  coordinates using the focal lengths (fx', fy') and principal point
00419 #  (cx', cy') - these may differ from the values in K.
00420 # For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will
00421 #  also have R = the identity and P[1:3,1:3] = K.
00422 # For a stereo pair, the fourth column [Tx Ty 0]' is related to the
00423 #  position of the optical center of the second camera in the first
00424 #  camera's frame. We assume Tz = 0 so both cameras are in the same
00425 #  stereo image plane. The first camera always has Tx = Ty = 0. For
00426 #  the right (second) camera of a horizontal stereo pair, Ty = 0 and
00427 #  Tx = -fx' * B, where B is the baseline between the cameras.
00428 # Given a 3D point [X Y Z]', the projection (x, y) of the point onto
00429 #  the rectified image is given by:
00430 #  [u v w]' = P * [X Y Z 1]'
00431 #         x = u / w
00432 #         y = v / w
00433 #  This holds for both images of a stereo pair.
00434 float64[12] P # 3x4 row-major matrix
00435 
00436 
00437 #######################################################################
00438 #                      Operational Parameters                         #
00439 #######################################################################
00440 # These define the image region actually captured by the camera       #
00441 # driver. Although they affect the geometry of the output image, they #
00442 # may be changed freely without recalibrating the camera.             #
00443 #######################################################################
00444 
00445 # Binning refers here to any camera setting which combines rectangular
00446 #  neighborhoods of pixels into larger "super-pixels." It reduces the
00447 #  resolution of the output image to
00448 #  (width / binning_x) x (height / binning_y).
00449 # The default values binning_x = binning_y = 0 is considered the same
00450 #  as binning_x = binning_y = 1 (no subsampling).
00451 uint32 binning_x
00452 uint32 binning_y
00453 
00454 # Region of interest (subwindow of full camera resolution), given in
00455 #  full resolution (unbinned) image coordinates. A particular ROI
00456 #  always denotes the same window of pixels on the camera sensor,
00457 #  regardless of binning settings.
00458 # The default setting of roi (all values 0) is considered the same as
00459 #  full resolution (roi.width = width, roi.height = height).
00460 RegionOfInterest roi
00461 
00462 ================================================================================
00463 MSG: sensor_msgs/RegionOfInterest
00464 # This message is used to specify a region of interest within an image.
00465 #
00466 # When used to specify the ROI setting of the camera when the image was
00467 # taken, the height and width fields should either match the height and
00468 # width fields for the associated image; or height = width = 0
00469 # indicates that the full resolution image was captured.
00470 
00471 uint32 x_offset  # Leftmost pixel of the ROI
00472                  # (0 if the ROI includes the left edge of the image)
00473 uint32 y_offset  # Topmost pixel of the ROI
00474                  # (0 if the ROI includes the top edge of the image)
00475 uint32 height    # Height of ROI
00476 uint32 width     # Width of ROI
00477 
00478 # True if a distinct rectified ROI should be calculated from the "raw"
00479 # ROI in this message. Typically this should be False if the full image
00480 # is captured (ROI not used), and True if a subwindow is captured (ROI
00481 # used).
00482 bool do_rectify
00483 
00484 ================================================================================
00485 MSG: geometry_msgs/Vector3
00486 # This represents a vector in free space. 
00487 
00488 float64 x
00489 float64 y
00490 float64 z
00491 ================================================================================
00492 MSG: trajectory_msgs/JointTrajectory
00493 Header header
00494 string[] joint_names
00495 JointTrajectoryPoint[] points
00496 ================================================================================
00497 MSG: trajectory_msgs/JointTrajectoryPoint
00498 float64[] positions
00499 float64[] velocities
00500 float64[] accelerations
00501 duration time_from_start
00502 ================================================================================
00503 MSG: sensor_msgs/JointState
00504 # This is a message that holds data to describe the state of a set of torque controlled joints. 
00505 #
00506 # The state of each joint (revolute or prismatic) is defined by:
00507 #  * the position of the joint (rad or m),
00508 #  * the velocity of the joint (rad/s or m/s) and 
00509 #  * the effort that is applied in the joint (Nm or N).
00510 #
00511 # Each joint is uniquely identified by its name
00512 # The header specifies the time at which the joint states were recorded. All the joint states
00513 # in one message have to be recorded at the same time.
00514 #
00515 # This message consists of a multiple arrays, one for each part of the joint state. 
00516 # The goal is to make each of the fields optional. When e.g. your joints have no
00517 # effort associated with them, you can leave the effort array empty. 
00518 #
00519 # All arrays in this message should have the same size, or be empty.
00520 # This is the only way to uniquely associate the joint name with the correct
00521 # states.
00522 
00523 
00524 Header header
00525 
00526 string[] name
00527 float64[] position
00528 float64[] velocity
00529 float64[] effort
00530 
00531 ================================================================================
00532 MSG: object_manipulation_msgs/ReactiveGraspActionResult
00533 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00534 
00535 Header header
00536 actionlib_msgs/GoalStatus status
00537 ReactiveGraspResult result
00538 
00539 ================================================================================
00540 MSG: actionlib_msgs/GoalStatus
00541 GoalID goal_id
00542 uint8 status
00543 uint8 PENDING         = 0   # The goal has yet to be processed by the action server
00544 uint8 ACTIVE          = 1   # The goal is currently being processed by the action server
00545 uint8 PREEMPTED       = 2   # The goal received a cancel request after it started executing
00546                             #   and has since completed its execution (Terminal State)
00547 uint8 SUCCEEDED       = 3   # The goal was achieved successfully by the action server (Terminal State)
00548 uint8 ABORTED         = 4   # The goal was aborted during execution by the action server due
00549                             #    to some failure (Terminal State)
00550 uint8 REJECTED        = 5   # The goal was rejected by the action server without being processed,
00551                             #    because the goal was unattainable or invalid (Terminal State)
00552 uint8 PREEMPTING      = 6   # The goal received a cancel request after it started executing
00553                             #    and has not yet completed execution
00554 uint8 RECALLING       = 7   # The goal received a cancel request before it started executing,
00555                             #    but the action server has not yet confirmed that the goal is canceled
00556 uint8 RECALLED        = 8   # The goal received a cancel request before it started executing
00557                             #    and was successfully cancelled (Terminal State)
00558 uint8 LOST            = 9   # An action client can determine that a goal is LOST. This should not be
00559                             #    sent over the wire by an action server
00560 
00561 #Allow for the user to associate a string with GoalStatus for debugging
00562 string text
00563 
00564 
00565 ================================================================================
00566 MSG: object_manipulation_msgs/ReactiveGraspResult
00567 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00568 
00569 # the result of the reactive grasp attempt
00570 
00571 ManipulationResult manipulation_result
00572 
00573 
00574 ================================================================================
00575 MSG: object_manipulation_msgs/ManipulationResult
00576 # Result codes for manipulation tasks
00577 
00578 # task completed as expected
00579 # generally means you can proceed as planned
00580 int32 SUCCESS = 1
00581 
00582 # task not possible (e.g. out of reach or obstacles in the way)
00583 # generally means that the world was not disturbed, so you can try another task
00584 int32 UNFEASIBLE = -1
00585 
00586 # task was thought possible, but failed due to unexpected events during execution
00587 # it is likely that the world was disturbed, so you are encouraged to refresh
00588 # your sensed world model before proceeding to another task
00589 int32 FAILED = -2
00590 
00591 # a lower level error prevented task completion (e.g. joint controller not responding)
00592 # generally requires human attention
00593 int32 ERROR = -3
00594 
00595 # means that at some point during execution we ended up in a state that the collision-aware
00596 # arm navigation module will not move out of. The world was likely not disturbed, but you 
00597 # probably need a new collision map to move the arm out of the stuck position
00598 int32 ARM_MOVEMENT_PREVENTED = -4
00599 
00600 # specific to grasp actions
00601 # the object was grasped successfully, but the lift attempt could not achieve the minimum lift distance requested
00602 # it is likely that the collision environment will see collisions between the hand/object and the support surface
00603 int32 LIFT_FAILED = -5
00604 
00605 # specific to place actions
00606 # the object was placed successfully, but the retreat attempt could not achieve the minimum retreat distance requested
00607 # it is likely that the collision environment will see collisions between the hand and the object
00608 int32 RETREAT_FAILED = -6
00609 
00610 # indicates that somewhere along the line a human said "wait, stop, this is bad, go back and do something else"
00611 int32 CANCELLED = -7
00612 
00613 # the actual value of this error code
00614 int32 value
00615 
00616 ================================================================================
00617 MSG: object_manipulation_msgs/ReactiveGraspActionFeedback
00618 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00619 
00620 Header header
00621 actionlib_msgs/GoalStatus status
00622 ReactiveGraspFeedback feedback
00623 
00624 ================================================================================
00625 MSG: object_manipulation_msgs/ReactiveGraspFeedback
00626 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00627 
00628 # which phase the grasp is in
00629 
00630 ManipulationPhase manipulation_phase
00631 
00632 
00633 
00634 
00635 ================================================================================
00636 MSG: object_manipulation_msgs/ManipulationPhase
00637 int32 CHECKING_FEASIBILITY = 0
00638 int32 MOVING_TO_PREGRASP = 1
00639 int32 MOVING_TO_GRASP = 2
00640 int32 CLOSING = 3 
00641 int32 ADJUSTING_GRASP = 4
00642 int32 LIFTING = 5
00643 int32 MOVING_WITH_OBJECT = 6
00644 int32 MOVING_TO_PLACE = 7
00645 int32 PLACING = 8
00646 int32 OPENING = 9
00647 int32 RETREATING = 10
00648 int32 MOVING_WITHOUT_OBJECT = 11
00649 int32 SHAKING = 12
00650 int32 SUCCEEDED = 13
00651 int32 FAILED = 14
00652 int32 ABORTED = 15
00653 int32 HOLDING_OBJECT = 16
00654 
00655 int32 phase
00656 """
00657   __slots__ = ['action_goal','action_result','action_feedback']
00658   _slot_types = ['object_manipulation_msgs/ReactiveGraspActionGoal','object_manipulation_msgs/ReactiveGraspActionResult','object_manipulation_msgs/ReactiveGraspActionFeedback']
00659 
00660   def __init__(self, *args, **kwds):
00661     """
00662     Constructor. Any message fields that are implicitly/explicitly
00663     set to None will be assigned a default value. The recommend
00664     use is keyword arguments as this is more robust to future message
00665     changes.  You cannot mix in-order arguments and keyword arguments.
00666 
00667     The available fields are:
00668        action_goal,action_result,action_feedback
00669 
00670     :param args: complete set of field values, in .msg order
00671     :param kwds: use keyword arguments corresponding to message field names
00672     to set specific fields.
00673     """
00674     if args or kwds:
00675       super(ReactiveGraspAction, self).__init__(*args, **kwds)
00676       #message fields cannot be None, assign default values for those that are
00677       if self.action_goal is None:
00678         self.action_goal = object_manipulation_msgs.msg.ReactiveGraspActionGoal()
00679       if self.action_result is None:
00680         self.action_result = object_manipulation_msgs.msg.ReactiveGraspActionResult()
00681       if self.action_feedback is None:
00682         self.action_feedback = object_manipulation_msgs.msg.ReactiveGraspActionFeedback()
00683     else:
00684       self.action_goal = object_manipulation_msgs.msg.ReactiveGraspActionGoal()
00685       self.action_result = object_manipulation_msgs.msg.ReactiveGraspActionResult()
00686       self.action_feedback = object_manipulation_msgs.msg.ReactiveGraspActionFeedback()
00687 
00688   def _get_types(self):
00689     """
00690     internal API method
00691     """
00692     return self._slot_types
00693 
00694   def serialize(self, buff):
00695     """
00696     serialize message into buffer
00697     :param buff: buffer, ``StringIO``
00698     """
00699     try:
00700       _x = self
00701       buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
00702       _x = self.action_goal.header.frame_id
00703       length = len(_x)
00704       if python3 or type(_x) == unicode:
00705         _x = _x.encode('utf-8')
00706         length = len(_x)
00707       buff.write(struct.pack('<I%ss'%length, length, _x))
00708       _x = self
00709       buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
00710       _x = self.action_goal.goal_id.id
00711       length = len(_x)
00712       if python3 or type(_x) == unicode:
00713         _x = _x.encode('utf-8')
00714         length = len(_x)
00715       buff.write(struct.pack('<I%ss'%length, length, _x))
00716       _x = self.action_goal.goal.arm_name
00717       length = len(_x)
00718       if python3 or type(_x) == unicode:
00719         _x = _x.encode('utf-8')
00720         length = len(_x)
00721       buff.write(struct.pack('<I%ss'%length, length, _x))
00722       _x = self.action_goal.goal.target.reference_frame_id
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       length = len(self.action_goal.goal.target.potential_models)
00729       buff.write(_struct_I.pack(length))
00730       for val1 in self.action_goal.goal.target.potential_models:
00731         buff.write(_struct_i.pack(val1.model_id))
00732         _v1 = val1.pose
00733         _v2 = _v1.header
00734         buff.write(_struct_I.pack(_v2.seq))
00735         _v3 = _v2.stamp
00736         _x = _v3
00737         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00738         _x = _v2.frame_id
00739         length = len(_x)
00740         if python3 or type(_x) == unicode:
00741           _x = _x.encode('utf-8')
00742           length = len(_x)
00743         buff.write(struct.pack('<I%ss'%length, length, _x))
00744         _v4 = _v1.pose
00745         _v5 = _v4.position
00746         _x = _v5
00747         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00748         _v6 = _v4.orientation
00749         _x = _v6
00750         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00751         buff.write(_struct_f.pack(val1.confidence))
00752         _x = val1.detector_name
00753         length = len(_x)
00754         if python3 or type(_x) == unicode:
00755           _x = _x.encode('utf-8')
00756           length = len(_x)
00757         buff.write(struct.pack('<I%ss'%length, length, _x))
00758       _x = self
00759       buff.write(_struct_3I.pack(_x.action_goal.goal.target.cluster.header.seq, _x.action_goal.goal.target.cluster.header.stamp.secs, _x.action_goal.goal.target.cluster.header.stamp.nsecs))
00760       _x = self.action_goal.goal.target.cluster.header.frame_id
00761       length = len(_x)
00762       if python3 or type(_x) == unicode:
00763         _x = _x.encode('utf-8')
00764         length = len(_x)
00765       buff.write(struct.pack('<I%ss'%length, length, _x))
00766       length = len(self.action_goal.goal.target.cluster.points)
00767       buff.write(_struct_I.pack(length))
00768       for val1 in self.action_goal.goal.target.cluster.points:
00769         _x = val1
00770         buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
00771       length = len(self.action_goal.goal.target.cluster.channels)
00772       buff.write(_struct_I.pack(length))
00773       for val1 in self.action_goal.goal.target.cluster.channels:
00774         _x = val1.name
00775         length = len(_x)
00776         if python3 or type(_x) == unicode:
00777           _x = _x.encode('utf-8')
00778           length = len(_x)
00779         buff.write(struct.pack('<I%ss'%length, length, _x))
00780         length = len(val1.values)
00781         buff.write(_struct_I.pack(length))
00782         pattern = '<%sf'%length
00783         buff.write(struct.pack(pattern, *val1.values))
00784       _x = self
00785       buff.write(_struct_3I.pack(_x.action_goal.goal.target.region.cloud.header.seq, _x.action_goal.goal.target.region.cloud.header.stamp.secs, _x.action_goal.goal.target.region.cloud.header.stamp.nsecs))
00786       _x = self.action_goal.goal.target.region.cloud.header.frame_id
00787       length = len(_x)
00788       if python3 or type(_x) == unicode:
00789         _x = _x.encode('utf-8')
00790         length = len(_x)
00791       buff.write(struct.pack('<I%ss'%length, length, _x))
00792       _x = self
00793       buff.write(_struct_2I.pack(_x.action_goal.goal.target.region.cloud.height, _x.action_goal.goal.target.region.cloud.width))
00794       length = len(self.action_goal.goal.target.region.cloud.fields)
00795       buff.write(_struct_I.pack(length))
00796       for val1 in self.action_goal.goal.target.region.cloud.fields:
00797         _x = val1.name
00798         length = len(_x)
00799         if python3 or type(_x) == unicode:
00800           _x = _x.encode('utf-8')
00801           length = len(_x)
00802         buff.write(struct.pack('<I%ss'%length, length, _x))
00803         _x = val1
00804         buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00805       _x = self
00806       buff.write(_struct_B2I.pack(_x.action_goal.goal.target.region.cloud.is_bigendian, _x.action_goal.goal.target.region.cloud.point_step, _x.action_goal.goal.target.region.cloud.row_step))
00807       _x = self.action_goal.goal.target.region.cloud.data
00808       length = len(_x)
00809       # - if encoded as a list instead, serialize as bytes instead of string
00810       if type(_x) in [list, tuple]:
00811         buff.write(struct.pack('<I%sB'%length, length, *_x))
00812       else:
00813         buff.write(struct.pack('<I%ss'%length, length, _x))
00814       buff.write(_struct_B.pack(self.action_goal.goal.target.region.cloud.is_dense))
00815       length = len(self.action_goal.goal.target.region.mask)
00816       buff.write(_struct_I.pack(length))
00817       pattern = '<%si'%length
00818       buff.write(struct.pack(pattern, *self.action_goal.goal.target.region.mask))
00819       _x = self
00820       buff.write(_struct_3I.pack(_x.action_goal.goal.target.region.image.header.seq, _x.action_goal.goal.target.region.image.header.stamp.secs, _x.action_goal.goal.target.region.image.header.stamp.nsecs))
00821       _x = self.action_goal.goal.target.region.image.header.frame_id
00822       length = len(_x)
00823       if python3 or type(_x) == unicode:
00824         _x = _x.encode('utf-8')
00825         length = len(_x)
00826       buff.write(struct.pack('<I%ss'%length, length, _x))
00827       _x = self
00828       buff.write(_struct_2I.pack(_x.action_goal.goal.target.region.image.height, _x.action_goal.goal.target.region.image.width))
00829       _x = self.action_goal.goal.target.region.image.encoding
00830       length = len(_x)
00831       if python3 or type(_x) == unicode:
00832         _x = _x.encode('utf-8')
00833         length = len(_x)
00834       buff.write(struct.pack('<I%ss'%length, length, _x))
00835       _x = self
00836       buff.write(_struct_BI.pack(_x.action_goal.goal.target.region.image.is_bigendian, _x.action_goal.goal.target.region.image.step))
00837       _x = self.action_goal.goal.target.region.image.data
00838       length = len(_x)
00839       # - if encoded as a list instead, serialize as bytes instead of string
00840       if type(_x) in [list, tuple]:
00841         buff.write(struct.pack('<I%sB'%length, length, *_x))
00842       else:
00843         buff.write(struct.pack('<I%ss'%length, length, _x))
00844       _x = self
00845       buff.write(_struct_3I.pack(_x.action_goal.goal.target.region.disparity_image.header.seq, _x.action_goal.goal.target.region.disparity_image.header.stamp.secs, _x.action_goal.goal.target.region.disparity_image.header.stamp.nsecs))
00846       _x = self.action_goal.goal.target.region.disparity_image.header.frame_id
00847       length = len(_x)
00848       if python3 or type(_x) == unicode:
00849         _x = _x.encode('utf-8')
00850         length = len(_x)
00851       buff.write(struct.pack('<I%ss'%length, length, _x))
00852       _x = self
00853       buff.write(_struct_2I.pack(_x.action_goal.goal.target.region.disparity_image.height, _x.action_goal.goal.target.region.disparity_image.width))
00854       _x = self.action_goal.goal.target.region.disparity_image.encoding
00855       length = len(_x)
00856       if python3 or type(_x) == unicode:
00857         _x = _x.encode('utf-8')
00858         length = len(_x)
00859       buff.write(struct.pack('<I%ss'%length, length, _x))
00860       _x = self
00861       buff.write(_struct_BI.pack(_x.action_goal.goal.target.region.disparity_image.is_bigendian, _x.action_goal.goal.target.region.disparity_image.step))
00862       _x = self.action_goal.goal.target.region.disparity_image.data
00863       length = len(_x)
00864       # - if encoded as a list instead, serialize as bytes instead of string
00865       if type(_x) in [list, tuple]:
00866         buff.write(struct.pack('<I%sB'%length, length, *_x))
00867       else:
00868         buff.write(struct.pack('<I%ss'%length, length, _x))
00869       _x = self
00870       buff.write(_struct_3I.pack(_x.action_goal.goal.target.region.cam_info.header.seq, _x.action_goal.goal.target.region.cam_info.header.stamp.secs, _x.action_goal.goal.target.region.cam_info.header.stamp.nsecs))
00871       _x = self.action_goal.goal.target.region.cam_info.header.frame_id
00872       length = len(_x)
00873       if python3 or type(_x) == unicode:
00874         _x = _x.encode('utf-8')
00875         length = len(_x)
00876       buff.write(struct.pack('<I%ss'%length, length, _x))
00877       _x = self
00878       buff.write(_struct_2I.pack(_x.action_goal.goal.target.region.cam_info.height, _x.action_goal.goal.target.region.cam_info.width))
00879       _x = self.action_goal.goal.target.region.cam_info.distortion_model
00880       length = len(_x)
00881       if python3 or type(_x) == unicode:
00882         _x = _x.encode('utf-8')
00883         length = len(_x)
00884       buff.write(struct.pack('<I%ss'%length, length, _x))
00885       length = len(self.action_goal.goal.target.region.cam_info.D)
00886       buff.write(_struct_I.pack(length))
00887       pattern = '<%sd'%length
00888       buff.write(struct.pack(pattern, *self.action_goal.goal.target.region.cam_info.D))
00889       buff.write(_struct_9d.pack(*self.action_goal.goal.target.region.cam_info.K))
00890       buff.write(_struct_9d.pack(*self.action_goal.goal.target.region.cam_info.R))
00891       buff.write(_struct_12d.pack(*self.action_goal.goal.target.region.cam_info.P))
00892       _x = self
00893       buff.write(_struct_6IB3I.pack(_x.action_goal.goal.target.region.cam_info.binning_x, _x.action_goal.goal.target.region.cam_info.binning_y, _x.action_goal.goal.target.region.cam_info.roi.x_offset, _x.action_goal.goal.target.region.cam_info.roi.y_offset, _x.action_goal.goal.target.region.cam_info.roi.height, _x.action_goal.goal.target.region.cam_info.roi.width, _x.action_goal.goal.target.region.cam_info.roi.do_rectify, _x.action_goal.goal.target.region.roi_box_pose.header.seq, _x.action_goal.goal.target.region.roi_box_pose.header.stamp.secs, _x.action_goal.goal.target.region.roi_box_pose.header.stamp.nsecs))
00894       _x = self.action_goal.goal.target.region.roi_box_pose.header.frame_id
00895       length = len(_x)
00896       if python3 or type(_x) == unicode:
00897         _x = _x.encode('utf-8')
00898         length = len(_x)
00899       buff.write(struct.pack('<I%ss'%length, length, _x))
00900       _x = self
00901       buff.write(_struct_10d.pack(_x.action_goal.goal.target.region.roi_box_pose.pose.position.x, _x.action_goal.goal.target.region.roi_box_pose.pose.position.y, _x.action_goal.goal.target.region.roi_box_pose.pose.position.z, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.x, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.y, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.z, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.w, _x.action_goal.goal.target.region.roi_box_dims.x, _x.action_goal.goal.target.region.roi_box_dims.y, _x.action_goal.goal.target.region.roi_box_dims.z))
00902       _x = self.action_goal.goal.target.collision_name
00903       length = len(_x)
00904       if python3 or type(_x) == unicode:
00905         _x = _x.encode('utf-8')
00906         length = len(_x)
00907       buff.write(struct.pack('<I%ss'%length, length, _x))
00908       _x = self
00909       buff.write(_struct_3I.pack(_x.action_goal.goal.final_grasp_pose.header.seq, _x.action_goal.goal.final_grasp_pose.header.stamp.secs, _x.action_goal.goal.final_grasp_pose.header.stamp.nsecs))
00910       _x = self.action_goal.goal.final_grasp_pose.header.frame_id
00911       length = len(_x)
00912       if python3 or type(_x) == unicode:
00913         _x = _x.encode('utf-8')
00914         length = len(_x)
00915       buff.write(struct.pack('<I%ss'%length, length, _x))
00916       _x = self
00917       buff.write(_struct_7d3I.pack(_x.action_goal.goal.final_grasp_pose.pose.position.x, _x.action_goal.goal.final_grasp_pose.pose.position.y, _x.action_goal.goal.final_grasp_pose.pose.position.z, _x.action_goal.goal.final_grasp_pose.pose.orientation.x, _x.action_goal.goal.final_grasp_pose.pose.orientation.y, _x.action_goal.goal.final_grasp_pose.pose.orientation.z, _x.action_goal.goal.final_grasp_pose.pose.orientation.w, _x.action_goal.goal.trajectory.header.seq, _x.action_goal.goal.trajectory.header.stamp.secs, _x.action_goal.goal.trajectory.header.stamp.nsecs))
00918       _x = self.action_goal.goal.trajectory.header.frame_id
00919       length = len(_x)
00920       if python3 or type(_x) == unicode:
00921         _x = _x.encode('utf-8')
00922         length = len(_x)
00923       buff.write(struct.pack('<I%ss'%length, length, _x))
00924       length = len(self.action_goal.goal.trajectory.joint_names)
00925       buff.write(_struct_I.pack(length))
00926       for val1 in self.action_goal.goal.trajectory.joint_names:
00927         length = len(val1)
00928         if python3 or type(val1) == unicode:
00929           val1 = val1.encode('utf-8')
00930           length = len(val1)
00931         buff.write(struct.pack('<I%ss'%length, length, val1))
00932       length = len(self.action_goal.goal.trajectory.points)
00933       buff.write(_struct_I.pack(length))
00934       for val1 in self.action_goal.goal.trajectory.points:
00935         length = len(val1.positions)
00936         buff.write(_struct_I.pack(length))
00937         pattern = '<%sd'%length
00938         buff.write(struct.pack(pattern, *val1.positions))
00939         length = len(val1.velocities)
00940         buff.write(_struct_I.pack(length))
00941         pattern = '<%sd'%length
00942         buff.write(struct.pack(pattern, *val1.velocities))
00943         length = len(val1.accelerations)
00944         buff.write(_struct_I.pack(length))
00945         pattern = '<%sd'%length
00946         buff.write(struct.pack(pattern, *val1.accelerations))
00947         _v7 = val1.time_from_start
00948         _x = _v7
00949         buff.write(_struct_2i.pack(_x.secs, _x.nsecs))
00950       _x = self.action_goal.goal.collision_support_surface_name
00951       length = len(_x)
00952       if python3 or type(_x) == unicode:
00953         _x = _x.encode('utf-8')
00954         length = len(_x)
00955       buff.write(struct.pack('<I%ss'%length, length, _x))
00956       _x = self
00957       buff.write(_struct_3I.pack(_x.action_goal.goal.pre_grasp_posture.header.seq, _x.action_goal.goal.pre_grasp_posture.header.stamp.secs, _x.action_goal.goal.pre_grasp_posture.header.stamp.nsecs))
00958       _x = self.action_goal.goal.pre_grasp_posture.header.frame_id
00959       length = len(_x)
00960       if python3 or type(_x) == unicode:
00961         _x = _x.encode('utf-8')
00962         length = len(_x)
00963       buff.write(struct.pack('<I%ss'%length, length, _x))
00964       length = len(self.action_goal.goal.pre_grasp_posture.name)
00965       buff.write(_struct_I.pack(length))
00966       for val1 in self.action_goal.goal.pre_grasp_posture.name:
00967         length = len(val1)
00968         if python3 or type(val1) == unicode:
00969           val1 = val1.encode('utf-8')
00970           length = len(val1)
00971         buff.write(struct.pack('<I%ss'%length, length, val1))
00972       length = len(self.action_goal.goal.pre_grasp_posture.position)
00973       buff.write(_struct_I.pack(length))
00974       pattern = '<%sd'%length
00975       buff.write(struct.pack(pattern, *self.action_goal.goal.pre_grasp_posture.position))
00976       length = len(self.action_goal.goal.pre_grasp_posture.velocity)
00977       buff.write(_struct_I.pack(length))
00978       pattern = '<%sd'%length
00979       buff.write(struct.pack(pattern, *self.action_goal.goal.pre_grasp_posture.velocity))
00980       length = len(self.action_goal.goal.pre_grasp_posture.effort)
00981       buff.write(_struct_I.pack(length))
00982       pattern = '<%sd'%length
00983       buff.write(struct.pack(pattern, *self.action_goal.goal.pre_grasp_posture.effort))
00984       _x = self
00985       buff.write(_struct_3I.pack(_x.action_goal.goal.grasp_posture.header.seq, _x.action_goal.goal.grasp_posture.header.stamp.secs, _x.action_goal.goal.grasp_posture.header.stamp.nsecs))
00986       _x = self.action_goal.goal.grasp_posture.header.frame_id
00987       length = len(_x)
00988       if python3 or type(_x) == unicode:
00989         _x = _x.encode('utf-8')
00990         length = len(_x)
00991       buff.write(struct.pack('<I%ss'%length, length, _x))
00992       length = len(self.action_goal.goal.grasp_posture.name)
00993       buff.write(_struct_I.pack(length))
00994       for val1 in self.action_goal.goal.grasp_posture.name:
00995         length = len(val1)
00996         if python3 or type(val1) == unicode:
00997           val1 = val1.encode('utf-8')
00998           length = len(val1)
00999         buff.write(struct.pack('<I%ss'%length, length, val1))
01000       length = len(self.action_goal.goal.grasp_posture.position)
01001       buff.write(_struct_I.pack(length))
01002       pattern = '<%sd'%length
01003       buff.write(struct.pack(pattern, *self.action_goal.goal.grasp_posture.position))
01004       length = len(self.action_goal.goal.grasp_posture.velocity)
01005       buff.write(_struct_I.pack(length))
01006       pattern = '<%sd'%length
01007       buff.write(struct.pack(pattern, *self.action_goal.goal.grasp_posture.velocity))
01008       length = len(self.action_goal.goal.grasp_posture.effort)
01009       buff.write(_struct_I.pack(length))
01010       pattern = '<%sd'%length
01011       buff.write(struct.pack(pattern, *self.action_goal.goal.grasp_posture.effort))
01012       _x = self
01013       buff.write(_struct_f3I.pack(_x.action_goal.goal.max_contact_force, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
01014       _x = self.action_result.header.frame_id
01015       length = len(_x)
01016       if python3 or type(_x) == unicode:
01017         _x = _x.encode('utf-8')
01018         length = len(_x)
01019       buff.write(struct.pack('<I%ss'%length, length, _x))
01020       _x = self
01021       buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
01022       _x = self.action_result.status.goal_id.id
01023       length = len(_x)
01024       if python3 or type(_x) == unicode:
01025         _x = _x.encode('utf-8')
01026         length = len(_x)
01027       buff.write(struct.pack('<I%ss'%length, length, _x))
01028       buff.write(_struct_B.pack(self.action_result.status.status))
01029       _x = self.action_result.status.text
01030       length = len(_x)
01031       if python3 or type(_x) == unicode:
01032         _x = _x.encode('utf-8')
01033         length = len(_x)
01034       buff.write(struct.pack('<I%ss'%length, length, _x))
01035       _x = self
01036       buff.write(_struct_i3I.pack(_x.action_result.result.manipulation_result.value, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
01037       _x = self.action_feedback.header.frame_id
01038       length = len(_x)
01039       if python3 or type(_x) == unicode:
01040         _x = _x.encode('utf-8')
01041         length = len(_x)
01042       buff.write(struct.pack('<I%ss'%length, length, _x))
01043       _x = self
01044       buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
01045       _x = self.action_feedback.status.goal_id.id
01046       length = len(_x)
01047       if python3 or type(_x) == unicode:
01048         _x = _x.encode('utf-8')
01049         length = len(_x)
01050       buff.write(struct.pack('<I%ss'%length, length, _x))
01051       buff.write(_struct_B.pack(self.action_feedback.status.status))
01052       _x = self.action_feedback.status.text
01053       length = len(_x)
01054       if python3 or type(_x) == unicode:
01055         _x = _x.encode('utf-8')
01056         length = len(_x)
01057       buff.write(struct.pack('<I%ss'%length, length, _x))
01058       buff.write(_struct_i.pack(self.action_feedback.feedback.manipulation_phase.phase))
01059     except struct.error as se: self._check_types(se)
01060     except TypeError as te: self._check_types(te)
01061 
01062   def deserialize(self, str):
01063     """
01064     unpack serialized message in str into this message instance
01065     :param str: byte array of serialized message, ``str``
01066     """
01067     try:
01068       if self.action_goal is None:
01069         self.action_goal = object_manipulation_msgs.msg.ReactiveGraspActionGoal()
01070       if self.action_result is None:
01071         self.action_result = object_manipulation_msgs.msg.ReactiveGraspActionResult()
01072       if self.action_feedback is None:
01073         self.action_feedback = object_manipulation_msgs.msg.ReactiveGraspActionFeedback()
01074       end = 0
01075       _x = self
01076       start = end
01077       end += 12
01078       (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01079       start = end
01080       end += 4
01081       (length,) = _struct_I.unpack(str[start:end])
01082       start = end
01083       end += length
01084       if python3:
01085         self.action_goal.header.frame_id = str[start:end].decode('utf-8')
01086       else:
01087         self.action_goal.header.frame_id = str[start:end]
01088       _x = self
01089       start = end
01090       end += 8
01091       (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
01092       start = end
01093       end += 4
01094       (length,) = _struct_I.unpack(str[start:end])
01095       start = end
01096       end += length
01097       if python3:
01098         self.action_goal.goal_id.id = str[start:end].decode('utf-8')
01099       else:
01100         self.action_goal.goal_id.id = str[start:end]
01101       start = end
01102       end += 4
01103       (length,) = _struct_I.unpack(str[start:end])
01104       start = end
01105       end += length
01106       if python3:
01107         self.action_goal.goal.arm_name = str[start:end].decode('utf-8')
01108       else:
01109         self.action_goal.goal.arm_name = str[start:end]
01110       start = end
01111       end += 4
01112       (length,) = _struct_I.unpack(str[start:end])
01113       start = end
01114       end += length
01115       if python3:
01116         self.action_goal.goal.target.reference_frame_id = str[start:end].decode('utf-8')
01117       else:
01118         self.action_goal.goal.target.reference_frame_id = str[start:end]
01119       start = end
01120       end += 4
01121       (length,) = _struct_I.unpack(str[start:end])
01122       self.action_goal.goal.target.potential_models = []
01123       for i in range(0, length):
01124         val1 = household_objects_database_msgs.msg.DatabaseModelPose()
01125         start = end
01126         end += 4
01127         (val1.model_id,) = _struct_i.unpack(str[start:end])
01128         _v8 = val1.pose
01129         _v9 = _v8.header
01130         start = end
01131         end += 4
01132         (_v9.seq,) = _struct_I.unpack(str[start:end])
01133         _v10 = _v9.stamp
01134         _x = _v10
01135         start = end
01136         end += 8
01137         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01138         start = end
01139         end += 4
01140         (length,) = _struct_I.unpack(str[start:end])
01141         start = end
01142         end += length
01143         if python3:
01144           _v9.frame_id = str[start:end].decode('utf-8')
01145         else:
01146           _v9.frame_id = str[start:end]
01147         _v11 = _v8.pose
01148         _v12 = _v11.position
01149         _x = _v12
01150         start = end
01151         end += 24
01152         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01153         _v13 = _v11.orientation
01154         _x = _v13
01155         start = end
01156         end += 32
01157         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01158         start = end
01159         end += 4
01160         (val1.confidence,) = _struct_f.unpack(str[start:end])
01161         start = end
01162         end += 4
01163         (length,) = _struct_I.unpack(str[start:end])
01164         start = end
01165         end += length
01166         if python3:
01167           val1.detector_name = str[start:end].decode('utf-8')
01168         else:
01169           val1.detector_name = str[start:end]
01170         self.action_goal.goal.target.potential_models.append(val1)
01171       _x = self
01172       start = end
01173       end += 12
01174       (_x.action_goal.goal.target.cluster.header.seq, _x.action_goal.goal.target.cluster.header.stamp.secs, _x.action_goal.goal.target.cluster.header.stamp.nsecs,) = _struct_3I.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.action_goal.goal.target.cluster.header.frame_id = str[start:end].decode('utf-8')
01182       else:
01183         self.action_goal.goal.target.cluster.header.frame_id = str[start:end]
01184       start = end
01185       end += 4
01186       (length,) = _struct_I.unpack(str[start:end])
01187       self.action_goal.goal.target.cluster.points = []
01188       for i in range(0, length):
01189         val1 = geometry_msgs.msg.Point32()
01190         _x = val1
01191         start = end
01192         end += 12
01193         (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
01194         self.action_goal.goal.target.cluster.points.append(val1)
01195       start = end
01196       end += 4
01197       (length,) = _struct_I.unpack(str[start:end])
01198       self.action_goal.goal.target.cluster.channels = []
01199       for i in range(0, length):
01200         val1 = sensor_msgs.msg.ChannelFloat32()
01201         start = end
01202         end += 4
01203         (length,) = _struct_I.unpack(str[start:end])
01204         start = end
01205         end += length
01206         if python3:
01207           val1.name = str[start:end].decode('utf-8')
01208         else:
01209           val1.name = str[start:end]
01210         start = end
01211         end += 4
01212         (length,) = _struct_I.unpack(str[start:end])
01213         pattern = '<%sf'%length
01214         start = end
01215         end += struct.calcsize(pattern)
01216         val1.values = struct.unpack(pattern, str[start:end])
01217         self.action_goal.goal.target.cluster.channels.append(val1)
01218       _x = self
01219       start = end
01220       end += 12
01221       (_x.action_goal.goal.target.region.cloud.header.seq, _x.action_goal.goal.target.region.cloud.header.stamp.secs, _x.action_goal.goal.target.region.cloud.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01222       start = end
01223       end += 4
01224       (length,) = _struct_I.unpack(str[start:end])
01225       start = end
01226       end += length
01227       if python3:
01228         self.action_goal.goal.target.region.cloud.header.frame_id = str[start:end].decode('utf-8')
01229       else:
01230         self.action_goal.goal.target.region.cloud.header.frame_id = str[start:end]
01231       _x = self
01232       start = end
01233       end += 8
01234       (_x.action_goal.goal.target.region.cloud.height, _x.action_goal.goal.target.region.cloud.width,) = _struct_2I.unpack(str[start:end])
01235       start = end
01236       end += 4
01237       (length,) = _struct_I.unpack(str[start:end])
01238       self.action_goal.goal.target.region.cloud.fields = []
01239       for i in range(0, length):
01240         val1 = sensor_msgs.msg.PointField()
01241         start = end
01242         end += 4
01243         (length,) = _struct_I.unpack(str[start:end])
01244         start = end
01245         end += length
01246         if python3:
01247           val1.name = str[start:end].decode('utf-8')
01248         else:
01249           val1.name = str[start:end]
01250         _x = val1
01251         start = end
01252         end += 9
01253         (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
01254         self.action_goal.goal.target.region.cloud.fields.append(val1)
01255       _x = self
01256       start = end
01257       end += 9
01258       (_x.action_goal.goal.target.region.cloud.is_bigendian, _x.action_goal.goal.target.region.cloud.point_step, _x.action_goal.goal.target.region.cloud.row_step,) = _struct_B2I.unpack(str[start:end])
01259       self.action_goal.goal.target.region.cloud.is_bigendian = bool(self.action_goal.goal.target.region.cloud.is_bigendian)
01260       start = end
01261       end += 4
01262       (length,) = _struct_I.unpack(str[start:end])
01263       start = end
01264       end += length
01265       if python3:
01266         self.action_goal.goal.target.region.cloud.data = str[start:end].decode('utf-8')
01267       else:
01268         self.action_goal.goal.target.region.cloud.data = str[start:end]
01269       start = end
01270       end += 1
01271       (self.action_goal.goal.target.region.cloud.is_dense,) = _struct_B.unpack(str[start:end])
01272       self.action_goal.goal.target.region.cloud.is_dense = bool(self.action_goal.goal.target.region.cloud.is_dense)
01273       start = end
01274       end += 4
01275       (length,) = _struct_I.unpack(str[start:end])
01276       pattern = '<%si'%length
01277       start = end
01278       end += struct.calcsize(pattern)
01279       self.action_goal.goal.target.region.mask = struct.unpack(pattern, str[start:end])
01280       _x = self
01281       start = end
01282       end += 12
01283       (_x.action_goal.goal.target.region.image.header.seq, _x.action_goal.goal.target.region.image.header.stamp.secs, _x.action_goal.goal.target.region.image.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01284       start = end
01285       end += 4
01286       (length,) = _struct_I.unpack(str[start:end])
01287       start = end
01288       end += length
01289       if python3:
01290         self.action_goal.goal.target.region.image.header.frame_id = str[start:end].decode('utf-8')
01291       else:
01292         self.action_goal.goal.target.region.image.header.frame_id = str[start:end]
01293       _x = self
01294       start = end
01295       end += 8
01296       (_x.action_goal.goal.target.region.image.height, _x.action_goal.goal.target.region.image.width,) = _struct_2I.unpack(str[start:end])
01297       start = end
01298       end += 4
01299       (length,) = _struct_I.unpack(str[start:end])
01300       start = end
01301       end += length
01302       if python3:
01303         self.action_goal.goal.target.region.image.encoding = str[start:end].decode('utf-8')
01304       else:
01305         self.action_goal.goal.target.region.image.encoding = str[start:end]
01306       _x = self
01307       start = end
01308       end += 5
01309       (_x.action_goal.goal.target.region.image.is_bigendian, _x.action_goal.goal.target.region.image.step,) = _struct_BI.unpack(str[start:end])
01310       start = end
01311       end += 4
01312       (length,) = _struct_I.unpack(str[start:end])
01313       start = end
01314       end += length
01315       if python3:
01316         self.action_goal.goal.target.region.image.data = str[start:end].decode('utf-8')
01317       else:
01318         self.action_goal.goal.target.region.image.data = str[start:end]
01319       _x = self
01320       start = end
01321       end += 12
01322       (_x.action_goal.goal.target.region.disparity_image.header.seq, _x.action_goal.goal.target.region.disparity_image.header.stamp.secs, _x.action_goal.goal.target.region.disparity_image.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01323       start = end
01324       end += 4
01325       (length,) = _struct_I.unpack(str[start:end])
01326       start = end
01327       end += length
01328       if python3:
01329         self.action_goal.goal.target.region.disparity_image.header.frame_id = str[start:end].decode('utf-8')
01330       else:
01331         self.action_goal.goal.target.region.disparity_image.header.frame_id = str[start:end]
01332       _x = self
01333       start = end
01334       end += 8
01335       (_x.action_goal.goal.target.region.disparity_image.height, _x.action_goal.goal.target.region.disparity_image.width,) = _struct_2I.unpack(str[start:end])
01336       start = end
01337       end += 4
01338       (length,) = _struct_I.unpack(str[start:end])
01339       start = end
01340       end += length
01341       if python3:
01342         self.action_goal.goal.target.region.disparity_image.encoding = str[start:end].decode('utf-8')
01343       else:
01344         self.action_goal.goal.target.region.disparity_image.encoding = str[start:end]
01345       _x = self
01346       start = end
01347       end += 5
01348       (_x.action_goal.goal.target.region.disparity_image.is_bigendian, _x.action_goal.goal.target.region.disparity_image.step,) = _struct_BI.unpack(str[start:end])
01349       start = end
01350       end += 4
01351       (length,) = _struct_I.unpack(str[start:end])
01352       start = end
01353       end += length
01354       if python3:
01355         self.action_goal.goal.target.region.disparity_image.data = str[start:end].decode('utf-8')
01356       else:
01357         self.action_goal.goal.target.region.disparity_image.data = str[start:end]
01358       _x = self
01359       start = end
01360       end += 12
01361       (_x.action_goal.goal.target.region.cam_info.header.seq, _x.action_goal.goal.target.region.cam_info.header.stamp.secs, _x.action_goal.goal.target.region.cam_info.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01362       start = end
01363       end += 4
01364       (length,) = _struct_I.unpack(str[start:end])
01365       start = end
01366       end += length
01367       if python3:
01368         self.action_goal.goal.target.region.cam_info.header.frame_id = str[start:end].decode('utf-8')
01369       else:
01370         self.action_goal.goal.target.region.cam_info.header.frame_id = str[start:end]
01371       _x = self
01372       start = end
01373       end += 8
01374       (_x.action_goal.goal.target.region.cam_info.height, _x.action_goal.goal.target.region.cam_info.width,) = _struct_2I.unpack(str[start:end])
01375       start = end
01376       end += 4
01377       (length,) = _struct_I.unpack(str[start:end])
01378       start = end
01379       end += length
01380       if python3:
01381         self.action_goal.goal.target.region.cam_info.distortion_model = str[start:end].decode('utf-8')
01382       else:
01383         self.action_goal.goal.target.region.cam_info.distortion_model = str[start:end]
01384       start = end
01385       end += 4
01386       (length,) = _struct_I.unpack(str[start:end])
01387       pattern = '<%sd'%length
01388       start = end
01389       end += struct.calcsize(pattern)
01390       self.action_goal.goal.target.region.cam_info.D = struct.unpack(pattern, str[start:end])
01391       start = end
01392       end += 72
01393       self.action_goal.goal.target.region.cam_info.K = _struct_9d.unpack(str[start:end])
01394       start = end
01395       end += 72
01396       self.action_goal.goal.target.region.cam_info.R = _struct_9d.unpack(str[start:end])
01397       start = end
01398       end += 96
01399       self.action_goal.goal.target.region.cam_info.P = _struct_12d.unpack(str[start:end])
01400       _x = self
01401       start = end
01402       end += 37
01403       (_x.action_goal.goal.target.region.cam_info.binning_x, _x.action_goal.goal.target.region.cam_info.binning_y, _x.action_goal.goal.target.region.cam_info.roi.x_offset, _x.action_goal.goal.target.region.cam_info.roi.y_offset, _x.action_goal.goal.target.region.cam_info.roi.height, _x.action_goal.goal.target.region.cam_info.roi.width, _x.action_goal.goal.target.region.cam_info.roi.do_rectify, _x.action_goal.goal.target.region.roi_box_pose.header.seq, _x.action_goal.goal.target.region.roi_box_pose.header.stamp.secs, _x.action_goal.goal.target.region.roi_box_pose.header.stamp.nsecs,) = _struct_6IB3I.unpack(str[start:end])
01404       self.action_goal.goal.target.region.cam_info.roi.do_rectify = bool(self.action_goal.goal.target.region.cam_info.roi.do_rectify)
01405       start = end
01406       end += 4
01407       (length,) = _struct_I.unpack(str[start:end])
01408       start = end
01409       end += length
01410       if python3:
01411         self.action_goal.goal.target.region.roi_box_pose.header.frame_id = str[start:end].decode('utf-8')
01412       else:
01413         self.action_goal.goal.target.region.roi_box_pose.header.frame_id = str[start:end]
01414       _x = self
01415       start = end
01416       end += 80
01417       (_x.action_goal.goal.target.region.roi_box_pose.pose.position.x, _x.action_goal.goal.target.region.roi_box_pose.pose.position.y, _x.action_goal.goal.target.region.roi_box_pose.pose.position.z, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.x, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.y, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.z, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.w, _x.action_goal.goal.target.region.roi_box_dims.x, _x.action_goal.goal.target.region.roi_box_dims.y, _x.action_goal.goal.target.region.roi_box_dims.z,) = _struct_10d.unpack(str[start:end])
01418       start = end
01419       end += 4
01420       (length,) = _struct_I.unpack(str[start:end])
01421       start = end
01422       end += length
01423       if python3:
01424         self.action_goal.goal.target.collision_name = str[start:end].decode('utf-8')
01425       else:
01426         self.action_goal.goal.target.collision_name = str[start:end]
01427       _x = self
01428       start = end
01429       end += 12
01430       (_x.action_goal.goal.final_grasp_pose.header.seq, _x.action_goal.goal.final_grasp_pose.header.stamp.secs, _x.action_goal.goal.final_grasp_pose.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01431       start = end
01432       end += 4
01433       (length,) = _struct_I.unpack(str[start:end])
01434       start = end
01435       end += length
01436       if python3:
01437         self.action_goal.goal.final_grasp_pose.header.frame_id = str[start:end].decode('utf-8')
01438       else:
01439         self.action_goal.goal.final_grasp_pose.header.frame_id = str[start:end]
01440       _x = self
01441       start = end
01442       end += 68
01443       (_x.action_goal.goal.final_grasp_pose.pose.position.x, _x.action_goal.goal.final_grasp_pose.pose.position.y, _x.action_goal.goal.final_grasp_pose.pose.position.z, _x.action_goal.goal.final_grasp_pose.pose.orientation.x, _x.action_goal.goal.final_grasp_pose.pose.orientation.y, _x.action_goal.goal.final_grasp_pose.pose.orientation.z, _x.action_goal.goal.final_grasp_pose.pose.orientation.w, _x.action_goal.goal.trajectory.header.seq, _x.action_goal.goal.trajectory.header.stamp.secs, _x.action_goal.goal.trajectory.header.stamp.nsecs,) = _struct_7d3I.unpack(str[start:end])
01444       start = end
01445       end += 4
01446       (length,) = _struct_I.unpack(str[start:end])
01447       start = end
01448       end += length
01449       if python3:
01450         self.action_goal.goal.trajectory.header.frame_id = str[start:end].decode('utf-8')
01451       else:
01452         self.action_goal.goal.trajectory.header.frame_id = str[start:end]
01453       start = end
01454       end += 4
01455       (length,) = _struct_I.unpack(str[start:end])
01456       self.action_goal.goal.trajectory.joint_names = []
01457       for i in range(0, length):
01458         start = end
01459         end += 4
01460         (length,) = _struct_I.unpack(str[start:end])
01461         start = end
01462         end += length
01463         if python3:
01464           val1 = str[start:end].decode('utf-8')
01465         else:
01466           val1 = str[start:end]
01467         self.action_goal.goal.trajectory.joint_names.append(val1)
01468       start = end
01469       end += 4
01470       (length,) = _struct_I.unpack(str[start:end])
01471       self.action_goal.goal.trajectory.points = []
01472       for i in range(0, length):
01473         val1 = trajectory_msgs.msg.JointTrajectoryPoint()
01474         start = end
01475         end += 4
01476         (length,) = _struct_I.unpack(str[start:end])
01477         pattern = '<%sd'%length
01478         start = end
01479         end += struct.calcsize(pattern)
01480         val1.positions = struct.unpack(pattern, str[start:end])
01481         start = end
01482         end += 4
01483         (length,) = _struct_I.unpack(str[start:end])
01484         pattern = '<%sd'%length
01485         start = end
01486         end += struct.calcsize(pattern)
01487         val1.velocities = struct.unpack(pattern, str[start:end])
01488         start = end
01489         end += 4
01490         (length,) = _struct_I.unpack(str[start:end])
01491         pattern = '<%sd'%length
01492         start = end
01493         end += struct.calcsize(pattern)
01494         val1.accelerations = struct.unpack(pattern, str[start:end])
01495         _v14 = val1.time_from_start
01496         _x = _v14
01497         start = end
01498         end += 8
01499         (_x.secs, _x.nsecs,) = _struct_2i.unpack(str[start:end])
01500         self.action_goal.goal.trajectory.points.append(val1)
01501       start = end
01502       end += 4
01503       (length,) = _struct_I.unpack(str[start:end])
01504       start = end
01505       end += length
01506       if python3:
01507         self.action_goal.goal.collision_support_surface_name = str[start:end].decode('utf-8')
01508       else:
01509         self.action_goal.goal.collision_support_surface_name = str[start:end]
01510       _x = self
01511       start = end
01512       end += 12
01513       (_x.action_goal.goal.pre_grasp_posture.header.seq, _x.action_goal.goal.pre_grasp_posture.header.stamp.secs, _x.action_goal.goal.pre_grasp_posture.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01514       start = end
01515       end += 4
01516       (length,) = _struct_I.unpack(str[start:end])
01517       start = end
01518       end += length
01519       if python3:
01520         self.action_goal.goal.pre_grasp_posture.header.frame_id = str[start:end].decode('utf-8')
01521       else:
01522         self.action_goal.goal.pre_grasp_posture.header.frame_id = str[start:end]
01523       start = end
01524       end += 4
01525       (length,) = _struct_I.unpack(str[start:end])
01526       self.action_goal.goal.pre_grasp_posture.name = []
01527       for i in range(0, length):
01528         start = end
01529         end += 4
01530         (length,) = _struct_I.unpack(str[start:end])
01531         start = end
01532         end += length
01533         if python3:
01534           val1 = str[start:end].decode('utf-8')
01535         else:
01536           val1 = str[start:end]
01537         self.action_goal.goal.pre_grasp_posture.name.append(val1)
01538       start = end
01539       end += 4
01540       (length,) = _struct_I.unpack(str[start:end])
01541       pattern = '<%sd'%length
01542       start = end
01543       end += struct.calcsize(pattern)
01544       self.action_goal.goal.pre_grasp_posture.position = struct.unpack(pattern, str[start:end])
01545       start = end
01546       end += 4
01547       (length,) = _struct_I.unpack(str[start:end])
01548       pattern = '<%sd'%length
01549       start = end
01550       end += struct.calcsize(pattern)
01551       self.action_goal.goal.pre_grasp_posture.velocity = struct.unpack(pattern, str[start:end])
01552       start = end
01553       end += 4
01554       (length,) = _struct_I.unpack(str[start:end])
01555       pattern = '<%sd'%length
01556       start = end
01557       end += struct.calcsize(pattern)
01558       self.action_goal.goal.pre_grasp_posture.effort = struct.unpack(pattern, str[start:end])
01559       _x = self
01560       start = end
01561       end += 12
01562       (_x.action_goal.goal.grasp_posture.header.seq, _x.action_goal.goal.grasp_posture.header.stamp.secs, _x.action_goal.goal.grasp_posture.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01563       start = end
01564       end += 4
01565       (length,) = _struct_I.unpack(str[start:end])
01566       start = end
01567       end += length
01568       if python3:
01569         self.action_goal.goal.grasp_posture.header.frame_id = str[start:end].decode('utf-8')
01570       else:
01571         self.action_goal.goal.grasp_posture.header.frame_id = str[start:end]
01572       start = end
01573       end += 4
01574       (length,) = _struct_I.unpack(str[start:end])
01575       self.action_goal.goal.grasp_posture.name = []
01576       for i in range(0, length):
01577         start = end
01578         end += 4
01579         (length,) = _struct_I.unpack(str[start:end])
01580         start = end
01581         end += length
01582         if python3:
01583           val1 = str[start:end].decode('utf-8')
01584         else:
01585           val1 = str[start:end]
01586         self.action_goal.goal.grasp_posture.name.append(val1)
01587       start = end
01588       end += 4
01589       (length,) = _struct_I.unpack(str[start:end])
01590       pattern = '<%sd'%length
01591       start = end
01592       end += struct.calcsize(pattern)
01593       self.action_goal.goal.grasp_posture.position = struct.unpack(pattern, str[start:end])
01594       start = end
01595       end += 4
01596       (length,) = _struct_I.unpack(str[start:end])
01597       pattern = '<%sd'%length
01598       start = end
01599       end += struct.calcsize(pattern)
01600       self.action_goal.goal.grasp_posture.velocity = struct.unpack(pattern, str[start:end])
01601       start = end
01602       end += 4
01603       (length,) = _struct_I.unpack(str[start:end])
01604       pattern = '<%sd'%length
01605       start = end
01606       end += struct.calcsize(pattern)
01607       self.action_goal.goal.grasp_posture.effort = struct.unpack(pattern, str[start:end])
01608       _x = self
01609       start = end
01610       end += 16
01611       (_x.action_goal.goal.max_contact_force, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_f3I.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.action_result.header.frame_id = str[start:end].decode('utf-8')
01619       else:
01620         self.action_result.header.frame_id = str[start:end]
01621       _x = self
01622       start = end
01623       end += 8
01624       (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.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.action_result.status.goal_id.id = str[start:end].decode('utf-8')
01632       else:
01633         self.action_result.status.goal_id.id = str[start:end]
01634       start = end
01635       end += 1
01636       (self.action_result.status.status,) = _struct_B.unpack(str[start:end])
01637       start = end
01638       end += 4
01639       (length,) = _struct_I.unpack(str[start:end])
01640       start = end
01641       end += length
01642       if python3:
01643         self.action_result.status.text = str[start:end].decode('utf-8')
01644       else:
01645         self.action_result.status.text = str[start:end]
01646       _x = self
01647       start = end
01648       end += 16
01649       (_x.action_result.result.manipulation_result.value, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_i3I.unpack(str[start:end])
01650       start = end
01651       end += 4
01652       (length,) = _struct_I.unpack(str[start:end])
01653       start = end
01654       end += length
01655       if python3:
01656         self.action_feedback.header.frame_id = str[start:end].decode('utf-8')
01657       else:
01658         self.action_feedback.header.frame_id = str[start:end]
01659       _x = self
01660       start = end
01661       end += 8
01662       (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
01663       start = end
01664       end += 4
01665       (length,) = _struct_I.unpack(str[start:end])
01666       start = end
01667       end += length
01668       if python3:
01669         self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
01670       else:
01671         self.action_feedback.status.goal_id.id = str[start:end]
01672       start = end
01673       end += 1
01674       (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end])
01675       start = end
01676       end += 4
01677       (length,) = _struct_I.unpack(str[start:end])
01678       start = end
01679       end += length
01680       if python3:
01681         self.action_feedback.status.text = str[start:end].decode('utf-8')
01682       else:
01683         self.action_feedback.status.text = str[start:end]
01684       start = end
01685       end += 4
01686       (self.action_feedback.feedback.manipulation_phase.phase,) = _struct_i.unpack(str[start:end])
01687       return self
01688     except struct.error as e:
01689       raise genpy.DeserializationError(e) #most likely buffer underfill
01690 
01691 
01692   def serialize_numpy(self, buff, numpy):
01693     """
01694     serialize message with numpy array types into buffer
01695     :param buff: buffer, ``StringIO``
01696     :param numpy: numpy python module
01697     """
01698     try:
01699       _x = self
01700       buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
01701       _x = self.action_goal.header.frame_id
01702       length = len(_x)
01703       if python3 or type(_x) == unicode:
01704         _x = _x.encode('utf-8')
01705         length = len(_x)
01706       buff.write(struct.pack('<I%ss'%length, length, _x))
01707       _x = self
01708       buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
01709       _x = self.action_goal.goal_id.id
01710       length = len(_x)
01711       if python3 or type(_x) == unicode:
01712         _x = _x.encode('utf-8')
01713         length = len(_x)
01714       buff.write(struct.pack('<I%ss'%length, length, _x))
01715       _x = self.action_goal.goal.arm_name
01716       length = len(_x)
01717       if python3 or type(_x) == unicode:
01718         _x = _x.encode('utf-8')
01719         length = len(_x)
01720       buff.write(struct.pack('<I%ss'%length, length, _x))
01721       _x = self.action_goal.goal.target.reference_frame_id
01722       length = len(_x)
01723       if python3 or type(_x) == unicode:
01724         _x = _x.encode('utf-8')
01725         length = len(_x)
01726       buff.write(struct.pack('<I%ss'%length, length, _x))
01727       length = len(self.action_goal.goal.target.potential_models)
01728       buff.write(_struct_I.pack(length))
01729       for val1 in self.action_goal.goal.target.potential_models:
01730         buff.write(_struct_i.pack(val1.model_id))
01731         _v15 = val1.pose
01732         _v16 = _v15.header
01733         buff.write(_struct_I.pack(_v16.seq))
01734         _v17 = _v16.stamp
01735         _x = _v17
01736         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01737         _x = _v16.frame_id
01738         length = len(_x)
01739         if python3 or type(_x) == unicode:
01740           _x = _x.encode('utf-8')
01741           length = len(_x)
01742         buff.write(struct.pack('<I%ss'%length, length, _x))
01743         _v18 = _v15.pose
01744         _v19 = _v18.position
01745         _x = _v19
01746         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01747         _v20 = _v18.orientation
01748         _x = _v20
01749         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01750         buff.write(_struct_f.pack(val1.confidence))
01751         _x = val1.detector_name
01752         length = len(_x)
01753         if python3 or type(_x) == unicode:
01754           _x = _x.encode('utf-8')
01755           length = len(_x)
01756         buff.write(struct.pack('<I%ss'%length, length, _x))
01757       _x = self
01758       buff.write(_struct_3I.pack(_x.action_goal.goal.target.cluster.header.seq, _x.action_goal.goal.target.cluster.header.stamp.secs, _x.action_goal.goal.target.cluster.header.stamp.nsecs))
01759       _x = self.action_goal.goal.target.cluster.header.frame_id
01760       length = len(_x)
01761       if python3 or type(_x) == unicode:
01762         _x = _x.encode('utf-8')
01763         length = len(_x)
01764       buff.write(struct.pack('<I%ss'%length, length, _x))
01765       length = len(self.action_goal.goal.target.cluster.points)
01766       buff.write(_struct_I.pack(length))
01767       for val1 in self.action_goal.goal.target.cluster.points:
01768         _x = val1
01769         buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
01770       length = len(self.action_goal.goal.target.cluster.channels)
01771       buff.write(_struct_I.pack(length))
01772       for val1 in self.action_goal.goal.target.cluster.channels:
01773         _x = val1.name
01774         length = len(_x)
01775         if python3 or type(_x) == unicode:
01776           _x = _x.encode('utf-8')
01777           length = len(_x)
01778         buff.write(struct.pack('<I%ss'%length, length, _x))
01779         length = len(val1.values)
01780         buff.write(_struct_I.pack(length))
01781         pattern = '<%sf'%length
01782         buff.write(val1.values.tostring())
01783       _x = self
01784       buff.write(_struct_3I.pack(_x.action_goal.goal.target.region.cloud.header.seq, _x.action_goal.goal.target.region.cloud.header.stamp.secs, _x.action_goal.goal.target.region.cloud.header.stamp.nsecs))
01785       _x = self.action_goal.goal.target.region.cloud.header.frame_id
01786       length = len(_x)
01787       if python3 or type(_x) == unicode:
01788         _x = _x.encode('utf-8')
01789         length = len(_x)
01790       buff.write(struct.pack('<I%ss'%length, length, _x))
01791       _x = self
01792       buff.write(_struct_2I.pack(_x.action_goal.goal.target.region.cloud.height, _x.action_goal.goal.target.region.cloud.width))
01793       length = len(self.action_goal.goal.target.region.cloud.fields)
01794       buff.write(_struct_I.pack(length))
01795       for val1 in self.action_goal.goal.target.region.cloud.fields:
01796         _x = val1.name
01797         length = len(_x)
01798         if python3 or type(_x) == unicode:
01799           _x = _x.encode('utf-8')
01800           length = len(_x)
01801         buff.write(struct.pack('<I%ss'%length, length, _x))
01802         _x = val1
01803         buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
01804       _x = self
01805       buff.write(_struct_B2I.pack(_x.action_goal.goal.target.region.cloud.is_bigendian, _x.action_goal.goal.target.region.cloud.point_step, _x.action_goal.goal.target.region.cloud.row_step))
01806       _x = self.action_goal.goal.target.region.cloud.data
01807       length = len(_x)
01808       # - if encoded as a list instead, serialize as bytes instead of string
01809       if type(_x) in [list, tuple]:
01810         buff.write(struct.pack('<I%sB'%length, length, *_x))
01811       else:
01812         buff.write(struct.pack('<I%ss'%length, length, _x))
01813       buff.write(_struct_B.pack(self.action_goal.goal.target.region.cloud.is_dense))
01814       length = len(self.action_goal.goal.target.region.mask)
01815       buff.write(_struct_I.pack(length))
01816       pattern = '<%si'%length
01817       buff.write(self.action_goal.goal.target.region.mask.tostring())
01818       _x = self
01819       buff.write(_struct_3I.pack(_x.action_goal.goal.target.region.image.header.seq, _x.action_goal.goal.target.region.image.header.stamp.secs, _x.action_goal.goal.target.region.image.header.stamp.nsecs))
01820       _x = self.action_goal.goal.target.region.image.header.frame_id
01821       length = len(_x)
01822       if python3 or type(_x) == unicode:
01823         _x = _x.encode('utf-8')
01824         length = len(_x)
01825       buff.write(struct.pack('<I%ss'%length, length, _x))
01826       _x = self
01827       buff.write(_struct_2I.pack(_x.action_goal.goal.target.region.image.height, _x.action_goal.goal.target.region.image.width))
01828       _x = self.action_goal.goal.target.region.image.encoding
01829       length = len(_x)
01830       if python3 or type(_x) == unicode:
01831         _x = _x.encode('utf-8')
01832         length = len(_x)
01833       buff.write(struct.pack('<I%ss'%length, length, _x))
01834       _x = self
01835       buff.write(_struct_BI.pack(_x.action_goal.goal.target.region.image.is_bigendian, _x.action_goal.goal.target.region.image.step))
01836       _x = self.action_goal.goal.target.region.image.data
01837       length = len(_x)
01838       # - if encoded as a list instead, serialize as bytes instead of string
01839       if type(_x) in [list, tuple]:
01840         buff.write(struct.pack('<I%sB'%length, length, *_x))
01841       else:
01842         buff.write(struct.pack('<I%ss'%length, length, _x))
01843       _x = self
01844       buff.write(_struct_3I.pack(_x.action_goal.goal.target.region.disparity_image.header.seq, _x.action_goal.goal.target.region.disparity_image.header.stamp.secs, _x.action_goal.goal.target.region.disparity_image.header.stamp.nsecs))
01845       _x = self.action_goal.goal.target.region.disparity_image.header.frame_id
01846       length = len(_x)
01847       if python3 or type(_x) == unicode:
01848         _x = _x.encode('utf-8')
01849         length = len(_x)
01850       buff.write(struct.pack('<I%ss'%length, length, _x))
01851       _x = self
01852       buff.write(_struct_2I.pack(_x.action_goal.goal.target.region.disparity_image.height, _x.action_goal.goal.target.region.disparity_image.width))
01853       _x = self.action_goal.goal.target.region.disparity_image.encoding
01854       length = len(_x)
01855       if python3 or type(_x) == unicode:
01856         _x = _x.encode('utf-8')
01857         length = len(_x)
01858       buff.write(struct.pack('<I%ss'%length, length, _x))
01859       _x = self
01860       buff.write(_struct_BI.pack(_x.action_goal.goal.target.region.disparity_image.is_bigendian, _x.action_goal.goal.target.region.disparity_image.step))
01861       _x = self.action_goal.goal.target.region.disparity_image.data
01862       length = len(_x)
01863       # - if encoded as a list instead, serialize as bytes instead of string
01864       if type(_x) in [list, tuple]:
01865         buff.write(struct.pack('<I%sB'%length, length, *_x))
01866       else:
01867         buff.write(struct.pack('<I%ss'%length, length, _x))
01868       _x = self
01869       buff.write(_struct_3I.pack(_x.action_goal.goal.target.region.cam_info.header.seq, _x.action_goal.goal.target.region.cam_info.header.stamp.secs, _x.action_goal.goal.target.region.cam_info.header.stamp.nsecs))
01870       _x = self.action_goal.goal.target.region.cam_info.header.frame_id
01871       length = len(_x)
01872       if python3 or type(_x) == unicode:
01873         _x = _x.encode('utf-8')
01874         length = len(_x)
01875       buff.write(struct.pack('<I%ss'%length, length, _x))
01876       _x = self
01877       buff.write(_struct_2I.pack(_x.action_goal.goal.target.region.cam_info.height, _x.action_goal.goal.target.region.cam_info.width))
01878       _x = self.action_goal.goal.target.region.cam_info.distortion_model
01879       length = len(_x)
01880       if python3 or type(_x) == unicode:
01881         _x = _x.encode('utf-8')
01882         length = len(_x)
01883       buff.write(struct.pack('<I%ss'%length, length, _x))
01884       length = len(self.action_goal.goal.target.region.cam_info.D)
01885       buff.write(_struct_I.pack(length))
01886       pattern = '<%sd'%length
01887       buff.write(self.action_goal.goal.target.region.cam_info.D.tostring())
01888       buff.write(self.action_goal.goal.target.region.cam_info.K.tostring())
01889       buff.write(self.action_goal.goal.target.region.cam_info.R.tostring())
01890       buff.write(self.action_goal.goal.target.region.cam_info.P.tostring())
01891       _x = self
01892       buff.write(_struct_6IB3I.pack(_x.action_goal.goal.target.region.cam_info.binning_x, _x.action_goal.goal.target.region.cam_info.binning_y, _x.action_goal.goal.target.region.cam_info.roi.x_offset, _x.action_goal.goal.target.region.cam_info.roi.y_offset, _x.action_goal.goal.target.region.cam_info.roi.height, _x.action_goal.goal.target.region.cam_info.roi.width, _x.action_goal.goal.target.region.cam_info.roi.do_rectify, _x.action_goal.goal.target.region.roi_box_pose.header.seq, _x.action_goal.goal.target.region.roi_box_pose.header.stamp.secs, _x.action_goal.goal.target.region.roi_box_pose.header.stamp.nsecs))
01893       _x = self.action_goal.goal.target.region.roi_box_pose.header.frame_id
01894       length = len(_x)
01895       if python3 or type(_x) == unicode:
01896         _x = _x.encode('utf-8')
01897         length = len(_x)
01898       buff.write(struct.pack('<I%ss'%length, length, _x))
01899       _x = self
01900       buff.write(_struct_10d.pack(_x.action_goal.goal.target.region.roi_box_pose.pose.position.x, _x.action_goal.goal.target.region.roi_box_pose.pose.position.y, _x.action_goal.goal.target.region.roi_box_pose.pose.position.z, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.x, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.y, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.z, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.w, _x.action_goal.goal.target.region.roi_box_dims.x, _x.action_goal.goal.target.region.roi_box_dims.y, _x.action_goal.goal.target.region.roi_box_dims.z))
01901       _x = self.action_goal.goal.target.collision_name
01902       length = len(_x)
01903       if python3 or type(_x) == unicode:
01904         _x = _x.encode('utf-8')
01905         length = len(_x)
01906       buff.write(struct.pack('<I%ss'%length, length, _x))
01907       _x = self
01908       buff.write(_struct_3I.pack(_x.action_goal.goal.final_grasp_pose.header.seq, _x.action_goal.goal.final_grasp_pose.header.stamp.secs, _x.action_goal.goal.final_grasp_pose.header.stamp.nsecs))
01909       _x = self.action_goal.goal.final_grasp_pose.header.frame_id
01910       length = len(_x)
01911       if python3 or type(_x) == unicode:
01912         _x = _x.encode('utf-8')
01913         length = len(_x)
01914       buff.write(struct.pack('<I%ss'%length, length, _x))
01915       _x = self
01916       buff.write(_struct_7d3I.pack(_x.action_goal.goal.final_grasp_pose.pose.position.x, _x.action_goal.goal.final_grasp_pose.pose.position.y, _x.action_goal.goal.final_grasp_pose.pose.position.z, _x.action_goal.goal.final_grasp_pose.pose.orientation.x, _x.action_goal.goal.final_grasp_pose.pose.orientation.y, _x.action_goal.goal.final_grasp_pose.pose.orientation.z, _x.action_goal.goal.final_grasp_pose.pose.orientation.w, _x.action_goal.goal.trajectory.header.seq, _x.action_goal.goal.trajectory.header.stamp.secs, _x.action_goal.goal.trajectory.header.stamp.nsecs))
01917       _x = self.action_goal.goal.trajectory.header.frame_id
01918       length = len(_x)
01919       if python3 or type(_x) == unicode:
01920         _x = _x.encode('utf-8')
01921         length = len(_x)
01922       buff.write(struct.pack('<I%ss'%length, length, _x))
01923       length = len(self.action_goal.goal.trajectory.joint_names)
01924       buff.write(_struct_I.pack(length))
01925       for val1 in self.action_goal.goal.trajectory.joint_names:
01926         length = len(val1)
01927         if python3 or type(val1) == unicode:
01928           val1 = val1.encode('utf-8')
01929           length = len(val1)
01930         buff.write(struct.pack('<I%ss'%length, length, val1))
01931       length = len(self.action_goal.goal.trajectory.points)
01932       buff.write(_struct_I.pack(length))
01933       for val1 in self.action_goal.goal.trajectory.points:
01934         length = len(val1.positions)
01935         buff.write(_struct_I.pack(length))
01936         pattern = '<%sd'%length
01937         buff.write(val1.positions.tostring())
01938         length = len(val1.velocities)
01939         buff.write(_struct_I.pack(length))
01940         pattern = '<%sd'%length
01941         buff.write(val1.velocities.tostring())
01942         length = len(val1.accelerations)
01943         buff.write(_struct_I.pack(length))
01944         pattern = '<%sd'%length
01945         buff.write(val1.accelerations.tostring())
01946         _v21 = val1.time_from_start
01947         _x = _v21
01948         buff.write(_struct_2i.pack(_x.secs, _x.nsecs))
01949       _x = self.action_goal.goal.collision_support_surface_name
01950       length = len(_x)
01951       if python3 or type(_x) == unicode:
01952         _x = _x.encode('utf-8')
01953         length = len(_x)
01954       buff.write(struct.pack('<I%ss'%length, length, _x))
01955       _x = self
01956       buff.write(_struct_3I.pack(_x.action_goal.goal.pre_grasp_posture.header.seq, _x.action_goal.goal.pre_grasp_posture.header.stamp.secs, _x.action_goal.goal.pre_grasp_posture.header.stamp.nsecs))
01957       _x = self.action_goal.goal.pre_grasp_posture.header.frame_id
01958       length = len(_x)
01959       if python3 or type(_x) == unicode:
01960         _x = _x.encode('utf-8')
01961         length = len(_x)
01962       buff.write(struct.pack('<I%ss'%length, length, _x))
01963       length = len(self.action_goal.goal.pre_grasp_posture.name)
01964       buff.write(_struct_I.pack(length))
01965       for val1 in self.action_goal.goal.pre_grasp_posture.name:
01966         length = len(val1)
01967         if python3 or type(val1) == unicode:
01968           val1 = val1.encode('utf-8')
01969           length = len(val1)
01970         buff.write(struct.pack('<I%ss'%length, length, val1))
01971       length = len(self.action_goal.goal.pre_grasp_posture.position)
01972       buff.write(_struct_I.pack(length))
01973       pattern = '<%sd'%length
01974       buff.write(self.action_goal.goal.pre_grasp_posture.position.tostring())
01975       length = len(self.action_goal.goal.pre_grasp_posture.velocity)
01976       buff.write(_struct_I.pack(length))
01977       pattern = '<%sd'%length
01978       buff.write(self.action_goal.goal.pre_grasp_posture.velocity.tostring())
01979       length = len(self.action_goal.goal.pre_grasp_posture.effort)
01980       buff.write(_struct_I.pack(length))
01981       pattern = '<%sd'%length
01982       buff.write(self.action_goal.goal.pre_grasp_posture.effort.tostring())
01983       _x = self
01984       buff.write(_struct_3I.pack(_x.action_goal.goal.grasp_posture.header.seq, _x.action_goal.goal.grasp_posture.header.stamp.secs, _x.action_goal.goal.grasp_posture.header.stamp.nsecs))
01985       _x = self.action_goal.goal.grasp_posture.header.frame_id
01986       length = len(_x)
01987       if python3 or type(_x) == unicode:
01988         _x = _x.encode('utf-8')
01989         length = len(_x)
01990       buff.write(struct.pack('<I%ss'%length, length, _x))
01991       length = len(self.action_goal.goal.grasp_posture.name)
01992       buff.write(_struct_I.pack(length))
01993       for val1 in self.action_goal.goal.grasp_posture.name:
01994         length = len(val1)
01995         if python3 or type(val1) == unicode:
01996           val1 = val1.encode('utf-8')
01997           length = len(val1)
01998         buff.write(struct.pack('<I%ss'%length, length, val1))
01999       length = len(self.action_goal.goal.grasp_posture.position)
02000       buff.write(_struct_I.pack(length))
02001       pattern = '<%sd'%length
02002       buff.write(self.action_goal.goal.grasp_posture.position.tostring())
02003       length = len(self.action_goal.goal.grasp_posture.velocity)
02004       buff.write(_struct_I.pack(length))
02005       pattern = '<%sd'%length
02006       buff.write(self.action_goal.goal.grasp_posture.velocity.tostring())
02007       length = len(self.action_goal.goal.grasp_posture.effort)
02008       buff.write(_struct_I.pack(length))
02009       pattern = '<%sd'%length
02010       buff.write(self.action_goal.goal.grasp_posture.effort.tostring())
02011       _x = self
02012       buff.write(_struct_f3I.pack(_x.action_goal.goal.max_contact_force, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
02013       _x = self.action_result.header.frame_id
02014       length = len(_x)
02015       if python3 or type(_x) == unicode:
02016         _x = _x.encode('utf-8')
02017         length = len(_x)
02018       buff.write(struct.pack('<I%ss'%length, length, _x))
02019       _x = self
02020       buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
02021       _x = self.action_result.status.goal_id.id
02022       length = len(_x)
02023       if python3 or type(_x) == unicode:
02024         _x = _x.encode('utf-8')
02025         length = len(_x)
02026       buff.write(struct.pack('<I%ss'%length, length, _x))
02027       buff.write(_struct_B.pack(self.action_result.status.status))
02028       _x = self.action_result.status.text
02029       length = len(_x)
02030       if python3 or type(_x) == unicode:
02031         _x = _x.encode('utf-8')
02032         length = len(_x)
02033       buff.write(struct.pack('<I%ss'%length, length, _x))
02034       _x = self
02035       buff.write(_struct_i3I.pack(_x.action_result.result.manipulation_result.value, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
02036       _x = self.action_feedback.header.frame_id
02037       length = len(_x)
02038       if python3 or type(_x) == unicode:
02039         _x = _x.encode('utf-8')
02040         length = len(_x)
02041       buff.write(struct.pack('<I%ss'%length, length, _x))
02042       _x = self
02043       buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
02044       _x = self.action_feedback.status.goal_id.id
02045       length = len(_x)
02046       if python3 or type(_x) == unicode:
02047         _x = _x.encode('utf-8')
02048         length = len(_x)
02049       buff.write(struct.pack('<I%ss'%length, length, _x))
02050       buff.write(_struct_B.pack(self.action_feedback.status.status))
02051       _x = self.action_feedback.status.text
02052       length = len(_x)
02053       if python3 or type(_x) == unicode:
02054         _x = _x.encode('utf-8')
02055         length = len(_x)
02056       buff.write(struct.pack('<I%ss'%length, length, _x))
02057       buff.write(_struct_i.pack(self.action_feedback.feedback.manipulation_phase.phase))
02058     except struct.error as se: self._check_types(se)
02059     except TypeError as te: self._check_types(te)
02060 
02061   def deserialize_numpy(self, str, numpy):
02062     """
02063     unpack serialized message in str into this message instance using numpy for array types
02064     :param str: byte array of serialized message, ``str``
02065     :param numpy: numpy python module
02066     """
02067     try:
02068       if self.action_goal is None:
02069         self.action_goal = object_manipulation_msgs.msg.ReactiveGraspActionGoal()
02070       if self.action_result is None:
02071         self.action_result = object_manipulation_msgs.msg.ReactiveGraspActionResult()
02072       if self.action_feedback is None:
02073         self.action_feedback = object_manipulation_msgs.msg.ReactiveGraspActionFeedback()
02074       end = 0
02075       _x = self
02076       start = end
02077       end += 12
02078       (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02079       start = end
02080       end += 4
02081       (length,) = _struct_I.unpack(str[start:end])
02082       start = end
02083       end += length
02084       if python3:
02085         self.action_goal.header.frame_id = str[start:end].decode('utf-8')
02086       else:
02087         self.action_goal.header.frame_id = str[start:end]
02088       _x = self
02089       start = end
02090       end += 8
02091       (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
02092       start = end
02093       end += 4
02094       (length,) = _struct_I.unpack(str[start:end])
02095       start = end
02096       end += length
02097       if python3:
02098         self.action_goal.goal_id.id = str[start:end].decode('utf-8')
02099       else:
02100         self.action_goal.goal_id.id = str[start:end]
02101       start = end
02102       end += 4
02103       (length,) = _struct_I.unpack(str[start:end])
02104       start = end
02105       end += length
02106       if python3:
02107         self.action_goal.goal.arm_name = str[start:end].decode('utf-8')
02108       else:
02109         self.action_goal.goal.arm_name = str[start:end]
02110       start = end
02111       end += 4
02112       (length,) = _struct_I.unpack(str[start:end])
02113       start = end
02114       end += length
02115       if python3:
02116         self.action_goal.goal.target.reference_frame_id = str[start:end].decode('utf-8')
02117       else:
02118         self.action_goal.goal.target.reference_frame_id = str[start:end]
02119       start = end
02120       end += 4
02121       (length,) = _struct_I.unpack(str[start:end])
02122       self.action_goal.goal.target.potential_models = []
02123       for i in range(0, length):
02124         val1 = household_objects_database_msgs.msg.DatabaseModelPose()
02125         start = end
02126         end += 4
02127         (val1.model_id,) = _struct_i.unpack(str[start:end])
02128         _v22 = val1.pose
02129         _v23 = _v22.header
02130         start = end
02131         end += 4
02132         (_v23.seq,) = _struct_I.unpack(str[start:end])
02133         _v24 = _v23.stamp
02134         _x = _v24
02135         start = end
02136         end += 8
02137         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02138         start = end
02139         end += 4
02140         (length,) = _struct_I.unpack(str[start:end])
02141         start = end
02142         end += length
02143         if python3:
02144           _v23.frame_id = str[start:end].decode('utf-8')
02145         else:
02146           _v23.frame_id = str[start:end]
02147         _v25 = _v22.pose
02148         _v26 = _v25.position
02149         _x = _v26
02150         start = end
02151         end += 24
02152         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02153         _v27 = _v25.orientation
02154         _x = _v27
02155         start = end
02156         end += 32
02157         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02158         start = end
02159         end += 4
02160         (val1.confidence,) = _struct_f.unpack(str[start:end])
02161         start = end
02162         end += 4
02163         (length,) = _struct_I.unpack(str[start:end])
02164         start = end
02165         end += length
02166         if python3:
02167           val1.detector_name = str[start:end].decode('utf-8')
02168         else:
02169           val1.detector_name = str[start:end]
02170         self.action_goal.goal.target.potential_models.append(val1)
02171       _x = self
02172       start = end
02173       end += 12
02174       (_x.action_goal.goal.target.cluster.header.seq, _x.action_goal.goal.target.cluster.header.stamp.secs, _x.action_goal.goal.target.cluster.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02175       start = end
02176       end += 4
02177       (length,) = _struct_I.unpack(str[start:end])
02178       start = end
02179       end += length
02180       if python3:
02181         self.action_goal.goal.target.cluster.header.frame_id = str[start:end].decode('utf-8')
02182       else:
02183         self.action_goal.goal.target.cluster.header.frame_id = str[start:end]
02184       start = end
02185       end += 4
02186       (length,) = _struct_I.unpack(str[start:end])
02187       self.action_goal.goal.target.cluster.points = []
02188       for i in range(0, length):
02189         val1 = geometry_msgs.msg.Point32()
02190         _x = val1
02191         start = end
02192         end += 12
02193         (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
02194         self.action_goal.goal.target.cluster.points.append(val1)
02195       start = end
02196       end += 4
02197       (length,) = _struct_I.unpack(str[start:end])
02198       self.action_goal.goal.target.cluster.channels = []
02199       for i in range(0, length):
02200         val1 = sensor_msgs.msg.ChannelFloat32()
02201         start = end
02202         end += 4
02203         (length,) = _struct_I.unpack(str[start:end])
02204         start = end
02205         end += length
02206         if python3:
02207           val1.name = str[start:end].decode('utf-8')
02208         else:
02209           val1.name = str[start:end]
02210         start = end
02211         end += 4
02212         (length,) = _struct_I.unpack(str[start:end])
02213         pattern = '<%sf'%length
02214         start = end
02215         end += struct.calcsize(pattern)
02216         val1.values = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
02217         self.action_goal.goal.target.cluster.channels.append(val1)
02218       _x = self
02219       start = end
02220       end += 12
02221       (_x.action_goal.goal.target.region.cloud.header.seq, _x.action_goal.goal.target.region.cloud.header.stamp.secs, _x.action_goal.goal.target.region.cloud.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02222       start = end
02223       end += 4
02224       (length,) = _struct_I.unpack(str[start:end])
02225       start = end
02226       end += length
02227       if python3:
02228         self.action_goal.goal.target.region.cloud.header.frame_id = str[start:end].decode('utf-8')
02229       else:
02230         self.action_goal.goal.target.region.cloud.header.frame_id = str[start:end]
02231       _x = self
02232       start = end
02233       end += 8
02234       (_x.action_goal.goal.target.region.cloud.height, _x.action_goal.goal.target.region.cloud.width,) = _struct_2I.unpack(str[start:end])
02235       start = end
02236       end += 4
02237       (length,) = _struct_I.unpack(str[start:end])
02238       self.action_goal.goal.target.region.cloud.fields = []
02239       for i in range(0, length):
02240         val1 = sensor_msgs.msg.PointField()
02241         start = end
02242         end += 4
02243         (length,) = _struct_I.unpack(str[start:end])
02244         start = end
02245         end += length
02246         if python3:
02247           val1.name = str[start:end].decode('utf-8')
02248         else:
02249           val1.name = str[start:end]
02250         _x = val1
02251         start = end
02252         end += 9
02253         (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
02254         self.action_goal.goal.target.region.cloud.fields.append(val1)
02255       _x = self
02256       start = end
02257       end += 9
02258       (_x.action_goal.goal.target.region.cloud.is_bigendian, _x.action_goal.goal.target.region.cloud.point_step, _x.action_goal.goal.target.region.cloud.row_step,) = _struct_B2I.unpack(str[start:end])
02259       self.action_goal.goal.target.region.cloud.is_bigendian = bool(self.action_goal.goal.target.region.cloud.is_bigendian)
02260       start = end
02261       end += 4
02262       (length,) = _struct_I.unpack(str[start:end])
02263       start = end
02264       end += length
02265       if python3:
02266         self.action_goal.goal.target.region.cloud.data = str[start:end].decode('utf-8')
02267       else:
02268         self.action_goal.goal.target.region.cloud.data = str[start:end]
02269       start = end
02270       end += 1
02271       (self.action_goal.goal.target.region.cloud.is_dense,) = _struct_B.unpack(str[start:end])
02272       self.action_goal.goal.target.region.cloud.is_dense = bool(self.action_goal.goal.target.region.cloud.is_dense)
02273       start = end
02274       end += 4
02275       (length,) = _struct_I.unpack(str[start:end])
02276       pattern = '<%si'%length
02277       start = end
02278       end += struct.calcsize(pattern)
02279       self.action_goal.goal.target.region.mask = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
02280       _x = self
02281       start = end
02282       end += 12
02283       (_x.action_goal.goal.target.region.image.header.seq, _x.action_goal.goal.target.region.image.header.stamp.secs, _x.action_goal.goal.target.region.image.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02284       start = end
02285       end += 4
02286       (length,) = _struct_I.unpack(str[start:end])
02287       start = end
02288       end += length
02289       if python3:
02290         self.action_goal.goal.target.region.image.header.frame_id = str[start:end].decode('utf-8')
02291       else:
02292         self.action_goal.goal.target.region.image.header.frame_id = str[start:end]
02293       _x = self
02294       start = end
02295       end += 8
02296       (_x.action_goal.goal.target.region.image.height, _x.action_goal.goal.target.region.image.width,) = _struct_2I.unpack(str[start:end])
02297       start = end
02298       end += 4
02299       (length,) = _struct_I.unpack(str[start:end])
02300       start = end
02301       end += length
02302       if python3:
02303         self.action_goal.goal.target.region.image.encoding = str[start:end].decode('utf-8')
02304       else:
02305         self.action_goal.goal.target.region.image.encoding = str[start:end]
02306       _x = self
02307       start = end
02308       end += 5
02309       (_x.action_goal.goal.target.region.image.is_bigendian, _x.action_goal.goal.target.region.image.step,) = _struct_BI.unpack(str[start:end])
02310       start = end
02311       end += 4
02312       (length,) = _struct_I.unpack(str[start:end])
02313       start = end
02314       end += length
02315       if python3:
02316         self.action_goal.goal.target.region.image.data = str[start:end].decode('utf-8')
02317       else:
02318         self.action_goal.goal.target.region.image.data = str[start:end]
02319       _x = self
02320       start = end
02321       end += 12
02322       (_x.action_goal.goal.target.region.disparity_image.header.seq, _x.action_goal.goal.target.region.disparity_image.header.stamp.secs, _x.action_goal.goal.target.region.disparity_image.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02323       start = end
02324       end += 4
02325       (length,) = _struct_I.unpack(str[start:end])
02326       start = end
02327       end += length
02328       if python3:
02329         self.action_goal.goal.target.region.disparity_image.header.frame_id = str[start:end].decode('utf-8')
02330       else:
02331         self.action_goal.goal.target.region.disparity_image.header.frame_id = str[start:end]
02332       _x = self
02333       start = end
02334       end += 8
02335       (_x.action_goal.goal.target.region.disparity_image.height, _x.action_goal.goal.target.region.disparity_image.width,) = _struct_2I.unpack(str[start:end])
02336       start = end
02337       end += 4
02338       (length,) = _struct_I.unpack(str[start:end])
02339       start = end
02340       end += length
02341       if python3:
02342         self.action_goal.goal.target.region.disparity_image.encoding = str[start:end].decode('utf-8')
02343       else:
02344         self.action_goal.goal.target.region.disparity_image.encoding = str[start:end]
02345       _x = self
02346       start = end
02347       end += 5
02348       (_x.action_goal.goal.target.region.disparity_image.is_bigendian, _x.action_goal.goal.target.region.disparity_image.step,) = _struct_BI.unpack(str[start:end])
02349       start = end
02350       end += 4
02351       (length,) = _struct_I.unpack(str[start:end])
02352       start = end
02353       end += length
02354       if python3:
02355         self.action_goal.goal.target.region.disparity_image.data = str[start:end].decode('utf-8')
02356       else:
02357         self.action_goal.goal.target.region.disparity_image.data = str[start:end]
02358       _x = self
02359       start = end
02360       end += 12
02361       (_x.action_goal.goal.target.region.cam_info.header.seq, _x.action_goal.goal.target.region.cam_info.header.stamp.secs, _x.action_goal.goal.target.region.cam_info.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02362       start = end
02363       end += 4
02364       (length,) = _struct_I.unpack(str[start:end])
02365       start = end
02366       end += length
02367       if python3:
02368         self.action_goal.goal.target.region.cam_info.header.frame_id = str[start:end].decode('utf-8')
02369       else:
02370         self.action_goal.goal.target.region.cam_info.header.frame_id = str[start:end]
02371       _x = self
02372       start = end
02373       end += 8
02374       (_x.action_goal.goal.target.region.cam_info.height, _x.action_goal.goal.target.region.cam_info.width,) = _struct_2I.unpack(str[start:end])
02375       start = end
02376       end += 4
02377       (length,) = _struct_I.unpack(str[start:end])
02378       start = end
02379       end += length
02380       if python3:
02381         self.action_goal.goal.target.region.cam_info.distortion_model = str[start:end].decode('utf-8')
02382       else:
02383         self.action_goal.goal.target.region.cam_info.distortion_model = str[start:end]
02384       start = end
02385       end += 4
02386       (length,) = _struct_I.unpack(str[start:end])
02387       pattern = '<%sd'%length
02388       start = end
02389       end += struct.calcsize(pattern)
02390       self.action_goal.goal.target.region.cam_info.D = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02391       start = end
02392       end += 72
02393       self.action_goal.goal.target.region.cam_info.K = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=9)
02394       start = end
02395       end += 72
02396       self.action_goal.goal.target.region.cam_info.R = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=9)
02397       start = end
02398       end += 96
02399       self.action_goal.goal.target.region.cam_info.P = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=12)
02400       _x = self
02401       start = end
02402       end += 37
02403       (_x.action_goal.goal.target.region.cam_info.binning_x, _x.action_goal.goal.target.region.cam_info.binning_y, _x.action_goal.goal.target.region.cam_info.roi.x_offset, _x.action_goal.goal.target.region.cam_info.roi.y_offset, _x.action_goal.goal.target.region.cam_info.roi.height, _x.action_goal.goal.target.region.cam_info.roi.width, _x.action_goal.goal.target.region.cam_info.roi.do_rectify, _x.action_goal.goal.target.region.roi_box_pose.header.seq, _x.action_goal.goal.target.region.roi_box_pose.header.stamp.secs, _x.action_goal.goal.target.region.roi_box_pose.header.stamp.nsecs,) = _struct_6IB3I.unpack(str[start:end])
02404       self.action_goal.goal.target.region.cam_info.roi.do_rectify = bool(self.action_goal.goal.target.region.cam_info.roi.do_rectify)
02405       start = end
02406       end += 4
02407       (length,) = _struct_I.unpack(str[start:end])
02408       start = end
02409       end += length
02410       if python3:
02411         self.action_goal.goal.target.region.roi_box_pose.header.frame_id = str[start:end].decode('utf-8')
02412       else:
02413         self.action_goal.goal.target.region.roi_box_pose.header.frame_id = str[start:end]
02414       _x = self
02415       start = end
02416       end += 80
02417       (_x.action_goal.goal.target.region.roi_box_pose.pose.position.x, _x.action_goal.goal.target.region.roi_box_pose.pose.position.y, _x.action_goal.goal.target.region.roi_box_pose.pose.position.z, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.x, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.y, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.z, _x.action_goal.goal.target.region.roi_box_pose.pose.orientation.w, _x.action_goal.goal.target.region.roi_box_dims.x, _x.action_goal.goal.target.region.roi_box_dims.y, _x.action_goal.goal.target.region.roi_box_dims.z,) = _struct_10d.unpack(str[start:end])
02418       start = end
02419       end += 4
02420       (length,) = _struct_I.unpack(str[start:end])
02421       start = end
02422       end += length
02423       if python3:
02424         self.action_goal.goal.target.collision_name = str[start:end].decode('utf-8')
02425       else:
02426         self.action_goal.goal.target.collision_name = str[start:end]
02427       _x = self
02428       start = end
02429       end += 12
02430       (_x.action_goal.goal.final_grasp_pose.header.seq, _x.action_goal.goal.final_grasp_pose.header.stamp.secs, _x.action_goal.goal.final_grasp_pose.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02431       start = end
02432       end += 4
02433       (length,) = _struct_I.unpack(str[start:end])
02434       start = end
02435       end += length
02436       if python3:
02437         self.action_goal.goal.final_grasp_pose.header.frame_id = str[start:end].decode('utf-8')
02438       else:
02439         self.action_goal.goal.final_grasp_pose.header.frame_id = str[start:end]
02440       _x = self
02441       start = end
02442       end += 68
02443       (_x.action_goal.goal.final_grasp_pose.pose.position.x, _x.action_goal.goal.final_grasp_pose.pose.position.y, _x.action_goal.goal.final_grasp_pose.pose.position.z, _x.action_goal.goal.final_grasp_pose.pose.orientation.x, _x.action_goal.goal.final_grasp_pose.pose.orientation.y, _x.action_goal.goal.final_grasp_pose.pose.orientation.z, _x.action_goal.goal.final_grasp_pose.pose.orientation.w, _x.action_goal.goal.trajectory.header.seq, _x.action_goal.goal.trajectory.header.stamp.secs, _x.action_goal.goal.trajectory.header.stamp.nsecs,) = _struct_7d3I.unpack(str[start:end])
02444       start = end
02445       end += 4
02446       (length,) = _struct_I.unpack(str[start:end])
02447       start = end
02448       end += length
02449       if python3:
02450         self.action_goal.goal.trajectory.header.frame_id = str[start:end].decode('utf-8')
02451       else:
02452         self.action_goal.goal.trajectory.header.frame_id = str[start:end]
02453       start = end
02454       end += 4
02455       (length,) = _struct_I.unpack(str[start:end])
02456       self.action_goal.goal.trajectory.joint_names = []
02457       for i in range(0, length):
02458         start = end
02459         end += 4
02460         (length,) = _struct_I.unpack(str[start:end])
02461         start = end
02462         end += length
02463         if python3:
02464           val1 = str[start:end].decode('utf-8')
02465         else:
02466           val1 = str[start:end]
02467         self.action_goal.goal.trajectory.joint_names.append(val1)
02468       start = end
02469       end += 4
02470       (length,) = _struct_I.unpack(str[start:end])
02471       self.action_goal.goal.trajectory.points = []
02472       for i in range(0, length):
02473         val1 = trajectory_msgs.msg.JointTrajectoryPoint()
02474         start = end
02475         end += 4
02476         (length,) = _struct_I.unpack(str[start:end])
02477         pattern = '<%sd'%length
02478         start = end
02479         end += struct.calcsize(pattern)
02480         val1.positions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02481         start = end
02482         end += 4
02483         (length,) = _struct_I.unpack(str[start:end])
02484         pattern = '<%sd'%length
02485         start = end
02486         end += struct.calcsize(pattern)
02487         val1.velocities = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02488         start = end
02489         end += 4
02490         (length,) = _struct_I.unpack(str[start:end])
02491         pattern = '<%sd'%length
02492         start = end
02493         end += struct.calcsize(pattern)
02494         val1.accelerations = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02495         _v28 = val1.time_from_start
02496         _x = _v28
02497         start = end
02498         end += 8
02499         (_x.secs, _x.nsecs,) = _struct_2i.unpack(str[start:end])
02500         self.action_goal.goal.trajectory.points.append(val1)
02501       start = end
02502       end += 4
02503       (length,) = _struct_I.unpack(str[start:end])
02504       start = end
02505       end += length
02506       if python3:
02507         self.action_goal.goal.collision_support_surface_name = str[start:end].decode('utf-8')
02508       else:
02509         self.action_goal.goal.collision_support_surface_name = str[start:end]
02510       _x = self
02511       start = end
02512       end += 12
02513       (_x.action_goal.goal.pre_grasp_posture.header.seq, _x.action_goal.goal.pre_grasp_posture.header.stamp.secs, _x.action_goal.goal.pre_grasp_posture.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02514       start = end
02515       end += 4
02516       (length,) = _struct_I.unpack(str[start:end])
02517       start = end
02518       end += length
02519       if python3:
02520         self.action_goal.goal.pre_grasp_posture.header.frame_id = str[start:end].decode('utf-8')
02521       else:
02522         self.action_goal.goal.pre_grasp_posture.header.frame_id = str[start:end]
02523       start = end
02524       end += 4
02525       (length,) = _struct_I.unpack(str[start:end])
02526       self.action_goal.goal.pre_grasp_posture.name = []
02527       for i in range(0, length):
02528         start = end
02529         end += 4
02530         (length,) = _struct_I.unpack(str[start:end])
02531         start = end
02532         end += length
02533         if python3:
02534           val1 = str[start:end].decode('utf-8')
02535         else:
02536           val1 = str[start:end]
02537         self.action_goal.goal.pre_grasp_posture.name.append(val1)
02538       start = end
02539       end += 4
02540       (length,) = _struct_I.unpack(str[start:end])
02541       pattern = '<%sd'%length
02542       start = end
02543       end += struct.calcsize(pattern)
02544       self.action_goal.goal.pre_grasp_posture.position = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02545       start = end
02546       end += 4
02547       (length,) = _struct_I.unpack(str[start:end])
02548       pattern = '<%sd'%length
02549       start = end
02550       end += struct.calcsize(pattern)
02551       self.action_goal.goal.pre_grasp_posture.velocity = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02552       start = end
02553       end += 4
02554       (length,) = _struct_I.unpack(str[start:end])
02555       pattern = '<%sd'%length
02556       start = end
02557       end += struct.calcsize(pattern)
02558       self.action_goal.goal.pre_grasp_posture.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02559       _x = self
02560       start = end
02561       end += 12
02562       (_x.action_goal.goal.grasp_posture.header.seq, _x.action_goal.goal.grasp_posture.header.stamp.secs, _x.action_goal.goal.grasp_posture.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02563       start = end
02564       end += 4
02565       (length,) = _struct_I.unpack(str[start:end])
02566       start = end
02567       end += length
02568       if python3:
02569         self.action_goal.goal.grasp_posture.header.frame_id = str[start:end].decode('utf-8')
02570       else:
02571         self.action_goal.goal.grasp_posture.header.frame_id = str[start:end]
02572       start = end
02573       end += 4
02574       (length,) = _struct_I.unpack(str[start:end])
02575       self.action_goal.goal.grasp_posture.name = []
02576       for i in range(0, length):
02577         start = end
02578         end += 4
02579         (length,) = _struct_I.unpack(str[start:end])
02580         start = end
02581         end += length
02582         if python3:
02583           val1 = str[start:end].decode('utf-8')
02584         else:
02585           val1 = str[start:end]
02586         self.action_goal.goal.grasp_posture.name.append(val1)
02587       start = end
02588       end += 4
02589       (length,) = _struct_I.unpack(str[start:end])
02590       pattern = '<%sd'%length
02591       start = end
02592       end += struct.calcsize(pattern)
02593       self.action_goal.goal.grasp_posture.position = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02594       start = end
02595       end += 4
02596       (length,) = _struct_I.unpack(str[start:end])
02597       pattern = '<%sd'%length
02598       start = end
02599       end += struct.calcsize(pattern)
02600       self.action_goal.goal.grasp_posture.velocity = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02601       start = end
02602       end += 4
02603       (length,) = _struct_I.unpack(str[start:end])
02604       pattern = '<%sd'%length
02605       start = end
02606       end += struct.calcsize(pattern)
02607       self.action_goal.goal.grasp_posture.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02608       _x = self
02609       start = end
02610       end += 16
02611       (_x.action_goal.goal.max_contact_force, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_f3I.unpack(str[start:end])
02612       start = end
02613       end += 4
02614       (length,) = _struct_I.unpack(str[start:end])
02615       start = end
02616       end += length
02617       if python3:
02618         self.action_result.header.frame_id = str[start:end].decode('utf-8')
02619       else:
02620         self.action_result.header.frame_id = str[start:end]
02621       _x = self
02622       start = end
02623       end += 8
02624       (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
02625       start = end
02626       end += 4
02627       (length,) = _struct_I.unpack(str[start:end])
02628       start = end
02629       end += length
02630       if python3:
02631         self.action_result.status.goal_id.id = str[start:end].decode('utf-8')
02632       else:
02633         self.action_result.status.goal_id.id = str[start:end]
02634       start = end
02635       end += 1
02636       (self.action_result.status.status,) = _struct_B.unpack(str[start:end])
02637       start = end
02638       end += 4
02639       (length,) = _struct_I.unpack(str[start:end])
02640       start = end
02641       end += length
02642       if python3:
02643         self.action_result.status.text = str[start:end].decode('utf-8')
02644       else:
02645         self.action_result.status.text = str[start:end]
02646       _x = self
02647       start = end
02648       end += 16
02649       (_x.action_result.result.manipulation_result.value, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_i3I.unpack(str[start:end])
02650       start = end
02651       end += 4
02652       (length,) = _struct_I.unpack(str[start:end])
02653       start = end
02654       end += length
02655       if python3:
02656         self.action_feedback.header.frame_id = str[start:end].decode('utf-8')
02657       else:
02658         self.action_feedback.header.frame_id = str[start:end]
02659       _x = self
02660       start = end
02661       end += 8
02662       (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
02663       start = end
02664       end += 4
02665       (length,) = _struct_I.unpack(str[start:end])
02666       start = end
02667       end += length
02668       if python3:
02669         self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
02670       else:
02671         self.action_feedback.status.goal_id.id = str[start:end]
02672       start = end
02673       end += 1
02674       (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end])
02675       start = end
02676       end += 4
02677       (length,) = _struct_I.unpack(str[start:end])
02678       start = end
02679       end += length
02680       if python3:
02681         self.action_feedback.status.text = str[start:end].decode('utf-8')
02682       else:
02683         self.action_feedback.status.text = str[start:end]
02684       start = end
02685       end += 4
02686       (self.action_feedback.feedback.manipulation_phase.phase,) = _struct_i.unpack(str[start:end])
02687       return self
02688     except struct.error as e:
02689       raise genpy.DeserializationError(e) #most likely buffer underfill
02690 
02691 _struct_I = genpy.struct_I
02692 _struct_7d3I = struct.Struct("<7d3I")
02693 _struct_IBI = struct.Struct("<IBI")
02694 _struct_6IB3I = struct.Struct("<6IB3I")
02695 _struct_B = struct.Struct("<B")
02696 _struct_12d = struct.Struct("<12d")
02697 _struct_f = struct.Struct("<f")
02698 _struct_i = struct.Struct("<i")
02699 _struct_f3I = struct.Struct("<f3I")
02700 _struct_BI = struct.Struct("<BI")
02701 _struct_10d = struct.Struct("<10d")
02702 _struct_3f = struct.Struct("<3f")
02703 _struct_2i = struct.Struct("<2i")
02704 _struct_3I = struct.Struct("<3I")
02705 _struct_9d = struct.Struct("<9d")
02706 _struct_B2I = struct.Struct("<B2I")
02707 _struct_i3I = struct.Struct("<i3I")
02708 _struct_4d = struct.Struct("<4d")
02709 _struct_2I = struct.Struct("<2I")
02710 _struct_3d = struct.Struct("<3d")


object_manipulation_msgs
Author(s): Matei Ciocarlie
autogenerated on Thu Jan 2 2014 11:38:12