インテリジェントセンサーの時代と巨大化するソフトウエア(1)

三田典玄(本誌企画運営委員)

●Uberの事故の記憶

ライドシェアのUberテクノロジーズ(米)が、2023年に「UberAIR」という、自動運転車による配車サービスを計画しており、「Uber Elevate」というプロジェクトを2016年に立ち上げた。しかし、2018年3月19日、同プロジェクトの自動運転車が米国アリゾナ州で、クルマの前の横断者をはね、死亡させる、という事故が発生。自動運転車による初の死亡事故として注目された。後に様々な調査でわかってきたことは、事故車の前方の「不注意」は、ソフトウエアのミスによるもの、ということだった。自動車の周辺の人やモノを感知するセンサーは「LiDAR(Light Detection and Ranging、または、Laser Imaging Detection and Rangingの略とされている)」と呼ばれ、このセンサーの出力が自動車の航行コンピュータに送られ、前方に突然現れる人やモノなどのデータをコンピュータが瞬時に検知し、自動車のハンドルやブレーキなどに命令を送り、事故などを回避する、という仕組みになっている。しかし、自動航行のコンピュータがLiDARからの「前方に人がいる」という信号を、なんらかの原因で無視した、ということが事故の原因である、ということが、その後の調査でわかってきた。そこで、にわかに注目を浴びることとなったのが「LiDAR」センサーだ。

●LiDARは「センサー」ではない?

LiDARセンサーの内部構造図概念図

LiDARは「センサー」と呼ばれているが、そのセンサー内部には、超音波、電波(マイクロ波)、レーザー、等々のセンサーや、レーザーなどでは発光光を高速でスキャンする小さな駆動メカニズムつきのミラーや、レーザーの反射光を受ける受光素子などを内蔵し、そのセンサーの捉えるデータをセンサー内のコンピュータがキャッチし、その場でデータ処理を行い、データ処理後の「結果」をデータとして、自動航行のメインのコンピュータに送る。メインのコンピュータは、LiDARからのデータを受けて判断し、どのようにブレーキをかけるか、ハンドルを切るか、などの動作を駆動部に指示する。つまり、「LiDAR」は「センサー」と呼ばれているものの、その内部は「複数のセンサー+コンピュータ」である、ということだ。なぜLiDAR内部のセンサーのデータを直接航行のためのメインコンピュータに送らないか?というと、前方や後方の人やモノの情報処理も、メインのコンピュータで行うと、メインのコンピュータの処理が非常に多くなり、間に合わなくなってしまうため、咄嗟の動作ができなくなるからだ。メインのコンピュータはサブのコンピュータを手足として使う、という感覚である、と考えると、わかりやすいだろう。これまでも多軸制御のロボットなどでは、各関節などに小さなコンピュータを入れるなどの構成をとって、メインのコンピュータの処理の負担を低くする、ということをやっており、これを「マルチプロセッサ制御」と呼んでいた。つまり、1つのコンピュータだけでは時間的に処理が間に合わないので、複数のコンピュータに処理を分散させている、ということだ。