universidade federal do rio grande do norte …...𝜺-greedy para o processo de tomada de decisão...
Post on 11-Sep-2020
2 Views
Preview:
TRANSCRIPT
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE
CENTRO DE TECNOLOGIA
CURSO DE ENGENHARIA MECÂNICA
VICTOR RAMON FIRMO MOREIRA
UM ALGORITMO BIOINSPIRADO PARA O PROCESSO DE TOMADA DE DECISÃO E SUA APLICAÇÃO A ROBÔS MÓVEIS
Natal/RN
Dezembro de 2018
UM ALGORITMO BIOINSPIRADO PARA O PROCESSO DE TOMADA DE DECISÃO E SUA APLICAÇÃO A ROBÔS MÓVEIS
por
VICTOR RAMON FIRMO MOREIRA
Monografia Apresentada à Coordenação do Curso de Engenharia Mecânica da Universidade Federal do Rio Grande do Norte, como Requisito Parcial à Obtenção do Título de Bacharel em Engenharia Mecânica
Orientador: Prof. Dr. Wallace Moreira Bessa
Natal/RN
Dezembro de 2018
1
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE
CENTRO DE TECNOLOGIA
CURSO DE ENGENHARIA MECÂNICA
A Monografia UM ALGORITMO BIOINSPIRADO PARA O PROCESSO DE TOMADA DE DECISÃO E SUA APLICAÇÃO A ROBÔS MÓVEIS elaborada por Victor Ramon Firmo Moreira e aprovada por todos os membros da Banca examinadora, foi aceita pelo Curso de Engenharia Mecânica e homologada pelos membros da banca, como requisito parcial à obtenção do título de Bacharel em Engenharia Mecânica.
Natal, 12 de Dezembro de 2018
BANCA EXAMINADORA
_________________________________________
Orientador: Prof. Dr. Wallace Moreira Bessa Departamento de Engenharia Mecânica
Universidade Federal do Rio Grande do Norte
_________________________________________
Membro Interno: Prof. João Deodato Batista dos Santos Departamento de Engenharia Mecânica
Universidade Federal do Rio Grande do Norte
_________________________________________
Membro Externo: Diago Cesar Xavier de Freitas Barros Engenheiro Mecânico
Universidade Federal do Rio Grande do Norte
2
AGRADECIMENTOS
Agradeço primeiramente a Deus por me conceder a oportunidade de realizar este trabalho.
Sou grato por todo o apoio que recebi da minha família, meu pai José Melquizedeque, minha mãe Rita Luzeth e meu irmão Luccas Gabriel, muito obrigado pela paciência que tiveram comigo todo esse tempo, por entender meu lado sempre que não estive presente em casa por motivos acadêmicos, nas madrugadas que passei no aerodesign ou estudando, cada etapa cumprida até o presente momento, tem uma contribuição enorme de vocês, pois nada disso seria realizado sem o auxílio e educação que recebi em casa.
Meus amigos e colegas de curso, obrigado por toda a ajuda nas horas que eu precisei, em especial, agradeço a Jéssica que me ajudou demais durante todas as etapas deste trabalho. Desde as pesquisas iniciais até os teste, escrita e apresentação, não tenho palavras para descrever a gratidão que sinto pela sua ajuda.
Agradeço também a toda equipe roboteam, pelo acolhimento, ensinamentos e apoio que deram nestes últimos meses. Lucas Solano, obrigado por me ajudar a entender como que funciona o algoritmo de tomada de decisão. Fernando, obrigado por me ajudar a calibrar o giroscópio. Samuel, obrigado por me ensinar o algoritmo PID que usei trabalho. Gabriel Lima, obrigado pelas orientações e dicas durante esse período. Vitor Vale, obrigado pela paciência de tirar minhas dúvidas nas piores horas e por ficar até tarde no laboratório pra me ajudar. Professor wallace, muito obrigado por me receber como orientando mesmo com tantas outras obrigações que o senhor já tinha que dar conta, fico muito feliz com a possibilidade de fazer parte desse grupo.
Ao pessoal da Natalmakers, agradeço pelos ensinamentos que tive dentro da empresa, graças a vocês pude saber o quanto que é difícil tornar um projeto em produto comercial, existe uma barreira enorme separando a graduação do mercado de trabalho, mas aqui aprendi bastante como aproximar os dois, espero aprender e ajudar muito ainda fazendo parte da empresa.
Muito obrigado a todos da equipe Car-kará Aerodesign, desde 2016 quando entrei no projeto, participei de três competições com vocês, é muito difícil contabilizar o aprendizado dentro da equipe, pois são tantas áreas envolvendo o Aerodesign. Não tem ninguém melhor para ensinar como valorizar o trabalho em equipe e persistir até o final. Muito obrigado por proporcionar a experiência de competir no SAE Brasil Aerodesign e ficar no pódio em todas as participações.
Agradeço a todos os Sihings da Escola de Kung Fu Lung Fu por me ensinarem como manter a mente focada e equilibrada para executar qualquer desafio, minha válvula de escape não poderia ser melhor, a academia me ensinou a me desafiar a cada dia.
3
RESUMO
Algoritmos bioinspirados são ferramentas matemáticas baseadas em princípios da
natureza evolutiva e comportamento animal para o desenvolvimento de técnicas novas e
robustas que auxiliem em diversas áreas da tecnologia, como engenharia e robótica. Um
desses algoritmos é o 𝜺-greedy, criado para solucionar a problemática do bandido de vários
braços. O desenvolvimento de algoritmos bioinspirados e implementação a robôs móveis tem
sido muito utilizado na ciência para resolução de problemas tanto na robótica quanto nos
estudos comportamentais de animais. Este trabalho teve como objetivo a utilização do
𝜺-greedy para o processo de tomada de decisão em um robô móvel e compará-lo com o do
peixe Betta splendens. O desenho experimental, a seleção dos componentes, a montagem do
robô, calibração dos sensores e as rotinas de testes necessárias para a validação do
funcionamento do algoritmo foram realizados. O funcionamento do 𝜺-greedy foi validado, e a
comparando com trabalhos realizados anteriormente no Laboratório de Manufatura pela
equipe Roboteam em parceria com o Laboratório de peixes, mostrou que o algoritmo foi
devidamente implementado ao robô móvel tornando-o capaz de aprender com experiências
passadas e tomar decisões mais vantajosas, apresentando um valor de epsilon mais vantajoso
de 0.4103. Este trabalho gerou a construção de um robô móvel, validou a utilização do
𝜺-greedy a robôs móveis e simulou de forma eficiente os experimentos computacionais já
realizados com o algoritmo na tomada de decisão dos peixes.
Palavras-chaves: Algoritmo bioinspirado; Tomada de decisão; Robôs móveis; 𝜺-greedy.
4
ABSTRACT
Bio-inspired algorithms are mathematical tools based on principles of evolutionary
nature and animal behavior for the development of new and robust techniques that aid in
different areas of technology, such as engineering and robotics. The development of
bio-inspired algorithms and implementation to mobile robots has been widely used in science
to solve problems both in robotics and in behavioral animal studies. This work aimed to the
use of 𝜺 -greedy for the decision-making process in a mobile robot and to compare its
behavior with the Betta splendens fish. The experimental design, the components selection,
robot assembly, calibration of sensors and the necessary test routines for the validation of the
algorithm were performed. The operation of 𝜺-greedy was validated. The comparison with
previous work performed at the Laboratory of Manufacture by the Roboteam in partnership
with the Fish Laboratory showed that the algorithm was properly implemented to the mobile
robot, making it able to learn from past experiences and make more advantageous decisions.
After validation, the parameter epsilon of 0.4103 was determined and most advantageous in
the decision-making process of the mobile robot. This work generated the construction of a
mobile robot, validated the use of 𝜺-greedy to mobile robots and simulated efficiently the
computational experiments already performed with the algorithm in the decision making of
the fish.
Key words: Bio-inspired algorithm; Decision making; Mobile robots; 𝜺-greedy.
5
LISTA DE FIGURAS
Figura 1: Esquema representativo do circuito em cruz construído para a calibração dos
ângulos a serem percorridos pelo robô. ------------------------------------------------------------- 15
Figura 2: Esquema representativo da medição do sensor Módulo Acelerômetro e Giroscópio
3 Eixos MPU-6050. ------------------------------------------------------------------------------------ 19
Figura 3: Controle em malha fechada----------------------------------------------------------------20
Figura 4: Monitor serial com o funcionamento do código traduzido para linguagem
arduino---------------------------------------------------------------------------------------------------- 21
Figura 5: Esquema representativo dos componentes no robô montado -------------------------22
Figura 6: Vistas do robô. A) Frontal, B) Lateral, C) Superior, D) Posterior. ----------------- 22
Figura 7: Dispersão entre o ângulo medido e o de referência. A) Antes da correção. B) Após
a correção.------------------------------------------------------------------------------------------------ 23
Figura 8: Representação gráfica da movimentação do robô até o ângulo de referência.------24
Figura 9: Tela do smartphone com os dados enviados pelo algoritmo. -------------------------25
Figura 10: Gráfico da recompensa média para diferentes valores de epsilon. ---------------- 26
6
LISTA DE TABELAS Tabela 1: Componentes estruturais do robô---------------------------------------------------------18
Tabela 2: Componentes eletrônicos do robô--------------------------------------------------------18
Tabela 3: Análise da recompensa média do robô valores de epsilon----------------------------26
7
LISTA DE EQUAÇÕES Equação 1: valor de uma ação arbitrária -------------------------------------------------------- 16a
Equação 2: estimativa da ação----------------------------------------------------------------------- 16
Equação 3: estimativa da ação----------------------------------------------------------------------- 16
Algoritmo 1: Pseudocódigo do 𝜺-greedy----------------------------------------------------------- 17
Equação 4: cálculo da correção do MPU 6050---------------------------------------------------- 23
8
SUMÁRIO
RESUMO 4
ABSTRACT 5
LISTA DE FIGURAS 6
LISTA DE TABELAS 7
LISTA DE EQUAÇÕES 8
INTRODUÇÃO 10
OBJETIVOS 14 Geral 14 Específicos 14
MATERIAIS E MÉTODOS 15 Desenho Experimental 15 Tomada de decisão por método ganancioso (𝜺-greedy) 16 Algoritmo de tomada de decisão implementado ao microcontrolador 17 Montagem do Robô 17 Calibração para percorrer o circuito 19 Teste para validação do funcionamento do algoritmo 20
RESULTADOS 21 Código Traduzido para linguagem Arduino 21 Robô montado 21 Calibração do Robô Móvel para percorrer o circuito 23 Implementação do algoritmo ao robô móvel 25
DISCUSSÃO 27
CONCLUSÃO 30
REFERÊNCIAS BIBLIOGRÁFICAS 31
9
1. INTRODUÇÃO
A seleção natural é um processo pelo qual a evolução biológica ocorre. Surge quando
variações genéticas herdáveis em uma característica apresentam influência diferencial na
propagação da espécie. Desta forma, a seleção natural favorece a propagação de traços que
resultam em maior sobrevivência e reprodução (Jeffrey Stevens, 2008). O comportamento
animal tem sido estudado baseado na premissa de que emergiu de adaptações evolutivas
(Andersen et al., 2015). Porém, alguns estudiosos aceitam a hipótese da seleção natural como
um processo de otimização, e utilizam técnicas matemáticas como ferramenta para predição
comportamental (Jeffrey Stevens, 2008).
Os métodos de otimização foram utilizados para previsão de resposta de determinados
organismos a fatores ambientais (Fisher, 1930; Lotka, 1967), entretanto, sem considerar
restrições, já que organismos naturais são limitados por informações incompletas, habilidades
imperfeitas de análise e previsão de consequências das opções alternativas do
comportamento, além de restrições de tempo. Ao invés de tomarem decisões perfeitas,
animais utilizam regras, aprendidas por experiência ou desenvolvidas por seleção natural,
conhecidas como heurísticas (Hutchinson e Gigerenzer, 2011; Andersen et al., 2015).
Os mecanismos heurísticos são processos cognitivos empregados em tomada de
decisões não racionais, definidos como estratégias que ignoram parte da informação com o
objetivo de tornar a escolha mais fácil e rápida (Hutchinson e Gigerenzer, 2011). São
caracterizados por promoverem decisões baseadas em poucos estímulos, e foram
desenvolvidas para guiar o comportamento. Estes mecanismos estão presentes em uma
variedade de situações, como aquelas nunca vivenciadas pelos organismos (Hutchinson e
Gigerenzer, 2011), incluindo reflexos, impulsos homeostáticos, precursores do que evoluiu
para emoções e instintos (Andersen et al., 2015).
A geração de regras heurísticas é uma das formas de tomada de decisão através das
linhagens de organismos e adaptação genética por seleção natural. Nela, instintos e respostas
fixadas são desenvolvidas para que indivíduos de gerações posteriores se comportem
adequadamente na sua primeira exposição a vários riscos e oportunidades. A utilidade desses
mecanismos depende de fatores como variabilidade no ambiente (McNamara and Houston
1985) e expectativa de vida nos organismos (Eliassen et al. 2007).
A busca por alimento e reprodução são prioridades básicas dos animais (Stevens,
10
2008). Neste sentido, o processo de tomada de decisão deve ser bem estruturado, mesmo que
de forma não racional, para perpetuação do indivíduo e da espécie. O comportamento para
busca de alimentos difere consideravelmente entre os animais, uma vez que tamanho,
formato, cor, abundância de presas, qualidade dos nutrientes, existência de perigo, dentre
outras, são informações coletadas pelos predadores antes da tomada de decisão (Marcotte and
Browman, 1986; Ryer & Olla, 1995).
Em peixes, o processo de tomada de decisão para busca de presas depende de dois
aspectos biológicos principais: sua capacidade de visualizar a movimentação da presa (Ingle,
1968; Marcotte and Browman, 1986), e suas capacidades cognitivas (Marcotte and Browman,
1986). A visão em peixes é sensível a movimentos diferenciais das presas, orientação, direção
dos movimentos, forma, textura e cor também são importantes na detecção visual
(Cronley-Dillon, 1964; Jacobson and Gaze, 1964).
Uma vez que as habilidades perceptuais foram consideradas, capacidades cognitivas
também são. Para Marcotte e Browman, 1986, cognição pode ser minimamente definida
como aprender, lembrar e esquecer. É uma função mental pela qual organismos criam
representações mentais de estímulos reais, como suas presas. Essas representações
apresentam tributos pelos quais os organismos respondem. A percepção conecta a mente ao
estímulo; a cognição conecta a mente a ação (Marcotte and Browman, 1986).
Duas variáveis cognitivas devem ser consideradas no contexto de comportamento e
seletividade alimentar, aprendizado e memória de peixes: o quão rápido os peixes aprendem a
desenvolver respostas apropriadas e como eles lembram dessas respostas. Ware, em 1971,
demonstrou eficientemente que os peixes aprendem. Porém, Wood, Desjardins and Fernald
em 2011, demonstraram que nem todos os peixes apresentam a capacidade de aprender.
Existem os aprendedores, ou não aprendedores e os que não tentam aprender. O trabalho
avaliou o tempo em que Astatotilapia burtoni (uma espécie de tilápia) completava uma
determinada tarefa, níveis de importantes hormônios como testosterona, 11-cetotestosterona e
cortisol, além da expressão de RNA em determinadas áreas cerebrais.
Os pesquisadores concluíram que o processo de aprendizagem, no que concerne a
tomada de decisão e a exploração do ambiente para aquisição de alimentos, depende de
fatores como nível de cortisol e expressão de genes que induzem ao comportamento e criação
de memória. Peixes aprendedores, ou seja, com capacidade de aprender e lembrar,
apresentaram baixos níveis de cortisol, um hormônio relacionado com o nível de estresse do
11
organismo, quando submetidos a experimentos em labirintos e foram mais motivados a
realizar tarefas. Já peixes não aprendedores, apresentaram altos níveis de cortisol e não
desenvolveram a capacidade de aprender e lembrar de tarefas anteriormente realizadas
(Wood, Desjardins and Fernald, 2011). O peixe que foi utilizado nas pesquisas do laboratório
de peixes da UFRN foi o Betta splendens, que se encaixa na categoria de peixes
aprendedores.
Quando se pensa sobre a natureza da aprendizagem, a primeira percepção é que
aprende-se interagindo com o ambiente, e diversas teorias abordam a ideia de aprender com a
interação (Eliassen, 2007;Stevens, 2008). O aprendizado das máquinas não é diferente,
pesquisadores e engenheiros exploram projetos eficazes na resolução de um determinado
problema através da análise ou experimentos computacionais. A chamada aprendizagem por
reforço é ainda mais focada na interação com o ambiente, onde a máquina interage com o
meio buscando alcançar da maneira mais eficiente um objetivo previamente determinado
(Sutton and Barto, 2018).
O que diferencia a aprendizagem por reforço das outras metodologias é o uso das
informações prévias utilizadas no treinamento de modo a maximizar um sinal de recompensa
numérico. Dessa forma, o agente precisa interagir com o ambiente a fim de conhecer quais
são os caminhos mais e menos vantajosos para ele. Entretanto, a maneira que o indivíduo
explora o ambiente determina o quão eficiente é seu aprendizado. Apesar da incerteza
significativa sobre o ambiente que enfrenta, deve existir o equilíbrio entre explorar e
prospectar, e esse é um dos desafios que surgem no aprendizado por reforço. O agente tem
que explorar o que já sabe para obter recompensa, mas também tem que explorar o
desconhecido a fim de fazer melhores seleções de ação no futuro (Sutton and Barto, 2018).
Quando o aprendizado de máquinas por reforço envolve planejamento, especialmente
de percurso, a robótica enfrenta desafios importantes, pois os robôs devem ter a capacidade
de aprender sobre o ambiente e se programar sem assistência. Se uma modificação externa
ocorrer no local em que o robô está inserido, é necessário que ele realize uma ação
alternativa, o que implica em um processo de adaptação ao ambiente. A resolução de
problemas, como o planejamento de percurso, podem ser solucionados de maneira mais
eficiente com a utilização de algoritmos bioinspirados (Garro, Sossa and Vazquez, 2006).
Algoritmos bioinspirados são ferramentas matemáticas baseadas em princípios da
natureza evolutiva e comportamentos biológicos para o desenvolvimento de técnicas novas e
12
robustas que auxiliem em diversas áreas da tecnologia, como engenharia e robótica. Uma das
abordagens simples e corriqueira na resolução de problemas de decisão, são os algoritmos
gananciosos, pelo fato de que as decisões tomadas têm como objetivo principal maximizar a
recompensa imediata (Russo et. al., 2018).
O 𝜺 -greedy foi desenvolvido para solucionar o problema do bandido de vários braços,
que se baseia na história de motivação a qual um apostador entra em um cassino e senta-se
em uma máquina (o bandido) com várias alavancas (braços) no intuito de receber
recompensas. Pelo fato de a máquina operar de maneira aleatória, o operador deve aprender
qual dos braços é o mais vantajoso para receber o maior número de recompensas. Porém, a
cada jogada enfrenta o dilema de explorar braços que geraram recompensa no passado ou
braços alternativos que podem ou não ser mais vantajosos (Russo et. al., 2018).
O algoritmo busca um equilíbrio entre a tentativa de novas ações e a exploração dos
valores conhecidos. Existe um parâmetro chamado 𝜺 que pode ser alterado para modificar o
quanto o agente explora ou prospecta. Quanto maior o valor de epsilon, mais explorador se
torna o agente, porém as médias de recompensa são reduzidas a curto prazo. Os valores
voltam a aumentar após o processo de aprendizagem.
Robôs são máquinas formadas por circuitos eletromecânicos capazes de serem
operados via programas de computador ou dispositivos eletrônicos. Um robô não fixo em
uma localidade específica e que é capaz de navegar pelo ambiente em que está inserido é
chamado de robô móvel. Este tipo de robô tem formado uma parte importante de ambientes
científicos, industriais e de segurança, já que podem executar muitas tarefas com grande
flexibilidade. A capacidade de locomoção dos robôs móveis consiste em uma de suas maiores
vantagens, e muitos estudos são inspirados principalmente nas contrapartes biológicas que
herdaram a capacidade de se adaptar a técnicas ambientais, como andar, rastejar, deslizar e
pular (Choudhury, Mandal and Kalyan Kar, 2016).
O desenvolvimento de algoritmos bioinspirados e implementação a robôs móveis tem
sido muito utilizado na ciência para resolução de problemas tanto na robótica quanto nos
estudos comportamentais de animais. É considerando a emergência dos estudos com
algoritmos bioinspirados, em especial os algoritmos de decisões gananciosas que simulam o
comportamento de tomada de decisão de peixes na busca por alimentos, e a ausência de
implementação deste a robôs móveis que este trabalho foi cuidadosamente pensado e
desenvolvido.
13
2. OBJETIVOS
2.1. Geral
Utilização do algoritmo bioinspirado 𝜺-greedy para o processo de tomada de decisão
em um robô móvel.
2.2. Específicos
a) Traduzir o código de tomada de decisão para a linguagem utilizada no robô móvel;
b) Montar e calibrar o robô adequadamente;
c) Implementar o algoritmo de tomada de decisão no robô móvel;
d) Simular o comportamento do peixe Betta splendens utilizando robô móvel contendo
𝜺-greedy.
14
3. MATERIAIS E MÉTODOS
3.1. Desenho Experimental
Inicialmente fez-se necessário elaborar um circuito para a movimentação do robô,
para que permitisse a observação da aplicação do algoritmo.
Figura 1: Esquema representativo do circuito em cruz construído para a calibração
dos ângulos a serem percorridos pelo robô.
Fonte: Autoria própria.
O circuito proposto dava ao robô 4 (quatro) opções de escolha, representadas por
braços perpendiculares entre si, formando uma cruz, como mostrado na Fig 1. Cada braço
estava contido em um intervalo de números da seguinte maneira: Braço 3 = [0 ; 0,25[, Braço
2 = [0,25 ; 0,5[, Braço 1 = [0,5 ; 0,75[, Braço 0 = [0,75 ; 1]. O braço 0 (zero) continha um
obstáculo fixo, e sua presença representava a recompensa identificada pelo sensor
ultrassônico. Os demais braços não tinham objeto, representando ausência de recompensa. O
15
robô deveria rotacionar até o ângulo correspondente para identificar a presença ou ausência
de objetos, e a partir daí identificar o braço mais vantajoso.
Como o intuito do trabalho era a validação do funcionamento do algoritmo de tomada
de decisão no robô, o algoritmo não levou em consideração a economia de bateria, ou seja, o
caminho mais curto para se chegar até um determinado ângulo. Os ângulos de guinada
percorridos pelo robô para chegar em cada braço foram representados pelos arcos em
destaque na Fig. 1.
3.2. Tomada de decisão por método ganancioso (𝜺-greedy)
O código funciona da seguinte maneira: um valor constante entre 0 e 1 é definido pelo
usuário para o parâmetro Epsilon. No trabalho foram usados cinco valores padronizados. Na
primeira rodada, como o programa não tem nenhuma informação anterior, ele faz uma
tentativa aleatória, a partir da segunda rodada, ele cria uma variável chamada NewEpsilon que
é comparada com o valor constante de Epsilon a cada tentativa. Se ele passar no teste, ou
seja, NewEpsilon > Epsilon, ele vai para onde ele teve a maior recompensa, caso contrário ele
vai explorar entre todos os braços novamente.
No algoritmo 𝜺-greedy, denota a recompensa recebida após a i-ésima seleção desta Ri
ação, é o valor de uma ação arbitrária e denotar a estimativa desta ação valor (a)q a Qn
depois de ter sido selecionado n - 1 vezes (Sutton and Barto, 2018):
(1)
(2)
(3)
16
Algoritmo 1: Pseudocódigo do 𝜺-greedy
3.3. Algoritmo de tomada de decisão implementado ao microcontrolador
O algoritmo utilizado neste trabalho foi previamente implantado para os estudos do
𝜺-greedy e desenvolvido na linguagem python, no Laboratório de Manufatura, pela equipe
Roboteam, da Universidade Federal do Rio Grande do Norte. Como um dos objetivos do
presente trabalho é carregar o código no robô móvel, foi necessário traduzi-lo para a
linguagem aceita pelo microcontrolador ATmega328P, a linguagem Arduino.
Para validar o funcionamento do algoritmo, a placa de desenvolvimento Arduino
UNO foi utilizada já que ela possui o mesmo controlador que a placa do robô móvel. Os
testes foram acompanhados com o auxílio do monitor serial no ambiente de desenvolvimento
integrado do arduino.
3.4. Montagem do Robô
Com a definição prévia do circuito que o robô ia percorrer, foi possível determinar
quais módulos e sensores seriam utilizados. Para a montagem do robô foram necessárias as
peças indicadas na Tabela 1 abaixo:
17
Tabela 1: Componentes estruturais do robô
Qdt. Nome
1 Chassi Pololu
12 Parafuso M3X10
6 Parafuso M2X10
12 Porca M3
6 Porca M2
8 Espaçador Suporte Metálico 30mm M3
1 Esfera Metálica Deslizante 3/8 Pol.
2 Motor DC 12V 300RPM com Caixa de Redução
2 Roda + Suporte para motores
Fonte: Autoria própria.
Tabela 2: Componentes eletrônicos do robô
Qdt. Nome
1 Arduino Nano V3 + Cabo USB
1 Shield Arduino Nano
1 Sensor Ultrassônico
2 Sensor Seguidor de Linha
1 Módulo Acelerômetro e Giroscópio MPU-6050
1 Módulo Bluetooth BLE
2 Encoder para Roda Pololu 42x19mm
1 Módulo Ponte H L298N
1 Clip para Bateria de 9 Volts
1 Bateria de 9 Volts
22 Jumper Fêmea - Fêmea
5 Jumper Macho - Fêmea
Fonte: Autoria própria.
A parte estrutural do robô, chassi e rodas foram adquiridos através do site da
Robocore, e os componentes eletrônicos foram adquiridos na Natalmakers, empresa incubada
18
no Instituto Metrópole Digital, na UFRN. Todas as peças foram fixadas manualmente de
forma que possibilitasse o melhor funcionamento durantes os testes.
3.5. Calibração para percorrer o circuito
O sensor escolhido para medir a rotação do robô móvel foi o Módulo Acelerômetro e
Giroscópio MPU-6050, que mede a rotação em torno dos 3 eixos: arfagem, rolagem e
guinada, mostrados na Fig. 2. A única leitura utilizada no trabalho foi a guinada.
Figura 2: Esquema representativo da medição do sensor Módulo Acelerômetro e
Giroscópio 3 Eixos MPU-6050.
Fonte: https://reidofpv.com/drones-para-iniciantes-como-voar-seu-multicoptero-ep-5/
A calibração do sensoriamento foi realizada através da utilização de um gabarito
baseado no círculo trigonométrico, com duas linhas perpendiculares entre si. O robô foi
posicionado inicialmente no ângulo 0° do circuito, e rotacionado manualmente até os ângulos
base de 90°, 180° e 270°. O sensoriamento foi acompanhado através do monitor serial do
Arduino, para avaliação da medição do ângulo. Dez testes foram realizados para acompanhar
o comportamento do sensor previamente a calibração.
O controlador PI (proporcional e integral) foi utilizado no trabalho para que o robô
rotacionasse corretamente até ângulo desejado. Como o nome sugere, o algoritmo PID é
composto por três coeficientes: proporcional, integral e derivativo, que são variados para
obter a resposta ideal. A idéia básica por trás de um controlador PID é a leitura de um sensor,
no caso o MPU6050, calcular a resposta de saída do atuador através do cálculo proporcional,
integral e derivativo e então somar os três componentes para calcular a saída. O
19
funcionamento desse sistema de controle é mostrado na Fig. 3 O mapeamento da velocidade
mínima dos motores foi feita para que o robô não entrasse na zona morta dos motores, o que
culminaria no impedimento de sua movimentação.
Figura 3: Controle em malha fechada
Fonte: http://www.ece.ufrgs.br/~jmgomes/pid/Apostila/apostila/node6.html
A recompensa foi detectada através do sensor ultrassônico. Ele foi calibrado para
reconhecer a presença ou ausência de algum objeto na distância compreendida entre 0 cm e
25 cm do robô.
Como trata-se de um sistema móvel, o módulo Bluetooth BLE V4.0 HM-10 foi o
responsável pelo envio dos dados para um smartphone, possibilitando a visualização através
do aplicativo Serial Bluetooth Terminal.
Posteriormente a calibração, os sensores foram adicionados como variáveis de
entrada, e os motores como de saída do algoritmo 𝜺-greedy já traduzido para avaliar o
funcionamento do algoritmo implementado ao robô móvel.
3.6. Teste para validação do funcionamento do algoritmo
Foram utilizados valores constantes para 𝜺 com base no trabalho desenvolvido no
Laboratório de Manufatura em parceria com o Laboratório dos peixes da UFRN. No total 5
(cinco) valores de 𝜺 foram testados para avaliar o comportamento do robô nas tomadas de
decisão. Oitenta e dois testes foram realizados para cada um dos valores, sendo vinte e uma
tentativas por teste, totalizando 1722 testes para cada 𝜺 testado. O desenho experimental
proposto seguiu o padronizado pelo grupo do laboratório, registrando os valores de
recompensa normalizados para cada valor de 𝜺.
20
4. RESULTADOS
4.1. Código Traduzido para linguagem Arduino
A tradução do código para a linguagem arduino foi procedida sem dificuldades, e sua
funcionalidade pode ser observada na Fig. 4. Entretanto, como a geração de números
aleatórios na linguagem Python é realizada através da função random(), percebeu-se que a
utilização somente dessa função acarretaria um erro na linguagem Arduino cada vez que o
controlador fosse reiniciado, gerando os mesmos números aleatórios. Para resolver essa
dificuldade foi utilizada a função randomSeed() que dá início a um gerador de números
significativamente aleatórios, com uma entrada do tipo analogRead() no pino desconectado
A0, disponível em: https://www.arduino.cc/.
Figura 4: Monitor serial com o funcionamento do código traduzido para linguagem arduino
Fonte: Autoria própria.
4.2. Robô montado
A montagem do robô foi procedida de maneira satisfatória, com o posicionamento
adequado dos componentes, sem comprometer o funcionamento do conjunto. O produto da
montagem pode ser conferido em Fig. 5 e 6 abaixo.
21
Figura 5: Esquema representativo dos componentes no robô montado
Fonte: Autoria própria.
Figura 6: Vistas do robô. A) Frontal, B) Lateral, C) Superior, D) Posterior.
Fonte: Autoria própria.
22
4.3. Calibração do Robô Móvel para percorrer o circuito
Após o posicionamento do robô utilizando o gabarito para a calibração do MPU-6050,
percebeu-se uma discrepância entre o valor medido e o desejado. O gráfico gerado a partir
dos valores da média calculada pode ser observado na Fig. 7. A partir deles calculou-se o
fator de correção para alinhar o coeficiente angular da reta do sensor com a referência
desejada. O cálculo da correção foi realizado através da Eq. 1.
(4)
Figura 7: Dispersão entre o ângulo medido e o de referência. A) Antes da correção. B) Após
a correção.
Fonte: Autoria própria.
23
Após a calibração do sensoriamento da guinada, a calibração dos motores foi
prosseguida com o auxílio de um controlador proporcional e integral. Vários testes foram
realizados para definição dos coeficientes do controlador, até a correta movimentação do
robô. Inicialmente o teste foi feito para o deslocamento do robô de 0° à 90° como mostrado
na Fig. 8. Para os demais ângulos, o procedimento foi repetido e se mostrou de maneira
eficiente.
Figura 8: Representação gráfica da movimentação do robô até o ângulo de referência.
Fonte: Autoria própria.
O sensor ultrassônico foi eficiente na detecção de presença ou ausência de objetos
compreendidos em uma distância entre 0 cm e 25 cm. Da mesma forma, o módulo bluetooth
efetuou o envio dos dados processados pelo robô para o smartphone.
24
Figura 9: Tela do smartphone com os dados enviados pelo algoritmo.
Fonte: Autoria própria.
4.4. Implementação do algoritmo ao robô móvel
Com a calibração do sensoriamento e da movimentação, o algoritmo bioinspirado de
tomada de decisão foi aplicado ao robô, tornando-o capaz de detectar o braço 0 (zero) como o
mais vantajoso entre os quatro disponíveis (visto na Fig. 9). A validação do funcionamento
do algoritmo no robô para 5 valores de epsilon mostrou ser o 0.4103 o mais vantajoso para o
robô, como mostra a Tab. 3 e a Fig. 10.
25
Tabela 3: Análise da recompensa média do robô valores de epsilon.
Grupo Epsilon Recompensa média
1 0,0289 0,2973
2 0,1413 0,40070
3 0,4103 0,4506
4 0,8137 0,3269
5 0,9250 0,3246
Fonte: Autoria própria.
Figura 10: Gráfico da recompensa média para diferentes valores de epsilon.
Fonte: Autoria própria.
26
5. DISCUSSÃO
O processo de tomada de decisão é essencial para a evolução e reprodução dos seres
vivos (Hutchinson, 2011; Girezender, 2015). No cotidiano, as escolhas são baseadas em
experiências ou conhecimento prévio (Stevens, 2008), sempre buscando a melhor alternativa
para o indivíduo. Para compreender o processo, pesquisadores utilizam organismos mais
simples como formigas (Gordon, Goodwin and Trainor, 1992; Kafsi et al., 2016), abelhas
(Seeley and Buhrman, 1999), peixes (Cronly-Dillon, 1964; Ingle, 1968; Marcotte e
Browman, 1986; Keenan et al., 2012; Andersen, 2015) dentre outros, submetendo-os a
situações que proporcionam a análise e o entendimento comportamental de uma forma
eficiente. Ferramentas matemáticas são utilizadas com o intuito de facilitar o estudo do
processo de tomada de decisão e esse trabalho é um exemplo prático e útil da utilização
matemática na simulação do comportamento para aquisição de recompensa em peixes através
do uso da robótica.
Diversos algoritmos foram implementados para estudar a tomada de decisão em
animais, como algoritmo de optimização de colônias de formigas (ACO), o qual considera a
concentração de feromônios para a escolha do percurso mais curto e vantajoso (Reshamwala
and Vinchurkar, 2013). Na robótica esse algoritmo foi utilizado para facilitar o planejamento
de trajetória do robô, permitindo a execução de um trajeto mais curso com desvio eficiente de
obstáculos. Outro exemplo é o 𝜺-greedy, um algoritmo de aprendizagem por reforço que visa
a maximização de recompensas. Assim como o ACO, o 𝜺-greedy é um algoritmo inspirado
em comportamento de organismos voltados para busca de alimentos (Russo et al., 2018).
A equipe Roboteam do Laboratório de Manufatura da UFRN, laboratório onde este
trabalho foi conduzido, realizou uma pesquisa juntamente com o laboratório de peixes da
UFRN e concluiu que o nível de cortisol dos peixes está diretamente relacionado ao valor de
𝜺 do algoritmo para melhores médias de recompensa. Entretanto, a implementação e
utilização deste algoritmo não haviam sido realizadas para melhor entendimento do
comportamento do peixe. Considerando que diversos algoritmos de tomadas de decisão já
foram aplicados a robôs móveis no intuito de facilitar a compreensão do processo ou aplicar
conhecimentos biológicos a robótica (Garro, Sossa and Varquez, 2006; Liu et. al., 2013;
Choudhury, Mandal and Kalyan Kar, 2016), este trabalho visou criar um robô para
implementação do 𝜺-greedy.
27
Um robô móvel foi montado com peças comerciais e programado em linguagem
arduino utilizando o algoritmo de decisão Greedy para simular os resultados obtidos no
laboratório e validar a aplicação a robôs móveis e complementar o entendimento do
comportamento do peixe. O desenho experimental reproduziu o circuito construído e
utilizado para o experimento com o peixe Betta splendens buscando garantir o mesmo
comportamento e confiabilidade dos dados biológicos para os tecnológicos.
Para percorrer o circuito, o robô contou com o sensoriamento do ângulo, identificação
da presença ou ausência de obstáculos através do sensor ultrassônico para simular a
recompensa, controle PI nos motores para movimentação adequada até o ângulo desejado e
comunicação remota via bluetooth, o que facilitou a visualização dos dados via smartphone
sem afetar o movimento do robô durante os testes.
O 𝜺-greedy foi adicionado ao robô e permitiu que ele reconhecesse de maneira
eficiente o braço mais vantajoso do circuito. A variação do parâmetro 𝜺 no algoritmo alterou
a exploração ou prospecção do robô na busca de recompensa entre os braços, de forma
semelhante ao que foi observado tanto nos experimentos com os peixes quanto na simulação
computacional. Quanto menor o valor de 𝜺, menos o robô explorou os demais braços. Em
contrapartida, quanto maior o valor de 𝜺, maior a capacidade de explorar do robô, o que não
significa aumento na média de recompensa, pois a maior média de recompensa observada na
Tab. 3 foi no valor de 𝜺 igual a 0,4103, semelhante ao comportamento do algoritmo no
trabalho anterior do grupo.
No experimento com os peixes, onde 82 indivíduos foram submetidos a 21 testes com
intuito de avaliar sua capacidade de aprendizagem e aquisição do maior número de
recompensas, o valor de cortisol normalizado foi 0.1413. Já o algoritmo implementado com
apenas 21 testes, identificou que o valor de 𝜺 mais vantajoso foi o de 0.4103, porém testes
com 100 e 200 tentativas o valor mais vantajoso foi de 0.1413, da mesma forma que os
peixes, o que indica que o processo natural de aprendizagem ocorre mais rapidamente que o
do 𝜺 -greedy, o que explica o fato do 𝜺 mais vantajoso ter sido o de 0.4103 neste trabalho.
A execução de trabalhos como esse apresenta grande importância para o estudo e
compreensão de comportamento animal, uma vez que possibilita a demonstração não apenas
computacional, mas a simulação física através de robôs móveis da provável ação de
organismos frente a situações naturais. A simulação da ação de um peixe na busca do local
mais vantajoso para aquisição de alimento ou da ação coordenada de um grupo de formigas
28
para percorrer o menor percurso a fim de alimentarem-se e protegerem-se do perigo
(Reshamwala e Vinchurkar, 2013), são exemplos claros e eficientes da utilização desta
ferramenta para facilitar o entendimento global de comportamentos complexos e ainda não
muito bem esclarecidos, como a busca por alimentos e proteção de determinadas espécies.
A inclusão da robótica nos estudos de comportamento animal não foram importantes
apenas para os estudos com animais, mas o uso de dispositivos biológicos tem possibilitado a
resolução de problemas clássicos na robótica, como o planejamento de trajetória livre de
colisões para robôs móveis (Liu et. al., 2013; Choudhury, Mandal and Kalyan Kar, 2016). Liu
e colaboradores, 2013, utilizaram um algoritmo baseado no comportamento de alimentação
bacteriana (Bacterial foraging optimization algorithm ou BFO) para o correto planejamento
de percursos livres de colisão em robôs móveis. Através deste algoritmo, os robôs eram
capazes de percorrer a menor trajetória sem colidir com obstáculos.
Considerando a importância deste trabalho tanto para a robótica, quanto para a
facilitação do entendimento de comportamentos animais, se torna necessária a execução de
projetos que implementem e tornem mais sensíveis e acuradas essas metodologias citadas. A
variação da posição e distância do objeto do robô é uma proposta interessante, uma vez que
representaria de maneira fidedigna o que ocorre na natureza. Além disso, aplicação de outros
algoritmos de tomada de decisão no robô móvel construído neste trabalho seria importante
para a avaliação da funcionalidade e utilidade deste robô em outras situações.
29
6. CONCLUSÃO
Este trabalho gerou a construção de um robô móvel com componentes específicos
para realização da implementação e estudo do 𝜺-greedy. Validou a utilização do algoritmo a
robôs móveis e simulou de forma eficiente os experimentos computacionais anteriormente
realizados no laboratório com o algoritmo de tomada de decisão dos peixes.
30
7. REFERÊNCIAS BIBLIOGRÁFICAS
ANDERSEN, B. S. et al. The proximate architecture for decision-making in fish. Fish and
Fisheries, v. 17, n. 3, p. 680–695, 2015.
CHOUDHURY, N.; MANDAL, R.; KAR, S. K. Bioinspired robot path planning using
PointBug algorithm. 2016 International Conference on Electrical, Electronics, and
Optimization Techniques (ICEEOT), 2016.
CRONLY-DILLON, J. R. Units Sensitive to Direction of Movement in Goldfish Optic
Tectum. Nature, v. 203, n. 4941, p. 214–215, 1964.
ELIASSEN, S. et al. Exploration or exploitation: life expectancy changes the value of
learning in foraging strategies. Oikos, v. 116, n. 3, p. 513–523, 2007.
FISHER, R. A. The genetical theory of natural selection. 1930.
GARRO, B. A.; SOSSA, H.; VAZQUEZ, R. A. Path Planning Optimization Using
Bio-Inspirited Algorithms. 2006 Fifth Mexican International Conference on
Artificial Intelligence, 2006.
GIGERENZER, G. Heuristic Decision Making. Simply Rational, p. 107–139, 2015.
HUTCHINSON, J. M.; GIGERENZER, G. Simple Heuristics and Rules of Thumb: Where
Psychologists and Behavioural Biologists Might Meet. Heuristics, p. 110–133, 2011.
INGLE, D. The Central nervous system and fish behavior. Traducao . [s.l.] University of
Chicago Press, 1968.
JACOBSON, M.; GAZE, R. M. Types Of Visual Response From Single Units In The Optic
Tectum And Optic Nerve Of The Goldfish. Quarterly Journal of Experimental
Physiology and Cognate Medical Sciences, v. 49, n. 2, p. 199–209, Jul. 1964.
KAFSI, M. et al. Uncovering Latent Behaviors in Ant Colonies. Proceedings of the 2016
SIAM International Conference on Data Mining, 2016.
KEENAN, S. A. et al. Shape Discrimination in Goldfish (Carassius auratus). PsycEXTRA
Dataset, 2012.
LIU, W. et al. Robot Path Planning Using Bacterial Foraging Algorithm. Journal of
Computational and Theoretical Nanoscience, v. 10, n. 12, p. 2890–2896, Jan. 2013.
LOTKA, A. J. Elements of physical biology. Traducao . [s.l.] University Microfilms, 1967.
MARCOTTE, B. M.; BROWMAN, H. I. Foraging behaviour in fishes: perspectives on
variance. Contemporary studies on fish feeding: the proceedings of GUTSHOP ’84
31
Developments in environmental biology of fishes, p. 25–34, 1986.
MCNAMARA, J. M.; HOUSTON, A. I. Optimal foraging and learning. Journal of
Theoretical Biology, v. 117, n. 2, p. 231–249, 1985.
RUSSO, DANIEL J. VAN ROY, BENJAMIN. KAZEROUNI, ABBAS. TUTORIAL ON
THOMPSON SAMPLING. Traducao . [s.l.] NOW PUBLISHERS, 2018.
RESHAMWALA, A.; P, D. Robot Path Planning using An Ant Colony Optimization
Approach:A Survey. International Journal of Advanced Research in Artificial
Intelligence, v. 2, n. 3, 2013.
RYER, C. H.; OLLA, B. L. Influences of food distribution on fish foraging behaviour.
Animal Behaviour, v. 49, n. 2, p. 411–418, 1995.
SEELEY, T. D.; BUHRMAN, S. C. Group decision making in swarms of honey bees.
Behavioral Ecology and Sociobiology, v. 45, n. 1, p. 19–31, 1999.
STEVENS, J. R. The Evolutionary Biology of Decision Making. Better Than Conscious?,
p. 285–304, 2008.
SUTTON, R. S.; BARTO, A. Reinforcement learning: an introduction. Traducao . [s.l.]
The MIT Press, 2018.
WARE, D. M. Predation by Rainbow Trout (Salmo gairdneri): the Effect of Experience.
Journal of the Fisheries Research Board of Canada, v. 28, n. 12, p. 1847–1852,
1971.
WOOD, Lauren S. e DESJARDINS, Julie K. e FERNALD, Russell D. Effects of stress and
motivation on performing a spatial task. Neurobiology of Learning and Memory, v.
95, n. 3, p. 277–285, 2011Tradução.
randomSeed(). Disponível em:
<https://www.arduino.cc/reference/en/language/functions/random-numbers/randomsee
d/>
32
top related