Simulação de um Controlador Neural para o Estacionamento Paralelo de um Robô Móvel

Share Embed


Descrição do Produto

CONEM 2012 «Engenharia em destaque» VII Congresso Nacional de Engenharia Mecânica São Luís - Maranhão - Brasil 31 de julho a 03 de agosto www.abcm.org.br/conem2012

SIMULAÇÃO DE UM CONTROLADOR NEURAL PARA O ESTACIONAMENTO PARALELO DE UM ROBÔ MÓVEL Kléber de Oliveira Andrade, [email protected] André Carmona Hernandes, [email protected] Marcelo Becker, [email protected] Escola de Engenharia de São Carlos - EESC-USP, Laboratório de Robótica Móvel, Av. do Trabalhador São-carlense, 400, Pq. Arnold Schimidt, CEP 13566-590, São Carlos-SP

Resumo: Graças aos avanços tecnológicos nas áreas da computação, eletrônica embarcada e mecatrônica, a robótica está cada vez mais presente no cotidiano das pessoas. Nessas últimas décadas, uma infinidade de ferramentas e métodos foram desenvolvidos no campo da Robótica Móvel. Um exemplo disso são os sistemas inteligentes embarcados nos veículos de passeio. Tais sistemas auxiliam na condução através de sensores que recebem informações do ambiente e algoritmos que analisam os dados e tomam decisões para realizar uma determinada tarefa, como por exemplo estacionar o veículo. Este trabalho tem por objetivo apresentar um controlador inteligente capaz de estacionar um veículo simulado em vagas paralelas com uma única manobra. Para isso, foi necessário realizar estudos envolvendo a cinemática veicular e sensores. Em seguida é adotada a trajetória em S muito utilizada em outros trabalhos encontrados na literatura da área para realizar a manobra. A manobra consiste em posicionar corretamente duas circunferências com um raio de esterçamento do veículo. Sendo assim, foi utilizado um controlador robusto baseado em aprendizado supervisionado utilizando Redes Neurais Artificiais (RNA), pois esta abordagem apresenta grande robustez com relação à presença de ruídos no sistema. Este controlador recebe dados de dois sensores laser (um fixado na frente do veículo e o outro na parte traseira), da odometria e da orientação do veículo recebida de um sensor inercial fixado sobre o eixo de rotação do veículo. Os dados adquiridos desses sensores e a etapa da manobra em que o veículo está, servem de entrada para o controlador. Este é capaz de interpretar tais dados e responder a esses estímulos de forma correta em aproximadamente 96% dos casos. Os resultados de treinamento e de simulação se mostraram muitos satisfatórios, permitindo que o veículo controlado pela RNA pudesse estacionar corretamente em uma vaga paralela. Palavras-chave: robôs móveis inteligentes, veículos autônomos, redes neurais artificiais, perceptron multi-camadas, aprendizado supervisionado, estacionamento paralelo. 1. INTRODUÇÃO O problema de estacionamento autônomo realizado por um robô móvel (ou veículo autônomo inteligente) esta sendo destaque nos últimos anos e continua atraindo muita atenção da comunidade cientifica e da indústria automobilística (Lo et al., 2003). O problema de estacionamento pode ser classificado em três categorias: estacionamento do tipo garagem, estacionamento diagonal e estacionamento paralelo. Este trabalho estuda somente o problema do estacionamento paralelo (também conhecido como baliza), por se tratar da manobra mais difícil entre as três mencionadas para os motoristas com pouca experiência. A baliza pode ser classificado em três importantes etapas conforme (Demirli and Khoshnejad, 2009), que são: detectar a vaga de estacionamento, posicionar o veículo para se iniciar a manobra e manobrar o veículo para dentro da vaga sem colidir. Estas três etapas podem ser executados e controladas usando muitas técnicas diferentes e uma grande variedade de sensores. A literatura mostra que o sistema de lógica fuzzy é uma abordagem comum para este tipo de problema. CabreraCosetl et al. (2009) usa sensores estrategicamente posicionados no veículo e uma bússola para identificar a vaga de estacionamento e controlar o veículo durante a manobra. Demirli and Khoshnejad (2009) utiliza a técnica neuro-fuzzy e um polinômio de quinta ordem como caminho de referência para manobrar o veículo. Chao et al. (2005) implementa um controle baseado em visão usando uma câmera omnidirecional e dois círculos para gerar a trajetória de referência. Li et al. (2006) fazem uma fusão sensorial entre sensores ultrassônicos e infravermelhos para detectar o espaço de estacionamento. Zhao and Jr. (2005) utilizam sonares para identificar o espaço de estacionamento e um Algoritmo Genético (AG) para

V I I C o n g r e s s o N a c i o n a l d e E n g e n h a r i a M e c â n i c a, 3 1 d e j u l h o a 0 3 d e A g o s t o 2 0 1 2, S ã o L u í s - M a r a n h ã o

