/!\ Work in progress.

Overview

The move_arm_service package provides service wrappers around the move_arm action and the interpolated_ik_motion_planner service. These services allow the user to calculate and move the PR2 arm along collision-free trajectories by only specifying geometry_msgs/PoseStampeds rather than the full motion_planning_msgs/MotionPlanRequest message required by the original action and service.

ROS API

Services offered

Services

move_arm_to_pose (move_arm_service/MoveArm)
  • A wrapper around the move_arm action that calculates and moves the arm to a pose goal collision free.
run_interpolated_ik (move_arm_service/InterpolatedIK)
  • A wrapper around the interpolated_ik_motion_planner that calculates moves the arm between a starting and ending pose using a collision-free interpolated IK trajectory.

Services required

You must have the move_arm action AND the joint_trajectory_action running and all services necessary for those. In addition, the following services are required:

Services

r/l_interpolated_ik_motion_plan (motion_planning_msgs/GetMotionPlan)
  • These services calculate collision-free interpolated IK plans for the right and left arms.
get_robot_state (planning_environment_msgs/GetRobotState)
  • This services allows move_arm to get the complete state of the robot. This message contains information about the joint positions of all the (real) joints on the robot.

Usage

In the video above, the PR2 uses the move_arm service to position its hand in front of the cabinet handle and then the interpolated IK service to grasp the handle.

For examples of how to use the services, see the tutorials.

Wiki: move_arm_service (last edited 2011-05-10 19:51:26 by JennyBarry)