【12-c-5】 自律型移動ロボットのソフトウェア技術

42
桑田 桑田 良昭 良昭 元マサチューセッツ工科大学 元マサチューセッツ工科大学 航空宇宙工学専攻 航空宇宙工学専攻 ポスドク ポスドク (現ジェット推進研究所ロボティクス部門) (現ジェット推進研究所ロボティクス部門) 12-C-5 自律型移動ロボットの 自律型移動ロボットの ソフトウェア技術 ソフトウェア技術

Upload: devsumi2009

Post on 24-May-2015

2.785 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 【12-C-5】 自律型移動ロボットのソフトウェア技術

桑田桑田 良昭良昭元マサチューセッツ工科大学元マサチューセッツ工科大学航空宇宙工学専攻航空宇宙工学専攻 ポスドクポスドク(現ジェット推進研究所ロボティクス部門)(現ジェット推進研究所ロボティクス部門)

12-C-5

自律型移動ロボットの自律型移動ロボットのソフトウェア技術ソフトウェア技術

Page 2: 【12-C-5】 自律型移動ロボットのソフトウェア技術

概要概要

DARPA Grand Challenge (DGC)とは

チームMITのアプローチ

VehiclePerceptionPlanning & ControlSoftwareインフラ

レース結果

Page 3: 【12-C-5】 自律型移動ロボットのソフトウェア技術

Team MITTeam MITTeam Members

Sponsors

Page 4: 【12-C-5】 自律型移動ロボットのソフトウェア技術

DGCDGCの歴史の歴史DARPA:アメリカ高等国防研究所

“DARPA hard”軍主導の研究開発

議会による目標設定: “2015年までに戦場の車の1/3を無人化”

陸軍のFuture combat systems: $270M

DGC 1: 2004年3月228kmを10時間以内, 賞金$1M106チーム10km以上走った車 なし

DGC 2: 2005年10月212kmを10時間以内, 賞金$2M195チーム中、 5チームが完走

優勝車優勝車StanleyStanley

Page 5: 【12-C-5】 自律型移動ロボットのソフトウェア技術

Source: DARPA Urban Challenge Participants Briefing, May 2006

20052005年:年: ネバダの砂漠にてネバダの砂漠にて

Page 6: 【12-C-5】 自律型移動ロボットのソフトウェア技術

Urban ChallengeUrban Challenge ((20072007.11.11))市街地にて, 交通あり

60マイルを6時間以内

賞金総額$3.5M開発費の一部が補助

89チーム, MITの初エントリ

前回よりも、ずっと難しい狭い道幅

様々なマニューバー

確率的

不確実性への対応 (状況, 他の車, etc.)

Source: DARPA Urban Challenge Participants Briefing, May 2006

Page 7: 【12-C-5】 自律型移動ロボットのソフトウェア技術

RNDF / MDFRNDF / MDFRoute Network Definition File

方向の決まったグラフノード GPS座標点

エッジ 道の進行方向

交差点, 駐車場, ロータリー

RNDFの直線補間≠実際の道路プリプロセッシングも可能だが補間が間違うと大きなリスク

Mission Definition Fileチェックポイントのリスト

各道路の制限速度

スタート5分前に配布

MDF_name uce_mdf_B79-1

RNDF uce_rndf_1.txt

format_version 1.0

creation_date 02-Nov-07

checkpoints

num_checkpoints 28

47

41

141

9

1

4

20

35

41

7

26

3

Page 8: 【12-C-5】 自律型移動ロボットのソフトウェア技術

DARPADARPAによるガイドラインによるガイドライン

Source: DARPA Participants Briefing, May 2006

Page 9: 【12-C-5】 自律型移動ロボットのソフトウェア技術
Page 10: 【12-C-5】 自律型移動ロボットのソフトウェア技術

要求項目例:

デザインの方向性

極力RNDFに頼らないSource: DARPA Participants Briefing, May 2006

状況状況判断判断はは知覚知覚ベースでベースで

10

Page 11: 【12-C-5】 自律型移動ロボットのソフトウェア技術

短い開発期間短い開発期間

1年半(実質1年)

アプローチ

多岐の分野に渡る問題学際的アプローチ、複数のPI(EECS/AA/ME)

スパイラルデザイン解法を学びつつシステム設計

Site Visit(6/20)

セミファイナル(10/26-31)

ファイナル(11/3)

参加者のための会議 (5/20)

プログラムのアナウンス (5/1)

Site Visit(10/27)

Track A 選定

2006 2007

(10/2)

Ford Escape LR3

Page 12: 【12-C-5】 自律型移動ロボットのソフトウェア技術

ブレードクラスタ1ブレードあたり2つの2.33GHzデュアルコアプロセッサ×10ブレード 40コア

プロセス数 > 40

大量のセンサGPS/IMU/オドメタ

SICK Lidars×12Velodyne (~64 Lidars)レーダー×15カメラ×5

エアコン

総消費電力:~5500Wジェネレータ

Land Rover 3Land Rover 3

Page 13: 【12-C-5】 自律型移動ロボットのソフトウェア技術

システムダイアグラムシステムダイアグラム

