Open qpc001 opened 10 months ago
It is very hard to understand your question, could you refer the lines of the code you read and drive it from there?
Also, your second eq doesn't seem right - R_3D.transpose() * (R_3D.transpose()*v*dt)
the reference frame should match. I.e., cannot multiply the same rotation matrix R_3D.transpose() * R_3D.transpose()
.
It is very hard to understand your question, could you refer the lines of the code you read and drive it from there? Also, your second eq doesn't seem right -
R_3D.transpose() * (R_3D.transpose()*v*dt)
the reference frame should match. I.e., cannot multiply the same rotation matrixR_3D.transpose() * R_3D.transpose()
.很难理解你的问题,你能参考你读到的代码行并从那里驱动它吗? 此外,你的第二个eq似乎不正确-
R_3D.transpose() * (R_3D.transpose()*v*dt)
参考框架应该匹配。也就是说,不能乘以相同的旋转矩阵R_3D.transpose() * R_3D.transpose()
。
But the original code in https://github.com/rpng/MINS/blob/bd115706ec2e617b584f0d1aa7c6e2f775817939/mins/src/update/wheel/UpdaterWheel.cpp#L764 is equal to Phi_tr.block(3, 0, 3, 3) = -R_3D.transpose() * skew_x(R_3D.transpose() * (R_3D.transpose()*v*dt));
, if new_p= p_3D + R_3D.transpose()*v*dt
in this line:
I think
new_p
is equal to(p_3D + R_3D.transpose()*v*dt)
, then the line comes to:But it seems that the final result should be:
So I think the origin line should be the following code:
Just remove the
.transpose()