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

关于修正状态更新的问题 #50

Open
HeXu1 opened this issue Nov 3, 2023 · 1 comment
Open

关于修正状态更新的问题 #50

HeXu1 opened this issue Nov 3, 2023 · 1 comment

Comments

@HeXu1
Copy link

HeXu1 commented Nov 3, 2023

你好 感谢贵团队开源这么优秀的框架
我有一个关于修正状态更新的问题:为什么在迭代更新状态时平移的更新没有乘以误差的旋转,有什么理论依据可以参考么?
类似代码如下(摘自balmclass.hpp void damping_iter()):
so3_temp = SO3::exp(dxi.block<3, 1>(0, 0)) * so3_pose;
t_temp = t_pose + dxi.block<3, 1>(3, 0);
我的理解是这里的 t_temp =SO3::exp(dxi.block<3, 1>(0, 0)) * t_pose + dxi.block<3, 1>(3, 0);
但是我这么改了结果又不是很好。
期待回复,再次感谢!

@Zale-Liu
Copy link
Member

You can see the left update in the paper. [dR & dp // 0 & 1 ] * [R & p // 0 & 1] = [dR * R & dR * p + dp // 0 & 1]. It is the update in SE3. You can use the right update in the source code. Its update is similar to yours. R = R * dR; p = p + dp;
rightupdate

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

2 participants