自動運転、電気自動車、テスラ・BYDなどの勢い、100年に一度の革命期といわれる自動車業界。
その根幹を担っているのは自動車のITシステムです。
今回は自動車×ITという大テーマの中から「自動車エンジニアリングと仮想環境」についてお伝えできればと思います。
②「自動車ITエンジニア」はどんな仕事をしているの?
①自動車エンジニアリングにおける「V字プロセス」
自動車を作るためにもITシステム同様に「要件定義→基本設計→詳細設計→実装→結合試験→総合試験」があるのですが、画像にあるV字プロセスというやり方をします。
- 車両設計(どんな車を作りたいか、車両一台の仕様を設計)
- システム設計(その車を実現するために、エンジンやシャシーなどシステムレベルの仕様を設計)
- ユニット設計(サブシステムともいいます、システム下のユニットの仕様を設計)
- 部品設計(最後にそのユニットを実現するための部品の仕様を設計)
その後に試作品を作成し、部品検証→ユニット検証→システム検証→車両検証と、具体から抽象へ検証していきます。
また一気通関ではなく、部品だけを何度も設計・検証したり、部品とユニットを設計・検証したりもします。
この具体から抽象、抽象から具体、そしてループで設計検証するこの工程をV字プロセスと呼んだりしていて、現在はこのプロセスのほとんどを仮想環境で行なっています。
②「自動車ITエンジニア」はどんな仕事をしているの?
私は業務で自動車のコンピュータ部分である「ECU(Electric Control Unit)」を扱っています。 自動車にはこのECUが車内外の至る所についていて、様々な情報のやり取りをしています。
例えば、「車に鍵を持って近づくと施錠が解除される」という機能を実現したいとします。
その時にはこういった条件が必要になるでしょう。
1. その車のエンジンが停止していること
2. その車が停止状態(0.0km/h)であること
3. その車が施錠されている状態であること
4. その車のドアが閉まっていること
5. その鍵がその車の本物の鍵であること
など、これ以外にもたくさんの条件が揃っていないと安全な機能とは言えません。
これらの情報をやり取りするのがECU間ネットワークです。
例えば、1. その車のエンジンが停止状態であることは
エンジンがオフになっていてエンジンの回転数がゼロであるという情報を
エンジン系のECUが集めてきて、ドア施錠系のECUへ正常に伝達できれば条件達成です。
私はこの情報伝達(ECU間のコミュニケーション)を各ECU担当やシステム担当の仕様をもとに専用ツールの仮想環境で作成しています。もう少し言うと、仮想環境でECU間の信号(例えば、00 = Power OFF, 01 = Power ON[50%], 10 = Power ON[100%], 11 = Not available)のように2進数か16進数で作成していきます。
業務の秘匿性が高く一般的なことしかお伝えができないのですが、みなさんが日常的に使っているであろう自動車はこのように複雑なシステムであり、多くの人々の苦労によって作られていることが少しでも伝われば幸いです!