-
Notifications
You must be signed in to change notification settings - Fork 16
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(update): update lidar pointcloud interface and concatenate pointcloud filter #215
feat(update): update lidar pointcloud interface and concatenate pointcloud filter #215
Conversation
Signed-off-by: yoshiri <[email protected]>
Signed-off-by: yoshiri <[email protected]>
Signed-off-by: yoshiri <[email protected]>
Signed-off-by: yoshiri <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
cc. @s-azumi
@yukkysaito @YoshiRi |
@tkimura4 現状すぐにマージが必要なものではないですがinterfaceの変更なのである程度実機で確認できる時に入れたいです。xx1側には特に影響がないと思っているので次のマイナーリリースあたりでいれる、でも良いですか? |
@shmpwk |
Co-authored-by: badai nguyen <[email protected]>
X2ベンチでBugfixと動作を確認しパフォーマンス的にも問題なさそうなのを確認。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
aip_launcher/aip_x2_launch/launch/pandar_node_container.launch.py Lines 220 to 227 in 714db94
output of dual_return_filter is also needed to change to pointcloud_before_sync
|
Signed-off-by: yoshiri <[email protected]>
@badai-nguyen Do we need to add additional sync parameters to x2 concatenate filter? |
@YoshiRi did you mean to compensate the difference in |
@shmpwk 最大の懸念であったX2環境での確認が終わったので一旦これをmergeして、xx1やx2の各versionにhotfixしたい場合についてはそのMerge PRを適宜cherry-pickをするような方針にしようかと考えていますがやり方に違和感ありますでしょうか? |
Since current dual_return_outlier_filter is enable for the Ieft_upper lidar which is the first comming topic so even dual_return_filter is a litte bit slower than ring_outlier_filter, I think it should be come during timeout_sec, as until now. |
cc @0x126 @TomohitoAndo |
@YoshiRi |
merged |
…cloud filter (#215) * feat: update common nebula container Signed-off-by: yoshiri <[email protected]> * feat: fix xx1 pointcloud preprocessor launch Signed-off-by: yoshiri <[email protected]> * feat: update x1 launcher to use new interface Signed-off-by: yoshiri <[email protected]> * feat: update x2 launcher Signed-off-by: yoshiri <[email protected]> * Update aip_x2_launch/launch/pandar_node_container.launch.py Co-authored-by: badai nguyen <[email protected]> * fix: fix x2 topics disconnection Signed-off-by: yoshiri <[email protected]> --------- Signed-off-by: yoshiri <[email protected]> Co-authored-by: badai nguyen <[email protected]>
… cloud filter (#215) (#241) feat(update): update lidar pointcloud interface and concatenate pointcloud filter (#215) * feat: update common nebula container * feat: fix xx1 pointcloud preprocessor launch * feat: update x1 launcher to use new interface * feat: update x2 launcher * Update aip_x2_launch/launch/pandar_node_container.launch.py * fix: fix x2 topics disconnection --------- Signed-off-by: yoshiri <[email protected]> Co-authored-by: Yoshi Ri <[email protected]>
PRの目的
Interface change discussion:
https://github.com/orgs/autowarefoundation/discussions/4158
下記の変更を執り行います。
<lidar>/pointcloud
のtopicの発行元を点群のconcatenateの直前からsyncした途中の点に変更背景
各lidarセンサの点群から今まで出力されていた点群の座標系は
base_link
になっていたため、点群メッセージを見てもどこのframeから発生した点群なのかの情報を後段のノードが知る由がありませんでした。また、実際にconcat時に使われている点群は時刻同期処理をした後の点群であるため、「生点群」とconcatやそれ以降の処理点群との対応が取れないのも一部のノードで問題になったためinterfaceの変更を提案し執り行うことにしました。
影響
interfaceの利用者
localizationモジュールが主にこのinterfaceの利用者でした。syncを待つことによりlocalizationが利用できる点群の出力タイミングが微小に遅れることには留意してください。
一応、今後はconcat後の点群を使うようにする方針になったため本PRのlocalizationへの直接の影響は将来的には解消される予定です。
https://github.com/orgs/autowarefoundation/discussions/4172
処理負荷や遅延
今回の変更により点群の座標変換の処理が2回余計に追加され、中間topicが増えるので一部計算リソースがカツカツなprojectでは影響がある可能性があります。
ただ、社内のX2ベンチにて計算遅延を測ったときは影響は軽微でした。
autowarefoundation/sample_sensor_kit_launch#90
PRの分割について
aip_launcherの中身を見た結果、
xx1とx1, x2への影響はそれぞれのlauncherにて閉じているので上記の影響の調査にて別々のprojecに別々にpushすることは可能です。