Navigator

MDF

Drivability Map

MotionPlanner

Controller

Vehicle

RNDF

SICK

Velodyne

CamerasRoad paintdetectionLanes

Staticobstacles

Curbs

Positioning IMU, GPS,Odometry

RadarsVehicles

Page 14: 【12-C-5】 自律型移動ロボットのソフトウェア技術

障害物の検知障害物の検知レーザーを使って地表面を推定

地表面に属さない大きなものを探す

Page 15: 【12-C-5】 自律型移動ロボットのソフトウェア技術

縁石の検知縁石の検知縁石ってそもそも何?

フォールス・ポジティブに注意(e.g. スピードバンプ, 道のへこみ)

レーザーからスムーズさを計算レーザー精度はぎりぎり足りる程度

スムーズでない部分に曲線をフィット

Page 16: 【12-C-5】 自律型移動ロボットのソフトウェア技術

知覚システムのアウトプット知覚システムのアウトプット

Page 17: 【12-C-5】 自律型移動ロボットのソフトウェア技術

P&CP&Cサブシステムサブシステム

Navigator

MDF

Drivability Map

MotionPlanner

Controller

Vehicle

RNDF

SICK

Velodyne

CamerasRoad paintdetectionLanes

Staticobstacles

Curbs

Positioning IMU, GPS,Odometry

RadarsVehicles

Page 18: 【12-C-5】 自律型移動ロボットのソフトウェア技術

DrivabilityDrivability MapMap知覚システムのアウトプットをMotion Plannerが使えるように加工

走行可能

走行不可

停止不可

障害物

縁石

(ハイリスク)

(ローリスク)

Page 19: 【12-C-5】 自律型移動ロボットのソフトウェア技術

NavigatorNavigatorNavigator

Drivability Map

MotionPlanner

Controller

経路検索 & 短期的なゴールの設定

論理的判断交差点

追い抜き

U-ターン

Drivability mapを動的に調節知覚システムは完璧ではない

行き詰ったら、制約条件を緩和(~20秒単位)

中央線 →縁石 →レーン

“走行不可”の閾値を上げる

Page 20: 【12-C-5】 自律型移動ロボットのソフトウェア技術

RRT(ランダム探索木)の延長

Controllerへの入力を生成

シミュレーション → 軌道生成

Drivability mapでチェック

10Hzで最良のパスをControllerへ

どのパスも末端は停止の状態走行中も安全に停止可能

Motion PlannerMotion Planner:動作生成:動作生成

道の外

Controller 車モデル

ゴール

中央線はみだし

障害物に接触

ゴール

20

Page 21: 【12-C-5】 自律型移動ロボットのソフトウェア技術

ソフトウェアソフトウェア大量のコードを書いた

C ~150k LOCPython ~10k LOCJava ~6k LOC

残す価値のあるもの・ないもの

他の人にも有用なもの

