**********************************************************************
セッションs4a
テーマ:自動運転ソフトウェアプラットフォーム入門~要素技術と動作の仕組み~
講師:安積卓也(大阪大学)
日時:2017/8/25 13:00-14:10
参加人数:約60名
**********************************************************************

■講演
【自己紹介】
経歴、アーバンドライブWG

【自動運転のレベル分け】
日本では、ハンドル・アクセル・ブレーキの操作者や走行責任者に応じてレベル1~4の4段階で整理
海外では、レベル4を二段階に分けてレベル5を分類する動きもある。(走行範囲を限定するかどうか)

【レベル4:一般道での自動運転の難しさ】
複雑な交通ルール、整備されていない道路、様々な移動体

【自動運転ソフトウェアの役目】
ハンドルのステアリング角・アクセル/ブレーキのストローク量の3つを操作

【Autowareの構成】
LinuxをベースにミドルウェアのROSを利用して、センシング・自己位置推定・物体認識・経路計画をアプリケーションとして実装

【ROSとは】
ROS (Robot Operating System): ロボット開発におけるライブラリやツールを提供
ハードウェアの抽象化、デバイスドライバ、ライブラリ、視覚化ツール、データ通信、パッケージ管理...etc
特長
* 世界で最も利用されているロボットミドルウェア
* 豊富な対応ロボット・センサ
* オープンソース
* サポート言語: C++, Python
* 管理団体:OSRF
* 対応OS:Linux
* Publish / Subscribeモデル
* 分散システム
* 視覚化・シミュレーションツールが豊富

【高精度3次元地図】
ポイントクラウド地図とADAS地図によって構成される。
ADAS地図などは半自動で作成。
<動画によるデモ>

【センシング:LIDAR】
1000万~100万円で販売されている。取得できる点密度に応じて価格が変化する。
velodyne社のセンサがメジャー
レザーセンサを用いて、SLAM技術によって業者に頼まなくても3次元地図生成が可能

【自己位置推定】
要件:精度・リアルタイム性・安定性
手法:デッドレコニング・GNSS(GPS)・スキャンマッチング
→デッドレコニングは長距離利用すると誤差が累積
→GNSSは建造物に囲まれると精度が大幅に低下
→スキャンマッチングは周囲に特徴物がないと位置が一意に定まらない
最適解:スキャンマッチングをメインに、GNSS、デッドレコニングの組み合わせ

日本独自の準天頂衛星の打ち上げも近年活発化
→取得衛星の増加でGNSSの精度向上
<動画によるデモ>

スキャンマッチング
ICP:近傍点を探索し二乗誤差を最小にする
NDT:地図空間を正規分布に近似して計算量を削減

【物体認識検出】
DPM:HOG特徴量画像に変換して、"人間が作成した"モデルを利用して検出
SSD, Yolo: 画像分割までを学習して高速化された(精度を若干犠牲にしている)機械学習のアルゴリズム
<動画によるデモ>
検出された物体との距離を計測
座標変換により3次元空間に投影

【信号認識】
地図情報を活用して、限られた部分(ROI)のみに画像認識を行って信号認識。
誤検出や計算量を削減している。
<動画によるデモ>

【経路計画・軌道生成】
①経路計画:スタートからゴールまでの大まかな経路を計画
②軌道生成:車両の運動特性を考慮してすぐ近くまでのなめらかな経路を生成
③生成された経路を追従するための速度・角速度を車両へ伝達

高精度地図の車線情報を経路(Waypoint)に変換する
経路探索アルゴリズムとして、ダイクストラ法でなくA*アルゴリズムが使われることが多い。
(車両運動を考慮して、少し改良)
satate lattice法も実用化はまだだがアルゴリズムとしては確立されている。
pure pursuit: 経路上の目標点と自己位置の情報を基に車両制御信号を計算

【車両制御】
簡単なPID制御を利用。等速円運動モデル。
<動画によるデモ>

【採用事例】
Udacity:Sebastian Thrun、David Stavens、Mike Sokolskyが設立したオンライン教育機関
UdacityのSelf driving carのベースにAutowareを採用
アイシンAW:HMIの部分を独自に担当。
ヤマハ発動機:自社車両をベースにしたバイワイヤ車両

■質疑応答
Q. アイシンAWの事例での、システムの異常検知の方法は?
A. 地図から静的に得られた情報を用いて警告を発している

Q. ステアリングやアクセル・ブレーキのスムーズな操作はどこまで研究が進んでいるのか?
A. 公表はされていないが、多くの企業が取り組んでいる。Google等では数万マイル走行したデータを用いた機械学習を多なっている

Q. コンピュータの異常終了・バグ時の対応は?
A. 状態遷移を利用して行うが、異常検知はまだ進んでいない。利用者の定義次第になる

■まとめ
オープンソースで利用可能な自動運転機能の概略について説明
(NDTによる自己位置推定技術、ディープラーニングによる環境認識技術、A*やsate latticeによる経路計画・車両制御技術等)
デファクトスタンダードなプラットフォームとしてROSが利用されている。

以上。