_PreplanHeadScanAction.py
Go to the documentation of this file.
00001 """autogenerated by genpy from head_monitor_msgs/PreplanHeadScanAction.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 arm_navigation_msgs.msg
00008 import actionlib_msgs.msg
00009 import geometry_msgs.msg
00010 import head_monitor_msgs.msg
00011 import sensor_msgs.msg
00012 import genpy
00013 import std_msgs.msg
00014 
00015 class PreplanHeadScanAction(genpy.Message):
00016   _md5sum = "febbaf17638d0245755e50701e422888"
00017   _type = "head_monitor_msgs/PreplanHeadScanAction"
00018   _has_header = False #flag to mark the presence of a Header object
00019   _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00020 
00021 PreplanHeadScanActionGoal action_goal
00022 PreplanHeadScanActionResult action_result
00023 PreplanHeadScanActionFeedback action_feedback
00024 
00025 ================================================================================
00026 MSG: head_monitor_msgs/PreplanHeadScanActionGoal
00027 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00028 
00029 Header header
00030 actionlib_msgs/GoalID goal_id
00031 PreplanHeadScanGoal goal
00032 
00033 ================================================================================
00034 MSG: std_msgs/Header
00035 # Standard metadata for higher-level stamped data types.
00036 # This is generally used to communicate timestamped data 
00037 # in a particular coordinate frame.
00038 # 
00039 # sequence ID: consecutively increasing ID 
00040 uint32 seq
00041 #Two-integer timestamp that is expressed as:
00042 # * stamp.secs: seconds (stamp_secs) since epoch
00043 # * stamp.nsecs: nanoseconds since stamp_secs
00044 # time-handling sugar is provided by the client library
00045 time stamp
00046 #Frame this data is associated with
00047 # 0: no frame
00048 # 1: global frame
00049 string frame_id
00050 
00051 ================================================================================
00052 MSG: actionlib_msgs/GoalID
00053 # The stamp should store the time at which this goal was requested.
00054 # It is used by an action server when it tries to preempt all
00055 # goals that were requested before a certain time
00056 time stamp
00057 
00058 # The id provides a way to associate feedback and
00059 # result message with specific goal requests. The id
00060 # specified must be unique.
00061 string id
00062 
00063 
00064 ================================================================================
00065 MSG: head_monitor_msgs/PreplanHeadScanGoal
00066 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00067 # The motion plan request
00068 string group_name
00069 string head_monitor_link
00070 arm_navigation_msgs/MotionPlanRequest motion_plan_request
00071 
00072 ================================================================================
00073 MSG: arm_navigation_msgs/MotionPlanRequest
00074 # This service contains the definition for a request to the motion
00075 # planner and the output it provides
00076 
00077 # Parameters for the workspace that the planner should work inside
00078 arm_navigation_msgs/WorkspaceParameters workspace_parameters
00079 
00080 # Starting state updates. If certain joints should be considered
00081 # at positions other than the current ones, these positions should
00082 # be set here
00083 arm_navigation_msgs/RobotState start_state
00084 
00085 # The goal state for the model to plan for. The goal is achieved
00086 # if all constraints are satisfied
00087 arm_navigation_msgs/Constraints goal_constraints
00088 
00089 # No state at any point along the path in the produced motion plan will violate these constraints
00090 arm_navigation_msgs/Constraints path_constraints
00091 
00092 # The name of the motion planner to use. If no name is specified,
00093 # a default motion planner will be used
00094 string planner_id
00095 
00096 # The name of the group of joints on which this planner is operating
00097 string group_name
00098 
00099 # The number of times this plan is to be computed. Shortest solution
00100 # will be reported.
00101 int32 num_planning_attempts
00102 
00103 # The maximum amount of time the motion planner is allowed to plan for
00104 duration allowed_planning_time
00105 
00106 # An expected path duration (in seconds) along with an expected discretization of the path allows the planner to determine the discretization of the trajectory that it returns
00107 duration expected_path_duration
00108 duration expected_path_dt
00109 
00110 ================================================================================
00111 MSG: arm_navigation_msgs/WorkspaceParameters
00112 # This message contains a set of parameters useful in
00113 # setting up the workspace for planning
00114 arm_navigation_msgs/Shape  workspace_region_shape
00115 geometry_msgs/PoseStamped    workspace_region_pose
00116 
00117 
00118 ================================================================================
00119 MSG: arm_navigation_msgs/Shape
00120 byte SPHERE=0
00121 byte BOX=1
00122 byte CYLINDER=2
00123 byte MESH=3
00124 
00125 byte type
00126 
00127 
00128 #### define sphere, box, cylinder ####
00129 # the origin of each shape is considered at the shape's center
00130 
00131 # for sphere
00132 # radius := dimensions[0]
00133 
00134 # for cylinder
00135 # radius := dimensions[0]
00136 # length := dimensions[1]
00137 # the length is along the Z axis
00138 
00139 # for box
00140 # size_x := dimensions[0]
00141 # size_y := dimensions[1]
00142 # size_z := dimensions[2]
00143 float64[] dimensions
00144 
00145 
00146 #### define mesh ####
00147 
00148 # list of triangles; triangle k is defined by tre vertices located
00149 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]
00150 int32[] triangles
00151 geometry_msgs/Point[] vertices
00152 
00153 ================================================================================
00154 MSG: geometry_msgs/Point
00155 # This contains the position of a point in free space
00156 float64 x
00157 float64 y
00158 float64 z
00159 
00160 ================================================================================
00161 MSG: geometry_msgs/PoseStamped
00162 # A Pose with reference coordinate frame and timestamp
00163 Header header
00164 Pose pose
00165 
00166 ================================================================================
00167 MSG: geometry_msgs/Pose
00168 # A representation of pose in free space, composed of postion and orientation. 
00169 Point position
00170 Quaternion orientation
00171 
00172 ================================================================================
00173 MSG: geometry_msgs/Quaternion
00174 # This represents an orientation in free space in quaternion form.
00175 
00176 float64 x
00177 float64 y
00178 float64 z
00179 float64 w
00180 
00181 ================================================================================
00182 MSG: arm_navigation_msgs/RobotState
00183 # This message contains information about the robot state, i.e. the positions of its joints and links
00184 sensor_msgs/JointState joint_state
00185 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state
00186 
00187 ================================================================================
00188 MSG: sensor_msgs/JointState
00189 # This is a message that holds data to describe the state of a set of torque controlled joints. 
00190 #
00191 # The state of each joint (revolute or prismatic) is defined by:
00192 #  * the position of the joint (rad or m),
00193 #  * the velocity of the joint (rad/s or m/s) and 
00194 #  * the effort that is applied in the joint (Nm or N).
00195 #
00196 # Each joint is uniquely identified by its name
00197 # The header specifies the time at which the joint states were recorded. All the joint states
00198 # in one message have to be recorded at the same time.
00199 #
00200 # This message consists of a multiple arrays, one for each part of the joint state. 
00201 # The goal is to make each of the fields optional. When e.g. your joints have no
00202 # effort associated with them, you can leave the effort array empty. 
00203 #
00204 # All arrays in this message should have the same size, or be empty.
00205 # This is the only way to uniquely associate the joint name with the correct
00206 # states.
00207 
00208 
00209 Header header
00210 
00211 string[] name
00212 float64[] position
00213 float64[] velocity
00214 float64[] effort
00215 
00216 ================================================================================
00217 MSG: arm_navigation_msgs/MultiDOFJointState
00218 #A representation of a multi-dof joint state
00219 time stamp
00220 string[] joint_names
00221 string[] frame_ids
00222 string[] child_frame_ids
00223 geometry_msgs/Pose[] poses
00224 
00225 ================================================================================
00226 MSG: arm_navigation_msgs/Constraints
00227 # This message contains a list of motion planning constraints.
00228 
00229 arm_navigation_msgs/JointConstraint[] joint_constraints
00230 arm_navigation_msgs/PositionConstraint[] position_constraints
00231 arm_navigation_msgs/OrientationConstraint[] orientation_constraints
00232 arm_navigation_msgs/VisibilityConstraint[] visibility_constraints
00233 
00234 ================================================================================
00235 MSG: arm_navigation_msgs/JointConstraint
00236 # Constrain the position of a joint to be within a certain bound
00237 string joint_name
00238 
00239 # the bound to be achieved is [position - tolerance_below, position + tolerance_above]
00240 float64 position
00241 float64 tolerance_above
00242 float64 tolerance_below
00243 
00244 # A weighting factor for this constraint
00245 float64 weight
00246 ================================================================================
00247 MSG: arm_navigation_msgs/PositionConstraint
00248 # This message contains the definition of a position constraint.
00249 Header header
00250 
00251 # The robot link this constraint refers to
00252 string link_name
00253 
00254 # The offset (in the link frame) for the target point on the link we are planning for
00255 geometry_msgs/Point target_point_offset
00256 
00257 # The nominal/target position for the point we are planning for
00258 geometry_msgs/Point position
00259 
00260 # The shape of the bounded region that constrains the position of the end-effector
00261 # This region is always centered at the position defined above
00262 arm_navigation_msgs/Shape constraint_region_shape
00263 
00264 # The orientation of the bounded region that constrains the position of the end-effector. 
00265 # This allows the specification of non-axis aligned constraints
00266 geometry_msgs/Quaternion constraint_region_orientation
00267 
00268 # Constraint weighting factor - a weight for this constraint
00269 float64 weight
00270 
00271 ================================================================================
00272 MSG: arm_navigation_msgs/OrientationConstraint
00273 # This message contains the definition of an orientation constraint.
00274 Header header
00275 
00276 # The robot link this constraint refers to
00277 string link_name
00278 
00279 # The type of the constraint
00280 int32 type
00281 int32 LINK_FRAME=0
00282 int32 HEADER_FRAME=1
00283 
00284 # The desired orientation of the robot link specified as a quaternion
00285 geometry_msgs/Quaternion orientation
00286 
00287 # optional RPY error tolerances specified if 
00288 float64 absolute_roll_tolerance
00289 float64 absolute_pitch_tolerance
00290 float64 absolute_yaw_tolerance
00291 
00292 # Constraint weighting factor - a weight for this constraint
00293 float64 weight
00294 
00295 ================================================================================
00296 MSG: arm_navigation_msgs/VisibilityConstraint
00297 # This message contains the definition of a visibility constraint.
00298 Header header
00299 
00300 # The point stamped target that needs to be kept within view of the sensor
00301 geometry_msgs/PointStamped target
00302 
00303 # The local pose of the frame in which visibility is to be maintained
00304 # The frame id should represent the robot link to which the sensor is attached
00305 # The visual axis of the sensor is assumed to be along the X axis of this frame
00306 geometry_msgs/PoseStamped sensor_pose
00307 
00308 # The deviation (in radians) that will be tolerated
00309 # Constraint error will be measured as the solid angle between the 
00310 # X axis of the frame defined above and the vector between the origin 
00311 # of the frame defined above and the target location
00312 float64 absolute_tolerance
00313 
00314 
00315 ================================================================================
00316 MSG: geometry_msgs/PointStamped
00317 # This represents a Point with reference coordinate frame and timestamp
00318 Header header
00319 Point point
00320 
00321 ================================================================================
00322 MSG: head_monitor_msgs/PreplanHeadScanActionResult
00323 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00324 
00325 Header header
00326 actionlib_msgs/GoalStatus status
00327 PreplanHeadScanResult result
00328 
00329 ================================================================================
00330 MSG: actionlib_msgs/GoalStatus
00331 GoalID goal_id
00332 uint8 status
00333 uint8 PENDING         = 0   # The goal has yet to be processed by the action server
00334 uint8 ACTIVE          = 1   # The goal is currently being processed by the action server
00335 uint8 PREEMPTED       = 2   # The goal received a cancel request after it started executing
00336                             #   and has since completed its execution (Terminal State)
00337 uint8 SUCCEEDED       = 3   # The goal was achieved successfully by the action server (Terminal State)
00338 uint8 ABORTED         = 4   # The goal was aborted during execution by the action server due
00339                             #    to some failure (Terminal State)
00340 uint8 REJECTED        = 5   # The goal was rejected by the action server without being processed,
00341                             #    because the goal was unattainable or invalid (Terminal State)
00342 uint8 PREEMPTING      = 6   # The goal received a cancel request after it started executing
00343                             #    and has not yet completed execution
00344 uint8 RECALLING       = 7   # The goal received a cancel request before it started executing,
00345                             #    but the action server has not yet confirmed that the goal is canceled
00346 uint8 RECALLED        = 8   # The goal received a cancel request before it started executing
00347                             #    and was successfully cancelled (Terminal State)
00348 uint8 LOST            = 9   # An action client can determine that a goal is LOST. This should not be
00349                             #    sent over the wire by an action server
00350 
00351 #Allow for the user to associate a string with GoalStatus for debugging
00352 string text
00353 
00354 
00355 ================================================================================
00356 MSG: head_monitor_msgs/PreplanHeadScanResult
00357 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00358 
00359 ================================================================================
00360 MSG: head_monitor_msgs/PreplanHeadScanActionFeedback
00361 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00362 
00363 Header header
00364 actionlib_msgs/GoalStatus status
00365 PreplanHeadScanFeedback feedback
00366 
00367 ================================================================================
00368 MSG: head_monitor_msgs/PreplanHeadScanFeedback
00369 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00370 
00371 
00372 """
00373   __slots__ = ['action_goal','action_result','action_feedback']
00374   _slot_types = ['head_monitor_msgs/PreplanHeadScanActionGoal','head_monitor_msgs/PreplanHeadScanActionResult','head_monitor_msgs/PreplanHeadScanActionFeedback']
00375 
00376   def __init__(self, *args, **kwds):
00377     """
00378     Constructor. Any message fields that are implicitly/explicitly
00379     set to None will be assigned a default value. The recommend
00380     use is keyword arguments as this is more robust to future message
00381     changes.  You cannot mix in-order arguments and keyword arguments.
00382 
00383     The available fields are:
00384        action_goal,action_result,action_feedback
00385 
00386     :param args: complete set of field values, in .msg order
00387     :param kwds: use keyword arguments corresponding to message field names
00388     to set specific fields.
00389     """
00390     if args or kwds:
00391       super(PreplanHeadScanAction, self).__init__(*args, **kwds)
00392       #message fields cannot be None, assign default values for those that are
00393       if self.action_goal is None:
00394         self.action_goal = head_monitor_msgs.msg.PreplanHeadScanActionGoal()
00395       if self.action_result is None:
00396         self.action_result = head_monitor_msgs.msg.PreplanHeadScanActionResult()
00397       if self.action_feedback is None:
00398         self.action_feedback = head_monitor_msgs.msg.PreplanHeadScanActionFeedback()
00399     else:
00400       self.action_goal = head_monitor_msgs.msg.PreplanHeadScanActionGoal()
00401       self.action_result = head_monitor_msgs.msg.PreplanHeadScanActionResult()
00402       self.action_feedback = head_monitor_msgs.msg.PreplanHeadScanActionFeedback()
00403 
00404   def _get_types(self):
00405     """
00406     internal API method
00407     """
00408     return self._slot_types
00409 
00410   def serialize(self, buff):
00411     """
00412     serialize message into buffer
00413     :param buff: buffer, ``StringIO``
00414     """
00415     try:
00416       _x = self
00417       buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
00418       _x = self.action_goal.header.frame_id
00419       length = len(_x)
00420       if python3 or type(_x) == unicode:
00421         _x = _x.encode('utf-8')
00422         length = len(_x)
00423       buff.write(struct.pack('<I%ss'%length, length, _x))
00424       _x = self
00425       buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
00426       _x = self.action_goal.goal_id.id
00427       length = len(_x)
00428       if python3 or type(_x) == unicode:
00429         _x = _x.encode('utf-8')
00430         length = len(_x)
00431       buff.write(struct.pack('<I%ss'%length, length, _x))
00432       _x = self.action_goal.goal.group_name
00433       length = len(_x)
00434       if python3 or type(_x) == unicode:
00435         _x = _x.encode('utf-8')
00436         length = len(_x)
00437       buff.write(struct.pack('<I%ss'%length, length, _x))
00438       _x = self.action_goal.goal.head_monitor_link
00439       length = len(_x)
00440       if python3 or type(_x) == unicode:
00441         _x = _x.encode('utf-8')
00442         length = len(_x)
00443       buff.write(struct.pack('<I%ss'%length, length, _x))
00444       buff.write(_struct_b.pack(self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.type))
00445       length = len(self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.dimensions)
00446       buff.write(_struct_I.pack(length))
00447       pattern = '<%sd'%length
00448       buff.write(struct.pack(pattern, *self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.dimensions))
00449       length = len(self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.triangles)
00450       buff.write(_struct_I.pack(length))
00451       pattern = '<%si'%length
00452       buff.write(struct.pack(pattern, *self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.triangles))
00453       length = len(self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.vertices)
00454       buff.write(_struct_I.pack(length))
00455       for val1 in self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.vertices:
00456         _x = val1
00457         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00458       _x = self
00459       buff.write(_struct_3I.pack(_x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.seq, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.stamp.secs, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.stamp.nsecs))
00460       _x = self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.frame_id
00461       length = len(_x)
00462       if python3 or type(_x) == unicode:
00463         _x = _x.encode('utf-8')
00464         length = len(_x)
00465       buff.write(struct.pack('<I%ss'%length, length, _x))
00466       _x = self
00467       buff.write(_struct_7d3I.pack(_x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.x, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.y, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.z, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.x, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.y, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.z, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.w, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.seq, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.stamp.secs, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.stamp.nsecs))
00468       _x = self.action_goal.goal.motion_plan_request.start_state.joint_state.header.frame_id
00469       length = len(_x)
00470       if python3 or type(_x) == unicode:
00471         _x = _x.encode('utf-8')
00472         length = len(_x)
00473       buff.write(struct.pack('<I%ss'%length, length, _x))
00474       length = len(self.action_goal.goal.motion_plan_request.start_state.joint_state.name)
00475       buff.write(_struct_I.pack(length))
00476       for val1 in self.action_goal.goal.motion_plan_request.start_state.joint_state.name:
00477         length = len(val1)
00478         if python3 or type(val1) == unicode:
00479           val1 = val1.encode('utf-8')
00480           length = len(val1)
00481         buff.write(struct.pack('<I%ss'%length, length, val1))
00482       length = len(self.action_goal.goal.motion_plan_request.start_state.joint_state.position)
00483       buff.write(_struct_I.pack(length))
00484       pattern = '<%sd'%length
00485       buff.write(struct.pack(pattern, *self.action_goal.goal.motion_plan_request.start_state.joint_state.position))
00486       length = len(self.action_goal.goal.motion_plan_request.start_state.joint_state.velocity)
00487       buff.write(_struct_I.pack(length))
00488       pattern = '<%sd'%length
00489       buff.write(struct.pack(pattern, *self.action_goal.goal.motion_plan_request.start_state.joint_state.velocity))
00490       length = len(self.action_goal.goal.motion_plan_request.start_state.joint_state.effort)
00491       buff.write(_struct_I.pack(length))
00492       pattern = '<%sd'%length
00493       buff.write(struct.pack(pattern, *self.action_goal.goal.motion_plan_request.start_state.joint_state.effort))
00494       _x = self
00495       buff.write(_struct_2I.pack(_x.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.stamp.secs, _x.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.stamp.nsecs))
00496       length = len(self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.joint_names)
00497       buff.write(_struct_I.pack(length))
00498       for val1 in self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.joint_names:
00499         length = len(val1)
00500         if python3 or type(val1) == unicode:
00501           val1 = val1.encode('utf-8')
00502           length = len(val1)
00503         buff.write(struct.pack('<I%ss'%length, length, val1))
00504       length = len(self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.frame_ids)
00505       buff.write(_struct_I.pack(length))
00506       for val1 in self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.frame_ids:
00507         length = len(val1)
00508         if python3 or type(val1) == unicode:
00509           val1 = val1.encode('utf-8')
00510           length = len(val1)
00511         buff.write(struct.pack('<I%ss'%length, length, val1))
00512       length = len(self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.child_frame_ids)
00513       buff.write(_struct_I.pack(length))
00514       for val1 in self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.child_frame_ids:
00515         length = len(val1)
00516         if python3 or type(val1) == unicode:
00517           val1 = val1.encode('utf-8')
00518           length = len(val1)
00519         buff.write(struct.pack('<I%ss'%length, length, val1))
00520       length = len(self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.poses)
00521       buff.write(_struct_I.pack(length))
00522       for val1 in self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.poses:
00523         _v1 = val1.position
00524         _x = _v1
00525         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00526         _v2 = val1.orientation
00527         _x = _v2
00528         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00529       length = len(self.action_goal.goal.motion_plan_request.goal_constraints.joint_constraints)
00530       buff.write(_struct_I.pack(length))
00531       for val1 in self.action_goal.goal.motion_plan_request.goal_constraints.joint_constraints:
00532         _x = val1.joint_name
00533         length = len(_x)
00534         if python3 or type(_x) == unicode:
00535           _x = _x.encode('utf-8')
00536           length = len(_x)
00537         buff.write(struct.pack('<I%ss'%length, length, _x))
00538         _x = val1
00539         buff.write(_struct_4d.pack(_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight))
00540       length = len(self.action_goal.goal.motion_plan_request.goal_constraints.position_constraints)
00541       buff.write(_struct_I.pack(length))
00542       for val1 in self.action_goal.goal.motion_plan_request.goal_constraints.position_constraints:
00543         _v3 = val1.header
00544         buff.write(_struct_I.pack(_v3.seq))
00545         _v4 = _v3.stamp
00546         _x = _v4
00547         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00548         _x = _v3.frame_id
00549         length = len(_x)
00550         if python3 or type(_x) == unicode:
00551           _x = _x.encode('utf-8')
00552           length = len(_x)
00553         buff.write(struct.pack('<I%ss'%length, length, _x))
00554         _x = val1.link_name
00555         length = len(_x)
00556         if python3 or type(_x) == unicode:
00557           _x = _x.encode('utf-8')
00558           length = len(_x)
00559         buff.write(struct.pack('<I%ss'%length, length, _x))
00560         _v5 = val1.target_point_offset
00561         _x = _v5
00562         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00563         _v6 = val1.position
00564         _x = _v6
00565         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00566         _v7 = val1.constraint_region_shape
00567         buff.write(_struct_b.pack(_v7.type))
00568         length = len(_v7.dimensions)
00569         buff.write(_struct_I.pack(length))
00570         pattern = '<%sd'%length
00571         buff.write(struct.pack(pattern, *_v7.dimensions))
00572         length = len(_v7.triangles)
00573         buff.write(_struct_I.pack(length))
00574         pattern = '<%si'%length
00575         buff.write(struct.pack(pattern, *_v7.triangles))
00576         length = len(_v7.vertices)
00577         buff.write(_struct_I.pack(length))
00578         for val3 in _v7.vertices:
00579           _x = val3
00580           buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00581         _v8 = val1.constraint_region_orientation
00582         _x = _v8
00583         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00584         buff.write(_struct_d.pack(val1.weight))
00585       length = len(self.action_goal.goal.motion_plan_request.goal_constraints.orientation_constraints)
00586       buff.write(_struct_I.pack(length))
00587       for val1 in self.action_goal.goal.motion_plan_request.goal_constraints.orientation_constraints:
00588         _v9 = val1.header
00589         buff.write(_struct_I.pack(_v9.seq))
00590         _v10 = _v9.stamp
00591         _x = _v10
00592         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00593         _x = _v9.frame_id
00594         length = len(_x)
00595         if python3 or type(_x) == unicode:
00596           _x = _x.encode('utf-8')
00597           length = len(_x)
00598         buff.write(struct.pack('<I%ss'%length, length, _x))
00599         _x = val1.link_name
00600         length = len(_x)
00601         if python3 or type(_x) == unicode:
00602           _x = _x.encode('utf-8')
00603           length = len(_x)
00604         buff.write(struct.pack('<I%ss'%length, length, _x))
00605         buff.write(_struct_i.pack(val1.type))
00606         _v11 = val1.orientation
00607         _x = _v11
00608         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00609         _x = val1
00610         buff.write(_struct_4d.pack(_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight))
00611       length = len(self.action_goal.goal.motion_plan_request.goal_constraints.visibility_constraints)
00612       buff.write(_struct_I.pack(length))
00613       for val1 in self.action_goal.goal.motion_plan_request.goal_constraints.visibility_constraints:
00614         _v12 = val1.header
00615         buff.write(_struct_I.pack(_v12.seq))
00616         _v13 = _v12.stamp
00617         _x = _v13
00618         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00619         _x = _v12.frame_id
00620         length = len(_x)
00621         if python3 or type(_x) == unicode:
00622           _x = _x.encode('utf-8')
00623           length = len(_x)
00624         buff.write(struct.pack('<I%ss'%length, length, _x))
00625         _v14 = val1.target
00626         _v15 = _v14.header
00627         buff.write(_struct_I.pack(_v15.seq))
00628         _v16 = _v15.stamp
00629         _x = _v16
00630         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00631         _x = _v15.frame_id
00632         length = len(_x)
00633         if python3 or type(_x) == unicode:
00634           _x = _x.encode('utf-8')
00635           length = len(_x)
00636         buff.write(struct.pack('<I%ss'%length, length, _x))
00637         _v17 = _v14.point
00638         _x = _v17
00639         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00640         _v18 = val1.sensor_pose
00641         _v19 = _v18.header
00642         buff.write(_struct_I.pack(_v19.seq))
00643         _v20 = _v19.stamp
00644         _x = _v20
00645         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00646         _x = _v19.frame_id
00647         length = len(_x)
00648         if python3 or type(_x) == unicode:
00649           _x = _x.encode('utf-8')
00650           length = len(_x)
00651         buff.write(struct.pack('<I%ss'%length, length, _x))
00652         _v21 = _v18.pose
00653         _v22 = _v21.position
00654         _x = _v22
00655         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00656         _v23 = _v21.orientation
00657         _x = _v23
00658         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00659         buff.write(_struct_d.pack(val1.absolute_tolerance))
00660       length = len(self.action_goal.goal.motion_plan_request.path_constraints.joint_constraints)
00661       buff.write(_struct_I.pack(length))
00662       for val1 in self.action_goal.goal.motion_plan_request.path_constraints.joint_constraints:
00663         _x = val1.joint_name
00664         length = len(_x)
00665         if python3 or type(_x) == unicode:
00666           _x = _x.encode('utf-8')
00667           length = len(_x)
00668         buff.write(struct.pack('<I%ss'%length, length, _x))
00669         _x = val1
00670         buff.write(_struct_4d.pack(_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight))
00671       length = len(self.action_goal.goal.motion_plan_request.path_constraints.position_constraints)
00672       buff.write(_struct_I.pack(length))
00673       for val1 in self.action_goal.goal.motion_plan_request.path_constraints.position_constraints:
00674         _v24 = val1.header
00675         buff.write(_struct_I.pack(_v24.seq))
00676         _v25 = _v24.stamp
00677         _x = _v25
00678         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00679         _x = _v24.frame_id
00680         length = len(_x)
00681         if python3 or type(_x) == unicode:
00682           _x = _x.encode('utf-8')
00683           length = len(_x)
00684         buff.write(struct.pack('<I%ss'%length, length, _x))
00685         _x = val1.link_name
00686         length = len(_x)
00687         if python3 or type(_x) == unicode:
00688           _x = _x.encode('utf-8')
00689           length = len(_x)
00690         buff.write(struct.pack('<I%ss'%length, length, _x))
00691         _v26 = val1.target_point_offset
00692         _x = _v26
00693         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00694         _v27 = val1.position
00695         _x = _v27
00696         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00697         _v28 = val1.constraint_region_shape
00698         buff.write(_struct_b.pack(_v28.type))
00699         length = len(_v28.dimensions)
00700         buff.write(_struct_I.pack(length))
00701         pattern = '<%sd'%length
00702         buff.write(struct.pack(pattern, *_v28.dimensions))
00703         length = len(_v28.triangles)
00704         buff.write(_struct_I.pack(length))
00705         pattern = '<%si'%length
00706         buff.write(struct.pack(pattern, *_v28.triangles))
00707         length = len(_v28.vertices)
00708         buff.write(_struct_I.pack(length))
00709         for val3 in _v28.vertices:
00710           _x = val3
00711           buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00712         _v29 = val1.constraint_region_orientation
00713         _x = _v29
00714         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00715         buff.write(_struct_d.pack(val1.weight))
00716       length = len(self.action_goal.goal.motion_plan_request.path_constraints.orientation_constraints)
00717       buff.write(_struct_I.pack(length))
00718       for val1 in self.action_goal.goal.motion_plan_request.path_constraints.orientation_constraints:
00719         _v30 = val1.header
00720         buff.write(_struct_I.pack(_v30.seq))
00721         _v31 = _v30.stamp
00722         _x = _v31
00723         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00724         _x = _v30.frame_id
00725         length = len(_x)
00726         if python3 or type(_x) == unicode:
00727           _x = _x.encode('utf-8')
00728           length = len(_x)
00729         buff.write(struct.pack('<I%ss'%length, length, _x))
00730         _x = val1.link_name
00731         length = len(_x)
00732         if python3 or type(_x) == unicode:
00733           _x = _x.encode('utf-8')
00734           length = len(_x)
00735         buff.write(struct.pack('<I%ss'%length, length, _x))
00736         buff.write(_struct_i.pack(val1.type))
00737         _v32 = val1.orientation
00738         _x = _v32
00739         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00740         _x = val1
00741         buff.write(_struct_4d.pack(_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight))
00742       length = len(self.action_goal.goal.motion_plan_request.path_constraints.visibility_constraints)
00743       buff.write(_struct_I.pack(length))
00744       for val1 in self.action_goal.goal.motion_plan_request.path_constraints.visibility_constraints:
00745         _v33 = val1.header
00746         buff.write(_struct_I.pack(_v33.seq))
00747         _v34 = _v33.stamp
00748         _x = _v34
00749         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00750         _x = _v33.frame_id
00751         length = len(_x)
00752         if python3 or type(_x) == unicode:
00753           _x = _x.encode('utf-8')
00754           length = len(_x)
00755         buff.write(struct.pack('<I%ss'%length, length, _x))
00756         _v35 = val1.target
00757         _v36 = _v35.header
00758         buff.write(_struct_I.pack(_v36.seq))
00759         _v37 = _v36.stamp
00760         _x = _v37
00761         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00762         _x = _v36.frame_id
00763         length = len(_x)
00764         if python3 or type(_x) == unicode:
00765           _x = _x.encode('utf-8')
00766           length = len(_x)
00767         buff.write(struct.pack('<I%ss'%length, length, _x))
00768         _v38 = _v35.point
00769         _x = _v38
00770         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00771         _v39 = val1.sensor_pose
00772         _v40 = _v39.header
00773         buff.write(_struct_I.pack(_v40.seq))
00774         _v41 = _v40.stamp
00775         _x = _v41
00776         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00777         _x = _v40.frame_id
00778         length = len(_x)
00779         if python3 or type(_x) == unicode:
00780           _x = _x.encode('utf-8')
00781           length = len(_x)
00782         buff.write(struct.pack('<I%ss'%length, length, _x))
00783         _v42 = _v39.pose
00784         _v43 = _v42.position
00785         _x = _v43
00786         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00787         _v44 = _v42.orientation
00788         _x = _v44
00789         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00790         buff.write(_struct_d.pack(val1.absolute_tolerance))
00791       _x = self.action_goal.goal.motion_plan_request.planner_id
00792       length = len(_x)
00793       if python3 or type(_x) == unicode:
00794         _x = _x.encode('utf-8')
00795         length = len(_x)
00796       buff.write(struct.pack('<I%ss'%length, length, _x))
00797       _x = self.action_goal.goal.motion_plan_request.group_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 = self
00804       buff.write(_struct_7i3I.pack(_x.action_goal.goal.motion_plan_request.num_planning_attempts, _x.action_goal.goal.motion_plan_request.allowed_planning_time.secs, _x.action_goal.goal.motion_plan_request.allowed_planning_time.nsecs, _x.action_goal.goal.motion_plan_request.expected_path_duration.secs, _x.action_goal.goal.motion_plan_request.expected_path_duration.nsecs, _x.action_goal.goal.motion_plan_request.expected_path_dt.secs, _x.action_goal.goal.motion_plan_request.expected_path_dt.nsecs, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
00805       _x = self.action_result.header.frame_id
00806       length = len(_x)
00807       if python3 or type(_x) == unicode:
00808         _x = _x.encode('utf-8')
00809         length = len(_x)
00810       buff.write(struct.pack('<I%ss'%length, length, _x))
00811       _x = self
00812       buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
00813       _x = self.action_result.status.goal_id.id
00814       length = len(_x)
00815       if python3 or type(_x) == unicode:
00816         _x = _x.encode('utf-8')
00817         length = len(_x)
00818       buff.write(struct.pack('<I%ss'%length, length, _x))
00819       buff.write(_struct_B.pack(self.action_result.status.status))
00820       _x = self.action_result.status.text
00821       length = len(_x)
00822       if python3 or type(_x) == unicode:
00823         _x = _x.encode('utf-8')
00824         length = len(_x)
00825       buff.write(struct.pack('<I%ss'%length, length, _x))
00826       _x = self
00827       buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
00828       _x = self.action_feedback.header.frame_id
00829       length = len(_x)
00830       if python3 or type(_x) == unicode:
00831         _x = _x.encode('utf-8')
00832         length = len(_x)
00833       buff.write(struct.pack('<I%ss'%length, length, _x))
00834       _x = self
00835       buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
00836       _x = self.action_feedback.status.goal_id.id
00837       length = len(_x)
00838       if python3 or type(_x) == unicode:
00839         _x = _x.encode('utf-8')
00840         length = len(_x)
00841       buff.write(struct.pack('<I%ss'%length, length, _x))
00842       buff.write(_struct_B.pack(self.action_feedback.status.status))
00843       _x = self.action_feedback.status.text
00844       length = len(_x)
00845       if python3 or type(_x) == unicode:
00846         _x = _x.encode('utf-8')
00847         length = len(_x)
00848       buff.write(struct.pack('<I%ss'%length, length, _x))
00849     except struct.error as se: self._check_types(se)
00850     except TypeError as te: self._check_types(te)
00851 
00852   def deserialize(self, str):
00853     """
00854     unpack serialized message in str into this message instance
00855     :param str: byte array of serialized message, ``str``
00856     """
00857     try:
00858       if self.action_goal is None:
00859         self.action_goal = head_monitor_msgs.msg.PreplanHeadScanActionGoal()
00860       if self.action_result is None:
00861         self.action_result = head_monitor_msgs.msg.PreplanHeadScanActionResult()
00862       if self.action_feedback is None:
00863         self.action_feedback = head_monitor_msgs.msg.PreplanHeadScanActionFeedback()
00864       end = 0
00865       _x = self
00866       start = end
00867       end += 12
00868       (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00869       start = end
00870       end += 4
00871       (length,) = _struct_I.unpack(str[start:end])
00872       start = end
00873       end += length
00874       if python3:
00875         self.action_goal.header.frame_id = str[start:end].decode('utf-8')
00876       else:
00877         self.action_goal.header.frame_id = str[start:end]
00878       _x = self
00879       start = end
00880       end += 8
00881       (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00882       start = end
00883       end += 4
00884       (length,) = _struct_I.unpack(str[start:end])
00885       start = end
00886       end += length
00887       if python3:
00888         self.action_goal.goal_id.id = str[start:end].decode('utf-8')
00889       else:
00890         self.action_goal.goal_id.id = str[start:end]
00891       start = end
00892       end += 4
00893       (length,) = _struct_I.unpack(str[start:end])
00894       start = end
00895       end += length
00896       if python3:
00897         self.action_goal.goal.group_name = str[start:end].decode('utf-8')
00898       else:
00899         self.action_goal.goal.group_name = str[start:end]
00900       start = end
00901       end += 4
00902       (length,) = _struct_I.unpack(str[start:end])
00903       start = end
00904       end += length
00905       if python3:
00906         self.action_goal.goal.head_monitor_link = str[start:end].decode('utf-8')
00907       else:
00908         self.action_goal.goal.head_monitor_link = str[start:end]
00909       start = end
00910       end += 1
00911       (self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.type,) = _struct_b.unpack(str[start:end])
00912       start = end
00913       end += 4
00914       (length,) = _struct_I.unpack(str[start:end])
00915       pattern = '<%sd'%length
00916       start = end
00917       end += struct.calcsize(pattern)
00918       self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.dimensions = struct.unpack(pattern, str[start:end])
00919       start = end
00920       end += 4
00921       (length,) = _struct_I.unpack(str[start:end])
00922       pattern = '<%si'%length
00923       start = end
00924       end += struct.calcsize(pattern)
00925       self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.triangles = struct.unpack(pattern, str[start:end])
00926       start = end
00927       end += 4
00928       (length,) = _struct_I.unpack(str[start:end])
00929       self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.vertices = []
00930       for i in range(0, length):
00931         val1 = geometry_msgs.msg.Point()
00932         _x = val1
00933         start = end
00934         end += 24
00935         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00936         self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.vertices.append(val1)
00937       _x = self
00938       start = end
00939       end += 12
00940       (_x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.seq, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.stamp.secs, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00941       start = end
00942       end += 4
00943       (length,) = _struct_I.unpack(str[start:end])
00944       start = end
00945       end += length
00946       if python3:
00947         self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.frame_id = str[start:end].decode('utf-8')
00948       else:
00949         self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.frame_id = str[start:end]
00950       _x = self
00951       start = end
00952       end += 68
00953       (_x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.x, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.y, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.z, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.x, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.y, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.z, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.w, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.seq, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.stamp.secs, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.stamp.nsecs,) = _struct_7d3I.unpack(str[start:end])
00954       start = end
00955       end += 4
00956       (length,) = _struct_I.unpack(str[start:end])
00957       start = end
00958       end += length
00959       if python3:
00960         self.action_goal.goal.motion_plan_request.start_state.joint_state.header.frame_id = str[start:end].decode('utf-8')
00961       else:
00962         self.action_goal.goal.motion_plan_request.start_state.joint_state.header.frame_id = str[start:end]
00963       start = end
00964       end += 4
00965       (length,) = _struct_I.unpack(str[start:end])
00966       self.action_goal.goal.motion_plan_request.start_state.joint_state.name = []
00967       for i in range(0, length):
00968         start = end
00969         end += 4
00970         (length,) = _struct_I.unpack(str[start:end])
00971         start = end
00972         end += length
00973         if python3:
00974           val1 = str[start:end].decode('utf-8')
00975         else:
00976           val1 = str[start:end]
00977         self.action_goal.goal.motion_plan_request.start_state.joint_state.name.append(val1)
00978       start = end
00979       end += 4
00980       (length,) = _struct_I.unpack(str[start:end])
00981       pattern = '<%sd'%length
00982       start = end
00983       end += struct.calcsize(pattern)
00984       self.action_goal.goal.motion_plan_request.start_state.joint_state.position = struct.unpack(pattern, str[start:end])
00985       start = end
00986       end += 4
00987       (length,) = _struct_I.unpack(str[start:end])
00988       pattern = '<%sd'%length
00989       start = end
00990       end += struct.calcsize(pattern)
00991       self.action_goal.goal.motion_plan_request.start_state.joint_state.velocity = struct.unpack(pattern, str[start:end])
00992       start = end
00993       end += 4
00994       (length,) = _struct_I.unpack(str[start:end])
00995       pattern = '<%sd'%length
00996       start = end
00997       end += struct.calcsize(pattern)
00998       self.action_goal.goal.motion_plan_request.start_state.joint_state.effort = struct.unpack(pattern, str[start:end])
00999       _x = self
01000       start = end
01001       end += 8
01002       (_x.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.stamp.secs, _x.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
01003       start = end
01004       end += 4
01005       (length,) = _struct_I.unpack(str[start:end])
01006       self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.joint_names = []
01007       for i in range(0, length):
01008         start = end
01009         end += 4
01010         (length,) = _struct_I.unpack(str[start:end])
01011         start = end
01012         end += length
01013         if python3:
01014           val1 = str[start:end].decode('utf-8')
01015         else:
01016           val1 = str[start:end]
01017         self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.joint_names.append(val1)
01018       start = end
01019       end += 4
01020       (length,) = _struct_I.unpack(str[start:end])
01021       self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.frame_ids = []
01022       for i in range(0, length):
01023         start = end
01024         end += 4
01025         (length,) = _struct_I.unpack(str[start:end])
01026         start = end
01027         end += length
01028         if python3:
01029           val1 = str[start:end].decode('utf-8')
01030         else:
01031           val1 = str[start:end]
01032         self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.frame_ids.append(val1)
01033       start = end
01034       end += 4
01035       (length,) = _struct_I.unpack(str[start:end])
01036       self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.child_frame_ids = []
01037       for i in range(0, length):
01038         start = end
01039         end += 4
01040         (length,) = _struct_I.unpack(str[start:end])
01041         start = end
01042         end += length
01043         if python3:
01044           val1 = str[start:end].decode('utf-8')
01045         else:
01046           val1 = str[start:end]
01047         self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.child_frame_ids.append(val1)
01048       start = end
01049       end += 4
01050       (length,) = _struct_I.unpack(str[start:end])
01051       self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.poses = []
01052       for i in range(0, length):
01053         val1 = geometry_msgs.msg.Pose()
01054         _v45 = val1.position
01055         _x = _v45
01056         start = end
01057         end += 24
01058         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01059         _v46 = val1.orientation
01060         _x = _v46
01061         start = end
01062         end += 32
01063         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01064         self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.poses.append(val1)
01065       start = end
01066       end += 4
01067       (length,) = _struct_I.unpack(str[start:end])
01068       self.action_goal.goal.motion_plan_request.goal_constraints.joint_constraints = []
01069       for i in range(0, length):
01070         val1 = arm_navigation_msgs.msg.JointConstraint()
01071         start = end
01072         end += 4
01073         (length,) = _struct_I.unpack(str[start:end])
01074         start = end
01075         end += length
01076         if python3:
01077           val1.joint_name = str[start:end].decode('utf-8')
01078         else:
01079           val1.joint_name = str[start:end]
01080         _x = val1
01081         start = end
01082         end += 32
01083         (_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight,) = _struct_4d.unpack(str[start:end])
01084         self.action_goal.goal.motion_plan_request.goal_constraints.joint_constraints.append(val1)
01085       start = end
01086       end += 4
01087       (length,) = _struct_I.unpack(str[start:end])
01088       self.action_goal.goal.motion_plan_request.goal_constraints.position_constraints = []
01089       for i in range(0, length):
01090         val1 = arm_navigation_msgs.msg.PositionConstraint()
01091         _v47 = val1.header
01092         start = end
01093         end += 4
01094         (_v47.seq,) = _struct_I.unpack(str[start:end])
01095         _v48 = _v47.stamp
01096         _x = _v48
01097         start = end
01098         end += 8
01099         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01100         start = end
01101         end += 4
01102         (length,) = _struct_I.unpack(str[start:end])
01103         start = end
01104         end += length
01105         if python3:
01106           _v47.frame_id = str[start:end].decode('utf-8')
01107         else:
01108           _v47.frame_id = str[start:end]
01109         start = end
01110         end += 4
01111         (length,) = _struct_I.unpack(str[start:end])
01112         start = end
01113         end += length
01114         if python3:
01115           val1.link_name = str[start:end].decode('utf-8')
01116         else:
01117           val1.link_name = str[start:end]
01118         _v49 = val1.target_point_offset
01119         _x = _v49
01120         start = end
01121         end += 24
01122         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01123         _v50 = val1.position
01124         _x = _v50
01125         start = end
01126         end += 24
01127         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01128         _v51 = val1.constraint_region_shape
01129         start = end
01130         end += 1
01131         (_v51.type,) = _struct_b.unpack(str[start:end])
01132         start = end
01133         end += 4
01134         (length,) = _struct_I.unpack(str[start:end])
01135         pattern = '<%sd'%length
01136         start = end
01137         end += struct.calcsize(pattern)
01138         _v51.dimensions = struct.unpack(pattern, str[start:end])
01139         start = end
01140         end += 4
01141         (length,) = _struct_I.unpack(str[start:end])
01142         pattern = '<%si'%length
01143         start = end
01144         end += struct.calcsize(pattern)
01145         _v51.triangles = struct.unpack(pattern, str[start:end])
01146         start = end
01147         end += 4
01148         (length,) = _struct_I.unpack(str[start:end])
01149         _v51.vertices = []
01150         for i in range(0, length):
01151           val3 = geometry_msgs.msg.Point()
01152           _x = val3
01153           start = end
01154           end += 24
01155           (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01156           _v51.vertices.append(val3)
01157         _v52 = val1.constraint_region_orientation
01158         _x = _v52
01159         start = end
01160         end += 32
01161         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01162         start = end
01163         end += 8
01164         (val1.weight,) = _struct_d.unpack(str[start:end])
01165         self.action_goal.goal.motion_plan_request.goal_constraints.position_constraints.append(val1)
01166       start = end
01167       end += 4
01168       (length,) = _struct_I.unpack(str[start:end])
01169       self.action_goal.goal.motion_plan_request.goal_constraints.orientation_constraints = []
01170       for i in range(0, length):
01171         val1 = arm_navigation_msgs.msg.OrientationConstraint()
01172         _v53 = val1.header
01173         start = end
01174         end += 4
01175         (_v53.seq,) = _struct_I.unpack(str[start:end])
01176         _v54 = _v53.stamp
01177         _x = _v54
01178         start = end
01179         end += 8
01180         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01181         start = end
01182         end += 4
01183         (length,) = _struct_I.unpack(str[start:end])
01184         start = end
01185         end += length
01186         if python3:
01187           _v53.frame_id = str[start:end].decode('utf-8')
01188         else:
01189           _v53.frame_id = str[start:end]
01190         start = end
01191         end += 4
01192         (length,) = _struct_I.unpack(str[start:end])
01193         start = end
01194         end += length
01195         if python3:
01196           val1.link_name = str[start:end].decode('utf-8')
01197         else:
01198           val1.link_name = str[start:end]
01199         start = end
01200         end += 4
01201         (val1.type,) = _struct_i.unpack(str[start:end])
01202         _v55 = val1.orientation
01203         _x = _v55
01204         start = end
01205         end += 32
01206         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01207         _x = val1
01208         start = end
01209         end += 32
01210         (_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight,) = _struct_4d.unpack(str[start:end])
01211         self.action_goal.goal.motion_plan_request.goal_constraints.orientation_constraints.append(val1)
01212       start = end
01213       end += 4
01214       (length,) = _struct_I.unpack(str[start:end])
01215       self.action_goal.goal.motion_plan_request.goal_constraints.visibility_constraints = []
01216       for i in range(0, length):
01217         val1 = arm_navigation_msgs.msg.VisibilityConstraint()
01218         _v56 = val1.header
01219         start = end
01220         end += 4
01221         (_v56.seq,) = _struct_I.unpack(str[start:end])
01222         _v57 = _v56.stamp
01223         _x = _v57
01224         start = end
01225         end += 8
01226         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01227         start = end
01228         end += 4
01229         (length,) = _struct_I.unpack(str[start:end])
01230         start = end
01231         end += length
01232         if python3:
01233           _v56.frame_id = str[start:end].decode('utf-8')
01234         else:
01235           _v56.frame_id = str[start:end]
01236         _v58 = val1.target
01237         _v59 = _v58.header
01238         start = end
01239         end += 4
01240         (_v59.seq,) = _struct_I.unpack(str[start:end])
01241         _v60 = _v59.stamp
01242         _x = _v60
01243         start = end
01244         end += 8
01245         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01246         start = end
01247         end += 4
01248         (length,) = _struct_I.unpack(str[start:end])
01249         start = end
01250         end += length
01251         if python3:
01252           _v59.frame_id = str[start:end].decode('utf-8')
01253         else:
01254           _v59.frame_id = str[start:end]
01255         _v61 = _v58.point
01256         _x = _v61
01257         start = end
01258         end += 24
01259         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01260         _v62 = val1.sensor_pose
01261         _v63 = _v62.header
01262         start = end
01263         end += 4
01264         (_v63.seq,) = _struct_I.unpack(str[start:end])
01265         _v64 = _v63.stamp
01266         _x = _v64
01267         start = end
01268         end += 8
01269         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01270         start = end
01271         end += 4
01272         (length,) = _struct_I.unpack(str[start:end])
01273         start = end
01274         end += length
01275         if python3:
01276           _v63.frame_id = str[start:end].decode('utf-8')
01277         else:
01278           _v63.frame_id = str[start:end]
01279         _v65 = _v62.pose
01280         _v66 = _v65.position
01281         _x = _v66
01282         start = end
01283         end += 24
01284         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01285         _v67 = _v65.orientation
01286         _x = _v67
01287         start = end
01288         end += 32
01289         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01290         start = end
01291         end += 8
01292         (val1.absolute_tolerance,) = _struct_d.unpack(str[start:end])
01293         self.action_goal.goal.motion_plan_request.goal_constraints.visibility_constraints.append(val1)
01294       start = end
01295       end += 4
01296       (length,) = _struct_I.unpack(str[start:end])
01297       self.action_goal.goal.motion_plan_request.path_constraints.joint_constraints = []
01298       for i in range(0, length):
01299         val1 = arm_navigation_msgs.msg.JointConstraint()
01300         start = end
01301         end += 4
01302         (length,) = _struct_I.unpack(str[start:end])
01303         start = end
01304         end += length
01305         if python3:
01306           val1.joint_name = str[start:end].decode('utf-8')
01307         else:
01308           val1.joint_name = str[start:end]
01309         _x = val1
01310         start = end
01311         end += 32
01312         (_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight,) = _struct_4d.unpack(str[start:end])
01313         self.action_goal.goal.motion_plan_request.path_constraints.joint_constraints.append(val1)
01314       start = end
01315       end += 4
01316       (length,) = _struct_I.unpack(str[start:end])
01317       self.action_goal.goal.motion_plan_request.path_constraints.position_constraints = []
01318       for i in range(0, length):
01319         val1 = arm_navigation_msgs.msg.PositionConstraint()
01320         _v68 = val1.header
01321         start = end
01322         end += 4
01323         (_v68.seq,) = _struct_I.unpack(str[start:end])
01324         _v69 = _v68.stamp
01325         _x = _v69
01326         start = end
01327         end += 8
01328         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01329         start = end
01330         end += 4
01331         (length,) = _struct_I.unpack(str[start:end])
01332         start = end
01333         end += length
01334         if python3:
01335           _v68.frame_id = str[start:end].decode('utf-8')
01336         else:
01337           _v68.frame_id = str[start:end]
01338         start = end
01339         end += 4
01340         (length,) = _struct_I.unpack(str[start:end])
01341         start = end
01342         end += length
01343         if python3:
01344           val1.link_name = str[start:end].decode('utf-8')
01345         else:
01346           val1.link_name = str[start:end]
01347         _v70 = val1.target_point_offset
01348         _x = _v70
01349         start = end
01350         end += 24
01351         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01352         _v71 = val1.position
01353         _x = _v71
01354         start = end
01355         end += 24
01356         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01357         _v72 = val1.constraint_region_shape
01358         start = end
01359         end += 1
01360         (_v72.type,) = _struct_b.unpack(str[start:end])
01361         start = end
01362         end += 4
01363         (length,) = _struct_I.unpack(str[start:end])
01364         pattern = '<%sd'%length
01365         start = end
01366         end += struct.calcsize(pattern)
01367         _v72.dimensions = struct.unpack(pattern, str[start:end])
01368         start = end
01369         end += 4
01370         (length,) = _struct_I.unpack(str[start:end])
01371         pattern = '<%si'%length
01372         start = end
01373         end += struct.calcsize(pattern)
01374         _v72.triangles = struct.unpack(pattern, str[start:end])
01375         start = end
01376         end += 4
01377         (length,) = _struct_I.unpack(str[start:end])
01378         _v72.vertices = []
01379         for i in range(0, length):
01380           val3 = geometry_msgs.msg.Point()
01381           _x = val3
01382           start = end
01383           end += 24
01384           (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01385           _v72.vertices.append(val3)
01386         _v73 = val1.constraint_region_orientation
01387         _x = _v73
01388         start = end
01389         end += 32
01390         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01391         start = end
01392         end += 8
01393         (val1.weight,) = _struct_d.unpack(str[start:end])
01394         self.action_goal.goal.motion_plan_request.path_constraints.position_constraints.append(val1)
01395       start = end
01396       end += 4
01397       (length,) = _struct_I.unpack(str[start:end])
01398       self.action_goal.goal.motion_plan_request.path_constraints.orientation_constraints = []
01399       for i in range(0, length):
01400         val1 = arm_navigation_msgs.msg.OrientationConstraint()
01401         _v74 = val1.header
01402         start = end
01403         end += 4
01404         (_v74.seq,) = _struct_I.unpack(str[start:end])
01405         _v75 = _v74.stamp
01406         _x = _v75
01407         start = end
01408         end += 8
01409         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01410         start = end
01411         end += 4
01412         (length,) = _struct_I.unpack(str[start:end])
01413         start = end
01414         end += length
01415         if python3:
01416           _v74.frame_id = str[start:end].decode('utf-8')
01417         else:
01418           _v74.frame_id = str[start:end]
01419         start = end
01420         end += 4
01421         (length,) = _struct_I.unpack(str[start:end])
01422         start = end
01423         end += length
01424         if python3:
01425           val1.link_name = str[start:end].decode('utf-8')
01426         else:
01427           val1.link_name = str[start:end]
01428         start = end
01429         end += 4
01430         (val1.type,) = _struct_i.unpack(str[start:end])
01431         _v76 = val1.orientation
01432         _x = _v76
01433         start = end
01434         end += 32
01435         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01436         _x = val1
01437         start = end
01438         end += 32
01439         (_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight,) = _struct_4d.unpack(str[start:end])
01440         self.action_goal.goal.motion_plan_request.path_constraints.orientation_constraints.append(val1)
01441       start = end
01442       end += 4
01443       (length,) = _struct_I.unpack(str[start:end])
01444       self.action_goal.goal.motion_plan_request.path_constraints.visibility_constraints = []
01445       for i in range(0, length):
01446         val1 = arm_navigation_msgs.msg.VisibilityConstraint()
01447         _v77 = val1.header
01448         start = end
01449         end += 4
01450         (_v77.seq,) = _struct_I.unpack(str[start:end])
01451         _v78 = _v77.stamp
01452         _x = _v78
01453         start = end
01454         end += 8
01455         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01456         start = end
01457         end += 4
01458         (length,) = _struct_I.unpack(str[start:end])
01459         start = end
01460         end += length
01461         if python3:
01462           _v77.frame_id = str[start:end].decode('utf-8')
01463         else:
01464           _v77.frame_id = str[start:end]
01465         _v79 = val1.target
01466         _v80 = _v79.header
01467         start = end
01468         end += 4
01469         (_v80.seq,) = _struct_I.unpack(str[start:end])
01470         _v81 = _v80.stamp
01471         _x = _v81
01472         start = end
01473         end += 8
01474         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01475         start = end
01476         end += 4
01477         (length,) = _struct_I.unpack(str[start:end])
01478         start = end
01479         end += length
01480         if python3:
01481           _v80.frame_id = str[start:end].decode('utf-8')
01482         else:
01483           _v80.frame_id = str[start:end]
01484         _v82 = _v79.point
01485         _x = _v82
01486         start = end
01487         end += 24
01488         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01489         _v83 = val1.sensor_pose
01490         _v84 = _v83.header
01491         start = end
01492         end += 4
01493         (_v84.seq,) = _struct_I.unpack(str[start:end])
01494         _v85 = _v84.stamp
01495         _x = _v85
01496         start = end
01497         end += 8
01498         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01499         start = end
01500         end += 4
01501         (length,) = _struct_I.unpack(str[start:end])
01502         start = end
01503         end += length
01504         if python3:
01505           _v84.frame_id = str[start:end].decode('utf-8')
01506         else:
01507           _v84.frame_id = str[start:end]
01508         _v86 = _v83.pose
01509         _v87 = _v86.position
01510         _x = _v87
01511         start = end
01512         end += 24
01513         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01514         _v88 = _v86.orientation
01515         _x = _v88
01516         start = end
01517         end += 32
01518         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01519         start = end
01520         end += 8
01521         (val1.absolute_tolerance,) = _struct_d.unpack(str[start:end])
01522         self.action_goal.goal.motion_plan_request.path_constraints.visibility_constraints.append(val1)
01523       start = end
01524       end += 4
01525       (length,) = _struct_I.unpack(str[start:end])
01526       start = end
01527       end += length
01528       if python3:
01529         self.action_goal.goal.motion_plan_request.planner_id = str[start:end].decode('utf-8')
01530       else:
01531         self.action_goal.goal.motion_plan_request.planner_id = str[start:end]
01532       start = end
01533       end += 4
01534       (length,) = _struct_I.unpack(str[start:end])
01535       start = end
01536       end += length
01537       if python3:
01538         self.action_goal.goal.motion_plan_request.group_name = str[start:end].decode('utf-8')
01539       else:
01540         self.action_goal.goal.motion_plan_request.group_name = str[start:end]
01541       _x = self
01542       start = end
01543       end += 40
01544       (_x.action_goal.goal.motion_plan_request.num_planning_attempts, _x.action_goal.goal.motion_plan_request.allowed_planning_time.secs, _x.action_goal.goal.motion_plan_request.allowed_planning_time.nsecs, _x.action_goal.goal.motion_plan_request.expected_path_duration.secs, _x.action_goal.goal.motion_plan_request.expected_path_duration.nsecs, _x.action_goal.goal.motion_plan_request.expected_path_dt.secs, _x.action_goal.goal.motion_plan_request.expected_path_dt.nsecs, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_7i3I.unpack(str[start:end])
01545       start = end
01546       end += 4
01547       (length,) = _struct_I.unpack(str[start:end])
01548       start = end
01549       end += length
01550       if python3:
01551         self.action_result.header.frame_id = str[start:end].decode('utf-8')
01552       else:
01553         self.action_result.header.frame_id = str[start:end]
01554       _x = self
01555       start = end
01556       end += 8
01557       (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
01558       start = end
01559       end += 4
01560       (length,) = _struct_I.unpack(str[start:end])
01561       start = end
01562       end += length
01563       if python3:
01564         self.action_result.status.goal_id.id = str[start:end].decode('utf-8')
01565       else:
01566         self.action_result.status.goal_id.id = str[start:end]
01567       start = end
01568       end += 1
01569       (self.action_result.status.status,) = _struct_B.unpack(str[start:end])
01570       start = end
01571       end += 4
01572       (length,) = _struct_I.unpack(str[start:end])
01573       start = end
01574       end += length
01575       if python3:
01576         self.action_result.status.text = str[start:end].decode('utf-8')
01577       else:
01578         self.action_result.status.text = str[start:end]
01579       _x = self
01580       start = end
01581       end += 12
01582       (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01583       start = end
01584       end += 4
01585       (length,) = _struct_I.unpack(str[start:end])
01586       start = end
01587       end += length
01588       if python3:
01589         self.action_feedback.header.frame_id = str[start:end].decode('utf-8')
01590       else:
01591         self.action_feedback.header.frame_id = str[start:end]
01592       _x = self
01593       start = end
01594       end += 8
01595       (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
01596       start = end
01597       end += 4
01598       (length,) = _struct_I.unpack(str[start:end])
01599       start = end
01600       end += length
01601       if python3:
01602         self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
01603       else:
01604         self.action_feedback.status.goal_id.id = str[start:end]
01605       start = end
01606       end += 1
01607       (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end])
01608       start = end
01609       end += 4
01610       (length,) = _struct_I.unpack(str[start:end])
01611       start = end
01612       end += length
01613       if python3:
01614         self.action_feedback.status.text = str[start:end].decode('utf-8')
01615       else:
01616         self.action_feedback.status.text = str[start:end]
01617       return self
01618     except struct.error as e:
01619       raise genpy.DeserializationError(e) #most likely buffer underfill
01620 
01621 
01622   def serialize_numpy(self, buff, numpy):
01623     """
01624     serialize message with numpy array types into buffer
01625     :param buff: buffer, ``StringIO``
01626     :param numpy: numpy python module
01627     """
01628     try:
01629       _x = self
01630       buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
01631       _x = self.action_goal.header.frame_id
01632       length = len(_x)
01633       if python3 or type(_x) == unicode:
01634         _x = _x.encode('utf-8')
01635         length = len(_x)
01636       buff.write(struct.pack('<I%ss'%length, length, _x))
01637       _x = self
01638       buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
01639       _x = self.action_goal.goal_id.id
01640       length = len(_x)
01641       if python3 or type(_x) == unicode:
01642         _x = _x.encode('utf-8')
01643         length = len(_x)
01644       buff.write(struct.pack('<I%ss'%length, length, _x))
01645       _x = self.action_goal.goal.group_name
01646       length = len(_x)
01647       if python3 or type(_x) == unicode:
01648         _x = _x.encode('utf-8')
01649         length = len(_x)
01650       buff.write(struct.pack('<I%ss'%length, length, _x))
01651       _x = self.action_goal.goal.head_monitor_link
01652       length = len(_x)
01653       if python3 or type(_x) == unicode:
01654         _x = _x.encode('utf-8')
01655         length = len(_x)
01656       buff.write(struct.pack('<I%ss'%length, length, _x))
01657       buff.write(_struct_b.pack(self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.type))
01658       length = len(self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.dimensions)
01659       buff.write(_struct_I.pack(length))
01660       pattern = '<%sd'%length
01661       buff.write(self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.dimensions.tostring())
01662       length = len(self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.triangles)
01663       buff.write(_struct_I.pack(length))
01664       pattern = '<%si'%length
01665       buff.write(self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.triangles.tostring())
01666       length = len(self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.vertices)
01667       buff.write(_struct_I.pack(length))
01668       for val1 in self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.vertices:
01669         _x = val1
01670         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01671       _x = self
01672       buff.write(_struct_3I.pack(_x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.seq, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.stamp.secs, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.stamp.nsecs))
01673       _x = self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.frame_id
01674       length = len(_x)
01675       if python3 or type(_x) == unicode:
01676         _x = _x.encode('utf-8')
01677         length = len(_x)
01678       buff.write(struct.pack('<I%ss'%length, length, _x))
01679       _x = self
01680       buff.write(_struct_7d3I.pack(_x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.x, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.y, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.z, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.x, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.y, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.z, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.w, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.seq, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.stamp.secs, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.stamp.nsecs))
01681       _x = self.action_goal.goal.motion_plan_request.start_state.joint_state.header.frame_id
01682       length = len(_x)
01683       if python3 or type(_x) == unicode:
01684         _x = _x.encode('utf-8')
01685         length = len(_x)
01686       buff.write(struct.pack('<I%ss'%length, length, _x))
01687       length = len(self.action_goal.goal.motion_plan_request.start_state.joint_state.name)
01688       buff.write(_struct_I.pack(length))
01689       for val1 in self.action_goal.goal.motion_plan_request.start_state.joint_state.name:
01690         length = len(val1)
01691         if python3 or type(val1) == unicode:
01692           val1 = val1.encode('utf-8')
01693           length = len(val1)
01694         buff.write(struct.pack('<I%ss'%length, length, val1))
01695       length = len(self.action_goal.goal.motion_plan_request.start_state.joint_state.position)
01696       buff.write(_struct_I.pack(length))
01697       pattern = '<%sd'%length
01698       buff.write(self.action_goal.goal.motion_plan_request.start_state.joint_state.position.tostring())
01699       length = len(self.action_goal.goal.motion_plan_request.start_state.joint_state.velocity)
01700       buff.write(_struct_I.pack(length))
01701       pattern = '<%sd'%length
01702       buff.write(self.action_goal.goal.motion_plan_request.start_state.joint_state.velocity.tostring())
01703       length = len(self.action_goal.goal.motion_plan_request.start_state.joint_state.effort)
01704       buff.write(_struct_I.pack(length))
01705       pattern = '<%sd'%length
01706       buff.write(self.action_goal.goal.motion_plan_request.start_state.joint_state.effort.tostring())
01707       _x = self
01708       buff.write(_struct_2I.pack(_x.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.stamp.secs, _x.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.stamp.nsecs))
01709       length = len(self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.joint_names)
01710       buff.write(_struct_I.pack(length))
01711       for val1 in self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.joint_names:
01712         length = len(val1)
01713         if python3 or type(val1) == unicode:
01714           val1 = val1.encode('utf-8')
01715           length = len(val1)
01716         buff.write(struct.pack('<I%ss'%length, length, val1))
01717       length = len(self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.frame_ids)
01718       buff.write(_struct_I.pack(length))
01719       for val1 in self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.frame_ids:
01720         length = len(val1)
01721         if python3 or type(val1) == unicode:
01722           val1 = val1.encode('utf-8')
01723           length = len(val1)
01724         buff.write(struct.pack('<I%ss'%length, length, val1))
01725       length = len(self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.child_frame_ids)
01726       buff.write(_struct_I.pack(length))
01727       for val1 in self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.child_frame_ids:
01728         length = len(val1)
01729         if python3 or type(val1) == unicode:
01730           val1 = val1.encode('utf-8')
01731           length = len(val1)
01732         buff.write(struct.pack('<I%ss'%length, length, val1))
01733       length = len(self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.poses)
01734       buff.write(_struct_I.pack(length))
01735       for val1 in self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.poses:
01736         _v89 = val1.position
01737         _x = _v89
01738         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01739         _v90 = val1.orientation
01740         _x = _v90
01741         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01742       length = len(self.action_goal.goal.motion_plan_request.goal_constraints.joint_constraints)
01743       buff.write(_struct_I.pack(length))
01744       for val1 in self.action_goal.goal.motion_plan_request.goal_constraints.joint_constraints:
01745         _x = val1.joint_name
01746         length = len(_x)
01747         if python3 or type(_x) == unicode:
01748           _x = _x.encode('utf-8')
01749           length = len(_x)
01750         buff.write(struct.pack('<I%ss'%length, length, _x))
01751         _x = val1
01752         buff.write(_struct_4d.pack(_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight))
01753       length = len(self.action_goal.goal.motion_plan_request.goal_constraints.position_constraints)
01754       buff.write(_struct_I.pack(length))
01755       for val1 in self.action_goal.goal.motion_plan_request.goal_constraints.position_constraints:
01756         _v91 = val1.header
01757         buff.write(_struct_I.pack(_v91.seq))
01758         _v92 = _v91.stamp
01759         _x = _v92
01760         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01761         _x = _v91.frame_id
01762         length = len(_x)
01763         if python3 or type(_x) == unicode:
01764           _x = _x.encode('utf-8')
01765           length = len(_x)
01766         buff.write(struct.pack('<I%ss'%length, length, _x))
01767         _x = val1.link_name
01768         length = len(_x)
01769         if python3 or type(_x) == unicode:
01770           _x = _x.encode('utf-8')
01771           length = len(_x)
01772         buff.write(struct.pack('<I%ss'%length, length, _x))
01773         _v93 = val1.target_point_offset
01774         _x = _v93
01775         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01776         _v94 = val1.position
01777         _x = _v94
01778         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01779         _v95 = val1.constraint_region_shape
01780         buff.write(_struct_b.pack(_v95.type))
01781         length = len(_v95.dimensions)
01782         buff.write(_struct_I.pack(length))
01783         pattern = '<%sd'%length
01784         buff.write(_v95.dimensions.tostring())
01785         length = len(_v95.triangles)
01786         buff.write(_struct_I.pack(length))
01787         pattern = '<%si'%length
01788         buff.write(_v95.triangles.tostring())
01789         length = len(_v95.vertices)
01790         buff.write(_struct_I.pack(length))
01791         for val3 in _v95.vertices:
01792           _x = val3
01793           buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01794         _v96 = val1.constraint_region_orientation
01795         _x = _v96
01796         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01797         buff.write(_struct_d.pack(val1.weight))
01798       length = len(self.action_goal.goal.motion_plan_request.goal_constraints.orientation_constraints)
01799       buff.write(_struct_I.pack(length))
01800       for val1 in self.action_goal.goal.motion_plan_request.goal_constraints.orientation_constraints:
01801         _v97 = val1.header
01802         buff.write(_struct_I.pack(_v97.seq))
01803         _v98 = _v97.stamp
01804         _x = _v98
01805         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01806         _x = _v97.frame_id
01807         length = len(_x)
01808         if python3 or type(_x) == unicode:
01809           _x = _x.encode('utf-8')
01810           length = len(_x)
01811         buff.write(struct.pack('<I%ss'%length, length, _x))
01812         _x = val1.link_name
01813         length = len(_x)
01814         if python3 or type(_x) == unicode:
01815           _x = _x.encode('utf-8')
01816           length = len(_x)
01817         buff.write(struct.pack('<I%ss'%length, length, _x))
01818         buff.write(_struct_i.pack(val1.type))
01819         _v99 = val1.orientation
01820         _x = _v99
01821         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01822         _x = val1
01823         buff.write(_struct_4d.pack(_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight))
01824       length = len(self.action_goal.goal.motion_plan_request.goal_constraints.visibility_constraints)
01825       buff.write(_struct_I.pack(length))
01826       for val1 in self.action_goal.goal.motion_plan_request.goal_constraints.visibility_constraints:
01827         _v100 = val1.header
01828         buff.write(_struct_I.pack(_v100.seq))
01829         _v101 = _v100.stamp
01830         _x = _v101
01831         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01832         _x = _v100.frame_id
01833         length = len(_x)
01834         if python3 or type(_x) == unicode:
01835           _x = _x.encode('utf-8')
01836           length = len(_x)
01837         buff.write(struct.pack('<I%ss'%length, length, _x))
01838         _v102 = val1.target
01839         _v103 = _v102.header
01840         buff.write(_struct_I.pack(_v103.seq))
01841         _v104 = _v103.stamp
01842         _x = _v104
01843         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01844         _x = _v103.frame_id
01845         length = len(_x)
01846         if python3 or type(_x) == unicode:
01847           _x = _x.encode('utf-8')
01848           length = len(_x)
01849         buff.write(struct.pack('<I%ss'%length, length, _x))
01850         _v105 = _v102.point
01851         _x = _v105
01852         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01853         _v106 = val1.sensor_pose
01854         _v107 = _v106.header
01855         buff.write(_struct_I.pack(_v107.seq))
01856         _v108 = _v107.stamp
01857         _x = _v108
01858         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01859         _x = _v107.frame_id
01860         length = len(_x)
01861         if python3 or type(_x) == unicode:
01862           _x = _x.encode('utf-8')
01863           length = len(_x)
01864         buff.write(struct.pack('<I%ss'%length, length, _x))
01865         _v109 = _v106.pose
01866         _v110 = _v109.position
01867         _x = _v110
01868         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01869         _v111 = _v109.orientation
01870         _x = _v111
01871         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01872         buff.write(_struct_d.pack(val1.absolute_tolerance))
01873       length = len(self.action_goal.goal.motion_plan_request.path_constraints.joint_constraints)
01874       buff.write(_struct_I.pack(length))
01875       for val1 in self.action_goal.goal.motion_plan_request.path_constraints.joint_constraints:
01876         _x = val1.joint_name
01877         length = len(_x)
01878         if python3 or type(_x) == unicode:
01879           _x = _x.encode('utf-8')
01880           length = len(_x)
01881         buff.write(struct.pack('<I%ss'%length, length, _x))
01882         _x = val1
01883         buff.write(_struct_4d.pack(_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight))
01884       length = len(self.action_goal.goal.motion_plan_request.path_constraints.position_constraints)
01885       buff.write(_struct_I.pack(length))
01886       for val1 in self.action_goal.goal.motion_plan_request.path_constraints.position_constraints:
01887         _v112 = val1.header
01888         buff.write(_struct_I.pack(_v112.seq))
01889         _v113 = _v112.stamp
01890         _x = _v113
01891         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01892         _x = _v112.frame_id
01893         length = len(_x)
01894         if python3 or type(_x) == unicode:
01895           _x = _x.encode('utf-8')
01896           length = len(_x)
01897         buff.write(struct.pack('<I%ss'%length, length, _x))
01898         _x = val1.link_name
01899         length = len(_x)
01900         if python3 or type(_x) == unicode:
01901           _x = _x.encode('utf-8')
01902           length = len(_x)
01903         buff.write(struct.pack('<I%ss'%length, length, _x))
01904         _v114 = val1.target_point_offset
01905         _x = _v114
01906         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01907         _v115 = val1.position
01908         _x = _v115
01909         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01910         _v116 = val1.constraint_region_shape
01911         buff.write(_struct_b.pack(_v116.type))
01912         length = len(_v116.dimensions)
01913         buff.write(_struct_I.pack(length))
01914         pattern = '<%sd'%length
01915         buff.write(_v116.dimensions.tostring())
01916         length = len(_v116.triangles)
01917         buff.write(_struct_I.pack(length))
01918         pattern = '<%si'%length
01919         buff.write(_v116.triangles.tostring())
01920         length = len(_v116.vertices)
01921         buff.write(_struct_I.pack(length))
01922         for val3 in _v116.vertices:
01923           _x = val3
01924           buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01925         _v117 = val1.constraint_region_orientation
01926         _x = _v117
01927         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01928         buff.write(_struct_d.pack(val1.weight))
01929       length = len(self.action_goal.goal.motion_plan_request.path_constraints.orientation_constraints)
01930       buff.write(_struct_I.pack(length))
01931       for val1 in self.action_goal.goal.motion_plan_request.path_constraints.orientation_constraints:
01932         _v118 = val1.header
01933         buff.write(_struct_I.pack(_v118.seq))
01934         _v119 = _v118.stamp
01935         _x = _v119
01936         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01937         _x = _v118.frame_id
01938         length = len(_x)
01939         if python3 or type(_x) == unicode:
01940           _x = _x.encode('utf-8')
01941           length = len(_x)
01942         buff.write(struct.pack('<I%ss'%length, length, _x))
01943         _x = val1.link_name
01944         length = len(_x)
01945         if python3 or type(_x) == unicode:
01946           _x = _x.encode('utf-8')
01947           length = len(_x)
01948         buff.write(struct.pack('<I%ss'%length, length, _x))
01949         buff.write(_struct_i.pack(val1.type))
01950         _v120 = val1.orientation
01951         _x = _v120
01952         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01953         _x = val1
01954         buff.write(_struct_4d.pack(_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight))
01955       length = len(self.action_goal.goal.motion_plan_request.path_constraints.visibility_constraints)
01956       buff.write(_struct_I.pack(length))
01957       for val1 in self.action_goal.goal.motion_plan_request.path_constraints.visibility_constraints:
01958         _v121 = val1.header
01959         buff.write(_struct_I.pack(_v121.seq))
01960         _v122 = _v121.stamp
01961         _x = _v122
01962         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01963         _x = _v121.frame_id
01964         length = len(_x)
01965         if python3 or type(_x) == unicode:
01966           _x = _x.encode('utf-8')
01967           length = len(_x)
01968         buff.write(struct.pack('<I%ss'%length, length, _x))
01969         _v123 = val1.target
01970         _v124 = _v123.header
01971         buff.write(_struct_I.pack(_v124.seq))
01972         _v125 = _v124.stamp
01973         _x = _v125
01974         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01975         _x = _v124.frame_id
01976         length = len(_x)
01977         if python3 or type(_x) == unicode:
01978           _x = _x.encode('utf-8')
01979           length = len(_x)
01980         buff.write(struct.pack('<I%ss'%length, length, _x))
01981         _v126 = _v123.point
01982         _x = _v126
01983         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01984         _v127 = val1.sensor_pose
01985         _v128 = _v127.header
01986         buff.write(_struct_I.pack(_v128.seq))
01987         _v129 = _v128.stamp
01988         _x = _v129
01989         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01990         _x = _v128.frame_id
01991         length = len(_x)
01992         if python3 or type(_x) == unicode:
01993           _x = _x.encode('utf-8')
01994           length = len(_x)
01995         buff.write(struct.pack('<I%ss'%length, length, _x))
01996         _v130 = _v127.pose
01997         _v131 = _v130.position
01998         _x = _v131
01999         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
02000         _v132 = _v130.orientation
02001         _x = _v132
02002         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
02003         buff.write(_struct_d.pack(val1.absolute_tolerance))
02004       _x = self.action_goal.goal.motion_plan_request.planner_id
02005       length = len(_x)
02006       if python3 or type(_x) == unicode:
02007         _x = _x.encode('utf-8')
02008         length = len(_x)
02009       buff.write(struct.pack('<I%ss'%length, length, _x))
02010       _x = self.action_goal.goal.motion_plan_request.group_name
02011       length = len(_x)
02012       if python3 or type(_x) == unicode:
02013         _x = _x.encode('utf-8')
02014         length = len(_x)
02015       buff.write(struct.pack('<I%ss'%length, length, _x))
02016       _x = self
02017       buff.write(_struct_7i3I.pack(_x.action_goal.goal.motion_plan_request.num_planning_attempts, _x.action_goal.goal.motion_plan_request.allowed_planning_time.secs, _x.action_goal.goal.motion_plan_request.allowed_planning_time.nsecs, _x.action_goal.goal.motion_plan_request.expected_path_duration.secs, _x.action_goal.goal.motion_plan_request.expected_path_duration.nsecs, _x.action_goal.goal.motion_plan_request.expected_path_dt.secs, _x.action_goal.goal.motion_plan_request.expected_path_dt.nsecs, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
02018       _x = self.action_result.header.frame_id
02019       length = len(_x)
02020       if python3 or type(_x) == unicode:
02021         _x = _x.encode('utf-8')
02022         length = len(_x)
02023       buff.write(struct.pack('<I%ss'%length, length, _x))
02024       _x = self
02025       buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
02026       _x = self.action_result.status.goal_id.id
02027       length = len(_x)
02028       if python3 or type(_x) == unicode:
02029         _x = _x.encode('utf-8')
02030         length = len(_x)
02031       buff.write(struct.pack('<I%ss'%length, length, _x))
02032       buff.write(_struct_B.pack(self.action_result.status.status))
02033       _x = self.action_result.status.text
02034       length = len(_x)
02035       if python3 or type(_x) == unicode:
02036         _x = _x.encode('utf-8')
02037         length = len(_x)
02038       buff.write(struct.pack('<I%ss'%length, length, _x))
02039       _x = self
02040       buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
02041       _x = self.action_feedback.header.frame_id
02042       length = len(_x)
02043       if python3 or type(_x) == unicode:
02044         _x = _x.encode('utf-8')
02045         length = len(_x)
02046       buff.write(struct.pack('<I%ss'%length, length, _x))
02047       _x = self
02048       buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
02049       _x = self.action_feedback.status.goal_id.id
02050       length = len(_x)
02051       if python3 or type(_x) == unicode:
02052         _x = _x.encode('utf-8')
02053         length = len(_x)
02054       buff.write(struct.pack('<I%ss'%length, length, _x))
02055       buff.write(_struct_B.pack(self.action_feedback.status.status))
02056       _x = self.action_feedback.status.text
02057       length = len(_x)
02058       if python3 or type(_x) == unicode:
02059         _x = _x.encode('utf-8')
02060         length = len(_x)
02061       buff.write(struct.pack('<I%ss'%length, length, _x))
02062     except struct.error as se: self._check_types(se)
02063     except TypeError as te: self._check_types(te)
02064 
02065   def deserialize_numpy(self, str, numpy):
02066     """
02067     unpack serialized message in str into this message instance using numpy for array types
02068     :param str: byte array of serialized message, ``str``
02069     :param numpy: numpy python module
02070     """
02071     try:
02072       if self.action_goal is None:
02073         self.action_goal = head_monitor_msgs.msg.PreplanHeadScanActionGoal()
02074       if self.action_result is None:
02075         self.action_result = head_monitor_msgs.msg.PreplanHeadScanActionResult()
02076       if self.action_feedback is None:
02077         self.action_feedback = head_monitor_msgs.msg.PreplanHeadScanActionFeedback()
02078       end = 0
02079       _x = self
02080       start = end
02081       end += 12
02082       (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02083       start = end
02084       end += 4
02085       (length,) = _struct_I.unpack(str[start:end])
02086       start = end
02087       end += length
02088       if python3:
02089         self.action_goal.header.frame_id = str[start:end].decode('utf-8')
02090       else:
02091         self.action_goal.header.frame_id = str[start:end]
02092       _x = self
02093       start = end
02094       end += 8
02095       (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
02096       start = end
02097       end += 4
02098       (length,) = _struct_I.unpack(str[start:end])
02099       start = end
02100       end += length
02101       if python3:
02102         self.action_goal.goal_id.id = str[start:end].decode('utf-8')
02103       else:
02104         self.action_goal.goal_id.id = str[start:end]
02105       start = end
02106       end += 4
02107       (length,) = _struct_I.unpack(str[start:end])
02108       start = end
02109       end += length
02110       if python3:
02111         self.action_goal.goal.group_name = str[start:end].decode('utf-8')
02112       else:
02113         self.action_goal.goal.group_name = str[start:end]
02114       start = end
02115       end += 4
02116       (length,) = _struct_I.unpack(str[start:end])
02117       start = end
02118       end += length
02119       if python3:
02120         self.action_goal.goal.head_monitor_link = str[start:end].decode('utf-8')
02121       else:
02122         self.action_goal.goal.head_monitor_link = str[start:end]
02123       start = end
02124       end += 1
02125       (self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.type,) = _struct_b.unpack(str[start:end])
02126       start = end
02127       end += 4
02128       (length,) = _struct_I.unpack(str[start:end])
02129       pattern = '<%sd'%length
02130       start = end
02131       end += struct.calcsize(pattern)
02132       self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.dimensions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02133       start = end
02134       end += 4
02135       (length,) = _struct_I.unpack(str[start:end])
02136       pattern = '<%si'%length
02137       start = end
02138       end += struct.calcsize(pattern)
02139       self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.triangles = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
02140       start = end
02141       end += 4
02142       (length,) = _struct_I.unpack(str[start:end])
02143       self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.vertices = []
02144       for i in range(0, length):
02145         val1 = geometry_msgs.msg.Point()
02146         _x = val1
02147         start = end
02148         end += 24
02149         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02150         self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_shape.vertices.append(val1)
02151       _x = self
02152       start = end
02153       end += 12
02154       (_x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.seq, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.stamp.secs, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02155       start = end
02156       end += 4
02157       (length,) = _struct_I.unpack(str[start:end])
02158       start = end
02159       end += length
02160       if python3:
02161         self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.frame_id = str[start:end].decode('utf-8')
02162       else:
02163         self.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.header.frame_id = str[start:end]
02164       _x = self
02165       start = end
02166       end += 68
02167       (_x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.x, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.y, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.position.z, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.x, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.y, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.z, _x.action_goal.goal.motion_plan_request.workspace_parameters.workspace_region_pose.pose.orientation.w, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.seq, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.stamp.secs, _x.action_goal.goal.motion_plan_request.start_state.joint_state.header.stamp.nsecs,) = _struct_7d3I.unpack(str[start:end])
02168       start = end
02169       end += 4
02170       (length,) = _struct_I.unpack(str[start:end])
02171       start = end
02172       end += length
02173       if python3:
02174         self.action_goal.goal.motion_plan_request.start_state.joint_state.header.frame_id = str[start:end].decode('utf-8')
02175       else:
02176         self.action_goal.goal.motion_plan_request.start_state.joint_state.header.frame_id = str[start:end]
02177       start = end
02178       end += 4
02179       (length,) = _struct_I.unpack(str[start:end])
02180       self.action_goal.goal.motion_plan_request.start_state.joint_state.name = []
02181       for i in range(0, length):
02182         start = end
02183         end += 4
02184         (length,) = _struct_I.unpack(str[start:end])
02185         start = end
02186         end += length
02187         if python3:
02188           val1 = str[start:end].decode('utf-8')
02189         else:
02190           val1 = str[start:end]
02191         self.action_goal.goal.motion_plan_request.start_state.joint_state.name.append(val1)
02192       start = end
02193       end += 4
02194       (length,) = _struct_I.unpack(str[start:end])
02195       pattern = '<%sd'%length
02196       start = end
02197       end += struct.calcsize(pattern)
02198       self.action_goal.goal.motion_plan_request.start_state.joint_state.position = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02199       start = end
02200       end += 4
02201       (length,) = _struct_I.unpack(str[start:end])
02202       pattern = '<%sd'%length
02203       start = end
02204       end += struct.calcsize(pattern)
02205       self.action_goal.goal.motion_plan_request.start_state.joint_state.velocity = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02206       start = end
02207       end += 4
02208       (length,) = _struct_I.unpack(str[start:end])
02209       pattern = '<%sd'%length
02210       start = end
02211       end += struct.calcsize(pattern)
02212       self.action_goal.goal.motion_plan_request.start_state.joint_state.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02213       _x = self
02214       start = end
02215       end += 8
02216       (_x.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.stamp.secs, _x.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
02217       start = end
02218       end += 4
02219       (length,) = _struct_I.unpack(str[start:end])
02220       self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.joint_names = []
02221       for i in range(0, length):
02222         start = end
02223         end += 4
02224         (length,) = _struct_I.unpack(str[start:end])
02225         start = end
02226         end += length
02227         if python3:
02228           val1 = str[start:end].decode('utf-8')
02229         else:
02230           val1 = str[start:end]
02231         self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.joint_names.append(val1)
02232       start = end
02233       end += 4
02234       (length,) = _struct_I.unpack(str[start:end])
02235       self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.frame_ids = []
02236       for i in range(0, length):
02237         start = end
02238         end += 4
02239         (length,) = _struct_I.unpack(str[start:end])
02240         start = end
02241         end += length
02242         if python3:
02243           val1 = str[start:end].decode('utf-8')
02244         else:
02245           val1 = str[start:end]
02246         self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.frame_ids.append(val1)
02247       start = end
02248       end += 4
02249       (length,) = _struct_I.unpack(str[start:end])
02250       self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.child_frame_ids = []
02251       for i in range(0, length):
02252         start = end
02253         end += 4
02254         (length,) = _struct_I.unpack(str[start:end])
02255         start = end
02256         end += length
02257         if python3:
02258           val1 = str[start:end].decode('utf-8')
02259         else:
02260           val1 = str[start:end]
02261         self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.child_frame_ids.append(val1)
02262       start = end
02263       end += 4
02264       (length,) = _struct_I.unpack(str[start:end])
02265       self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.poses = []
02266       for i in range(0, length):
02267         val1 = geometry_msgs.msg.Pose()
02268         _v133 = val1.position
02269         _x = _v133
02270         start = end
02271         end += 24
02272         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02273         _v134 = val1.orientation
02274         _x = _v134
02275         start = end
02276         end += 32
02277         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02278         self.action_goal.goal.motion_plan_request.start_state.multi_dof_joint_state.poses.append(val1)
02279       start = end
02280       end += 4
02281       (length,) = _struct_I.unpack(str[start:end])
02282       self.action_goal.goal.motion_plan_request.goal_constraints.joint_constraints = []
02283       for i in range(0, length):
02284         val1 = arm_navigation_msgs.msg.JointConstraint()
02285         start = end
02286         end += 4
02287         (length,) = _struct_I.unpack(str[start:end])
02288         start = end
02289         end += length
02290         if python3:
02291           val1.joint_name = str[start:end].decode('utf-8')
02292         else:
02293           val1.joint_name = str[start:end]
02294         _x = val1
02295         start = end
02296         end += 32
02297         (_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight,) = _struct_4d.unpack(str[start:end])
02298         self.action_goal.goal.motion_plan_request.goal_constraints.joint_constraints.append(val1)
02299       start = end
02300       end += 4
02301       (length,) = _struct_I.unpack(str[start:end])
02302       self.action_goal.goal.motion_plan_request.goal_constraints.position_constraints = []
02303       for i in range(0, length):
02304         val1 = arm_navigation_msgs.msg.PositionConstraint()
02305         _v135 = val1.header
02306         start = end
02307         end += 4
02308         (_v135.seq,) = _struct_I.unpack(str[start:end])
02309         _v136 = _v135.stamp
02310         _x = _v136
02311         start = end
02312         end += 8
02313         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02314         start = end
02315         end += 4
02316         (length,) = _struct_I.unpack(str[start:end])
02317         start = end
02318         end += length
02319         if python3:
02320           _v135.frame_id = str[start:end].decode('utf-8')
02321         else:
02322           _v135.frame_id = 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           val1.link_name = str[start:end].decode('utf-8')
02330         else:
02331           val1.link_name = str[start:end]
02332         _v137 = val1.target_point_offset
02333         _x = _v137
02334         start = end
02335         end += 24
02336         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02337         _v138 = val1.position
02338         _x = _v138
02339         start = end
02340         end += 24
02341         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02342         _v139 = val1.constraint_region_shape
02343         start = end
02344         end += 1
02345         (_v139.type,) = _struct_b.unpack(str[start:end])
02346         start = end
02347         end += 4
02348         (length,) = _struct_I.unpack(str[start:end])
02349         pattern = '<%sd'%length
02350         start = end
02351         end += struct.calcsize(pattern)
02352         _v139.dimensions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02353         start = end
02354         end += 4
02355         (length,) = _struct_I.unpack(str[start:end])
02356         pattern = '<%si'%length
02357         start = end
02358         end += struct.calcsize(pattern)
02359         _v139.triangles = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
02360         start = end
02361         end += 4
02362         (length,) = _struct_I.unpack(str[start:end])
02363         _v139.vertices = []
02364         for i in range(0, length):
02365           val3 = geometry_msgs.msg.Point()
02366           _x = val3
02367           start = end
02368           end += 24
02369           (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02370           _v139.vertices.append(val3)
02371         _v140 = val1.constraint_region_orientation
02372         _x = _v140
02373         start = end
02374         end += 32
02375         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02376         start = end
02377         end += 8
02378         (val1.weight,) = _struct_d.unpack(str[start:end])
02379         self.action_goal.goal.motion_plan_request.goal_constraints.position_constraints.append(val1)
02380       start = end
02381       end += 4
02382       (length,) = _struct_I.unpack(str[start:end])
02383       self.action_goal.goal.motion_plan_request.goal_constraints.orientation_constraints = []
02384       for i in range(0, length):
02385         val1 = arm_navigation_msgs.msg.OrientationConstraint()
02386         _v141 = val1.header
02387         start = end
02388         end += 4
02389         (_v141.seq,) = _struct_I.unpack(str[start:end])
02390         _v142 = _v141.stamp
02391         _x = _v142
02392         start = end
02393         end += 8
02394         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02395         start = end
02396         end += 4
02397         (length,) = _struct_I.unpack(str[start:end])
02398         start = end
02399         end += length
02400         if python3:
02401           _v141.frame_id = str[start:end].decode('utf-8')
02402         else:
02403           _v141.frame_id = str[start:end]
02404         start = end
02405         end += 4
02406         (length,) = _struct_I.unpack(str[start:end])
02407         start = end
02408         end += length
02409         if python3:
02410           val1.link_name = str[start:end].decode('utf-8')
02411         else:
02412           val1.link_name = str[start:end]
02413         start = end
02414         end += 4
02415         (val1.type,) = _struct_i.unpack(str[start:end])
02416         _v143 = val1.orientation
02417         _x = _v143
02418         start = end
02419         end += 32
02420         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02421         _x = val1
02422         start = end
02423         end += 32
02424         (_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight,) = _struct_4d.unpack(str[start:end])
02425         self.action_goal.goal.motion_plan_request.goal_constraints.orientation_constraints.append(val1)
02426       start = end
02427       end += 4
02428       (length,) = _struct_I.unpack(str[start:end])
02429       self.action_goal.goal.motion_plan_request.goal_constraints.visibility_constraints = []
02430       for i in range(0, length):
02431         val1 = arm_navigation_msgs.msg.VisibilityConstraint()
02432         _v144 = val1.header
02433         start = end
02434         end += 4
02435         (_v144.seq,) = _struct_I.unpack(str[start:end])
02436         _v145 = _v144.stamp
02437         _x = _v145
02438         start = end
02439         end += 8
02440         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02441         start = end
02442         end += 4
02443         (length,) = _struct_I.unpack(str[start:end])
02444         start = end
02445         end += length
02446         if python3:
02447           _v144.frame_id = str[start:end].decode('utf-8')
02448         else:
02449           _v144.frame_id = str[start:end]
02450         _v146 = val1.target
02451         _v147 = _v146.header
02452         start = end
02453         end += 4
02454         (_v147.seq,) = _struct_I.unpack(str[start:end])
02455         _v148 = _v147.stamp
02456         _x = _v148
02457         start = end
02458         end += 8
02459         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02460         start = end
02461         end += 4
02462         (length,) = _struct_I.unpack(str[start:end])
02463         start = end
02464         end += length
02465         if python3:
02466           _v147.frame_id = str[start:end].decode('utf-8')
02467         else:
02468           _v147.frame_id = str[start:end]
02469         _v149 = _v146.point
02470         _x = _v149
02471         start = end
02472         end += 24
02473         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02474         _v150 = val1.sensor_pose
02475         _v151 = _v150.header
02476         start = end
02477         end += 4
02478         (_v151.seq,) = _struct_I.unpack(str[start:end])
02479         _v152 = _v151.stamp
02480         _x = _v152
02481         start = end
02482         end += 8
02483         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02484         start = end
02485         end += 4
02486         (length,) = _struct_I.unpack(str[start:end])
02487         start = end
02488         end += length
02489         if python3:
02490           _v151.frame_id = str[start:end].decode('utf-8')
02491         else:
02492           _v151.frame_id = str[start:end]
02493         _v153 = _v150.pose
02494         _v154 = _v153.position
02495         _x = _v154
02496         start = end
02497         end += 24
02498         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02499         _v155 = _v153.orientation
02500         _x = _v155
02501         start = end
02502         end += 32
02503         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02504         start = end
02505         end += 8
02506         (val1.absolute_tolerance,) = _struct_d.unpack(str[start:end])
02507         self.action_goal.goal.motion_plan_request.goal_constraints.visibility_constraints.append(val1)
02508       start = end
02509       end += 4
02510       (length,) = _struct_I.unpack(str[start:end])
02511       self.action_goal.goal.motion_plan_request.path_constraints.joint_constraints = []
02512       for i in range(0, length):
02513         val1 = arm_navigation_msgs.msg.JointConstraint()
02514         start = end
02515         end += 4
02516         (length,) = _struct_I.unpack(str[start:end])
02517         start = end
02518         end += length
02519         if python3:
02520           val1.joint_name = str[start:end].decode('utf-8')
02521         else:
02522           val1.joint_name = str[start:end]
02523         _x = val1
02524         start = end
02525         end += 32
02526         (_x.position, _x.tolerance_above, _x.tolerance_below, _x.weight,) = _struct_4d.unpack(str[start:end])
02527         self.action_goal.goal.motion_plan_request.path_constraints.joint_constraints.append(val1)
02528       start = end
02529       end += 4
02530       (length,) = _struct_I.unpack(str[start:end])
02531       self.action_goal.goal.motion_plan_request.path_constraints.position_constraints = []
02532       for i in range(0, length):
02533         val1 = arm_navigation_msgs.msg.PositionConstraint()
02534         _v156 = val1.header
02535         start = end
02536         end += 4
02537         (_v156.seq,) = _struct_I.unpack(str[start:end])
02538         _v157 = _v156.stamp
02539         _x = _v157
02540         start = end
02541         end += 8
02542         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02543         start = end
02544         end += 4
02545         (length,) = _struct_I.unpack(str[start:end])
02546         start = end
02547         end += length
02548         if python3:
02549           _v156.frame_id = str[start:end].decode('utf-8')
02550         else:
02551           _v156.frame_id = str[start:end]
02552         start = end
02553         end += 4
02554         (length,) = _struct_I.unpack(str[start:end])
02555         start = end
02556         end += length
02557         if python3:
02558           val1.link_name = str[start:end].decode('utf-8')
02559         else:
02560           val1.link_name = str[start:end]
02561         _v158 = val1.target_point_offset
02562         _x = _v158
02563         start = end
02564         end += 24
02565         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02566         _v159 = val1.position
02567         _x = _v159
02568         start = end
02569         end += 24
02570         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02571         _v160 = val1.constraint_region_shape
02572         start = end
02573         end += 1
02574         (_v160.type,) = _struct_b.unpack(str[start:end])
02575         start = end
02576         end += 4
02577         (length,) = _struct_I.unpack(str[start:end])
02578         pattern = '<%sd'%length
02579         start = end
02580         end += struct.calcsize(pattern)
02581         _v160.dimensions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02582         start = end
02583         end += 4
02584         (length,) = _struct_I.unpack(str[start:end])
02585         pattern = '<%si'%length
02586         start = end
02587         end += struct.calcsize(pattern)
02588         _v160.triangles = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
02589         start = end
02590         end += 4
02591         (length,) = _struct_I.unpack(str[start:end])
02592         _v160.vertices = []
02593         for i in range(0, length):
02594           val3 = geometry_msgs.msg.Point()
02595           _x = val3
02596           start = end
02597           end += 24
02598           (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02599           _v160.vertices.append(val3)
02600         _v161 = val1.constraint_region_orientation
02601         _x = _v161
02602         start = end
02603         end += 32
02604         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02605         start = end
02606         end += 8
02607         (val1.weight,) = _struct_d.unpack(str[start:end])
02608         self.action_goal.goal.motion_plan_request.path_constraints.position_constraints.append(val1)
02609       start = end
02610       end += 4
02611       (length,) = _struct_I.unpack(str[start:end])
02612       self.action_goal.goal.motion_plan_request.path_constraints.orientation_constraints = []
02613       for i in range(0, length):
02614         val1 = arm_navigation_msgs.msg.OrientationConstraint()
02615         _v162 = val1.header
02616         start = end
02617         end += 4
02618         (_v162.seq,) = _struct_I.unpack(str[start:end])
02619         _v163 = _v162.stamp
02620         _x = _v163
02621         start = end
02622         end += 8
02623         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02624         start = end
02625         end += 4
02626         (length,) = _struct_I.unpack(str[start:end])
02627         start = end
02628         end += length
02629         if python3:
02630           _v162.frame_id = str[start:end].decode('utf-8')
02631         else:
02632           _v162.frame_id = str[start:end]
02633         start = end
02634         end += 4
02635         (length,) = _struct_I.unpack(str[start:end])
02636         start = end
02637         end += length
02638         if python3:
02639           val1.link_name = str[start:end].decode('utf-8')
02640         else:
02641           val1.link_name = str[start:end]
02642         start = end
02643         end += 4
02644         (val1.type,) = _struct_i.unpack(str[start:end])
02645         _v164 = val1.orientation
02646         _x = _v164
02647         start = end
02648         end += 32
02649         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02650         _x = val1
02651         start = end
02652         end += 32
02653         (_x.absolute_roll_tolerance, _x.absolute_pitch_tolerance, _x.absolute_yaw_tolerance, _x.weight,) = _struct_4d.unpack(str[start:end])
02654         self.action_goal.goal.motion_plan_request.path_constraints.orientation_constraints.append(val1)
02655       start = end
02656       end += 4
02657       (length,) = _struct_I.unpack(str[start:end])
02658       self.action_goal.goal.motion_plan_request.path_constraints.visibility_constraints = []
02659       for i in range(0, length):
02660         val1 = arm_navigation_msgs.msg.VisibilityConstraint()
02661         _v165 = val1.header
02662         start = end
02663         end += 4
02664         (_v165.seq,) = _struct_I.unpack(str[start:end])
02665         _v166 = _v165.stamp
02666         _x = _v166
02667         start = end
02668         end += 8
02669         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02670         start = end
02671         end += 4
02672         (length,) = _struct_I.unpack(str[start:end])
02673         start = end
02674         end += length
02675         if python3:
02676           _v165.frame_id = str[start:end].decode('utf-8')
02677         else:
02678           _v165.frame_id = str[start:end]
02679         _v167 = val1.target
02680         _v168 = _v167.header
02681         start = end
02682         end += 4
02683         (_v168.seq,) = _struct_I.unpack(str[start:end])
02684         _v169 = _v168.stamp
02685         _x = _v169
02686         start = end
02687         end += 8
02688         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02689         start = end
02690         end += 4
02691         (length,) = _struct_I.unpack(str[start:end])
02692         start = end
02693         end += length
02694         if python3:
02695           _v168.frame_id = str[start:end].decode('utf-8')
02696         else:
02697           _v168.frame_id = str[start:end]
02698         _v170 = _v167.point
02699         _x = _v170
02700         start = end
02701         end += 24
02702         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02703         _v171 = val1.sensor_pose
02704         _v172 = _v171.header
02705         start = end
02706         end += 4
02707         (_v172.seq,) = _struct_I.unpack(str[start:end])
02708         _v173 = _v172.stamp
02709         _x = _v173
02710         start = end
02711         end += 8
02712         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02713         start = end
02714         end += 4
02715         (length,) = _struct_I.unpack(str[start:end])
02716         start = end
02717         end += length
02718         if python3:
02719           _v172.frame_id = str[start:end].decode('utf-8')
02720         else:
02721           _v172.frame_id = str[start:end]
02722         _v174 = _v171.pose
02723         _v175 = _v174.position
02724         _x = _v175
02725         start = end
02726         end += 24
02727         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02728         _v176 = _v174.orientation
02729         _x = _v176
02730         start = end
02731         end += 32
02732         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02733         start = end
02734         end += 8
02735         (val1.absolute_tolerance,) = _struct_d.unpack(str[start:end])
02736         self.action_goal.goal.motion_plan_request.path_constraints.visibility_constraints.append(val1)
02737       start = end
02738       end += 4
02739       (length,) = _struct_I.unpack(str[start:end])
02740       start = end
02741       end += length
02742       if python3:
02743         self.action_goal.goal.motion_plan_request.planner_id = str[start:end].decode('utf-8')
02744       else:
02745         self.action_goal.goal.motion_plan_request.planner_id = str[start:end]
02746       start = end
02747       end += 4
02748       (length,) = _struct_I.unpack(str[start:end])
02749       start = end
02750       end += length
02751       if python3:
02752         self.action_goal.goal.motion_plan_request.group_name = str[start:end].decode('utf-8')
02753       else:
02754         self.action_goal.goal.motion_plan_request.group_name = str[start:end]
02755       _x = self
02756       start = end
02757       end += 40
02758       (_x.action_goal.goal.motion_plan_request.num_planning_attempts, _x.action_goal.goal.motion_plan_request.allowed_planning_time.secs, _x.action_goal.goal.motion_plan_request.allowed_planning_time.nsecs, _x.action_goal.goal.motion_plan_request.expected_path_duration.secs, _x.action_goal.goal.motion_plan_request.expected_path_duration.nsecs, _x.action_goal.goal.motion_plan_request.expected_path_dt.secs, _x.action_goal.goal.motion_plan_request.expected_path_dt.nsecs, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_7i3I.unpack(str[start:end])
02759       start = end
02760       end += 4
02761       (length,) = _struct_I.unpack(str[start:end])
02762       start = end
02763       end += length
02764       if python3:
02765         self.action_result.header.frame_id = str[start:end].decode('utf-8')
02766       else:
02767         self.action_result.header.frame_id = str[start:end]
02768       _x = self
02769       start = end
02770       end += 8
02771       (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
02772       start = end
02773       end += 4
02774       (length,) = _struct_I.unpack(str[start:end])
02775       start = end
02776       end += length
02777       if python3:
02778         self.action_result.status.goal_id.id = str[start:end].decode('utf-8')
02779       else:
02780         self.action_result.status.goal_id.id = str[start:end]
02781       start = end
02782       end += 1
02783       (self.action_result.status.status,) = _struct_B.unpack(str[start:end])
02784       start = end
02785       end += 4
02786       (length,) = _struct_I.unpack(str[start:end])
02787       start = end
02788       end += length
02789       if python3:
02790         self.action_result.status.text = str[start:end].decode('utf-8')
02791       else:
02792         self.action_result.status.text = str[start:end]
02793       _x = self
02794       start = end
02795       end += 12
02796       (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02797       start = end
02798       end += 4
02799       (length,) = _struct_I.unpack(str[start:end])
02800       start = end
02801       end += length
02802       if python3:
02803         self.action_feedback.header.frame_id = str[start:end].decode('utf-8')
02804       else:
02805         self.action_feedback.header.frame_id = str[start:end]
02806       _x = self
02807       start = end
02808       end += 8
02809       (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
02810       start = end
02811       end += 4
02812       (length,) = _struct_I.unpack(str[start:end])
02813       start = end
02814       end += length
02815       if python3:
02816         self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
02817       else:
02818         self.action_feedback.status.goal_id.id = str[start:end]
02819       start = end
02820       end += 1
02821       (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end])
02822       start = end
02823       end += 4
02824       (length,) = _struct_I.unpack(str[start:end])
02825       start = end
02826       end += length
02827       if python3:
02828         self.action_feedback.status.text = str[start:end].decode('utf-8')
02829       else:
02830         self.action_feedback.status.text = str[start:end]
02831       return self
02832     except struct.error as e:
02833       raise genpy.DeserializationError(e) #most likely buffer underfill
02834 
02835 _struct_I = genpy.struct_I
02836 _struct_b = struct.Struct("<b")
02837 _struct_d = struct.Struct("<d")
02838 _struct_2I = struct.Struct("<2I")
02839 _struct_i = struct.Struct("<i")
02840 _struct_3I = struct.Struct("<3I")
02841 _struct_B = struct.Struct("<B")
02842 _struct_4d = struct.Struct("<4d")
02843 _struct_7i3I = struct.Struct("<7i3I")
02844 _struct_7d3I = struct.Struct("<7d3I")
02845 _struct_3d = struct.Struct("<3d")


head_monitor_msgs
Author(s): Gil Jones
autogenerated on Fri Dec 6 2013 21:07:49