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

fix the coordinate transformation with odometry #58

Closed
wants to merge 1 commit into from

Conversation

EwingKang
Copy link

This is the same problem with request #55
There are several issue in the use of coordinate system in the original pose. At #55 @siega-k tries to fix the issue. Generally, he's correct if you follow the comment on the code. I've came to the same conclusion at my first attempt

Despite the problem is much more complicated than I've thought, the solution is actually very simple and elegant. Please see this visualization
Explaination: The ICP matcher requires the scan from the keyframe and the current scan. It will output the pose of current scan in the keyframe scan, namely "corr_ch_l". So, if we have odometry, we would need to provide a prediction of the "corr_ch_l". Since "corr_ch_l" is attached to the laser_frame, we would need a vector pointing from the laser_frame@keyframe to laser_frame@now.

The original code mistakenly think tf1 * tf_something * tf1.inverse() would be the transformation of coordinate system, i.e. switch of basis. However, this actually accidentally gives the proper transition of the output "corr_ch_l". ( step3 of my visualization ). But is in fact incorrect.

P.s. All my calculation process is recorded here

@ubuntuslave
Copy link
Collaborator

@EwingKang Thanks for the sketch, but it’s hard to see (illegible) due to the image compression settings used in the upload. Can you attach a better resolution image here in github?

Use the correct method and coordinate systme to find the prediction pose for scan matcer sm_icp()
Improve comments to further clarify the tf relationship.
@EwingKang
Copy link
Author

EwingKang commented Mar 6, 2018

@ubuntuslave
For https://imgur.com/v6jWFfK you can enlarge the image on the imgur website by single/double click the picture. I have no problem reading anything on it, can you take a screenshot or something to show me the problem?

edit: for upper-left, it is "b2l: base_to_laser", and for the right edge, nothing is left out except some ")" is cut.

@130s
Copy link
Collaborator

130s commented Jul 21, 2022

Closing as #79 seems to be meant to address the same issue. If it doesn't, please feel free to add more info.

@130s 130s closed this Jul 21, 2022
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

Successfully merging this pull request may close these issues.

3 participants