ssk tech blog

自律移動ロボットの話を書きます

Udacityにある自動運転ソフトウェアbaidu apolloの無料解説講座内容まとめ

目次

はじめに

こんにちは.ササキ(@saitosasaki)です.
今回はUdacityにあるbaiduの自動運転ソフトウェアapolloの無料解説講座を受講したので内容をまとめました. 自分の気になったとこメインでまとめているので.すこし内容に偏りがあります(汗. www.udacity.com
この講座は文字通り"apolloの特徴"について各機能モジュール毎に簡単に説明して,プログラミング課題は無いです。 倍速なら数時間で見れて,apolloの概要が掴めてとても良かったです.数式による説明もないので,「自動運転or自律移動ロボットなんもわからん」という人も見れると思います.

まとめ

注意:LはLessonの略です.

L1. 講座概要

"自動運転とは何か"から"apolloとは何か"までザックリ説明しています.
apollo structure
f:id:ssk0109:20190611150359p:plain

L2. HD(High Definition) Maps

自動運転にはgoogle mapのような地図ではなく三次元の高精度な地図が必要で,その説明をしています.

L3. Localization

自動運転におけるLocalizationの基本であるRTK-GNSS,INS,LiDAR Localization,Visual Localizationの説明をしています.
apolloではGNSS/INS/LiDARを複合をした自己位置推定を使用しており,それに関する論文がICRA2018で採択されています.

arxiv.org

L4. Perception

ニューラルネット,畳み込みニューラルネットを簡単に説明し,Perceptionにおいてはディープラーニングで物体検出,分類,セグメンテーションを使っていると説明しています.

L5. Prediction

ここでいうPredictionは自車両以外の物体の動きを予測することです.
予測にはモデルベースなものと機械学習によるデータドリブンなものがあります.
モデルベースな手法はLane Seqence-based Predictionと呼ばれるものを使っています.道路を複数のセグメントに分割し,動きのパターンをレーンセグメントのシーケンスとして記述します.
レーグセングメントの例(水色で囲まれているのがひとつのセグメントです.) f:id:ssk0109:20190611140159p:plain 機械学習による手法はターゲットのレーン予測にRNN(Recurrent Neuaral Network)を使っています.

L6. Plannning

経路計画はグロバールプランナーはA*, ローカルプランナーは経路-速度のDecopled Planning,Lattice Plannningが使われています. (余談ですが,ここだけ動画数が多くて気合が入ってる気がします.)

  • Frenet Coordinates
    一般的な座標であるCartesian Coordinatesは車両にとって最適ではないので,Frenet Coordinates と呼ばれる道路に対して自動車の位置を表す座標系を使っています.
    Cartesian Coordinates
    f:id:ssk0109:20190611140821p:plain
    Frenet Coordinates
    f:id:ssk0109:20190611141006p:plain

  • Decopled Planning
    Decopled PlanningはPlanningをパス計画と速度計画の2段階に分割します. まずパス計画では、車両が走行できる経路である候補曲線を生成し,パスをコストでランク付けし、最もコストの低いパスを選択します。次に速度計画において、このパスに沿って移動する速度を決めます。

L7. Control

Controlは「進行方向にPID,ステアリングにLQR(Liner Quandac Reglater)」と「MPC(Model Predictive Control)」 があると説明しています.