太田研 公開用Wiki

つくばチャレンジに向けた移動ロボットの自律走行システムの開発

はじめに

近年のロボット技術の向上により,産業用ロボットなど特殊な環境での活動を想定されたものだけでなく,家庭用ロボットや人間の身近な環境で活動するロボットに対する研究が進んでいる.ロボットが人間と同じ環境で活動するためには,周囲の環境を自動的に正確に認識し,適切に行動可能であることが必要不可欠である.

そのなかで,実環境下でロボットを自律走行させる技術チャレンジである「つくばチャレンジ」が毎年茨城県つくば市で開催されている.この技術チャレンジに参加するために,移動ロボットのための自律走行システムを開発する.

つくばチャレンジについて

つくばチャレンジは,2007年からつくば市で毎年開催されている,遊歩道等がある市街地や,公園や駅等の人々が普段生活する空間そのままの実環境で,移動ロボットを自律走行させる技術チャレンジである.実環境下であるため,時刻や季節によって周辺環境の変化が起こることや,実際に人々が歩行し,車が走行しているなかでそれを検知し,停止や回避行動を取りながら安全に走行する技術が求められる.これらの技術を,参加者それぞれが開発・実験を行い,結果や経験,知識を互いに共有することで,全体のロボット技術の向上を目指し,現在のロボット技術について一般の人々に理解してもらうことを目標にしている.

このつくばチャレンジは,5年毎に大きく課題が変更され,2007年から2011年までを第1ステージ,2013年から2017年までを第2ステージとし,2018年から第3ステージとし場所をつくば市役所と研究学園駅前公園を中心としたコースに設定された.第3ステージの必須課題として約2.5kmのコースを自律走行すること,選択課題として信号機の認識や特定物体の探索等があり,2019年度の課題については以下のように設定されている.

2018年度から変更があり,つくば市役所を出発し,信号のある交差点で横断歩道を渡り,研究学園駅を経由後,公園内に入り折り返し地点を通過し,再度交差点の横断歩道を横断後,つくば市役所正面に位置するゴールまでが課題コースとなる.

task_course.png
図1: つくばチャレンジ2019の課題コース

次に選択課題について説明する.課題Aについては本走行当日のみロボットの侵入が許可された市役所庁舎内を自律走行する必要がある.課題Bでは,駅へ向かう時と,公園からゴールへ向かう時に横断歩道を渡る際に信号認識を行い,状況に応じて横断する.この課題を実施しないチームについては安全を確認して走行再開を行う.課題Cでは,公園内に予め図2のようにチェックポイントが指定されており,指定されたチェックポイントを全て通過する必要がある.2018年度では通過するだけであったが,2019年度からはランダムなチェックポイント間に経路封鎖看板が設置されており,看板を認識し封鎖されている経路を迂回しながら全てのチェックポイントを通過しなければならない.課題Dでは特定の服装をしたマネキンを探索する.マネキンは複数の服装と2つのサイズが用意されており,実験走行及び本走行の前日に通知される.

checkpoint.png
図2: 公園内のチェックポイント

使用したロボット

つくばチャレンジ2019にて実際に走行したロボットの外観を図3,ロボットの仕様を表1として示す.このロボットは株式会社リバストが開発・販売を行っている,移動ロボットプラットフォーム Mercury Robots シリーズのスキッドステアモデルをベースとしている.

mercury.jpg
図3: 使用したロボット
表1 ハードウェア構成
外形寸法W0.65 x L0.75 x H1.0m
ホイール径300mm
総重量89.0kg
動力源DCブラシ付きモータ x 4
最大速度0.9m/s
センサ40Layer 3D-LiDAR x 1
4Layer 3D-LiDAR x 1
2D-LiDAR x 1
産業用カメラ x 3
ソナーセンサー x 7
エンコーダ x 4
9軸ジャイロセンサ x 1
制御PCIntel i7 5650U
(2.2GHz 2Core 4Thread)
メモリ8GB

ロボットには様々なセンサーが搭載されており,ロボット上部と中部に3D-LiDAR二つ,下部に2D-LiDARが一つ,カメラが前方と左右斜め方向の三つが取り付けられている.加えて四つのモーターによりロボットは四輪駆動で動作し,各モーター毎にエンコーダが用意されている.

開発したシステム

システムの構成

開発したシステムの構成を図4として示す.センサーとして三つのLiDARがある.Mercury ClientはMercury Robotsシリーズに搭載されているロボットのモータ制御等の制御モジュールであり,エンコーダからモータの回転数を取得しロボットのオドメトリを求めることや,モータに指令値を与えて回転させることができる.

auto_system.png
図4: 開発した自律走行システムの構成

Locatorモジュールは,上部のLiDARのみから点群を取得しロボットの自己位置推定を行う.3D-LiDARを使用しているため,取得される点群は三次元情報で表されるが,このモジュールでは画像(二次元平面)に変換して処理を行うため,出力される自己位置(Pose)は二次元情報(x,y)とロボットの向いている水平方向で表される.

ObstacleDetectorモジュールは,三つ全てのLiDARを使用して障害物検知を行う.このモジュールでも同じく点群を画像に変換して障害物の検知を行い,検知した障害物を直線と矩形で表し,最後にその直線上と矩形の点群に変換することで障害物を表す.

