Creación de imágenes de DockerHub | Flujo de trabajo de pruebas unitarias | Calidad del código de sonda |
---|---|---|
CARMA SM avanza en la investigación y el desarrollo para acelerar la preparación del mercado y la implementación de la automatización de la conducción cooperativa, al tiempo que avanza la seguridad, los datos y la inteligencia artificial de la tecnología de conducción automatizada. Fomenta la colaboración y participación de una comunidad de ingenieros e investigadores para avanzar en la comprensión de la automatización de la conducción cooperativa utilizando software de código abierto (OSS) y prácticas ágiles de gestión de proyectos.
CARMA es una plataforma reutilizable y extensible para controlar vehículos automatizados (AV) conectados SAE nivel 2. Proporciona una API rica y genérica para complementos de terceros que implementan algoritmos de guía de vehículos para planificar las trayectorias de los vehículos. Está escrito en C++ y se ejecuta en un entorno de sistema operativo robot (ROS) en Ubuntu. La plataforma se puede reutilizar en una variedad de vehículos debidamente equipados. La migración ha comenzado desde el marco ROS 1 a ROS 2.
Este archivo Léame actualizado: 23 de octubre de 2020
La gestión del movimiento automatizado de vehículos implica tres aspectos. La primera es la navegación, también conocida como localización , que es el acto de determinar dónde se encuentra actualmente el vehículo con respecto a la tierra y con respecto al camino de viaje deseado (su ruta planificada). El segundo es la orientación, también conocida como planificación de trayectoria , que incluye los procesos de determinar cómo se moverá el vehículo desde su ubicación actual hasta su destino. El destino y la ruta se entregarán a los algoritmos de guía, y luego determinarán cómo se debe ajustar el movimiento del vehículo en cualquier momento para seguir la ruta. El tercer aspecto del movimiento automatizado de un vehículo es el control , que cubre la actuación de los dispositivos físicos del vehículo para inducir cambios en el movimiento (en el caso de los vehículos terrestres, estos generalmente hacen que las ruedas giren más rápido o más lento y giren el volante). Por lo tanto, la solución de navegación se convierte en una entrada para la función de guía, y la solución de guía se convierte en una entrada para la función de control. A medida que el vehículo se mueve, obviamente su ubicación cambia, de modo que la función de navegación necesita actualizar constantemente su solución y el ciclo se repite tan rápido como sea necesario para producir un movimiento suave y preciso del vehículo. La tasa de iteración está determinada en gran medida por la velocidad esperada del vehículo.
La plataforma CARMA proporciona las funciones de navegación y guía para su vehículo anfitrión, así como algunas de las funciones de control. Depende del hardware del controlador de bajo nivel para proporcionar el resto de la función de control. La versión actual de la plataforma CARMA proporciona autonomía SAE nivel 3+, tanto con control de velocidad como de dirección.
La documentación sobre la configuración, operación y diseño de la plataforma CARMA se puede encontrar en las páginas de Confluence del proyecto. Puede encontrar documentación adicional en la página de documentación del código fuente de Doxygen.
La versión actual y el historial de lanzamientos de la plataforma de software CARMA: Notas de la versión CARMA
Nota sobre la estructura del repositorio: Las ramas maestra y de desarrollo de este repositorio (y todos los demás repositorios en la organización usdot-fhwa-stol GitHub) ahora reflejan la tercera generación de código y documentación CARMA, llamada CARMA3. Utiliza Autoware para proporcionar capacidad de automatización SAE nivel 2 y 3. El código CARMA2 heredado todavía es compatible. La FHWA lo utilizó ampliamente durante 2018 para experimentos de nivel 1 de SAE. Para trabajar con esa base de código, consulte la rama de integración CARMA2 y realice solicitudes de extracción (utilizando el proceso de contribución que se describe a continuación).
Nota sobre la versión de ROS: La versión 3.11 fue la versión final de la plataforma CARMA que contenía solo código ROS1. Las ramas de desarrollo y las versiones futuras contendrán una combinación de código ROS1 y ROS2 en un sistema mixto hasta que todo el código se haya portado completamente a ROS2. Puede obtener más información sobre este sistema y los esfuerzos de migración de ROS2 en confluence aquí: CARMA Platform ROS2 Docs
La dirección actual de desarrollo del ecosistema CARMA y los planes de lanzamiento se pueden encontrar aquí: Hoja de ruta de CARMA
El sistema CARMA Platform actual funciona como un híbrido de componentes ROS 1 Noetic y ROS 2 Foxy. Si bien casi todos los componentes se han actualizado a ROS 2 Foxy, todavía existe una pequeña cantidad de contenido de ROS 1 Noetic dentro del sistema, incluidos algunos paquetes en este repositorio. Para obtener más información, consulte la documentación relevante en el repositorio carma-config.
La documentación describe la arquitectura del software dentro de un único vehículo CARMA. Puede haber varios de estos vehículos funcionando en conjunto, comunicándose entre sí a través de DSRC o medios celulares. También pueden comunicarse con la infraestructura de la carretera mediante DSRC o celular. Sin embargo, la comunicación entre los componentes de software dentro de un solo vehículo se realiza principalmente a través del marco del Sistema Operativo de Robot (ROS). No hay comunicaciones ROS entre vehículos vecinos. Arquitectura del sistema CARMA3
Para obtener información sobre la arquitectura CARMA2, consulte Arquitectura del sistema CARMA2
Consulte la página del documento Diseño detallado para obtener especificaciones de diseño detalladas para CARMA y otra información adicional. Página de diseño detallado
Puede encontrar documentación de desarrollo útil e instrucciones para la configuración de un entorno de desarrollo para la plataforma CARMA en las siguientes páginas:
Próximamente estará disponible una guía para desarrolladores de complementos para CARMA3.
Para obtener una descripción del enfoque para desarrollar un complemento para CARMA2, consulte la Guía para desarrolladores de CARMA 2.7.
Próximamente estará disponible una guía de usuario para CARMA3.
Para obtener una descripción de la funcionalidad específica de CARMA2 en el Cadillac SRX, consulte la Guía del usuario de CARMA.
Próximamente estará disponible una guía de administrador para CARMA3.
Para obtener información administrativa sobre CARMA2, incluida la configuración, construcción, implementación y pasos de prueba del vehículo y de la PC del desarrollador, necesarios para instalar y ejecutar la plataforma CARMA, consulte la Guía del administrador.
CARMA Platform SM es una plataforma de software de código abierto (OSS) descargable diseñada para ser extensible y reutilizable para una amplia variedad de propósitos de investigación para promover la innovación para la automatización de la conducción cooperativa. Permite la comunicación entre vehículos, usuarios de la vía como peatones, ciclistas y scooters, y dispositivos de infraestructura capaces de comunicarse. Promueve la colaboración entre una comunidad de ingenieros e investigadores para acelerar el desarrollo, las pruebas y la evaluación de la automatización de la conducción cooperativa al tiempo que avanza la seguridad, los datos y el uso de la inteligencia artificial en la tecnología de conducción automatizada.
La plataforma CARMA se distribuye como un conjunto de múltiples paquetes independientes alojados en repositorios Github separados. Estos paquetes facilitan el funcionamiento de la Plataforma CARMA con diferentes configuraciones de hardware o le permiten admitir diferentes modos de funcionamiento. Para incluir uno de estos paquetes en su compilación del sistema de plataforma CARMA, clone el repositorio de Github en la misma carpeta src/
del espacio de trabajo de Catkin que este repositorio. El sistema de compilación Catkin verificará que las dependencias se resuelvan adecuadamente y compilará el paquete recién incluido la próxima vez que ejecute catkin_make
. Una lista incompleta de paquetes disponibles para CARMA3 incluye:
Puede encontrar una lista completa de los paquetes disponibles en la organización USDOT FHWA STOL Github.
CARMA Cloud SM es un servicio de software de código abierto (OSS) descargable y basado en la nube que proporciona información para respaldar y permitir la automatización de la conducción cooperativa. Permite la comunicación con servicios y vehículos en la nube, usuarios de la vía como peatones, ciclistas y scooters, y dispositivos de infraestructura capaces de comunicarse. Promueve la colaboración entre una comunidad de ingenieros e investigadores para acelerar el desarrollo, las pruebas y la evaluación de la automatización de la conducción cooperativa al tiempo que avanza la seguridad, los datos y el uso de la inteligencia artificial en la tecnología de conducción automatizada. El código fuente de CARMA Cloud se puede encontrar aquí en GitHub.
Bienvenido a la guía de contribución de CARMA. Lea esta guía para conocer nuestro proceso de desarrollo, cómo proponer solicitudes de extracción y mejoras, y cómo crear y probar sus cambios en este proyecto. Guía contribuyente de CARMA
Lea nuestro Código de conducta de CARMA, que describe nuestras expectativas para los participantes dentro de la comunidad CARMA, así como los pasos para denunciar comportamientos inaceptables. Estamos comprometidos a brindar una comunidad acogedora e inspiradora para todos y esperamos que se respete nuestro código de conducta. Cualquiera que viole este código de conducta puede ser expulsado de la comunidad.
El equipo de desarrollo desea agradecer a las personas que han realizado contribuciones directas al diseño y al código de este repositorio. Atribución de CARMA
Al contribuir a las Aplicaciones de movilidad de investigación automatizadas conectadas (CARMA) de la Administración Federal de Carreteras (FHWA), usted acepta que sus contribuciones tendrán la licencia Apache License 2.0. Licencia CARMA
Agencia: DOT
Breve descripción: Aplicaciones de movilidad de investigación de automatización cooperativa (CARMA) es una plataforma de software de código abierto (OSS) que se ejecuta en una computadora dentro de un vehículo, y la computadora interactúa con los dispositivos del vehículo para permitir la investigación, el desarrollo y las pruebas cooperativas de vehículos automatizados. Luego, la computadora le brinda al vehículo la información necesaria para interactuar y cooperar con la infraestructura y otros vehículos. La Fase I de este proyecto inició la próxima generación de la flota CARMA mediante el desarrollo de una infraestructura de plataforma común que respaldará la visión estratégica de la FHWA para la cooperativa automatizada. Sistemas de conducción (CADS). La Fase I también desarrolló el Prototipo Integrado de Carretera (IHP) integrando las aplicaciones existentes y un nuevo tipo de vehículo, el camión pesado, en la flota de CARMA. Las siguientes cinco aplicaciones son áreas de investigación importantes: (1) Pelotón de vehículos, (2) Aproximación y salida de intersecciones señalizadas, (3) Armonización de velocidad guiada por infraestructura, (4) Cambio de carril cooperativo y (5) Fusión de rampa cooperativa. Fase II de este proyecto avanzará CADS, que fue desarrollado en la plataforma de investigación CARMA de la FHWA para permitir la prueba de estrategias de arbitraje y negociación. En última instancia, este proyecto mejorará la eficiencia de la infraestructura y reducirá la congestión del tráfico. Uno de los objetivos de este proyecto es acelerar la transferencia de tecnología y el despliegue de aplicaciones de vehículos cooperativos a través de la colaboración de código abierto con la industria y las partes interesadas. Este proyecto permitirá capacidades de prueba de vehículos ligeros de nivel 2 y 3 (L2/3) de la Sociedad de Ingenieros (SAE) y desarrollará una flota de cuatro vehículos pesados SAE L2/3. El proyecto también desarrollará un concepto de alto nivel para la gestión y operaciones del sistema de transporte (TSMO) en torno al uso de tecnología de conducción automatizada. Además, este proyecto identificará escenarios de Gestión de Incidentes de Tráfico (TIM) que proporcionan mejoras estratégicas y nuevas estrategias para casos de uso de primeros auxilios que interactúan con ADS y utilizan ADS. La nueva flota de FHWA se utilizará para crear un prototipo de un escenario para cada una de las siguientes categorías de casos de uso: (1) Viajes básicos, (2) Zona de trabajo, (3) Gestión de incidentes de tráfico y (4) Clima. Estas pruebas proporcionarán datos objetivos para informar a las partes interesadas sobre los impactos de ADS y las posibles estrategias para utilizar ADS para mejorar las operaciones.
Estado: Beta
Etiquetas: transporte, automatización de conducción cooperativa, vehículos conectados, sistemas de transporte inteligentes, C++, java, python, docker
Horas de mano de obra: 200
Nombre de contacto: James Lieu
Teléfono de Contacto: (202) 366-3000
Haga clic en el logotipo de CARMA a continuación para visitar el sitio web de CARMA de la Administración Federal de Carreteras (FHWA). Para obtener más información, comuníquese con [email protected].
Para obtener asistencia técnica del equipo de CARMA, comuníquese con el servicio de asistencia técnica de CARMA en [email protected].