Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Checkout URI | https://github.com/ika-rwth-aachen/ros2_unbag.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-06-25 |
| Dev Status | MAINTAINED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| unbag | 1.3.0 |
README
ros2 unbag - fast ROS 2 bag export for any format
ros2 unbag is a powerful ROS 2 tool featuring an intuitive GUI and flexible CLI for extracting topics from .db3 or .mcap bag files into formats like CSV, JSON, PCD, images, and more.
- 🎨 Intuitive GUI interface for interactive bag exploration and export configuration
-
⚙️ Full-featured ROS 2 CLI plugin:
ros2 unbag <args>for automation and scripting - 🔌 Pluggable export routines enable export of any message to any type
- 🔧 Custom processors to filter, transform or enrich messages
-
⏱️ Time‐aligned resampling ( lastnearest) - 🚀 Multi‐process export with adjustable CPU usage
- 💾 JSON config saving/loading for repeatable workflows
Table of Contents
- Introduction
- Installation
- Quick Start
-
Documentation
- Export Routines - Built-in and custom export formats
- Processors - Message transformation and filtering
- Advanced Usage - Config files, resampling, CPU tuning
- Acknowledgements
Introduction
The GUI makes it easy to inspect bag contents, select topics, configure export formats, build processor chains, and manage resampling. For automation and scripting workflows, the CLI provides the same export capabilities through command-line arguments or JSON configuration files.
It comes with export routines for all message types (sensor data, point clouds, images). You need a special file format or message type? Add your own export plugin for any ROS 2 message or format, and chain custom processors to filter, transform or enrich messages (e.g. drop fields, compute derived values, remap frames).
Optional resampling synchronizes your data streams around a chosen master topic—aligning each other topic either to its last‑known sample (“last”) or to the temporally closest sample (“nearest”)—so you get a consistent sample count in your exports.
For high‑throughput workflows, ros2 unbag can spawn multiple worker processes and lets you tune CPU usage. Your topic selections, processor chains, export parameters and resampling mode (last or nearest) can be saved to and loaded from a JSON configuration, ensuring reproducibility across runs.
Whether you prefer the GUI for interactive exploration or ros2 unbag <args> for automated pipelines, you have a flexible, extensible way to turn bag files into the data you need.
Installation
From source
- Create a ROS 2 workspace and clone the repository into
src:
mkdir -p ros2_ws/src
git clone https://github.com/ika-rwth-aachen/ros2_unbag.git ros2_ws/src/ros2_unbag
cd ros2_ws
- Source your ROS 2 installation:
source /opt/ros/<distro>/setup.bash
- Install the package dependencies via
rosdep:
rosdep install --from-paths src --ignore-src -r -y
- Build the package with
colcon:
colcon build --packages-select unbag
- Source the workspace overlay:
source install/setup.bash
Docker
You can skip local installs by running our ready‑to‑go Docker image:
docker pull ghcr.io/ika-rwth-aachen/ros2_unbag:latest
This image comes with ROS 2 Jazzy and ros2 unbag preinstalled. To launch it:
- Clone or download the
docker/docker-compose.ymlin this repo. - Run:
File truncated at 100 lines see the full file