[go: up one dir, main page]

Cartographer と Autoware
を用いた自律走行
千葉工業大学 未来ロボット技術研究センター
原 祥尭(HARA, Yoshitaka)
ROS Japan 勉強会 2018-12-17
自己紹介(略歴)
2007年:筑波大 油田・坪内・大矢研 修士
2007年~2011年:日立製作所 日立研究所
(旧、機械研究所)
2012年~2015年:学振特別研究員DC1
2015年:筑波大 坪内・大矢研 博士
2015年~:千葉工大 未来ロボット技術研究センター(fuRo)
ROS Japan 勉強会 2018-12-17
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
自己紹介(SLAM 解説)
日経 Robotics 連載 “ SLAM とは何か”,
全18回、2016年5月号~2017年11月号(2017年4月号は休載)
“SLAM とは何か:自己位置推定と地図構築の全体像”,
RSJ 第112回ロボット工学セミナー, 2018.
ROS Japan 勉強会 2018-12-17
3
ROS Japan 勉強会 2018-12-17
4
公道(歩道)で行われる自律
走行公開実験(6月~11月)
一般の人々がいる日常環境
2007年度から毎年実施、
2018年度から第3ステージ
運営にも参加(今回から幹事)
つくば市役所
研究学園駅前公園
つくばチャレンジ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 自律走行 まとめ
ロボット外観、搭載センサ
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 自律走行 まとめ
つくばチャレンジ2018での自律走行
ROS Japan 勉強会 2018-12-17
7
https://youtu.be/njw9BPQUoa0
概要 SLAM 自律走行 まとめ
Contents
ROS Japan 勉強会 2018-12-17
8
1. 概要
2. 3次元 SLAM による地図構築
3. 3次元自己位置推定と経路計画による自律走行
4. まとめ
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 自律走行 まとめ
Cartographer を用いた3次元SLAM
Cartographer 本体
は3次元地図を出力
しない(2次元投影)
内部を理解した上で
パラメータ調整必須
 オドメトリの寄与
 ループ検出の拡大
3次元は処理負荷大、
3~24時間程度
ROS Japan 勉強会 2018-12-17
10
800 m
つくば市役所
研究学園駅前公園
 地面の占有空間(黒色)が
ほぼ消えている
 自由空間(白色)も
ほぼ残っていない
走行距離 5 km 以上、
約1時間半走行
概要 SLAM 自律走行 まとめ
3次元点群地図の構築と移動物体の除去
Cartographer が最適化したポーズグラフ(走行軌跡)と
LIDAR のスキャン点群から、3次元点群地図を構築
ボクセルを用いたバイナリベイズフィルタで移動物体を除去
 生の点群地図には、歩行者や
他のロボットなど移動物体が残る
 従来のバイナリベイズフィルタ
などでは、地面も消えてしまう
 浅い照射のビーム通過を考慮
→地面の点群を適切に残す
 [原, 友納: ロボシン2019] の一部
ROS Japan 勉強会 2018-12-17
11
X, Y
Z
LIDAR
hit (occupied)
pass (free)
unknown
地面はビームが浅い照射となり、
多くのレイが通過して自由空間と誤判定されてしまう
概要 SLAM 自律走行 まとめ
ボクセルフィルタリングによる移動物体の除去
ROS Japan 勉強会 2018-12-17
12
生の点群
頻度占有モデル(従来手法)
ベイズ占有モデル(従来手法)
浅い照射を考慮したベイズ占有モデル
移動物体やノイズが含まれる
歩行者などの軌跡が残る
地面が消えてしまう
地面が消えてしまう
移動物体が消え、地面は残る
概要 SLAM 自律走行 まとめ
移動物体を除去した3次元点群地図の全景
ROS Japan 勉強会 2018-12-17
13
height coloring
自動で地図構築、手動での修正なし
概要 SLAM 自律走行 まとめ
Contents
ROS Japan 勉強会 2018-12-17
14
1. 概要
2. 3次元 SLAM による地図構築
3. 3次元自己位置推定と経路計画による自律走行
4. まとめ
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 自律走行 まとめ
自己位置推定(lidar_localizer)
NDT (Normal Distributions Transform)
による3次元スキャンマッチング
計測点のボクセルに対応付ける(探索
不要)ため、地図が大規模でも高速
実装は PCL の関数呼び出し
いくつかの不具合修正(ROS の座標変換
tf の使い方など)と機能追加をして使用
ROS Japan 勉強会 2018-12-17
16
対応付け
目標点群
スキャン計測(計測点群)
地図(NDセル)
概要 SLAM 自律走行 まとめ
経路計画と動作計画(lattice_planner)
3次元ウェイポイントを
現在位置の平面に投影
State Lattice Planner
で3次スプライン曲線の
複数経路を生成
不具合修正と機能追加
をして使用
3次元障害物検出、ロボット
中心ポテンシャル場を用い
た速度決定
ROS Japan 勉強会 2018-12-17
17
ロボット位置
ウェイポイント列
経路候補
概要 SLAM 自律走行 まとめ
自律走行時のシステム構成
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 自律走行 まとめ
Contents
ROS Japan 勉強会 2018-12-17
19
1. 概要
2. 3次元 SLAM による地図構築
3. 3次元自己位置推定と経路計画による自律走行
4. まとめ
まとめと今後の課題
3次元地形での自律走行を達成
SLAM、自己位置推定、経路・動作計画
Cartographer + Autoware を改良して実装
雨天も含め、コース全域で自律走行を確認
課題
 広大な広場で自己位置推定が破綻(4回の走行に1回程度)
→ベイズフィルタによる確率的融合が必要
 長距離の3次元経路計画(ウェイポイント列の経路教示を不要に)
→[原, 友納: ロボシン2019] にて3次元地形での経路計画を発表
ROS Japan 勉強会 2018-12-17
20
概要 SLAM 自律走行 まとめ

Cartographer と Autoware を用いた自律走行