10 de set de 2018

Um carro autônomo do Brasil: conheça o CaRINA, da Universidade de São Paulo

Udacity Brasil

A expressão “carros autônomos” costuma trazer à mente empresas dos EUA como Uber, Google ou Tesla, que tem investido milhões para transformar essa ideia em realidade. No entanto, há também muita pesquisa sobre esse assunto sendo feita mais perto do que você imagina. Mais especificamente, no campus da Universidade de São Paulo (USP) em São Carlos.

Por lá, pesquisadores do Laboratório de Robótica Móvel (LRM) do Instituto de Ciências Matemáticas e de Computação (ICMC) tem estudado, desde ao menos 2010, as tecnologias necessárias para criar carros capazes de se dirigirem sozinhos.

Trata-se do projeto CaRINA, ou “Carro Robótico Inteligente para Navegação Autônoma”. O projeto investiga os diversos sistemas computacionais necessários para permitir que carros sem motorista consigam trafegar com segurança.

“As pesquisas estão focadas em problemas específicos, porque fazer o veículo andar sem motorista é algo que já existe”, diz o professor Fernando Osório, um dos professores responsáveis pelo laboratório.

Conheça o Nanodegree Introdução a Carros Autônomos!

Projeto CaRINA: a história do carro autônomo do Brasil

O projeto CaRINA já passou por diversas fases. Sua primeira versão era dedicada a veículos elétricos utilitários – “carrinhos de golfe”, como o professor explica. O veículo foi modificado para que um computador pudesse controlar seus mecanismos de aceleração, frenagem e direção, recebendo comandos de um segundo computador que era responsável por “enxergar a estrada”.

Dá para vê-lo em ação no vídeo abaixo:

Esse “carrinho de golfe inteligente” foi o CaRINA 1. A ideia era que ele pudesse ser usado em ambientes fechados ou vias restritas; cumprido esse objetivo, o CaRINA 1 hoje "já está aposentado”, diz Fernando.

Em seguida veio o CaRINA 2, um Palio Adventure que tinha a meta mais ambiciosa de circular em ambientes urbanos. Iniciado em 2011, ele passou por um processo de adaptação detalhado semelhante ao de seu antecessor.

“A gente customiza cada veículo. Não tem como tirar o sistema de um carro e colocar no outro, porque algumas alterações são muito precisas. O nosso mecânico faz modificações direto na barra de direção, por exemplo”, explica Fernando.

No exterior, empresas como a Uber e a Waymo têm carros feitos em série que já vêm com essas modificações. E já existem, segundo o professor, kits de modificação que podem ser acoplados a qualquer carro. Embora a customização carro a carro seja mais trabalhosa, no entanto, ela é mais adequada à realidade dos pesquisadores, que precisam adaptar carros de linha para seus propósitos. E como ela age sobre cada carro específico, acaba sendo mais segura também.

O CaRINA 2 foi testado com sucesso pela primeira vez em 2012. Desde então, ele continuou sendo desenvolvido e testado em percursos mais longos e complexos. Em todos os casos, ele era operado com uma pessoa em seu interior, pronta para assumir o controle em caso de falhas.

Caminhões e táxis autônomos

Em 2015, no entanto, o CaRINA 2 passou por um novo desafio: ele foi testado nas ruas do campus da USP em São Carlos como parte de um sistema de “táxi autônomo”. Segundo a Fapesp, ele podia ser chamado por aplicativo e traçava um caminho de sua origem até o destino desejado pelo usuário.

O veículo chamou a atenção da fabricante sueca de caminhões Scania, que procurou o LRM para o desenvolvimento de um caminhão autônomo de nove toneladas. A montadora ofereceu aos pesquisadores dois caminhões e um investimento de 1,2 milhão de reais para a realização do projeto, que veio a ser o CaRINA 3.

O CaRINA 3, atual versão do projeto da USP-São Carlos

