Robot-localization porting to ROS2

Hi Tom and Everyone,

Here is our proposal which we followed to test robot localization in ros2 and passed the tests successfully.

  1. As there are few test cases which depends on the rosbag and rosbag is not available in ros2, ros1 bridge should be used to complete those test scnerios.
    https://index.ros.org/doc/ros2/Rosbag-with-ROS1-Bridge/

  2. As per the migration guide, .test files should be converted into launch.py. But it will not work with “colcon test” as rostest package is not available in ros2. Also it is not sure that how any test which depends on roscore, ros1 bridge, rosbag and then launch.py should work with colcon test as we can not add all these combinations in CMakeLists.txt.

  3. Test cases have been checked by launching specific launch files with other nodes running simultaneously on terminals.Automated scripts have been developed to test these scenrios which opens multiple terminals and run the specific commands related to that test case.

  4. As the launch.py files are launching multiple nodes, it is not exiting on its own.The exit is working with ctrlC. We are not sure if it is possible to exit test which depends on rosbag and ros1 bridge.The test cases which are independent of rosbag and ros1 bridge, can exit from launch.py wihtout ctrlC.

Please provide your suggestions/feedback so that we can confirm on this test environment.
Appreciate your response.
Do let us know in case if you want try these test scenarios and need any help.

Thanks.