DockerHub イメージのビルド | 単体テストのワークフロー | ソナーコードの品質 |
---|---|---|
CARMA SM は、自動運転技術の安全性、セキュリティ、データ、人工知能を進化させながら、協調運転自動化の市場準備と展開を加速するための研究開発を推進しています。オープンソース ソフトウェア (OSS) とアジャイル プロジェクト管理の実践を使用した協調運転自動化についての理解を進めるために、エンジニアや研究者のコミュニティによるコラボレーションと参加を奨励します。
CARMA は、SAE レベル 2 に接続された自動運転車 (AV) を制御するための、再利用可能で拡張可能なプラットフォームです。車両の軌道を計画するための車両誘導アルゴリズムを実装するサードパーティのプラグインに、豊富な汎用 API を提供します。これは C++ で書かれており、Ubuntu 上のロボット オペレーティング システム (ROS) 環境で実行されます。このプラットフォームは、適切に装備されたさまざまな車両で再利用できます。 ROS 1 フレームワークから ROS 2 への移行が開始されました。
この Readme の更新日: 2020 年 10 月 23 日
自動車両の動きの管理には 3 つの側面が含まれます。 1 つ目は、ローカリゼーションとしても知られるナビゲーションです。これは、車両が地球に対して、および希望する移動経路 (計画ルート) に対して現在どこにいるかを判断する行為です。 2 つ目は誘導であり、 軌道計画 とも呼ばれます。これには、車両が現在位置から目的地までどのように移動するかを決定するプロセスが含まれます。目的地とルートは誘導アルゴリズムに渡され、ルートに従うために車両の動きをどのように調整する必要があるかを随時決定します。自動化された車両の動きの 3 番目の側面は制御です。これは、動きの変化を引き起こす車両の物理デバイスの作動をカバーします (陸上車両の場合、これらは通常、車輪の回転を速くしたり遅くしたり、ステアリングホイールを回転させたりします)。したがって、ナビゲーション解はガイダンス機能への入力となり、ガイダンス解は制御機能への入力となります。車両が移動すると、当然その位置が変化するため、ナビゲーション機能は常にそのソリューションを更新する必要があり、スムーズで正確な車両の動きを生成するために必要なだけ早くサイクルを繰り返す必要があります。反復速度は主に車両の予想速度によって決まります。
CARMA プラットフォームは、ホスト車両のナビゲーションおよび誘導機能に加え、一部の制御機能を提供します。残りの制御機能を提供するのは、低レベルのコントローラー ハードウェアに依存します。 CARMA プラットフォームの現在のバージョンは、速度とステアリング制御の両方を備えた SAE レベル 3+ の自律性を提供します。
CARMA プラットフォームのセットアップ、操作、設計に関するドキュメントは、プロジェクト Confluence ページにあります。追加のドキュメントは、Doxygen ソース コード ドキュメント ページにあります。
CARMA ソフトウェア プラットフォームの現在のバージョンとリリース履歴: CARMA リリース ノート
リポジトリ構造に関する注意:このリポジトリのマスター ブランチと開発ブランチ (および usdot-fhwa-stol GitHub 組織内の他のすべてのリポジトリ) には、CARMA3 と呼ばれる第 3 世代の CARMA コードとドキュメントが反映されています。 Autoware を使用して SAE レベル 2 および 3 の自動化機能を提供します。従来の CARMA2 コードは引き続きサポートされます。 2018 年に FHWA によって SAE レベル 1 の実験に広く使用されました。そのコード ベースを操作するには、CARMA2 統合ブランチをチェックアウトし、そこにプル リクエストを行ってください (以下に概説するコントリビューション プロセスを使用します)。
ROS バージョン 注:リリース 3.11 は、ROS1 コードのみを含む CARMA プラットフォームの最終バージョンでした。開発ブランチと将来のバージョンには、すべてのコードが ROS2 に完全に移植されるまで、混合システム内に ROS1 と ROS2 のコードが混在して含まれます。このシステムと Confluence での ROS2 移行の取り組みについて詳しくは、CARMA Platform ROS2 Docs をご覧ください。
現在の CARMA エコシステム開発の方向性とリリース計画は、ここで見つけることができます: CARMA ロードマップ
現在の CARMA プラットフォーム システムは、ROS 1 Noetic コンポーネントと ROS 2 Foxy コンポーネントのハイブリッドとして動作します。ほぼすべてのコンポーネントが ROS 2 Foxy にアップグレードされましたが、このリポジトリ内のいくつかのパッケージを含め、少量の ROS 1 Noetic コンテンツがシステム内にまだ存在しています。詳細については、carma-config リポジトリ内の関連ドキュメントを参照してください。
このドキュメントでは、単一の CARMA 車両内のソフトウェア アーキテクチャについて説明します。これらの車両のいくつかが協調して動作し、DSRC またはセルラー手段を介して相互に通信する場合があります。 DSRC または携帯電話を使用して路側インフラと通信することもできます。ただし、単一車両内のソフトウェア コンポーネント間の通信は、ほとんどがロボット オペレーティング システム (ROS) フレームワークを介して行われます。隣接する車両間での ROS 通信はありません。 CARMA3 システムアーキテクチャ
CARMA2 アーキテクチャの詳細については、「CARMA2 システム アーキテクチャ」を参照してください。
CARMA の詳細設計仕様およびその他の追加情報については、詳細設計ドキュメントのページを参照してください。詳細設計ページ
CARMA プラットフォームの開発環境のセットアップに関する役立つ開発ドキュメントと手順は、次のページにあります。
CARMA3 のプラグイン開発者ガイドは近々公開される予定です。
CARMA2 のプラグインを開発するアプローチの説明については、CARMA 2.7 開発者ガイドを参照してください。
CARMA3 のユーザーガイドは近日公開される予定です。
Cadillac SRX の CARMA2 に固有の機能の説明については、CARMA ユーザー ガイドを参照してください。
CARMA3 の管理者ガイドは近日公開される予定です。
CARMA プラットフォームのインストールと実行に必要な車両および開発者 PC の構成、ビルド、展開、テスト手順など、CARMA2 の管理情報については、管理者ガイドを参照してください。
CARMA Platform SMは、協調運転自動化のイノベーションを推進するために、さまざまな研究目的で拡張可能および再利用できるように設計された、ダウンロード可能なオープン ソース ソフトウェア (OSS) プラットフォームです。これにより、車両、歩行者、自転車、スクーターなどの道路利用者、通信可能なインフラ機器間の通信が可能になります。エンジニアと研究者のコミュニティ間のコラボレーションを促進し、協調運転自動化の開発、テスト、評価を加速するとともに、自動運転技術における安全性、セキュリティ、データ、人工知能の利用を推進します。
CARMA プラットフォームは、個別の Github リポジトリでホストされる複数の独立したパッケージのセットとして配布されます。これらのパッケージは、さまざまなハードウェア構成での CARMA プラットフォームの操作を容易にしたり、さまざまな操作モードをサポートしたりできるようにします。 CARMA プラットフォーム システムのビルドにこれらのパッケージのいずれかを含めるには、このリポジトリと同じ Catkin ワークスペースsrc/
フォルダーに Github リポジトリのクローンを作成してください。 Catkin ビルド システムは、依存関係が適切に解決されていることを確認し、次回catkin_make
実行するときに新しく組み込まれたパッケージをビルドします。 CARMA3 で利用可能なパッケージの不完全なリストには次のものが含まれます。
利用可能なパッケージの完全なリストは、USDOT FHWA STOL Github 組織にあります。
CARMA Cloud SMは、協調運転自動化をサポートおよび実現するための情報を提供する、ダウンロード可能なクラウドベースのオープンソース ソフトウェア (OSS) サービスです。これにより、クラウドサービスと車両、歩行者、自転車、スクーターなどの道路利用者、通信可能なインフラストラクチャデバイスとの通信が可能になります。エンジニアと研究者のコミュニティ間のコラボレーションを促進し、協調運転自動化の開発、テスト、評価を加速するとともに、自動運転技術における安全性、セキュリティ、データ、人工知能の利用を推進します。 CARMA Cloud のソース コードは、GitHub にあります。
CARMA 貢献ガイドへようこそ。開発プロセス、プル リクエストと改善を提案する方法、このプロジェクトへの変更をビルドしてテストする方法については、このガイドをお読みください。 CARMA 貢献ガイド
CARMA コミュニティ内の参加者に対する当社の期待と、容認できない行為を報告する手順を概説した CARMA 行動規範をお読みください。私たちはすべての人を歓迎し、インスピレーションを与えるコミュニティを提供することに尽力しており、私たちの行動規範が尊重されることを期待しています。この行動規範に違反した者はコミュニティから追放される場合があります。
開発チームは、このリポジトリの設計とコードに直接貢献した方々に感謝の意を表します。 CARMAの帰属
米国連邦高速道路局 (FHWA) Connected Automated Research Mobility Applications (CARMA) に貢献することにより、その貢献がその Apache License 2.0 ライセンスに基づいてライセンスされることに同意したことになります。 CARMAライセンス
代理店: DOT
簡単な説明: Cooperative Automation Research Mobility Applications (CARMA) は、車両内のコンピューター上で実行されるオープン ソース ソフトウェア (OSS) プラットフォームであり、コンピューターは車両のデバイスと対話して、協調的な自動車両の研究、開発、テストを可能にします。次に、コンピュータは、インフラストラクチャや他の車両と相互作用し、連携するために必要な情報を車両に提供します。このプロジェクトのフェーズ I では、協調自動化に対する FHWA の戦略的ビジョンをサポートする共通プラットフォーム インフラストラクチャを開発することにより、次世代の CARMA フリートが開始されました。駆動システム (CADS)。フェーズ I では、既存のアプリケーションと新しい車両タイプである大型トラックを CARMA フリートに統合することにより、統合ハイウェイ プロトタイプ (IHP) も開発しました。次の 5 つのアプリケーションが主な研究分野です: (1) 車両の隊列走行、(2) 信号交差点の進入と出発、(3) インフラ誘導による速度調和、(4) 協調的な車線変更、および (5) 協調的なランプ合流。フェーズ IIこのプロジェクトの CADS は、FHWA の CARMA 研究プラットフォーム上で開発され、仲裁と交渉戦略のテストを可能にするものです。最終的に、このプロジェクトはインフラの効率を高め、交通渋滞を軽減します。このプロジェクトの目標の 1 つは、業界や関係者とのオープンソース コラボレーションを通じて、協調型車両アプリケーションの技術移転と展開を加速することです。このプロジェクトは、技術者協会 (SAE) のレベル 2 およびレベル 3 (L2/3) の軽車両試験機能を有効にし、4 台の SAE L2/3 大型車両のフリートを開発します。このプロジェクトでは、自動運転技術の使用を中心とした交通システム管理および運用 (TSMO) の高レベルのコンセプトも開発します。さらに、このプロジェクトでは、ADS と対話し、ADS を使用するファーストレスポンダーのユースケースに戦略の改善と新しい戦略を提供する交通インシデント管理 (TIM) シナリオを特定します。新しい FHWA フリートは、(1) 基本的な移動、(2) 作業ゾーン、(3) 交通事故管理、および (4) 天候の各ユースケース カテゴリのシナリオのプロトタイプを作成するために使用されます。これらのテストは、ADS の影響と、ADS を使用して運用を改善するための考えられる戦略について関係者に知らせるための客観的なデータを提供します。
ステータス: ベータ版
タグ: 交通機関、協調運転自動化、コネクテッドカー、高度道路交通システム、C++、Java、Python、Docker
労働時間: 200
連絡先名: James Lieu
連絡先電話番号: (202) 366-3000
連邦道路管理局 (FHWA) CARMA Web サイトにアクセスするには、下の CARMA ロゴをクリックしてください。詳細については、[email protected] にお問い合わせください。
CARMA チームからの技術サポートが必要な場合は、CARMA ヘルプ デスク ([email protected]) までお問い合わせください。