/catkin-barrett-ros-pkg

A catkin and newer ROS compatible version of Barrett Technology's barrett-ros-pkg. (For users of the Barrett WAM robot and OSRF's ROS).

Primary LanguageC++

Made catkin compatible and newer ROS friendly by Benjamin Blumer.

All the original code was written and GPL'd by Barrett Technologies (I've left
their copyright notices in place.) My contributions can also be distributed
under the terms of the GPLV3:

 Copyright 2015 Benjamin Blumer <BenjaminAaronBlumer@gmail.com>

 This version of catkinized version of barrett-ros-pkg is free software:
 you can redistribute it and/or modify it under the terms of the GNU General
 Public License as published by the Free Software Foundation, either version 3
 of the License, or (at your option) any later version.

 This version of catkinized barrett-ros-pkg is distributed in the hope that it
 will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 Public License for more details.

 You should have received a copy of the GNU General Public License along
 with this version of barrett-ros-pkg.  If not, see
 <http://www.gnu.org/licenses/>.

 Barrett Technology holds all copyrights on barrett-ros-pkg. As the sole
 copyright holder, Barrett reserves the right to release future versions
 of barrett-ros-pkg under a different license.


This is a version of barrett-ros-pkg that's compatible with newer ROS (tested
with Igloo. Should be compatible with any version that uses catkin.)

In short, the changes I've made to the original barrett-ros-pkg
(http://web.barrett.com/svn/barrett-ros-pkg/trunk/) are:
-The folder structure has been changed to be catkin compatible.
-I've included typedefs in wam_node.cpp to change older references to bullet
libraries to the ones included in ROS' tf packages. 
-I've changed the includes in wam_node.cpp to the locations generated by the
catkin workspace.
-I've created the CMakeLists for both the wam_common and wam_node packages. I've
set them up to generate the required messages and services. 

To use: 
-Create a catkin workspace. 
-Use the catkin_create_pkg function to create packages named "wam_common" and 
"wam_node" under the workspace's src directory. Copy the contents of the
included folders into these.
-I had to link to eigen2, xenomai, libbarrett, and libgsl in
wam_node/CMakeLists. You'll need to edit the CMakeFiles to point to your local
copies:
--search wam_node/CMakeLists for "xenomai", "eigen2", and "libbarrett". The
  libbarrett path must be changed in two places.
--Change these paths to wherever these directories are on your computer.