自動運転システムテストの革命
OpenSBTは、自動運転システムの効率的なテストのための柔軟なフレームワークを提供してるよ。
― 1 分で読む
目次
自動運転システム(ADS)のテストはめっちゃ難しいんだ。これらのシステムは、安全で信頼できる必要があって、現実の条件でちゃんと動作することを保証しなきゃいけない。従来のテスト方法は実際の運転を含むことが多くて、時間もお金もかかるんだよね。もっといい方法は、探索ベースのソフトウェアテスト(SBST)を使うこと。これなら、テスターは現実の状況をシミュレートしたバーチャルシナリオを作成できて、問題が道路で発生する前に特定できるんだ。
ADSテストの課題
ADSのテストには、複雑なコンポーネントがたくさん絡んでくる。シミュレーターや通信プロトコル、アルゴリズムがシームレスに連携しなきゃいけないんだ。この複雑さが原因で、多くの企業がSBSTを広く導入するのが難しくなってる。既存のテストソリューションは、さまざまなシミュレーターや探索アルゴリズムに対応する柔軟性がないことも多いし、共有や変更が簡単にできないこともあって、分野での協力や革新が妨げられちゃう。
OpenSBT:テストの新しいフレームワーク
この課題に対処するために、OpenSBTっていう新しいフレームワークが開発されたんだ。OpenSBTはオープンソースのツールで、ユーザーがさまざまなシミュレーターやアルゴリズム、テスト機能を一つのプラットフォームに統合できるようになってる。このフレームワークはモジュラー構造になってて、パーツを追加したり外したりできるから、さまざまなテストニーズに合わせやすいんだ。
OpenSBTの特徴
OpenSBTにはいくつかの重要な特徴があるよ:
異なるシミュレーターとの統合:ユーザーはシステムの他の部分を変えずに、さまざまなシミュレーターをテストフレームワークに接続できる。
カスタマイズ可能な探索アルゴリズム:ユーザーは既存のアルゴリズムを使ったり、自分で新しいアルゴリズムを作ったりできる。
結果の可視化:フレームワークはテスト結果を分析するツールを提供してるから、異なる条件下でADSがどう動くかを理解しやすい。
オープンソース:OpenSBTは学術や商業利用のために自由に利用できるから、開発者や研究者がその改善に貢献することを促すんだ。
OpenSBTのアーキテクチャ
OpenSBTは簡単にカスタマイズできる柔軟なアーキテクチャで作られてる。Pythonで実装された多目的最適化フレームワークのpymooを使ってるんだ。フレームワークは、いくつかの主要なコンポーネントで構成されてる:
シミュレーション環境:ADSをシミュレーションツールに接続する。各シミュレーターはシナリオを実行する方法を定義するクラスで表現される。
フィットネス関数:これらの関数は、特定のシナリオでADSがどれだけうまく機能するかを評価する。システムの問題を明らかにする重要なテストケースを見つけるために検索をガイドする。
探索アルゴリズム:OpenSBTは、既存のアルゴリズムを選んだり、新しく作ったりできる。これによって、テストプロセスに最適な探索方法を適用できるようにしてる。
シナリオ定義:各テストシナリオは、ADSが評価される条件を定義する。ユーザーは手動でシナリオを作成するか、データクラスタリングを通じて作成できる。
OpenSBTの使い方
OpenSBTの使い方を具体的に説明するために、2つの例を考えてみよう。
シナリオ1:CARLAを使ったテスト
最初の例では、OpenSBTを使ってCARLAシミュレーターでADSをテストするよ。CARLAは自動運転研究のためのオープンソースシミュレーターなんだ。テストシナリオは自動緊急ブレーキ(AEB)システムに関するもの。目標は、AEBが歩行者との衝突を避けるために車両をタイムリーに停止できないケースを特定することだ。
プロセスは、CARLAをOpenSBTに統合することから始まる。歩行者の具体的な動作や他の環境要因がシミュレーター内で定義される。次に、シミュレーション中のAEBの機能を測定するためにフィットネス関数が設定される。
すべてを設定したら、重要なシナリオの検索が始まる。さまざまなテストケースが実行され、分析のために結果が収集される。このプロセスで作成された可視化は、システムの失敗を浮き彫りにするのに役立つんだ。
シナリオ2:Prescanを使ったテスト
2つ目の例では、OpenSBTが別のシミュレーターPrescanと一緒に使われる。今度はSimulinkベースのAEBがテストされる。シナリオは似てて、歩行者横断歩道に近づく車両が関わる。
Prescanの統合は、OpenSBTを必要なシミュレーションソフトウェアに接続して、AEBの評価方法を指定することから始まる。再度、パフォーマンスを測定するためにフィットネス関数が定義される。セットアップが終わったら、検索アルゴリズムが動き出して、AEBが失敗するかもしれない状況を探すんだ。
結果は保存され、可視化されることで、異なる条件下でのシステムの動作についての洞察が得られる。この2つ目の例は、OpenSBTがさまざまなテストシナリオやシミュレーターに対応できることを示してる。
結果の可視化の重要性
OpenSBTを使う大きな利点の一つは、結果の可視化の仕方なんだ。各テストの実行後、ユーザーはADSのパフォーマンスに関する詳細なフィードバックを受け取る。視覚的なツールは複雑なデータを理解するのを助けて、エンジニアがどこを改善できるかを見ることができる。この点は、ADSをより安全にするために非常に重要なんだ。
ユーザーフィードバックと研究
ユーザーからの初期フィードバック、特に業界パートナーからは好評だよ。企業はOpenSBTが異なるテストアプローチを統合し、さまざまな方法で結果を比較しやすくしていることを見つけた。これにより、OpenSBTがさまざまなテストタスクでどれだけ効果的に使えるかを評価するためのさらなる研究の計画が進んでいるんだ。
包括的なユーザー研究が計画されていて、OpenSBTの使いやすさと柔軟性が評価される予定なんだ。参加者は、従来の方法とOpenSBTの両方を使って同じADSをテストすることを求められる。両グループの結果を比較することで、研究者は実際のアプリケーションでフレームワークを使う利点を定量化することを目指してる。
今後の開発
OpenSBTは常に進化してる。今後の計画には、他の最適化フレームワークとの統合を促進するための機能強化や、グラフィカルユーザーインターフェースを追加する可能性が含まれてる。これにより、ユーザーはテストシナリオをより簡単に作成・変更できるようになって、結果をよりユーザーフレンドリーな形式で見ることができるようになるんだ。
全体的に、OpenSBTは自動運転システムのテスト方法に大きな影響を与える準備ができてる。プロセスの合理化と柔軟なフレームワークを提供することで、より安全で信頼性の高いADSの開発をサポートすることを目指してるんだ。
結論
ADSのテストは、慎重な計画と実行が必要な複雑なタスクなんだ。従来の方法には制限があるけど、OpenSBTのようなツールはこれらの課題に取り組むための現代的なアプローチを提供してる。柔軟なフレームワーク、広範な機能、オープンソースの特性で、OpenSBTはテストの効率と効果を改善することができるんだ。これを採用することで、製造者やユーザーの両方に利益をもたらすより安全な自動運転システムにつながるんだよ。
タイトル: OpenSBT: A Modular Framework for Search-based Testing of Automated Driving Systems
概要: Search-based software testing (SBT) is an effective and efficient approach for testing automated driving systems (ADS). However, testing pipelines for ADS testing are particularly challenging as they involve integrating complex driving simulation platforms and establishing communication protocols and APIs with the desired search algorithm. This complexity prevents a wide adoption of SBT and thorough empirical comparative experiments with different simulators and search approaches. We present OpenSBT, an open-source, modular and extensible framework to facilitate the SBT of ADS. With OpenSBT, it is possible to integrate simulators with an embedded system under test, search algorithms and fitness functions for testing. We describe the architecture and show the usage of our framework by applying different search algorithms for testing Automated Emergency Braking Systems in CARLA as well in the high-fidelity Prescan simulator in collaboration with our industrial partner DENSO. OpenSBT is available at https://git.fortiss.org/opensbt. A demo video is provided here: https://youtu.be/6csl\_UAOD\_4.
著者: Lev Sorokin, Tiziano Munaro, Damir Safin, Brian Hsuan-Cheng Liao, Adam Molin
最終更新: 2023-11-02 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2306.10296
ソースPDF: https://arxiv.org/pdf/2306.10296
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。
参照リンク
- https://arxiv.org/pdf/2206.07813.pdf
- https://git.fortiss.org/opensbt
- https://youtu.be/6csl
- https://www.asam.net/standards/detail/openscenario
- https://chentaolue.github.io/pub-papers/ase22-adept.pdf
- https://openpass.eclipse.org/architecture/#platform-concept
- https://people.eecs.berkeley.edu/~sseshia/pubdir/verifai-cav19.pdf
- https://git.fortiss.org/opensbt/opensbt-core/-/tree/main/doc/jupyter
- https://www.fortiss.org/en/research/fortiss-labs/detail/mobility-lab
- https://www.youtube.de/TODO
- https://git.fortiss.org/opensbt/carla
- https://fmi-standard.org/tools/
- https://github.com/ApolloAuto/apollo/
- https://git.fortiss.org/opensbt/opensbt-core/-/blob/update-readme/doc/jupyter/06
- https://git.fortiss.org/opensbt/prescan