open-rdc / orne-box

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

イーアスつくば2024 完走した際の知見 #112

Closed masakifujiwara1 closed 3 days ago

masakifujiwara1 commented 3 days ago

イーアスつくば2024において,box2チームの知見を共有します.

ソフトウェア構成,開発した主なパッケージ,mapやwaypoint等は以下のリンクにあります. https://github.com/open-rdc/orne-box/tree/TC_2024_EX

masakifujiwara1 commented 3 days ago

イーアス2023からの必須課題の変更点

2023年度は1階を3週するだけでしたが,2024年度は1階を2週と2階へのフロア移動などが含まれていました. そのため,従来のチームで使用していたナビゲーションシステムでは,フロア移動に未対応であり,あらたに対応する必要がありました.

フロア移動への対応

以下のマップを切り替えるパッケージを開発し,フロア移動へ対応しました. https://github.com/open-rdc/map_changer/tree/8ec95979d6ce3147d2514ee4d2d12c18706bac8a このパッケージはemcl2用に開発されており,主に以下の機能から構成されています.

  1. 指定したwaypointに到達しているか判定
  2. /change_mapサービスを用いて指定したwaypointに対応するマップへ切り替え
  3. /initial_poseトピックで切り替えたマップの原点にロボットを移動

エレベータでロボットの前にあるはずのない障害物が検出される

以下の動画のように,エレベータの中でファントムが発生していました. これが,コストに反映されてエレベータの奥に進めなくなっていました. https://youtube.com/shorts/Dw13jYDqkp8?feature=share

対策として,以下のパッケージを開発し,対応しました. https://github.com/masakifujiwara1/waypoint_manager/tree/main/waypoint_reconfigure

このパッケージは,以下の機能から構成されています.

  1. 指定したwaypointに到達しているか判定
  2. configファイルからそのwaypointに対応するパラメータを読み込む
  3. dynamic_reconfigure apiを用いて,読み込んだパラメータに動的に変更
  4. パラメータを変更するエリアを抜けたと判定したら,元のパラメータに戻す

このエレベータの問題では,エレベータ内のみlocal_obstacle_layerのenableをfalseにするようにしていました.