つくばチャレンジに向けた 自律走行ロボット「mercury」の …...lidar1 lidar2...

6
つくばチャレンジに向けた 自律走行ロボット「Mercury」の開発 群馬大学リバストチーム Mercury(FullCustomModel) 鹿貫 悠多 , 村上 公介, 斎藤 僚太, 藤澤 大暉, 菊地 隆晴, 古田 樹男, 太田 直哉 1 はじめに 現在,実用化されている多くのロボットは決め られた環境下でしか動作できず,多様な環境に対 応できるロボットというものは非常に数が少ない. つくばチャレンジは人とロボットが共存する社会 の実現を目指し,ロボットが刻々と変化する実環 境において設定されたコースの自律走行を確実に 行うことを課題として公開実験を行っている. 群馬大学リバストチームは株式会社リバストと 群馬大学太田研究室の共同研究チームとして 2014 年よりつくばチャレンジに参加し 2015 年,2016 年にコースの完走,2018 年に課題達成を記録し ている. 我々はつくばチャレンジ 2019 においてコース の完走および選択課題として出されている以下の 4 つの課題の内,下線が引かれている 2 つの課題 達成を目標としてロボットの開発を行った. A. 事前データ取得なし走行 B. 信号認識横断 C. チェックポイント通過+経路封鎖迂回 D. 探索対象発見 本稿では課題達成のためのロボットの構成およ びアルゴリズムについて述べる. Email:[email protected] 1: Mercury(FullCustomModel) の外観 2 ロボットの構成 ここでは Mercury(FullCustomModel) の構成 について紹介する. Mercury はリバスト社が開発・ 販売を行っている移動ロボットプラットフォーム で,様々な種類が販売されているが,本ロボット では 4 輪のスキッドステアタイプをベースとして いる.つくばチャレンジのような実環境には舗装 されていない悪路なども含まれ,そのような場所 を安定して走行するためにスキッドステア機構を 選択している. Mercury(FullCustomModel) の外観を図 1 ハードウェア構成を表 1 に示す.また,LiDAR全方向カメラの仕様を表 2,表 3 に示す. 自律走行の際,自己位置推定には 40Layer 3D- LiDAR のみを用いて,障害物検出に 3 種類全て LiDAR を使用した.外装には 7 個のソナーセ ンサーが取り付けられており,こちらでも障害物 検出は可能であるが,ソナーセンサーの信頼性の

Upload: others

Post on 23-Feb-2021

2 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: つくばチャレンジに向けた 自律走行ロボット「Mercury」の …...LiDAR1 LiDAR2 LiDAR3 計測距離 200m 64m 25m レイヤー数 40 4 1 水平計測範囲 360 275

つくばチャレンジに向けた自律走行ロボット「Mercury」の開発

群馬大学リバストチーム Mercury(FullCustomModel)鹿貫 悠多 ∗ , 村上 公介, 斎藤 僚太, 藤澤 大暉, 菊地 隆晴, 古田 樹男, 太田 直哉

1 はじめに

現在,実用化されている多くのロボットは決められた環境下でしか動作できず,多様な環境に対応できるロボットというものは非常に数が少ない.つくばチャレンジは人とロボットが共存する社会の実現を目指し,ロボットが刻々と変化する実環境において設定されたコースの自律走行を確実に行うことを課題として公開実験を行っている.群馬大学リバストチームは株式会社リバストと

群馬大学太田研究室の共同研究チームとして 2014

年よりつくばチャレンジに参加し 2015年,2016

年にコースの完走,2018年に課題達成を記録している.我々はつくばチャレンジ 2019においてコース

の完走および選択課題として出されている以下の4つの課題の内,下線が引かれている 2つの課題達成を目標としてロボットの開発を行った.

A. 事前データ取得なし走行

B. 信号認識横断

C. チェックポイント通過+経路封鎖迂回

D. 探索対象発見

本稿では課題達成のためのロボットの構成およびアルゴリズムについて述べる.

∗Email:[email protected]

図 1: Mercury(FullCustomModel)の外観

2 ロボットの構成

ここでは Mercury(FullCustomModel) の構成について紹介する.Mercuryはリバスト社が開発・販売を行っている移動ロボットプラットフォームで,様々な種類が販売されているが,本ロボットでは 4輪のスキッドステアタイプをベースとしている.つくばチャレンジのような実環境には舗装されていない悪路なども含まれ,そのような場所を安定して走行するためにスキッドステア機構を選択している.Mercury(FullCustomModel) の外観を図 1 に