ajustar os parâmetros do controlador fuzzy. Huang and Lin (2010) usa um controlador fuzzy auto-organizado que recebe como entrada dados de sonares criando um caminho sinusoidal como referência. Outras técnicas também foram utilizadas, tais como Maquina de Estados Finitos (MEF) (Heinen et al., 2007; Andrade et al., 2011), Redes Neurais Artificiais (RNA) (Osório et al., 2002; Hernandes et al., 2010) e controle de trajetórias (Zhu and Rajamani, 2006). Vale ressaltar que, na maioria desses trabalhos, para identificar o espaço de estacionamento, é preciso detectar uma parede ou o meio-fio. Porém, é apontado por Demirli and Khoshnejad (2009) que a dependência na detecção do meio-fio tem uma desvantagem significativa para conduzir o veículo na baliza, pois nem sempre o meio-fio se encontra na mesma altura calibrada, ou tem uma altura considerável para detecção ou até mesmo pode estar quebrado. Assim, este trabalho tem como objetivo o estudo e desenvolvimento de um sistema neural que seja capaz de fazer com que um robô móvel, em um ambiente simulado bidimensional, realize a manobra de estacionamento de forma autônoma entrando na vaga com uma única manobra. Estacionar o veículo com uma única manobra significa realizar somente os passos estabelecidos na MEF de Heinen et al. (2001); Andrade et al. (2011) exemplificado na Seção 4. O controlador neural somente recebe informações do ambiente através de dois sensores LIDAR (Light Detection and Ranging), orientação do robô por um sensor inercial (IMU) e o estado da manobra. Este artigo está organizado da seguinte forma. A Seção 2 explica o movimento cinemático do veículo e a Seção 3 os modelos dos sensores utilizados. A Seção 4 descreve o controlador baseado em regras utilizado para gerar a base de dados. Na Seção 5 é descrito em detalhes a geração dos dados para treinamento e o projeto do controlador neural. Na Seção 6 é apresentado os resultados simulados e, finalmente, na Seção 7 é feita a conclusão e apresentado os trabalhos futuros. 2. Modelo Cinemático do Veículo Existem na literatura diversos modelos já estudados que são bem fiéis ao comportamento real do robô, inclusive simulando os erros de resposta aos comandos de atuação (Dudek and Jenkin, 2000; Siegwart et al., 2011). O modelo do veículo, também conhecido como modelo cinemático, descreve a maneira como o robô movimenta-se pelo ambiente. A modelagem cinemática do sistema de esterçamento do veículo é conhecida como geometria de Ackerman (Gillespie, 1992). O deslocamento do veículo é estimado através da Eq. (1):  ˙  x (k + 1) = x (k) + x∆t y (k + 1) = y (k) + y∆t ˙  ˙ φ (k + 1) = φ (k) + φ∆t

(1)

onde o vetor [x y φ]T representa as posições do veículo nas coordenadas globais (referencial inercial) do sistema, k é o ˙ T representa as velocidades no instante k do veículo, lembrando que as contador de iterações do algoritmo, o vetor [x˙ y˙ φ] velocidades são funções da atual posição do robô e sua velocidade de cruzeiro. Por fim, o termo ∆t representa o intervalo de tempo entre a posição k e a predição k + 1. A Fig. (1) exibe o modelo cinemático adotado.

Figura 1. Modelo cinemático do veículo. onde θl é o ângulo de esterçamento da roda esquerda do veículo, θr é o angulo de esterçamento da roda direita e θ é a média entre os dois ângulos. A distância entre os eixos é representado por l, L é o comprimento total do veículo, b a

V I I C o n g r e s s o N a c i o n a l d e E n g e n h a r i a M e c â n i c a, 3 1 d e j u l h o a 0 3 d e A g o s t o 2 0 1 2, S ã o L u í s - M a r a n h ã o

distância entre o eixo de trás e a traseira do veículo e a a distância entre rodas. φ é a orientação do veículo, W a largura, R o raio descrito pela roda, V a velocidade longitudinal do veículo e ICR é o centro instantâneo de rotação do veículo. 3. Modelo dos Sensores Os sensores são parte essencial para ciar um veículo autônomo, pois são eles os responsáveis em perceber a atitude do mesmo e coletar informações do ambiente externo. Tais informações serão tratadas e usadas no controle dos movimentos do carro. O presente trabalho utiliza como entrada os dados de dois sensores laser Hokuyo URG-04LX (Lee and Ehsani, 2008) e uma bússola presente no sensor IMU IG-500 (SBG Systems, 2011). Para manipular os dados oriundos dos sensores de modo mais rápido, utiliza-se ângulos significativos para a manobra (Heinen et al., 2007). Deste modo, define-se os ângulos do sensor traseiro SR1, SR2 e SR3, respectivamente 30o ,75o e 120o , e do sensor dianteiro SF 1, SF 2 e SF 3, respectivamente 210o ,165o e 120o . A Fig. (2) mostra suas posições no veículo.

SR3

SF3 SF2

SR2 Veículo B

Veículo A SR1

SF1

Figura 2. Localização dos sensores (ângulos utilizados) no veículo.

4. Controlador Baseado em Regras - Autômato Finito Pensando em facilitar e agilizar a coleta de dados foi implementado o Autômato Finito (AF) criado por Heinen et al. (2006), na qual, busca-se através de seis estados descrever a evolução do comportamento de um motorista ao realizar a tarefa de estacionamento paralelo. A Fig. (3) mostra o AF utilizado para realizar a baliza. 1

Início Procurando vaga

Fim

2 Posicionando o veículo

