第11話 暗躍と光明
【豊国テクニカルセンター(TTC)メインビル二九階役員フロア】
取締役会後、正一に自宅謹慎を指示した中西社長代理は社長室に入った。そして社長の執務席に腰を降ろすと満足した様にニンマリと微笑んだ。
ドアをノックする音がする。
「入ってくれ」
「失礼します……」
入って来たのは社長秘書の高橋だ。
「中西副社長、いえ社長代理。ADAS開発部の大山課長がいらっしゃってます」
「分かった、入って貰ってくれ」
「失礼します!」
大山が入って来る。秘書の高橋が大山の後ろでドアを閉める。
「大山君、君のADASプログラムの問題で私達の立場は危うかったが、何とか尻拭いはしたぞ。今度は君が成果を出す番だ。解析状況はどうだ?」
大山が言いにくそうに答える。
「現在は緘口令を引いている関係から五名のみで解析を進めておりますが……、残念ながら問題の特定には至っていません。ソースコードに関してはADASコントロールユニット以外の再検証は全て終了済みです。ADASコントロールユニットはサプライヤーの『モバイルグラス』がソースコードの開発を担当していますが、『モバイルグラス』に本件を伝える事が出来ないので、我々で解析しています。今の所、通常モードは九八パーセントの検証が終了しております。問題はフェールセーフを司る冗長系(リダンダンシー)モードです。これは未だ二パーセント程の検証しか出来ていません。冗長系(リダンダンシー)は一つ一つの発生モードが特殊で検証を行うのに莫大な時間が必要となっている為です」
大山の説明に中西の顔色が変わった。
「お前! 分かっているのか? せっかく俺が念願の社長の椅子に座れたのに、プライムの不具合を対策しなければ、いつか責任を取る事になる! その重大さを理解しているのか?」
中西は真っ赤な顔をして激怒している。大山は激しい中西の怒りに萎縮してしまっている。
「可及的速やかに不具合を特定し、国交省や顧客に漏洩しない様にリモートでプログラムのアップデートをするんだ! 良いな?」
大山は大きく頷いたが、未だ不具合を特定出来る自信は全く無かった……。
大山が社長室を辞すと、中西は高山専務を呼び出した。
「高山君。豊国前社長を取締役から解任する臨時株主総会の準備はどうか?」
中西は正一を完全に豊国自動車から追放するつもりだった。
高山は手元のメモを見ながら中西に応えた。
「一週間後に臨時株主総会を開催する事で準備を進めております。株主には明日、案内状を発送致します」
中西は満足した様に頷いた。そしてもう一つの懸念事項を高山に確認した。
「前社長の解任に必要な株主の同意は大丈夫か?」
「はい、筆頭株主である豊国正蔵前会長は現在意識不明の重体です。彼は四二パーセントの株を保有していますが、死亡していませんので豊国正一前社長への相続は出来ませんし、株主総会への出席も出来ません。前社長の保有株は九パーセントとなっており、豊国親族の持分を合わせても十五パーセントに過ぎません。一方、我々は中西社長代行グループの役員と協力関係にあるECAの持ち株を合わせ三一パーセントです。前会長が欠席となるので株主総会時点の有効株数は五八パーセントですが、我々は前社長の取締役解任に必要な過半数二九パーセントを超える株数を掌握出来ております」
中西は満面の笑みを浮かべ、高山の報告を聞いていた。
【豊国市立図書館四階解析ルーム】
雄二と理紗は、もう数十回も事故時の映像を見ていた。そして二人は駐車場の出口バーが上がった後、急加速が始まる瞬間に何かが在ると考えていた。
雄二は、その瞬間の詳細ドライブデーターをスマホから復元すると、先程と同様に表計算ソフト上でグラフを作成した。
「グラフはADASコントロールユニットからのトルク司令、アクセル開度、ブレーキ踏力、エンジンスロットル開度、ブレーキ制動力の五パラメータ。それらの十ミリ秒毎の細かいデーターをチェックしよう。それじゃ動かすよ」
雄二がワークステーションのマウスをクリックするとグラフが動き出した。時間を百倍に引き伸ばして表示しているので、一秒分のデーターが百秒を掛けて見える事になる。
「ここで、正蔵さんがアクセルを十五パーセント踏み込んでいる。その二十ミリ秒後からスロットルが開き始め八十ミリ秒後にスロットルが十三パーセントに開いた。正蔵さんはアクセルを二秒後に戻している。スロットルもその三十ミリ秒後に一旦閉じ方向に動いた。しかし、五十ミリ秒後に突然スロットルが開き始め、二五十ミリ秒後にフルスロットルになった。ここが暴走の開始したポイントだ」
雄二の説明を聴きながら画面を見ていた理紗には気付いた事が有った。
「雄二さん、このスロットルが開き始める十ミリ秒前に、トルク指令が百パーセントになっているわ。これはADASユニットが出しているのよね?」
雄二が大きく頷いた。
「その通り、このフルスロットルへの動きはADASユニットが出したトルク指令が原因だ。そして、フルスロットルになった四秒後、ブレーキ踏力が上がり始め一杯までブレーキが踏み込まれている。正蔵さんがブレーキを踏んでいるんだ。しかしADASユニットからのトルク司令は百パーセントに張り付いたままだ。ブレーキペダルを踏んだ事による上書き(オーバーライド)が効いていない。つまり、この瞬間、『暴走』しているのはADASコントロールユニットだ」
二人の解析によりどの部品が不具合の原因かが把握できた。しかし何故、ADASユニットが暴走したのか……。その理由を特定する為には……。
「ADASユニットのプログラムソースコードを詳細解析してみないと……」
雄二が難しい顔をしてそう言った。
「雄二さんにもソースコードの解析は可能?」
理紗が雄二に聞いた。
「豊国自動車の全てのコントロールユニットはC++というプログラム言語で記述されているから、僕もソースを読む事は出来る。だけどADASコントロールユニットは『モバイルグラス』と言うサプライヤーが制御プログラムの開発をしている。プログラムのソースコードはプログラム図面を開けば確認出来る思うけど、闇雲にソースを覗いても問題を特定するのは難しい。せめて、どこのサブルーチンでその問題が発生しているかを特定出来れば何とかなるんだけど……」
雄二は難しい顔をしてそう応えた。
理紗も少し考えていたが、自分の意見を雄二に言った。
「雄二さん、もう一度、映像とグラフを組み合わせて見てみない? さっきのデーターからADASユニットが暴走したポイントは分かっているわ。百パーセントのトルク指令をADASコントロールユニットが出した瞬間よね。その前の映像に何か不具合を解く鍵がないかしら……?」
「そうか……。そうだね。もう一度見てみよう。少し待ってね。準備するよ」
そう言って雄二は再び事故時の映像とデーターのグラフを上下に並べた。
「それじゃ、十ミリ秒毎の映像とグラフデーターを手動で動かしてみるね。五十ミリ秒前から」
雄二がマウスをクリックすると十ミリ秒毎に映像とグラフが動いていく。そしてADASコントロールユニット暴走の二十ミリ秒前にそれは起こった。
「えっ? 何だ? この真っ白な菱形は……?」
雄二が驚きながら、マウスをクリックして更に先に映像を送った。映像上に透明な菱形の白い線が現れ上方に伸びている。
「思い出した。これ、雄二さんがカメラのハレーションだと言っていたわ!」
雄二も思い出していた。最初にこの映像を見た時に駐車場出口の真正面に太陽が位置していて、カメラ映像がハレーションを起こしていたのを。一瞬を切り取った静止映像では良く分からなかったんだ。
「暴走が始まる二十ミリ秒前に起きたハレーションが原因の可能性は高いね……。少しプログラムソースコードを見てみるよ」
雄二は再びCATIAを立ち上げ、ADASコントロールユニットのプログラム図面を開いた。ソースコードもデーターレイヤーに格納されている。
一分程、そのソースコードを眺めていた雄二が首を振った。
「理紗さん、ダメだ。このソースコードは八百五十万行もある。残念ながらフローチャートがプログラム図面には書かれていないから、どのサブルーチンでハレーションの処理をしているのかを確認するのは不可能だ……」
雄二は残念そうに理紗に説明した。
「そうなのね。ハレーションを起こした時にプログラムの何処で処理をしているか、実際の車で確認出来れば良いけど、それは難しいよね……」
それを聞いた雄二がハッとして理紗を見つめた。
「理紗さん、ヒントをありがとう。電装シミュレーターを使えば良いんだ!」
「えっ、それって部品エリアの右に在った……あれ?」
「そうだ。行こう。不具合を特定出来るかも!」
雄二は立ち上がり、解析ルームを飛び出して行った。理紗もそれに続いた。
電装シミュレーターの横にいくと雄二は据え付けられている制御盤からシミュレーターを起動した。パイプフレームで出来た簡易車体にあるユニットに電源が入ると、ウーンと言う唸り音が聴こえて来た。そして車体の前のスクリーンに高精細の道路のCG映像が映った。
「この電装シミュレーターは全ての電子部品を実際の車を動かすのと同じように台上でシミュレート出来る」
雄二はそう言いながら制御盤にあるキーボードを高速で叩いている。
「理紗さん。シミュレーターの運転席に座って、アクセルペダルを踏んでみて」
理紗は頷くと、パイプフレームで作られた簡易車体の中に入り、運転席相当のシートに座った。そこにはハンドルとアクセル、そしてブレーキが取付けられている。理紗がアクセルを踏むと宙に浮いているタイヤが回り始め、スクリーンのCG画像が動き、車が走り出した様に見える。
「今、理紗さんがアクセルを踏んで、アクセル開度センサーの値を見たHCMが駆動モーターへトルク指令を出してタイヤが回ったんだ。スクリーンの画像はそれに合わせ動いている。次に『パイロットセンス』を入れてみて」
理紗が頷きハンドルの青いボタンを押してからセットのボタンを押すと車は前車に追従して自動で走り始めた。
「凄い、正にシミュレーターね」
理紗は多くの部品が剥き出して配置されているそのパイプフレームの装置を眺めながら感嘆の声を上げた。
「それじゃ、一旦止めるね。このシミュレーターは各コントロールユニットのプログラムをステップ動作出来る。各プログラムを一行毎に動作出来るんだ」
そう言うと雄二はADASコントロールユニットのプログラムを開いてステップ動作に設定した。
「理紗さん。もう一度『パイロットセンス』を起動して」
理紗が頷き『パイロットセンス』を起動させた。
「この『パイロットセンス』のプログラムをステップ動作させたまま……、カメラにLEDライトを当ててハレーションを起こしてみよう。理紗さん、運転席を離れて良いからADASカメラにスマホのライト当ててみて」
理紗は頷き運転席から立ち上がると、ウィンドシールド相当の場所に取付けられているADASカメラユニットにスマホのLEDライトを当てた。
「もう少し上側から。そこだ! この位置から光が入るとハレーションが起きるんだ。ちょっとそのまま動かないで!」
雄二はADASコントロールユニットのプログラムをステップで送った。プログラムはハレーションによる誤検知を防止する為、あるサブルーチンに飛んだ。そして突然、HCMに対しフルトルクの指令を出した。車輪が高速で回り出し、スクリーンの映像がもの凄い勢いで後ろに流れて行く……。
「理紗さん、暴走が始まった。もう一度運転席に座ってブレーキペダル踏んでみて!」
理紗は頷くとブレーキを思い切り踏んだ。しかし……、
「やっぱり、上書き(オーバーライド)出来ない! プログラムの暴走はこのサブルーチンが原因だ!」
雄二はそのサブルーチンのソースをゆっくりスクロールしながら眺めた。そしてそのプログラムがフルトルクの指令を出したまま無限ループに陥る深刻なバグが書き込まれている事を発見した。そしてそのバグを修正してプログラムをリプロすると暴走してもブレーキを踏む事で上書き(オーバーライド)可能となり、またハレーションを起こしても車は暴走モードに入らなくなった。
雄二は暴走の根本原因を特定し不具合対策プログラムを作成する事に成功したのだ。
既に時間は午前二時となっていたが二人の努力が実を結ぼうとしていた。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます