Only released in EOL distros:  

turtlebot_arm: turtlebot_arm_block_manipulation | turtlebot_arm_bringup | turtlebot_arm_description | turtlebot_arm_ikfast_plugin | turtlebot_arm_kinect_calibration | turtlebot_arm_moveit_config | turtlebot_arm_moveit_demos

Package Summary

turtlebot_arm_block_manipulation contains a demo allowing the TurtleBot arm to manipulate small blocks on a level surface using interactive markers.

turtlebot_arm: turtlebot_arm_block_manipulation | turtlebot_arm_bringup | turtlebot_arm_description | turtlebot_arm_ikfast_plugin | turtlebot_arm_kinect_calibration | turtlebot_arm_moveit_config | turtlebot_arm_moveit_demos | turtlebot_arm_object_manipulation

Package Summary

turtlebot_arm_block_manipulation contains a demo allowing the TurtleBot arm to manipulate small blocks on a level surface using interactive markers.

Documentation

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.

Video

Requirements

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.

Files

demo/block_manipulation_moveit.launch

  • Brings up everything necessary to operate the arm with MoveIt!.

demo/block_manipulation_demo.launch

  • Brings up everything necessary to run the block manipulation demo.

launch/block_manipulation.launch

  • Brings up the 3 action servers necessary to run the block manipulation demo.

Nodes

interactive_manipulation_action_server

Provides 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_server

Detects 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.
block_output (sensor_msgs/PointCloud2)
  • A message sent for debugging, showing the filtered point cloud.

Required tf Transforms

pointcloud framearm_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_server

Interfaces with MoveIt! for the TurtleBot arm to move an object from the start pose to the end pose.

Actions

BlockDetection.action

#goal definition
string frame
float32 table_height
float32 block_size
---
#result definition
geometry_msgs/PoseArray blocks
---
#feedback

InteractiveBlockManipulation.action

#goal definition
string frame
float32 block_size
---
#result definition
geometry_msgs/Pose pickup_pose
geometry_msgs/Pose place_pose
---
#feedback

PickAndPlace.action

#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

Wiki: turtlebot_arm_block_manipulation (last edited 2014-09-22 20:53:54 by Jorge Santos)