注目の自動車ニュース

ソフトウェア業界から見たクルマのソフトウェア化の未来

  • 《photo by Tesla》

◆自動運転などに欠かせないソフトウェア変革の鍵は「オープンソース」
自動車業界を含めて多くの業界が大きな変革の中にいます。インターネットやスマートフォンを可能にしたソフトウェアがその原動力ですが、特に自動車は2輪車も含め環境保護の観点からも変革を求められていると言えるでしょう。エンジンではなく電気モーターで走るTeslaが大きく支持され既にかなりのシェアを持つに至っています。自動車に関わっている人なら初めてあの大きな液晶パネルがセンターコンソールに置かれているのを見て驚かれたかもしれません。

自動運転やインターネットと連携する運転支援システムにはコンピュータとソフトウェアの知識が必須となります。そのようなシステムを作るためには高性能な最新CPUや特殊なハードウェアが無ければ不可能なのでは?と思われるかもしれませんが、実際には安価なコンピュータを数万台から数十万台繋いでシステム化することで実現されています。

それがクラウドコンピューティングです。GoogleもFacebookも安価なサーバーを大量に購入して自社のサービスを提供しています。それを一般企業や個人ユーザーにも提供するのがAWSやMicrosoft Azureなどのパブリッククラウドベンダーです。

この変革の原動力となっているのがソースコードを無償で公開して利用することができるオープンソースソフトウェアです。かつてのコンピュータ業界はベンダーが開発した独自OSの上にアプリケーションを実装することで閉じたエコシステムを作っていました。IBMのメインフレームはその代表的な例ですが、約30年前にヘルシンキの大学生だったLinus Torvaldsという若者がPCの上にUnixを移植し、そのソースコードを公開したことでOSを無償利用できる、ソースコードを公開することで誰もが改良できるという画期的な動きが始まりました。

あれから30年、ヘルシンキの大学生が作ったLinuxはインターネットを稼働させている主要なOSとなり、オープンソースソフトウェアを使って業務用システムを構築することは当たり前になりました。競合するコンピュータメーカーであっても同じソフトウェアを開発し、世界中のエンジニアが協力してバグの修正や脆弱性への対応を行っていることは自動車業界からみれば特異なことのように思われるかもしれません。

イノベーションとコラボレーションが企業固有のソフトウェアによって囲い込まれた中で起きるのではなく、ソースコードを公開することによってより加速するという現象が自動車業界を含む全ての業界にインパクトを与えています。

◆各国メーカーがオープンな開発環境へ参加
トヨタやマツダ、スズキなどの国内自動車メーカーに加えてメルセデスベンツ、フォード、フォルクスワーゲンなどの欧米自動車メーカー更にデンソーやパナソニックなどの部品メーカーもこの流れにのってイノベーションを起こそうとしています。

Linuxを中心としたオープンソースソフトウェアの拡大を推進する非営利団体、The Linux Foundationの配下にあるAutomotive Grade Linux(以下、AGL)というプロジェクトにこれらの伝統あるメーカーが集まって共同でソフトウェアを開発しているのです。このプロジェクトの中ではトヨタやマツダ、スズキなどが車載システムの中核となるサブシステムについてリーダーとして競合他社も含む世界各国の企業から参加しているエンジニアを取りまとめて開発を行っています。

また自動車メーカー以外では音声認識においてもAmazonがAlexaで使われている音声認識モジュールを提供していることからも各社が得意な部分を持ち出してこのプロジェクトに協力していることが分かります。全ての開発プロセス、意思決定は公開の場で行われ、透明性が確保されています。例えば、自動車製造とは全く関わりのないエンジニアがIn-Vehicle Infotainment(IVI)に関する機能追加を行おうと思えば、原則として可能です。これはこれまでのメーカーが閉じた開発チームで行ってきた製品開発とは180度異なる形態です。

表面的には各自動車メーカーが競っているように見えるクルマのソフトウェア化ですが、実際は競争しながらも協力を惜しまないCoopetition(Corporation協業とCompetition競争の合成語)を行っています。それを可能にしているのがソースコードを公開して協力して開発を進めるオープンソースプロジェクトなのです。

◆自動車は「小さなサーバー」だが、想像以上に複雑な小宇宙
ソフトウェア業界の視点から言えば、自動車とは言え組込み系のシステムのひとつですし、クルマを小さなサーバーと見なせば、WiFiや4G/5Gのモバイルネットワークを介してインターネットと接続しデータセンターのサーバーやデータベースと連携する形はクライアントサーバー型システムやクラウド側にデータベースを持つスマートフォンのアプリケーションの開発モデルとさほど変わらないように見えるでしょう。

しかし単なるPCやサーバーの延長線上に自動車が存在し、容易に実装できると思うのは間違いです。車体の中には様々な部品がそれぞれの機能を果たすように使われています。車内の配線だけでも複数種類が存在し、それぞれが役割を果たしています。幅2メートル、長さ5メートルに収まる金属の箱は走る止まる曲がるという機能を実現するだけと思われがちですが、想像以上に複雑な機構を備えた小宇宙なのです。

