> 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/simulation/rosbag2-recording-and-replay.md).

# rosbag2 Recording and Replay

Bag files connect simulation, field observations, and repeatable debugging. Define topic profiles so contributors record enough evidence without capturing unnecessary personal data.

| Profile    | Typical content                                          | Purpose                             |
| ---------- | -------------------------------------------------------- | ----------------------------------- |
| Core       | Commands, modes, safety state, TF, odometry, diagnostics | Always-on regression evidence       |
| Navigation | Core plus maps, costmaps, plans, controller outputs      | Planner/controller analysis         |
| Perception | Core plus selected sensor streams and detections         | Perception debugging                |
| Full lab   | All approved topics                                      | Time-bounded controlled experiments |

## Recording metadata

Record CAREC commit, container image, parameter hashes, calibration version, world/scenario ID, seed, operator, test purpose, start/end time, and privacy classification next to the bag.

## Replay rules

* Use simulated time consistently and verify all replayed nodes subscribe to `/clock`.
* Do not replay actuator commands into hardware.
* Isolate replay namespaces or disable live drivers.
* Check QoS compatibility and document topics that cannot be replayed faithfully.
* Evaluate the same assertions used by live simulation when possible.

{% hint style="danger" %}
Images, audio, location, and user interaction may contain sensitive data. Collect the minimum necessary, control access, document consent and retention, and redact before public issue reports.
{% endhint %}


---

# 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/simulation/rosbag2-recording-and-replay.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.
