Skip to content

Ros wrapper for the Libbarrett library. This is still under development and is currently unstable. Contact [email protected] for more details.

Notifications You must be signed in to change notification settings

ClintLiddick/libbarrett_ros

 
 

Repository files navigation

libbarrett_ros

libbarrett_ros provides a ros_control hardware interface for Barrett Technology's products. This library was developed by the Personal Robotics Lab at Carnegie Mellon University in collaboration with Barrett Technology.

WARNING: libbarrett_ros is under heavy development and has not been fully tested. Please contact [email protected] if you are interested in using or contributing to this package.

Dependencies

This package requires ROS, ros_control, and libbarrett to be installed. We have tested libbarrett_ros using ROS Hydro on Ubuntu 12.04 and ROS Indigo on Ubuntu 14.04.

Configuration

This package includes one ROS node, called libbarrett_ros, that communicates with Barrett hardware over one or more communication busses. Each communication bus is configured by a directory of libbarrett configuration files. A default set of configuration files are distributed with libbarrett and are installed to /etc/barrett. You may need to customize these files for your particular robot (e.g. change the home or gravity calibration configurations).

You can specify a list of default.conf configuration files in the ~configurations ROS parameter, e.g.:

configurations:
- /etc/barrett/default.conf

If your robot uses multiple CAN buses, then you must specify a list of configuration directories, e.g.:

configurations:
- /etc/barrett/right_arm/default.conf
- /etc/barrett/left_arm/default.conf

Usage

Once the necessary parameters have been set, you can start the controller manager:

rosrun libbarrett_ros libbarrett_ros

This will start a ros_control ControllerManager that is communicating with the hardware. If you are controlling a WAM, then you will be prompted to zero the WAM (if necessary) and press Shift + Activate on the pendant before the control loop starts. By default, until a controller is loaded, the arm will be applying zero torque to all joints. Be careful: the brakes are disengaged and gravity compensation is disabled, so you rest the arm in a stable configuration.

You will most likely want to load one or more ros_control controllers. See the ros_control documentation for more information.

Examples

This package includes an example configuration for HERB, a bimanual mobile manipulator that has two Barrett WAMs. Each WAM is equipped with a Barrett force/torque sensor and a BarrettHand. An example launch file for controlling HERB is available in the launch/ directory. This loads ROS parameters from a YAML file in the config/ directory. HERB's libbarrett configuration is available in the herb_launch repository.

You can start HERB's controller using roslaunch:

roslaunch libbarrett_ros wam_control.launch

About

Ros wrapper for the Libbarrett library. This is still under development and is currently unstable. Contact [email protected] for more details.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.8%
  • CMake 2.2%