●自動運転とは認知、判断、操作を機械で行うもの
今回はテクノロジーに関して、具体的には最近の自動運転はどのようにできているのかという点について、お話ししたいと思います。
自動運転については、自動車メーカーやスタートアップ、そして大学の考え方はそれぞれ異なります。ここで紹介するのは、おそらく最もベーシックな考え方となるので、他のさまざまな自動運転に応用できる知識ではないかと思います。
まず、自動運転の心臓部、コアとなるのがソフトウェアです。当然自動運転ですので、車両がなければ運転できませんし、センサーがなければ周りの状況を認識できませんが、最も重要なのは、車両をどのように操作するか、センサーから得られた情報をどのように処理するかというソフトウェアです。特に「基本ソフトウェア」と呼ばれる機能が、自動運転のコアとなります。
自動運転を非常に分かりやすくいうと、認知、判断、操作という三つの操作を機械によって行うものです。認知とは、例えば自分がどこを運転しているのかという位置を推定することや、歩行者や周りの車両などの物体を検出し、どれくらいの大きさのものが自分からどれくらいの距離に存在するのかを把握し、可能であればその物体が1秒後や3秒後にどのように動くか予測することを指します。
自分の位置や周りの物体を検出することができれば、その結果を用いて自分の行動を計画していく、つまり判断するというフェイズに移ります。例えば、曲がる、進む、止まるという3つの動作のどれかを選択するということです。前に歩行者がいた場合には、止まらなければなりません。しかし、前に路上駐車している車がある場合には、止まらずに曲がって回避した方が良いでしょう。そのような判断を行うのが、2つ目のフェイズです。
3つ目のフェイズは、例えば曲がるという判断をした場合に、実際に曲がらなければなりません。ハンドルをきるイメージや、アクセルブレーキを踏むような操作にあたり自動化することが、操作、あるいは操舵というフェイズになります。
これを全て一つのソフトウェアとして提供することが「自動運転の基本ソフトウェア」と呼ばれています。もちろんこれは基本ですので、例えば運転を滑らかにする、人間の心地よさを考えるなどの、さまざまな応用が考えられますが、基本ソフトウェアといった際には、認知、判断、操作の機能を備えているものを指します。
●3次元の地図を重ね合わせてセンサー情報と組み合わせる
これを分かりやすく説明しようと思います。車両だけがあったとき、仮にカメラと簡単なセンサーがあったとしても、ソフトウェアがなければ、データは取得できてもそれを処理することができません。
まず、センサーのデータを処理するソフトウェアをドライバーと呼びます。これがあれば、センサーから得られた情報をコンピュータの中で意味のあるデータとして認識することができます。特にわれわれが重視しているのは、ライダー、もしくはレーザーレーダーなどさまざまな呼び名がありますが、光を照射して、それが跳ね返ってくる時間を用いて距離を算出するというセンサーです。
これが今、自動運転の業界で非常に注目されています。このライダーを搭載すると、周りの環境を3次元スキャンするようなイメージを持っていただければ良いのですが、周りの状況がなんとなく分かるようになるのです。これに加えて、カメラやGPSなどを搭載すると、一般的な自動運転車の構成となります。
ただ、このセンサーからの情報だけを処理していると、なんとなくそこに何かがあるのは分かるものの、それが具体的に何なのかは分かりません。まず、自分のいる位置をここに重畳させる、つまり今自分がセンサーを通じて発見したものが、自分のレーンにあるのか、隣のレーンにいるのか、歩道にあるのかなどを識別するために、現在注目されている環境のデータを3次元地図という技術を用います。これは、全てをセンサーで認識するのではなく、あらかじめ3次元の構造を持った地図情報を搭載しておくものです。これを用いることで、センサーを通じて発見した物体が、自分のレーン上にあるのかどうかが分かります。その後、判断のフェイズでは、もし物体が自分のレーン上にないのであれば、そのまま進めば良いですし、自分のレーン上にあるのであれば止まる、あるいは減速するという形で用いることができます。
●ディープラーニングによる予測と実用化に向けた課題
おそらく大学で今最も人気があり、研究が発展してき...