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

Feature/ground segmentation #78

Merged
merged 5 commits into from
Nov 14, 2023
Merged

Feature/ground segmentation #78

merged 5 commits into from
Nov 14, 2023

Conversation

Alpaca-zip
Copy link
Contributor

@Alpaca-zip Alpaca-zip commented Nov 12, 2023

PR Type

  • Feature
  • Bug fix
  • Refactor
  • Documentation
  • Other

Overview

  • 点群から地面を消去するlinefit_ground_segmentation_rosを追加します。

Detail

Test

  • gazebo環境で動作確認。
  • 実機環境で動作確認。

実機での動作検証では、以下の箇所を、
https://github.com/KBKN-Autonomous-Robotics-Lab/orange_ros2_docker/blob/d172002bcd26aab4a6fa8638320f0d89e41be7c8/Dockerfile#L113

下記のように変更してビルドし直す必要があります。

RUN git clone -b feature/ground_segmentation https://github.com/KBKN-Autonomous-Robotics-Lab/orange_ros2.git && \

Attention

  • linefit_ground_segmentation_rosは3D LiDARの点群の中から地面の点群を分離するものであり、2D LiDAR用ではないので注意してください。
  • Fix/ros2 build param issues linefit_ground_segmentation_ros2#1 をマージしてからこちらの動作確認及びマージをお願い致します。

@Alpaca-zip Alpaca-zip self-assigned this Nov 12, 2023
@Alpaca-zip Alpaca-zip added the enhancement New feature or request label Nov 12, 2023
@Alpaca-zip Alpaca-zip marked this pull request as ready for review November 12, 2023 11:45
@shunki1006
Copy link
Contributor

