Setting up the Cyton Gamma 1500 arm in ROS Kinetic and Gazebo

After setting up ROS, I needed to import the Cyton Gamma 1500 arm into Gazebo with ROS.

In setting up the software for the Gamma 1500, I came across a repository by Steve Macenski that had been setup for interfacing with the hardware and Gazebo.

So I cloned it into the catkin workspace.

$ git clone https://github.com/SteveMacenski/cyton_gamma_300-1500_operation_and_simulation.git

and proceeded to run catkin make in my workspace directory, in my case, catkin_ws.

$ catkin_make

This gave a long list of errors so the output of catkin_make was piped to a file for reference

$ catkin_make &> error.log

The log indicated it had an issue to do with certain portions of code needing C++11. Turns out ROS Indigo, for which the repository was built, with uses C++03, while ROS Kinetic was built with C++11.

So by adding

set(CMAKE_CXX_FLAGS "-std=gnu++11")

to every CMakeLists.txt file in the package. I successfully cleared that issue.
I trying to figure out a better way, I added it to the CMakeLists.txt file in the source which which almost worked save a few errors. Bound by time, I put that on hold but you could consider it, it may work as the bugs could have been remnants from my earlier experiments.


Update:

After speaking with Steve, it turns out the folders causing the issues were not needed for compilation. He has made other updates for compatibility with ROS Kinetic. The updated repo should work fine if you deleted the following folders.

industrial_core-indigo-devel and moveit_plugins-indigo-devel

and run

$ catkin_make

So with that done, I was able to get Gazebo and Rviz running and showing the arm. This was done by

$ roslaunch cyton_gamma_pkg simulation_gamma_1500.launch

However, there were a few errors. Hidden in the deluge of output, I found

[ INFO] [1482974976.283310021, 1164.297000000]: Waiting for cyton_joint_trajectory_action_controller/follow_joint_trajectory to come up
[ INFO] [1482974981.288054204, 1169.297000000]: Waiting for cyton_joint_trajectory_action_controller/follow_joint_trajectory to come up
[ERROR] [1482974986.294949761, 1174.297000000]: Action client not connected: cyton_joint_trajectory_action_controller/follow_joint_trajectory

Turns out it was yet another case of some libraries not being installed.
In this case, the fix was

$ sudo apt-get install ros-kinetic-gazebo-ros-control

Other relevant packages for the Gazebo-ROS integration  you may want to confirm are installed are

sudo apt-get install ros-kinetic-ros-control ros-kinetic-ros-controllers ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control

It will also help to install MoveIt! Visual Tools for further work

sudo apt-get install ros-kinetic-moveit-visual-tools

Final results

CytonGamma1500-a.png    CytonGamma1500.png

You could test the simulation by updating the goal with a random valid value, planning and executing the plan. This should move the robot in Gazebo.

RViz-CytonGamma1500.png

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s