> For the complete documentation index, see [llms.txt](https://carec.gitbook.io/carec-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://carec.gitbook.io/carec-docs/documentation/getting-started/simulation-quickstart.md).

# Simulation Quickstart

CAREC is **simulation-first**. Contributors should be able to begin useful autonomy, navigation, safety, perception, testing, or tooling work without physical wheelchair hardware.

## Standard software stack

| Layer                    | CAREC standard                     | Purpose                                                                         |
| ------------------------ | ---------------------------------- | ------------------------------------------------------------------------------- |
| Operating system         | Ubuntu 24.04 LTS                   | Reference Linux development environment                                         |
| Robotics middleware      | ROS 2 Jazzy Jalisco                | Nodes, topics, services, actions, TF, parameters and lifecycle                  |
| Primary simulator        | Gazebo Harmonic LTS                | Wheelchair physics, worlds, collisions and simulated sensors                    |
| Navigation               | Nav2                               | Localization integration, planning, control, costmaps and recovery              |
| Mapping                  | SLAM Toolbox                       | 2D mapping and SLAM experiments                                                 |
| Visualization            | RViz2                              | Inspect maps, TF, robot state, paths and sensor data                            |
| Control                  | `ros2_control` + `gz_ros2_control` | Common drive/controller interfaces between simulation and future hardware       |
| ROS/Gazebo bridge        | `ros_gz`                           | Exchange simulation data with ROS 2                                             |
| Build tools              | `colcon`, `rosdep`, `vcstool`      | Build workspaces and resolve dependencies                                       |
| Languages                | C++ and Python                     | ROS nodes, autonomy algorithms, tools and tests                                 |
| Reproducible environment | Docker / Dev Containers            | Keep contributor machines and CI aligned                                        |
| Source control / CI      | Git + GitHub + GitHub Actions      | Collaboration, pull requests and automated tests                                |
| Advanced simulator       | NVIDIA Isaac Sim                   | Later high-fidelity GPU simulation, synthetic data and AI/perception evaluation |

{% hint style="info" %}
Physical wheelchair hardware is not required for ordinary simulation work. Hardware-specific integration is handled in later controlled workstreams.
{% endhint %}

## What you are building first

The shared baseline targets a version-pinned ROS 2 workspace containing a differential-drive wheelchair model, accessible indoor worlds, simulated sensors, manual commands, a valid TF tree, Nav2-compatible interfaces, safety scenarios, and repeatable automated tests.

## Common contributor workflow

```bash
git clone https://github.com/vinodkumar1947/CAREC-Project.git
cd CAREC-Project
code .
```

Open the repository using **Dev Containers: Reopen in Container**. The version-controlled container provides the Ubuntu/ROS 2 baseline and runs the repository environment check.

Verify the baseline with the commands currently implemented by the repository:

```bash
./scripts/bootstrap.sh --check
python3 -m pytest tests/obstacle_test.py tests/unit -v
```

Ubuntu 24.04 is the reference host. Windows contributors use WSL2 + Ubuntu 24.04 with the Dev Container. macOS contributors use Docker Desktop + the Dev Container; graphical simulation and GPU behavior remain host-dependent and must be validated. Apple Silicon contributors should treat ARM64 simulator compatibility as a verification item. NVIDIA Isaac Sim belongs to a later Ubuntu + NVIDIA workstream.

## First successful contributor milestone

Before taking an autonomy task, demonstrate that the repository environment check and tests pass, the required ROS packages are discoverable, and any simulator-specific workflow used by the task has been verified on the contributor's host. Graphical simulator behavior must not be claimed as cross-platform until it has passed the corresponding smoke test.

For details, continue to Environment Setup.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://carec.gitbook.io/carec-docs/documentation/getting-started/simulation-quickstart.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