6 Parando o veículo

3 Entrando na vaga

5 Alinhando na vaga

4 Posicionando na vaga

Figura 3. Autômato Finito que representa o conhecimento humano para realizar o estacionamento paralelo em seis etapas. 1. Procurando vaga: O início do processo de estacionamento começa com o veículo se deslocando para frente em velocidade constante de 0,15 m/s com a direção centrada tentando detectar e calcular o tamanho de uma vaga. Se encontrar, o estado muda para “Posicionando o veículo”; 2. Posicionando o veículo: O veículo continua se deslocando para frente, a fim de se emparelhar ao veículo da frente (posição de início da manobra) e também para verificar se é possível esterçar o veículo usando a abordagem de dois arcos de círculos descrita por Herrmann (2003). Se não for possível, o estado volta para “Procurando vaga”. Se for possível esterçar, o estado muda para “Entrando na vaga”; 3. Entrando na vaga: O carro vira a direção para a direita (se a vaga estiver a direita) e começa se movimentar para trás, de forma a entrar na vaga, passando para o estado “Posicionando na vaga”; 4. Posicionando na vaga: neste estado o veículo prossegue para trás, mas com a direção do volante inversa à do estado “Entrando na vaga”. Quando o SR3 ≤ s, ou a orientação do veículo for menor ou igual à medida inicial em

V I I C o n g r e s s o N a c i o n a l d e E n g e n h a r i a M e c â n i c a, 3 1 d e j u l h o a 0 3 d e A g o s t o 2 0 1 2, S ã o L u í s - M a r a n h ã o

que a manobra foi iniciada (neste momento o veículo estará paralelo ao meio-fio), o estado muda para “Alinhando na vaga”; 5. Alinhando na vaga: neste estado o veículo é movimentado até o centro da vaga. Após o alinhamento estar concluído, o estado muda para “Parado” e a manobra é encerrada com sucesso; 6. Parado: o veículo reduz a velocidade a zero e desliga o carro; 5. O SISTEMA NEURAL DESENVOLVIDO Nesta seção, são descritos os procedimentos e os métodos utilizados para o desenvolvimento do sistema neural para estacionar o veículo em vagas paralelas, de modo que a entrada na vaga seja realizada com uma única manobra. 5.1 O Controlador Neural As Redes Neurais Artificiais (RNAs) são modelos matemático-computacionais inspirados no sistema nervoso dos seres vivos e que possuem a capacidade de adquirir conhecimento através de experiências (Haykin, 2001; Silva et al., 2010). A arquitetura adotada neste trabalho foi o Perceptron de Múltiplas Camadas (do inglês, Multi Layer Perceptron MLP) com aprendizado supervisionado do tipo Resilient Propagation (RPROP) e Levenberg-Marquardt (LM) (Haykin, 2001). Este tipo de abordagem foi adotado porque apresenta grande robustez com relação à presença de ruídos no sistema, como valores inexatos dos sensores e situações imprevistas. O controlador neural recebe um conjunto de entradas referentes ao estado atual do veículo (dados dos sensores e do estado atual da manobra) e o conjunto de saída para essas respectivas entradas (velocidade, esterçamento e qual seria o próximo estado da manobra). Deste modo, quando a rede neural estiver treinada, ao receber os dados de entrada a rede conseguirá prever o próximo estado (Osório et al., 2002). O próximo estado da manobra obtido na saída da rede, substitui o estado atual, proporcionando a rede a habilidade de de prever as mudanças do mesmo. Isto é importante para que a rede possa interpretar corretamente os dados dos sensores enviados a ela, não definindo velocidades e ângulos de esterçamento errôneos. A Fig. (4) descreve o funcionamento do controlador neural. Atual Estado da manobra

Sensores

Ambiente

RNA

Próximo

Velocidade e Esterçamento

Entradas da Rede Neural

Saídas da Rede Neural

Figura 4. Descrição da Rede Neural utilizada para controlar o veículo. 5.2 Geração da Base de Exemplos A primeira etapa para projetar um RNA consiste em obter exemplos da manobra para que se possa treina-la. Para isso, os dados de treinamento são baseadas em dois sensores laser e no sensor inercial. A ideia básica é realizar um mapeamento da manobra usando as medidas dos sensores laser, velocidade, direção, ângulo de esterçamento, orientação dada pelo sensor inercial e tamanho da vaga medida pela odometria. Essas informações são suficientes para que o veículo possa estacionar em vagas paralelas com um comportamento reativo. Neste momento é importante lembrar que os dados são obtidos a partir do terceiro estado do AF, na qual, o veículo realiza a manobra com base na curva em S. Antes de adquirir os dados foi realizada uma análise dos possíveis pontos iniciais onde o veículo conseguiria realizar a trajetória. Para isso variou-se ∆y entre ∆ymin (encostado no veículo A, ou seja, igual a zero) e ∆ymax (distância da largura do veículo), enquanto P foi variado entre Pmin (tamanho da vaga é igual ao comprimento do veículo) e Pmax (tamanho da vaga é igual a duas vezes o comprimento do veículo). A Fig. (5) exibe com mais detalhes a análise realizada para descobrir as configurações iniciais aceitáveis. Nestas condições, foram criadas possíveis curvas no software MatLab discretizando-as em aproximadamente 500 pontos. Para cada ponto é verificado se acontece colisão, o que impossibilitaria a entrada do veículo em uma única manobra. A Fig. (6) mostra um gráfico que indica a área onde é possível realizar a manobra. Percebe-se pela Fig. (6) que, dada a configuração do veículo utilizado neste trabalho, o mesmo só consegue iniciar o estacionamento se P ≥ 1, 67 · L. Este resultado valida o trabalho de Herrmann (2003) com uma pequena ressalva, ele diz

