Diffbot ROS Packages
The following describes the easiest way to make use of diffbot's ROS packages inside the ros-mobile-robots/diffbot repository.
The following steps will be performed on both, the workstation/development PC and the single board computer (SBC).
Git: clone diffbot repository
After setting up ROS on your workstation PC and the SBC (either Raspberry Pi 4B or Jetson Nano),
create a ros workspace in your users home folder and clone the
Obtain (system) Dependencies
diffbot repository relies on two sorts of dependencies:
- Source (non binary) dependencies from other (git) repositories.
- System dependencies available in the (ROS) Ubuntu package repositories. Also refered to as pre built binaries.
Let's first obtain source dependencies from other repositories.
To do this the recommended tool to use is
(see also https://github.com/dirk-thomas/vcstool for additional documentation and examples.).
Inside the cloned
make use of the
import command and the
diffbot.repos file containing the required source repositories:
This will clone all repositories which are stored in the
diffbot.repos that get passed in via stdin in YAML format.
diffbot.repos contains relative paths and will clone the listed repositories in the parent folder from where
vcs import command is called. When it is called from inside the
diffbot repository, which should be located
src folder of a catkin workspace, then the other repositories are also cloned in the
For the SBC not all dependencies in
diffbot.repos are needed.
diffbot_robot.repos is here to clone the
Now that additional packages are inside the catkin workspace it is time to install the system dependencies.
All the needed ROS system dependencies which are required by diffbot's packages can be installed using
rosdep command, which was installed during the ROS setup.
To install all system dependencies use the following command:
On the following packages pages it is explained that the dependencies of a ROS package are defined inside its
After the installation of all dependencies finished (which can take a while), it is time to build the catkin workspace.
Inside the workspace use
catkin-tools to build the packages inside the
The first time you run the following command, make sure to execute it inside your catkin workspace and not the
Now source the catkin workspace either using the created alias or the full command for the bash shell:
Now you are ready to follow the examples listed in the readme.
TODO extend documentation with examples
Manual Dependency Installation
To install a package from source clone (using git) or download the source files from where they are located (commonly hosted on GitHub) into the
src folder of a ros catkin workspace and execute the
catkin build command. Also make sure to source the workspace after building new packages with
1 2 3 4
Make sure to clone/download the source files suitable for the ROS distribtion you are using. If the sources are not available for the distribution you are working with, it is worth to try building anyway. Chances are that the package you want to use is suitable for multiple ROS distros. For example if a package states in its docs, that it is only available for kinetic it is possible that it will work with a ROS noetic install.