Сборка образа DockerHub | Рабочий процесс модульных тестов | Качество кода сонара |
---|---|---|
CARMA SM продвигает исследования и разработки для ускорения готовности рынка и внедрения совместной автоматизации вождения, одновременно продвигая технологии автоматического вождения в области безопасности, защищенности, данных и искусственного интеллекта. Он поощряет сотрудничество и участие сообщества инженеров и исследователей для углубления понимания совместной автоматизации вождения с использованием программного обеспечения с открытым исходным кодом (OSS) и гибких методов управления проектами.
CARMA — это многоразовая расширяемая платформа для управления подключенными автоматизированными транспортными средствами (AV) уровня 2 SAE. Он предоставляет богатый универсальный API для сторонних плагинов, которые реализуют алгоритмы управления транспортными средствами для планирования траекторий транспортных средств. Он написан на C++ и работает в среде операционной системы робота (ROS) на Ubuntu. Платформу можно повторно использовать на различных правильно оборудованных транспортных средствах. Начался переход от платформы ROS 1 к ROS 2.
Этот файл readme обновлен: 23 октября 2020 г.
Управление автоматизированным движением транспортных средств включает в себя три аспекта. Первый — это навигация, также известная как локализация , которая представляет собой определение того, где в данный момент находится транспортное средство относительно земли и относительно желаемого пути движения (его запланированного маршрута). Второй — это руководство, также известное как планирование траектории , которое включает в себя процессы определения того, как транспортное средство должно двигаться от текущего местоположения к месту назначения. Пункт назначения и маршрут будут переданы алгоритмам управления, а затем они определят, как необходимо в любой момент скорректировать движение транспортного средства, чтобы следовать по маршруту. Третий аспект автоматизированного движения транспортного средства — это управление , которое включает в себя приведение в действие физических устройств транспортного средства, вызывающих изменения в движении (для наземных транспортных средств это обычно приводит к ускорению или замедлению вращения колес и повороту рулевого колеса). Таким образом, навигационное решение становится входными данными для функции наведения, а решение для наведения становится входными данными для функции управления. Очевидно, что по мере движения автомобиля его местоположение меняется, поэтому навигационной функции необходимо постоянно обновлять свое решение, и цикл повторяется настолько быстро, насколько это необходимо для обеспечения плавного и точного движения автомобиля. Скорость итерации во многом определяется ожидаемой скоростью транспортного средства.
Платформа CARMA обеспечивает функции навигации и наведения для своего транспортного средства, а также некоторые функции управления. Обеспечение остальной части функции управления зависит от аппаратного обеспечения контроллера низкого уровня. Текущая версия платформы CARMA обеспечивает автономность уровня SAE 3+, как с контролем скорости, так и с рулевым управлением.
Документацию по настройке, работе и дизайну платформы CARMA можно найти на страницах проекта Confluence. Дополнительную документацию можно найти на странице документации по исходному коду Doxygen.
Текущая версия и история выпусков программной платформы CARMA: Примечания к выпуску CARMA
Примечание о структуре репозитория. Ветки master и development этого репозитория (и все остальные репозитории в организации usdot-fhwa-stol GitHub) теперь отражают третье поколение кода и документации CARMA, называемое CARMA3. Он использует Autoware для обеспечения возможностей автоматизации уровня 2 и 3 SAE. Устаревший код CARMA2 по-прежнему поддерживается. Он широко использовался FHWA в 2018 году для экспериментов уровня 1 SAE. Чтобы работать с этой базой кода, проверьте ветку интеграции CARMA2 и отправьте к ней запросы на включение (используя процесс участия, описанный ниже).
Примечание по версии ROS: Версия 3.11 была последней версией платформы CARMA, содержавшей только код ROS1. Ветки разработки и будущие версии будут содержать смесь кода ROS1 и ROS2 в смешанной системе до тех пор, пока весь код не будет полностью перенесен на ROS2. Вы можете узнать больше об этой системе и усилиях по миграции ROS2 на слияние здесь: Документы платформы CARMA ROS2.
Текущее направление развития экосистемы 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 скоро появится.
Описание функций, характерных для CARMA2 на Cadillac SRX, см. в Руководстве пользователя CARMA.
Руководство администратора для CARMA3 скоро появится.
Административную информацию о CARMA2, включая конфигурацию автомобиля и ПК разработчика, этапы сборки, развертывания и тестирования, необходимые для установки и запуска платформы CARMA, см. в Руководстве администратора.
CARMA Platform SM — это загружаемая платформа программного обеспечения с открытым исходным кодом (OSS), спроектированная так, чтобы ее можно было расширять и повторно использовать для самых разных исследовательских целей, чтобы продвигать инновации в области совместной автоматизации вождения. Он обеспечивает связь между транспортными средствами, участниками дорожного движения, такими как пешеходы, велосипедисты и скутеры, а также инфраструктурными устройствами, способными осуществлять связь. Он способствует сотрудничеству между сообществом инженеров и исследователей для ускорения разработки, тестирования и оценки совместной автоматизации вождения, одновременно повышая безопасность, защиту данных и использование искусственного интеллекта в технологиях автоматического вождения.
Платформа CARMA распространяется как набор нескольких независимых пакетов, размещенных в отдельных репозиториях Github. Эти пакеты облегчают работу платформы CARMA с различными конфигурациями оборудования или позволяют ей поддерживать разные режимы работы. Чтобы включить один из этих пакетов в вашу сборку системы платформы CARMA, клонируйте репозиторий Github в ту же папку src/
рабочего пространства Catkin, что и этот репозиторий. Система сборки Catkin проверит, что зависимости разрешены правильно, и соберет вновь включенный пакет при следующем запуске catkin_make
. Неполный список доступных пакетов для CARMA3 включает:
Полный список доступных пакетов можно найти в организации USDOT FHWA STOL на Github.
CARMA Cloud SM — это загружаемая облачная служба программного обеспечения с открытым исходным кодом (OSS), которая предоставляет информацию для поддержки и обеспечения совместной автоматизации вождения. Он обеспечивает связь с облачными сервисами и транспортными средствами, участниками дорожного движения, такими как пешеходы, велосипедисты и скутеры, а также инфраструктурными устройствами, способными обмениваться данными. Он способствует сотрудничеству между сообществом инженеров и исследователей для ускорения разработки, тестирования и оценки совместной автоматизации вождения, одновременно повышая безопасность, защиту данных и использование искусственного интеллекта в технологиях автоматического вождения. Исходный код CARMA Cloud можно найти здесь, на GitHub.
Добро пожаловать в руководство по участию в CARMA. Прочтите это руководство, чтобы узнать о нашем процессе разработки, о том, как предлагать запросы на включение и улучшения, а также о том, как создавать и тестировать изменения в этом проекте. Руководство для участников CARMA
Пожалуйста, прочтите наш Кодекс поведения CARMA, в котором излагаются наши ожидания от участников сообщества CARMA, а также меры по информированию о неприемлемом поведении. Мы стремимся создать гостеприимное и вдохновляющее сообщество для всех и ожидаем, что наш кодекс поведения будет соблюдаться. Любой, кто нарушает этот кодекс поведения, может быть исключен из сообщества.
Команда разработчиков хотела бы выразить признательность людям, внесшим непосредственный вклад в дизайн и код этого репозитория. Атрибуция КАРМА
Внося свой вклад в приложение Connected Automated Research Mobility Applications (CARMA) Федерального управления шоссейных дорог (FHWA), вы соглашаетесь с тем, что ваши вклады будут лицензироваться в соответствии с лицензией Apache License 2.0. Лицензия КАРМА
Агентство: ДОТ
Краткое описание: Приложения Cooperative Automation Research Mobility Applications (CARMA) — это платформа программного обеспечения с открытым исходным кодом (OSS), которая работает на компьютере внутри транспортного средства, и компьютер взаимодействует с устройствами транспортного средства, обеспечивая совместные автоматизированные исследования, разработки и испытания транспортных средств. Затем компьютер предоставляет транспортному средству информацию, необходимую для взаимодействия и сотрудничества с инфраструктурой и другими транспортными средствами. Фаза I этого проекта положила начало следующему поколению парка CARMA путем разработки общей инфраструктуры платформы, которая будет поддерживать стратегическое видение FHWA в отношении кооперативных автоматизированных систем. Системы вождения (CADS). На первом этапе также был разработан прототип интегрированного шоссе (IHP) путем интеграции существующих приложений и нового типа транспортного средства — тяжелого грузовика — в парк CARMA. Следующие пять приложений являются основными областями исследований: (1) Формирование транспортных средств в колоннах, (2) Сигнализированный подход к перекрестку и выезд из него, (3) Гармонизация скорости на основе инфраструктуры, (4) Совместная смена полосы движения и (5) Совместное слияние пандусов. Фаза II. Этот проект будет способствовать развитию системы CADS, которая была разработана на исследовательской платформе CARMA FHWA и позволяет тестировать стратегии арбитража и переговоров. В конечном итоге этот проект повысит эффективность инфраструктуры и уменьшит пробки на дорогах. Одной из целей этого проекта является ускорение передачи технологий и внедрения приложений для совместных транспортных средств посредством сотрудничества с открытым исходным кодом с промышленностью и заинтересованными сторонами. Этот проект предоставит Сообществу инженеров (SAE) возможности тестирования легких транспортных средств уровня 2 и 3 (L2/3) и создаст парк из четырех тяжелых автомобилей SAE L2/3. В рамках проекта также будет разработана концепция высокого уровня управления и эксплуатации транспортной системы (TSMO) с использованием технологии автоматического вождения. Кроме того, в рамках этого проекта будут определены сценарии управления дорожно-транспортными происшествиями (TIM), которые обеспечат улучшения стратегии и новые стратегии для случаев использования служб экстренного реагирования, взаимодействующих с ADS и использующих ADS. Новый автопарк FHWA будет использоваться для прототипирования сценария для каждой из следующих категорий вариантов использования: (1) базовое путешествие, (2) рабочая зона, (3) управление дорожно-транспортными происшествиями и (4) погода. Эти тесты предоставят объективные данные для информирования заинтересованных сторон о влиянии ADS и возможных стратегиях использования ADS для улучшения операций.
Статус: Бета
Теги: транспорт, автоматизация совместного вождения, подключенные транспортные средства, интеллектуальные транспортные системы, C++, Java, Python, докер
Рабочее время: 200
Контактное имя: Джеймс Лью
Контактный телефон: (202) 366-3000
Нажмите на логотип CARMA ниже, чтобы посетить веб-сайт CARMA Федерального управления шоссейных дорог (FHWA). Для получения дополнительной информации свяжитесь с [email protected].
Для получения технической поддержки от команды CARMA обратитесь в службу поддержки CARMA по адресу [email protected].