ハードウェア構成を表 1に示す.また,LiDAR,全方向カメラの仕様を表 2,表 3に示す.自律走行の際,自己位置推定には 40Layer 3D-

LiDARのみを用いて,障害物検出に 3種類全ての LiDARを使用した.外装には 7個のソナーセンサーが取り付けられており,こちらでも障害物検出は可能であるが,ソナーセンサーの信頼性の

Page 2: つくばチャレンジに向けた 自律走行ロボット「Mercury」の …...LiDAR1 LiDAR2 LiDAR3 計測距離 200m 64m 25m レイヤー数 40 4 1 水平計測範囲 360 275

表 1: ハードウェア構成外形寸法 W0.65 × L0.75 × H1.1m

ホイール径 300mm

総重量 89.0kg

動力源 DCブラシ付きモータ× 4

最大速度 0.9m/s

40Layer 3D-LiDAR × 1

4Layer 3D-LiDAR × 1

2D-LiDAR × 1

センサー 全方向カメラ (※ 1) × 1

ソナーセンサー× 7

エンコーダ× 4

9軸ジャイロセンサ× 1

Intel i7 5650U

制御 PC (2.2GHz 2Core 4Thread)

メモリ 8GB

※ 1全方向カメラは 40Layer 3D-LiDARと一体型

表 2: LiDARの仕様LiDAR1 LiDAR2 LiDAR3

計測距離 200m 64m 25m

レイヤー数 40 4 1

水平計測範囲 360◦ 275◦ 270◦

水平分解能 0.4◦ 0.5◦ 0.33◦

垂直計測範囲 23◦ 7.5◦ -

垂直分解能 1◦(0.33◦) 2.5◦ -

計測周期 20Hz 50Hz 15Hz

問題から,ロボットが後退する際に背面に存在する背の低い障害物の確認のみの使用にとどめている.カメラは 3D-LiDARと一体型の全方向カメラが利用可能であるが,今回は信号認識用にカラーカメラのみ用いている.ソフトウェアに関しては ROS2(Dashing)を用

いて構成している.ROS2に関してはTopicやSer-

viceなど基本的な機能のみ利用し,自律走行に関するパッケージは全て自前で作成している.なお,我々のロボットのこれまでの情報に関し

ては [3],[4]に記述があるので,そちらを参考にしてほしい.

表 3: カメラの仕様種類 カラーカメラ× 1

モノクロカメラ× 4

解像度 1280 × 720

画角 52◦(カラー)

129◦(モノクロ)

計測周期 20fps

出力画像形式 JPEG

インターフェース GigE

3 コースの自律走行

3.1 環境地図について

自律走行は図 2に示す環境地図にウェイポイントを設定し,ウェイポイントに沿って走行するように制御を行った.環境地図は手動走行させたときの 3D-LiDARのログデータをスキャンマッチングにより合成し作成している.なお,点群データは 3次元座標で得られるが,高さ方向の情報は無視し全て 2次元座標の点群として用いている.環境地図生成や自律走行時の自己位置推定に使用するスキャンマッチングは独自の手法を用いているが,これに関しては [1]に記述があるため,ここでは割愛する.つくば市役所敷地内や研究学園駅前公園内はつ

くばチャレンジ 2018で取得したログデータを使いまわし,つくばチャレンジ 2019からコースとして追加された研究学園駅周辺部のみ,新たに取得したログデータから環境地図を生成した.環境地図生成の際に手動での調整や特別なループの綴じ込み処理は行っていない.

3.2 自己位置推定

自律走行時には環境地図から現在の予測位置周辺 (前後左右 100m以内)の点群を取得し,リアルタイムに観測される点群とスキャンマッチングを行い,位置補正を行っている.実験走行会から本走行までを通して,スキャンマッチングが失敗するような事は一度もなく安定した走行を行うこと

Page 3: つくばチャレンジに向けた 自律走行ロボット「Mercury」の …...LiDAR1 LiDAR2 LiDAR3 計測距離 200m 64m 25m レイヤー数 40 4 1 水平計測範囲 360 275

図 2: 自律走行に用いた環境地図

ができた.しかしながら大きく開けた研究学園駅前公園内で周囲に自然物しか無いような環境ではスキャンマッチングによる位置推定の誤差が大きくなりやや蛇行するような場面も見られた.

3.3 障害物回避

