-
Notifications
You must be signed in to change notification settings - Fork 662
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
feat(pointcloud_preprocessor): support 3d distortion corrector for distortion corrector node #7031
feat(pointcloud_preprocessor): support 3d distortion corrector for distortion corrector node #7031
Conversation
Signed-off-by: vividf <[email protected]>
@meliketanrikulu (cc @xmfcx ) |
/review |
PR Review 🔍
Code feedback:
|
@vividf could you check this review |
Hello @vividf . I tested PR and I saw same results so I shared same videos and images. |
@meliketanrikulu Also, usually the angular velocity from IMU (x, y, z) will replace the twist angular velocity. Could you test it with the normal input and see if it still solve the problem? |
Correct. I tested again with |
|
@vividf . I see that you changed your code according to this review. However, there is no parameter file for the other parameters in this node and they are initialized in the code. There is no config file created for this package. A new issue may be created for this in the future. However, depending on the current structure, I recommend that you enter the default value here as before. Because in this way the parameter value will not be set at all. Can you revert this change. We talked about this with @xmfcx and he approved it. |
I am concerned a little about
Can you run experiments on a whole bag of XX1 and X2? (recording the processing times. or even better, oprofile/gperf/pef reports) |
Signed-off-by: vividf <[email protected]>
@meliketanrikulu |
@knzo25 |
sensing/pointcloud_preprocessor/src/distortion_corrector/distortion_corrector.cpp
Show resolved
Hide resolved
To all the reviewers, As the new feature makes the node more complicated to understand and there are some redundant variables that might not be used for the 2D method, I create new PR (#7137) that refactors the whole distortion correction node. |
@vividf |
I will close this PR to avoid duplicated reviews. |
Description
This PR solved the issue #6657.
This PR provides an option for the user to choose a 3d distortion corrector instead of using the current 2d distortion corrector.
Note that by using this, the time will increase around 50 percent.
Related links
#6657
Tests performed
Time comparison
Input: mirrored pointcloud (58 frames)
distortion corrector: 2d
Before the PR
After the PR
Input: mirror pointcloud (58 frames)
distortion corrector: 3d
After the PR
Pointcloud comparison
@meliketanrikulu
Checked distortion corrector input point cloud and output point cloud for understanding difference coming with this PR. I did this test by viewing the moments when it passed through speed bumps.
Before this PR:
We can see here pc which is output of the distortion corrector does not changes in direction z
After this PR:
We can see here pc which is output of the distortion corrector is changes in direction z.
After seeing this change, I tested it with ground segmentation to see if it provided an improvement.
Test with Ground Segmentation:
You can see below that ground segmentation adds ground points to non-ground points when passing through speed bump before the changes occur.
Before 3d distortion corrector (ground segmentation test) Video link is here
I observed that this error did not occur after checkout the 3d distortion corrector branch.
After 3d distortion corrector (ground segmentation test) Video link is here
Notes for reviewers
Interface changes
ROS Topic Changes
ROS Parameter Changes
Effects on system behavior
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.
In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.