V I I C o n g r e s s o N a c i o n a l d e E n g e n h a r i a M e c â n i c a, 3 1 d e j u l h o a 0 3 d e A g o s t o 2 0 1 2, S ã o L u í s - M a r a n h ã o

Figura 5. Detalhes da análise realizada para descobrir as configurações iniciais aceitáveis, na qual foram variados os parâmetros ∆y e P , onde quatro trajetórias limitantes são representadas.

Variação da distância lateral (mm)

250

90 80

200

70 60

150 50 40

100

30 20

50

10 50

100

150

200 250 300 Variação do comprimento da vaga (mm)

350

400

450

Figura 6. Área de estacionamento paralelo: a área branca indica que é impossível estacionar em uma única manobra, enquanto a cor vermelha mais escura indica o ponto máximo de esterçamento e a cor amarela indica um ângulo menor de esterçamento. que ∆y deveria ser zero e isso não acontece, mas ele também diz que não seria recomendado realizar a manobra com o veículo encostrado. Então, pela Fig. (6), define-se ∆y ≥ 0, 05 · W por questão de segurança e execução da manobra. Após encontrar a região possível de se realizar a manobra, adaptou-se o simulador para criar um arquivo de dados (log), contendo os estado dos sensores, estados da manobra (atual e próximo) e os atuadores de velocidade e rotação. Este arquivo permite que sejam gravados todos os dados referentes à execução de uma tarefa de estacionamento, seja esta tarefa controlada pelo AF apresentado anteriormente ou por um usuário que pode controlar o veículo através do controle manual do simulador. A base de treinamento criada tem 55 manobras e cada manobra tem aproximadamente 320 pontos de coleta de dados, somando um total de 17.625 exemplos. Lembrando que cada exemplo possui 12 valores, resultando em uma matriz de 17.625 x 12. 5.3 Definição das Topologias Candidatas As topologias em RNAs determinam as diferentes formas de composições estruturais que uma arquitetura poderá assumir. As topologias são usualmente especificadas de forma empírica, pois tal dimensionamento depende de muitos fatores. Esses fatores podem variar com o algoritmo de aprendizado utilizado, inicialização das matrizes de pesos, qualidade do conjunto de treinamento e complexidade do problema (Silva et al., 2010). A topologia adotada consiste em: • Camada de entrada → 12 neurônios de entradas, correspondendo aos seguintes dados: tamanho da vaga, feixe laser SF1, feixe laser SF2, feixe laser SF3, feixe laser SR1, feixe laser SR2, feixe laser SR3, orientação dada pelo IMU, terceiro, quarto e sexto estado da manobra; • Camada escondida → 5, 10, 15 e 20 neurônios, podendo ter 1 ou 2 camadas escondidas; • Camada de saída → 10 neurônios, representando: um sinal contínuo de esterçamento, um sinal contínuo representando a velocidade do veículo, terceiro, quarto e sexto estado da manobra. Além disso as topologias serão testadas com exemplos de quatro cenários diferentes: cenários simulando sensores sem ruídos (perfeitos) e espaço de estacionamento sem parede (ou meio-fio) de auxílio; sem ruído e com parede; com ruído e sem parede; com ruído e com parede.

V I I C o n g r e s s o N a c i o n a l d e E n g e n h a r i a M e c â n i c a, 3 1 d e j u l h o a 0 3 d e A g o s t o 2 0 1 2, S ã o L u í s - M a r a n h ã o

5.4 Resultado de Aprendizado dos Controladores Para avaliar o desempenho das topologias candidatas, foi quantificado o erro de percentagem média absoluta (do inglês, Mean Absolute Percentage Error - MAPE). onde na Eq. (2) Vprevisto corresponde ao valor previsto e Vreal é o valor medido, em N instantes de tempo. O MAPE avalia o erro médio, de previsão, porém pondera a magnitude do erro de previsão em relação ao observado em termos percentuais. N 1 X Vprevisto − Vreal M AP E = · 100 N i=1 Vreal

(2)

Para cada topologia assumiu-se a tangente hiperbólica como função de ativação para todas camadas e os algoritmos de aprendizado RPROP e LM. O controlador utiliza dados coletados de 55 manobras de estacionamento paralelos, nas quais os sensores simulados não possuem ruídos (não é acrescentado erro aos sensores) ou acrescentando erros. Para realizar a manobra o veículo autônomo pode ou não contar com a presença de uma parede de auxílio (o que facilitaria a manobra). As 55 manobras resultam em 17.625 exemplos de dados, sendo que, com o uso do 5-fold cross-validation, 45 dos dados serão usados para treinamento (14.100 exemplos), enquanto 15 serão usado para validação (3.525 exemplos). Foram testadas 20 topologias usando o algoritmo RPROP e o algoritmo LM para cada controlador. A Tab. (1) até as Tab. (4) apresentam as três melhores topologias usando RPROP e as três melhores usando LM, levando em consideração a menor quantidade de camadas e a menor quantidade de neurônios. Tabela 1. Resultado das três melhores topologias candidatas para o controlador neural I (sem ruídos no sensores e sem a presença de parede), usando o algoritmo de aprendizado Resilient Propagation e o algoritmo de aprendizado LevenbergMarquardt.

