Atualmente, a indústria automotiva está passando por uma revolução na direção autônoma. Um veículo não tripulado pode fornecer um nível mais alto de segurança para os passageiros, porque seu gerenciamento é desprovido do fator humano. O uso generalizado de veículos não tripulados no futuro reduzirá o número de acidentes e também economizará o tempo que as pessoas passam dirigindo diariamente.
OSCAR (Open-Source CAR) é um projeto de pesquisa do veículo não tripulado StarLine de código aberto, combinando as melhores mentes de engenharia da Rússia. Chamamos a plataforma OSCAR porque queremos tornar todas as linhas de código relacionadas ao carro abertas à comunidade.

Anatomia da plataforma
Como usuário do veículo, o proprietário do carro gostaria de ir do ponto A ao ponto B com segurança, conforto e pontualidade. As histórias de usuários são diversas, variando de uma viagem ao trabalho ou às compras e terminando com a saída de amigos ou familiares, sem a necessidade constante de ficar de olho na estrada.

Portanto, o nível mais alto da plataforma são aplicativos e ambientes do usuário. Contamos com três grupos de usuários: usuários individuais, comerciais e desenvolvedores de plataformas. Hoje, para cada um desses grupos, estamos projetando uma interface separada. O segundo nível é a parte do servidor, que inclui mapas de alta resolução, um módulo de simulação e APIs que atendem ao carro. O nível de software é a criação de programas que serão incorporados ao carro. E os dois níveis mais baixos da plataforma são o trabalho no próprio carro, que envolve o exame da interface digital da própria máquina e a instalação de equipamentos.
Carro
Um carro moderno pode ter até 70 unidades de controle eletrônico para vários subsistemas. Normalmente, o processador mais potente é a unidade de controle do motor, enquanto outros são usados para controlar a transmissão, airbags, sistema de freios antibloqueio, sistemas de áudio, ajuste de espelho ... Alguns deles formam subsistemas independentes, enquanto outros trocam informações e comandos entre si.
Para garantir a comunicação entre os dispositivos do veículo, o padrão CAN foi desenvolvido.
O barramento CAN é um padrão de rede industrial, bem como um sistema de comunicação digital e controle de dispositivos elétricos de um carro. Os dispositivos automotivos são conectados ao barramento CAN em paralelo para enviar e receber dados. Tendo acesso a essa interface digital, você pode, por exemplo, ligar o motor, abrir portas, dobrar os espelhos do carro usando comandos de controle.

Para controlar a aceleração e a direção do carro, precisávamos acessar o barramento CAN e entender os tipos de pacotes correspondentes. O NPO StarLine é um fabricante de dispositivos eletrônicos, por isso desenvolvemos nosso próprio adaptador de barramento CAN.

Atualmente, podemos dirigir, frear e acelerar usando um laptop.

Equipamento
Uma área importante de trabalho é equipar o veículo com sensores e sensores. Existem várias abordagens para equipar um veículo não tripulado. Por exemplo, algumas empresas usam lidares caros, enquanto outras as recusam, limitando-se às leituras de outros dispositivos.

Agora, o carro StarLine não tripulado está equipado com várias câmeras mono e binoculares, radares, lidares, bem como navegação por satélite.
A tarefa do receptor GPS é determinar sua localização no espaço, bem como a hora exata. Os receptores civis de GPS têm precisão insuficiente para posicionar um veículo não tripulado; o erro pode chegar a vários metros. Isso ocorre devido à re-reflexão do sinal das paredes dos edifícios em um ambiente urbano e devido a fatores naturais mal previstos, por exemplo, mudanças na velocidade de um sinal de um satélite na ionosfera da Terra.
Para posicionar um veículo não tripulado, o erro do receptor civil de GPS é muito grande e, portanto, em nosso desenvolvimento, usamos navegação por satélite ultraprecisa. Para fazer isso, um receptor GNSS RTK foi instalado no carro, que utiliza técnicas de posicionamento mais avançadas e, portanto, alcança precisão de posicionamento em centímetros somente através da navegação por satélite.
Mas enquanto dirige, o carro pode acabar em um túnel ou embaixo de uma ponte, onde os sinais dos satélites são muito fracos ou completamente ausentes. Por esse motivo, a precisão do receptor GNSS-RTK cairá ou o posicionamento será completamente impossível. Nesses casos, o carro refina sua posição usando as leituras do odômetro e acelerômetro. Algoritmos que combinam dados de várias fontes diferentes para reduzir a incerteza são chamados algoritmos de fusão de sensores.

