7.8K Views
March 15, 24
スライド概要
ROS 2のnav2には、進入禁止領域をコストマップに反映する機能である「Keepout Filter」が実装されています。しかし、実環境では2D LiDARに映らない静的な障害物もあるため、占有格子地図だけで進入禁止領域を指定することが難しいという課題があります。今回、3D点群データから生成したBEV画像を使って進入禁止地図を作成するツールを開発したため、本発表ではこのツールについて紹介します。
OpenCVではじめよう ディープラーニングによる画像認識、OpenCVプログラミングブックの中の人(の一人).Computer Vision/OpenCV/GPGPU/ROS/AR/インタラクティブアート/ニコニコ技術部
第44回ロボティクス勉強会 点群データを用いた侵入禁止領域地図作成ツール @dandelion1124
自己紹介 ● 吉村康弘(@dandelion1124) ○ 専門はロボティクス、コンピュータビジョン、ソフトウェア高速化 ○ OpenCVコントリビューター ■ ○ OpenCV書籍執筆 https://gihyo.jp/book/2022/978-4-297-12775-6 2023年10月よりサイバーエージェント AI Labで人物行動理解に関する研究に従事 dandelion1124 atinfinity
はじめに ● 実環境には2D LiDARに映らないが避けたい静的障害物(テーブル、点字ブロックなど)が ある ○ 対策をしないと経路長を優先してテーブルの下を通るような経路を走行したり、点字 ブロック上を走行してしまう テーブル テーブル? テーブルの下を 潜ってしまう・・・
はじめに ● 進入禁止領域をコストマップに反映させる Keepout Filter[1][2]がnav2に実装されている テーブル テーブルの下を 通ろうとする テーブル領域を 進入禁止領域にする →テーブルを避ける シミュレータ環境 Keepout Filterなし [1] https://navigation.ros.org/tutorials/docs/navigation2_with_keepout_filter.html [2] https://navigation.ros.org/configuration/packages/costmap-plugins/keepout_filter.html Keepout Filterあり
はじめに ● ただし、占有格子地図だけで進入禁止領域を指定するのが難しいことがある 点字ブロックはどこ? テーブルの足しか 映っていない・・・ 点字ブロック テーブル 3D点群地図 占有格子地図
はじめに ● そのため、今回、点群データから生成したBEV画像を見ながら進入禁止地図を作成する ツールを開発した 3D点群地図 ①BEV画像生成 ②進入禁止領域指定 ③進入禁止領域地図生成
進入禁止領域地図作成ツール ②進入禁止領域指定 ● システム構成 今回作ったもの 進入禁止領域地図作成 ツール RTABMAP [3] ③進入禁止領域 地図生成 ①BEV画像生成 ply(点群)、 データベース [3] https://apps.apple.com/jp/app/rtab-map-3d-lidar-scanner/id1564774365 BEV画像 占有格子 地図 進入禁止 領域地図
進入禁止領域地図作成ツール ● BEV画像生成 ○ RTABMAPから生成した 3D点群地図から BEV画像(鳥瞰図)を生成する 3D点群地図 BEV画像
進入禁止領域地図作成ツール ● BEV画像生成 ○ RTABMAPから生成した 3D点群地図から BEV画像(鳥瞰図)を生成する 点字ブロックの場所が わかる! テーブルの場所が わかる! 3D点群地図 BEV画像
進入禁止領域地図作成ツール ● BEV画像、占有格子地図の位置合わせ ○ ○ BEV画像、占有格子地図は解像度、位置姿勢が異なるため、対応付けが必要 手動でパラメータを調整し、位置合わせする
進入禁止領域地図作成ツール ● 進入禁止領域指定 ○ BEV画像(左図)に対して領域を指定すると進入禁止領域地図(右図)に反映される 編集画面で進入禁止領域を 指定すると 編集画面 進入禁止領域の指定が 占有格子地図に反映される 進入禁止領域地図
走行実験 ● 社内共用スペースを使った走行実験
おわりに ● 実環境には2D LiDARに映らないが避けたい静的障害物(テーブル、点字ブロックなど)が あり、占有格子地図だけで進入禁止領域を指定することが難しい ● そのため、点群データから生成したBEV画像を見ながら進入禁止地図を作成するツール を開発した ● 後日、OSSとして公開予定
Appendix:Keepout Filter ● Keepout Filter概要 ○ ○ 進入禁止領域に関する情報をコストマップに反映する 以下のノードで実現 ■ map_server ● 進入禁止領域地図データ( pgm、YAML)を読み込んで占有格子地図トピックを 配信 ■ costmap_filter_info_server ● 進入禁止領域情報の CostmapFilterInfo(下記参照)のトピックを配信 std_msgs/Header header # Type of plugin used (keepout filter, speed limit in m/s, speed limit in percent, etc...) # 0: keepout/lanes filter # 1: speed limit filter in % of maximum speed # 2: speed limit filter in absolute values (m/s) uint8 type string filter_mask_topic float32 base float32 multiplier
Appendix:Keepout Filter ● Keepout Filterの注意点 ○ ○ ○ Keepout Filterを単純に使うとデフォルトでは inflationが適用されない [4] その結果、進入禁止領域に対して非常に接近するパスが引かれることがある 自己位置推定の誤差などの影響で、フットプリントが進入禁止領域に進入すると、ナビゲー ションがスタックする可能性がある 進入禁止領域に対して 非常に接近するパス [4] https://answers.ros.org/question/379671/galactic-keepout_filter-inflation/
Appendix:Keepout Filter ● Keepout Filterへのinflation適用 ○ keepout_filterにinflation_layerを追加することで inflationを適用させられる [5] global_costmap: global_costmap: ros__parameters: ... plugins: ["static_layer", "obstacle_layer", "inflation_layer"] filters: ["keepout_filter", "inflation_layer"] ... keepout_filter: inflation_layerを追加 plugin: "nav2_costmap_2d::KeepoutFilter" enabled: True filter_info_topic: "/costmap_filter_info" [5] https://github.com/ros-planning/navigation2/issues/3102#issuecomment-1225494691
Appendix:Keepout Filter ● Keepout Filterへのinflation適用 進入禁止領域に対して 非常に接近するパス 進入禁止領域から マージンが確保されたパス inflationなし inflationあり
Activity Understanding(行動理解)チーム 研究テーマ:実世界AIサービスのための人物行動理解とロボティクス 株式会社サイバーエージェント AI Labの行動理解チームでは、実世界においてAIサービスを実現するための基盤研究に取り組んでいます。 リテールテック(小売)やガブテック(行政)といった事業でAIを活用するためには、複雑に変化する実環境において人々の多様な行動を 計測・理解し、AIによって生成された情報を適切に伝達する技術が必要です。また、人々の日常生活と密接に関わる技術やサービスは、 人々の生活やプライバシーを尊重し、社会的に受け入れられる形であることが不可欠です。 本チームは機械学習やコンピュータビジョン、ロボティクス、ユビキタスコンピューティングなど複数分野に基づく多角的なアプローチに よって、このような技術の創出と実世界AIサービスへの還元を目指します。
主な研究テーマ マルチモーダルセンシングによる人物行動の計測と理解 スマートフォンIMUやBLEビーコンといった各種デバイス・センサーを活用し、 カメラの導入が難しい場面で人物の行動を計測、理解する技術を研究しています。 センシング技術とLLMを活用した自律移動広告ロボット LLMを活用した自律移動ロボットによる情報提示・インタラクション技術、 販促活動に適した環境理解・ナビゲーション技術を研究しています。
現在チーム立ち上げ中です! リサーチサイエンティスト 求人ページ: ● 人物行動理解に関するコンピュータビジョン・機械学習・ユビキタスコンピューティング研究を推進してくださる方 ● 自律移動ロボットのためのセンシング、パーセプション、プランニング技術の研究を推進してくださる方 リサーチエンジニア ● 求人ページ: ▼求人ページ リテール分野への応用に興味を持ちつつ、自律移動ロボットにおけるセンシング、パーセプション、 プランニングの技術開発を ● ▼求人ページ 推進してくださる方 実機(ロボット、センサなど)を用いて、実世界でロボットを動かしていく社会実装を推進してくださる方 ▼面談フォーム まずはカジュアルな情報交換をご希望の方は、こちらのフォームからお問い合わせください。 *東京/京都拠点でインターン(フルタイム2ヶ月)、またはアルバイトも随時募集中です。