Ref. (RPROP) MLP-19 MLP-17 MLP-6

Neurônios Escondidos 20-15 20-5 10

Média Final MAPE (% acertos) Trein. Val. 98,4 98,3 98,3

98,4 98,3 98,2

Ref. (LM) MLP-26 MLP-37 MLP-25

Neurônios Escondidos 10 20-5 5-20

Média Final MAPE (% acertos) Trein. Val 99,5 99,5 99,2

99,5 99,4 99,2

Tabela 2. Resultado das três melhores topologias candidatas para o controlador neural II (sem ruídos no sensores e com a presença de parede), usando o algoritmo de aprendizado Resilient Propagation e o algoritmo de aprendizado LevenbergMarquardt.

Ref. (RPROP) MLP-54 MLP-53 MLP-51

Neurônios Escondidos 15-15 15-10 15

Média Final MAPE (% acertos) Trein. Val. 98,8 98,7 98,6

98,8 98,7 98,6

Ref. (LM) MLP-72 MLP-78 MLP-74

Neurônios Escondidos 15-5 20-10 15-15

Média Final MAPE (% acertos) Trein. Val 99,7 99,7 99,6

99,6 99,6 99,6

Tabela 3. Resultado das três melhores topologias candidatas para o controlador neural III (sensores com ruídos e sem a presença de parede), usando o algoritmo de aprendizado Resilient Propagation e o algoritmo de aprendizado LevenbergMarquardt.

Ref. (RPROP) MLP-98 MLP-93 MLP-96

Neurônios Escondidos 20-10 15-10 20

Média Final MAPE (% acertos) Trein. Val. 98,4 98,3 98,2

98,4 98,3 98,2

Ref. (LM) MLP-108 MLP-110 MLP-113

Neurônios Escondidos 10-10 10-20 15-10

Média Final MAPE (% acertos) Trein. Val 99,1 99,0 99,0

99,1 99,0 99,0

V I I C o n g r e s s o N a c i o n a l d e E n g e n h a r i a M e c â n i c a, 3 1 d e j u l h o a 0 3 d e A g o s t o 2 0 1 2, S ã o L u í s - M a r a n h ã o

Tabela 4. Resultado das três melhores topologias candidatas para o controlador neural IV (sensores com ruídos e com a presença de parede), usando o algoritmo de aprendizado Resilient Propagation e o algoritmo de aprendizado LevenbergMarquardt.

Ref. (RPROP)

Neurônios Escondidos

MLP-136 MLP-132 MLP-133

20 15-5 15-10

Média Final MAPE (% acertos) Trein. Val. 98,4 98,4 98,4

98,4 98,4 98,4

Ref. (LM) MLP-151 MLP-155 MLP-152

Média Final MAPE (% acertos) Trein. Val

Neurônios Escondidos 15 15-20 15-5

99,2 99,2 99,1

99,1 99,1 99,1

6. RESULTADOS SIMULADOS E DISCUSSÕES Os resultados de aprendizado dos controladores foram satisfatórios, obtendo no pior caso (sensores com ruído e sem parede de auxílio) um valor de aprendizado de 99%, o que quer dizer que a rede deixou de aprender 1% dos exemplos passados para ela. Como a amostra de exemplos é grande (17.625 exemplos) este valor pode representar problemas, pois equivale a não aprender 176 exemplos. Os controladores foram avaliados através do mesmo conjunto de coleta de dados (55 manobras, variando-se o tamanho da vaga e a distância lateral do veículo) para o pior caso, ou seja, foi testada a melhor topologia. Os resultados simulados realizados foram todos satisfatórios, mostrando que o controlador conseguiu, nas 55 manobras, realizar todos os estacionamentos. A Fig. (7(a)) e Fig. (7(b)) exibem duas manobras executadas com o controlador simulado.

(a)

(b)

Figura 7. Manobras realizadas com o controlador III no simulador e analisadas visualmente: (a) P = 830, 00mm e ∆y = 43, 00mm; (b) P = 908, 00mm e ∆y = 65, 00mm. Após verificar na simulação que todos os estacionamentos foram realizados com sucesso, ainda era complicado avaliar o quão bem um veículo está estacionado. Para isso foi realizada uma pesquisa na literatura por medidas que pudessem avaliar este problema, mas nada foi encontrado. Tendo esta dificuldade em vista, foi proposto um método de similaridade baseado em regiões, na qual é calculada a área (expressa em número de pixels) que compreende o veículo após a manobra. Assim, são coletadas as posições e orientações dos três veículos (veículo A, veículo B e veículo manobrado) no final de cada simulação verifica-se o mesmo está dentro de uma área estacionável e perto da posição desejável (Fig. (8)). Posição Desejada

y

Área de estacionamento

