RoME.jl
RoME.jl copied to clipboard
Looking for a simple, pure inertial motion estimation
Is there a way to get a simple, pure inertial motion estimation with RoME.jl o rrelated packages? Ultimate accuracy is not required as I want to use it for motion estimation between camera frames capture events, every 50ms with IMU data rate of 250Hz.
Hi @pauljurczak , yes and no answer -- yes those factors exist but we are not able to share them publicly just yet owing to license restrictions. We are working on getting those available but will still take a bit of time to get that legally sound. Wish we could make them immediately available. In the mean time we are working on integrating ApproxManifoldProducts.jl/IncrementalInference.jl/RoME.jl
with Manifolds.jl
so that 3D / IMU-derived (non-Gaussian/multimodal) beliefs, and their underlying mechanics, are standardized and performant -- the combination should be pretty good.
xref:
- #244
- also see here: https://github.com/JuliaManifolds/Manopt.jl/issues/24#issuecomment-627760644
Thank you for responding. In the meantime, do you know another Julia package or C++ library, which does pure inertial motion estimation? Everything I found so far fuses inertial with visual or other sensing modes.
Apologies for the slow reply. Perhaps the fastest thing to do is just make a new factor and embed an ODE solution of the classic inertial navigation solution (akin to preintegrating). This will provide similar or better numerical answers with a little computation slowdown -- it will, however, avoid licensing delays. I will build that for common purpose in the next month or two if I can get to it -- should be pretty straight forward.
Just an update on this, I'm busy adding ODERelative
as a new factor that can stand up generic ODE solutions (discrete and consuming sensor data) as a stand-in solution for this and other similar requirements. See JuliaRobotics/IncrementalInference.jl#1020 for ongoing progress. I want to write in a classic INS solution (dynamic bias estimating version) as well, which will be able to solve the problem described in this issue. The native inertial pre-integral (ie more computationally efficient) version will be made public as soon as licensing is sorted out.
see new on-manifold code for factors InertialDynamic
and IMUDeltaFactor
. These functions work in part either with parametric or nonparametric solving.
This new functionality supercedes previous questions such as:
- #641
Note that InertialPose3 may well be used in the future, but currently a new variable RotVelPos
is being used as a stand-in solution until all features are consolidated in common.
Next major milestone towards fully consolidated operations will be to complete
- JuliaRobotics/ApproxManifoldProducts.jl#41