Dirigir um carro é moleza. Ligue o motor, mantenha os olhos abertos, pé no acelerador e pronto. Então porque os carros autônomos estão demorando tanto?

Atualmente, a frota de carros autônomos está cruzando as ruas de Mountain View diariamente — junto com outros veículos em frotas menores de carros customizados que o Google também testa internamente. Mas você vai encontrá-los espalhados por outras partes do mundo também, seja com o Nissan Leaf conhecido como Robot Car em Oxford, no Reino Unido; ou o Volvo XC90s na Suécia, ou quem sabe algo que esteja sendo feito em segredo em Cupertino. Mas seja lá em que parte do mundo eles estejam, todos tem algo em comum: um núcleo computacional potente que um dia permitirá que eles dirijam como humanos — talvez até melhor.

Seres humanos vêm equipados com diversas coisas que são úteis na hora de controlar um carro: temos olhos e ouvidos para sentir o mundo ao nosso redor; um cérebro potente para processar essas entradas; e, para a maior parte de nós, um forte senso de memória que nos permite dirigir por todas as ruas que conhecemos com bastante confiança. Mas há uma enorme diferença entre o modo como nós vemos o mundo e a forma como um computador vê. “Você pode programar um carro para dirigir ao simplesmente definir uma série de regras definidas por órgãos de trânsito”, sugere Katelin Jabbari, da equipe de carros autônomos do Google. “Mas isso não representa 99% do que vemos nas ruas. Com quanta força eu devo frear? Quão rápido devo fazer a curva?” Recriar essas habilidades usando sensores digitais e chips de silício é possível — só não é fácil.

Um carro autônomo precisa de três habilidades básicas para sair dirigindo por aí: em primeiro lugar, ele precisa entender onde está; em segundo, precisa entender qual é a rota mais segura até a próxima localização; e em terceiro, ele precisa saber como se mover até o próximo ponto. Felizmente a tecnologia digital já solucionou essa terceira questão. É fácil motorizar um sistema de direção hidráulica — se você já viu um carro sendo estacionado de maneira autônoma em algum lugar, então já viu isso em ação.

Então o ato físico de dirigir — pressionar pedais e movimentar o volante — sempre será fácil. O problema é fazer o carro dominar essas duas habilidades. Em resumo, isso significa que os computadores devem ser treinados para imitar a forma como o cérebro humano percebe um espaço físico e se move por ele.

O mapa prévio

“Frequentemente me perguntam ‘por que não usar GPS?'”, diz Will Maddern. Ele é um pesquisador do grupo de Robótica Móvel da Universidade de Oxford, que está desenvolvendo o Robot Car. “Essa é na verdade uma questão bastante sensível: a constelação de satélites GPS é uma grande conquista da engenharia.”

O problema é que o GPS tem grandes limitações. Em primeiro lugar, ele não funciona sem uma visão clara do céu — então dentro de túneis, estacionamentos cobertos e até algumas florestas ele não vai servir para muita coisa. Mas o mais importante é que sua resolução está na ordem dos metros — o que certamente não é o suficiente para um carro navegar por ruas de uma cidade, onde alguns centímetros fazem toda a diferença entre a segurança e uma batida.

“Frequentemente usamos GPS para dar o pontapé inicial nos nossos algoritmos de localização”, admite Maddern, “mas nós não apostamos nele para nos dizer onde na rua está o carro.” Em vez disso, carros autônomos aprendem a identificar a posição na rua de uma forma completamente diferente.

Mapa combinando LIDAR com câmera estéreo da Universidade de Oxford (imagem: Oxford)
Mapa combinando LIDAR com câmera estéreo da Universidade de Oxford (imagem: Oxford)

“Duas coisas precisam acontecer”, explica Sridhar Lakshmanan, um professor de engenharia especializado em processamento de imagens e visão computacional para veículos autônomos na Universidade de Michigan. “Os mapas precisam se tornar mais precisos e o registro deles precisa ser mais preciso.”

Em vez de apostar em um tipo de mapa que seu sistema de navegação veicular usa, os carros autônomos desenvolvidos pelo Google e pela Universidade de Oxford apostam em mapas 3D ricos das ruas, conhecidos como mapas prévios. Eles são como essa imagem acima. A partir disso, eles usam sensores a bordo para comparar o que o carro vê em determinado momento com o que está armazenado na sua memória. “Mapas prévios permitem que o carro tenha um entendimento muito melhor de onde está no mundo antes de ver os dados em tempo real”, explica Jabbari. “Então ele sabe o que deve estar acontecendo, ele pode ver o que de fato está acontecendo em tempo real, e ele pode fazer um julgamento sobre o que deve fazer.”

