Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update for Ceres 2.2 and Ubuntu Noble #115

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

schornakj
Copy link
Contributor

Hello!

I'm using this project on Ubuntu 24.04, which requires at least Ceres 2.2. These are the changes I needed to add to get the non-ROS part of this repo building (I'm using ROS 2 Jazzy so I haven't looked at the ROS 1 packages in this repo yet to see if they need to change).

  • Update uses of some Ceres functions that already were deprecated or soon will be:
    • IsNaN -> isnan
    • GetParameterization -> GetManifold
  • The minimum C++ version needs to be updated to C++17.

This raises a repo version management question: how should we handle changes that break compatibility with older OS versions? In other projects I've used different branches for each target platform (focal, noble, etc.). In contrast I think Tesseract just drops support for older platforms as the tagged release advances.

@marip8
Copy link
Collaborator

marip8 commented Sep 26, 2024

This raises a repo version management question: how should we handle changes that break compatibility with older OS versions?

Dropping support is one option, but not preferred if we can help it somewhat easily. What I did in industrial_calibration was add a preprocessor check for the version of Ceres, and I was able to fairly easily support focal, jammy, and noble.

On that note, I would recommend checking out the updated version of industrial_calibration instead of this repository. I've migrated all of the contents of RCT to industrial_calibration now, reorganized a bit for improved modularity, added GUIs for extrinsic hand-eye and intrinsic calibration, and added ROS-enabled data collection pipelines/utilties in separate industrial_calibration_ros<1|2> repos. I think it's in a better state than RCT at this point, and I would like to sunset development on RCT in favor of industrial_calibration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants