[ROS2] ROS1 bag conversion into ros2 bag format using rosbag2 in crystal
Hi Team,
We are using ros2 crystal rosbag2 pkg ( https://github.com/ros2/rosbag2 ) and trying to run info/play/record ROS1 .bag file. Here i am enable to see ros1 .bag meta details into ros2 bag info command as below but unable to play/record for the same.
- $ source /opt/ros/melodic/setup.bash
- $ source /opt/ros/crystal/setup.bash
- $ source ~/rosbag_ws/install/setup.bash
$ ros2 bag info -s rosbag_v2 Mapping_ros1.bag
where Mapping_ros1.bag is the ROS1 .bag file.
The command above will print something like the following:
DISCLAIMER
ros2 bag is currently under development and not ready to use yet
Files: Mapping_ros1.bag
Bag size: 565.6 KiB
Storage id: rosbag_v2
Duration: 172.600s
Start: Jan 1 1970 05:31:00.200 (60.200)
End Jan 1 1970 05:33:52.800 (232.800)
Messages: 3454
Topic information: Topic: /base_scan | Type: sensor_msgs/LaserScan | Count: 1727 | Serialization Format: rosbag_v2
Topic: /base_pose_ground_truth | Type: nav_msgs/Odometry | Count: 1727 | Serialization Format: rosbag_v2
But when we have tried to execute ros2 bag play -s rosbag_v2 Mapping_ros1.bag command to play ros1 .bag file in ros2 crystal, getting the below error.
**DISCLAIMER
ros2 bag is currently under development and not ready to use yet
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_M_construct null not valid
Aborted (core dumped)**
Anyone can assist us to crack the above error .
Thank you.
This sounds like a bug to me. Can you try to replay a single topic such as
/base_scan
? In any case, please open a ticket on github (ideally with a simple reproducible example).