5.7 シミュレーションとXiL
仮想検証はどこまで信じてよいか
この回で分かること
- XiL(MIL・SIL・HIL・VIL)とテストコース・公道の違いと、現実らしさと試せる数の釣り合いを説明できる
- シミュレーションで数を稼ぐ計算と、シミュレーションと現実の差 を測って判定の余裕に入れる方法を計算できる
- シミュレーションの結果を現実で確かめるときの考え方と、シミュレーションだけに頼れない理由を説明できる
直感で理解する
5.6 で見たように、必要なシナリオの数は数百万通りにもなります。これを本物の車ですべて試すことはできません。そこで使うのが シミュレーション です。コンピュータの中に道路・車・歩行者・天候・センサを作り、何百万回でも、同じ条件を正確にくり返して試せます。
ただし、シミュレーションはどこまでいっても「作り物」です。現実らしさを上げると試せる数が減り、数を増やすと現実らしさが下がります。そこで、本物と仮想をどこまで組み合わせるかを段階的に変えた試験を使い分けます。これを XiL(X-in-the-Loop)と呼びます。
| 段階 | 本物の部分 | 仮想の部分 | 向いていること |
|---|---|---|---|
| MIL(Model-in-the-Loop) | なし(設計用のモデル) | すべて | 設計の初めの段階で、考え方を確かめる |
| SIL(Software-in-the-Loop) | 実際のソフトウェア | 車・センサ・周り | 大量のシナリオを速く試す |
| HIL(Hardware-in-the-Loop) | 実際の計算機(ECU) | センサの信号・車・周り | 処理時間や信号のやりとりを確かめる |
| VIL(Vehicle-in-the-Loop) | 実際の車 | 周りの車や歩行者 | 車の動きを含めて、安全に確かめる |
| テストコース | 車と、用意した障害物 | なし(場面は用意したもの) | 境界の近くの確認、シミュレーションとの照合 |
| 公道 | すべて | なし | 予想していなかった場面の発見 |
シミュレーションは、車の動きのモデル、センサのモデル(カメラの画像、LiDAR の点群、レーダー)、周りの車や歩行者の振る舞いのモデル、天候や明るさの再現、シナリオを動かすしくみなどを組み合わせてできています。どの部分にも現実との差(シミュレーションと現実の差)があり、その差の大きさが結果の信頼性を決めます。シナリオや道路を記述する形式には ASAM OpenSCENARIO や OpenDRIVE などの共通規格があり、道具の間でシナリオを受け渡せます。
数式で確かめる
① シミュレーションは数を稼げる
m 台の計算機を並べ、1台あたり単位時間に r 本のシナリオを試せるとき、N 本を試すのにかかる時間は
です。ただし、1本にかかる時間は再現の細かさで大きく変わります。周りの車や歩行者を「箱」として動かす粗いシミュレーション(物体レベル)なら、30 秒の場面を約 10 秒で計算できますが、カメラの画像や LiDAR の点群まで作るセンサレベルでは、GPU を使っても1本に約 2 分かかります(数値は説明用の目安)。粗いシミュレーションを計算機 50 台で並べると、1日に 50 × 8,640 = 43.2万本なので、5.6 で見た 300万通りは約 7 日で終わります。同じ 300万通りを、センサレベルで GPU 付きの計算機 20 台で試すと、1日に 20 × 720 = 1.44万本で、約 210 日かかります。
そこで実際には、まず粗いシミュレーションで全体を試し、止まるまでの余裕が小さかった場面(例:全体の 1% の 3万本)だけをセンサレベルで確かめます。3万本なら約 2 日で、合わせて 9 日ほどで危ないところを重点的に細かく調べられます(危ない場面を探しにいく考え方は 5.8)。ただし、粗いシミュレーションでは認識の誤りが起きないので、認識が関わる危険は、実データで測った見逃しや誤りの確率をモデルに入れる(5.9)か、センサレベルで別に探す必要があります。テストコースで1日 50 本なら、300万通りは 6万日、約 160 年かかります。シミュレーションなしに妥当性確認目標を満たすことは、事実上できません。
② 現実との差を測って、余裕に入れる
シミュレーションの結果を信じてよいかは、同じ場面を現実とシミュレーションの両方で試して比べることで確かめます。たとえば、テストコースで 20 通りの場面の止まるまでの距離を測り、シミュレーションと比べたところ、差 \(e_i = x_{\text{現実}} - x_{\text{シミュ}}\) の平均が \(\bar{e} = 0.4\) m、標準偏差が \(s_e = 0.3\) m だったとします。シミュレーションは、止まるまでの距離を平均で 0.4 m 短く(甘く)見積もっていることになります。そこで、シミュレーションの結果に
を加えて判定します(1.4 の標準偏差を使い、±2σ でおよそ 95%)。つまり「シミュレーションで 1.0 m 以上の余裕を残して止まれた場面だけを、現実でも止まれるとみなす」ということです。ただし、この差が分かっているのは、比べた条件の範囲(たとえば乾いた路面)だけです。濡れた路面では、あらためて比べる必要があります。
③ シミュレーションで見つけた危ない場面を、現実で確かめる
逆の向きの確かめ方もあります。シミュレーションで「ぶつかる」と出た場面のうち 10 通りをテストコースで再現したら、9 通りで同じようにぶつかりそうになったとします。一致した割合は 90% ですが、1.6 の信頼区間は
と広く、「おおむね 7割以上は一致している」くらいしか言えません。100 通りで 90 通りなら ±6% まで絞れます。さらに大事なのは、シミュレーションでは「ぶつからない」と出たのに、現実ではぶつかる場面です。これが多いと、シミュレーションでいくら安全を示しても意味がありません。境界の近くで「安全」と出た場面を選んで現実で試し、こうした見逃しがないかを確かめます。
実務との接点
- 道具の信頼性も示す:シミュレーションを証拠に使うなら、そのシミュレーションが信頼できる範囲を、現実との比較で示す必要があります。「シミュレーションそのものをなぜ信じてよいか」も、安全の論証の一部です。→ 5.10 セーフティケース
- 作っていないものは試せない:逆光でのレンズのにじみ、水しぶき、センサの飽和など、モデルに入っていない現象は、シミュレーションではいくら試しても現れません。未知の危険を減らすには、テストコースや公道の試験が欠かせません。→ 5.2
- AI の認知は「絵の違い」に敏感:コンピュータで作った画像と本物の画像のわずかな違いで、AI の認知の結果が変わることがあります(分布シフト)。認知は記録した本物のデータでも確かめ、シミュレーションでは物体の検出結果を直接与えて判断を試す、といった使い分けをします。→ 2.8、3.6
- 複数の柱で評価する:国連での自動運転の評価方法の議論でも、書類の審査・シミュレーション・テストコース・公道試験を組み合わせる考え方がとられています。どれか1つに頼らず、弱点を補い合います。→ 5.6
- くり返せることが強み:同じ場面を何度でも正確に再現できるので、ソフトウェアを更新するたびに、これまでの危ない場面をすべて試し直せます(回帰試験)。→ 4.6
まとめ
- シミュレーションは数を稼げるが「作り物」。MIL・SIL・HIL・VIL・テストコース・公道と、本物の割合を変えた試験を使い分ける(XiL)
- N/(mr) の時間で大量のシナリオを試せるが、現実との差を測って判定の余裕に入れる(ē + 2sₑ)。差が分かっているのは、比べた範囲だけ
- シミュレーションの結果は現実での再現で確かめ、特に「シミュレーションでは安全、現実では危険」の見逃しを探す。作っていない現象は試せないので、複数の柱で評価する
確認クイズ
Q1. 実際の計算機(ECU)を使い、センサの信号や周りの状況はコンピュータで作って与える試験は、XiL のどれ?
HIL(Hardware-in-the-Loop)です。
Q2. GPU 付きの計算機 40 台で、1本 3 分かかるセンサレベルのシミュレーションを行います。粗いシミュレーションで絞り込んだ 6万本を試すのに何日かかる?
1台あたり1日に 1,440 ÷ 3 = 480 本、40 台で 1.92万本なので、6万 ÷ 1.92万 ≈ 3.1 日です。
Q3. 現実とシミュレーションの差の平均が 0.2 m、標準偏差が 0.5 m でした。②の考え方で、判定に加える余裕は?
0.2 + 2 × 0.5 = 1.2 m です。平均の差が小さくても、ばらつきが大きいと余裕は大きくなります。
Q4. 「シミュレーションで 300万通り試して一度もぶつからなかった。だから現実でも、割り込み1回あたりのぶつかる確率は 10⁻⁶ 以下だ」。この考えの問題点は?
3/N の計算が成り立つのは「シミュレーションの世界」についてです。現実でも同じと言うには、シミュレーションがその場面で現実と十分に一致していることを示す必要があります。モデルに入っていない現象(トリガー条件)は、シミュレーションでは現れないことにも注意が要ります。
もっと知りたい人へ
- 次の回:5.8 未知の危険を探す
- 関連:5.6 シナリオベース検証、5.5 受入れ基準と妥当性確認目標、4.3 センサとフュージョン、4.6 モジュール型とEnd-to-End型(閉ループ評価)、2.8 データの分け方と分布シフト、1.6 推定と信頼区間
- 用語集:XiL(MIL・SIL・HIL・VIL)、シミュレーションと現実の差、複数の柱による評価、開ループ評価・閉ループ評価、シナリオベース検証
- 解説動画:準備中
- 参考文献(規格や文書の内容はこの回で要約して説明しています。正確な定義や要求は原文を確認してください)
- UNECE WP.29, “New Assessment/Test Method for Automated Driving (NATM) — Master Document,” 2021.
- ASAM, “OpenSCENARIO” and “OpenDRIVE” standards.
- A. Dosovitskiy ほか, “CARLA: An Open Urban Driving Simulator,” Conference on Robot Learning, 2017.