Software Installation

The majority of the testbed control software is ROS-based, although there are some peripheral utilities which run outside of ROS for simplicity. The ROS-based software driver speaks to the motors and interfaces with the ROS control stack to allow the testbed to be driven by tools like MoveIt!.

The fille software archiecture is described in the detailed software description

The core Testbed software is stored in two Gitlab repos:

  • testbed_hw is concerned with driving the actual Testbed, including communicating with the Clearpath motors.

  • testbed_sw contains configuration files which describe and configure the testbed. Some configuration is specific to the hardware testbed (for example, which Clearpath motors drive which axes). Other configuration files are used for Gazebo simulation, and some are used for for hardware and sim operation.

Installation

Install the ROS software

(these instructions assume you have at least a basic ROS install, C/C++ compilers, etc)

Get prerequisities:

apt install -y python3-vcstool

On a system running ROS Noetic, create a ROS workspace and checkout out testbed_hw:

mkdir -p testbed_ws/src
cd testbed_ws/src
git clone https://gitlab.com/rsa-manipulation-testbed/testbed_hw

Then checkout the other dependencies using the .rosinstall file found in that repo, then use rosdep to get any other dependencies

cd ..
vcs import testbed_hw/testbed_hw.rosinstall
rosdep install --ignore-src --from-paths . -y

Then build:

catkin build

Install the Clearpath Device Driver

The Clearpath communication hub requires a special device driver. This must be built and installed manually any time the system kernel is updated. If the driver is not installed, the system hub will show up as a /tty/devACMx device. If installed properly, the hub will show up as a /dev/ttyXRUSBx device.

A short script install_kernel_modules.sh is included in testbed_hw/clearpath_sc_ros which will automate this building process. It can be run from a checkout of tha repo or:

wget -O - https://gitlab.com/rsa-manipulation-testbed/testbed_hw/-/raw/main/clearpath_sc_ros/install_kernel_module.sh | /bin/bash -