From modular robots with distributed computation, to a simple robotic arm, the motion stack provides control for (multi-)limbed systems. The goal of the project is maximum flexibility reflecting the flexibility of modular robotics, while abstracting away the complexity of such systems.
Access the complete documentation at: https://motion-stack.deditoolbox.fr/.
- Installation using Pixi
- Installation from source
- Quick start
- Operator TUI
- API
- ROS2 nodes and interfaces
- Modular – any limb anywhere on the robot.
- Distributed – any process anywhere on the network (ROS2 interface).
- Runtime hardware agnosticism – adapts in real-time to robot characteristics.
- Separation of concerns – team-member implementations and robot specificities, minimally impacts the other systems.
- Inverse Kinematics – 3Dof and above.
- Multi-limb synchronization
- TUI included – control your robot through a Terminal User Interface.
- Customizable interfaces – Use the API and override the source-code for your robot and team.
- URDF parser
- Flexible launch system
- Documented example of Moonbot Zero
- Advanced launcher with new robot and advanced modularity.
- Zenoh interface to replace ROS2.
The current basic structure can be interpreted as the following tree:
| levels
| 00 | 01 | 02 | High Lvl API |
| Motor X -- Joint 0 -- |
| Motor X -- Joint 1 -- +- IK 0 -- | +- Python API
| Motor X -- Joint 2 -- | | |
| | +- Python API
| Motor X -- Joint 0 -- | | |
| Motor X -- Joint 1 -- +- IK 1 -- + - +- Python API -- TUI
| Motor X -- Joint 2 -- | | |
| | +- Python API
The power of this structure lies in its modularity. Levels can be modified, swapped and assembled while remaining compatible with other levels. This can happen anywhere on the network, lvl02 doesn’t need to run on every robot, so one can assemble several lvl1 and control them with one lvl2 IK.
Several higher levels, can also – more or less – control the same lower level. This is very useful when several APIs control the same robot, so several people can take control and do their experiment seamlessly.

