Construção de imagem DockerHub | Fluxo de trabalho de testes unitários | Qualidade do código do sonar |
---|---|---|
A CARMA SM avança na pesquisa e no desenvolvimento para acelerar a preparação para o mercado e a implantação da automação de direção cooperativa, ao mesmo tempo em que avança na segurança, proteção, dados e inteligência artificial da tecnologia de direção automatizada. Ele incentiva a colaboração e a participação de uma comunidade de engenheiros e pesquisadores para avançar na compreensão da automação de direção cooperativa usando software de código aberto (OSS) e práticas ágeis de gerenciamento de projetos.
CARMA é uma plataforma reutilizável e extensível para controlar veículos automatizados (AVs) conectados SAE nível 2. Ele fornece uma API genérica e rica para plug-ins de terceiros que implementam algoritmos de orientação de veículos para planejar trajetórias de veículos. Ele é escrito em C++ e roda em um ambiente Robot Operating System (ROS) no Ubuntu. A plataforma pode ser reutilizada em uma variedade de veículos devidamente equipados. A migração começou da estrutura ROS 1 para ROS 2.
Este leia-me atualizado: 23 de outubro de 2020
O gerenciamento do movimento automatizado de veículos envolve três aspectos. A primeira é a navegação, também conhecida como localização , que é o ato de determinar onde o veículo está atualmente em relação à Terra e em relação ao caminho de viagem desejado (sua rota planejada). A segunda é a orientação, também conhecida como planejamento de trajetória , que inclui os processos de determinação de como o veículo se moverá de sua localização atual até seu destino. O destino e a rota serão entregues aos algoritmos de orientação, que então determinarão como o movimento do veículo precisa ser ajustado a qualquer momento para seguir a rota. O terceiro aspecto do movimento automatizado do veículo é o controle , que abrange a atuação dos dispositivos físicos do veículo para induzir mudanças no movimento (para veículos terrestres, isso normalmente faz com que as rodas girem mais rápido ou mais devagar e giram o volante). Portanto, a solução de navegação torna-se uma entrada para a função de orientação e a solução de orientação torna-se uma entrada para a função de controle. À medida que o veículo se move, obviamente a sua localização muda, de modo que a função de navegação precisa atualizar constantemente a sua solução e o ciclo itera tão rapidamente quanto necessário para produzir um movimento suave e preciso do veículo. A taxa de iteração é amplamente determinada pela velocidade esperada do veículo.
A Plataforma CARMA fornece funções de navegação e orientação para seu veículo hospedeiro, bem como algumas funções de controle. Depende do hardware do controlador de baixo nível para fornecer o restante da função de controle. A versão atual da Plataforma CARMA oferece autonomia SAE nível 3+, com controle de velocidade e direção.
A documentação da configuração, operação e design da Plataforma CARMA pode ser encontrada nas páginas do projeto Confluence. Documentação adicional pode ser encontrada na página Documentação do código-fonte do Doxygen.
A versão atual e o histórico de lançamento da plataforma de software CARMA: Notas de versão do CARMA
Nota sobre a estrutura do repositório: As ramificações master e development deste repositório (e todos os outros repositórios na organização GitHub usdot-fhwa-stol) agora refletem a terceira geração de código e documentação CARMA, chamada CARMA3. Ele usa Autoware para fornecer capacidade de automação SAE nível 2 e 3. O código CARMA2 herdado ainda é compatível. Foi amplamente utilizado pela FHWA durante 2018 para experimentos SAE nível 1. Para trabalhar com essa base de código, verifique o branch de integração CARMA2 e faça solicitações pull para ele (usando o processo de contribuição descrito abaixo).
Nota sobre a versão ROS: A versão 3.11 foi a versão final da plataforma CARMA para conter apenas o código ROS1. As ramificações de desenvolvimento e versões futuras conterão uma mistura de código ROS1 e ROS2 em um sistema misto até que todo o código tenha sido totalmente portado para ROS2. Você pode aprender mais sobre este sistema e os esforços de migração ROS2 no confluence aqui: Plataforma CARMA ROS2 Docs
A direção atual de desenvolvimento do ecossistema CARMA e os planos de lançamento podem ser encontrados aqui: CARMA Roadmap
O atual sistema da Plataforma CARMA opera como um híbrido dos componentes ROS 1 Noetic e ROS 2 Foxy. Embora quase todos os componentes tenham sido atualizados para o ROS 2 Foxy, uma pequena quantidade de conteúdo do ROS 1 Noetic ainda existe no sistema, incluindo alguns pacotes neste repositório. Para obter mais informações, consulte a documentação relevante no repositório carma-config.
A documentação descreve a arquitetura de software dentro de um único veículo CARMA. Pode haver vários destes veículos operando em conjunto, comunicando-se entre si via DSRC ou meios celulares. Eles também podem se comunicar com a infraestrutura rodoviária usando DSRC ou celular. A comunicação entre os componentes de software dentro de um único veículo, entretanto, é feita principalmente através da estrutura do Robot Operating System (ROS). Não há comunicações ROS entre veículos vizinhos. Arquitetura do Sistema CARMA3
Para obter informações sobre a arquitetura CARMA2, consulte Arquitetura do Sistema CARMA2
Consulte a página do documento Projeto detalhado para especificações detalhadas do projeto para CARMA e outras informações adicionais. Página de design detalhado
Documentação útil de desenvolvimento e instruções para a configuração de um ambiente de desenvolvimento para a Plataforma CARMA podem ser encontradas nas páginas a seguir:
Um guia de desenvolvedores de plug-ins para CARMA3 será lançado em breve.
Para obter uma descrição da abordagem para desenvolver um plug-in para CARMA2, consulte CARMA 2.7 Developers Guide
Um guia do usuário para CARMA3 será lançado em breve.
Para obter uma descrição da funcionalidade específica do CARMA2 no Cadillac SRX, consulte o Guia do Usuário CARMA
Um guia do administrador do CARMA3 será lançado em breve.
Para obter informações administrativas sobre o CARMA2, incluindo configuração do veículo e do PC do desenvolvedor, etapas de construção, implantação e teste necessárias para instalar e executar a Plataforma CARMA, consulte o Guia do Administrador
A Plataforma CARMA SM é uma plataforma de software de código aberto (OSS) que pode ser baixada e arquitetada para ser extensível e reutilizável para uma ampla variedade de fins de pesquisa para promover a inovação na automação de direção cooperativa. Ele permite a comunicação entre veículos, usuários da estrada, como pedestres, ciclistas e scooters, e dispositivos de infraestrutura capazes de comunicação. Promove a colaboração entre uma comunidade de engenheiros e pesquisadores para acelerar o desenvolvimento, testes e avaliação da automação de direção cooperativa, ao mesmo tempo que avança a segurança, a proteção, os dados e o uso de inteligência artificial na tecnologia de direção automatizada.
A Plataforma CARMA é distribuída como um conjunto de vários pacotes independentes hospedados em repositórios Github separados. Esses pacotes facilitam a operação da Plataforma CARMA com diferentes configurações de hardware ou permitem que ela suporte diferentes modos de operação. Para incluir um desses pacotes em sua construção do sistema da Plataforma CARMA, clone o repositório Github na mesma pasta src/
do espaço de trabalho Catkin deste repositório. O sistema de compilação Catkin verificará se as dependências foram resolvidas adequadamente e criará o pacote recém-incluído na próxima vez que você executar catkin_make
. Uma lista incompleta de pacotes disponíveis para CARMA3 inclui:
Uma lista completa de pacotes disponíveis pode ser encontrada na organização USDOT FHWA STOL Github.
CARMA Cloud SM é um serviço de software de código aberto (OSS) baseado em nuvem para download que fornece informações para apoiar e permitir a automação de direção cooperativa. Ele permite a comunicação com serviços e veículos em nuvem, usuários da estrada, como pedestres, ciclistas e scooters, e dispositivos de infraestrutura capazes de comunicação. Promove a colaboração entre uma comunidade de engenheiros e pesquisadores para acelerar o desenvolvimento, testes e avaliação da automação de direção cooperativa, ao mesmo tempo que avança a segurança, a proteção, os dados e o uso de inteligência artificial na tecnologia de direção automatizada. O código-fonte do CARMA Cloud pode ser encontrado aqui no GitHub.
Bem-vindo ao guia de contribuição do CARMA. Leia este guia para saber mais sobre nosso processo de desenvolvimento, como propor pull requests e melhorias e como construir e testar suas alterações neste projeto. Guia de contribuição CARMA
Leia nosso Código de Conduta CARMA, que descreve nossas expectativas para os participantes da comunidade CARMA, bem como as etapas para denunciar comportamento inaceitável. Estamos empenhados em proporcionar uma comunidade acolhedora e inspiradora para todos e esperamos que o nosso código de conduta seja honrado. Qualquer pessoa que violar este código de conduta poderá ser banida da comunidade.
A equipe de desenvolvimento gostaria de agradecer às pessoas que fizeram contribuições diretas ao design e ao código deste repositório. Atribuição CARMA
Ao contribuir para os Aplicativos de Mobilidade de Pesquisa Automatizada Conectada (CARMA) da Federal Highway Administration (FHWA), você concorda que suas contribuições serão licenciadas sob a licença Apache License 2.0. Licença CARMA
Agência: DOT
Breve descrição: Cooperative Automation Research Mobility Applications (CARMA) é uma plataforma de software de código aberto (OSS) que roda em um computador dentro de um veículo, e o computador interage com os dispositivos do veículo para permitir pesquisa, desenvolvimento e testes cooperativos de veículos automatizados. O computador fornece então ao veículo as informações necessárias para interagir e cooperar com a infraestrutura e outros veículos. A Fase I deste projeto iniciou a próxima geração da frota CARMA desenvolvendo uma infraestrutura de plataforma comum que apoiará a visão estratégica da FHWA para Cooperativa Automatizada Sistemas de Condução (CADS). A Fase I também desenvolveu o Protótipo Integrado de Rodovia (IHP), integrando as aplicações existentes e um novo tipo de veículo, o caminhão pesado, à frota da CARMA. As cinco aplicações a seguir são principais áreas de pesquisa: (1) Pelotão de veículos, (2) Aproximação e partida de interseção sinalizada, (3) Harmonização de velocidade guiada por infraestrutura e (4) Mudança cooperativa de faixa e (5) Fusão cooperativa de rampa. deste projeto avançará o CADS, que foi desenvolvido na plataforma de pesquisa CARMA da FHWA para permitir testes de estratégias de arbitragem e negociação. Em última análise, este projecto aumentará a eficiência da infra-estrutura e reduzirá o congestionamento do tráfego. Um dos objetivos deste projeto é acelerar a transferência de tecnologia e a implantação de aplicações cooperativas em veículos através da colaboração de código aberto com a indústria e as partes interessadas. Este projeto permitirá a capacidade de teste de veículos leves de nível 2 e nível 3 (L2/3) da Sociedade de Engenheiros (SAE) e desenvolverá uma frota de quatro veículos pesados SAE L2/3. O projeto também desenvolverá um conceito de alto nível para Gerenciamento e Operações de Sistemas de Transporte (TSMO) em torno do uso de tecnologia de direção automatizada. Além disso, este projeto identificará cenários de gerenciamento de incidentes de trânsito (TIM) que fornecem melhorias estratégicas e novas estratégias para casos de uso de socorristas interagindo com ADS e usando ADS. A nova frota FHWA será usada para criar um protótipo de cenário para cada uma das seguintes categorias de casos de uso: (1) Viagem Básica, (2) Zona de Trabalho, (3) Gerenciamento de Incidentes de Trânsito e (4) Clima. Esses testes fornecerão dados objetivos para informar as partes interessadas sobre os impactos do ADS e possíveis estratégias para usar o ADS para melhorar as operações.
Estado: Beta
Tags: transporte, automação de direção cooperativa, veículos conectados, sistemas de transporte inteligentes, C++, java, python, docker
Horas de trabalho: 200
Nome de contato: James Lieu
Telefone de contato: (202) 366-3000
Clique no logotipo da CARMA abaixo para visitar o site da CARMA da Administração Rodoviária Federal (FHWA). Para obter mais informações, entre em contato com [email protected].
Para obter suporte técnico da equipe CARMA, entre em contato com o suporte técnico do CARMA em [email protected].