Simulator Support Matrix¶
RoboCI v0.1 is local-first. The mock simulator is turnkey. Other simulator surfaces are adapters that require local runtime setup.
| Surface | v0.1 Status | Default Tests Require It | Local Runtime Required | Notes |
|---|---|---|---|---|
| Mock | Turnkey supported | No external dependency | No | Deterministic smoke/demo simulator for roboci demo and default benchmarks. |
| Python simulator | Supported extension path | No | Project-specific Python file | Load local Python simulator bindings explicitly. |
| Native C++/Rust simulator | Supported example path | No | Local compiler/runtime or executable | Example bindings exist, but default tests do not require native toolchains. |
| CARLA | Adapter surface with Compose smoke path | No | CARLA server/image and CARLA Python API | Use docker compose --profile carla up --build carla carla-roboci on a prepared Linux/GPU runner. Set ROBOCI_CARLA_PYTHON_PACKAGE to a matching CARLA Python API wheel/package for that runner, or point the adapter at an existing server with ROBOCI_CARLA_HOST and ROBOCI_CARLA_PORT. |
| Isaac Sim | Adapter surface | No | Isaac Sim Python environment | Run inside or against a configured Isaac environment. |
| Gazebo/ROS2 | Reference bridge | No | Sourced ROS2 and Gazebo environment | Uses ROS2 topics/services and project-specific launch setup. |
| Hardware-in-loop | Not supported yet | No | N/A | Planned future surface, not a v0.1 feature. |
Stable v0.1 Behavior¶
- Default Python tests run without CARLA, Isaac Sim, Gazebo, ROS2, Node, or internet.
- External simulator SDK imports must remain lazy.
- Mock-backed examples write the same artifacts as external simulator runs.
- External simulator failures should fail explicitly with missing-runtime context.
Limitations¶
- Passing mock benchmarks is not production safety validation.
- External simulator manifests under
examples/simulators/are documentation examples and are not run by default tests. CARLA also has an opt-in Compose profile and suite smoke path. - Adapter configuration may need project-specific local paths, topics, maps, stages, controllers, and environment variables.
Example Manifests¶
examples/simulators/carla_town03.yamlexamples/simulators/isaac_manipulator.yamlexamples/simulators/gazebo_turtlebot.yaml