Além da tarefa de localizar um veículo não tripulado, você também deve ter uma idéia de obstáculos dinâmicos que não estão no mapa, por exemplo, carros se movendo nas proximidades ou pessoas atravessando uma estrada. Para esses fins, um veículo não tripulado usa dados de radar e lidar. O radar usa ondas de rádio para detectar obstáculos e, graças ao efeito Doppler, permite calcular suas velocidades radiais. Lidar é um localizador óptico de alcance ativo que constantemente varre o espaço circundante e forma seu mapa tridimensional, a chamada nuvem de pontos.
Cada dispositivo usado em um veículo não tripulado (da câmera à unidade RTK GNSS) precisa ser configurado antes de poder ser instalado.
De software
Na maior escala, o software drone consiste em vários módulos, incluindo: reconhecimento, planejamento, localização e controle.

Os dados das câmeras são usados para reconhecer e detectar objetos, os radares recebem as coordenadas e as velocidades dos objetos ao redor, os lidares fornecem ao algoritmo uma nuvem de pontos e o módulo GNSS RTK usa dados de satélite para localizar o carro.
Em seguida, os dados das três primeiras fontes são combinados para obter informações sobre obstáculos próximos ao carro.
Ao mesmo tempo, as leituras de satélite e de lidar são usadas para resolver o problema SLAM, o que significa localização e mapeamento simultâneos do terreno. Essa é uma abordagem para criar um mapa de um ambiente desconhecido com o rastreamento da localização de um objeto nele. Esta informação é usada para calcular as 6 coordenadas do carro, que incluem três coordenadas espaciais e velocidade tridimensional.
O próximo passo é planejar a trajetória local do veículo. O último passo é o módulo de controle, que é usado para realmente executar a trajetória construída durante a construção da pista.
Atualmente, estamos envolvidos na instalação e instalação de equipamentos e também estamos trabalhando em um módulo de controle de carro.
Cloud
A parte do servidor consiste em quatro blocos:
- Cartões HD
- API de telemetria
- API de comando
- módulo de simulação
Primeiro, precisamos de um armazenamento de mapas para localizar corretamente o carro, além de um serviço de telemetria para análise de dados. Este é o nosso diagrama inicial da arquitetura do servidor, que inclui dois blocos. Mais tarde, expandiremos o uso da API de comando para poder enviar comandos de controle para o carro a partir do servidor. Também adicionaremos um módulo de simulação.

Os mapas em HD são mapas que oferecem uma imagem completa do mundo real, exata ao centímetro, incluindo tudo relacionado à infraestrutura rodoviária, por exemplo, informações sobre faixas, sinais e a posição dos semáforos. O mapa também pode conter dados do lidar para permitir que o drone se localize nele.

Simuladores são necessários para gerar situações de tráfego para depuração e teste. Ao simular situações de tráfego, podemos aumentar a robustez de nossos algoritmos realizando testes de unidade em um número arbitrário de quilômetros de cenários personalizáveis e condições raras, por uma fração do tempo e custo necessários para testar em estradas reais.

Roteiro
Em julho, começamos a desenvolver um conceito, criamos uma equipe e iniciamos o caminho para o protótipo A. O protótipo A é um carro que pode se mover ao longo dos waypoints, mas requer intervenção do operador para evitar obstáculos. O protótipo B, cujo desenvolvimento pretendemos terminar na primavera de 2019, é um carro que pode contornar obstáculos sem o controle do motorista.

Então, o que um drone tem em seu coração?
O carro é baseado em algoritmos avançados, fluxos de dados, interfaces de alto desempenho e equipamentos sofisticados. Além disso, o carro precisa não apenas de hardware e software, mas também de aplicativos de servidor e cliente. Esse coração tecnológico está aberto e contamos não apenas com a iniciativa da equipe StarLine, mas também com a ajuda da comunidade de código aberto.
O principal objetivo do veículo não tripulado StarLine é o desejo de tornar a vida das pessoas mais confortável e segura. A tecnologia é importante para nós, mas acreditamos que o conhecimento tecnológico e científico existe para servir as pessoas, e esse é o verdadeiro coração do nosso empreendimento. Estamos nos aproximando do dia em que a segurança rodoviária será fornecida pelo equipamento, e as pessoas terão a oportunidade de dedicar mais tempo ao que é importante para eles. E se você compartilha o nosso ponto de vista, temos o prazer de convidá-lo a se juntar a nós na criação da tecnologia de amanhã.
Projeto Gitlab