障害物の回避については,つくばチャレンジ2018まではポテンシャル法による回避経路の生成を行っていたが,ポテンシャル法は内部状態の確認が難しく,予期しない動作をすることが多く見られたため,つくばチャレンジ 2019では図 3

に示すようにウェイポイントを平行移動させたものを経路候補として多数用意しておき,障害物との距離が十分安全であり元々のウェイポイントに近い経路を選択するようなアルゴリズムを採用し

図 3: 障害物回避のためのWaypoint候補例

図 4: グラフの辺の重み付け (つくばチャレンジWebページにて公開された画像を加工して使用)

た.実際には左右 3mの範囲を 0.1m間隔で経路候補を用意し最適な経路を選択している.

3.4 動的経路計画

つくばチャレンジ 2018までは走行前に予め設定した経路をスタートからゴールまでそのまま走行すれば問題なかったが,つくばチャレンジ 2019

で新たに追加された経路封鎖の選択課題に対応するために,研究学園前公園内のみ走行中に動的に経路を変更できるような仕組みを導入した.公園内のチェックポイントを頂点,チェックポイント間の経路を辺としてグラフを構築しダイクストラ法により自動的に最適な経路を算出した.図 4にグラフの例を示す.図中の丸で囲まれた

数字が頂点 (チェックポイント),四角で囲まれた数字が辺の重みを表している.重みは単純に経路の距離で設定するのではなく,路面や道幅などを考慮に入れ,安全に走行できる整地された道幅の

Page 4: つくばチャレンジに向けた 自律走行ロボット「Mercury」の …...LiDAR1 LiDAR2 LiDAR3 計測距離 200m 64m 25m レイヤー数 40 4 1 水平計測範囲 360 275

広い経路ほど低い値を設定した.例えば図中の 20

~26は距離は長いが安全に走行できるため重みを「1」に,27~31は距離は短いが道幅が狭く不整地路面のため重みを「4」と高く設定している.経路封鎖看板を発見した際には看板が存在する経路の重みを「100」と設定し,その場でダイクストラ法を用いて経路の再計画を行う.ここで,経路を消去するのではなく重みを変更しているのは看板の誤検出により走行可能経路が無くなってしまう可能性を防ぐためである.

4 歩行者用信号認識

つくばチャレンジ 2019ではロボットが歩行者用信号を自動的に認識し,交差点内の安全を確認して横断歩道を渡るという選択課題が設定されている.この課題に対し,我々は単純な色検出を行い信号の状態を認識するアプローチを取った.単純な手法にすることで現場での調整が行いやすく,また信号は自発光しており色情報が環境光に影響されにくく安定しているためである.基本となる手法は [2],[4]にも記述があるので,そちらも併せて参考にしてほしい.我々の信号認識の手順は以下の通りである.ま

た,実際に信号認識を行った例を図 5に示す.

1. 入力画像 (HSV表色系)から特定色 (赤 or緑)

の抽出

2. 色抽出画像に対しラベリング処理

3. 候補領域の大きさを確認

4. 候補領域内に黄色い人型の部分があるか確認

5. 10フレーム中 5フレーム以上検出されているか,候補領域の位置が移動していないか確認

非常に単純な手法であるが,赤または緑の矩形領域の中に黄色が存在するパターンというのは少なく,図 5からもわかるように赤または緑だけでは自動車のテールランプや外装,安全ベストなど様々な物体を検出してしまうが,黄色領域を確認するだけで誤検出を大幅に削減することが可能で

図 5: 信号認識の手順 (上から順に,入力画像,特定色の抽出 (左:緑,右:赤),ラベリング+大きさ確認,黄色領域の検証結果)

ある.また,連続するフレームで検出対象が移動していないか確認するため,これによっても誤検出は大幅に削減できる.実際に本信号認識手法をつくばチャレンジ 2019

の実験走行会で得られた課題コース全域の画像群26021枚 (赤信号画像 358枚,青信号画像 261枚含む)に対して適用したところ,それぞれの信号の検出率・誤検出率は表 4のようになった.自律走行中の検出では 10枚の連続画像から信号の状態を判断したが,本実験では 1枚の画像のみで状態を判断している.表から確認できる通り,電灯タイプの歩行者用信号に限るが非常に信頼性の高い検出が可能である.誤検出例を図 6に示すが,赤信号の誤検出例は赤いコーンの間に黄色いポールが存在する場所,青信号の誤検出例はつくばチャ

