DockerHub-Image-Build | Unit-Tests-Workflow | Qualität des Sonarcodes |
---|---|---|
CARMA SM treibt Forschung und Entwicklung voran, um die Marktreife und den Einsatz kooperativer Fahrautomatisierung zu beschleunigen und gleichzeitig die Sicherheit, Sicherheit, Daten und künstliche Intelligenz der automatisierten Fahrtechnologie voranzutreiben. Es fördert die Zusammenarbeit und Beteiligung einer Gemeinschaft von Ingenieuren und Forschern, um das Verständnis der kooperativen Fahrautomatisierung mithilfe von Open-Source-Software (OSS) und agilen Projektmanagementpraktiken zu verbessern.
CARMA ist eine wiederverwendbare, erweiterbare Plattform zur Steuerung vernetzter, automatisierter Fahrzeuge (AVs) der SAE-Stufe 2. Es bietet eine umfangreiche, generische API für Plugins von Drittanbietern, die Fahrzeugführungsalgorithmen implementieren, um Fahrzeugtrajektorien zu planen. Es ist in C++ geschrieben und läuft in einer Robot Operating System (ROS)-Umgebung unter Ubuntu. Die Plattform kann in einer Vielzahl ordnungsgemäß ausgestatteter Fahrzeuge wiederverwendet werden. Die Migration vom ROS 1-Framework zu ROS 2 hat begonnen.
Diese Readme-Datei wurde am 23. Oktober 2020 aktualisiert
Das Management automatisierter Fahrzeugbewegungen umfasst drei Aspekte. Die erste ist die Navigation, auch Lokalisierung genannt , bei der ermittelt wird, wo sich das Fahrzeug aktuell im Verhältnis zur Erde und im Hinblick auf die gewünschte Fahrtroute (seine geplante Route) befindet. Bei der zweiten handelt es sich um die Führung, auch Trajektorienplanung genannt , die die Prozesse umfasst, mit denen bestimmt wird, wie sich das Fahrzeug von seinem aktuellen Standort zu seinem Ziel bewegen soll. Ziel und Route werden an die Leitalgorithmen übergeben, die dann ermitteln, wie die Bewegung des Fahrzeugs jederzeit angepasst werden muss, um der Route zu folgen. Der dritte Aspekt der automatisierten Fahrzeugbewegung ist die Steuerung , die die Betätigung der physischen Geräte des Fahrzeugs umfasst, um Bewegungsänderungen herbeizuführen (bei Landfahrzeugen bewirken diese typischerweise, dass sich die Räder schneller oder langsamer drehen und das Lenkrad dreht). Daher wird die Navigationslösung zu einer Eingabe für die Führungsfunktion und die Führungslösung wird zu einer Eingabe für die Steuerfunktion. Während sich das Fahrzeug bewegt, ändert sich offensichtlich sein Standort, sodass die Navigationsfunktion ihre Lösung ständig aktualisieren muss und der Zyklus so schnell wie nötig wiederholt wird, um eine reibungslose und genaue Fahrzeugbewegung zu erzeugen. Die Iterationsrate wird weitgehend von der erwarteten Geschwindigkeit des Fahrzeugs bestimmt.
Die CARMA-Plattform stellt die Navigations- und Führungsfunktionen für ihr Host-Fahrzeug sowie einige der Steuerungsfunktionen bereit. Für die restliche Steuerungsfunktion ist die Low-Level-Controller-Hardware erforderlich. Die aktuelle Version der CARMA-Plattform bietet Autonomie der SAE-Stufe 3+ mit Geschwindigkeits- und Lenkkontrolle.
Eine Dokumentation zum Aufbau, Betrieb und Design der CARMA-Plattform finden Sie auf den Confluence-Projektseiten. Weitere Dokumentation finden Sie auf der Seite „Doxygen Source Code Documentation“.
Die aktuelle Version und der Veröffentlichungsverlauf der CARMA-Softwareplattform: CARMA-Versionshinweise
Hinweis zur Repo-Struktur: Die Master- und Develop-Zweige dieses Repos (und aller anderen Repos in der GitHub-Organisation usdot-fhwa-stol) spiegeln jetzt die dritte Generation von CARMA-Code und -Dokumentation wider, genannt CARMA3. Es verwendet Autoware, um Automatisierungsfunktionen der SAE-Stufen 2 und 3 bereitzustellen. Der ältere CARMA2-Code wird weiterhin unterstützt. Es wurde von der FHWA im Jahr 2018 ausgiebig für SAE-Level-1-Experimente genutzt. Um mit dieser Codebasis zu arbeiten, schauen Sie sich bitte den CARMA2-Integrationszweig an und stellen Sie Pull-Anfragen an ihn (unter Verwendung des unten beschriebenen Beitragsprozesses).
Hinweis zur ROS-Version: Version 3.11 war die endgültige Version der CARMA-Plattform, die nur ROS1-Code enthielt. Die Entwicklungszweige und zukünftigen Versionen werden eine Mischung aus ROS1- und ROS2-Code in einem gemischten System enthalten, bis der gesamte Code vollständig auf ROS2 portiert wurde. Weitere Informationen zu diesem System und den ROS2-Migrationsbemühungen auf Confluence finden Sie hier: CARMA Platform ROS2 Docs
Die aktuelle Entwicklungsrichtung und Veröffentlichungspläne für das CARMA-Ökosystem finden Sie hier: CARMA-Roadmap
Das aktuelle CARMA-Plattformsystem arbeitet als Hybrid aus ROS 1 Noetic- und ROS 2 Foxy-Komponenten. Obwohl fast alle Komponenten auf ROS 2 Foxy aktualisiert wurden, ist eine kleine Menge an ROS 1 Noetic-Inhalten noch im System vorhanden, einschließlich einiger Pakete in diesem Repository. Weitere Informationen finden Sie in der entsprechenden Dokumentation im carma-config-Repository.
Die Dokumentation beschreibt die Softwarearchitektur innerhalb eines einzelnen CARMA-Fahrzeugs. Möglicherweise arbeiten mehrere dieser Fahrzeuge zusammen und kommunizieren über DSRC oder Mobilfunk miteinander. Sie können auch über DSRC oder Mobilfunk mit der Straßeninfrastruktur kommunizieren. Die Kommunikation zwischen Softwarekomponenten innerhalb eines einzelnen Fahrzeugs erfolgt jedoch größtenteils über das Robot Operating System (ROS)-Framework. Es gibt keine ROS-Kommunikation zwischen benachbarten Fahrzeugen. CARMA3-Systemarchitektur
Informationen zur CARMA2-Architektur finden Sie unter CARMA2-Systemarchitektur
Detaillierte Designspezifikationen für CARMA und andere zusätzliche Informationen finden Sie auf der Dokumentseite „Detail Design“. Detaildesign-Seite
Nützliche Entwicklungsdokumentation und Anleitungen für die Einrichtung einer Entwicklungsumgebung für die CARMA-Plattform finden Sie auf den folgenden Seiten:
Ein Plug-in-Entwicklerhandbuch für CARMA3 wird in Kürze verfügbar sein.
Eine Beschreibung des Ansatzes zur Entwicklung eines Plug-Ins für CARMA2 finden Sie im CARMA 2.7-Entwicklerhandbuch
Ein Benutzerhandbuch für CARMA3 wird in Kürze verfügbar sein.
Eine Beschreibung der spezifischen Funktionalität von CARMA2 auf dem Cadillac SRX finden Sie im CARMA-Benutzerhandbuch
Ein Administratorhandbuch für CARMA3 wird in Kürze verfügbar sein.
Verwaltungsinformationen zu CARMA2, einschließlich Fahrzeug- und Entwickler-PC-Konfiguration, Build-, Bereitstellungs- und Testschritte, die für die Installation und Ausführung der CARMA-Plattform erforderlich sind, finden Sie im Administratorhandbuch
CARMA Platform SM ist eine herunterladbare Open-Source-Softwareplattform (OSS), die so konzipiert ist, dass sie für eine Vielzahl von Forschungszwecken erweiterbar und wiederverwendbar ist, um Innovationen für die kooperative Fahrautomatisierung voranzutreiben. Es ermöglicht die Kommunikation zwischen Fahrzeugen, Verkehrsteilnehmern wie Fußgängern, Radfahrern und Rollern sowie kommunikationsfähigen Infrastrukturgeräten. Es fördert die Zusammenarbeit zwischen einer Gemeinschaft von Ingenieuren und Forschern, um die Entwicklung, Erprobung und Bewertung der kooperativen Fahrautomatisierung zu beschleunigen und gleichzeitig die Sicherheit, den Schutz, die Daten und den Einsatz künstlicher Intelligenz in der automatisierten Fahrtechnologie voranzutreiben.
Die CARMA-Plattform wird als Satz mehrerer unabhängiger Pakete verteilt, die in separaten Github-Repositorys gehostet werden. Diese Pakete erleichtern den Betrieb der CARMA-Plattform mit unterschiedlichen Hardwarekonfigurationen oder ermöglichen die Unterstützung verschiedener Betriebsmodi. Um eines dieser Pakete in Ihren Build des CARMA Platform-Systems einzubinden, klonen Sie bitte das Github-Repository in denselben Catkin-Workspace-Ordner src/
wie dieses Repository. Das Catkin-Build-System überprüft, ob Abhängigkeiten ordnungsgemäß aufgelöst werden, und erstellt das neu enthaltene Paket, wenn Sie catkin_make
das nächste Mal ausführen. Eine unvollständige Liste der verfügbaren Pakete für CARMA3 umfasst:
Eine vollständige Liste der verfügbaren Pakete finden Sie in der Github-Organisation USDOT FHWA STOL.
CARMA Cloud SM ist ein herunterladbarer, cloudbasierter Open-Source-Softwaredienst (OSS), der Informationen zur Unterstützung und Ermöglichung kooperativer Fahrautomatisierung bereitstellt. Es ermöglicht die Kommunikation mit Cloud-Diensten und Fahrzeugen, Verkehrsteilnehmern wie Fußgängern, Radfahrern und Rollern sowie kommunikationsfähigen Infrastrukturgeräten. Es fördert die Zusammenarbeit zwischen einer Gemeinschaft von Ingenieuren und Forschern, um die Entwicklung, Erprobung und Bewertung der kooperativen Fahrautomatisierung zu beschleunigen und gleichzeitig die Sicherheit, den Schutz, die Daten und den Einsatz künstlicher Intelligenz in der automatisierten Fahrtechnologie voranzutreiben. Den Quellcode für CARMA Cloud finden Sie hier auf GitHub.
Willkommen beim CARMA-Beitragsleitfaden. Bitte lesen Sie diesen Leitfaden, um mehr über unseren Entwicklungsprozess zu erfahren, wie Sie Pull-Requests und Verbesserungen vorschlagen und wie Sie Ihre Änderungen an diesem Projekt erstellen und testen. CARMA-Leitfaden für Beiträge
Bitte lesen Sie unseren CARMA-Verhaltenskodex, der unsere Erwartungen an Teilnehmer innerhalb der CARMA-Community sowie Schritte zur Meldung inakzeptablen Verhaltens darlegt. Wir sind bestrebt, eine einladende und inspirierende Gemeinschaft für alle zu schaffen und erwarten, dass unser Verhaltenskodex eingehalten wird. Jeder, der gegen diesen Verhaltenskodex verstößt, kann aus der Community ausgeschlossen werden.
Das Entwicklungsteam möchte den Personen danken, die direkte Beiträge zum Design und Code in diesem Repository geleistet haben. CARMA-Namensnennung
Indem Sie einen Beitrag zu den Connected Automated Research Mobility Applications (CARMA) der Federal Highway Administration (FHWA) leisten, erklären Sie sich damit einverstanden, dass Ihre Beiträge unter der Apache License 2.0-Lizenz lizenziert werden. CARMA-Lizenz
Agentur: DOT
Kurzbeschreibung: Cooperative Automation Research Mobility Applications (CARMA) ist eine Open-Source-Softwareplattform (OSS), die auf einem Computer in einem Fahrzeug läuft und der Computer mit den Geräten des Fahrzeugs interagiert, um kooperative Forschung, Entwicklung und Tests automatisierter Fahrzeuge zu ermöglichen. Der Computer liefert dann dem Fahrzeug die Informationen, die es für die Interaktion und Zusammenarbeit mit der Infrastruktur und anderen Fahrzeugen benötigt. Phase I dieses Projekts leitete die nächste Generation der CARMA-Flotte ein, indem eine gemeinsame Plattforminfrastruktur entwickelt wurde, die die strategische Vision der FHWA für Cooperative Automated unterstützen wird Fahrsysteme (CADS). Phase I entwickelte außerdem den Integrated Highway Prototype (IHP), indem die vorhandenen Anwendungen und ein neuer Fahrzeugtyp, der schwere Lkw, in die CARMA-Flotte integriert wurden. Die folgenden fünf Anwendungen sind Hauptforschungsbereiche: (1) Fahrzeug-Platooning, (2) signalisierte Kreuzungszufahrt und -abfahrt, (3) infrastrukturgesteuerte Geschwindigkeitsharmonisierung und (4) kooperativer Spurwechsel und (5) kooperative Rampenzusammenführung.Phase II Dieses Projekt wird CADS weiterentwickeln, das auf der CARMA-Forschungsplattform der FHWA entwickelt wurde, um das Testen von Schlichtungs- und Verhandlungsstrategien zu ermöglichen. Letztendlich wird dieses Projekt die Effizienz der Infrastruktur steigern und Verkehrsstaus reduzieren. Eines der Ziele dieses Projekts ist die Beschleunigung des Technologietransfers und der Bereitstellung kooperativer Fahrzeuganwendungen durch Open-Source-Zusammenarbeit mit Industrie und Interessengruppen. Dieses Projekt wird der Society of Engineers (SAE) Level 2 und Level 3 (L2/3) Testmöglichkeiten für leichte Fahrzeuge ermöglichen und eine Flotte von vier schweren SAE L2/3-Fahrzeugen entwickeln. Das Projekt wird außerdem ein übergeordnetes Konzept für Transportation System Management and Operations (TSMO) rund um den Einsatz automatisierter Fahrtechnologie entwickeln. Darüber hinaus werden in diesem Projekt TIM-Szenarien (Traffic Incident Management) identifiziert, die Strategieverbesserungen und neue Strategien für Ersthelfer-Anwendungsfälle bieten, die mit ADS interagieren und ADS verwenden. Mit der neuen FHWA-Flotte wird ein Prototyp eines Szenarios für jede der folgenden Anwendungsfallkategorien erstellt: (1) Grundlegende Reisen, (2) Arbeitsbereich, (3) Verkehrsunfallmanagement und (4) Wetter. Diese Tests werden objektive Daten liefern, um Stakeholder über die Auswirkungen von ADS und mögliche Strategien zur Nutzung von ADS zur Verbesserung des Betriebs zu informieren.
Status: Beta
Schlagworte: Transport, kooperative Fahrautomatisierung, vernetzte Fahrzeuge, intelligente Transportsysteme, C++, Java, Python, Docker
Arbeitsstunden: 200
Kontaktname: James Lieu
Kontakttelefon: (202) 366-3000
Klicken Sie bitte auf das CARMA-Logo unten, um die CARMA-Website der Federal Highway Adminstration (FHWA) zu besuchen. Für weitere Informationen wenden Sie sich bitte an [email protected].
Für technischen Support durch das CARMA-Team wenden Sie sich bitte an den CARMA-Helpdesk unter [email protected].