LCM (http://lcm.googlecode.com) libcam (http://camunits.googlecode.com)procmanethcanvarious modules

Page 22: 【12-C-5】 自律型移動ロボットのソフトウェア技術

LCMLCMLightweight Communications and Marshalling

マルチキャストグループ内のインタープロセスコミュニケーション(e.g.,10枚のブレードで~60個のプロセス)Single point of failureなし

C, Java, Pythonホスト間、コンパイラレベルでの型安全

Logging & Replay、ライブでデータを見られる

非常にシンプルなAPI

UDPマルチキャスト デリバリーの保証なし遅れてとどくなら、新しいのを

パケットロスはまれ

~40MB/sどうしても必要ならハンドシェイクで対応

実用的には問題なし

Page 23: 【12-C-5】 自律型移動ロボットのソフトウェア技術

LCMLCMサンプルコードサンプルコード

lcm_t * lcm = lcm_create (NULL);goal_list_t_publish (lcm, “GOALS”, &gl);

送信側:

受信側:チャンネル名

メッセージハンドラ

型の定義:

Page 24: 【12-C-5】 自律型移動ロボットのソフトウェア技術

サブシステムのサブシステムのテストテスト

Navigator

Drivability Map

MotionPlanner

Controller

Vehicle

SICK

Velodyne

CamerasRoad paintdetectionLanes

Staticobstacles

Curbs

Positioning IMU, GPS,Odometry

RadarsVehicles

Logger

Navigator

Drivability Map

MotionPlanner

Controller

Vehicle

SICK

Velodyne

CamerasRoad paintdetectionLanes

Staticobstacles

Curbs

Positioning IMU, GPS,Odometry

RadarsVehicles

Viewer

Page 25: 【12-C-5】 自律型移動ロボットのソフトウェア技術

サブシステムのサブシステムのテストテスト

Navigator

Drivability Map

MotionPlanner

Controller

Vehicle

SICK

Velodyne

CamerasRoad paintdetectionLanes

Staticobstacles

Curbs

Positioning IMU, GPS,Odometry

RadarsVehicles

Log Player

Viewer

Page 26: 【12-C-5】 自律型移動ロボットのソフトウェア技術

サブシステムのサブシステムのテストテスト

Navigator

Drivability Map

MotionPlanner

Controller

Vehicle

SICK

Velodyne

CamerasRoad paintdetectionLanes

Staticobstacles

Curbs

Positioning IMU, GPS,Odometry

RadarsVehicles

Vehicle Simulator

Navigator

Drivability Map

MotionPlanner

SimulatedLanes/Obsts

Viewer

Page 27: 【12-C-5】 自律型移動ロボットのソフトウェア技術

South Weymouth Naval Air Stationキャンパスから車で約40分空いているときにのみ使用可能 → 週末

舗装された大きなエリア

どんな形の道も作れる

“クリーン”な環境障害物 = コーン

マーカー = 小麦粉

無人走行の実験場無人走行の実験場

Page 28: 【12-C-5】 自律型移動ロボットのソフトウェア技術

レース前の一ヶ月レース前の一ヶ月 10/6~2410/6~24El Toro, CAより市街地に近い環境

毎朝のチェック

縁石

切返し方向転換

駐車

追い越し

“Sparse waypoint”

Page 29: 【12-C-5】 自律型移動ロボットのソフトウェア技術

レース@元レース@元George AFBGeorge AFB

1マイル

Page 30: 【12-C-5】 自律型移動ロボットのソフトウェア技術

道に沿って走る道に沿って走る

RRT planner道の形によらずスムーズに走行

カーブでは自然に減速

Max. 40km/h

30

Page 31: 【12-C-5】 自律型移動ロボットのソフトウェア技術

止まった車の追い抜き止まった車の追い抜き

道の左右に駐車された車

対向車線に出る前に、必ず一時停止

走行可能

走行不可

停止不可

障害物

縁石

(ハイリスク)

(ローリスク)

Page 32: 【12-C-5】 自律型移動ロボットのソフトウェア技術

駐車駐車

前後両方の動作を探索

狭い場所でのマニューバ

Page 33: 【12-C-5】 自律型移動ロボットのソフトウェア技術

Area AArea A流れる交通に対してのルール

交通に合流

対向車の間を左折

10秒以上の遅延で減点

~10台の交通車両@16km/h

• 1st trial – 24分で7周• 2nd trial – 12分で10周

Page 34: 【12-C-5】 自律型移動ロボットのソフトウェア技術

Area CArea C交差点での優先順位

道の封鎖&U-ターン

Route blockage

Page 35: 【12-C-5】 自律型移動ロボットのソフトウェア技術

UUターンかターンか vsvs 回りこむか回りこむか

前に動けなくなったとき

制約条件を緩和する(例:障害物以外は無視)

UターンDARPAのいう正解

誤ってすると大損

トライアル#1トライアル#2

Page 36: 【12-C-5】 自律型移動ロボットのソフトウェア技術

交通渋滞交通渋滞

交差点でのルール

各々の車が自分の順番を待つ

過度(10sec)の遅延 交通渋滞 Source: UC Pentagon Briefing,April 2008

Page 37: 【12-C-5】 自律型移動ロボットのソフトウェア技術

想定外の状況想定外の状況

幻の縁石

ぼこぼこ道+急坂 → 市街地?!フェイルセーフタイマー 縁石を無視

Page 38: 【12-C-5】 自律型移動ロボットのソフトウェア技術

CarOLOCarOLOとの事故との事故複数の要因

CarOLOが突っ込んできた 失格

ゆっくり動く物体と、止まった物体の区別が困難

もっと積極的な回避動作もありえた

史上初のロボット自動車同士の事故 DARPA

CarOLO

MIT

Page 39: 【12-C-5】 自律型移動ロボットのソフトウェア技術

CornellCornellとの事故との事故

Cornell交差点内で停止&バック

追い抜かれ中に動き出した

“no fault”

史上2番目の

ロボット自動車事故

MIT交差点付近で追い抜き

レーンに早く戻りすぎ

Page 40: 【12-C-5】 自律型移動ロボットのソフトウェア技術

レース結果レース結果89チーム中

セミファイナル:36ファイナル:11完走:6チーム

MITも完走~5 hr 35 min

レース当日の初体験一日30km以上土の丘40km/hで2km他のロボットとの遭遇

最後まで安全に走った

1st CMU 2nd Stanford 3rd Virginia Tech

4th MIT

Page 41: 【12-C-5】 自律型移動ロボットのソフトウェア技術

教訓教訓難しいことは覚悟していたが、想像以上だったとにかくテスト

シミュレーション、走行実験、ログ再生部分ごとにテストできる開発環境そのコードの担当者以外の人によるテスト

開発者は開発で精一杯

ソフトウェアの実装 vs. アルゴリズムの開発どっちに偏ってもだめ

時間との戦い完璧なシステムには仕上がらないバグ・問題点には優先順位を

チームメンバー&チームワーク

Page 42: 【12-C-5】 自律型移動ロボットのソフトウェア技術

Questions?Questions?パブリックデータ http://dgc.mit.edu/public

動画, レースログログプレーヤー, ビューア, etc.

学術論文 http://www.journalfieldrobotics.orgDARPAサイト http://www.darpa.mil/grandchallenge