Por conta da diferença de tamanho, o caminhão exigiu modificações diferentes em seus sistemas mecânicos. E a parte de visão computacional aplicada no caminhão, segundo o professor, também foi diferente: por conta de restrições orçamentárias da própria Scania, o CaRINA 3 foi equipado com um radar tradicional em vez de um LIDAR, um “radar de luz” que geralmente é usado para ajudar na visão de carros autônomos.

Leia também: Aeronaves autônomas e carros voadores: conheça 8 modelos que se preparam para o mercado

Como os carros autônomos "enxergam"

A parte mecânica de um carro autônomo é relativamente simples. A parte mais complexa é permitir que ele se comporte como um motorista humano, atento aos seus arredores, pronto para agir no caso de movimentos imprevistos dos outros agentes de trânsito e capaz de extrair informações dos outros veículos, pedestres e sinalizações.

Para isso, a maioria dos carros autônomos se baseia no LIDAR citado acima. O LIDAR usado nas pesquisas do LRM é o Velodyne 32 HDL, que é capaz de emitir mais de 700 mil pontos de luz por segundo em 360 graus à sua volta. Com base no tempo que a luz demora para refletir, ele consegue mapear obstáculos próximos ao veículo. Com dois sensores desse tipo (um na frente e um no topo), o veículo consegue “ver” tudo que há à sua volta.

O vídeo acima ajuda a mostrar como o LIDAR “vê” o mundo

O problema, porém, é que o LIDAR é muito caro. Segundo o professor Fernando, um único LIDAR custa cerca de US$ 30 mil, o que é bem mais do que o valor do carro em que ele é equipado. Por isso, em alguns casos, em vez de LIDARs, os carros são equipados com radares tradicionais, como foi o carro do CaRINA 3.

Radares tradicionais operam com base em som e em uma radiofrequência específica: emitem o som e medem a distância dos objetos próximos com base no tempo que o som leva para voltar. A desvantagem é que eles têm uma definição muito baixa. “O que você vê é como aquela bolinha verde piscando na tela que tem em filmes de submarino”, explica o professor Fernando.

Quer usem LIDAR, quer usem radar, os carros autônomos pesquisados no LRM também se valem de câmeras estereoscópicas, ou pares de câmeras, em sua parte frontal. Elas também funcionam como os “olhos dos veículos”.

Se o carro usar uma câmera tradicional, terá um problema: não conseguirá ter noção de profundidade nas imagens que vê. Por isso se valem de câmeras estereoscópicas: da mesma maneira que os nossos olhos, essas câmeras conseguem comparar as duas imagens e, com isso, dar-lhes a profundidade essencial para um carro autônomo.

Com essa configuração de câmeras e sensores, os carros começam a ser capazes de “enxergar” o que há à sua volta. Mas isso não significa que eles entendem o que estão vendo. Para isso, é necessária ainda muita pesquisa – e há diversos alunos de doutorado do LRM debruçados sobre esse problema.

Leia também: 'Black Mirror' da vida real: saiba que tecnologias da série já existem

Por que o pedestre atravessou a rua?

Daniela Ridel, por exemplo, está realizando pesquisa na área de dinâmica dos pedestres. Seu objetivo é ajudar os carros autônomos a enxergarem pedestres e a entenderem, com base em sua aparência e linguagem corporal, quando eles vão atravessar a rua.

Trata-se de uma pesquisa bem motivada. Daniela cita dados da Organização Mundial da Saúde que apontam que 1,25 milhão de pessoas morrem, por ano, em acidentes de trânsito – e os pedestres estão entre as maiores vítimas.

Para atingir esse objetivo, Daniela precisa não só que os carros consigam ver, mas que eles consigam perceber certas características dos pedestres: sua idade (se são crianças, adolescentes, adultos ou idosos), sua postura, a orientação de suas cabeças e se eles estão olhando o celular ou não, por exemplo.

“Todos esses são fatores que motoristas humanos levam em consideração para saber como agir quando vêem um pedestre, então os carros precisam perceber isso também”, diz Daniela. “Se é uma criança, nós, como motoristas humanos, tendemos a tomar mais cuidado quando dirigimos perto dela”, explica.

