evo icon indicating copy to clipboard operation
evo copied to clipboard

ROS2 Bag support

Open DSdPR opened this issue 3 years ago • 1 comments

Hello Michael,

I have implemented very basic support for ROS2 bags in the evo_traj module, using the rosbags (https://gitlab.com/ternaris/rosbags) API, which does not even require a base ROS or ROS2 installation. I have forked the repository to implement these changes, you can find my fork here (https://github.com/DSdPR/evo_ros2). I have not changed the supported ROS topics so far, and haven't quite managed to implement TF messages either, but I have tested it with a ROS2 bag containing "nav_msg/Odometry" message types. Let me know what you think.

Thank you for your time and for developing evo.

DSdPR avatar Dec 07 '21 12:12 DSdPR

Hi, thanks for starting into this topic. This rosbags package looks nice, from what I see it would allow us to serve both ROS1 and ROS2 bags with a single reader interface.

Some general requirements from my side:

  • we should try to use only the rosbags package for both ROS1 and ROS2 bags, this can save code duplication
  • evo_traj bag should not use the ROS2 loader if ROS2 is installed, instead we should introduce a new evo_traj bag2 mode.

Additionally, these further topics should be addressed too (in separate PRs):

  • testing, fix potential bugs that were introduced by the new API
  • example ROS2 bag data for testing would be good, both with pose/odom topic and TF data
  • currently we have --save_as_bag, we could also introduce --save_as_bag2

MichaelGrupp avatar Dec 08 '21 15:12 MichaelGrupp