Installation
The compiler's repository and the component library's are not public yet; these steps are for those who have them. Without them, the Studio shows the library's parts and the showcase's robots in the browser, where they drive and walk.
The compiler is plain Python. It needs no ROS, simulator or Docker; those are only for running what it writes.
The compiler
RobotDSL needs Python 3.12 or later. From a checkout of the repository:
python -m pip install -e .This installs the mobiledsl command:
mobiledsl --versionmobiledsl 0.2.0To work on the compiler itself, install the development tools too; Developer onboarding covers the test suite.
python -m pip install -e '.[dev]'A component library
A program assembles its robot from parts in a component library, a directory the compiler reads with --library. Two are at hand:
| Library | Holds |
|---|---|
examples/library in this repository | The parts of the example robots in this guide, with placeholder meshes |
The format-1 branch of the component library repository | The real catalog, with CAD meshes |
There is no default library and no install step: a library is used by naming its directory. Component libraries explains what is inside one.
An environment to run the output
The output of --target ros-gz-nav2 runs on ROS 2 Jazzy with Gazebo Harmonic, ros2_control and Nav2. The output of --target ros-mujoco-nav2 runs on ROS 2 Jazzy with MuJoCo 3.11 or later, ros2_control, Nav2 and topic_based_ros2_control. Nothing in the output is built or installed.
If you do not have such an environment, use the images the test suite runs in:
| Image | Target |
|---|---|
robotdsl/ros-gz-nav2:jazzy-harmonic | ros-gz-nav2 |
robotdsl/ros-mujoco-nav2:jazzy | ros-mujoco-nav2 |
docker/README.md in the repository says how each is built.
Next
Getting started writes, checks, compiles and runs a first program.