ご対応ありがとうございます.
明日, 以下PRと共に実機動作確認いたします.
(KBKN-Autonomous-Robotics-Lab/linefit_ground_segmentation_ros2#1 (comment))

@Alpaca-zip
Copy link
Contributor Author

以下のようにしていますが、

- git:
local-name: linefit_ground_segmentation_ros2
uri: https://github.com/KBKN-Autonomous-Robotics-Lab/linefit_ground_segmentation_ros2.git
version: main

baiyeweiguang/linefit_ground_segmentation_ros2#1 にて私のPRがマージされたので本家の方をcloneするようにしても良いかもしれません。今後、またバグが出て修正するかもなら現状のままでも良いです。

@shunki1006
Copy link
Contributor

実機動作確認しました.
本件対応前には勾配を理由に障害物が誤検出されていた部分で誤検出されないことが確認しました.

ただ, orange_robot.launch.xml実行時にずっと以下の[WARN]が流れているのが気になったのですが, これは実機だけの現象ですか?
[WARN]なので無視しても良いと思うのですが, 念のため確認です.

@shunki1006
Copy link
Contributor

以下のようにしていますが、

- git:
local-name: linefit_ground_segmentation_ros2
uri: https://github.com/KBKN-Autonomous-Robotics-Lab/linefit_ground_segmentation_ros2.git
version: main

baiyeweiguang/linefit_ground_segmentation_ros2#1 にて私のPRがマージされたので本家の方をcloneするようにしても良いかもしれません。今後、またバグが出て修正するかもなら現状のままでも良いです。

問題発生時にKBKNからcloneしている方が対応(変更・debug)しやすいと思うので今のままで良いかなと思います.

shunki1006
shunki1006 previously approved these changes Nov 13, 2023
@shunki1006
Copy link
Contributor

[WARN]の件以外は問題ないと思います.
@Alpaca-zip も気にならないようであればMergeしちゃいます.

@Alpaca-zip
Copy link
Contributor Author

[WARN]の件以外は問題ないと思います. @Alpaca-zip も気にならないようであればMergeしちゃいます.

レビューありがとうございます。
warningの件、心当たりがあるので後で確認します。

@shunki1006
Copy link
Contributor

[WARN]の件以外は問題ないと思います. @Alpaca-zip も気にならないようであればMergeしちゃいます.

レビューありがとうございます。 warningの件、心当たりがあるので後で確認します。

承知しました.
ご対応いただいた後に私の方で再度実機動作確認致します.

@Alpaca-zip
Copy link
Contributor Author

Alpaca-zip commented Nov 13, 2023

レビューありがとうございます。
warningの件、心当たりがあるので後で確認します。

空であればセンサのフレームが使われる旨が書かれていますが、

gravity_aligned_frame: "" # Frame which has its z axis aligned with gravity. (Sensor frame if empty.)

これが間違いで、実際にはコード内でgravity_alignedというフレーム名でパラメータが初期化されていてそれを参照しているので、gravity_alignedというフレームは存在しないとwarningを吐き続けています。

https://github.com/KBKN-Autonomous-Robotics-Lab/linefit_ground_segmentation_ros2/blob/ccb520a0f0691e1117c53ecbe0b74774b4ba9ccc/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc#L34

ROS1のlinefit_ground_segmentation_rosでは空のフレーム名でパラメータを初期化していて、そのようなことは起きないのでこれは明らかなバグですが、一旦は以下でwarningは消えそうなのでこの対応方法で不問にしたいと思います。

gravity_aligned_frame: "velodyne"

@shunki1006
Copy link
Contributor

レビューありがとうございます。
warningの件、心当たりがあるので後で確認します。

空であればセンサのフレームが使われる旨が書かれていますが、

gravity_aligned_frame: "" # Frame which has its z axis aligned with gravity. (Sensor frame if empty.)

これが間違いで、実際にはコード内でgravity_alignedというフレーム名でパラメータが初期化されていてそれを参照しているので、gravity_alignedというフレームは存在しないとwarningを吐き続けています。

https://github.com/KBKN-Autonomous-Robotics-Lab/linefit_ground_segmentation_ros2/blob/ccb520a0f0691e1117c53ecbe0b74774b4ba9ccc/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc#L34

ROS1のlinefit_ground_segmentation_rosでは空のフレーム名でパラメータを初期化していて、そのようなことは起きないのでこれは明らかなバグですが、一旦は以下でwarningは消えそうなのでこの対応方法で不問にしたいと思います。

gravity_aligned_frame: "velodyne"

対応ありがとうございます.
しかし, 昨日載せた画像と同じ[WARN]が出続けています.
指定するframeを,
base footprint
base_link
hokuyo_link
imu link
left caster link
left wheel
odom
right_caster_link
right wheel
velodyne
map
のいずれにしても同様の[WARN]が出てしまっているのでバグと割り切ってしまっても良いと思うのですが, いかがでしょうか?

@Alpaca-zip
Copy link
Contributor Author

しかし, 昨日載せた画像と同じ[WARN]が出続けています.

以下のようにしても、gravity_alignedというフレームがないと怒ってくるということですか?

gravity_aligned_frame: "velodyne"

@shunki1006
Copy link
Contributor

しかし, 昨日載せた画像と同じ[WARN]が出続けています.

以下のようにしても、gravity_alignedというフレームがないと怒ってくるということですか?

gravity_aligned_frame: "velodyne"

はい, おっしゃる通りです.

@Alpaca-zip
Copy link
Contributor Author

私の環境だとgravity_aligned_frameが空であってもwarningは出てこなくて、再現できないのであとで実機で確認します。

@shunki1006
Copy link
Contributor

私の環境だとgravity_aligned_frameが空であってもwarningは出てこなくて、再現できないのであとで実機で確認します。

承知です.

@Alpaca-zip
Copy link
Contributor Author

orange_gazeboからはパラメータファイルを適切に読み込めていましたが、orange_bringupからは読み込めていませんでした。includeしている箇所に以下を足すとこの問題は修正されました。

<arg name="config_file_path" value="$(find-pkg-share orange_sensor_tools)/config/ground_segmentation.yaml"/>

orange_bringupにはCMakeLists.txtが無いのでここら辺ももしかしたら問題かなと思いますが一先ずはこれで解決とします。

@Alpaca-zip
Copy link
Contributor Author

レビューありがとうございます。
warningの件、心当たりがあるので後で確認します。

空であればセンサのフレームが使われる旨が書かれていますが、

gravity_aligned_frame: "" # Frame which has its z axis aligned with gravity. (Sensor frame if empty.)

これが間違いで、実際にはコード内でgravity_alignedというフレーム名でパラメータが初期化されていてそれを参照しているので、gravity_alignedというフレームは存在しないとwarningを吐き続けています。

https://github.com/KBKN-Autonomous-Robotics-Lab/linefit_ground_segmentation_ros2/blob/ccb520a0f0691e1117c53ecbe0b74774b4ba9ccc/linefit_ground_segmentation_ros/src/ground_segmentation_node.cc#L34

ROS1のlinefit_ground_segmentation_rosでは空のフレーム名でパラメータを初期化していて、そのようなことは起きないのでこれは明らかなバグですが、一旦は以下でwarningは消えそうなのでこの対応方法で不問にしたいと思います。

gravity_aligned_frame: "velodyne"

上記は、私の解釈ミスでこれは問題ではありませんでした。

@Alpaca-zip
Copy link
Contributor Author

@shunki1006
実機動作確認できたのでマージお願いします。

@shunki1006 shunki1006 merged commit 07a4cfd into main Nov 14, 2023
1 check passed
@shunki1006 shunki1006 deleted the feature/ground_segmentation branch November 14, 2023 09:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants