Como veículos autônomos e cidades inteligentes se conectam

Alexandre Nogueira
5 de mar de 2018

Sou Alexandre Nogueira, engenheiro de computadores, formado no Nanodegree Engenheiro de Carro Autônomo e estudante do Nanodegree Voo Autônomo. Resumindo, gosto de aprender sempre! E ao longo do novo curso da Udacity, pretendo compartilhar meus novos aprendizados sobre o tema.

Para começar, vamos falar sobre carros autônomos e cidades inteligentes.

Faz tempo que conversas sobre Internet das Coisas (IoT), veículos autônomos e cidades inteligentes deixaram de ser nicho entre fãs de tecnologia. Hoje em dia, esses debates acontecem também entre empresários, investidores, acadêmicos, urbanistas e governos.

Leia: Machine Learning: entenda as oportunidades profissionais dessa área

O que torna um veículo autônomo?

Para entender o contexto geral de veículos autônomos e porque eles representam uma mudança de paradigma tão importante, é preciso definir primeiro o que torna um veículo realmente autônomo: ele precisa ter toda inteligência necessária dentro de si para tomar decisões.

Isso inclui a capacidade de tomar decisões simples, tais como parar em um semáforo que está com a luz vermelha acesa. Ao aplicar técnicas de visão computacional e aprendizado de máquina, é possível criar um classificador embarcado no veículo que o habilite a decidir parar.

É algo que fica muito melhor se o sistema de localização do veículo tiver semáforos nos pontos esperados. Para tanto, eles precisam primeiro estar mapeados para constarem na base de dados que o carro utiliza.

Mas só parar na hora certa tornaria o veículo autônomo? Não.

Este é somente um exemplo da interação entre o carro e a infraestrutura da cidade, e mesmo uma volta rápida na rua torna possível imaginar muitos outros.

Para complicar mais as coisas, pense nas exceções. Quantas vezes humanos dizem "o que é isso?" no trânsito ou agem de maneira irregular nas ruas? O tempo todo.

Nessas situações, usamos a buzina, sinalizamos com as mãos (só gestos positivos, espero) ou somos efetivamente criativos e usamos as relações humanas para pedir ajuda. Todas essas ações têm impacto no trânsito e devem constar no planejamento de carros autônomos.

Sebastian Thrun, cofundador da Udacity e criador do carro autônomo do Google, apresenta a tecnologia em TED TALK

Como um carro autônomo gera dados

A arquitetura de um veículo autônomo é similar a um robô projetado para a missão de transportar as pessoas ou bens.

Tais robôs têm um sistema de comunicação próprio baseado em módulos, como o Robot Operating System (ROS), ensinado no Nanodegree Engenheiro de Carro Autônomo.

Estes sistemas – e há outros exemplos além do ROS, como Autosar, Robinos e Here Open Location Platform – criam partes com funções específicas, tais como detecção de semáforos, drive-by-wire e localização, que trabalham com uma arquitetura de subscrição em tópicos.

Exemplo de arquitetura de subscrição em tópicos

Esse tipo de arquitetura permite a inclusão de blocos de software com novas funcionalidades em um software que já está rodando. É o que faz com que carros autônomos de ponta, como um Tesla, atualizem seus softwares na garagem e amanheçam com novas funcionalidades, como um jeito novo de estacionar ou uma nova interface.

Na figura acima, temos os sensores do lado esquerdo. Entre eles há câmeras (que usam visão computacional para detectar objetos e ruas), radares (usam ondas de rádio para detectar obstáculos e outros veículos), LIDARs (usam laser para fazer o mesmo) e GPS (usam sinais de satélite para localização).

Vale a pena dar um passeio pelo segundo período do Nanodegree Engenheiro de Carro Autônomo para ver todos em prática.

Leia: Influência e aplicações da inteligêcia artificial em diferentes indústrias

Kalman Filters

Como é possível priorizar e agrupar as leituras de todos os sensores para uma tomada de decisão? É aí que entram os Kalman Filters (KF), uma peça-chave na fusão sensorial, ou sensor fusion.

Esses filtros são muito usados em navegação, direcionamento e controle de veículos, tais como carros, drones e até naves espaciais, e tem uma aplicação muito parecida com a percepção do ser humano.

Ainda crianças, nós aprendemos como desviar de coisas ou pessoas em movimento e instintivamente analisamos a trajetória de outros amigos no pátio da escola enquanto corremos, por exemplo. Fazemos facilmente a previsão e o ajuste de trajetória. Obviamente, aprendemos com as trombadas, risadas e alguns galos na cabeça.

