Skip to content

[WIP] CT-GP-Factors #2392

Draft
holmesco wants to merge 113 commits intoborglab:developfrom
utiasASRL:develop
Draft

[WIP] CT-GP-Factors #2392
holmesco wants to merge 113 commits intoborglab:developfrom
utiasASRL:develop

Conversation

@holmesco
Copy link

@holmesco holmesco commented Feb 6, 2026

Draft PR for full Continuous-Time, Gaussian-Process Factors dev branch for GTSAM

holmesco and others added 30 commits July 18, 2025 13:26
Squashed commit of the following:

commit b8db3e4
Author: newtype51 <connor.holmes@mail.utoronto.ca>
Date:   Fri Jul 18 13:17:33 2025 -0400

    Added optimization test for WNOA Factor. Integrated WNOA into Lost in the woods example.

commit b6570f4
Author: newtype51 <connor.holmes@mail.utoronto.ca>
Date:   Thu Jul 17 23:56:16 2025 -0400

    WNOA optimization tests passing for SE2 and SE3. Moved all code into header file.

commit 7f62e0e
Author: newtype51 <connor.holmes@mail.utoronto.ca>
Date:   Thu Jul 17 20:18:18 2025 -0400

    Converted WNOA factors to version that splits up the velocity and pose states into separate variables. Also implemented templated version. Tests passing except optimization test.

commit 481d2d3
Author: newtype51 <connor.holmes@mail.utoronto.ca>
Date:   Mon Jul 14 19:57:39 2025 -0400

    Implemented and tested Jacobians for WNOA model.

commit 3db0d86
Author: newtype51 <connor.holmes@mail.utoronto.ca>
Date:   Sun Jul 13 20:13:36 2025 -0400

    WNOA has testable trait. Added test cases for factor error eval.

commit a7a0fc3
Author: newtype51 <connor.holmes@mail.utoronto.ca>
Date:   Sat Jul 5 19:09:59 2025 -0400

    Started building WNOA motion model factor and unittests.

commit 24af876
Author: newtype51 <connor.holmes@mail.utoronto.ca>
Date:   Thu Jun 19 20:36:28 2025 -0400

    Assignment 2 now converging with bearing range measurements, even when init from odom.

commit 7910855
Author: Connor Holmes <connor.holmes@mail.utoronto.ca>
Date:   Thu Jun 19 16:20:13 2025 -0400

    Implementing bearing and range measurements. Expression working but optimization blows up.

commit ffebeae
Author: Connor Holmes <connor.holmes@mail.utoronto.ca>
Date:   Wed Jun 18 15:24:43 2025 -0400

    assmt 2 with odometry-only working

commit 6b48451
Author: Connor Holmes <connor.holmes@mail.utoronto.ca>
Date:   Tue Jun 17 20:19:01 2025 -0400

    Import assigment 2 data and start making factor graph

commit 3643a3c
Author: newtype51 <connor.holmes@mail.utoronto.ca>
Date:   Mon Jun 16 17:25:05 2025 -0400

    can store results and reproduce plots with python for 2d case, but something seems wrong with the covariance scaling

commit 14a52ec
Author: newtype51 <connor.holmes@mail.utoronto.ca>
Date:   Fri Jun 13 19:10:47 2025 -0400

    set up dev container
- Changed Qc to a vector
- Implemented new Point1 Manifold
- Renamed WNOAFactors.h to WNAOFactor.h for consistency
- Minor changes to plotting script (removed absolute path)
- Point1 Manifold
- Giant-Glass-Of-Milk dataset
…ng (required yaml-cpp install). Added gt trajectory to plots.
Created evaluable class for bearing-range 2d meas and wrote test functions for this class.
Updated plotting so that it generates STEAM/GTSAM comparison plots.
resolved conflicts in WNOAFactor.h. Tested that it still works
…ses/velocities - used a new way to get the required blocks from JointMarginal
Refactored Interpolator. Covariance interpolation is working.
Allow for extrapolating in Interpolator
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 33 out of 38 changed files in this pull request and generated 3 comments.


// add WNOA factor
graph.add(WNOAMotionFactor<Pose2>(P(0), V(0), P(1), V(1), timestep, Q_se2));
// Set up initial geuss
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment spelling "geuss" should be corrected to "guess".

Copilot uses AI. Check for mistakes.

// add WNOA factor
graph.add(WNOAMotionFactor<Pose3>(P(0), V(0), P(1), V(1), timestep, Q_se3));
// Set up initial geuss
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment spelling "geuss" should be corrected to "guess".

Copilot uses AI. Check for mistakes.

// add WNOA factor
graph.add(WNOAMotionFactor<Pose3>(P(0), V(0), P(1), V(1), timestep, Q_se3));
// Set up initial geuss
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment spelling "geuss" should be corrected to "guess".

Copilot uses AI. Check for mistakes.
holmesco and others added 25 commits February 10, 2026 18:40
…is is important for interpolation and Jacobian chain rules)
…ly added details on what data we precomputed and how we can save on compute by exploiting shared variables
Remove dead code from Interpolator test
Remove small_angle functions (missed)
Move WNOA factor graph constructor into cpp file.
Code Clean-up: Adding comments and deleting dead code
…rdered map to store values for robust and deterministic accessing
@dellaert
Copy link
Member

dellaert commented Feb 22, 2026

I kicked off CI again. What's the status on this one?
Let me know when you need a detailed review from me rather than co-pilot/CI :-)

@dellaert
Copy link
Member

PS I use VS code "Code Spell Checker", and rigorously hunt down "blue flags", either fixing or adding to whitelist. But rmember: abbreviations are discouraged, and camelCase is the norm :-)

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.

5 participants