Para capacitar os veículos autônomos a perceberem isso, Daniela usa uma câmera estereoscópica associada a um computador que roda algoritmos de aprendizado de máquina. Esses algoritmos vêem a imagem captada pela câmera e conseguem então extrair as características mais relevantes daquele pedestre.

Daniela encontrou alguns problemas para rodar esses algoritmos, no entanto. Para que o computador entenda os pedestres que está vendo, ele precisa comparar a imagem que vê com as imagens que foi treinado a categorizar. E os dois conjuntos de dados que Daniela usou para treinar o algoritmo tinham pequenos problemas que dificultavam esse processo.

Reportagem do G1 mostra o CaRINA em prática – e com passageiros

“Em um deles, as pessoas usaram atores que fingiam que iam atravessar a rua, o que acaba sendo diferente do que as pessoas fazem na vida real”, conta ela. O outro, mais realista, incluía apenas as informações sobre os carros e os pedestres, mas não continha dados sobre eventuais interações entre os dois.

“Muitas vezes, quando o pedestre vai atravessar a rua, ele mantém contato visual com o condutor. E eu não tenho nenhum dado que me fala dessa interação que ocorreu, então eu posso acabar dando uma instrução que não leva isso em conta e gera erro”, explica Daniela.

Para contornar esses obstáculos, Daniela também vem construindo seu próprio conjunto de dados. Trata-se de um processo bastante lento, já que as imagens precisam ser capturadas e rotuladas para “ensinar” o carro a se dirigir sozinho.

O esforço para ela vale a pena. “Pretendemos desenvolver veículos autônomos porque sabemos que o ser humano é falho e um veículo autônomo consegue estar sempre atento ao ambiente", diz. "Mas precisamos aproveitar o lado bom do ser humano.”

Um sistema de veículo autônomo detecta pedestres em tempo real

Um carro guiado por sinais

Além de precisar enxergar pedestres, os carros autônomos precisam ser capazes de extrair informação de placas de trânsito como fazem os motoristas humanos. É nesse ponto que se foca a pesquisa de Diego Bruno, outro aluno do doutorado do LRM.

Os carros autônomos normalmente se guiam por mapas e sistemas de GPS. Segundo o professor Fernando, eles funcionam como se estivessem em um “trilho virtual”. Sua visão oz ajuda a se manter nesse trilho. Mas se as diferenças entre o mundo real e o trilho virtual forem muito grandes, eles não sabem o que fazer.

“Imagina que eu tenho um trecho que está mapeado como tendo velocidade máxima de 100 quilômetros por hora, mas ele está em obras e aí colocam uma placa reduzindo para 40 quilômetros por hora. O sistema [do carro autônomo] precisa conseguir detectar essa placa e jogar essa informação para o controle”, explica Diego.

LIDARs e radares não são capazes de “enxergar” com definição suficiente para ler as placas, diz Diego. Por isso, essa parte precisa ser feita pelas câmeras. E embora as câmeras estereoscópicas sejam essenciais, são as câmeras tradicionais (ou câmeras 2D, por não darem a noção de profundidade) que são fundamentais nesse caso.

“A câmera 3D [estereoscópica] te dá uma nuvem de pontos, mas uma nuvem bem esparsa. Não dá para ler o número que tá na placa, por exemplo. Então a câmera 3D só detecta onde está a placa, depois usa a informação da câmera 2D para alimentar uma rede neural que diz o que tem na placa”, explica Diego.

As câmeras estereoscópicas ainda são necessárias, no entanto, porque sua capacidade de perceber profundidade é o que lhes permite distinguir entre uma placa e um “falso positivo”. “Se você tem uma parede de auto-escola pintada com um monte de placas, por exemplo, uma câmera 2D vai achar que aquilo é uma placa de verdade”, conta Diego.