A necessidade de um mapa adiciona uma limitação natural na forma com os carros são usados, no entanto. “A primeira coisa que devemos fazer antes de poder dirigir autonomamente é mapear as ruas”, admite Jabbari. Google e outras empresas já desenvolveram esses mapas, usando os mesmos carros que eles desenvolveram para a direção autônoma para registrar o mundo ao seu redor em detalhes — eles já estão carregados com o kit necessário para fazer esses mapas, afinal de contas.

O mundo real

E um carro autônomo realmente precisa de muitos sensores exóticos. Os carros do Google dependem fortemente de scanners e radares a laser. Um laser Velodyne de 64 feixes fica no topo do veículo, girando alegremente com uma sirene de viatura da polícia. Você pode ver esses sensores na imagem abaixo:

Lasers Velodyne de 64 feixes no topo dos carros autônomos do Google. (Foto: AP)
Lasers Velodyne de 64 feixes no topo dos carros autônomos do Google. (Foto: AP)

Esses sistemas — chamados de LIDAR — fazem uma varredura de 1,3 milhões de pontos a cada vez que completam uma volta, em ondas concêntricas que começam a 2,5 metros do carro. Eles são capazes de identificar um objeto de 30 centímetros a 50 metros de distância. O sistema de radar tem o dobro do alcance — é menos preciso, mas, em teoria, permite que o carro veja através da chuva, neblina e neve. Os carros desenvolvidos em Oxford, enquanto isso, usam uma série de câmeras estéreo e sensores LIDAR. Outros — do Laboratório AutoNOMOS, na Alemanha, ao Centro de Pesquisa Automotiva de Stanford, nos EUA — usam uma combinação de sensores parecidos. Independentemente de quais sejam os sensores exatos no veículo, o objetivo é sempre o mesmo: sugar a maior quantidade possível de informações sobre os arredores do carro.

Mas por que se importar em criar mapas quando você pode fazer coisas incríveis com os dados em tempo real dos sensores? “Nem todos os desenvolvedores de veículos autônomos concordam que mapas prévios são importantes, ou até mesmo necessários, para a navegação autônoma,” diz Maddern. “Uma grande quantidade de pesquisadores e fabricantes partem da ideia de que um veículo não precisa saber exatamente onde está para reagir ao seu ambiente ao redor — ao seguir faixas de trânsito, obedecer placas de tráfego e semáforos, e ao reagir apropriadamente a outros carros e pessoas nas ruas, eles sugerem que um carro pode ter um desempenho no mínimo tão bom quanto um humano dirigindo por ruas desconhecidas”.

O pessoal do Google discorda dessa ideia. “Se você está dependendo de dados em tempo real, há muito mais processamento a ser feito”, explica Jabbari. “Mapas prévios tornam tudo mais fácil… é uma camada adicional de segurança e entendimento.” Ela compara um mapa prévio a dirigir por um bairro conhecido: você sempre sabe exatamente como estão as ruas, não importa em qual você esteja.

No momento, ao menos, parece que os maiores avanços estão sendo feitos por aqueles que apostam os mapas prévios. Isso não significa que a abordagem em tempo real não seja boa; só é muito mais desafiadora de ser feita. Ela pode até se provar ser a melhor das abordagens, mas, no momento, parece improvável que ela seja a primeira a chegar ao mercado.

Mesmo com um mapa a bordo, um carro autônomo sempre vai coletar informações frescas de como é o mundo — especialmente em condições diferentes, como neve, vento, chuva ou à noite. Maddern explica que o carro que está sendo desenvolvido em Oxford sempre está criando novos mapas, construindo “múltiplas experiências do mesmo lugar sob condições diferentes”. Dessa forma, o carro tem muitas “memórias” da mesma rota, e pode acessá-las na hora apropriada de acordo com as condições do momento.

Carro autônomo do Google
Carro autônomo do Google

Ainda assim, a criação da primeira leva de mapas prévios é frequentemente apontado como uma barreira para a grande estreia dos carros autônomos. Mas “o Google é muito bom em mapeamento”, diz Jabbari. Combine os mapas do Google com a ideia de Maddern de que os carros devem desenvolver um banco de dados de experiências e poderemos ter carros autônomos com uma base de memória sólida do ambiente. E, diferentemente dos seres humanos, tudo o que você precisa fazer é conectá-los a uma rede para conseguir a versão mais recente.

Vendo o mundo através dos olhos do carro

Mesmo com uma memória perfeita, o carro ainda precisa comparar mapas mentais com o que está sendo visto. Como isso é feito depende dos sensores a bordo do carro. No caso de um scanner a laser, como o que aparece no teto do carro do Google, o hardware gera uma representação 3D milimetricamente precisa dos arredores — essa imagem é chamada de “ponto na nuvem”. Como essas imagens são incrivelmente precisas, é fácil o suficiente compará-las com o mapa prévio aos novos dados usando algoritmos bastante conhecidos para gerar dois mapas — o prévio e o atual — alinhando eles o máximo possível. Isso facilita muito a identificação a uma precisão subcentimétrica de onde o carro está na rua.