このイラストはサムスン電子のインドの研究開発センターのエンジニアが2022年6月に行われたOpen Source Summit NA 2022で発表したセッションから引用していますが、車内ではオフィスなどでPCを繋ぐために使われているEthernetの他に様々な配線が使われていることがわかります。

またユーザーインターフェースについても速度や燃料計などを示す計器盤(AGLではInstrument Clusterと呼称、以下IC)とカーステレオやナビゲーションなどを表示するIVIがあり、それぞれの役割を果たしていますが、単に液晶モニターの中に情報を表示すれば良い訳ではありません。ICは速度や回転数などリアルタイムで重要な情報を表示し、IVIには再生されている音楽のタイトルやジャケットのイメージなどユーザーを楽しませるための情報を表示することが必要です。

次のスライドは2022年4月13日に開催されたAGL Tech Day 2022というバーチャルカンファレンスで発表されたアイシンとルネサスのエンジニアによるセッションからの引用です。ICには高い品質管理が必要であることに対してIVIは常に最新の機能を搭載し続ける必要があり、同時にスマートフォンのようにAppStoreからアプリをダウンロードするという使われ方も想定しています。

これだけで異なった使われ方があることが分かるでしょう。同じ液晶モニター上の情報と言っても車載システムにおいては役割も品質も異なり、目指す形を実現するためにはパズルのような複雑さが発生します。

またユーザーエクスペリエンスの視点からは視線を動かさずに情報を提示するためにICの中にIVIの一部の情報を組み合わせるための仕組みについても解説しています。ここでは左上に表示されているミュージックプレイヤーの画面を速度、エンジン回転数などを表示するICの中央に現在再生中の楽曲の情報を表示する仕組みになっています。

これらすべてが独自の組込用システムで一体となって開発されるのではなく、オープンソースソフトウェアを使って多くの企業が参加するコミュニティにおいて合意を取りつつ、進めなければいけないというのがオープンソースソフトウェアの特徴です。

様々な意見や使い方、国や文化の違いなども取り込みつつ、基本形となるリファレンスモデルを提示して、オープンな議論を経て決定し、仕様を公開しそれを各メーカーが最終的に製品の形に落とし込んでいくやり方です。1社が自社製品を開発するだけならトップダウンで全てを決定することも可能ですが、オープンソースソフトウェアにおいては調整したり合意を取ることに時間と労力がかかります。

オープンソースソフトウェアを選択することで自社で独自開発するよりも多くの時間と労力が削減できることはオープンソースを選択する大きな理由ですが、日本式に言えば調整の根回しが企業の壁を越えたところで発生してしまうのです。

AGLではユーザーインターフェースを開発するためにC++で開発されたアプリケーション開発用フレームワークQtが使われていましたが、AGLの最新のリリースではQtに変わってGoogleが開発を推進するオープンソースソフトウェアのアプリケーション開発フレームワーク、Flutterに置き換わることが予定されています。Qtのライセンスに関する問題を回避するのが目的のようですが、これも調整と根回しの成果です。

IC及びIVIのシステムにおいてLinuxカーネルの上に実装されたコンテナーランタイムの上で各アプリケーションが実行されていることはソフトウェア業界のエンジニアにとっては馴染みのあるものでしょう。クラウドコンピューティングで使われている技術が車載システムにおいても応用されていることは注目です。

更に事情を複雑にしているのが、コネックテッドカーという発想でしょう。ネットワークを介してデータセンターのシステムと車輛が連携することで混雑情報などの経路に関する最新情報や車輛の遠隔監視、走行情報からドライバーの特性を診断することで保険に応用するなどの使われ方が想定されています。データセンターとの通信方法、通信障害時の対応、データの保護やプライバシーなどクルマを作っているエンジニアからみれば違う世界との関わりが必須となってきます。ここも自動車メーカーのエンジニアにとっては複雑なパズルと言えるでしょう。

◆ITと自動車、交わる2つの業界
ソフトウェア業界の視点から言えば、Yoctoという組込系Linuxディストリビューションの上にハイパーバイザーとコンテナーが搭載されていることは、馴染み深いとは言えるものの複数のモニターと音声やタッチパネルなどのユーザーインタラクション、センサーからの’情報を元に安全にクルマを運転するというのが決して簡単なシステム構築ではないことが分かります。

自動運転など各国の規制当局との調整や更なる安全への技術開発などハードルは山積みです。しかしソフトウェアで実装できる部分が増えていることは大きな可能性を秘めています。人工知能を使ったアシスタンスやインターネット上のエンターテイメントコンテンツとの連携、スマートフォンに慣れているユーザーにとって同じ使い勝手の実現やコンテンツの利用などよりインターネットネイティブなユーザーにとってワクワクするような体験を与えるための土台は出来つつあります。

オープンソースコミュニティで一緒に働きながら、ビジネスの世界では競争する、それはIT業界も自動車業界も同じです。これからこの2つの業界が交わりつつ発展していく道を見守りたいと思います。