Page 5: つくばチャレンジに向けた 自律走行ロボット「Mercury」の …...LiDAR1 LiDAR2 LiDAR3 計測距離 200m 64m 25m レイヤー数 40 4 1 水平計測範囲 360 275

表 4: 歩行者用信号の検出率検出率 誤検出率

赤信号 99.44% 0.046%

青信号 98.85% 0.015%

図 6: 信号の誤検出例 (上:赤信号の誤検出,下:青信号の誤検出)

レンジ実行委員会のジャンパーの中央に横断旗を掲げている人である.なお,実際の交差点で信号の誤検出を行うことは一度も無かった.

5 経路封鎖看板の認識

研究学園前公園内にはロボットの通行を禁止する経路封鎖看板が数ヶ所に設置されており,ロボットが看板を認識し,経路を迂回しなければならない.看板の両端には反射率の高い再帰反射テープが貼られているため,我々は 3D-LiDARを用いて看板の認識を行った.検出手順は以下の通りである.また,実際に点群に対して処理を行った例を図 7に示す.

図 7: 経路封鎖看板の認識手順 (上から順に,反射強度の分布 (赤:強,青:弱),反射テープの検出,看板の検出)

1. LiDARの点群から前方 180 °で 10m以内に存在する反射強度が閾値以上の点群を抽出

2. 抽出した点群の位置関係を元にクラスタリング (反射テープの検出)

3. 検出されたテープの位置関係を元にクラスタリング (看板の検出)

4. 看板が 2つ検出されているか確認

5. 10フレーム中 5フレーム以上,看板が 2つ検出されているか確認

看板単体の誤検出例としては公園に停めてある自転車や安全管理責任者が来ているベストなどを看板として誤検出することがあったが,同時に 2

つ以上検出されることはなく,また連続した検出フレームで検証を行っているため,実験走行,本走行を通して一度も誤検出は起こらなかった.

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

つくばチャレンジ 2019本走行における我々の結果を表 5に示す.

Page 6: つくばチャレンジに向けた 自律走行ロボット「Mercury」の …...LiDAR1 LiDAR2 LiDAR3 計測距離 200m 64m 25m レイヤー数 40 4 1 水平計測範囲 360 275

表 5: 本走行の結果走行距離 3365m(完走)

走行時間 77分

選択課題A ×

選択課題 B ○

選択課題 C ○

選択課題D ×

本走行ではコースの完走,信号認識,チェックポイントの通過&経路封鎖看板の認識という 3種類の課題を達成し 2年連続でつくば市長賞を受賞することができた.実験走行においても記録走行で2回課題達成を果たしており安定した自律走行ロボットの開発ができたと手応えを感じている.今回,障害物回避アルゴリズムを大幅に変更したことで他のロボットの回避,コース上のロードコーンの回避がスムーズに行えるようになり安定した走行に繋がったと考えられる.つくばチャレンジ 2020では今回挑戦できなかっ

た課題A,課題Dについても是非チャレンジしたいと考えている.

7 おわりに

本稿ではつくばチャレンジ 2019に参加した自律走行ロボットMercuryのハードウェア構成,自律走行,各種認識アルゴリズムについて簡単に説明した.つくばチャレンジ 2019の結果としては目標として設定したコースの完走および 2つの選択課題を達成しており満足のいく内容となった.今後も引き続き,安定して走行できる自律走行ロボットの開発を進めていければと考えている.

参考文献

[1] Y. Kanuki, N. Ohta, “Development of Au-

tonomous Robot with Simple Navigation

System for Tsukuba Challenge 2015”, J. of

Robotics and Mechatronics, Vol.28, No.4,

pp.432-440, 2016.

[2] 須田雄大, 鹿貫悠多, 小木津武樹, 太田直哉,

“色情報を用いた低演算コスト歩行者用信号認識手法の提案”, 第 18回 計測自動制御学会システムインテグレーション部門講演会, 2017.

[3] 鹿貫悠多,須田雄大,山田竜也,大和一矢,村上 公介, 太田 直哉, “屋外環境向け移動ロボットMercury Robotsの開発”, つくばチャレンジ 2017参加レポート集, pp.131-134, 2018.

[4] 鹿貫悠多,村上公介,斎藤僚太,藤澤大暉,古田樹男, 太田直哉, “自律走行ロボット「Mer-

cury(FullCustomModel)」の開発”, つくばチャレンジ2018参加レポート集, pp.39-43, 2019.