Mas sensores LIDAR 3D são muito caros e exigem muita potência e partes móveis, segundo Maddern. É por isso que muitos carros — como o que está sendo desenvolvido em Oxford — usam câmeras digitais normais para comparar a realidade com o mapa do carro. Algumas dessas são estéreo, outras monoculares — mas nenhuma é tão precisa quanto o LIDAR. Isso significa que não há nada de comparações algorítmicas fáceis.

Em vez de comparar mapas prévios e em tempo real pixel a pixel, diz Maddern, o computador vai identificar “pontos de interesse” como esquinas, bordas e outras coisas. Esse pontos de interesse nos mapas são abstraídos em “remendos” que são então comparados. Maddern diz que esse sistema funciona muito bem — “mesmo quando os remendos são de tamanhos diferentes ou estão em condições diferentes de iluminação.”

Na maior parte do tempo, funciona. O gif abaixo, que mostra imagens capturadas com as câmeras do Robot Car comparando com as informações no mapa prévio, mostra bem isso. E a escolha por sensores baratos é óbvia: colocá-los em carros custa alguns milhares de dólares, em vez de algumas dezenas ou centenas de milhares de dólares. Mas a técnica pode ter problemas quando encontra o borrão de movimento, reflexo de lente e condições meteorológicas adversas. Considerando que o custo é um dos pontos mais criticados em veículos autônomos, não surpreende que “solucionar esses desafios… é uma área de pesquisa bastante ativa”, como destaca Maddern.

Imagens de câmera monocular são combinadas com o mapa prévio do Robot Car. (Imagem: Universidade de Oxford)
Imagens de câmera monocular são combinadas com o mapa prévio do Robot Car. (Imagem: Universidade de Oxford)

Reconhecimento de objeto

Todas essas técnicas, no entanto, são simples meios de fazer o carro combinar uma imagem com outra para conseguir se localizar. Em resumo, o que motoristas humanos fazem com as mesmas informações é processá-las — para saber como devem agir em relação a aquilo. Então o que pesquisadores querem fazer é criar carros que reconheçam e respondam a coisas que estão nos arredores — basicamente, estamos falando em carros que desenvolvem algo equivalente à percepção humana.

“Esse é o cálice sagrado dos veículos autônomos”, admite Lakshmanan. Ele presta a “atenção aos obstáculos inesperados, seja cones de tráfego que apareceram do nada, um pedestre atravessando na frente do carro ou algum outro veículo que muda repentinamente de faixa.” E é exatamente o que carros precisam se eles “vão se adaptar às mudanças imediatas nos seus arredores.”

A percepção, claro, tem diversos graus de complexidade. No seu nível mais simples, ensinar um carro a reconhecer objetos é a mesma coisa que ensinar a busca de imagens do Google a diferenciar um bule de um gato. Ofereça uma quantidade considerável de imagens categorizadas dos dois para ensinar, e uma hora o sistema vai conseguir lidar com tudo sozinho.

É mais ou menos isso o que o Google vem fazendo com seus carros, também. “Ensinamos o carro a entender categorias de coisas. Então ele reconhece pedestres, ciclistas e veículos — até mesmo tipos particulares de veículos, como ônibus escolares ou viaturas da polícia”, explica Jabbari. E com base na movimentação dos objetos, o Google também treinou seus carros para que eles possam prever as futuras ações esperadas. “Se ele ver um ciclista levantando o braço esquerdo, provavelmente é um indicativo de que ele vai virar à esquerda ou se juntar à pista da esquerda”, explica Jabbari. “Isso nos permite ajustar o comportamento do carro.”

Dados de LIDAR sendo usados pelo Robot Car para classificar objetos nas ruas. (Imagem: Oxford)
Dados de LIDAR sendo usados pelo Robot Car para classificar objetos nas ruas. (Imagem: Oxford)

No fim das contas, no entanto, o carro precisa ser capaz de entender tudo isso por conta própria, sem nenhuma necessidade de ser ensinado. É esse nível de percepção que representa o maior desafio para os carros autônomos. “A capacidade de emular o cérebro humano..- esse será — se eu posso dizer — o ingrediente secreto, a coisa que permitirá uma empresa a chegar ao mercado antes”, explica Lakshmanan.

Até um carro autônomo conseguir, digamos, reconhecer e desviar de uma criança que corre sozinha na rua, sempre haverá alguma resistência com relação à sua presença nas ruas. Mas o peso do avanço tecnológico e algorítmico sugere que isso não vai demorar muito. Dirigir um carro pode ser fácil — aperfeiçoar isso é outra história.