SteveMacenski / slam_toolbox

Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS
GNU Lesser General Public License v2.1
1.5k stars 497 forks source link

fix building on Ubuntu 24.04 #687

Closed 981213 closed 1 month ago

981213 commented 2 months ago

Ubuntu 24.04 updates Ceres Solver to 2.2.0 which dropped support for LocalParameterization and suggests users to move to Manifold instead.

This commit fixes slam_toolbox build on Ubuntu 24.04 and simultaneously breaks it for Ubuntu 22.04 with Ceres 2.0.0

The code are copied from the official slam/pose_graph_2d example:

https://ceres-solver.googlesource.com/ceres-solver/+/refs/tags/2.2.0/examples/slam/pose_graph_2d/


Basic Info

Info Please fill out this column
Ticket(s) this addresses None
Primary OS tested on Ubuntu 24.04
Robotic platform tested on A rosbag I recorded last year

Description of contribution in a few bullet points

Description of documentation updates required from your changes

None


Future work that may be required in bullet points

lekoook commented 1 month ago

Any plans to merge this to the default ros2 branch or maybe under a jazzy branch?

SteveMacenski commented 1 month ago

Yup, I was just at this. The PR started before Nav2 was reasonably along for 24.04 but it is now and we've had the opportunity to test it with some simulation with Nav2 interaction this week from Ben. So, this is good to ship :+1:

SteveMacenski commented 1 month ago

Thanks @981213 for the PR and help! Sorry for the delay