プロバイダーとしてASIL-D機能安全性、ASIL-D関数のアルゴリズムを設計することの重要な重要性を理解しています。 ISO 26262で定義されている最高の自動車安全性の完全性レベルであるASIL-Dは、自動車システムで最大限の信頼性と安全性を要求しています。このブログでは、ASIL-D関数の安全性が批判的なアルゴリズムを設計する方法に関する洞察を共有します。
ASIL-D要件の理解
アルゴリズム設計を掘り下げる前に、ASIL-D要件を包括的に理解することが不可欠です。 ASIL-Dは、誤動作が生命を脅かす状況につながる可能性のある自動車システムで最も高いレベルのリスクに関連しています。 ISO 26262標準は、機能的安全性の概念、安全分析、検証および検証プロセスの要件を含む、安全批判システムの開発のための厳格なガイドラインを設定しています。
ASIL -D関数のアルゴリズムを設計する場合、次の側面を考慮することが重要です。フォールトトレランス:アルゴリズムは、安全性を損なうことなく、単一点断層と潜在断層に耐えることができなければなりません。障害の許容度を達成するために、冗長性と障害検出メカニズムがしばしば採用されます。 - 診断カバレッジ:タイムリーに障害を検出するには、高い診断カバレッジが必要です。診断メカニズムは、高度な精度で障害を識別し、システムに報告するように設計する必要があります。 - 安全性の完全性:アルゴリズムは、ASIL-Dによって指定された安全整合性要件を満たす必要があります。これには、1時間あたりの危険な故障の確率が許容できる制限内にあることを保証することが含まれます。 - 決定論:ASIL-Dアルゴリズムは決定論的である必要があります。つまり、同じ条件下で特定の入力に対して同じ出力を生成することを意味します。これは、システムの予測可能性と信頼性を確保するために不可欠です。
アルゴリズムアーキテクチャの設計
安全性が批判的なアルゴリズムのアーキテクチャは、ASIL-D要件を満たす上で重要な役割を果たします。適切に設計されたアーキテクチャは、断層の許容度、診断カバレッジ、および安全性の完全性を高めることができます。アルゴリズムアーキテクチャを設計する際の重要な考慮事項は次のとおりです。モジュール性:アルゴリズムをより小さな独立したモジュールに分割します。これにより、アルゴリズムが理解し、テストし、維持されやすくなります。各モジュールには明確に定義されたインターフェイスがあり、特定の機能を実行する必要があります。 - 冗長性:フォールトトレランスを提供するために、冗長モジュールまたはコンポーネントを実装します。冗長性は、ハードウェアの冗長性(たとえば、複数のセンサーまたはプロセッサを使用する)またはソフトウェア冗長性(たとえば、アルゴリズムの複数のコピーの実行)を通じて達成できます。 - 懸念の分離:安全性が批判的な機能を非セーフティクリティカルな機能から分離します。これにより、断層を分離するのに役立ち、安全分析の複雑さを軽減します。 - 階層構造:アルゴリズムアーキテクチャに階層構造を採用します。これにより、さまざまなレベルの抽象化を明確に分離し、設計と検証プロセスを簡素化できます。
安全メカニズムの実装
アルゴリズムの安全性を確保するには、さまざまな安全メカニズムを実装する必要があります。これらのメカニズムは、障害を検出および処理し、危険な障害を防ぎ、システムの正しい動作を確保するのに役立ちます。 ASIL -Dアルゴリズムで使用される一般的な安全メカニズムを次に示します。ウォッチドッグタイマー:ウォッチドッグタイマーは、アルゴリズムの実行を監視し、停止しているか、ゆっくりと実行されているかどうかを検出するために使用されます。障害が検出された場合、ウォッチドッグタイマーは、システムのリセットなどの安全対応をトリガーできます。 - エラー検出および修正コード:サイクリック冗長チェック(CRC)やハミングコードなどのエラー検出コードと修正コードは、データ送信とストレージのエラーを検出および修正するために使用されます。これらのコードは、アルゴリズムで使用されるデータの整合性を確保するのに役立ちます。 - 障害の注入とテスト:断層注入技術は、アルゴリズムの障害をシミュレートし、その断層トレランスをテストするために使用されます。アルゴリズムのさまざまなポイントで障害を注入することにより、安全メカニズムが正しく機能していること、およびシステムが安全性を損なうことなく障害に耐えることができることを確認できます。 - 安全分析:潜在的な危険を特定し、安全メカニズムの有効性を評価するために、アルゴリズムの徹底的な安全分析を実施します。断層ツリー分析(FTA)や故障モードおよび効果分析(FMEA)などの安全分析手法を使用して、障害の根本原因を特定し、適切な緩和戦略を開発できます。
検証と検証
検証と検証は、ASIL-Dアルゴリズムの開発に不可欠な手順です。検証により、アルゴリズムが指定された要件を満たしていることが保証され、検証により、アルゴリズムが実際の環境で意図したとおりに実行されるようにパフォーマンスが保証されます。検証と検証のためのいくつかの重要な考慮事項は次のとおりです。単体テスト:アルゴリズムの個々のモジュールでユニットテストを実施して、機能を検証します。ユニットテストでは、モジュールの正確性を確保するために、可能なすべての入力シナリオとエッジケースをカバーする必要があります。 - 統合テスト:統合テストを実行して、アルゴリズムの異なるモジュール間の相互作用を検証します。統合テストでは、実際の動作条件をシミュレートし、モジュールが正しく連携することを確認する必要があります。 - システムテスト:アルゴリズム全体でシステムテストを実施して、実際の環境でのパフォーマンスを検証します。システムテストには、システムの信頼性と安全性を確保するために、通常の操作、障害条件、極端な条件など、さまざまなシナリオを含める必要があります。 - 安全検証:安全分析とテストを実施することにより、アルゴリズムの安全性を検証します。安全検証には、アルゴリズムがASIL-D要件を満たしていることを確認するために、障害注入テスト、信頼性分析、コンプライアンステストを含める必要があります。
ケーススタディ:自律ブレーキアルゴリズム
ASIL-D関数の安全性クリティカルアルゴリズムの設計プロセスを説明するために、の例を考えてみましょう自律的なブレーキアルゴリズム。自律的なブレーキングは、潜在的な衝突が検出されたときにブレーキを自動的に適用することにより、衝突を防ぐのに役立つ安全性が批判的な機能です。
アルゴリズムアーキテクチャ
自律的なブレーキアルゴリズムは、次のモジュールで構成されるモジュラーアーキテクチャで設計できます。センサーインターフェイスモジュール:このモジュールは、レーダーやカメラなどのセンサーとのインターフェース、センサーデータの処理を担当します。 - オブジェクトの検出および追跡モジュール:このモジュールは、センサーデータを使用して、環境内のオブジェクトを検出および追跡します。潜在的な衝突ターゲットを識別し、相対的な位置と速度を計算します。 - 衝突予測モジュール:このモジュールはオブジェクトデータを分析し、衝突の可能性を予測します。アルゴリズムを使用して、衝突時間(TTC)を計算し、ブレーキが必要かどうかを判断します。 - ブレーキ制御モジュール:このモジュールは衝突予測情報を受信し、ブレーキシステムを制御します。適切なブレーキ力を計算し、コントロール信号をブレーキに送信します。
安全メカニズム
自律的なブレーキアルゴリズムの安全性を確保するために、次の安全メカニズムを実装できます。冗長センサー:レーダーやカメラなどの複数のセンサーを使用して、環境に関する冗長な情報を提供します。これにより、オブジェクトの検出と追跡の信頼性を向上させるのに役立ちます。 - 診断モニター:各モジュールに診断モニターを実装して、障害とエラーを検出します。診断モニターは、センサーデータの完全性、計算の正しさ、および制御信号の動作を確認できます。 - ウォッチドッグタイマー:ウォッチドッグタイマーを使用してアルゴリズムの実行を監視し、停止しているか、ゆっくりと実行されているかどうかを検出します。障害が検出された場合、ウォッチドッグタイマーは、緊急ブレーキのアクティブ化などの安全対応をトリガーできます。 - 障害の注入とテスト:アルゴリズムで障害注入検査を実施して、断層のトレランスを確認します。アルゴリズムのさまざまなポイントで障害を注入することにより、安全メカニズムが正しく機能していること、およびシステムが安全性を損なうことなく障害に耐えることができることを確認できます。
検証と検証
自律的なブレーキアルゴリズムは、その安全性と信頼性を確保するために、徹底的に検証および検証する必要があります。検証および検証プロセスには、次の手順を含めることができます。-単体テスト:アルゴリズムの各モジュールでユニットテストを実行して、その機能を検証します。ユニットテストでは、モジュールの正確性を確保するために、可能なすべての入力シナリオとエッジケースをカバーする必要があります。 - 統合テスト:統合テストを実行して、アルゴリズムの異なるモジュール間の相互作用を検証します。統合テストでは、実際の動作条件をシミュレートし、モジュールが正しく連携することを確認する必要があります。 - システムテスト:アルゴリズム全体でシステムテストを実施して、実際の環境でのパフォーマンスを検証します。システムテストには、システムの信頼性と安全性を確保するために、通常の操作、障害条件、極端な条件など、さまざまなシナリオを含める必要があります。 - 安全検証:安全分析とテストを実施することにより、アルゴリズムの安全性を検証します。安全検証には、アルゴリズムがASIL-D要件を満たしていることを確認するために、障害注入テスト、信頼性分析、コンプライアンステストを含める必要があります。
結論
ASIL-D関数の安全性クリティカルなアルゴリズムを設計することは、複雑で挑戦的なタスクです。 ASIL-D要件、適切に設計されたアルゴリズムアーキテクチャ、適切な安全メカニズムの実装、および徹底的な検証と検証を深く理解する必要があります。このブログで概説されているガイドラインとベストプラクティスに従って、ASIL-D関数の信頼できる安全なアルゴリズムを設計できます。
あなたが私たちについてもっと学ぶことに興味があるならASIL-D機能安全性ASIL-D関数のアルゴリズム設計については、ソリューションまたは質問があります。調達ディスカッションについては、お気軽にお問い合わせください。私たちは、お客様のニーズを満たすために高品質の安全ソリューションを提供することに取り組んでいます。
参照
- ISO 26262:道路車両 - 機能的安全
- レベソン、NG(2012)。より安全な世界の工学:安全に適用されるシステム思考。 MITプレス。
- スミス、CM、アンダーソン、JC(2016)。自律車両技術:政策立案者のためのガイド。ランドコーポレーション。