A ideia, segundo Diego, é trabalhar com a câmera 2D para identificar potenciais placas a uma grande distância. Depois, mandar as candidatas a placas para a visão 3D para confirmar se são placas mesmo e então, finalmente, usar a câmera 2D para identificar as placas. Mas tudo isso leva tempo e exige poder computacional.

Quando começou seu doutorado, há dois anos, Diego conta que seu sistema levava cerca de 3 minutos para identificar uma placa após vê-la. Um tempo muito inadequado no trânsito. Desde então, com o auxílio de outros alunos do mestrado e otimização do código, esse tempo foi reduzido para cerca de 70 milissegundos.

Além de placas de trânsito, Diego também está pesquisando para permitir que os carros autônomos identifiquem faróis e cones de trânsito. Entender se o farol está vermelho, verde ou amarelo, como se pode imaginar, é essencial para que os veículos consigam se mover por ruas urbanas sem causar acidentes.

Os cones, por outro lado, são importantes para ajudar os carros a se guiarem no caso de interdições na pista. “Hoje em dia o carro autônomo se guia pelo GPS e usa a visão para ajudar. Ele não consegue se guiar pelo que ele vê. Então se eu estou andando na rodovia e fazem um desvio não mapeado, o veículo se perde”, conta Diego.

Leia também: 6 inovações da DARPA, a misteriosa agência de pesquisa avançada dos EUA

Os obstáculos na via

No lado técnico, esses são alguns dos obstáculos que os carros autônomos ainda precisam contornar antes de chegar às ruas. Fora isso, há também uma série de entraves regulamentares.

“No Brasil, é proibido o tráfego de qualquer veículo no qual não haja um condutor com as duas mãos no volante. Nos Estados Unidos você tem leis mais locais, então algumas cidades já permitem esse tipo de teste. No Brasil ainda é totalmente ilegal”, conta o professor Fernando.

Por esse motivo, os testes feitos com os veículos autônomos do LRM acabam acontecendo dentro do próprio campus da USP em São Carlos, onde fica o laboratório. “Só precisamos da autorização da prefeitura do campus. E aí fazemos em período de férias ou no fim de semana, quando tem menos gente”, explica o professor.

Segundo Fernando, houve já uma ocasião em que os testes foram feitos nas ruas de São Carlos. No entanto, isso exigiu uma autorização bastante especial, que envolveu a própria prefeitura da cidade. Via de regra, os testes acontecem no campus mesmo.

E ainda que o local permita simular com alguma qualidade as ruas de uma cidade, ele tem suas limitações: o tráfego de veículos e pedestres é relativamente limitado, ainda mais se comparado a grandes centros urbanos, o que no longo prazo acaba sendo uma desvantagem para os pesquisadores – os hábitos de trânsito de um campus e de ruas tradicionais são muito diferentes.

“Com os testes que a gente faz aqui, você chega até um ponto”, conta o professor. Como alguns dos sistemas de veículos autônomos têm componentes de machine learning, que vão se aperfeiçoando com base em interações passadas, essa dificuldade de realizar testes acaba dificultando que os sistemas se desenvolvam.

Mesmo assim, o professor ainda acredita que veículos autônomos devem começar a funcionar no Brasil em breve. Primeiro, em aplicações privadas, como grandes propriedades agrícolas, onde colheitadeiras e pulverizadoras autônomas já são realidade, aposta ele.

E se os testes de veículos autônomos nas ruas estadunidenses já estão a todo vapor (no estado do Arizona, há um liderado pelo Google que já dura seis meses), com o avanço das legislações e pesquisas brasileiras, eles poderão chegar à sua porta em breve – e com componentes made in Brazil.

Vá além:

Sobre o autor
Udacity Brasil

A Udacity, conhecida como a "Universidade do Vale do Silício", é uma plataforma online e global que conecta educação e mercado para ensinar as habilidades do futuro – de data science e marketing digital à inteligência artificial e desenvolvimento. Hoje, há mais de 7 mil alunos ativos no país e 50 mil pelo mundo.