Création d'images DockerHub | Flux de travail des tests unitaires | Qualité du code sonar |
---|---|---|
CARMA SM fait progresser la recherche et le développement pour accélérer la préparation au marché et le déploiement de l'automatisation de la conduite coopérative, tout en faisant progresser la sûreté, la sécurité, les données et l'intelligence artificielle des technologies de conduite automatisée. Il encourage la collaboration et la participation d'une communauté d'ingénieurs et de chercheurs pour faire progresser la compréhension de l'automatisation de la conduite coopérative à l'aide de logiciels open source (OSS) et de pratiques de gestion de projet agiles.
CARMA est une plate-forme réutilisable et extensible pour contrôler les véhicules automatisés (AV) connectés SAE niveau 2. Il fournit une API riche et générique pour les plugins tiers qui implémentent des algorithmes de guidage des véhicules pour planifier les trajectoires des véhicules. Il est écrit en C++ et fonctionne dans un environnement Robot Operating System (ROS) sur Ubuntu. La plateforme peut être réutilisée sur une variété de véhicules correctement équipés. La migration a commencé du framework ROS 1 vers ROS 2.
Ce fichier Lisez-moi mis à jour : 23 octobre 2020
La gestion automatisée du mouvement des véhicules implique trois aspects. Le premier est la navigation, également connue sous le nom de localisation , qui consiste à déterminer où se trouve actuellement le véhicule par rapport à la terre et par rapport au chemin de déplacement souhaité (son itinéraire prévu). Le second est le guidage, également appelé planification de trajectoire , qui comprend les processus permettant de déterminer comment le véhicule doit se déplacer de son emplacement actuel à sa destination. La destination et l'itinéraire seront transmis aux algorithmes de guidage, qui détermineront ensuite comment le mouvement du véhicule doit être ajusté à tout moment afin de suivre l'itinéraire. Le troisième aspect du mouvement automatisé du véhicule est le contrôle , qui couvre l'actionnement des dispositifs physiques du véhicule pour induire des changements de mouvement (pour les véhicules terrestres, ceux-ci entraînent généralement une rotation plus rapide ou plus lente des roues et une rotation du volant). Par conséquent, la solution de navigation devient une entrée pour la fonction de guidage, et la solution de guidage devient une entrée pour la fonction de commande. À mesure que le véhicule se déplace, son emplacement change évidemment, de sorte que la fonction de navigation doit constamment mettre à jour sa solution et que le cycle itère aussi rapidement que nécessaire pour produire un mouvement fluide et précis du véhicule. Le taux d'itération est largement déterminé par la vitesse attendue du véhicule.
La plateforme CARMA fournit les fonctions de navigation et de guidage de son véhicule hôte, ainsi que certaines fonctions de contrôle. Cela dépend du matériel du contrôleur de bas niveau pour assurer le reste de la fonction de contrôle. La version actuelle de la plateforme CARMA offre une autonomie SAE de niveau 3+, avec contrôle de la vitesse et de la direction.
La documentation sur la configuration, le fonctionnement et la conception de la plateforme CARMA est disponible sur les pages Confluence du projet. Une documentation supplémentaire peut être trouvée sur la page Documentation du code source de Doxygen.
La version actuelle et l'historique des versions de la plate-forme logicielle CARMA : Notes de version CARMA
Remarque sur la structure du dépôt : les branches master et development de ce dépôt (et tous les autres dépôts de l'organisation GitHub usdot-fhwa-stol) reflètent désormais la troisième génération de code et de documentation CARMA, appelée CARMA3. Il utilise Autoware pour fournir des capacités d'automatisation SAE niveaux 2 et 3. L'ancien code CARMA2 est toujours pris en charge. Il a été largement utilisé par la FHWA en 2018 pour des expériences SAE niveau 1. Pour travailler avec cette base de code, veuillez consulter la branche d'intégration CARMA2 et lui faire des demandes d'extraction (en utilisant le processus de contribution décrit ci-dessous).
Remarque sur la version ROS : la version 3.11 était la version finale de la plate-forme CARMA contenant uniquement le code ROS1. Les branches de développement et les versions futures contiendront un mélange de code ROS1 et ROS2 dans un système mixte jusqu'à ce que tout le code ait été entièrement porté sur ROS2. Vous pouvez en savoir plus sur ce système et les efforts de migration de ROS2 sur Confluence ici : CARMA Platform ROS2 Docs
L'orientation actuelle du développement de l'écosystème CARMA et les plans de publication peuvent être trouvés ici : Feuille de route CARMA
Le système actuel de la plate-forme CARMA fonctionne comme un hybride de composants ROS 1 Noetic et ROS 2 Foxy. Bien que presque tous les composants aient été mis à niveau vers ROS 2 Foxy, une petite quantité de contenu ROS 1 Noetic existe toujours dans le système, y compris certains packages de ce référentiel. Pour plus d'informations, veuillez consulter la documentation pertinente dans le référentiel carma-config.
La documentation décrit l'architecture logicielle au sein d'un seul véhicule CARMA. Plusieurs de ces véhicules peuvent fonctionner de concert, communiquant entre eux via DSRC ou par des moyens cellulaires. Ils peuvent également communiquer avec les infrastructures routières via DSRC ou cellulaire. Cependant, la communication entre les composants logiciels d'un même véhicule se fait principalement via le cadre du système d'exploitation du robot (ROS). Il n'y a pas de communication ROS entre les véhicules voisins. Architecture du système CARMA3
Pour plus d'informations sur l'architecture CARMA2, veuillez consulter l'architecture du système CARMA2.
Veuillez consulter la page du document de conception détaillée pour connaître les spécifications de conception détaillées de CARMA et d'autres informations supplémentaires. Page de conception détaillée
Une documentation de développement utile et des instructions pour la configuration d'un environnement de développement pour la plateforme CARMA sont disponibles sur les pages suivantes :
Un guide des développeurs de plug-ins pour CARMA3 sera bientôt disponible.
Pour une description de l'approche de développement d'un plug-in pour CARMA2, veuillez consulter le Guide des développeurs CARMA 2.7.
Un guide d'utilisation de CARMA3 sera bientôt disponible.
Pour une description des fonctionnalités spécifiques à CARMA2 sur la Cadillac SRX, voir le guide de l'utilisateur CARMA.
Un guide de l'administrateur pour CARMA3 sera bientôt disponible.
Pour obtenir des informations administratives sur CARMA2, y compris la configuration du véhicule et du PC du développeur, les étapes de construction, de déploiement et de test nécessaires à l'installation et à l'exécution de la plateforme CARMA, veuillez consulter le Guide de l'administrateur.
CARMA Platform SM est une plate-forme logicielle open source (OSS) téléchargeable conçue pour être extensible et réutilisable à des fins de recherche très diverses afin de faire progresser l'innovation en matière d'automatisation de la conduite coopérative. Il permet la communication entre les véhicules, les usagers de la route tels que les piétons, les cyclistes et les scooters, et les dispositifs d'infrastructure capables de communiquer. Il favorise la collaboration entre une communauté d'ingénieurs et de chercheurs pour accélérer le développement, les tests et l'évaluation de l'automatisation de la conduite coopérative tout en faisant progresser la sûreté, la sécurité, les données et l'utilisation de l'intelligence artificielle dans la technologie de conduite automatisée.
La plateforme CARMA est distribuée sous la forme d'un ensemble de plusieurs packages indépendants hébergés dans des référentiels Github distincts. Ces packages facilitent le fonctionnement de la plateforme CARMA avec différentes configurations matérielles ou lui permettent de prendre en charge différents modes de fonctionnement. Pour inclure l'un de ces packages dans votre version du système CARMA Platform, veuillez cloner le référentiel Github dans le même dossier src/
de l'espace de travail Catkin que ce référentiel. Le système de construction Catkin vérifiera que les dépendances sont résolues de manière appropriée et construira le package nouvellement inclus lors de votre prochaine exécution catkin_make
. Une liste incomplète des packages disponibles pour CARMA3 comprend :
Une liste complète des packages disponibles est disponible sur l'organisation USDOT FHWA STOL Github.
CARMA Cloud SM est un service logiciel open source (OSS) téléchargeable et basé sur le cloud qui fournit des informations pour prendre en charge et activer l'automatisation de la conduite coopérative. Il permet la communication avec les services cloud et les véhicules, les usagers de la route tels que les piétons, les cyclistes et les scooters, ainsi que les appareils d'infrastructure capables de communiquer. Il favorise la collaboration entre une communauté d'ingénieurs et de chercheurs pour accélérer le développement, les tests et l'évaluation de l'automatisation de la conduite coopérative tout en faisant progresser la sûreté, la sécurité, les données et l'utilisation de l'intelligence artificielle dans la technologie de conduite automatisée. Le code source de CARMA Cloud peut être trouvé ici sur GitHub.
Bienvenue dans le guide de contribution CARMA. Veuillez lire ce guide pour en savoir plus sur notre processus de développement, comment proposer des demandes d'extraction et des améliorations, et comment créer et tester vos modifications dans ce projet. Guide de contribution CARMA
Veuillez lire notre Code de conduite CARMA qui décrit nos attentes à l'égard des participants au sein de la communauté CARMA, ainsi que les étapes à suivre pour signaler un comportement inacceptable. Nous nous engageons à offrir une communauté accueillante et inspirante pour tous et espérons que notre code de conduite sera respecté. Quiconque enfreint ce code de conduite pourra être banni de la communauté.
L'équipe de développement souhaite remercier les personnes qui ont apporté des contributions directes à la conception et au code de ce référentiel. Attribution CARMA
En contribuant aux applications de mobilité de recherche automatisées connectées (CARMA) de la Federal Highway Administration (FHWA), vous acceptez que vos contributions seront sous licence Apache License 2.0. Licence CARMA
Agence : DOT
Description courte : CARMA (Cooperative Automation Research Mobility Applications) est une plate-forme logicielle open source (OSS) qui s'exécute sur un ordinateur à l'intérieur d'un véhicule, et l'ordinateur interagit avec les appareils du véhicule pour permettre la recherche, le développement et les tests coopératifs de véhicules automatisés. L'ordinateur donne ensuite au véhicule les informations nécessaires pour interagir et coopérer avec l'infrastructure et d'autres véhicules. La phase I de ce projet a lancé la prochaine génération de la flotte CARMA en développant une infrastructure de plate-forme commune qui soutiendra la vision stratégique de la FHWA pour l'automatisation coopérative. Systèmes de conduite (CADS). La phase I a également développé le prototype d'autoroute intégré (IHP) en intégrant les applications existantes et un nouveau type de véhicule, le camion lourd, dans la flotte CARMA. Les cinq applications suivantes sont des domaines de recherche majeurs : (1) peloton de véhicules, (2) approche et départ d'intersection signalisés, (3) harmonisation de la vitesse guidée par l'infrastructure, et (4) changement de voie coopératif, et (5) fusion de rampe coopérative. Phase II de ce projet fera progresser CADS, qui a été développé sur la plateforme de recherche CARMA de la FHWA pour permettre de tester les stratégies d'arbitrage et de négociation. À terme, ce projet améliorera l’efficacité des infrastructures et réduira la congestion routière. L'un des objectifs de ce projet est d'accélérer le transfert de technologie et le déploiement d'applications coopératives pour les véhicules grâce à une collaboration open source avec l'industrie et les parties prenantes. Ce projet permettra de tester les capacités de tests de véhicules légers de niveau 2 et de niveau 3 (L2/3) de la Society of Engineers (SAE) et de développer une flotte de quatre véhicules lourds SAE L2/3. Le projet développera également un concept de haut niveau pour la gestion et l'exploitation du système de transport (TSMO) autour de l'utilisation de la technologie de conduite automatisée. De plus, ce projet identifiera des scénarios de gestion des incidents de trafic (TIM) qui fournissent des améliorations stratégiques et de nouvelles stratégies pour les cas d'utilisation des premiers intervenants interagissant avec l'ADS et utilisant l'ADS. La nouvelle flotte FHWA sera utilisée pour prototyper un scénario pour chacune des catégories de cas d'utilisation suivantes : (1) Déplacements de base, (2) Zone de travail, (3) Gestion des incidents de circulation et (4) Météo. Ces tests fourniront des données objectives pour informer les parties prenantes sur les impacts de l'ADS et les stratégies possibles pour utiliser l'ADS pour améliorer les opérations.
Statut : Bêta
Tags : transport, automatisation de la conduite coopérative, véhicules connectés, systèmes de transport intelligents, C++, java, python, docker
Heures de travail : 200
Nom du contact : James Lieu
Téléphone de contact : (202) 366-3000
Veuillez cliquer sur le logo CARMA ci-dessous pour visiter le site Web CARMA de la Federal Highway Administration (FHWA). Pour plus d'informations, contactez [email protected].
Pour obtenir l'assistance technique de l'équipe CARMA, veuillez contacter le service d'assistance CARMA à [email protected].