Giter Club home page Giter Club logo

Comments (5)

chengwei0427 avatar chengwei0427 commented on June 8, 2024

Here is my formula derivation proces about jacobian_i.block<3, 3>(0, 0) and and jacobian_j.block<3, 3>(0, 0),Please point out if there is any error.
image
image

jacobian_i.block<3, 3>(0, 12) :I haven't been able to derive the formula yet!

from ssl_slam3.

chengwei0427 avatar chengwei0427 commented on June 8, 2024

jacobian_i.block<3, 3>(0, 12)

image

from ssl_slam3.

wh200720041 avatar wh200720041 commented on June 8, 2024

Hi @chengwei0427
Thanks for posting questions here.

for the derivation of lie algebra, I would like to recommend this website, which has all SLAM maths included (note that there are some typo mistakes)
http://www.mathsword.com/category/slam/

In summary, you question is how to derive the formula for log(R1 * R * R2)/x, where Exp(x)=R, let delta_x be a small perturbation,
thus derivate of log(R1 * R * R2)/x is {log(R1 * R * Exp(delta_x) * R2) - log(R1 * R * R2)}/delta_x

we know that for any rotation matrix R0, we have R0 * Exp(delta_x) * R0' = Exp(R0 * delta_x)
Hence, log(R1 * R * Exp(delta_x) * R2) = log(R1 * R * R2 * Exp(R2' * delta_x))
we know that when delta_x is a small number, log(Exp(x) * Exp(delta_x)) ~= x + Jr^-1(x) * delta_x
Thus we have
{log(R1 * R * Exp(delta_x) * R2) - log(R1 * R * R2)} /delta_x
= {log(R1 * R * R2 * Exp(R2' * delta_x)) - log(R1 * R * R2) }/delta_x
= {log(R1 * R * R2) + Jr^-1(R1R R2) *delta_x - log(R1 * R * R2) }/delta_x
= Jr^-1(R1 * R * R2)

from ssl_slam3.

chengwei0427 avatar chengwei0427 commented on June 8, 2024

Hi, @wh200720041
Thanks for your patient reply.

I have another question about the IMU propagate process in imuPreintegrationClass.cpp.

As the comment in the propagate function, the q p v can compute as follows:

 // q = q * Exp{(gyr-bg)*t}   
// p = p + v * t + 0.25 * q * acc0 * t^2 + 0.25 * q * Exp{(gyr-bg)*t} * acc1 * t^2
 // v = v + 0.5 * q * acc0 * t + 0.5 * q * Exp{(gyr-bg)*t} * acc1 * t

But I cannot unstand how to derivation the F and V, it's inconsistent with the derivation in vins-mono or fast-lio? Can you give me some hints (related papers, theories)?

from ssl_slam3.

chengwei0427 avatar chengwei0427 commented on June 8, 2024

Hi, @wh200720041

I cannot unstand the derivation F and V;

The bellow picture is the Jacobi in 简明ESKF
23b15441de44d524f816730e2bbef8f

The jacobi about theta to delta_theta is exp(-(w_m-b_g)dt), and in your code, the jacobi is F.block<3, 3>(0, 0) = A_inv * (Eigen::Matrix3d::Identity() - 0.5 * gyr0_skew * dt);, I am confused how to derivate it.

One way to deal with it is :

exp(-(gyr0+gyr1)/2*dt)
=exp(-0.5*gyr0*dt+(-0.5*gry1*dt))
= exp(-0.5*gyr0)exp(J_r(exp(-0.5*gyr0*dt))(-0.5*gyr1))   -- BCH
=exp(0.5*gyr1*dt)^(-1)exp(-0.5*gyr0*dt)  --- J_r(exp(-0.5*gyr0*dt))=I , if exp(-0.5*gyr0*dt)--->0

But I donot know if it is right?

Can you give me some suggest?

from ssl_slam3.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.