This Tutorial will walk you through running this demo on your own TurtleBot. The tutorial is for the fuerte (pre-moveit) version of this package, so be careful and flexible when following it!. Trust this page (already updated) in case of contradiction.
This package requires almost all the others on turtlebot_arm stack. In particular, arm.launch from the turtlebot_arm_bringup package and planning_context.launch and move_group.launch from turtlebot_arm_moveit_config have to be running. See the block_manipulation_moveit.launch launch file for more details.
Additionally, it requires an external kinect to be running and calibrated to the robot. Refer to turtlebot_arm_kinect_calibration package to learn how to calibrate your camera.
Brings up everything necessary to operate the arm with MoveIt!.
- Brings up everything necessary to run the block manipulation demo.
- Brings up the 3 action servers necessary to run the block manipulation demo.
interactive_manipulation_action_serverProvides an action-based interactive marker server for prompting the user to move blocks around. Requires a goal specifying where the the blocks are, and publishes a result containing a start pose and end pose.
Subscribed Topics/turtlebot_blocks (geometry_msgs/PoseArray)
- Topic to listen for blocks publications on. These topics are used in addition to the information contained in the goal.
Published Topics/pick_and_place (geometry_msgs/PoseArray)
- Topic to publish the resulting pick-and-place grasp on. These topics are used in addition to the information contained in the result.
Parameters~bump_size (double, default: 0.005)
- The amount (in meters) to bump the result by in the z dimension.
block_detection_action_serverDetects blocks of a certain size on a flat surface, given from an action goal.
Subscribed Topics/camera/depth_registered/points (sensor_msgs/PointCloud2)
- Point clouds from which to detect blocks.
Published Topics/turtlebot_blocks (geometry_msgs/PoseArray)
- A pose array containing the poses of all blocks detected.
- A message sent for debugging, showing the filtered point cloud.
Required tf Transformspointcloud frame → arm_link (from goal)
- Before the block detector performs any operation on the point cloud, it transforms it to the arm_link frame provided by the goal.
pick_and_place_action_serverInterfaces with MoveIt! for the TurtleBot arm to move an object from the start pose to the end pose.
#goal definition string frame float32 table_height float32 block_size --- #result definition geometry_msgs/PoseArray blocks --- #feedback
#goal definition string frame float32 block_size --- #result definition geometry_msgs/Pose pickup_pose geometry_msgs/Pose place_pose --- #feedback
#goal definition string frame float32 z_up float32 gripper_open float32 gripper_closed geometry_msgs/Pose pickup_pose geometry_msgs/Pose place_pose string topic --- #result definition --- #feedback