Robotics Manipulation System
From OpenRAVE
Shows how to setup a full robot system with OpenRAVE, Robot Operating System (ROS), and the CMU ROS packages. Any robot system should deal with autonomous manipulation with vision feedback, sensor loops, and higher-level reasoning.
- Installation - Setting up the system
- Working with Cameras
Using OpenRAVE with ROS
OpenRAVE can be used in many different scenarios.
- There is one openrave instance that does the planning and you would like all controllers/sensor feeding that to it. We'll call this the Master
- There are openrave instances outside of the Master that wrap hardware/simulation controllers, generate simulated sensor data. These instances publish to the ROS network and usually feed into the Master openrave.
OpenRAVE plugins connecting to ROS
There are several openrave/ros plugins that create nodes internally and advertise/subscribe to messages. These plugins can be found in these ROS packages:
- openrave_sensors - subscribe to ROS messages for getting sensor data into openrave (loaded by Master)
- openrave_robot_control - simple session interface for controlling robots over the ROS network with openrave being the underlying client. You'll notice in the lib folder is a librobot_control.so openrave plugin which the Master loads)
- schunk_motion_controllers - connects to the hardware Schunk interfaces and advertises services to control a robot.
- orrosplanning - misc plugins for reading sensing data and displaying it into openrave. For example, if there is a node plublishing checkerboard_detector/ObjectDetection messages, it is possible to use the ObjectTransform openrave SensorSystem interface to display the objects inside the environment.
Component Tutorials
- Controlling Robots - Controlling robots through ROS using OpenRAVE
- openraveros server - Controlling an openrave-core through the ROS network.
- Sensors - Publishing openrave sensor data through ROS.

