-
Notifications
You must be signed in to change notification settings - Fork 676
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
Incorrect transform direction used when calculating gnss_base_link in package gnss_poser #3640
Comments
@meliketanrikulu Thank you for the report! |
I guess they are refering to this snippet: autoware.universe/sensing/gnss_poser/src/gnss_poser_core.cpp Lines 116 to 124 in f945c01
|
Yes . Thank you for explaining @VRichardJP . The function returns base_link -> gnss_link transform. But I think it should be the other way ( gnss -> base_link ) around |
@YamatoAndo could you check this issue |
This pull request has been automatically marked as stale because it has not had recent activity. |
@meliketanrikulu May I close this issue? |
Of course. Sorry i forgot to close issue |
Hello @YamatoAndo, @kminoda, @meliketanrikulu, I would like to reopen this issue because I think PR #5033 introduced the problem it claimed to solve. The direction of the transform was correct before #5033 and incorrect after. We noticed this bug when our RTK-DGNSS-equipped vehicle recently started having a height offset of around 80 cm between the This can be seen in the image below. The map->base_link transformation from the The In this case, we intend to use the transform between the frames, so we should use the inverse of what lookupTransform gives us. This was the case before PR # 5033, so I propose to revert it. |
Reopened after a request from @FranzAlbers in #6392. |
Thank you for the bug report! I have tested with the autoware tutorial's rosbag. With #5033
Without #5033
If we focus on the height values, the gnss_link should be 1.813 lower than the base_link, |
Hello, I've been out of the office for a while. I'm sorry for the late reply . When I checked as you said, I saw that there was a change that was not correct. Since GNSS/INS sensor data was received on base_link in our vehicle setup, I could not observe this error before. Thank you for reporting the bug. @FranzAlbers . Thanks for the PR and correction. @YamatoAndo . I think we can close this issue. |
Checklist
Description
In gnss poser, gnss_base_link is found by using the gnss data and transform between gnss to base-link. The following transforms are expected to be multiplied, respectively. gnss_pose * gnss_to_base_link. However, in the package, the multiplication is done as gnss_pose * base_link_to_gnss.
Here the function to make transforms is called. And this line contains transform from base_link to gnss using lookup transform. But I think the exact source and target frame should be swapped. Source frame should be gnss target frame base_link
Expected behavior
When we give the orientation and position of the gnss to the sensor_kit, we expect the gnss_base_link to appear in the correct rotation
Actual behavior
We were able to obtain the correct result when we gave inverse while giving the rotation of gnss according to sensor_kit_base_link in sensor_kit.
Steps to reproduce
Since roll pitch yaw values for gnss in sample sensor kit are 0 0 0, we do not encounter this error in autoware demos.
Versions
No response
Possible causes
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: