Install Turtle Rover ROS packages

Here is a tutorial on how to build ROS packages in your ROS environment on Turtle Rover

Prepare your Turtle Rover

First, connect your device to Turtle Rover's console via SSH

Next step is to establish Internet connection

This tutorial assumes you already have base ROS packages installed. If not, head back to this tutorial

Packages installation

Preparation

First, make sure you have installed the prerequisites

$ sudo apt update
$ sudo apt install git python-rosdep python-catkin-tools python-wstool

We want to install packages inside a workspace that will extend /opt/ros/kinetic workspace. So lets initialize and configure a new catkin workspace

mkdir -p ~/turtle_ws/src
cd ~/turtle_ws
catkin init
catkin config --extend /opt/ros/kinetic -j 2

Now, we can download Turtle Rover's packages

git clone https://github.com/TurtleRover/tr_ros src/tr_ros

Installing dependencies

"source" kinetic workspace so the rosdep tool will see the installed ROS packages

source /opt/ros/kinetic/setup.bash

Install system dependencies of downloaded packages with rosdep

$ rosdep install --from-paths src --ignore-src -r

If rosdep fails to resolve some of the dependencies, that probably means that they are ROS packages that you don't have in your kinetic workspace. We can add and build them together with Turtle Rover's packages

Create rosinstall file for missing packages (exclude already installed)

rosinstall_generator [packages] --deps --wet-only --tar --exclude RPP > package.rosinstall

Add them to workspace

wstool init src
wstool merge package.rosinstall -t src
wstool update -t src

Install system dependencies of newly downloaded packages

rosdep install --from-paths src --ignore-src -r

Building

If everything is prepared, build the workspace by typing

catkin build

After a successful build, we can "source" the workspace to overlay it on top of our environment

source ~/turtle_ws/devel/setup.bash

Our workspace extends the /opt/ros/kinetic one, so all installed tools and packages from kinetic are also available

By default, catkin does not install packages but creates a devel space. If you want to install workspace in a specific location, type

catkin config --install -i [install_location]

You can learn more about catkin workspaces here

Your Turtle Rover's environment is ready for development ;-)