Build Instructions¶
Important
If you intend to use this interface to control your own robot, this package (and its dependencies) is enough, and you can follow the instructions below.
However, if you are looking for the interface of the TriFinger robot, see
the installation instructions in the TriFinger documentation instead (this includes
robot_interfaces
and the TriFinger-specific packages).
Dependencies¶
We are using colcon as build tool and typically use ros2 run to execute our applications. While we are not really depending on any ROS packages, this means a basic ROS 2 installation is recommended.
We are testing on Ubuntu 20.04 with ROS Foxy. Other versions may work as well but are not officially supported.
Note
We provide a Singularity image with all dependencies for the TriFinger robot
which also covers everything needed for robot_interfaces
. See the
documentation of the TriFinger documentation for more information.
Get the Source¶
robot_interfaces
depends on several other of our packages which are
organized in separate repositories. We therefore use the management tool treep
which allows easy cloning of multi-repository projects.
treep can be installed via pip:
pip install treep
Clone the treep configuration containing the “ROBOT_INTERFACES” project:
git clone git@github.com:machines-in-motion/treep_machines_in_motion.git
Note
treep searches for a configuration directory from the current working
directory upwards. So you can use treep in the directory in which you
invoked the git clone
command above or any subdirectory.
Now clone the project:
treep --clone ROBOT_INTERFACES
Important
treep uses SSH to clone from github. So for the above command to work, you need a github account with a registered SSH key. Further this key needs to work without asking for a password everytime. To achieve this, run
ssh-add
first.
You should now have the following directory structure:
├── treep_machines_in_motion
└── workspace
└── src
├── googletest
├── mpi_cmake_modules
├── package_template
├── pybind11
├── real_time_tools
├── robot_interfaces
├── serialization_utils
├── shared_memory
├── signal_handler
├── time_series
└── yaml_utils
Build¶
To build, cd into the workspace
directory and call
colcon build
to build the whole workspace.