b4

b3

cc4

c4

c3

cc3

λy a4

Veículo B b1

a3

Veículo A b2

cc1

c1

c2

λx

cc2

a1

a2

x Figura 8. Representação da área de estacionamento e da área posição final desejada do veículo dentro da área de estacionamento. A posição desejável que o carro deve estar após manobrá-lo é o centro da vaga. Esta posição pode ser calculada através dos vértices dos veículos A e B. Para definir uma região de estacionamento (não existe na literatura), foi considerada para

V I I C o n g r e s s o N a c i o n a l d e E n g e n h a r i a M e c â n i c a, 3 1 d e j u l h o a 0 3 d e A g o s t o 2 0 1 2, S ã o L u í s - M a r a n h ã o

λx uma distância de 10% do comprimento do veículo (λx = L·0,1 2 ). Ela poderia ser maior, uma vez que parar um pouco para frente ou para trás do centro não quer dizer que o motorista errou a manobra. Para λy foram encontradas variações nas leis de trânsito dependendo do país. No caso do Brasil o veículo pode estar até 50cm distante  do meio-fio.Realizando . Como os as conversões para o mini-veículo de teste deste trabalho, o valor foi de 25% de sua largura λy = W ·0,25 2 veículos neste trabalho são expressos em objetos retangulares e com dimensões de m X n pixels, esses pixels f (x, y) do veículo são representados pelo valor 1 (levando em consideração uma imagem binária). A Eq. (3) define como a área é calculada.

Área =

m−1 X n−1 X

f (x, y)

(3)

x=0 y=0

A medida de similaridade leva em consideração a intersecção dos pontos de um objeto A (posição desejável de estacionamento) com um objeto B (posição obtida de estacionamento), conforme a Eq. (4). Com isto é encontrado o quão próximo o veículo estacionado está da posição desejável: A ∩ B = {c | c ∈ A e c ∈ B}

(4)

Foram definidos dois critérios para verificar o quão bem o veículo está estacionado. No primeiro critério é analisado se todos os vértices do veículo se encontram dentro da área de estacionamento. Se algum vértice não estiver dentro, a posição do veículo é definida como não permitida e a manobra é dita inválida. O segundo critério leva em consideração a medida de similaridade proposta. Após a definição dos critérios, foram realizadas análises em todas as manobras antes definidas como realizadas com sucesso para verificar o quão bem elas foram executadas. A Fig. (9) exibe um exemplo exagerado do funcionamento da medida proposta.

(a)

(b)

(c)

(d)

Figura 9. Exemplo da medida de similaridade: (a) mostra como o veículo ficou posicionado na região de estacionamento desejada; (b) imagem binária da área de estacionamento desejada; (c) posição obtida do veículo dentro da área desejada; (d) área final de similaridade deste exemplo com 81,4%. Na Fig. (9(a)) é exibido a região de estacionamento desejável e como o veículo ficou posicionado após a manobra. A Fig. (9(b)) exibe a posição desejável de parada do veículo em uma imagem binária. A Fig. (9(c)) mostra a posição obtida do veículo também em binário, para que se possa comparar as regiões. Sendo assim, a Fig. (9(d)) apresenta a área de similaridade entre a posição desejável e a posição obtida. Vale lembrar que, para esta posição, o estacionamento já seria dito inválido, pois o veículo ficou fora da área de estacionamento (reprovado no primeiro critério). Com o primeiro critério de avaliação (todos os vértices do veículo devem estar dentro da área de estacionamento) temse que o controlador neural conseguiu somente estacionar bem em 53 dos 55 casos, ou seja, aproximadamente 96% das manobras realizadas obtiveram sucesso no estacionamento. Sendo assim, dentre as regiões analisadas para o controlador conseguiu-se obter, no pior caso, 85,4% de similaridade e para o melhor caso, 98,6% de similaridade. 7. CONCLUSÃO E TRABALHOS FUTUROS Este artigo apresentou um sistema inteligente para realizar a manobra de estacionamento paralelo com uma única manobra entre dois veículos, utilizando técnicas de aprendizado supervisionado com Redes Neurais Artificiais. Os resultados das simulações demostram um sistema que possui a capacidade de realizar a manobra, sem bater nos demais obstáculos ao seu redor até mesmo para novos casos apresentados ao controlador neural. Quanto ao desenvolvimento do controlador neural é necessário enfatizar que o processo é quase exclusivamente empírico, demandando experiência ao se definir uma arquitetura de RNA para qualquer tipo de problema. Ressalta-se também a importância de pré-processamento dos dados das entradas do controlador, devido a sua influência direta no aprendizado da RNA. Haja vista a a diferença nos resultados dos treinamentos das RNAs de arquiteturas equivalentes apenas substituindo-se os dados de entrada. O interessante de usar RNA é que, depois de bem treinada, ela é capaz de responder

V I I C o n g r e s s o N a c i o n a l d e E n g e n h a r i a M e c â n i c a, 3 1 d e j u l h o a 0 3 d e A g o s t o 2 0 1 2, S ã o L u í s - M a r a n h ã o

