群馬大学の自動運転
第11回 Simple is best…

群馬大学の自動運転車の仕組みをご紹介しましょう。

自動運転車は「目」を持たねばなりません。その役割を果たすのがセンサー類です。
基本はGNSS(Global Navigation Satellite System=全地球測位システム)とLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging=光を使ったレーダー)です。

GNSSは人工衛星を使って地上の位置を測るシステムのうち、全地球を対称とするものをいいます。カーナビに使われるGPSもその1つで、これはアメリカが運用しています。自動運転車は衛星からの信号で自分の位置を大まかに知るのです。
人がハンドルを握るのなら、自分の位置を知るのはその程度の情報で充分です。位置が少しずれても、ドライバーが修正するからです。
しかし、完全自動運転車にはドライバーがいません。車を操るのは融通の利かないコンピューターです。限りなく正確な位置情報がなければ事故に繋がりかねません。その役割を担うのが、前にもご紹介したLIDARです。
16本のレーザー光を360度回転しながら出し、跳ね返って戻って来る時間のずれから、光が当たった物体の形を三次元のデジタルデータとして把握します。自分で光を出すので闇夜でも使えます。これで周りの物体を認識し、自分が持っている三次元地図と照らし合わせて、正確に自分がどこにいるかを知ります。
泣き所は色の識別ができないことです。だから、信号の色を見分けることができません。また、道路の白線や道路標識も判別が難しく、地上から上に延びる棒状の物が電柱なのか人なのかの判断にも困惑します。
だから、補助のセンサーとしてカメラを使います。これなら色の判別も出来ます。さらにジャイロスコープで車の加速度やハンドルの切り具合、車の姿勢などを検出します。
いずれにしても、センサー類については自動運転車を開発しているところはどこも、同じような構成をとっています。

こうして、自動運転車は自分の位置を知り、周りの物体の情報を得ます。GNSSは別として、あとは人がごく当たり前のこととしてひとりでこなしている作業です。人は大変な能力を持っているのです。

この情報をどう使って車を操縦するのか。人でいえば脳の働きをするのはコンピューター、そしてソフトウエアです。

【注1】
自動運転システムは大きく分けて、周りの環境を把握する「認識」、次の動きを決める「判断」、アクセルやハンドルを動かす「制御」の3段階で構成される。これらの司令塔となるのが車載コンピューターとソフトウェア(アルゴリズム)であり、人間の脳神経系に相当する重要な役割を担っている。

 群馬大学の特徴は、このソフトウエアをすべて独自に書き上げていることです。
いま世の中には、自動運転に必要な認識、判断、制御を担うソフトウエアのパーツがたくさん出回っています。適当なパーツを組み合わせ、その上で一部を書き換えたり、書き加えたりして自動運転車を操るという考え方を、多くの開発機関(企業を含めて)が採用しているようです。
しかし、群馬大学のチームは、全てのソフトウエアをゼロから自力で作っています。
前にご説明したようにディープラーニングを採用していないので、ソフトウエアは

「こういう時は、こうしなさい」

という

「if ……、then ……」

という昔ながらの構文で書いています。それも極めて短く、A4の紙にプリントアウトすると20数枚と言いますから、全体で4000行程度でしょう。極めて軽いソフトウエアです。

コンピューターの性能が上がるにつれて、ソフトウエアはだんだん機能が増えて重くなりました。かつではCD-Rで収まっていたソフトも、いまではDVD-Rでなければはいりきらなくなっています。
そんな流れに逆らうような群馬大学のソフトウエアには、

「たったそれだけ?」

と疑問を持たれる方もきっといらっしゃるでしょう。

しかし、それで立派に自動運転車として動いています。群馬大学の考え方からすると、他のソフトウエアが必要以上に長いのです。

必要十分なソフトウエアなら、短く軽いことには大きなメリットがあります。一部を改良したり、ソフトウエアにつきもののバグ(間違い)を修正したりするのが楽なのです。
長行のソフトウエアはバグが見つかると、そのバグがどこに潜んでいるのかを見つけるだけでも大変な作業になります。また、改良しようと一部を書き換えると、それがたくさんの他のところに影響を及ぼして予期しなかった不具合が多数発生し、何とも手の施しようがなくなることもあり得ます。
なかでも、コンピューターに自分で勉強させるディープラーニングのソフトウエアは、何しろ自分で学んで自分で判断するソフトですから、ある不具合が起きた時、コンピューターがどんな情報を元に、どんな論理でその判断を下したのかの解明がほとんどできない、という人もいます。不具合の原因が分からなければ対策のとりようもありません。群馬大学がディープラーニングの採用に慎重な姿勢を崩さないのには、そんな理由もあります。
ソフトウエアも、Simple is best.なのです。

【注2】
ディープラーニング(深層学習)などのAI技術において、AIがなぜその判断・結論に至ったのかという内部処理の過程が人間には解読不能(不可解)になる現象を「ブラックボックス問題」と呼ぶ。高い認知・判断能力を持つ一方で、事故や不具合が生じた際の責任追及や原因究明、安全検証が極めて困難になる点が、交通インフラや医療などの安全性が最優先される分野での大きな課題となっている。

 ソフトウエアは群馬大学の開発の中心になっている小木津武樹助教が、主要部分は1人で書き上げました。2016年に群馬大学に移籍するまでにほとんど仕上がっており、その後は自動運転車に持たせる三次元地図とセンサーが集めた車の周りのデータを照らし合わせるプログラム、500〜600行を付け加えただけです。

【注3】
この「事前につくった高精度3D地図データ」と「LiDAR等のセンサーがリアルタイムで捉えた形状データ」を重ね合わせて自車の位置を高精度に特定する技術は、自己位置推定(ローカライゼーション)と呼ばれる。群馬大学のシステムは、この位置合わせの処理を徹底的に軽量化・高速化することで、極めて少ないコード量と低い計算負荷での安定走行を実現している。

 群馬大学の武器はこのシンプルなソフトウエアです。今日も試験車を走らせては、不具合があればソフトを書き直し、こうすればもっと安全で快適な乗り物になるとと分かればソフトを改良する。
こうして信頼の置ける完全自動運転車の完成に向けて研究・開発を続けているのです。

×     ×     ×     ×     ×     ×     ×     ×     ×     ×     ×

沼田屋タクシーのHPに掲載する予定だった「群馬大学の自動運転」はこの後20回まである。しかし、12回以降は小木津氏のプロフィール紹介なので、ここに掲載する意味はないと判断し、これで連載を終了する。
いまの目で見て、群馬大学の自動運転研究をかなり厳しく評価しているが、執筆当時は大きな期待を抱いていた。沼田屋タクシーに三次元地図データを収集する機器が搭載されたら詳細なルポも書こうと思っていた。それが実現しなかったことは、いま思い返しても残念という他ない。

コメント