mc_rtc is an interface for simulation and robot control systems. These systems should provide the state of a given robot (joints’ values, sensor readings…) and in return mc_rtc will provide the desired robot’s state (command). This is done through the mc_control::MCGlobalController class. This class does not perform control by itself but rather delegates this task to the mc_control::MCController derived objects that it holds. Writing a controller within the mc_rtc framework is done by writing a class that inherits from the mc_control::MCController base class and implements the required functionnality. We implement such a controller in the following tutorials. The present tutorial simply explains how to build/install the framework on your machine.
Installation instruction
We provide binaries for the current Ubuntu LTS releases and macOS via Homebrew. We also provide a source release using an easy-to-use script for Ubuntu, macOS and Windows and a vcpkg registry.
Binaries are recommended for Ubuntu users and macOS users. vcpkg is recommended for Windows users.
# Setup the mirror
curl -1sLf 'https://dl.cloudsmith.io/public/mc-rtc/stable/setup.deb.sh' | sudo -E bash
# Install packages
sudo apt install libmc-rtc-dev mc-rtc-utils
# Assuming you have a ROS distribution mirror setup
sudo apt install ros-${ROS_DISTRO}-mc-rtc-plugin ros-${ROS_DISTRO}-mc-rtc-tools
# Setup the mirror
curl -1sLf 'https://dl.cloudsmith.io/public/mc-rtc/head/setup.deb.sh' | sudo -E bash
# Install packages
sudo apt install libmc-rtc-dev mc-rtc-utils
# Assuming you have a ROS distribution mirror setup
sudo apt install ros-${ROS_DISTRO}-mc-rtc-plugin ros-${ROS_DISTRO}-mc-rtc-tools
Note: the distributed version of mc_rtc runs with the QLD QP solver through eigen-qld. If you have access to the LSSOL solver and thus can install eigen-lssol then you can build Tasks with LSSOL support and install it in /usr. The two versions are binary compatible.
Homebrew (macOS)
Follow the official instructions to install Homebrew. Then:
brew tap mc-rtc/mc-rtc
brew install mc_rtc
vcpkg
Follow vcpkg instruction to install vcpkg on your system.
You can then setup our registry by creating a vcpkg-configuration.json file either alongside the vcpkg binary or alongside your vcpkg.json manifest:
mc-rtc-superbuild is a CMake-based option to build mc_rtc and its dependencies. It also provides an extension mechanism to that you can build projects that require mc_rtc.
Please refer to the project’s homepage for usage instructions.
Deprecated options
The following options are also available but are deprecated: