-
Notifications
You must be signed in to change notification settings - Fork 656
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(autoware_pointcloud_preprocessor): redesign concatenate and time sync node #8300
base: main
Are you sure you want to change the base?
feat(autoware_pointcloud_preprocessor): redesign concatenate and time sync node #8300
Conversation
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #8300 +/- ##
==========================================
+ Coverage 29.49% 29.67% +0.18%
==========================================
Files 1443 1449 +6
Lines 108648 109065 +417
Branches 41537 41754 +217
==========================================
+ Hits 32044 32368 +324
- Misses 73484 73535 +51
- Partials 3120 3162 +42
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
@kminoda |
@vividf Thanks. Let me do that later |
sensing/autoware_pointcloud_preprocessor/schema/cocatenate_and_time_sync_node.schema.json
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/schema/cocatenate_and_time_sync_node.schema.json
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/schema/cocatenate_and_time_sync_node.schema.json
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/docs/concatenate-data.md
Outdated
Show resolved
Hide resolved
...include/autoware/pointcloud_preprocessor/concatenate_data/concatenate_and_time_sync_node.hpp
Outdated
Show resolved
Hide resolved
...include/autoware/pointcloud_preprocessor/concatenate_data/concatenate_and_time_sync_node.hpp
Outdated
Show resolved
Hide resolved
...include/autoware/pointcloud_preprocessor/concatenate_data/concatenate_and_time_sync_node.hpp
Outdated
Show resolved
Hide resolved
...include/autoware/pointcloud_preprocessor/concatenate_data/concatenate_and_time_sync_node.hpp
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/combine_cloud_handler.cpp
Outdated
Show resolved
Hide resolved
...ing/autoware_pointcloud_preprocessor/src/concatenate_data/concatenate_and_time_sync_node.cpp
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/cloud_collector.cpp
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/cloud_collector.cpp
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/cloud_collector.cpp
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/cloud_collector.cpp
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/cloud_collector.cpp
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/cloud_collector.cpp
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/combine_cloud_handler.cpp
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/combine_cloud_handler.cpp
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/combine_cloud_handler.cpp
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/combine_cloud_handler.cpp
Outdated
Show resolved
Hide resolved
sensing/autoware_pointcloud_preprocessor/src/concatenate_data/combine_cloud_handler.cpp
Outdated
Show resolved
Hide resolved
@vividf about the sample rosbag timestamps, @mojomex found an issue in Nebula that might have been causing that. |
@drwnz @vividf "input_topics": [
"/sensing/lidar/right/pointcloud_before_sync",
"/sensing/lidar/top/pointcloud_before_sync",
"/sensing/lidar/left/pointcloud_before_sync",
],
"output_frame": LaunchConfiguration("base_frame"),
"input_twist_topic_type": "twist",
"publish_synchronized_pointcloud": True,
"debug_mode": False,
"has_static_tf_only": False,
"rosbag_replay": False,
"rosbag_length": 20.0,
"maximum_queue_size": 5,
"timeout_sec": 0.2,
"is_motion_compensated": True,
"keep_input_frame_in_synchronized_pointcloud": True,
"publish_previous_but_late_pointcloud": False,
"synchronized_pointcloud_postfix": "pointcloud",
"lidar_timestamp_offsets": [0.0, 0.015, 0.016],
"lidar_timestamp_noise_window": [0.01, 0.01, 0.01], Here's the result, pointclouds of the same time span are concatted correctly and no concatenation was missed from what I can tell: concat.mp4 |
Signed-off-by: vividf <[email protected]>
@mojomex
|
Signed-off-by: vividf <[email protected]>
@YoshiRi @technolojin @badai-nguyen I noticed that Based on our previous discussion, the parameter configuration will likely look something like this:
|
Issue that needs to be solved after this PR is merged. |
Signed-off-by: vividf <[email protected]>
…hub.com:vividf/autoware.universe into feature/redesign_concatenate_and_time_sync_node
Signed-off-by: vividf <[email protected]>
…ate_and_time_sync_node
…hub.com:vividf/autoware.universe into feature/redesign_concatenate_and_time_sync_node
Signed-off-by: vividf <[email protected]>
Signed-off-by: vividf <[email protected]>
Signed-off-by: vividf <[email protected]>
Signed-off-by: vividf <[email protected]>
Description
This PR solved the issue #6832.
Previous designs have some issues concatenating the pointcloud correctly, therefore, this PR redesigns the logic of the concatenate node in order to handle the edge cases like pointcloud delay or pointcloud drop.
Changes
A more detailed description of the algorithm is on the Readme page.https://github.com/vividf/autoware.universe/blob/feature/redesign_concatenate_and_time_sync_node/sensing/autoware_pointcloud_preprocessor/docs/concatenate-data.md
Related links
Parent Issue:
How was this PR tested?
Unit test and Component test for concatenate node
Tested with sample rosbag
Please change the sample_sensor_kit_launch: autowarefoundation/sample_sensor_kit_launch#108
The result provided by @mojomex below #8300 (comment)
Tested with vehicle 1
data: TIER4_INTERNAL_LINK
modify the config file
concatenate_and_time_sync_node.param.yaml
Note
Tested with vehicle 2
data: TIER4_INTERNAL_LINK
modify the config file
concatenate_and_time_sync_node.param.yaml
Result
TIER4_INTERNAL_LINK
Time comparison (vehicle 1 bag)
From last arrived pointcloud to publish concatenate pointcloud (include publishing)
Before (move the toc to the beginning of the cloudcallback function)
Note that the huge latency is because a pointcloud is dropped.
After
By setting is_motion_compensated to false
Notes for reviewers
locking logic (mutex) might be an important part of double-checking :)
Interface changes
None.
Effects on system behavior
None.