open-rdc / orne-box

Platform hardware for autonomous robot
BSD 2-Clause "Simplified" License
25 stars 20 forks source link

ORNE-box2がイーアスEXで停止する #75

Closed yasuohayashibara closed 1 year ago

yasuohayashibara commented 1 year ago

ORNE-box2でイーアスを走行させたときに障害物の近くでしばしば停止していた.

yasuohayashibara commented 1 year ago

以下が関連していそう

https://github.com/open-rdc/orne-box/blob/98073231027325040fe8a0cd22ed946226424323/orne_box_navigation_executor/config/move_base/box2/global_planner.yaml#L15

ChatGPTより lethal_cost は、ROSの global_planner やその他のナビゲーション関連のパッケージで使用されるパラメータの1つで、コストマップ上で障害物として認識されるコストのしきい値を定義します。コストマップ上のセルの値がこの lethal_cost 以上の場合、そのセルは障害物または通行不可能な領域として扱われます。

lethal_cost の適切な値を選択する際のいくつかのポイントを以下に示します:

  1. デフォルトの値: 通常、デフォルトの lethal_cost の値は 253 となっています(0から255の範囲で、255は未知の領域を示すため)。このデフォルト値は多くのシナリオでうまく動作することが期待されます。

  2. 環境の特性: もし特定の環境で低いコストの領域がロボットにとって通行不可能であると判断される場合(例:柔らかい地面や低い障害物など)、lethal_cost を下げることでそれを反映させることができます。

  3. センサーのノイズ: センサーからのノイズが多い場合、一時的に高いコストが誤ってコストマップに追加されることがあります。このような場合、lethal_cost をわずかに上げることで、ノイズによる誤検出の影響を減少させることができます。

  4. ロボットの安全性: より保守的なナビゲーションを望む場合、lethal_cost を下げて、より多くの領域を「危険」として認識させることができます。これにより、ロボットは潜在的に危険な領域を避ける可能性が高くなりますが、移動可能な領域も制限される可能性があります。

最終的には、lethal_cost の適切な値は使用ケース、ロボットの仕様、環境の特性などの多くの要因に依存します。実際の環境でテストを行いながら、最適な値を見つけることをおすすめします。

yasuohayashibara commented 1 year ago

ちなみに,デフォルトの値にすると,人を検出しても止まらなくなるおそれがあります. 変更するにしても慎重に行うことが必要になります.

yasuohayashibara commented 1 year ago

こんな記事見つけました. あまり変えすぎると破綻すると思いますので,あくまでも参考まで.

globalのinflation > localのinflationである必要があります

https://qiita.com/srs/items/fba2c83b96d17b2680e6

ちなみに,今のパラメータ

https://github.com/open-rdc/orne-box/blob/98073231027325040fe8a0cd22ed946226424323/orne_box_navigation_executor/config/move_base/box2/costmap_common.yaml#L6

https://github.com/open-rdc/orne-box/blob/98073231027325040fe8a0cd22ed946226424323/orne_box_navigation_executor/config/move_base/box2/costmap_common.yaml#L22

yasuohayashibara commented 1 year ago

共有したのでissueを閉じます.