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
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")