Como funcionam os carros autonomos (Parte 2- Interface de navegação e tomadas de decisão)

Israel de Andrade
aibrasil
Published in
4 min readJul 24, 2018

Na primeira parte eu falei um pouco sobre o sensoriamento mas ainda tem muita coisa a ser vista.A interface de navegação e a parte de tomada de decisão a parte de localização simultanea e mapeamento que vou deixar para falar um pouco mais na proxima parte. Vou começar falando sobre as varias interfaces de navegação que combinam os dados de visão computacional,sensoriamento e GPS.

Existe uma muito famosa conhecida como Apollo,uma startup comprada pela empresa Baidu.

Nesse video voce pode conferir uma demonstração do sistema utilizando o linux para demonstrar o sistema de navegação do carro autonomo

Mas não tem apenas esse existem varias alternativas para interface de navegação outra delas é o Carla Simulator

O Carla faz aquisição dos dados da camera e sensoriamento e utilizando a engine unreal pode fazer simulação do trafego em tempo real.Tambem existe o Autoware feito pelo pessoal do japão mas tambem com grande suporte.

E tambem tem o famoso Gazebo combinado com o ROS(robot operational system) que pode fazer a parte de interface tambem.

A melhor parte que são alternativas opensource e não custa um centavo instalar a pior parte é que necessitam de um hardware parrudo para processar tudo ao mesmo tempo então não economize com memoria ram e processador quando quiser adquirir alguns deles para estudo.Todos em sua maioria rodam no Ubuntu que tem um otimo suporte para quem utilizar ele.Tambem tem o Simulador da universidade udacity que tambem pode ser usado como interface de navegação esse usa a engine unity para simular a navegação

Agora vamos para a parte de tomadas de decisão vou chamar esse topico de

O uso do algoritmo LSTM para navegação dos carros autonomos

O uso desse algoritmo é justamente para auxiliar no SLAM que é a localização e mapeamento do veiculo então o SLAM estima a posição de um robo e faz um mapeamento ao mesmo tempo.Por outro lado é um pouco complicado porque necessita de uma api que retorna a localização e retorna o mapeamento.

Mas imagine a seguinte situação um carro tenta fazer ultrapassagem e tem uma pessoa na frente como o algoritmo vai saber qual decisão é a certa?

É um pouco complicado explicar isso utilizando a parte visual então resolveram implementar um algoritmo utilizando uma especie de interpretação semantica atraves do reconhecimento de imagem e sensoriamento.Para isso mesmo quando eu for falar de LSTM vou utilizar o exemplo utilizando semantica com texto e não com imagem mas funciona do mesmo jeito.A LSTM nada mais é do que uma rede neural recorrente ou seja ela pega diversas situações que foram reconhecidas atraves de mineração de dados de sensoriamento e registra no tempo como se fosse uma foto depois salva dentro da rede neural recorrente como se fosse uma memoria a imagem abaixo mostra um pouco como isso acontece.

Na imagem acima a letra i representa o input gate ou seja os dados que deve ser escritos,os dados de entrada o forget gate os dados a serem descartados a porta gate introduz o dado que esta sendo digitado agora para lembrar o comportamento dele e adivinhar o proximo que vai sair na output gate

Na imagem acima por exemplo é digitado em inglês onde esta voce e como já foi registrado anteriormente no treinamento da rede a palavra eu estou no trabalho em inglês utilizando a função softmax que é apenas uma função usada para reconhecer a palavra baseado no seu padrão de digitação.Existem varias funções de ativação poderia ser utilizada outra e não faria muita diferença.Da mesma forma quando se utiliza varios dados de sensores e de camera para saber a posição a rede ja tem registrado esse comportamento.

Lembram na imagem da publicação anterior?Vou mostrar ela de novo:

São inseridos os dados de sensoriamento e utilizada uma função de ativação com uma tecnica que usa uma abstração matematica do funcionamento de um neuronio chamada rede neural recursiva,os dados de entrada são os de sensores e os de saida o angulo do volante o breque e a aceleração com um minimo de erro.Tudo isso usando redes convolucionais para reconhecimento dos objetos(Parte essa que vou publicar logo mais) e redes neurais recursivas para a memoria de navegação de carros autonomos que combinadas fazem uma navegação que até prevê acidentes.

No video abaixo é mostrado como isso acontece com carros autonomos.

Então por experiencia anterior a rede neural recursiva usando o algoritmo LSTM ja sabia que poderia acontecer o acidente antes dele acontecer apenas observando os dados de sensoriamento.

E isso é tudo pessoal.Com esse texto bacana voce aprendeu um pouco sobre as interfaces de navegação e tomadas de decisão para navegação do veiculo.O texto generico de machine learning vai sair logo mais to enrolando porque tinha outras ideias pra escrever,mas até fim desse mes ta saindo tambem.Quer saber mais sobre redes neurais recursivas clique na palavra link para saber mais sobre isso.

--

--

Israel de Andrade
aibrasil

Programador de diversas linguagens, com conhecimentos em Machine Learning, Data Science, ferramentas de automação e tópicos de astronomia