satisfatoriamente a casos não apresentados. Foram realizados diversos testes, levando em consideração sensores sem erros e com erros, além de vagas sem e com a presença de paredes para auxiliar a manobra. Vale ressaltar que todas as RNAs foram implementadas em Matlab, dado o conhecimento prévio da ferramente e sua facilidade de prototipagem rápida. Logo em seguida o sistema neural (DLL gerada pelo Matlab) era importado no simulador, a fim de avaliar o resultado final dos diferentes casos. Este projeto demonstrou que as simulações realizadas utilizando o controlador desenvolvido foram capazes de alcançar com sucesso os objetivos previstos, tanto no que se refere ao aprendizado da tarefa, quanto ao que se refere ao controle do veículo durante a manobra de estacionamento. Mesmo com resultados simulados deve-se considerar que o controle do robô é reativo, o que não sofreria muitas modificações se implementado e testado no mundo real, pois ele não depende de outras informações além das implementadas neste trabalho. Para validar o quão bem o veículo está estacionado na vaga, foram criados dois critérios de avaliação, que consistiram em verificar se o veículo estava dentro de uma área de estacionamento e na sequência fez uso de uma medida de similaridade por regiões. Apesar disto o trabalho possui algumas limitações em relação ao simulador e ao controlador. São elas, até o momento: o veículo protótipo somente procura vaga, e estaciona à direita; o controlador somente serve para vagas paralelas; o ambiente desenvolvido é bidimensional o que reduz o realismo da simulação; somente foram simulados veículos geometricamente quadrados, sendo que a maioria dos veículos tem os cantos arredondados. Atualmente o veículo real que serviu de modelo para o veículo simulado está sendo equipado com os sensores para validar de forma realista o sistema desenvolvido no mundo real. O grupo estuda outras técnicas como Algoritmos Genéticos, Fuzzy e Híbridas para integrar ao sistema desenvolvido e fazer novos testes. Por fim, outro trabalho em andamento é a criação de um função para localizar a vaga, esteja ela à direita, à esquerda ou em outro lugar do ambiente (mesmo em curvas). 8. AGRADECIMENTOS A CAPES (Processo 3202812869, 00011/07-0), CNPq (Processo 573587-2008-6) e FAPESP (Processo 2008/578589) pelo apoio financeiro para a realização deste projeto. 9. REFERÊNCIAS Andrade, K.O., Hernandes, A.C. and Becker, M., 2011. “A rule-based controller simulation for an autonomous parallel parking of a car-like robot using laser sensores”. In 21 International Congress of Mechanical Engineering. Natal, Rio Grande do Norte. Cabrera-Cosetl, R., Mora-Alvarez, M.Z. and Alejos-Palomares, R., 2009. “Self-parking system based in a fuzzy logic approach”. In Proceedings of the 2009 International Conference on Electrical, Communications, and Computers,CONIELECOMP ’09. IEEE Computer Society, Washington, DC, USA, pp. 119–124. ISBN 978-0-7695-3587-6. Chao, C.H., Ho, C.H., Lin, S.H. and Li, T.H.S., 2005. “Omni-directional vision-based parallel-parking control design for car-like mobile robot”. In Proc.eedings of IEEE International Conference Mechatronics ICM ’05. pp. 562–567. doi:10.1109/ICMECH.2005.1529319. Demirli, K. and Khoshnejad, M., 2009. “Autonomous parallel parking of a car-like mobile robot by a neuro-fuzzy sensor-based controller”. Fuzzy Sets and Systems, Vol. 160, No. 19, pp. 2876–2891. ISSN 0165-0114. doi:DOI: 10.1016/j.fss.2009.01.019. Dudek, G. and Jenkin, M., 2000. Computational Principles of Mobile Robotics. Cambridge University Press, New York, NY, USA. Gillespie, T.D., 1992. Fundamentals of Vehicle Dynamics. SAE International. ISBN 978-1-56091-199-9. Haykin, S., 2001. Redes Neurais: Princípios e prática. Bookman, 2nd edition. Heinen, F., Fortes, L. and Osório, F.S., 2001. “Controle inteligente de veículos autônomos: Automatização do processo de estacionamento de carros”. In Anais do SEMINCO 2001 - FURB. Blumenau, Vol. 1, pp. 35–46. Heinen, M., Osório, F., Heinen, F. and Kelber, C., 2006. “Estacionamento de um veículo de forma autônoma utilizando redes neurais artificiais”. In XXVI Congresso da Sociedade Brasileira de Computação. UFMS - Campo Grande. Heinen, M.R., Osório, F.S., Heinen, F.J. and Kelber, C., 2007. “SEVA3D: autonomous vehicles parking simulator in a three-dimensional environment”. INFOCOMP Journal of Computer Science, Vol. 6, No. 2, pp. 63–70. Hernandes, A.C., Mendonça, A.S.B., Andrade, K.O. and Becker, M., 2010. “Redes neurais artificiais aplicadas à baliza paralela de veículo de passeio em ambiente simulado”. In Anais do CONEM 2010. CONEM 2010 - Congresso Nacional de Engenharia Mecânica, Campina Grande - PB, Vol. 1, pp. 1–10. Herrmann, N., 2003. “Ein mathematisches modell zum parallelparken”. http://www.ifam.uni-hannover.de/ herrmann/PARKEN.PDF. Acesso em: 3 dez. 2010. Huang, S.J. and Lin, G.Y., 2010. “Parallel auto-parking of a model vehicle using a self-organizing fuzzy controller”. Proceedings of The Institution of Mechanical Engineers Part D-journal of Automobile Engineering, Vol. 224, pp. 997–1012. doi:10.1243/09544070JAUTO1366. Lee, K.H. and Ehsani, R., 2008. “Comparison of two 2d laser scanners for sensing object distances, shapes, and surface

