Replace the standalone reproducer with registered C++ GoogleTests for 2D and 3D scan recovery. Use real ROS inputs, separate DDS domains and bounded timeouts, and include rtabmap_slam in supported CI and coverage jobs.
Validated on Jazzy with RTAB-Map core 9ed83a7: both negative controls fail map recovery without the unlocks; both pass with the fix, followed by five repeated runs per case (10/10 passed). Broader distro CI has not been run locally.
* rtabmap_odom tests and doc
* opengv note
* added ci checks or humble-latest flaky dep cmake errors
* Added real data tests for rgbd_odom and stereo_odom
* added real data for icp_odometry's deskewing test
* fixing json cmake error on lyrical/rolling
* test 2d icp odom deskewing branch
* first review of existing OdometryROS tests
* testing with imu used as guess
* tested imu arrivals sync
* Fixed odom reset on right pose when guess frame id is used
* fixing header errors in ci >=lyrical
* Added support for input rgbd_image topic with features for odom, added multicam rgbd_odometry test
* Added stereo odom support for features-only frames. Added multicam stereo tests.
* forcing latest rtabmap version
* updated OdometryROS API
* ci: dont build non-latest docker in pull requests
* splitting docker jobs
* doc edit
* Making publish_null_when_lost:=false continous when guess is provided (using guess covariance when we cannot register yet)
* updated stereo doc
* ficing rolling ci (rviz Ogre header)
* Added test coverage of alll rgbd_image callbacks
* fixing rolling ci
* making docker ci build/run the tests on pull requests
* fixing ros2 ci testing
* improved sync callback coverage
* improving stereo_odometry test coverage
* improved icp_odometry test coverage
* lyrical voxel_grid ptr error
* make multicam tests working as well without opengv
* removing deps of missing packages on rolling
* PCL empty cloud conversion compiler errors fix
* fixing icp_odometry test failure on ci witohut libpointmatcher
* fixing nav2 costmap plugin build on lyrical
* joining thread when exiting
* updating icp test to work the same on pcl 1.15 (lyrical)
* Fix parallel tests seg fault
---------
Co-authored-by: mathieu86 <[email protected]>
* Lyrical support
* removed dep not available on lyrical
* updated docker lyrcical
* making cmake less verbose, disabled tests on rtabmap_python
* cleanup not used tests in rtabmap_python
* addressing some lyrical deprecated warnings
* cancel pr jobs on recommit
* small refactor
* disabled lyrical bin docker
* restored python test and fixed error
* trigger ci
* fixing docker lyrical
* disabled rtabmap_ros lyrical
* pytest
* fixing packages-skip
* bump 0.23.7
* Migrating tf to tf2
* Added ci action to test PR on ros1
* updated dev container with nvidia working
* backward compatibility with topics having frame_id with leading slash not allowed with tf2
* backward compatibility of leading slash for other tf2 buffers
* updated comment
* demo(turtlebot3): add FusionCore + icp_odometry feedback loop demo
Adds a TurtleBot3 Gazebo Harmonic demo (ref issue #1418 Option A) where
FusionCore (wheel + IMU UKF) and icp_odometry tighten each other in a
feedback loop: FusionCore's stable odom frame serves as the scan-match
initial guess via guess_frame_id, and the ICP result feeds back into
FusionCore as a second velocity source. rtabmap SLAM consumes the ICP
output for mapping/loop-closure. Nav2 uses /fusion/odom.
Files added:
launch/turtlebot3/fusioncore/turtlebot3_fusioncore_icp.launch.py
launch/turtlebot3/fusioncore/turtlebot3_sim_fusioncore_icp_demo.launch.py
launch/turtlebot3/fusioncore/README.md
params/fusioncore_tb3.yaml
params/fusioncore_tb3_bridge.yaml (TF-conflict-free bridge)
params/turtlebot3_fusioncore_icp_nav2_params.yaml
* demo(turtlebot3): add FusionCore demo entry to rtabmap_demos README
* fix(fusioncore-demo): remove Odom/ResetCountdown from rtabmap, strip GPS params
* docs(demos): add FusionCore icp_odometry demo GIF to README
* fix(fusioncore-demo): add imu.frame_id override and docking_server params
* fix(fusioncore-demo): remove docking_server from nav2 params
* Fixing turtlebot3 demos on Jazzy
* Updated humble
* Working turtlebot3 demos on humble and jazzy
* Fixed Twist->TwistStamped. Fixed rviz2 crashing because missing docking server
* demo(turtlebot3): add FusionCore + icp_odometry feedback loop demo
Adds a TurtleBot3 Gazebo Harmonic demo (ref issue #1418 Option A) where
FusionCore (wheel + IMU UKF) and icp_odometry tighten each other in a
feedback loop: FusionCore's stable odom frame serves as the scan-match
initial guess via guess_frame_id, and the ICP result feeds back into
FusionCore as a second velocity source. rtabmap SLAM consumes the ICP
output for mapping/loop-closure. Nav2 uses /fusion/odom.
Files added:
launch/turtlebot3/fusioncore/turtlebot3_fusioncore_icp.launch.py
launch/turtlebot3/fusioncore/turtlebot3_sim_fusioncore_icp_demo.launch.py
launch/turtlebot3/fusioncore/README.md
params/fusioncore_tb3.yaml
params/fusioncore_tb3_bridge.yaml (TF-conflict-free bridge)
params/turtlebot3_fusioncore_icp_nav2_params.yaml
* demo(turtlebot3): add FusionCore demo entry to rtabmap_demos README
* fix(fusioncore-demo): remove Odom/ResetCountdown from rtabmap, strip GPS params
* docs(demos): add FusionCore icp_odometry demo GIF to README
* fix(fusioncore-demo): add imu.frame_id override and docking_server params
* fix(fusioncore-demo): remove docking_server from nav2 params
* Fixing turtlebot3 demos on Jazzy
* Updated humble
* Fixed Twist->TwistStamped. Fixed rviz2 crashing because missing docking server
* fix(fusioncore-demo): tune IMU noise for Gazebo sim, add real-hardware comments
* docs(fusioncore-demo): add sim vs real hardware note to README
---------
Co-authored-by: manankharwar <[email protected]>
Co-authored-by: matlabbe <[email protected]>