Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro jazzy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro lyrical showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

mola_input_rosbag1 package from mola_input_rosbag1 repo

mola_input_rosbag1

ROS Distro
humble

Package Summary

Version 0.0.1
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/MOLAorg/mola_input_rosbag1.git
VCS Type git
VCS Version develop
Last Updated 2026-06-04
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

MOLA DataSource from ROS1 bag files that does not need a ROS1 installation

Additional Links

Maintainers

  • Jose-Luis Blanco-Claraco

Authors

No additional authors.

mola_input_rosbag1

Distro Build dev Release
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Kilted (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

A MOLA RawDataSource module that reads ROS 1 .bag files and exposes their contents as MOLA observations, without requiring a ROS 1 installation.

The ROS 1 bag (de)serialization, message definitions, and rosbag_storage reader are vendored inside this package (see the ros1/ and mrpt_ros_bridge/ subdirectories), so the module builds and runs in a pure ROS 2 (or even non-ROS) colcon workspace.

Typical uses:

  • Feed a legacy ROS 1 dataset into MOLA LiDAR Odometry or any other MOLA consumer.
  • Turn MOLA into a ROS 1 -> ROS 2 bridge: read a .bag and re-publish its streams as ROS 2 topics + /tf, in real time (see demo below).
  • Inspect raw sensor streams in the MOLA visualizer.

Supported message types

ROS 1 message type MOLA / MRPT observation
sensor_msgs/Imu CObservationIMU
sensor_msgs/Image CObservationImage (mono8, rgb8, bgr8)
sensor_msgs/PointCloud2 CObservationPointCloud (XYZ / XYZI / XYZIRT) or CObservationRotatingScan
sensor_msgs/LaserScan CObservation2DRangeScan
sensor_msgs/NavSatFix CObservationGPS
nav_msgs/Odometry CObservationOdometry
tf2_msgs/TFMessage (/tf, /tf_static) transform tree (sensor pose lookup)

Topics with no known mapping are ignored (a one-time warning is logged).

Sensor poses and /tf

The pose of each sensor in the robot body frame is looked up from the bag’s /tf and /tf_static tree, as the transform base_link_frame_id -> <message frame_id>.

  • Set base_link_frame_id to the name of your robot body frame. Note that many ROS 1 bags use namespaced frames (e.g. r1/base_link instead of base_link).
  • If the relevant transform is not yet available when a message is read (e.g. the first few messages before any /tf), that single observation is dropped and a throttled warning lists the currently known tf frames, which is handy for discovering the correct base_link_frame_id.
  • If your bag has no /tf, override the pose per sensor with fixed_sensor_pose (see the example in ros1bag_just_view.yaml).

Parameters

Param Required Default Description
rosbag_filename yes - Path to the input .bag file.
base_link_frame_id no base_link Robot body frame for tf pose lookup.
time_warp_scale no 1.0 Playback speed multiplier.
read_ahead_length no 15 Number of messages pre-read ahead.
start_paused no false Start playback paused.
sensors no auto Explicit list of topics, types, and pose overrides. If omitted, all topics with a known mapping are exposed automatically using the topic name as sensorLabel.

See mola-cli-launchs/ros1bag_just_view.yaml for a fully documented sensors example.

Demos

Two ready-to-use mola-cli launch files are provided under mola-cli-launchs/.

1. Visualize raw streams

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_just_view.yaml

2. ROS 1 -> ROS 2 bridge

ROSBAG1_FILE=/path/to/dataset.bag \
  mola-cli src/mola_input_rosbag1/mola-cli-launchs/ros1bag_to_ros2.yaml

Then, in another terminal with ROS 2 sourced:

ros2 topic list
ros2 topic echo /your_topic
rviz2

If your bag uses namespaced frames, point the body frame at the right one, e.g.:

```bash MOLA_BASE_LINK_FRAME=r1/base_link \

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mola_bridge_ros2

1.7.0 (2025-05-06)

1.6.4 (2025-04-23)

  • fix: Correctly handling Livox cloud timestamps ("double"s, but in nanoseconds) in BridgeROS2 and bag2 data sources. They are automatically detected, no need to change any parameter.
  • modernize clang-format
  • Merge pull request #82 from ahpinder/develop Add Support for Voxel Map ROS2 Publishing Via Point Map Conversion
  • fixed Clang formatting
  • Clean up voxel map publishing code
  • Added voxel map point cloud publishing Added code to timerPubMap to publish the occupied voxels of a mrpt::<maps::CVoxelMap> as a point cloud to ROS2, allowing for real-time ROS2 visualization of 2D map capture
  • Contributors: Jose Luis Blanco-Claraco, ahpinder

1.6.3 (2025-03-15)

  • clang-tidy: const correctness
  • Service renamed: RelocalizeFromGNSS -> RelocalizeFromStateEstimator
  • FIX: Potential deadlock in initialization
  • Contributors: Jose Luis Blanco-Claraco

1.6.2 (2025-02-22)

  • Implement publish Diagnostics per mola module & ROS2 publishers refactored (code clean up)
  • BridgeROS2: add source filter for forwarding localization updates to ROS2
  • ROS2: base_footprint_frame /tf is broadcasted now as base_link -> base_footprint to avoid /tf warnings (better as a child than as a second parent in the tf tree)
  • FIX: In parsing base_footprint_to_base_link_tf
  • Contributors: Jose Luis Blanco Claraco, Jose Luis Blanco-Claraco

1.6.1 (2025-02-13)

  • Add new option: publish_tf_from_slam; add better docs on the meaning of all parameters
  • Publish georef /tf as /tf_static
  • ROS2 bridge now publishes georeferenced map metadata as /tf's and as mrpt_nav_interfaces/GeoreferencingMetadata
  • Revert "Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging" This reverts commit 8a84611d85022f37b80d8bdcb7acaa1910669fc1.
  • FIX: wrong variable in former commit
  • Merge pull request #75 from MOLAorg/feature/mrpt-to-ros-console Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Feature: all MOLA modules got its MRPT logger to ROS console for easier debugging
  • Contributors: Jose Luis Blanco-Claraco

1.6.0 (2025-01-21)

  • Publish gridmaps too
  • ros2 bridge: rep105 only for map->base_link tfs
  • BridgeROS2: support forwarding more than one localization message per timer call
  • Fix published /tf's: those from LocalizationSources now can explicitly define their parent and child frames
  • Contributors: Jose Luis Blanco-Claraco

1.5.1 (2024-12-29)

1.5.0 (2024-12-26)

1.4.1 (2024-12-20)

  • BridgeROS2: add option (now enabled by default) to publish /tfs following REP105 order
  • BUG FIX: Published odometry msg lacked target frame_id
  • Rename method for better reflecting its goal
  • Contributors: Jose Luis Blanco-Claraco

1.4.0 (2024-12-18)

  • Publish localization quality topic
  • Forward --ros-args to BridgeROS2
  • expose services for runtime parameters
  • Load relocalize_from_topic from yaml file
  • ros2bridge: handle /initialpose topic -> relocalize service
  • Contributors: Jose Luis Blanco-Claraco

1.3.0 (2024-12-11)

  • Support publishing IMU readings MOLA -> ROS2
  • Contributors: Jose Luis Blanco-Claraco

1.2.1 (2024-09-29)

  • BUGFIX: Prevent potential race condition
  • Contributors: Jose Luis Blanco-Claraco

1.2.0 (2024-09-16)

File truncated at 100 lines see the full file

Launch files

Messages

Plugins

No plugins found.

Recent questions tagged mola_input_rosbag1 at Robotics Stack Exchange