知覚コンポーネントの設計#
この文書の目的#
このドキュメントでは、知覚コンポーネントの開発における高レベルの設計戦略、目標、および関連する理論的根拠について概説します。この文書を通じて、すべての OSS 開発者が知覚コンポーネントの設計哲学、目標、制約を理解し、開発にシームレスに参加できることが期待されます。
概要#
知覚コンポーネントは、計測、位置推定、および地図コンポーネントから入力を受け取り、意味論的な情報 (例:物体認識、障害物セグメント化、交通信号認識、占有グリッドマップ) を追加し、その後、計画コンポーネントに渡されます。このコンポーネントの設計は、マイクロオートノミーの概念として定義されるAutoware の包括的な哲学に従っています。
目標と非目標#
知覚コンポーネントの役割は、センシングで得られたデータをもとに周囲の環境を認識し、自動運転に必要な情報(動的物体の存在、静止障害物、死角、信号情報など)を取得することです。
私たちの全体的な設計ではマイクロオートノミー アーキテクチャの概念を重視しています。この用語は、機能を適切にモジュール化し、それらのモジュール間のインターフェイスを明確に定義し、その結果としてシステムの高い拡張性を実現することに重点を置いた設計アプローチを指します。この状況を考慮すると、知覚コンポーネントの目標は、考えられるすべての複雑なユースケースを解決することではなく (ただし、基本的なユースケースをサポートすることを目指しています)、むしろユーザーのニーズに合わせてカスタマイズでき、追加機能の開発を促進できるプラットフォームを提供することに設定されています。
設計コンセプトを明確にするために、目標と非目標として次の点を列挙します。
目標:
- 単純な ODD を定義できるように、基本的な関数を提供します。
- すべての自動運転車に知覚機能を提供できる設計を実現する。
- サードパーティのコンポーネントを使用して拡張できるようにするため。
- Autowareユーザーが完全な機能を開発できるプラットフォームを提供する。
- Autowareユーザーが人間のドライバーを常に上回る自動運転システムを開発できるプラットフォームを提供する。
- Autoware ユーザーが"100% の精度"または"エラーのない認識"を実現する自動運転システムを開発できるプラットフォームを提供する。
目標外:
- 特定/限定されたODDに特化した知覚コンポーネントアーキテクチャを開発する。
- 完全な機能と能力を実現する
- 人間のドライバーの認識能力を上回る。
- "100%の精度"あるいは"誤りのない認識"を実現する。
高レベルのアーキテクチャ#
この図は、知覚コンポーネントの高レベルのアーキテクチャを示しています。
知覚コンポーネントは次のサブコンポーネントで構成されます:
- 物体認識: 現在のフレーム内で自車両の周囲にある動的物体を認識し、それらの将来の軌道を予測します。
- 障害物セグメンテーション: 自車両が回避すべき障害物 (動的オブジェクトだけでなく、静止障害物などの回避すべき静的障害物も含む) に由来する点群を識別します。
- 占有グリッドマップ: 死角 (情報が入手できず、動的オブジェクトが飛び出す可能性のある領域) を検出します。
- 信号機認識:信号機の色と矢印信号の方向を認識します。
コンポーネントインターフェース#
以下に知覚コンポーネントと他のコンポーネント間の入出力の概念を説明します。現在の実装については、知覚コンポーネントインターフェースページを参照してください
知覚コンポーネントへの入力#
- 計測より: この入力は、環境に関するリアルタイムの情報を提供する必要があります。
- カメラ画像: カメラから取得した画像データ。
- 点群: LiDARから取得した点群データ。
- レーダーオブジェクト: レーダーから取得したオブジェクトデータ。
- 自己位置推定より: この入力は、自車両に関するリアルタイム情報を提供する必要があります。
- 車両運動情報: 自車両の位置を含む。
- 地図より: この入力は、環境に関する静的情報に関するリアルタイム情報を提供する必要があります。
- ベクターマップ: レーンエリア情報を含む、環境に関するすべての静的情報が含まれます。
- 点群マップ: 静的な点群マップが含まれますが、動的オブジェクトに関する情報は含まれません。
- APIより:
- V2X情報: モジュールからの情報。例えば信号機からの情報。
知覚コンポーネントからの出力#
- 計画へ
- 動的オブジェクト: 歩行者や他の車両など、事前に知ることができないオブジェクトに関するリアルタイムの情報を提供します。
- 障害物のセグメンテーション: 検出されたオブジェクトよりも原始的な、障害物の位置に関するリアルタイム情報を提供します。
- 占有グリッドマップ: 遮蔽領域情報の存在に関するリアルタイム情報を提供します。
- 信号機の認識結果: Provides the current state of each traffic light in real time.
新しいモジュールを追加する方法 (WIP)#
目標セッションで述べたように、この認識モジュールはサードパーティのコンポーネントによって拡張できるように設計されています。新しいモジュールを追加してその機能を拡張する方法の具体的な手順については、提供されているドキュメントまたはガイドライン (WIP) を参照してください。
サポートされている機能#
要素 | 説明 | 要件 |
---|---|---|
LiDAR DNNベースの3D検出器 | このモジュールは点群を入力として受け取り、車両、トラック、バス、歩行者、自転車などのオブジェクトを検出します。 | - 点群 |
カメラ DNNベースの2D検出器 | このモジュールは、カメラ画像を入力として受け取り、2次元画像空間内の車両、トラック、バス、歩行者、自転車などのオブジェクトを検出します。画像座標内のオブジェクトを検出しますが、3D座標情報の提供は必須ではありません。 | - カメラ画像 |
LiDARクラスタリング | このモジュールは、点群のクラスタリングと形状推定を実行して、ラベルなしのオブジェクト検出を実現します。 | - 点群 |
準ルールベースの検出器 | このモジュールは、画像と点群の両方からの情報を使用してオブジェクトを検出し、LiDAR クラスタリングとカメラ DNN ベースの 2D 検出器の 2 つのコンポーネントで構成されます。 | - カメラDNNベースの2D検出器とLiDARクラスタリングからの出力 |
オブジェクトのマージ | このモジュールは、さまざまな検出器からの結果を統合します。 | - 検出されたオブジェクト |
補間器 | このモジュールは、追跡結果を使用して検出結果を長期間維持することで、物体検出結果を安定させます。 | - 検出されたオブジェクト - 追跡されたオブジェクト |
追跡 | 検出結果にIDと推定速度を付与するモジュールです。 | - 検出されたオブジェクト |
予測 | このモジュールは、地図の形状と周囲の環境に応じて、動的オブジェクトの将来の経路 (およびその確率) を予測します。 | - 追跡対象物 - ベクターマップ |
障害物のセグメンテーション | このモジュールは、自車両が回避すべき障害物に由来する点群を識別します。 | - 点群 - 点群マップ |
占有グリッドマップ | このモジュールは死角 (情報が入手できず、動的物体が飛び出す可能性のある領域) を検出します。 | - 点群 - 点群マップ |
信号機の認識 | 信号機の位置と状態を検出するモジュールです。 | - カメラ画像 - ベクターマップ |
リファレンス実装#
Autoware が起動されると、デフォルトのパラメータがロードされ、リファレンス実装が開始されます。詳細については、 リファレンス実装を参照してください。