V I I C o n g r e s s o N a c i o n a l d e E n g e n h a r i a M e c â n i c a, 3 1 d e j u l h o a 0 3 d e A g o s t o 2 0 1 2, S ã o L u í s - M a r a n h ã o

patterns”. Computers and Electronics in Agriculture, Vol. 60, No. 2, pp. 250 – 262. ISSN 0168-1699. doi:DOI: 10.1016/j.compag.2007.08.007. Li, T.H., Chang, C.C., Ye, Y.J. and Tasi, G.R., 2006. “Autonomous parking control design for car-like mobile robot by using ultrasonic and infrared sensors”. In A. Bredenfeld, A. Jacoff, I. Noda and Y. Takahashi, eds., RoboCup 2005: Robot Soccer World Cup IX, Springer Berlin / Heidelberg, Vol. 4020 of Lecture Notes in Computer Science, pp. 472–479. ISBN 978-3-540-35437-6. Lo, Y., Rad, A., Wong, C. and Ho, M., 2003. “Automatic parallel parking”. In Proceedings of IEEE Intelligent Transportation Systems. Vol. 2, pp. 1190–1193. doi:10.1109/ITSC.2003.1252673. Osório, F.S., Heinen, F. and Fortes, L., 2002. “Controle da tarefa de estacionamento de um veículo autônomo através do aprendizado de um autômato finito usando uma rede neural j-cc”. In VII Simpósio Brasileiro de Redes Neurais. Anais do VII SBRN, Porto de Galinhas - Recife, Vol. 1, pp. 1–6. SBG Systems, 2011. “Ig-500n Leaflet”. http://www.sbg-systems.com/docs/IG-500N-Leaflet.pdf. Acesso em: 30 jun. 2011. Siegwart, R., Nourbakhsh, I.R. and Scaramuzza, D., 2011. Introduction to Autonomous Mobile Robots. The MIT Press, 2nd edition. Silva, I.N., Spatti, D.H. and Flauzino, R.A., 2010. Redes Neurais Artificiais para engenharia e ciências aplicadas: curso prático. ArtLiber, São Paulo, 1st edition. Zhao, Y. and Jr., E.G.C., 2005. “Robust automatic parallel parking in tight spaces via fuzzy logic”. Robotics and Autonomous Systems, Vol. 51, No. 2-3, pp. 111–127. ISSN 0921-8890. doi:10.1016/j.robot.2005.01.002. Zhu, C. and Rajamani, R., 2006. “Global positioning system-based vehicle control for automated parking”. Proceedings of the I MECH E Part D Journal of Automobile Engineering, Vol. 220, No. 1, pp. 37–52. ISSN 0954-4070. doi: 10.1243/095440705X69669. 10. DIREITOS AUTORAIS Os autores são os únicos responsáveis pelo conteúdo do material impresso incluído no seu trabalho.

SIMULATION OF A NEURAL CONTROLLER FOR THE PARALLEL PARK OF THE MOBILE ROBOT Kléber de Oliveira Andrade, [email protected] André Carmona Hernandes, [email protected] Marcelo Becker, [email protected] School of Engineering of São Carlos - EESC-USP, Mobile Robotics Lab., Av. do Trabalhador São-carlense, 400, Pq. Arnold Schimidt, CEP 13566-590, São Carlos-SP

Abstract: Thanks to technological advances in the fields of computer science, embedded electronics and mechatronics, robotics is increasingly more present in people’s lives. On the past few decades, a great variety of tools and methods were developed in the Mobile Robotics field, e.g. the passenger vehicles with smart embedded systems. Such systems help drivers through sensors that acquire information from the surrounding environment and algorithms which process this data and make decisions to perform a task, like parking a car. This paper aims to present the studies performed on the development of a smart controller able to park a simulated vehicle in parallel parking spaces, where a single maneuver is enough to enter. To accomplish this, studies involving the modeling of vehicle kinematics and sensors were conducted. The “S” trajectory was adopted and developed to maneuver the vehicle, since it is well known and highly used in related works found in the literature of this field. The maneuver consists in the correct positioning of two circumferences with the possible steering radius of the vehicle. For this task, a robust controller based on supervised learning using Artificial Neural Networks (ANN) was employed, because this approach has great robustness regarding the presence of noise in the system. This controller receives data from two laser sensors (one attached on the front of the vehicle and the other on the rear), from the odometry and from the inertial orientation sensor. The data acquired from these sensors and the current maneuver stage of the vehicle are the inputs of the controller, which interprets these data and responds to these stimuli in a correct way in approximately 96% of the cases. The results of the training and simulation were satisfactory, allowing the car controlled by the ANN to correctly park in a parallel slot. Keywords: intelligent mobile robots, autonomous vehicles, artificial neural networks (ANN), multi-layer perceptron, machine learning, parallel parking.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.