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

question about the measurementH of VO #5

Open
SkyPigZhu opened this issue Aug 20, 2021 · 13 comments
Open

question about the measurementH of VO #5

SkyPigZhu opened this issue Aug 20, 2021 · 13 comments

Comments

@SkyPigZhu
Copy link

I see code "Eigen::Quaterniond q1(vo_q.toRotationMatrix() * Tcb.linear());"
Is not the same as the formula in your article

@cggos
Copy link
Owner

cggos commented Aug 25, 2021

@SkyPigZhu the formula of the measurement Jacobian in code measurementH() is defined as -r(x)/delta X while the form of h(x)/delta X is defined in my article.

@SkyPigZhu
Copy link
Author

ok, thanks , and I find that if the measurement is not very accurate(such as the position has a average error of 15 mm , angle error is 5-6degree), the eskf system's perfoemance is not very good , the corrected vel is not accurate , and the corrected positoion will be volatility, can give some suggestions about the problem?

@SkyPigZhu
Copy link
Author

Eigen::Quaterniond q1(vo_q.toRotationMatrix() * Tcb.linear());
Eigen::Matrix4d m4 = quat_left_matrix((q2 * q0).normalized()) * quat_right_matrix(q1.conjugate());

why the code is q1 = vo_q.toRotationMatrix() * Tcb.linear() ,but thr formula in article is q1= cb.linear()?

@cggos
Copy link
Owner

cggos commented Aug 30, 2021

Eigen::Quaterniond q1(vo_q.toRotationMatrix() * Tcb.linear());
Eigen::Matrix4d m4 = quat_left_matrix((q2 * q0).normalized()) * quat_right_matrix(q1.conjugate());

why the code is q1 = vo_q.toRotationMatrix() * Tcb.linear() ,but thr formula in article is q1= cb.linear()?

the formula of the measurement Jacobian in code measurementH() is defined as -r(x)/delta X while the form of h(x)/delta X is defined in my article.

the definition of measurement residual and Jacobian matrix in the code is as below:

522466259

1046787145

@cggos
Copy link
Owner

cggos commented Aug 30, 2021

ok, thanks , and I find that if the measurement is not very accurate(such as the position has a average error of 15 mm , angle error is 5-6degree), the eskf system's perfoemance is not very good , the corrected vel is not accurate , and the corrected positoion will be volatility, can give some suggestions about the problem?

@SkyPigZhu it is a demo project that i wrote to study and practice sensor fusion algrithms, and it is not accuracy and robust in some cases. you can optimize it and fork and pull request.

@cggos cggos changed the title question about the measurementH question about the measurementH of VO Aug 30, 2021
@zzhh00
Copy link

zzhh00 commented Sep 27, 2021

@cggos Thanks for your codes. Besides what is the meaning of the subscript bn in the measurement function h(x)?

@cggos
Copy link
Owner

cggos commented Sep 28, 2021

@cggos Thanks for your codes. Besides what is the meaning of the subscript bn in the measurement function h(x)?

@zzhh00 the Bn is the IMU coordinate of the nth frame

@cggos
Copy link
Owner

cggos commented Sep 28, 2021

@zzhh00
Copy link

zzhh00 commented Oct 9, 2021

@cggos Are you sure it is bn instead of bm?

@cggos
Copy link
Owner

cggos commented Oct 9, 2021

@cggos Are you sure it is bn instead of bm?

@zzhh00 you can reference the sketch below which the code based on or the presentation/publication in ResearchGate

MSF-2

@zzhh00
Copy link

zzhh00 commented Oct 9, 2021

@cggos Thanks for your reply. However why the measurement is not Tc0cm? As your formula, the measurement is Tc0cm*Tcmcn=Tc0cn. It is obvious that cm refers to the measurement frame from camera. We get the Tcmcn through imu, why we use the value of imu in the measurement function?

@cggos
Copy link
Owner

cggos commented Oct 9, 2021

@zzhh00

  • the timestamp m is the moment when the imu is initialized
  • the Tc0cm refers to the measurement in camera frame, and we need to transform it to IMU frame, or not we cannot get the measurement jacobian matrix H

@zzhh00
Copy link

zzhh00 commented Oct 9, 2021

@cggos Thank you.

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

No branches or pull requests

3 participants