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

Shim for translation of varaible types #274

Open
BrettRD opened this issue Jun 21, 2022 · 0 comments
Open

Shim for translation of varaible types #274

BrettRD opened this issue Jun 21, 2022 · 0 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@BrettRD
Copy link
Collaborator

BrettRD commented Jun 21, 2022

I'd like to discuss a feature concept so I can get it out of my head, and get on with the ROS2 port.
I'm working with Fuse and GTsam, and I keep seeing a limitation in the expression of state variables.

Constraints are a function that creates a vector of residuals,
Variables are data structures that hold a parametrisation of state variables.
Ceres is fed cost functions that take Variables' values directly, and an automatic derivative of the measurement characteristics as provided by the Constraint.
This means that if you want to change the nature of a Variable, you also need to rewrite all of your Constraints.

In a hypothetical deep refactor in the distant not-now, Would it be reasonable to modify the Variable so that it exposed measurable properties that are a function of its parametrisation instead of exposing the parameters directly?

This would allow a Constraint to be defined over, the distance between two 2d points at some as normal, but the Variable would be able to hold the control points of an interpolated trajectory and calculate a 2d point representing the location at the time of measurement, and have the relationship with the control points be fed through Ceres auto-differentiation with the rest of the Cost Function

Seeking discussion only, I don't intend to add this feature in a hurry

@BrettRD BrettRD added enhancement New feature or request question Further information is requested labels Jun 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Development

No branches or pull requests

1 participant