ROS Bag | db3¶
ROS bag recordings capture sensor topics in a ROS environment. They support scenario replay, integrate with robotics frameworks, and suit algorithm development for AMR validation, SLAM, and AI or perception projects. ROS 1 saves them as .bag files, ROS 2 as bag databases (.db3 or .mcap).
To get the sensor data into ROS 2, use Native ROS 2 where the device supports sensor-side DDS publishing, or sick_scan_xd for host-side publishing.
Record Sensor Topics¶
With the sensor publishing in ROS 2, record the topics you need. Record only the topics your application uses, because point clouds produce large files.
List the available topics with ros2 topic list. Stop the recording with Ctrl+C.
Replay a Recording¶
Play the recording back and visualize it in rviz2:
Use ros2 bag info my_recording to check the recorded topics, message counts, and duration.
picoScan150 Sample Recordings¶
SICK provides sample recordings of a picoScan150 on a mobile robot, together with a camera image, in indoor production and logistics scenarios. Use them to test your processing pipeline before a sensor is available.
picoScan150 Sample Recordings: scenario, length, size, and download.
| Scenario | Length | Size | Download |
|---|---|---|---|
| Electronic production: static scenario | ~15 s | 376 MB | picoScan150_S1.bag |
| Electronic production: dynamic scenario | ~15 s | 376 MB | picoScan150_S2.bag |
| Electronic production: dynamic scenario with a person walking by | ~15 s | 376 MB | picoScan150_S3.bag |
| Electronic production: approaching a manufacturing cell | ~15 s | 376 MB | picoScan150_S4.bag |
| Logistics: approaching a pallet | ~15 s | 376 MB | picoScan150_S5.bag |
| Logistics: long corridor | ~30 s | 759 MB | picoScan150_S6.bag |
| Electronic production: AMR driving by | ~30 s | 759 MB | picoScan150_S7.bag |
All recordings share these properties:
picoScan150 Sample Recordings: property and value.
| Property | Value |
|---|---|
| Sensor | picoScan150 (2D LiDAR) and a camera |
| Application | Mobile robot, indoor |
| Format | ROS 1 bag (.bag) |
| Topics | cloud_unstructured_fullframe (sensor_msgs/PointCloud2), cv_camera/image_raw (sensor_msgs/Image) |
The recordings are ROS 1 bag files. To replay them in ROS 2, convert them first, for example with the rosbags Python package:
pip install rosbags
rosbags-convert --src picoScan150_S1.bag --dst picoScan150_S1
ros2 bag play picoScan150_S1
multiScan100 Sample Recordings¶
SICK provides multiScan100 sample recordings from production and logistics environments. Use them to validate perception pipelines, object detection, and AMR applications before a sensor is available on site.
multiScan100 Sample Recordings: scenario, basic recording, and advanced recording.
| Scenario | Basic recording | Advanced recording |
|---|---|---|
| Electronic production: people walking by | Mounting 1 · Mounting 2 | Mounting 1 · Mounting 2 |
| Electronic production: approaching manufacturing cell | Mounting 1 · Mounting 2 | Mounting 1 · Mounting 2 |
| Logistics: approaching storage rack | Mounting 1 · Mounting 2 | Mounting 1 · Mounting 2 |
| Logistics: approaching pallets | Mounting 1 · Mounting 2 | Mounting 1 · Mounting 2 |
| Logistics: driving through a corridor | Mounting 1 · Mounting 2 | Mounting 1 · Mounting 2 |
| Electronic production: AGV driving by | Mounting 1 · Mounting 2 | Mounting 1 · Mounting 2 |
| Electronic production: AGV leaving manufacturing cell | Mounting 1 · Mounting 2 | Mounting 1 · Mounting 2 |
| Electronic production: two AGVs driving by | Basic | Advanced |
| Logistics: pallet truck driving by | Basic | Advanced |
| Logistics: approaching an edge | Basic | Advanced |
All recordings share these properties:
multiScan100 Sample Recordings: property and value.
| Property | Value |
|---|---|
| Sensor | multiScan136 / multiScan165 (3D LiDAR) and a camera |
| Application | Mobile robot, indoor |
| Format | ROS 2 bag database (.db3) |
| Topics | /multiscan136/cloud_unstructured_fullframe, /multiscan165/cloud_unstructured_fullframe and camera image topics |
The recordings are .db3 files and can be replayed in ROS 2 directly. For ROS 1 compatibility, convert them first with the rosbags Python package.