Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cartographer と Autoware を用いた自律走行 / Autonomous Navigation using Cartographer and Autoware

Cartographer と Autoware を用いた自律走行 / Autonomous Navigation using Cartographer and Autoware

ROS Japan UG #27 勉強会 - connpass
https://rosjp.connpass.com/event/111853/

Yoshitaka HARA

December 17, 2018
Tweet

More Decks by Yoshitaka HARA

Other Decks in Technology

Transcript

  1. 自己紹介(ROS 解説) “ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発”, RSJ 第94回ロボット工学セミナー, 2015. https://www.slideshare.net/hara-y/ros-slam-navigation-rsj-seminar “ROS を用いた自律移動ロボットのシステム構築”,

    RSJ 第99回ロボット工学セミナー, 2016. https://www.slideshare.net/hara-y/ros-nav-rsj-seminar “解説:ROS を用いた自律走行”, 日本ロボット学会誌, vol. 35, no. 4, 2017. https://www.jstage.jst.go.jp/article/jrsj/35/4/35_35_286/_article/-char/ja/ ROS Japan 勉強会 2018-12-17 2
  2. つくばチャレンジ2018の成果 参加ロボット75台、そのうち完走は6台 我々は千葉工大 fuRo チームで参加 (原 祥尭,西村 健志,入江 清, 吉田

    智章,大和 秀彰,友納 正裕) 完走+全チェックポイント通過の目標達成! (信号認識横断と探索対象発見は実施せず) 昨年度に引き続き、fuRo として5回目、通算8回目の完走 今年度のテーマ:3次元 SLAM、3次元自己位置推定、3次元経路計画 State-of-the-Art の OSS を複数評価、Cartographer + Autoware を採用 ROS Japan 勉強会 2018-12-17 5 概要 SLAM 自律走行 まとめ
  3. ロボット外観、搭載センサ 3D-LIDAR: Velodyne VLP-16 Depth Camera: Intel RealSense D435 (データ取得のみ)

    IMU: Xsens MTi-3 Drive Units: fuRo 独自開発 ROS Japan 勉強会 2018-12-17 6 0.65 m 0.8 m 0.5 m Drive Units (Motor Encoders) IMU 3D-LIDAR Depth Camera Laptop Computer 概要 SLAM 自律走行 まとめ
  4. Contents ROS Japan 勉強会 2018-12-17 8 1. 概要 2. 3次元

    SLAM による地図構築 3. 3次元自己位置推定と経路計画による自律走行 4. まとめ
  5. Google Cartographer LIDAR によるグラフベース SLAM ◼ フロントエンド:逐次的な隣接位置間と経路ループでの再訪位置間を、グリッド ベースのスキャンマッチングで位置合わせ(地図形式は占有格子地図) ◼ バックエンド:逐次制約とループ制約のポーズグラフを最適化するポーズ調整

    論文では2次元の手法を報告 W. Hess, D. Kohler, H. Rapp, and D. Andor: “Real-Time Loop Closure in 2D LIDAR SLAM”, ICRA 2016. OSS には3次元の手法も実装されている https://github.com/googlecartographer ROS Japan 勉強会 2018-12-17 9 概要 SLAM 自律走行 まとめ
  6. Cartographer を用いた3次元SLAM Cartographer 本体 は3次元地図を出力 しない(2次元投影) 内部を理解した上で パラメータ調整必須 ◼ オドメトリの寄与

    ◼ ループ検出の拡大 3次元は処理負荷大、 3~24時間程度 ROS Japan 勉強会 2018-12-17 10 800 m つくば市役所 研究学園駅前公園 ◆ 地面の占有空間(黒色)が ほぼ消えている ◆ 自由空間(白色)も ほぼ残っていない 走行距離 5 km 以上、 約1時間半走行 概要 SLAM 自律走行 まとめ
  7. 3次元点群地図の構築と移動物体の除去 Cartographer が最適化したポーズグラフ(走行軌跡)と LIDAR のスキャン点群から、3次元点群地図を構築 ボクセルを用いたバイナリベイズフィルタで移動物体を除去 ◼ 生の点群地図には、歩行者や 他のロボットなど移動物体が残る ◼

    従来のバイナリベイズフィルタ などでは、地面も消えてしまう ◼ 浅い照射のビーム通過を考慮 →地面の点群を適切に残す ◼ [原, 友納: ロボシン2019] の一部 ROS Japan 勉強会 2018-12-17 11 X, Y Z LIDAR hit (occupied) pass (free) unknown 地面はビームが浅い照射となり、 多くのレイが通過して自由空間と誤判定されてしまう 概要 SLAM 自律走行 まとめ
  8. ボクセルフィルタリングによる移動物体の除去 ROS Japan 勉強会 2018-12-17 12 生の点群 頻度占有モデル(従来手法) ベイズ占有モデル(従来手法) 浅い照射を考慮したベイズ占有モデル

    移動物体やノイズが含まれる 歩行者などの軌跡が残る 地面が消えてしまう 地面が消えてしまう 移動物体が消え、地面は残る 概要 SLAM 自律走行 まとめ
  9. Contents ROS Japan 勉強会 2018-12-17 14 1. 概要 2. 3次元

    SLAM による地図構築 3. 3次元自己位置推定と経路計画による自律走行 4. まとめ
  10. Autoware ROS 上に各種の自律走行ソフトを実装したパッケージ群、 組み合わせ方は色々あり得る https://github.com/CPFL/Autoware ◼ 自己位置推定(グラフベース SLAM は未実装) gnss_localizer,

    lidar_localizer (ICP, NDT) など ◼ 経路計画、動作計画 astar_planner, dp_planner, lattice_planner, waypoint_follower など ◼ その他、物体認識など 今回は lidar_localizer (ndt_matching) と lattice_planner を使用 諸々の改良を加えて我々のシステムに統合した ROS Japan 勉強会 2018-12-17 15 概要 SLAM 自律走行 まとめ
  11. 自己位置推定(lidar_localizer) NDT (Normal Distributions Transform) による3次元スキャンマッチング 計測点のボクセルに対応付ける(探索 不要)ため、地図が大規模でも高速 実装は PCL

    の関数呼び出し いくつかの不具合修正(ROS の座標変換 tf の使い方など)と機能追加をして使用 ROS Japan 勉強会 2018-12-17 16 対応付け 目標点群 スキャン計測(計測点群) 地図(NDセル) 概要 SLAM 自律走行 まとめ
  12. 経路計画と動作計画(lattice_planner) 3次元ウェイポイントを 現在位置の平面に投影 State Lattice Planner で3次スプライン曲線の 複数経路を生成 不具合修正と機能追加 をして使用

    3次元障害物検出、ロボット 中心ポテンシャル場を用い た速度決定 ROS Japan 勉強会 2018-12-17 17 ロボット位置 ウェイポイント列 経路候補 概要 SLAM 自律走行 まとめ
  13. 自律走行時のシステム構成 ROS Japan 勉強会 2018-12-17 18 Linux PC LIDAR IMU

    Motor, Encoder Motor, Encoder LIDAR Handler IMU Handler Vehicle Controller Localizer 3D Cloud Map Obstacle Detector Path Motion Planner Waypoint Route Behavior Script Ethernet UART-USB USB-CAN (CANopen) scan3d imu_motion wheel_speed odom cmd_vel est_pose obst launch  行動計画をシェル スクリプトで実装  チェックポイントの 切り替え、一時停止 でのオペレータ操作 入力など  ウェイポイント列は SLAMのポーズグラフ を分割して生成 概要 SLAM 自律走行 まとめ
  14. Contents ROS Japan 勉強会 2018-12-17 19 1. 概要 2. 3次元

    SLAM による地図構築 3. 3次元自己位置推定と経路計画による自律走行 4. まとめ
  15. まとめと今後の課題 3次元地形での自律走行を達成 SLAM、自己位置推定、経路・動作計画 Cartographer + Autoware を改良して実装 雨天も含め、コース全域で自律走行を確認 課題 

    広大な広場で自己位置推定が破綻(4回の走行に1回程度) →ベイズフィルタによる確率的融合が必要  長距離の3次元経路計画(ウェイポイント列の経路教示を不要に) →[原, 友納: ロボシン2019] にて3次元地形での経路計画を発表 ROS Japan 勉強会 2018-12-17 20 概要 SLAM 自律走行 まとめ