Only released in EOL distros:  

turtlebot_arm: turtlebot_arm_bringup | turtlebot_arm_description | turtlebot_arm_interactive_markers | turtlebot_block_manipulation | turtlebot_kinect_arm_calibration

Package Summary

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

turtlebot_arm: turtlebot_arm_bringup | turtlebot_arm_description | turtlebot_arm_interactive_markers | turtlebot_block_manipulation | turtlebot_kinect_arm_calibration

Package Summary

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

Package Summary

turtlebot_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.

Video

Requirements

arm.launch and simple_arm_server.launch from the turtlebot_arm_bringup package have to be running. Additionally, it requires an external kinect to be running and calibrated to the robot.

Files

demo/demo_actions.launch

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

launch/block_manipulation_old_kinect.launch

  • Brings up the 3 action servers necessary to run the block manipulation demo with diamondback-style OpennNI drivers.

launch/block_manipulation.launch

  • Brings up the 3 action servers necessary to run the block manipulation demo with electric-style OpennNI drivers.

demo/calibrate.launch

  • Brings up the calibration step necessary for 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 the simple_arm_server 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_block_manipulation (last edited 2011-11-14 22:34:12 by MeloneeWise)