PathPlannerモジュールは,推定された自己位置の結果と障害物の情報から経路計画を行う.このシステムでは,ウェイポイント方式を採用しており,あらかじめ設定したウェイポイントに沿って走行する.自己位置の結果からウェイポイントの到達判定を行いつつ,次に向かうべきウェイポイントの方向から経路を求める.この時,障害物が存在すればその障害物を回避しながら次のウェイポイントに向かう経路を求める.

MovementControllerモジュールは,自律走行モードの切り替えを行う.ロボットに繋いだジョイスティックコントローラの入力から自律走行のオンオフを切り替え,自律走行モードがオンの時は経路計画の結果からモータ制御を行い,自律走行モードがオフの場合にはジョイスティックコントローラからロボットを操作することができる.そのため,自律走行をせずに自己位置推定や障害物の検知を行うことができる.

各モジュールについて

自己位置推定

障害物検知

経路計画

つくばチャレンジ2019での結果

つくばチャレンジ2019での結果は,スタートから500m地点,信号のある交差点での停止線超過の為,非常停止による終了となった.本走行中の自己位置推定等には異常はなく,ウェイポイントの設定による停止位置の設定ミスが原因となった.以下に課題等を含めた本走行の結果を表2として示す.

表2: つくばチャレンジ2019本走行の結果
走行距離完走選択課題A選択課題B選択課題C選択課題D
約500mx不実施不実施不実施不実施

考察

開発したシステムについて考察を述べる.

自己位置推定については,LiDARの計測周期が20Hzであることから,今回使用したロボットの構成では2倍まで速度を向上させて実装出来る.自己位置推定が早ければ早いほど,他の処理にコンピューターのリソースが割けるだけでなく,経路計画の細かさにも影響する.今回は理論的には非常に高速な手法を元としているため,実装する際のプログラミングでの高速化を図ることで,より早い自己位置推定を行えると考えている.

障害物検知については,実験走行での検知ミスがあったため,改善する必要がある.今回は矩形と直線により障害物を検知していたが,この矩形で表す部分にミスがあったのではないかと考えられる.自律走行実験中にログデータを保存出来なかったため,実際にどうなっていたかわからないが,モジュールの説明部分でも述べたように,実際の物体と矩形領域の誤差が発生していたと考えられる.今後,LiDARから取得した点群についてロボットから半径10m以内の生点群について障害物として経路計画を行い,実際の経路計画を観察することと,今回の実装との比較をする必要がある.

経路計画については,実装コストの面からポテンシャル法を用いたが,実際の自律走行の様子を見ると,障害物をしっかり検知していても,綺麗な回避行動が取れないことがあり,他の手法の比較を行うことで,経路計画の見直しを図るべきであると感じた.

開発したシステム全体としては課題が残るものの,ある程度自律走行可能なシステムとして構築出来たと考えられる.今後は修正点について改善していくと共に,つくばチャレンジでの選択課題に向けたモジュール開発も行っていければ,自律走行システムとしてより良いシステムが構築出来ると考える.

まとめ

本論文では,つくばチャレンジでの課題である完走を目標に,移動ロボットの為に開発した自律走行システムについて述べた.開発したシステムは,既存の自律走行パッケージを使用しないこととし,安全にロボットが自律走行できるシステムとすることに気をつけ開発を行った.

システムのモジュールとして,自己位置推定,障害物検知,経路計画等の基本的なロボットが自律走行するために必要な機能についての実装となった.自己位置推定にはLiDARから得られる3次元点群を画像に変換し,ピラミッド構造によるマッチングを行うことで高速かつ精度の高い位置の推定を行うことが出来た.障害物についてはLiDARから得られる点群を使用するが,そのまま点群を扱うのではなく,画像に変換し矩形と直線で表すことで処理数を減らすこととした.経路計画については実装コストの面からポテンシャル法による実装を行い,進むべき方向を求めることとした.

開発したシステムはつくばチャレンジの実験走行及び,群馬大学桐生キャンパス構内で実際に自律走行を行うことで検証した.群馬大学構内では,高い建物に囲まれた狭い通りについては回避行動を取った場合に自己位置を見失うことがあったが,環境地図を作成した全域についてほとんどの場合,自己位置推定が破綻することなく走行出来た.つくばチャレンジにおける実験については,障害物の検知ミスが何度かあったものの,基本的には環境地図中のどの位置でも自己位置推定が正しく行われており,問題なく走行することが出来た.

つくばチャレンジ2019における本走行については,スタートであるつくば市役所から約500m付近の,信号のある交差点での停止線超過による走行失敗となり終了となった.原因にはシステム外で設定する,ルートファイルのウェイポイント設定の誤差が影響していた.

今後の課題としては,開発したシステムのさらなる高速化と,モジュール毎に新たな手法の検証を行うことが挙げられる.加えて,つくばチャレンジ2019の選択課題については何も実施出来なかったことから,選択課題を達成するためのモジュールも開発することでつくばチャレンジの課題完全達成を目指したい.

参考文献


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS