-
Notifications
You must be signed in to change notification settings - Fork 116
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
How could depth residual Jacobian Matrix be simple like that? #58
Comments
In principle, the derivation of the Jacobians was mostly done with the provided Python script The script operates on the following form of the residual (as written in a comment in the script), with
The notation on the SE(3) transformations is With the above form of the residual, the multiplication with As a result, the global_R_frame rotation is on the surfel normal instead of on the expression Looking at it in another way, the expressions in the Jacobian computation code should be equivalent as well. For example, consider the first entry of the "New version" residual:
Here, |
Thank you so much for your explicit explanation and sorry for havn't been able to respond immediately. I am not very familiar with python, but I will figure out how these scripts work soon. Thank you again for your help, it really helped me a lot ! |
And I tried with sympy version 1.3 it worked without NaN values. You are right on the reason of script broken! |
Hello, I am a student studying SLAM and I want to do some further research on your great work. Thank you for your open source code. I read your code carefully and don't understand the depth residual Jacobian part. In your code the depth residual Jacobian is in a very simple format, while I tried to do some mathematical derivation myself, but can't get the equation in your code. Would you please give me some advice or some reference? I noticed that in your code it says “Simplified form of the new version above by rotating all the vectors into the local frame (which does not change the values of the dot products), i.e., multiplying by frame_tr_global from the left side", but I don't really understand it.
The text was updated successfully, but these errors were encountered: