Skip to content

Software

mc_rtc

By Joint Japanese-French Robotics Laboratory, Japan (checked on github.com/jrl-umi3218 (opens in a new tab)), from github.com/jrl-umi3218/mc_rtc (opens in a new tab)

  • Humanoids and robot learning
  • Framework
  • BSD-2-Clause

mc_rtc is a C++ framework for writing robot controllers, acting as a layer between simulators or robot control systems and controller code that computes commands from robot state.

Facts

GitHub stars
201read on 6 Nov 2026
Last update
5 Nov 2026Newest commit on master
Maintenance
Activea commit in the last 90 days
Difficulty
Advanced

Checked on GitHub on 6 Nov 2026.

Licenses

Code
BSD-2-Clause (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (BSD-2-Clause) at commit b375c7f (opens in a new tab), on 6 Nov 2026.

Commercial use
Yes

Overview

What it does: Robotheca's summary

  • Provides the MCGlobalController class, which delegates control to MCController objects that users write by subclassing the base class.
  • Acts as a higher-level interface over SpaceVecAlg, RBDyn and Tasks, making them easier to use.
  • Connects to third-party frameworks such as ROS, OpenRTM, UDP, V-REP, NAOqi, libfranka and MuJoCo through separate interface projects.

Written by Robotheca from the project's README (opens in a new tab) at commit 2f79bbe, not by its creator.

The README

The creator's own README, copied as written: README.md by Joint Japanese-French Robotics Laboratory, at commit b375c7f, under BSD-2-Clause (opens in a new tab). The original on GitHub (opens in a new tab).

Read the README here

mc_rtc

(opens in a new tab) (opens in a new tab) (opens in a new tab) (opens in a new tab)

NOTICE: https://jrl.cnrs.fr/mc_rtc (opens in a new tab) is currently down. Please use https://jrl-umi3218.github.io/mc_rtc (opens in a new tab) while we work on a fix.

Introduction

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. The details of this process can be found in the project documentation.

mc_rtc is a super-set of SpaceVecAlg/RBDyn/Tasks libraries which provides a friendlier/easier interface for the user.

This framework assumes some familiarity with the SpaceVecAlg (opens in a new tab), RBDyn (opens in a new tab) and Tasks (opens in a new tab) although the libraries in the mc_rtc package abstract most of these libraries inner-workings. Unfamiliar users may refer to the SpaceVecAlg and RBDyn tutorials (opens in a new tab) and the SpaceVecAlg and RBDyn presentations (opens in a new tab) authored by Joris Vaillant.

The project website (opens in a new tab) provides a somewhat complete introduction of the framework functionalities.

Feel free to open an issue (opens in a new tab) for questions, feature requests or problems you might encounter.

Available interfaces

The following interface between mc_rtc and 3rd-party framework are available:

Installing

Please see mc_rtc installation guide (opens in a new tab) for details.

mc_rtc also uses the following great 3rd party libraries but does not require you to get or install them:

Files and versions

Facts read at commit b375c7f

Robotheca read the repository at two versions: the summary at 2f79bbe and the facts and the README at b375c7f (read on 6 Nov 2026).

Robotheca never hosts the code: each link goes to the creator's own page.

Use it

How to install it, in the creator's words: The project's website (opens in a new tab)

Robotheca doesn't review code. Read it before running it.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.