Os filtros de Kalman – e estamos falando aqui especificamente do Extended Kalman Filter, ou EKF, parte fundamental de sistemas de robótica – têm basicamente duas etapas, State Prediction e Measurement Update, para fazer algo parecido.

A primeira faz uma previsão do estado do objeto baseado na diferença da observação atual e da anterior. A etapa seguinte, que depende do tipo de sensor, atualiza a previsão feita anteriormente.

Para entender o que isso significa em termos humanos, faça um experimento: observe um objeto em movimento linear, feche os olhos rapidamente e tente prever onde o objeto estará. Em seguida, abra os olhos e atualize sua previsão.

Como os EFKs precisam tratar muita informação de forma precisa, normalmente são executados em linguagens de programação de alta performance, como C++. Quem gosta de diferenciais e integrais vai adorar aplicar as equações usadas no EKF.

Internet das Coisas e cidades inteligentes

Depois de entender melhor como um carro autônomo toma decisões, fica mais fácil entender também como ele se comunica com o mundo ao seu redor e quais são as possibilidades que surgem daí.

No segmento de veículos autônomos, o termo para comunicação é V2X ("veículo para X"). Algo pode ser:

  • V2V (vehicle to vehicle)
  • V2I (vehicle to infrastructure)
  • V2P (vehicle to pedestrian)
  • V2D (vehicle to device)
  • V2G (vehicle to grid)

É nessa interconexão entre veículos, aparelhos e infraestrutura que entra a Internet das Coisas – uma rede ainda em construção que conecta dados de máquinas, objetos e pessoas – e o conceito de cidades inteligentes, que utilizam dados em larga escala para embasar a tomada de decisões.

A comunicação entre esses atores é parte integral do sistema de veículo autônomo, já que pode trazer informações importantes para seu funcionamento.

É fácil imaginar um futuro em que carros autônomos empregam os dados municipais de uma cidade como São Paulo, por exemplo, que utiliza sensores hídricos para detectar índices pluviométricos e vazão dos rios e córregos e assim soar alertas quando houver inundações.

Outras cidades já experimentam até cruzar essas medições com modelos meteorológicos que, através de algoritmos de machine learning, possibilita uma previsão cada vez melhor das chuvas nas cidades.

Com acesso a esses dados em tempo real, um veículo autônomo – que torna obsoleto qualquer app de trânsito – pode traçar uma rota alternativa automaticamente, levando em conta os pingos que ainda nem caíram.

Um outro exemplo interessante é a otimização de custo que um órgão de trânsito poderia ter ao usar modelos preditivos para priorizar ações de manutenção de semáforos.

Imagine que há dois semáforos apagados: como definir qual é o prioritário? De maneira bem simplificada, o órgão pode utilizar dados históricos de trânsito gerados por veículos conectados ou autônomos e prever qual vai causar mais impacto no trânsito e assim priorizar seu conserto.

Em resumo, uma cidade inteligente, conectada a um veículo inteligente, pode melhorar a qualidade de vida das pessoas.

Leia: De Siri à Alexa, entenda do que assistentes de voz virtuais são capazes

Os desafios para veículos autônomos voadores

E se há tantos desafios no chão, imagine quando o assunto é voo autônomo. Os sistemas de controle ganham em complexidade e a variação meteorológica (um fator fundamental para objetos voadores), em importância.

Pense num céu de uma grande capital povoado por quadcopters transportando pessoas, por exemplo. Eles precisarão ser controlados e guiados por softwares precisos, assim como ter uma coordenação perfeita com o tráfego aéreo municipal e veículos voadores vizinhos.

Tudo mostra que, no futuro, a necessidade de integração – entre veículos autônomos e tudo que os rodeia, de pedestres a nuvens – será muito maior e as cidades, muito mais inteligentes.

Será sensacional, e acho que foi por isso que me tornei aluno do Nanodegree Voo Autônomo. Quem não quer participar desse futuro? Eu quero.

Leia: Como França e Coreia do Sul policiam os céus e caçam drones indesejados

Alexandre Nogueira é engenheiro de computadores e trabalha com desenvolvimento de novos negócios na Ericsson, em São Paulo. Interessado em tecnologias emergentes e novas oportunidades, retomou os estudos na Udacity com o Nanodegree Engenheiro de Carro Autônomo e hoje é aluno do Nanodegree Voo Autônomo.