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

3,238 views
3,131 views

Published on

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,238
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
129
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

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

  1. 1. 自律型移動ロボットの ソフトウェア技術 12-C-5 桑田 良昭 元マサチューセッツ工科大学 航空宇宙工学専攻 ポスドク (現ジェット推進研究所ロボティクス部門)
  2. 2. 概要 DARPA Grand Challenge (DGC)とは チームMITのアプローチ Vehicle Perception Planning & Control Softwareインフラ レース結果
  3. 3. Team MIT Team Members Sponsors
  4. 4. DGCの歴史 DARPA:アメリカ高等国防研究所 “DARPA hard” 軍主導の研究開発 議会による目標設定: “2015年までに戦場の車の1/3を無人化” 陸軍のFuture combat systems: $270M DGC 1: 2004年3月 228kmを10時間以内, 賞金$1M 106チーム 10km以上走った車 なし DGC 2: 2005年10月 優勝車Stanley 212kmを10時間以内, 賞金$2M 195チーム中、 5チームが完走
  5. 5. 2005年: ネバダの砂漠にて Source: DARPA Urban Challenge Participants Briefing, May 2006
  6. 6. Urban Challenge (2007.11) 市街地にて, 交通あり 60マイルを6時間以内 賞金総額$3.5M 開発費の一部が補助 89チーム, MITの初エントリ 前回よりも、ずっと難しい 狭い道幅 Source: DARPA Urban Challenge 様々なマニューバー Participants Briefing, May 2006 確率的 不確実性への対応 (状況, 他の車, etc.)
  7. 7. RNDF / MDF Route Network Definition File MDF_name uce_mdf_B79-1 方向の決まったグラフ RNDF uce_rndf_1.txt GPS座標点 ノード format_version 1.0 エッジ 道の進行方向 creation_date 02-Nov-07 checkpoints 交差点, 駐車場, ロータリー num_checkpoints 28 47 RNDFの直線補間≠実際の道路 41 プリプロセッシングも可能だが 141 補間が間違うと大きなリスク 9 1 Mission Definition File 4 20 チェックポイントのリスト 35 41 各道路の制限速度 7 スタート5分前に配布 26 3 …
  8. 8. DARPAによるガイドライン Source: DARPA Participants Briefing, May 2006
  9. 9. 状況判断は知覚ベースで 要求項目例: デザインの方向性 極力RNDFに頼らない Source: DARPA Participants Briefing, May 2006 10
  10. 10. 短い開発期間 1年半(実質1年) Ford Escape LR3 セミファイナル Track A 選定 (10/26-31) (10/2) プログラムの ファイナル (11/3) アナウンス (5/1) 2006 2007 参加者のための Site Visit Site Visit 会議 (5/20) (10/27) (6/20) アプローチ 多岐の分野に渡る問題 学際的アプローチ、複数のPI (EECS/AA/ME) スパイラルデザイン 解法を学びつつシステム設計
  11. 11. Land Rover 3 ブレードクラスタ 1ブレードあたり2つの2.33GHzデュアルコアプロセッサ ×10ブレード 40コア プロセス数 > 40 大量のセンサ GPS/IMU/オドメタ SICK Lidars×12 Velodyne (~64 Lidars) レーダー×15 カメラ×5 エアコン 総消費電力:~5500W ジェネレータ
  12. 12. システムダイアグラム MDF RNDF Road paint Lanes Cameras detection Navigator Vehicles Radars Motion Drivability Curbs SICK Planner Map Static Velodyne Controller obstacles IMU, GPS, Positioning Vehicle Odometry
  13. 13. 障害物の検知 レーザーを使って地表面を推定 地表面に属さない大きなものを探す
  14. 14. 縁石の検知 縁石ってそもそも何? フォールス・ポジティブに注意 (e.g. スピードバンプ, 道のへこみ) レーザーからスムーズさを計算 レーザー精度はぎりぎり足りる程度 スムーズでない部分に曲線をフィット
  15. 15. 知覚システムのアウトプット
  16. 16. P&Cサブシステム MDF RNDF Road paint Lanes Cameras detection Navigator Vehicles Radars Motion Drivability Curbs SICK Planner Map Static Velodyne Controller obstacles IMU, GPS, Positioning Vehicle Odometry
  17. 17. Drivability Map 知覚システムのアウトプットを Motion Plannerが使えるように加工 走行不可 (ローリスク) 走行可能 (ハイリスク) 停止不可 障害物 縁石
  18. 18. Navigator 経路検索 & Navigator 短期的なゴールの設定 Motion Drivability Planner Map 論理的判断 Controller 交差点 追い抜き U-ターン Drivability mapを動的に調節 知覚システムは完璧ではない 行き詰ったら、制約条件を緩和 (~20秒単位) 中央線 → 縁石 → レーン “走行不可”の閾値を上げる
  19. 19. Motion Planner:動作生成 RRT(ランダム探索木)の延長 ゴール Controllerへの入力を生成 障害物 シミュレーション → 軌道生成 に接触 中央線 車モデル Controller はみだし Drivability mapでチェック 10Hzで最良のパスをControllerへ 道の外 どのパスも末端は停止の状態 走行中も安全に停止可能 車 20
  20. 20. ソフトウェア 大量のコードを書いた C ~150k LOC Python ~10k LOC Java ~6k LOC 残す価値のあるもの・ないもの 他の人にも有用なもの LCM (http://lcm.googlecode.com) libcam (http://camunits.googlecode.com) procman ethcan various modules
  21. 21. LCM Lightweight Communications and Marshalling マルチキャストグループ内の インタープロセスコミュニケーション (e.g.,10枚のブレードで~60個のプロセス) Single point of failureなし C, Java, Python ホスト間、コンパイラレベルでの型安全 Logging & Replay、ライブでデータを見られる 非常にシンプルなAPI UDPマルチキャスト デリバリーの保証なし 遅れてとどくなら、新しいのを パケットロスはまれ 実用的には問題なし ~40MB/s どうしても必要ならハンドシェイクで対応
  22. 22. LCMサンプルコード 送信側: 型の定義: lcm_t * lcm = lcm_create (NULL); goal_list_t_publish (lcm, “GOALS”, &gl); 受信側: チャンネル名 メッセージハンドラ
  23. 23. サブシステムのテスト Logger Road paint Viewer Lanes Cameras detection Navigator Vehicles Radars Motion Drivability Curbs SICK Planner Map Static Velodyne Controller obstacles IMU, GPS, Positioning Vehicle Odometry
  24. 24. サブシステムのテスト Log Player Road paint Viewer Lanes Cameras detection Navigator Vehicles Radars Motion Drivability Curbs SICK Planner Map Static Velodyne Controller obstacles IMU, GPS, Positioning Vehicle Odometry
  25. 25. サブシステムのテスト Simulated Lanes/Obsts Viewer Road paint Lanes Cameras detection Vehicles Navigator Radars Motion Drivability Curbs SICK Planner Map Static Velodyne Controller obstacles IMU, GPS, Positioning Vehicle Vehicle Simulator Odometry
  26. 26. 無人走行の実験場 South Weymouth Naval Air Station キャンパスから車で約40分 空いているときにのみ使用可能 → 週末 舗装された大きなエリア どんな形の道も作れる “クリーン”な環境 障害物 = コーン マーカー = 小麦粉
  27. 27. レース前の一ヶ月 10/6~24 El Toro, CA より市街地に近い環境 毎朝のチェック 縁石 切返し方向転換 駐車 追い越し “Sparse waypoint”
  28. 28. レース@元George AFB 1マイル
  29. 29. 道に沿って走る RRT planner 道の形によらずスムーズに走行 カーブでは自然に減速 Max. 40km/h 30
  30. 30. 止まった車の追い抜き 道の左右に駐車された車 対向車線に出る前に、必ず一時停止 走行不可 (ローリスク) 走行可能 (ハイリスク) 停止不可 障害物 縁石
  31. 31. 駐車 前後両方の動作を探索 狭い場所でのマニューバ
  32. 32. Area A 流れる交通に対してのルール 交通に合流 対向車の間を左折 10秒以上の遅延で減点 ~10台の交通車両@16km/h • 1st trial – 24分で7周 • 2nd trial – 12分で10周
  33. 33. Area C 交差点での優先順位 道の封鎖&U-ターン Route blockage
  34. 34. Uターンか vs 回りこむか 前に動けなくなったとき 制約条件を緩和する(例:障害物以外は無視) Uターン DARPAのいう正解 誤ってすると大損 トライアル#2 トライアル#1
  35. 35. 交通渋滞 交差点でのルール 各々の車が自分の順番を待つ 過度(10sec)の遅延 交通渋滞 Source: UC Pentagon Briefing, April 2008
  36. 36. 想定外の状況 幻の縁石 ぼこぼこ道+急坂 → 市街地?! フェイルセーフタイマー 縁石を無視
  37. 37. CarOLOとの事故 複数の要因 CarOLOが突っ込んできた 失格 ゆっくり動く物体と、止まった物体の区別が困難 もっと積極的な回避動作もありえた CarOLO 史上初のロボット 自動車同士の事故 MIT DARPA
  38. 38. Cornellとの事故 MIT Cornell 交差点付近で追い抜き 交差点内で停止&バック レーンに早く戻りすぎ 追い抜かれ中に動き出した “no fault” 史上2番目の ロボット自動車事故
  39. 39. レース結果 89チーム中 セミファイナル:36 ファイナル:11 完走:6チーム 1st CMU 3rd Virginia Tech 2nd Stanford MITも完走 ~5 hr 35 min レース当日の初体験 一日30km以上 土の丘 40km/hで2km 他のロボットとの遭遇 最後まで安全に走った 4th MIT
  40. 40. 教訓 難しいことは覚悟していたが、想像以上だった とにかくテスト シミュレーション、走行実験、ログ再生 部分ごとにテストできる開発環境 そのコードの担当者以外の人によるテスト 開発者は開発で精一杯 ソフトウェアの実装 vs. アルゴリズムの開発 どっちに偏ってもだめ 時間との戦い 完璧なシステムには仕上がらない バグ・問題点には優先順位を チームメンバー&チームワーク
  41. 41. Questions? パブリックデータ http://dgc.mit.edu/public 動画, レースログ ログプレーヤー, ビューア, etc. 学術論文 http://www.journalfieldrobotics.org DARPAサイト http://www.darpa.mil/grandchallenge

×