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

feat(update): update lidar pointcloud interface and concatenate pointcloud filter #215

Merged

Conversation

YoshiRi
Copy link
Contributor

@YoshiRi YoshiRi commented Mar 4, 2024

PRの目的

Interface change discussion:
https://github.com/orgs/autowarefoundation/discussions/4158

下記の変更を執り行います。

  • lidarの出力フレームをsensorのフレームに変更
  • <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することは可能です。

image

@YoshiRi YoshiRi requested review from kminoda, tkimura4, 0x126, yukkysaito and soblin and removed request for kminoda March 4, 2024 10:02
tkimura4
tkimura4 previously approved these changes Mar 21, 2024
Copy link
Contributor

@tkimura4 tkimura4 left a 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

@tkimura4
Copy link
Contributor

@yukkysaito @YoshiRi
これってどういうステータスでしたっけ…?
現状でもマージ必須なものですか?

@YoshiRi
Copy link
Contributor Author

YoshiRi commented Apr 21, 2024

@tkimura4 現状すぐにマージが必要なものではないですがinterfaceの変更なのである程度実機で確認できる時に入れたいです。xx1側には特に影響がないと思っているので次のマイナーリリースあたりでいれる、でも良いですか?

@tkimura4
Copy link
Contributor

次のマイナーリリースあたりでいれる

@shmpwk
どうでしょう?

@shmpwk
Copy link
Contributor

shmpwk commented Apr 23, 2024

@tkimura4 @YoshiRi
今リリーステスト中のbeta/v0.45.0.0に入れてしまって良いと思います!

@YoshiRi
Copy link
Contributor Author

YoshiRi commented May 13, 2024

X2ベンチでBugfixと動作を確認しパフォーマンス的にも問題なさそうなのを確認。

badai-nguyen
badai-nguyen previously approved these changes May 13, 2024
Copy link
Contributor

@badai-nguyen badai-nguyen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@badai-nguyen
Copy link
Contributor

badai-nguyen commented May 13, 2024

@YoshiRi

dual_return_filter_component = ComposableNode(
package="pointcloud_preprocessor",
plugin="pointcloud_preprocessor::DualReturnOutlierFilterComponent",
name="dual_return_filter",
remappings=[
("input", "rectified/pointcloud_ex"),
("output", "pointcloud"),
],

output of dual_return_filter is also needed to change to pointcloud_before_sync

@YoshiRi
Copy link
Contributor Author

YoshiRi commented May 13, 2024

@YoshiRi

dual_return_filter_component = ComposableNode(
package="pointcloud_preprocessor",
plugin="pointcloud_preprocessor::DualReturnOutlierFilterComponent",
name="dual_return_filter",
remappings=[
("input", "rectified/pointcloud_ex"),
("output", "pointcloud"),
],

output of dual_return_filter is also needed to change to pointcloud_before_sync

@badai-nguyen
Fixed in c67add3.

Do we need to add additional sync parameters to x2 concatenate filter?

@badai-nguyen
Copy link
Contributor

badai-nguyen commented May 13, 2024

Do we need to add additional sync parameters to x2 concatenate filter?

@YoshiRi did you mean to compensate the difference in procesing_time between ring_outlier_filter and dual_return_outlier_filter?

@YoshiRi
Copy link
Contributor Author

YoshiRi commented May 13, 2024

@shmpwk 最大の懸念であったX2環境での確認が終わったので一旦これをmergeして、xx1やx2の各versionにhotfixしたい場合についてはそのMerge PRを適宜cherry-pickをするような方針にしようかと考えていますがやり方に違和感ありますでしょうか?

@badai-nguyen
Copy link
Contributor

Do we need to add additional sync parameters to x2 concatenate filter?

@YoshiRi did you mean to compensate the difference in procesing_time between ring_outlier_filter and dual_return_outlier_filter?

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.

@badai-nguyen
Copy link
Contributor

badai-nguyen commented May 13, 2024

@shmpwk 最大の懸念であったX2環境での確認が終わったので一旦これをmergeして、xx1やx2の各versionにhotfixしたい場合についてはそのMerge PRを適宜cherry-pickをするような方針にしようかと考えていますがやり方に違和感ありますでしょうか?

cc @0x126 @TomohitoAndo
https://tier4.atlassian.net/browse/RT1-5185
向けにもbeta/V3.0.0入れておきますので、このPRをマージできたら https://github.com/tier4/aip_launcher/tree/beta/x2/v3.0.0 にCherry-pickで入れるいう形でしょうか?

@shmpwk
Copy link
Contributor

shmpwk commented May 13, 2024

@YoshiRi
Merge問題ないです!

@YoshiRi YoshiRi merged commit 4eb3378 into tier4/universe May 13, 2024
8 of 10 checks passed
@YoshiRi YoshiRi deleted the feat/update_lidar_launcher_for_interface_change branch May 13, 2024 12:18
@YoshiRi
Copy link
Contributor Author

YoshiRi commented May 13, 2024

merged

badai-nguyen added a commit that referenced this pull request May 17, 2024
…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]>
0x126 pushed a commit that referenced this pull request May 17, 2024
… 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]>
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.

4 participants