制御コンポーネントの設計#
概要#
このドキュメントでは制御コンポーネントの設計コンセプトを示します。内容は以下の通りです:
- Autoware制御設計
- Autowareの制御ポリシーの概要を提示します。ここでは自動運転システムに関する一般的な情報のみを扱い、一般的な制御コマンドを車両に提供します。
- 車両適応設計
- 適応メカニズムを利用して車両の駆動システムの特性を標準化し、Autowareと統合する車両適応のポリシーについて説明します。
- 制御機能の設計
- Autoware のコントロールによって提供される機能をデモンストレーションします。
- ABSなどの車両に搭載される機能へのアプローチをご紹介します。
Autoware制御設計#
制御コンポーネントは車両コンポーネントが購読する制御信号を生成します。生成された制御信号は、計画コンポーネントからの基準軌道に基づいて計算されます。
コントロールコンポーネントは2つのモジュールで構成されます。trajectory_follower
モジュールは、計画モジュールから受け取った基準軌道に従う車両制御コマンドを生成します。そのコマンドには例として目標操舵角や目標速度などが含まれます。vehicle_command_gate
は制御コマンドをフィルタリングして異常値を防止し、車両に送信する役割を果たします。このゲートでは、軌道追従機能に加えて、MRM (最小限のリスク操作) モジュールやリモートコントロールモジュールなどの複数のソース間の切り替えも可能になります。
Autoware制御システムはさまざまな車両に対応できる自動運転システムのプラットフォームとして設計されています。
Autowareの制御プロセスでは一般的な情報(目標加速度や減速度など)が使用され、車両固有の情報(ブレーキ圧力など)は使用されません。したがって車両の駆動インターフェースとは独立して調整できるため統合やパフォーマンスの調整が容易になります。
さらに二輪操舵か四輪操舵など車両の運動制約に影響を与える大きな違いについても制御車両モデルを切り替えることで対応しそれぞれの特性に特化した制御を実現します。
Autowareの制御モジュールは、人間のドライバーに代わって車両を制御するために必要な情報を出力します。たとえば、制御モジュールからの制御コマンドは次のようになります:
- Target steering angle
- Target steering torque
- Target speed
- Target acceleration
ペダル位置などの車両固有の値や、個々の車輪の回転速度などの低レベルの情報はコマンドから除外されることに注意してください。
車両適応設計#
車両インターフェース適応#
Autowareは、さまざまなドライブトレインタイプの車両に対応できる自動運転プラットフォームとして設計されています。
これは、Autowareがさまざまな車両ドライブトレインを備えたシステムの標準化をどのように処理するかについての説明です。車両のドライブトレインのインターフェースは、ステアリング角度、ステアリング角速度、ステアリングトルク、速度、アクセル/ブレーキペダル、ブレーキ圧力など多岐にわたります。これらの違いに対応するために、Autowareは制御コンポーネントと車両インターフェイスの間にアダプターモジュールを追加します。このモジュールは、車両で使用される独自のメッセージタイプ (ブレーキ圧力など)とAutowareで使用される汎用タイプ (要求する加速度など)の間の変換を実行します。この変換情報を提供することで、車両のドライブトレインの違いに対応できます。
情報が事前にわからない場合は、自動キャリブレーションツールを使用できます。キャリブレーションは限られた自由度内で行われ、ドライブトレインの変換に必要な情報が自動的に生成されます。
この構成を次の図にまとめます。
いくつかの車両インターフェースの例#
これは、車両インターフェースのいくつかのドライブトレイン タイプの一例です。
車両 | ラテラルインターフェース | 縦方向のインターフェース | 注記 |
---|---|---|---|
Lexus | ステアリング角度 | アクセル/ブレーキペダルの位置 | 縦方向の加速度ルックアップテーブル変換 |
JPN TAXI | ステアリング角度 | アクセル/ブレーキペダルの位置 | 縦方向の加速度ルックアップテーブル変換 |
GSM8 | ステアリングEPS電圧 | 加速モータ電圧、減速ブレーキ油圧 | l横方向と縦方向のルックアップテーブルとPID変換 |
YMC Golfcart | ステアリング角度 | 速度 | |
Logiee | ヨーレート | 速度 | |
F1 TENTH | ステアリング角度 | モーター回転数 | インターフェースコード |
制御機能の設計#
以下にAutowareの制御/車両コンポーネントによって提供される機能と、それらを効果的に利用するために必要な条件および前提条件を示します。
ODDの適切な動作は、機能が有効かどうか、遅延時間、校正精度と劣化率、センサー精度などの要因によって制限されます。
特徴 | 説明 | 要件/前提条件 | 注記 | 今のところの制限 |
---|---|---|---|---|
ラテラルコントロール | 車両の横方向の動きに関連するドライブトレイン システムを制御します。 | 今後、対応車種を増やしていく予定です。 | フロントステアリングタイプのみ対応します。 | |
縦方向の制御 | 車両の前後方向の動きに関連するドライブトレイン システムを制御します。 | |||
傾斜補償 | 坂道での正確な車両運動制御をサポート | 勾配情報は地図やシャーシに取り付けられたセンサーから取得可能 | 勾配情報が利用できない場合、勾配は車両のピッチ角から推定されます。 | |
遅延補償 | 遅れがある場合でもドライブトレインシステムを適切に制御します。 | ドライブトレインの遅延情報を事前に提供 | 遅延情報がない場合、ドライブトレインの遅延は自動的に推定されます (自動キャリブレーション)。ただし、特に速度が急激に変化するシナリオでは、遅延の影響を完全に排除することはできません。 | 縦方向および横方向のドライブトレイン システムに対して個別に設定できるのは、固定の遅延時間のみです。アクセルとブレーキの異なる遅延時間には対応しません。 |
ドライブトレインIF変換(ラテラルコントロール) | 車両のドライブトレイン固有の情報をAutowareで使用するドライブトレイン情報に変換します(例:目標操舵角速度→操舵トルク) | 変換情報は事前に提供されます | 変換情報がない場合には、変換マップを自動的に推定します(自動キャリブレーション)。 | 変換の自由度は限られています(2D ルックアップ テーブル + PID FB)。 |
ドライブトレインIF変換(前後制御) | 車両のドライブトレイン固有の情報を Autoware で使用するドライブトレイン情報に変換します (例: 目標加速度 → アクセル/ブレーキ ペダル値) | 変換情報は事前に提供されます | 変換情報がない場合には、変換マップを自動的に推定します(自動キャリブレーション)。 | 変換の自由度は限られています(2D ルックアップ テーブル + PID FB)。 |
自動校正 | 駆動系のIF変換マップや遅延時間などの値を自動推定して適用します。 | ドライブトレインのステータスを取得できる (必須) | ||
異常検出 | キャリブレーションに不一致がある場合、または予期しないドライブトレインの動作がある場合に通知します。 | ドライブトレインのステータスを取得できる (必須) | ||
ステアリングゼロ点補正 | ステアリングの中点を補正し、適切なステアリング制御を実現します。 | ドライブトレインのステータスを取得できる (必須) | ||
ステアリングデッドゾーン補正 | ステアリングの不感帯を補正し、適切なステアリング制御を実現します。 | ステアリングデッドゾーンパラメータは事前に提供されます | パラメータが不明な場合は、運転情報からデッドゾーンパラメータを推定します | 現在は利用できません |
ステアリングデッドゾーンの推定 | 走行データからステアリング不感帯を動的に推定 | 現在は利用できません | ||
重量補償 | 重量に応じた適切な車両制御を行う | センサーから重量情報を取得可能 | 重量センサーがない場合は、走行情報から重量を推定します。 | 現在は利用できません |
重量の推定 | 走行データから重量を動的に推定 | 現在は利用できません |
上記のリストには、車両で一般的に使用されるABSなどのホイール制御システムは含まれていません。これらの特徴については、以下の点が考慮されています。
車両側機能との連携#
ABS(アンチロックブレーキシステム)とESC(エレクトリックスタビリティコントロール) は、車両に事前に取り付けられる2つの機能で、車両の制御性に直接影響します。Autowareの制御モジュールは、ABSとESCの両方が車両に搭載されていることを前提としているため、それらが存在しないと、ターゲットODDによっては制御が信頼できなくなる可能性があります。たとえば、制御された環境での低速走行では、これらの機能は必要ありません。
またこの声明は自動運転システムにおける ABS 機能の開発を否定するものではないことに注意してください。
Autowareの機能と車両の要件#
人間の運転に代わるものとして、自動運転システムは基本的に人間が実行できるタスクを処理することを目的としています。これには、ステアリングホイール、アクセル、ブレーキの制御だけでなく、ブレーキの反応不良やステアリング角度のズレなどの問題も自動的に検出します。ただし、車両のパフォーマンスが向上するとシステムの動作も向上し、最終的には ODD の設計に影響を与えるため、これはトレードオフです。
一方、通常は予期されないタスク、または人間のドライバーが処理できないタスクについては、車両ECUでの処理が期待されます。例としては、明らかにブレーキの反応が遅れている場合や、タイヤの片滑りにより車両が回転する場合などが挙げられます。これらのタスクは通常、ABSまたはESCによって処理されます。