Your SlideShare is downloading. ×
Mr4
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
140
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ˆ ´ COORDENA¸ AO DOS ATUADORES DAS PERNAS DE ROBOS MOVEIS C˜ USANDO APRENDIZADO POR REFORCO: SIMULA¸ AO E ¸ C˜ IMPLEMENTA¸ AO C˜ Jeeves Lopes dos Santos∗ Cairo L´ cio Nascimento J´ nior∗ u u jeeves@ita.br cairo@ita.br Laborat´rio de M´quinas Inteligentes - LMI o a Divis˜o de Engenharia Eletrˆnica a o Instituto Tecnol´gico de Aeron´utica - ITA o a S˜o Jos´ dos Campos, S˜o Paulo, Brasil a e a ∗ ABSTRACT Actuator Coordination for Legged Mobile Robots Using Reinforcement Learning: Simulation and Implementation This article presents a solution to the problem of how to coordinate the actuators of a legged robot such that its frontal speed is maximized. It is assumed that the position of each leg actuator is described by a periodic function that has to be determined using a reinforcement learning technique called Learning Automata. Analysis of the robot morphology is used to group similar legs and decrease the number of actuator functions that must be determined. MATLAB/Simulink and the SimMechanics Toolbox are used to simulate the robot walking on a flat surface. The simulated robot response is evaluated by the reinforcement learning technique considering: 1) the robot frontal speed, 2) the smoothness of the robot movements, 3) the largest torque required by all actuators, and 4) the energy consumption. After the reinforcement learning algorithm converges to a solution, the actuators functions are applied to the real robot that was built using the Bioloid Comprehensive Kit, an educational robot kit manufactured by Robotis. The response of the real robot is then evaluated and Artigo submetido em 16/02/2011 (Id.: 01271) Revisado em 18/04/2011, 04/06/2011 Aceito sob recomenda¸˜o do Editor Associado Prof. Guilherme Pereira ca 78 compared with the simulated robot response. This article presents two case studies: a quadrupedal robot and a tripedal robot. In both cases, each leg has three actuators. The solutions obtained by the proposed methodology are presented and shown to be satisfactory. KEYWORDS: Mobile Robotics, Walking Machines, Legged Robots, Reinforcement Learning, Learning Automata, Applied Artificial Intelligence. RESUMO Este artigo apresenta uma solu¸ao para o problema de c˜ coordena¸ao dos atuadores das pernas de robˆs m´veis c˜ o o com o objetivo principal de maximizar a sua velocidade ´ frontal. E assumido que a posi¸ao no tempo de cada c˜ atuador ´ descrita por uma fun¸ao peri´dica que deve e c˜ o ser determinada de forma iterativa por um algoritmo de aprendizado por refor¸o. As pernas similares do robˆ s˜o c o a identificadas e agrupadas visando diminuir o n´mero de u fun¸oes que precisam ser determinadas. O toolbox Simc˜ Mechanics do software MATLAB/Simulink ´ usado para e simular o caminhar do robˆ em uma superf´ plana. O o ıcie desempenho do robˆ simulado ´ medido considerando: o e a) a velocidade frontal e a suavidade na locomo¸ao do c˜ robˆ, e b) o m´ximo torque e o consumo de energia dos o a atuadores. As fun¸oes que foram determinadas no amc˜ biente de simula¸ao pelo algoritmo de refor¸o s˜o ent˜o c˜ c a a usadas nos atuadores do robˆ real constru´ usando o o ıdo Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca
  • 2. kit de rob´tica educacional Bioloid Comprehensive Kit. o O desempenho do robˆ real ´ ent˜o medido e compao e a rado com o desempenho do robˆ simulado. Este artigo o apresenta dois estudos de caso: um robˆ quadr´pede e o u um tr´ ıpode. Nos dois casos os robˆs possuem trˆs atuo e adores por perna. As solu¸oes obtidas pela aplica¸ao c˜ c˜ do m´todo proposto s˜o apresentadas e se mostraram e a satisfat´rias. o PALAVRAS-CHAVE: Robˆs M´veis, Robˆs com Pernas, o o o Inteligˆncia Artificial, Aprendizado por Refor¸o. e c 1 INTRODUCAO ¸˜ A rob´tica m´vel constitui-se como uma vertente no amo o ˆ bito da rob´tica que almeja aumentar a versatilidade de o diversos tipos de equipamentos com o advento da locomo¸ao. Neste contexto, a utiliza¸ao de rodas corresc˜ c˜ ponde a configura¸ao mais comum para os robˆs que se ` c˜ o locomovem em terra devido a sua facilidade de opera¸ao ` c˜ e ao seu desempenho em terrenos regulares. Por´m, o e uso de rodas pode se tornar invi´vel em terrenos acia dentados. Neste tipo de ambiente, os robˆs com pernas, o tamb´m conhecidos como walking machines, constituem e uma op¸ao promissora. c˜ Al´m da maior possibilidade de mobilidade em rela¸ao e c˜ aos robˆs com rodas, existem outras vantagens que poo dem ser verificadas na utiliza¸ao dos robˆs com pernas: c˜ o Utiliza¸˜o das pernas para outros fins: As pernas ca utilizadas na locomo¸ao n˜o est˜o necessariamente c˜ a a limitadas a essa aplica¸ao. Dentre as possibilidac˜ des, esses elementos do robˆ podem manipular e o transportar objetos como verificado em alguns seres vivos (Silva e Machado, 2007); Maior tolerˆncia a falhas: Como as rodas necessia tam constantemente estar em contato com a superf´ de locomo¸ao, a falha de uma delas (p. ex., ıcie c˜ travamento) pode inviabilizar a locomo¸ao do robˆ. c˜ o Por outro lado, como os robˆs com pernas podem o possuir pernas redundantes, h´ a possibilidade dos a mesmos manterem um caminhar ap´s ter uma ou o mais pernas danificadas (Spenneberg et al., 2004; Yang, 2003); Maior identifica¸˜o entre homem e robˆ: As perca o nas podem proporcionar um maior grau de identifica¸ao entre o homem e o robˆ, facilitando a inserc˜ o cao desses equipamentos em seu cotidiano (Pfeifer ¸˜ e Scheier, 1999). Pesquisas sobre a locomo¸˜o dos seres vivos: As ca pesquisas desenvolvidas com os robˆs dotados de o pernas podem ser utilizadas para testar id´ias de e como funciona o sistema de locomo¸ao dos seres c˜ vivos (Ijspeert, 2008); Desenvolvimento de equipamentos: Os avan¸os c obtidos com os robˆs dotados de pernas podem o ser utilizados para desenvolver equipamentos para auxiliar pessoas com dificuldade de locomo¸ao. c˜ Um exemplo desse tipo de equipamento consiste nos chamados exoesqueletos (Santos et al., 2009; Siqueira et al., 2008; Winter et al., 2008). Coordenar os atuadores que comp˜em um robˆ com pero o nas corresponde a um dos grandes desafios nessa area de ´ pesquisa devido a complexidade da dinˆmica do robˆ e ` a o ao n´mero de vari´veis envolvidas no seu controle. u a Na literatura existem duas grandes linhas de pesquisa na busca de solu¸oes para o problema da coordena¸ao c˜ c˜ dos atuadores dos robˆs com pernas. A primeira usa o uma abordagem matem´tica do problema para obter o a modelo dinˆmico do robˆ e gerar as leis de controle para a o os atuadores, como em (Westervelt et al., 2007; Mistry et al., 2007; Plestan et al., 2003). A segunda linha usa alguma t´cnica de aprendizado e de m´quina (Mitchell, 1997) para realizar a busca por a uma solu¸ao adequada em um espa¸o de possibilidac˜ c des. Nessa, solu¸oes candidatas s˜o tipicamente testadas c˜ a em um robˆ simulado usando algum pacote de software o computacional de forma tal que os modelos cinem´tico e a dinˆmico do robˆ n˜o precisam ser explicitados pelo proa o a jetista. Como exemplos, (Belter e Skrzypczynski, 2010; Heinen e Os´rio, 2008; Xu et al., 2006) utilizam algorito mos gen´ticos para realizar a coordena¸ao dos atuadores e c˜ dos robˆs com pernas, enquanto que, dentro do campo o do aprendizado por refor¸o, (Holland e Snaith, 1992) c utiliza uma t´cnica conhecida como Q-learning e (Porta, e 2000) utiliza uma varia¸ao dessa t´cnica denominada de c˜ e ρ-learning. Al´m do Q-learning e suas varia¸oes que s˜o e c˜ a comumente encontradas na literatura, outras t´cnicas e tamb´m s˜o utilizadas para esse fim como o stochastic e a gradient ascent (Murao et al.,2001), hill-climbing algorithm (Tal, et al., 2005) e model-based reinforcement learning (Morimoto et al., 2004). Os pesquisadores que utilizam t´cnicas de aprendizado e de m´quina na coordena¸ao dos atuadores de robˆs com a c˜ o pernas tentam minimizar o n´mero de tentativas necesu s´rias atrav´s da simplifica¸ao do problema. Uma altera e c˜ nativa se baseia numa caracter´ ıstica observada nos animais, onde, para um estilo de locomo¸ao intermitente, c˜ h´ um padr˜o que se repete por um longo per´ a a ıodo caracterizando assim um movimento c´ ıclico (Alexander, Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca 79
  • 3. 1989). Essa propriedade vem sendo utilizada por pesquisadores ao compor o comportamento dos atuadores dos seus robˆs (Heinen, 2007; Still e Douglas, 2006; Kohl o e Stone, 2004). O lado negativo dessa estrat´gia corresponde a limitae ` cao da utiliza¸ao do robˆ em terrenos regulares, uma vez ¸˜ c˜ o que, para as superf´ ıcies irregulares, h´ a necessidade do a robˆ se adaptar as diferentes condi¸oes do terreno onde o ` c˜ est´ sendo realizada a locomo¸ao. Como alternativa, a c˜ existem as t´cnicas de caminhar livre (free gait), onde e a sequencia dos movimentos realizados durante a locomo¸ao raramente se repetem. Como exemplo, (Erden c˜ e Leblebicioglu, 2008) utiliza uma t´cnica onde ´ realie e zada uma escolha aleat´ria de um estado a partir de um o subconjunto de estados est´veis que satisfazem determia nadas caracter´ ısticas e (Porta e Celaya, 2004) utiliza um efeito de rea¸ao para realizar o controle das pernas do c˜ robˆ. o ´ E importante salientar que, apesar de uma das maiores vantagens da utiliza¸ao dos robˆs com pernas ser a c˜ o sua utiliza¸ao em terrenos irregulares, o problema da c˜ locomo¸ao de walking machines em terrenos planos e c˜ regulares ainda n˜o foi totalmente resolvido. a Com o objetivo de viabilizar a locomo¸ao de robˆs com c˜ o pernas em uma determinada dire¸ao e sentido desejac˜ dos em uma superf´ plana e regular, este artigo proıcie p˜e uma metodologia para a coordena¸ao das pernas de o c˜ robˆs utilizando a t´cnica de aprendizado por refor¸o coo e c nhecida como Learning Automata para buscar solu¸oes c˜ que satisfa¸am m´ltiplos crit´rios. c u e essa etapa, a solu¸ao encontrada no ambiente de c˜ simula¸ao ´ tamb´m testada no robˆ real consc˜ e e o tru´ ıdo com o kit de rob´tica educacional BIOLOID o Comprehensive Kit fabricado pela empresa Robotis (http://www.robotis.com/xe/bioloid_en). A generalidade da solu¸ao proposta ´ demonstrada por c˜ e dois estudos de caso onde os robˆs apresentam diferentes o morfologias: um robˆ com quatro pernas (quadr´pede) o u e outro com trˆs pernas (tr´ e ıpode). Em ambos os casos as pernas dos robˆs possuem 3 atuadores. o Neste artigo a se¸ao 2 apresenta a composi¸ao geral das c˜ c˜ morfologias utilizadas na montagem dos robˆs, a se¸ao 3 o c˜ descreve a formula¸ao do problema abordado no artigo, c˜ a se¸ao 4 apresenta a proposta de solu¸ao adotada, a c˜ c˜ se¸ao 5 exp˜e os estudos de casos realizados e a se¸ao c˜ o c˜ 6 apresenta as conclus˜es e as propostas para trabalhos o futuros. 2 ˆ MORFOLOGIA DOS ROBOS De forma simplificada, os robˆs dotados de pernas s˜o o a compostos por um corpo principal e pelas pernas. As pernas correspondem a um conjunto de elementos r´ ıgidos com uma ou mais articula¸oes que podem ou n˜o c˜ a ser acionadas por atuadores (Figura 1). Um robˆ pode o possuir desde uma perna at´ um grande n´mero delas e u que, em rela¸ao a locomo¸ao, tˆm como finalidade susc˜ ` c˜ e tentar/equilibrar o corpo do robˆ e gerar o impulso neo cess´rio para o seu deslocamento. J´ o corpo principal a a corresponde a parte do robˆ onde as pernas est˜o conec` o a tadas. Neste artigo, as solu¸oes obtidas s˜o avaliadas considec˜ a rando quatro medidas: 1. a velocidade de locomo¸ao na dire¸ao e sentido dec˜ c˜ sejados; 2. a suavidade da locomo¸ao; c˜ 3. o consumo de energia, e 4. o m´ximo torque exigido pelos atuadores. a Neste trabalho, resolver o problema de coordenacao das pernas do robˆ significa propor um con¸˜ o junto de fun¸oes peri´dicas a serem utilizadas como c˜ o referˆncias angulares pelos atuadores localizados nas e articula¸oes das pernas do robˆ. c˜ o A solu¸ao do c˜ problema ´ encontrada usando um ambiente de sie mula¸ao constru´ c˜ ıdo com o SimMechanics Toolbox do programa MATLAB R2009b fornecido pela empresa MathWorks (http://www.mathworks.com). Ap´s o 80 Figura 1: Exemplo de uma perna cuja morfologia possui 3 corpos r´ ıgidos (A, B e C) e 3 articula¸oes (1, 2 e 3). c˜ Os robˆs dotados de pernas s˜o classificados pelo n´o a u mero de pernas que possuem, podendo ser mon´podes o (uma perna), b´ ıpedes (duas pernas), tr´ ıpodes (trˆs pere nas), quadr´pedes (quatro pernas), etc. u Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca
  • 4. Nas morfologias utilizadas neste trabalho (quadr´pede e u tr´ ıpode), cada articula¸ao de cada perna possui apenas c˜ um grau de liberdade angular que ´ acionado por um e pequeno servomotor localizado na articula¸ao. A veloc˜ cidade e o angulo desse servomotor s˜o ajustados pelo ˆ a seu controlador local que recebe um sinal de referˆncia e enviado por um controlador principal atrav´s de uma e rede de comunica¸ao serial cabeada tipo ”daisy-chain”. c˜ Assim sendo, a solu¸ao do problema de coordena¸ao das c˜ c˜ pernas de um robˆ ´ obtida pela gera¸ao do sinal tempooe c˜ ral de referˆncia para cada articula¸ao em cada perna. e c˜ 3 FORMULA¸ AO DO PROBLEMA C˜ Neste artigo, o sinal de referˆncia angular utilizado pelo e atuador a da perna p ´ caracterizado como uma fun¸ao e c˜ a peri´dica no tempo fp (t) que ´ definida por um conjunto o e de N E pontos linearmente interpolados entre si, como ilustrado pela Figura 2. Visando simplificar o problema, pode-se levar em considera¸ao as simetrias existentes no robˆ para minimizar c˜ o o n´mero de vari´veis a serem ajustadas, como realizado u a em (Santos et al., 2010). Para tal, as pernas que s˜o sia m´tricas em rela¸ao ao Centro de Massa do robˆ (CM) e c˜ o e possuem uma mesma estrutura podem ser agrupadas tal que as pernas de um mesmo grupo compartilhem a as mesmas fun¸oes fp (t), por´m com uma determinada c˜ e g defasagem φ (p) para cada perna do grupo g (uma das pernas do grupo ´ adotada como a perna de referˆncia e e e, por defini¸ao, assume o no 1 no grupo e φg (1) = 0). c˜ Utilizando essa estrat´gia, considerando que todas as e pernas do exemplo acima citado sejam similares, haveria a necessidade de se definir 3 fun¸oes com 4 pontos cada c˜ (uma fun¸ao por atuador), 3 defasagens (1 defasagem c˜ por perna) e o per´ ıodo T . Assim, o n´mero de vari´veis u a N v diminui de 49 para 16. Em suma, al´m do per´ e ıodo T , o algoritmo de aprendizado deve ajustar (N E N a + N p − 1) vari´veis para a cada grupo de pernas similares que for identificado pela an´lise da morfologia do robˆ, pois: a o • a fun¸ao peri´dica usada como fun¸ao de referˆncia c˜ o c˜ e da posi¸ao angular do k-´simo atuador da perna 1 c˜ e k do grupo, denotada por f1 (t), ´ definida pelos seus e T valores nos N E instantes de tempo t = (j − 1) N E , onde j ∈ {1 : N E}; Figura 2: Representa¸˜o da fun¸˜o aplicada no atuador a da ca ca perna p. Dessa forma, para cada atuador existente no robˆ, deveo se ajustar os valores dos N E pontos que descrevem a fun¸ao, juntamente com o per´ c˜ ıodo de tempo T . Dado que o robˆ possui N atuadores, o mesmo neceso sitar´ de N fun¸oes para descrever seus movimentos. a c˜ Assim, levando em considera¸ao que cada uma das N c˜ fun¸oes ´ caracterizada por N E pontos e todas possuem c˜ e o mesmo per´ ıodo T , o n´mero total de vari´veis que preu a cisam ser determinadas (N v) ´ dado pela Equa¸ao (1). e c˜ Nv = NE N + 1 (1) Como exemplo, para um robˆ quadr´pede (N p = 4) com o u trˆs articula¸oes por perna (N a = 3) e quatro pontos e c˜ por fun¸ao (N E = 4), N v = N E N p N a + 1 = 49. c˜ • se o grupo tem mais de uma perna (N p > 1), ent˜o a ´ preciso determinar a defasagem φ(p) da perna p e do grupo, onde p ∈ {2 : N p}. Definidas as vari´veis a serem ajustadas, a busca pelos a seus valores leva em considera¸ao o desempenho do robˆ c˜ o atrav´s da resposta obtida durante a simula¸ao do seu e c˜ caminhar. Usando como base um sistema de coordenadas inercial formado pelos eixos x, y e z onde o robˆ o est´ inicialmente posicionado tal que a sua frente est´ a a alinhada no sentido positivo do eixo x, os seguintes sinais s˜o observados na simula¸ao: a c˜ 1. Vx (t), Vy (t), Vz (t): velocidades lineares do CM nos eixos x, y e z; 2. Wx (t), Wy (t), Wz (t): velocidades angulares observadas no corpo principal do robˆ em torno dos eixos o x, y e z (velocidades de rolagem, arfagem e guinada) com a origem das coordenadas localizada no CM do robˆ; o a 3. τp (t): torque no atuador a da perna p; Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca 81
  • 5. a 4. Wp (t): velocidade angular do atuador a da perna p. IW = Utilizando as vari´veis medidas, as seguintes matrizes a amostradas s˜o definidas: a  V (x, 1) V =  V (y, 1) V (z, 1)  W (x, 1) W =  W (y, 1) W (z, 1) V (x, 2) V (y, 2) V (z, 2) W (x, 2) W (y, 2) W (z, 2) ... ... ...  V (x, N ) V (y, N )  V (z, N )  ... W (x, N ) ... W (y, N )  ... W (z, N ) 3 i=1 ( (3) N • V (i, j) corresponde a velocidade linear do CM no ` eixo x, y ou z (i = 1, 2 ou 3 respectivamente) no instante de amostragem j (j = 1 a N ); O valor de Ec ´ dado pela Equa¸ao 6, onde ti e tf e c˜ s˜o os instantes de tempo inicial e final da realiza¸ao a c˜ de um passo. • W (i, j) corresponde a velocidade angular do CM ` em torno do eixo x, y ou z (i = 1, 2 ou 3 respectivamente) no instante de amostragem j (j = 1 a N ). Na Para mensurar essas varia¸oes, s˜o definidas as tac˜ a xas de varia¸oes das velocidades lineares (IV ) e das c˜ velocidades angulares (IW ). A primeira ´ mensue rada a partir das varia¸oes das velocidades lineares c˜ observadas no CM, cujo valor ´ obtido atrav´s da e e Equa¸ao (4). c˜ IV = 3 i=1 ( N j=1 (V (i, j) − V (i))2 ) N (4) A taxa de varia¸ao das velocidades angulares (IW ) c˜ ´ obtida de forma an´loga a IV . Para tal, utiliza-se e a ` a Equa¸ao (5) (Golub e Hu, 2003). c˜ 82 tf a a τp (t) Wp (t) dt Ec = a=1 2. Suavidade da locomo¸ao do robˆ: Deseja-se minic˜ o mizar as varia¸oes das velocidades lineares e anguc˜ lares observadas no CM do robˆ para evitar que, ao o carregar uma carga, o seu conte´do seja danificado. u (5) 4. Consumo de energia: Visando maximizar o tempo de opera¸ao do robˆ sem a necessidade de paradas c˜ o para a recarga das suas baterias, a minimiza¸ao do c˜ consumo de energia ´ considerada. Para tal, buscae se minimizar a soma da energia cin´tica rotacional e verificada em todos os atuadores (Ec). onde: 1. Velocidade: Visando viabilizar que o robˆ chegue o ao seu destino rapidamente, busca-se um comportamento que maximize a m´dia da velocidade linear e (V ) do CM do robˆ no sentido positivo do eixo x; o − W (i))2 ) 3. M´ximo torque exigido: No intuito de evitar a saa tura¸ao do atuador real e permitir que robˆs com c˜ o atuadores menos potentes possam viabilizar o desempenho desejado, busca-se minimizar o m´ximo a torque instantˆneo aplicado pelos atuadores consia derando todas as pernas (τmax ). Dessa maneira, implicitamente assume-se que todos os atuadores s˜o iguais. a (2) Com esses sinais obtidos, quatro ´ ındices s˜o utilizados a para avaliar a qualidade da resposta obtida: N j=1 (W (i, j) (6) ti Dessa forma, essas grandezas escalares comp˜em o vetor o de desempenho J = [Vx IV IW τmax Ec] que quantifica o resultado obtido com a utiliza¸ao de um determinado c˜ a conjunto de fun¸oes fp (t). c˜ 4 PROPOSTA DE SOLUCAO ¸˜ Para ajustar as vari´veis que definem as fun¸oes de refea c˜ rˆncia de cada atuador, este artigo utiliza uma t´cnica de e e aprendizado por refor¸o conhecida como Learning Auc tomata (Narendra e Thathachar, 1974). O Aprendizado por Refor¸o (AR) corresponde a um c meio de mapear situa¸oes em a¸oes visando maximic˜ c˜ zar um sinal de refor¸o num´rico. Para tal, avalia-se c e o conhecimento acumulado pela aplica¸ao de propostas c˜ de solu¸oes para direcionar a busca por melhores soluc˜ coes (Sutton e Barto, 1998; Thathachar e Sastry, 2002). ¸˜ Dessa forma, o AR caracteriza-se como um m´todo de e aprendizado com supervis˜o fraca, cujo supervisor apea nas fornece informa¸oes de sucesso ou fracasso durante a c˜ fase de treinamento (Nascimento Jr. e Yoneyama, 2000). As t´cnicas existentes em AR s˜o compostas por quatro e a elementos: Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca
  • 6. Pol´ ıtica de A¸oes: Define a a¸ao em um dado moc˜ c˜ mento do aprendizado, podendo ser comparado na psicologia como as regras de respostas a est´ ımulos ou associa¸oes. Na aplica¸ao em quest˜o, esse elec˜ c˜ a mento corresponde a descri¸ao de um determinado ` c˜ a conjunto de fun¸oes fp (t) a serem testadas; c˜ Fun¸ao Objetivo: Corresponde a fun¸ao que avalia o c˜ ` c˜ desempenho da a¸ao tomada. Esta fun¸ao tem c˜ c˜ como objetivo fornecer um refor¸o, uma contribuic cao imediata que, em sistemas biol´gicos, pode ser ¸˜ o comparado ao prazer e a dor; ` Fun¸ao de Avalia¸ao: Avalia a qualidade como um c˜ c˜ todo das poss´ ıveis a¸oes a serem tomadas levando c˜ em considera¸ao um longo per´ c˜ ıodo. Dessa forma, ´ feita uma avalia¸ao mais refinada e abrangente, e c˜ definindo numericamente o conhecimento obtido; Modelo do Sistema: Com a fun¸ao de descrever o c˜ comportamento do sistema que se est´ aplicando o a aprendizado por refor¸o, este ´ c ıtem ´ optativo nesse e tipo de aplica¸ao. c˜ Com esses elementos, o aprendizado por refor¸o utiliza a c experiˆncia com as tentativas para obter o conhecimento e desejado. Para tal, o conhecimento armazenado na funcao de avalia¸ao ´ utilizado para selecionar a pr´xima ¸˜ c˜ e o pol´ ıtica de a¸oes a serem tomadas. Ap´s executadas, o c˜ o resultado ´ ent˜o avaliado quantitativamente atrav´s da e a e fun¸ao objetivo que, por sua vez, define o refor¸o a ser c˜ c utilizado na atualiza¸ao da fun¸ao de avalia¸ao. Este c˜ c˜ c˜ ciclo ´ ent˜o repetido at´ que haja a convergˆncia do e a e e conhecimento. Nesse contexto, o Learning Automata (LA) ´ uma t´ce e nica de AR que tem como base os chamados autˆmatos o que correspondem a modelagem matem´tica das M´` a a quinas de Estados Finitos (MEF). Uma MEF ´ uma ree presenta¸ao do comportamento de um sistema atrav´s c˜ e de um conjunto de estados, transi¸oes e a¸oes, tal que c˜ c˜ (Hopcroft et al., 2006): • Os estados correspondem a um conjunto m´ ınimo de vari´veis capazes de descrever o sistema em um a determinado instante; • As transi¸oes correspondem as mudan¸as entre esc˜ ` c tados que ocorrem regidas por condi¸oes; c˜ • As a¸oes s˜o atividades que devem ser realizadas em c˜ a um determinado instante (ao entrar ou sair de um estado, durante uma transi¸ao entre estados, etc.). c˜ Nesse contexto, o LA tem como fun¸ao ajustar a func˜ cao de avalia¸ao representada pelo conjunto de proba¸˜ c˜ bilidades associadas as poss´ ` ıveis transi¸oes do autˆmato c˜ o utilizando os conceitos de AR. Para aplicar a teoria desenvolvida em LA na pesquisa aqui apresentada, cada vari´vel a ser ajustada ´ associa e ada a um autˆmato com apenas um estado e um cono junto de poss´ ıveis transi¸oes discriminadas pelo projec˜ tista (Thathachar e Sastry, 2003). 4.1 Armazenamento do Conhecimento O primeiro passo para a implementa¸ao do LA consiste c˜ em gerar a estrutura capaz de armazenar o conhecimento, em outras palavras, gerar a fun¸ao de avalia¸ao. c˜ c˜ Para tal, este artigo utiliza um vetor coluna PT e duas g g matrizes Pφ e Pf para cada grupo de pernas similares g. Com essa representa¸ao, o vetor e cada coluna das mac˜ trizes armazena a fun¸ao de avalia¸ao de um autˆmato c˜ c˜ o espec´ ıfico. Associado as posi¸oes angulares que descrevem as fun` c˜ g a o coes fp (t), Pf tem dimens˜es N P P x N E x N ag , onde: ¸˜ • N P P ´ o n´mero de poss´ e u ıveis posi¸oes angulares c˜ para os atuadores; • N E ´ o n´mero de pontos nas fun¸oes de referˆncia e u c˜ e dos atuadores, e • N ag ´ o n´mero de atuadores em uma das pernas e u do grupo g. g Assim, na matriz Pf (Figura 3): Linhas: cada linha corresponde a uma poss´ posi¸ao ıvel c˜ angular do atuador; Colunas: cada coluna corresponde a um instante de tempo; Profundidades: cada profundidade corresponde a um atuador. Analisando a morfologia do robˆ, deve-se definir a mao triz θ g com dimens˜o N P P x N ag associada a matriz a ` g Pf . O elemento θ g (i, k) representa uma poss´ posi¸ao ıvel c˜ angular para o k-´simo atuador da perna de referˆncia e e do grupo de pernas similares g. Assim, os elementos da k-´sima coluna da matriz θ g s˜o definidos de forma linee a armente espa¸ados entre as posi¸oes angulares m´ c c˜ ınima e m´xima do k-´simo atuador. a e Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca 83
  • 7. k e N E − 1. Portanto, como f1 (t) denota a fun¸ao peri´c˜ o dica do k-´simo atuador da perna 1 (perna de referˆncia e e do grupo), ent˜o a fun¸ao peri´dica do k-´simo atuador a c˜ o e da j-´sima perna ser´ dada por: e a k k fj (t) = f1 t + φg (j) g Figura 3: Organiza¸˜o da matriz Pf que armazena o conhecica mento adquirido pelo aprendizado por refor¸o para as posi¸oes c c˜ angulares dos atuadores. Com essa representa¸ao, o valor do elemento da mac˜ g triz Pf (i, j, k) representa a estimativa de probabilidade de sucesso quando o elemento θ g (i, k) define o j-´simo e ponto da fun¸ao de referˆncia do k-´simo atuador da c˜ e e perna de referˆncia do grupo g. Assim, a soma dos valoe g res de uma mesma coluna da matriz Pf deve ser sempre 1. Inicialmente, como ainda n˜o foi adquirido nenhum coa nhecimento a respeito dos pontos que ir˜o compor cada a g fun¸ao, todas as probabilidades Pf (i, j, k) assumem o c˜ valor 1/N P P . g A matriz Pφ (Figura 4) armazena o conhecimento referente as defasagens das pernas do grupo g e tem di` mens˜o N E x N pg onde N pg ´ o n´mero de pernas no a e u grupo g. Essa matriz ´ organizada da seguinte forma: e Linhas: cada linha corresponde a um poss´ valor de ıvel defasagem; Colunas: cada coluna corresponde a uma perna do grupo de pernas similares. T NE (7) g Como a primeira coluna da matriz Pφ est´ associada a a ` perna de referˆncia (cuja defasagem por defini¸ao ´ 0), e c˜ e g ent˜o tal coluna ´ definida como Pφ (:, 1) = [1, 0, ..., 0]T a e e n˜o ´ alterada pelo algoritmo de aprendizado. Os elea e g a mentos das demais colunas da matriz Pφ s˜o definidos inicialmente como 1/N E. Por fim, o projetista deve ainda definir os vetores VT e PT com o mesmo n´mero de elementos. O vetor VT u cont´m os poss´ e ıveis valores para o parˆmetro T (per´ a ıodo das fun¸oes de referˆncia de todos os atuadores do robˆ). c˜ e o O Apˆndice A deste artigo mostra como o projetista e pode definir os elementos do vetor VT . O elemento PT (i) representa a estimativa da probabilidade de sucesso quando o valor VT (i) ´ usado como o e per´ ıodo das fun¸oes de referˆncia de todos os atuadores c˜ e do robˆ. o g g Como no caso das colunas das matrizes Pf e Pφ , inicialmente PT (i) = 1/N P T , onde N P T corresponde ao tamanho do vetor VT . 4.2 Algoritmo de aprendizado Para implementar o algoritmo de aprendizado proposto (LA) segue-se os seguintes passos a cada itera¸ao: c˜ 1. Sele¸ao da solu¸ao a ser testada; c˜ c˜ 2. Quantifica¸ao da qualidade da resposta obtida utic˜ lizando da representa¸ao simulada do robˆ; c˜ o 3. Ajuste das probabilidades de sucesso e verifica¸ao c˜ da convergˆncia do conhecimento. e 4.2.1 g Figura 4: Organiza¸˜o da matriz Pφ que armazena o conheca cimento adquirido pelo aprendizado por refor¸o para as defasac gens entre as pernas de um mesmo grupo de pernas similares. As defasagens das pernas de um mesmo grupo (elementos do vetor φg ) admitem valores inteiros entre 0 84 Sele¸˜o da Solu¸˜o a Ser Testada ca ca O primeiro passo do algoritmo de aprendizado corresponde a sele¸ao da solu¸ao a ser testada, ou seja, a de` c˜ c˜ fini¸ao da pol´ c˜ ıtica de a¸oes composta pelas fun¸oes de c˜ c˜ a referˆncias fp (t). Os parˆmetros que caracterizam as e a referidas fun¸oes s˜o selecionados aleat´riamente consic˜ a o derando as probabilidades registradas no vetor PT e nas g g matrizes Pf e Pφ . Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca
  • 8. Para tal, inicialmente seleciona-se um elemento do vetor VT considerando o vetor de probabilidades PT . Em seguida, para cada grupo de pernas similares g: • s˜o selecionadas as defasagens de cada perna, onde a a defini¸ao da defasagem da j-´sima perna consic˜ e g dera as probabilidades registradas na coluna Pφ (: , j); • s˜o selecionados os N E pontos que definem as funa coes de referˆncia de cada atuador da perna de re¸˜ e ferˆncia (p = 1) considerando os valores da coluna e θg (:, k), as probabilidades registradas nas colunas g Pf (:, :, k) e a m´xima velocidade angular especifia cada para os atuadores reais (Wmax ) (Maiores detalhes sobre a sele¸ao dos pontos que descrevem as c˜ a fun¸oes f1 (t) podem ser vistos no Apˆndice B deste c˜ e artigo). 4.2.2 Avalia¸˜o da Resposta Obtida Utilizando o ca Robˆ Simulado o O comportamento do robˆ usando a solu¸ao selecionada o c˜ na etapa anterior ´ ent˜o avaliado em um ambiente de e a simula¸ao atrav´s do vetor de desempenho J (apresenc˜ e tado na se¸ao 3). c˜ Neste artigo, o ambiente de simula¸ao foi criado c˜ usando o SimMechanics Toolbox do MATLAB/Simulink R2009b (http://www.mathworks.com). Essa ferramenta permite descrever e simular o modelo de complexos equipamentos mecˆnicos atrav´s de um diagrama a e composto por um conjunto de blocos representando uma combina¸ao de corpos r´ c˜ ıgidos conectados entre si por juntas translacionais e/ou rotacionais. Dessa forma, o modelo oferece uma simula¸ao f´ c˜ ısica da cinem´tica e da a dinˆmica do robˆ, com parˆmetros e resultados que cona o a sideram gravidade, peso, colis˜es, etc. Como exemplo, o a Figura 5 ilustra a conex˜o entre esses elementos de tal a forma a gerar a simula¸ao desejada1 . c˜ 4.2.3 Ajuste das Probabilidades de Sucesso e Verifica¸˜o da Convergˆncia do Conhecimento ca e Ap´s o c´lculo do vetor de desempenho J, o mesmo ´ o a e utilizado para ajustar a fun¸ao de avalia¸ao composta c˜ c˜ pelo vetor PT e pelas matrizes Pf e Pφ . Os detalhes desse procedimento s˜o mostrados no Apˆndice C deste a e artigo. 1 Maiores informa¸oes sobre a utiliza¸ao e o funcioc˜ c˜ namento do SimMechanics podem ser encontradas em http://www.mathworks.com/products/simmechanics/. Figura 5: Modelo de simula¸˜o do robˆ m´vel quadr´pede ca o o u usado no SimMechanics Toolbox do MATLAB e a representa¸˜o gr´fica gerada pelo mesmo software. ca a Ao final do ajuste das probabilidades associadas aos parˆmetros que definem a pol´ a ıtica de a¸oes selecionada, c˜ o passo seguinte consiste em verificar se houve convergˆncia do conhecimento. Neste artigo, o crit´rio usado e e para identificar a convergˆncia do conhecimento foi a e presen¸a de um elemento com valor superior a 0,95 no c vetor PT e em todas as colunas das matrizes Pf e Pφ de todos os grupos de pernas. N˜o sendo verificada a convergˆncia, uma nova itera¸ao a e c˜ ´ realizada, caso contr´rio o treinamento ´ finalizado e e a e a o conjunto final de fun¸oes fp (t) ´ definido. Para tal, c˜ e sendo N g o n´mero de grupos de pernas similares exisu tentes, a solu¸ao final ´ identificada pelos valores dos pac˜ e rˆmetros com maior probabilidade associada utilizando a o seguinte algoritmo: 5 ESTUDOS DE CASO Para analisar o desempenho da metodologia de coordena¸ao aqui proposta, foram utilizadas duas morfologias c˜ de robˆs m´veis com pernas: um robˆ quadr´pede e um o o o u robˆ tr´ o ıpode (Figura 6). Os robˆs reais foram o constru´ ıdos utilizando o BIOLOID Comprehensive Kit da empresa ROBOTIS (http://www.robotis.com/xe/bioloid_en) que cont´m um conjunto de componentes que podem ser dise Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca 85
  • 9. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: encontre i∗ = {i que maximiza PT (i)} T = VT (i∗ ) for g = 1 → N g do for k = 1 → N ag do for j = 1 → N E do g encontre i∗ = {i que maximiza Pf (i, j, k)} T k f1 (j − 1) N E = θg (i∗ , k) end for end for if N p > 1 then for p = 1 → N pg do g encontre i∗ = {i que maximiza Pφ (i, p)} T k k fp (t) = f1 t + (i∗ − 1) N E end for end if end for 5.1 Robˆ M´vel Quadr´pede o o u Com as caracter´ ısticas apresentadas na Tabela 1 e os limites das posi¸oes angulares dos atuadores do robˆ c˜ o apresentadas na Tabela 2, todas as pernas do robˆ quao dr´pede podem ser agrupadas em um unico grupo ao u ´ verificar a similaridade do robˆ. Assim, o algoritmo de o aprendizado deve definir os valores para 16 vari´veis que a s˜o: a • o per´ ıodo de tempo T , usando os vetores VT e PT , • os 12 pontos que formam as fun¸oes de referˆncia c˜ e dos 3 atuadores da perna de referˆncia, com 4 pone tos por fun¸ao (usando as matrizes θ e Pf ), e c˜ • as 3 defasagens das outras 3 pernas (usando a matriz Pφ ). Tabela 1: Caracter´ ısticas do robˆ quadr´pede. o u Np 4 Na 3 Peso (kg) 1, 54 Dimens˜es (cm) o X Y Z 30 19, 5 11 Figura 6: Robˆs utilizados nos testes. o postos de diversas formas viabilizando a montagem de robˆs com pernas, garras e/ou rodas. Os referidos como ponentes correspondem a: 1. Uma unidade de processamento microcontrolada conhecida como CM-5 que age como o coordenador central e ´ respons´vel por gerenciar os demais elee a mentos (atuadores e sensores) atrav´s de uma rede e de comunica¸ao serial cabeada tipo ”daisy-chain” c˜ embarcada no robˆ; o 2. Servomotores microcontrolados que s˜o usados a como atuadores em cada junta; o microcontrolador de cada servomotor recebe a fun¸ao de referˆncia c˜ e da posi¸ao angular e gera os sinais de controle para c˜ o servomotor; 3. Diversos tipos de arma¸oes para conectar os comc˜ ponentes, permitindo montar o robˆ almejado. o Em ambos os estudos de caso os processos de aprendizado utilizaram um N P P = 20, um N P T = 20 e um N E = 4. 86 Tabela 2: Limites das posi¸oes angulares dos 3 atuadores de c˜ cada perna do robˆ quadr´pede. o u 1 Min −42, 5o Max 57, 5o Atuador 2 Min Max −90o 0o 3 Min −60o Max 12o Utilizando um vetor de pesos F = [1 2 1 1] (Maiores detalhes sobre o vetor F podem ser vistos no Apˆndice e C), um Tmin = 0, 28 s e um Tmax = 1 s, obteve-se o resultado cujo progresso est´ representado na Figura 7 a atrav´s de trˆs gr´ficos, onde: e e a • o primeiro gr´fico mostra o hist´rico das taxas de a o convergˆncia (T xc) do vetor PT e das matrizes Pf e e Pφ (a taxa de convergˆncia do vetor PT ´ definida e e pelo seu valor m´ximo e a taxa de convergˆncia das a e matrizes Pf e Pφ ´ definida pela m´dia dos valores e e m´ximos de todas as suas colunas); a • O segundo gr´fico apresenta a m´dia m´vel com a e o 20 itera¸oes das velocidades V ao longo do treinac˜ mento. Para se obter a m´dia m´vel com N itee o ra¸oes, o seu elemento i corresponde a m´dia dos c˜ ` e resultados obtidos na itera¸ao i − N + 1 a itera¸ao c˜ ` c˜ i; Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca
  • 10. • O ultimo gr´fico mostra a porcentagem m´vel de ´ a o quedas detectadas com 50 itera¸oes. A porcentac˜ gem m´vel ´ obtida de forma an´loga a m´dia m´o e a ` e o vel, ou seja, o elemento i corresponde a porcenta` gem das quedas verificadas na itera¸ao i − N + 1 a c˜ ` itera¸ao i. J´ a queda do robˆ ´ identificada quando c˜ a oe a posi¸ao do seu CM em rela¸ao ao eixo z atinge c˜ c˜ uma altura de 0 m. Figura 8: Fun¸oes de referˆncia angular obtidas pelo processo c˜ e de aprendizado para o robˆ quadr´pede. o u na mesma diagonal est˜o em fase (pernas 1 e 4 e pernas a 2 e 3). A numera¸ao das pernas do robˆ quadr´pede ´ c˜ o u e apresentada na Figura 6. A Tabela 3 mostra a medida de desempenho da solu¸ao c˜ obtida pelo processo de aprendizado (componentes do vetor J) para o robˆ quadr´pede simulado2 . o u Figura 7: Progresso do aprendizado do robˆ quadr´pede ao o u longo do treinamento. O primeiro gr´fico da Figura 7 mostra que o per´ a ıodo do passo (T ) foi o primeiro parˆmetro a convergir, seguido a pelas defasagens (vetor φ) e pelos pontos que descrevem a as fun¸oes de referˆncia (f1 (t)). c˜ e Seguindo a an´lise do processo de aprendizado, o sea gundo e o terceiro gr´ficos confirmam o progresso veria ficado no anterior. Neles verifica-se que a m´dia m´vel e o da velocidade do robˆ aumenta a medida que as taxas o ` de convergˆncia aumentam enquanto que a porcentagem e m´vel de quedas diminui. o Tabela 3: Medida de desempenho da solu¸˜o obtida pelo proca cesso de aprendizagem para o robˆ quadr´pede simulado. o u V 27, 87 cm s IV 0, 14 rad s IW 0, 27 m s τmax 26, 21N m Ec 0, 44J Ao aplicar a solu¸ao obtida pelo processo de aprendizado c˜ no robˆ real2 (Figura 9), obteve-se uma velocidade de o 26, 60 cm/s, ou seja, cerca de 95% da velocidade obtida na simula¸ao. c˜ Como o robˆ real n˜o possui sensores, atualmente n˜o o a a h´ como verificar o m´ximo torque exigido, a potˆncia a a e m´dia e as taxas de varia¸oes das velocidades lineares e e c˜ angulares ao executar o movimento no robˆ real. o Ap´s a convergˆncia do processo de aprendizado, que o e ocorreu com 5108 itera¸oes, o per´ c˜ ıodo T foi ajustado 1 2 3 para 0, 32 s e obteve-se as fun¸oes f1 (t), f1 (t) e f1 (t) c˜ apresentadas na Figura 8 para as juntas 1, 2 e 3 (respectivamente as juntas do quadril, joelho e tornozelo da perna do robˆ). o Com as caracter´ ısticas apresentadas na Tabela 4, o robˆ o tr´ ıpode corresponde a uma morfologia com maior dificuldade para determinar o modo de caminhar quando O processo de aprendizado tamb´m ajustou a defasagem e das 4 pernas para [0 2 2 0], ou seja, as 2 pernas traseiras (pernas 1 e 2) est˜o defasadas 180o entre si e as pernas a 2 O caminhar obtido para o robˆ quadr´ pede simulado e para o u o robˆ real s˜o mostrados nos v´ o a ıdeos dispon´ ıveis em: ftp://labattmot.ele.ita.br/ele/jeeves/videos/C&A2011_4ps.wmv ftp://labattmot.ele.ita.br/ele/jeeves/videos/C&A2011_4pr.wmv 5.2 Robˆ M´vel Tr´ o o ıpode Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca 87
  • 11. • 4 pontos para a fun¸ao de referˆncia de cada um c˜ e dos 3 atuadores da perna de referˆncia do Grupo 1 e (sub-total: 12 vari´veis), e a • o mesmo que o item anterior para a perna de referˆncia do Grupo 2. e Figura 9: Comportamento verificado no quadr´pede real com u as fun¸oes obtidas no aprendizado. c˜ comparado ao robˆ quadr´pede. O principal fator que o u aumenta essa complexidade corresponde ao fato de que, para uma postura estaticamente est´vel, h´ a necessia a dade das trˆs pernas estarem em contato com a supere f´ ıcie de suporte. Assim, quando uma perna do robˆ o tr´ ıpode ´ levantada do ch˜o para executar o movimento e a de caminhar, a postura do robˆ fica inst´vel. o a Utilizando um vetor de pesos F = [1 0 1 1], um Tmin = 0, 76 s e um Tmax = 1 s, obteve-se a evolucao apresentada na Figura 10 onde ´ mostrada a maior ¸˜ e dificuldade para a convergˆncia do processo de aprendie zado nesse caso quando comparado ao caso do robˆ quao dr´pede. Nesse procedimento foram necess´rios 11458 u a itera¸oes para que o algoritmo de aprendizado atingisse c˜ a convergˆncia em todas as vari´veis envolvidas na coe a ordena¸ao das pernas do robˆ. c˜ o Tabela 4: Caracter´ ısticas do robˆ tr´ o ıpode. Np 3 Na 3 Peso (kg) 1, 05 Dimens˜es (cm) o X Y Z 11 22, 6 19 Outro fator que dificulta a convergˆncia do conhecie mento ´ o n´mero de vari´veis a serem ajustadas. Ao e u a analisar a similaridade do robˆ, obt´m-se dois grupos o e de pernas: a) o Grupo 1 ´ formado pelas pernas traseie ras 1 e 2, e b) o Grupo 2 ´ formado apenas pela perna e dianteira 3 (pernas numeradas conforme Figura 6). A Tabela 5 mostra os limites das posi¸oes angulares dos 3 c˜ atuadores dos 2 grupos de pernas. Tabela 5: Limites das posi¸oes angulares dos 3 atuadores de c˜ cada grupo de pernas. Grupo 1 2 Atuador 3 2 1 3 2 1 Min −150o −90o −90o −12o −90o −90o Max 150o 90o 90o 150o 90o 90o Para este robˆ o processo de aprendizado precisa detero minar 26 vari´veis: a • o per´ ıodo T , • a defasagem da perna 2 do Grupo 1, 88 Figura 10: Evolu¸˜o observada durante o processo de aprendica zado para o robˆ tr´ o ıpode. Como resultado da etapa de aprendizado, obteve-se as curvas apresentadas na Figura 11 com um per´ ıodo T = 0, 82 s, onde as juntas 1, 2 e 3 correspondem aos atuadores superior, central e inferior, respectivamente. Para o grupo de pernas 1 obteve-se uma defasagem nula entre as pernas. Com essas caracter´ ısticas, o caminhar obtido3 para o robˆ apresentou o desempenho ilustrado o pela Tabela 6. 3 O caminhar obtido para o robˆ tr´ o ıpode simulado e para o robˆ o real s˜o mostrados nos v´ a ıdeos dispon´ ıveis em: ftp://labattmot.ele.ita.br/ele/jeeves/videos/C&A2011_3ps.wmv ftp://labattmot.ele.ita.br/ele/jeeves/videos/C&A2011_3pr.wmv Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca
  • 12. a necessidade de se aprimorar o modelo utilizado para simular o efeito das for¸as de atrito que incidem nos p´s. c e 6 ˜ CONCLUSOES E TRABALHOS FUTUROS Este artigo apresentou uma metodologia capaz de gerar a coordena¸ao dos atuadores de robˆs com pernas para c˜ o duas distintas morfologias de robˆs, onde pode-se espeo rar que tal metodologia possa tamb´m ser adotada para e outras morfologias. A metodologia proposta procura: Figura 11: Fun¸oes de referˆncia angular obtidas pelo processo c˜ e de aprendizado para as juntas 1, 2 e 3 dos dois grupos de pernas do tr´ ıpode. Tabela 6: Medida de desempenho da solu¸˜o obtida pelo proca cesso de aprendizagem para o robˆ tr´ o ıpode simulado. V 28, 21 cm s IV 0, 40 rad s IW 1, 99 m s τmax 52, 07N m Ec 1, 81J Quando testado no ambiente real3 (Figura 12) o robˆ o apresentou uma velocidade de 18, 59 cm/s que corresponde a cerca de 66% da velocidade atingida durante a simula¸ao. c˜ 1. maximizar a velocidade do robˆ na sua dire¸ao frono c˜ tal; 2. maximizar a suavidade do deslocamento do robˆ; o 3. minimizar o m´ximo torque e o consumo de energia a dos atuadores localizados nas juntas do robˆ. o Para ajustar as vari´veis envolvidas no deslocamento, a uma t´cnica de aprendizado por refor¸o foi utilizada e e c a simetria entre as pernas foi levada em considera¸ao c˜ no intuito de facilitar e, consequentemente, agilizar o aprendizado. Nesse contexto, o projetista deve equilibrar a rela¸ao enc˜ tre a velocidade de convergˆncia e a explora¸ao dos cone c˜ juntos de poss´ ıveis parˆmetros que descrevem as fun¸oes a c˜ de referˆncia utilizadas no controle dos atuadores. Para e tal, deve-se ajustar o n´mero de pontos que descrevem u as referidas fun¸oes (N E), o n´mero de poss´ c˜ u ıveis posicoes angulares que podem compor esses pontos (N P P ) ¸˜ e o n´mero de poss´ u ıveis per´ ıodos (N P T ). Nos estudos de caso, a metodologia foi testada em 2 morfologias (robˆs com 4 e 3 pernas) em ambiente sio mulado e em prot´tipos dos robˆs reais. Apesar da difeo o ren¸a verificada entre os desempenhos de velocidade na c simula¸ao e no robˆ tr´ c˜ o ıpode real, os resultados obtidos mostram que a metodologia proposta atinge o resultado desejado ao viabilizar a coordena¸ao das pernas de difec˜ rentes morfologias. Figura 12: Comportamento verificado no Tr´ ıpode real com as fun¸oes obtidas no aprendizado. c˜ Ao comparar o caminhar simulado e o real, constata-se que no segundo ocorrem momentos onde os p´s traseie ros derrapam enquanto que no robˆ simulado isso n˜o o a ocorre. Sendo assim, a diferen¸a de velocidade verificada c tem como principal fator esse efeito, indicando que h´ a Algumas possibilidades de trabalhos futuros s˜o: a 1. Ajuste dos modelos usados na simula¸ao que desc˜ crevem a for¸a de rea¸ao de contato e o atrito entre c c˜ os p´s do robˆ e a superf´ onde ele se locomove; e o ıcie 2. Inser¸ao de mais sensores nos robˆs reais de tal c˜ o forma a viabilizar a extra¸ao de mais informa¸oes a c˜ c˜ Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca 89
  • 13. cerca da intera¸ao entre o robˆ e o ambiente de nac˜ o vega¸ao. Dentre as op¸oes, podem ser adicionados c˜ c˜ sensores de press˜o sob os p´s dos robˆs, um sena e o sor inercial com 6 graus de liberdade para medi¸ao c˜ de posi¸ao e orienta¸ao, sensor infravermelho para c˜ c˜ identificar e localizar poss´ ıveis obst´culos, dentre a outros; 3. Continua¸ao do aprendizado usando o robˆ real, c˜ o ap´s a obten¸ao da solu¸ao usando o ambiente de o c˜ c˜ simula¸ao; c˜ 1: 2: 3: 4: 5: 6: 7: 4. Avalia¸ao da influˆncia da varia¸ao dos valores de c˜ e c˜ N E, N P P e N P T no desempenho do robˆ e na o velocidade de convergˆncia. e Os autores agradecem o suporte financeiro concedido pela CAPES (Projeto Pr´-Engenharias PE-041-2008) e o pela FAPESP (Processo no. 2006/06005-0) e o apoio da Divis˜o de Engenharia Eletrˆnica do ITA ao Laborat´rio a o o de M´quinas Inteligentes (LMI). a ˆ APENDICE A O vetor VT possui N P T elementos que s˜o definidos a de forma linearmente espa¸ada entre o Tmin dado pela c Equa¸ao A.1 e o Tmax definido pelo projetista. c˜ max(| θ|i+3 ) Wmax (A.1) onde: • max(| θi+3 |) ´ a varia¸ao angular m´xima entre e c˜ a as posi¸oes representadas pelos elementos θ g (i, k) e c˜ θg (i + 3, k), para k variando de 1 a N ag considerando todos os grupos de pernas; • Wmax ´ a velocidade m´xima que os atuadores poe a dem atingir. ˆ APENDICE B A sele¸ao dos pontos da fun¸ao de referˆncia do k-´simo c˜ c˜ e e atuador da perna de referˆncia do grupo g ´ realizada e e seguindo o seguinte algoritmo: ˆ APENDICE C 90 10: 11: 12: AGRADECIMENTOS Tmin = N E 8: 9: 13: 14: 15: for j = 1 → N E do if j = 1 then T k Seleciona f1 (j − 1) N E utilizando θ g (:, k) e g Pf (:, j, k) else Li = m´ ınimo i tal que θ g (i, k) ≥ T k f1 (j − 2) N E − Wmax N E T Ls = m´ximo i tal que θ g (i, k) ≤ a T k f1 (j − 2) N E + Wmax N E T g θaux = θg (Li : Ls , k) e Paux = Pf (Li : Ls , j, k) Ls −Li i=1 Paux < 0, 01 then j=1 else Normalize Paux T k Seleciona f1 (j − 1) N E utilizando θaux e Paux end if end if end for if Ap´s a avalia¸ao da resposta obtida atrav´s do vetor J, o o c˜ e ajuste das probabilidades de sucesso associadas aos elementos que comp˜em a solu¸ao selecionada ´ realizado o c˜ e atrav´s da atribui¸ao de um sinal de refor¸o R. Al´m e c˜ c e de favorecer o desempenho almejado, R segue algumas outras caracter´ ısticas: 1. R favorece uma evolu¸ao do desempenho obtido, c˜ ou seja, o valor de R ser´ positivo se o desempenho a observado na itera¸ao atual for superior a uma dec˜ terminada m´dia obtida pelo hist´rico de itera¸oes e o c˜ realizadas; 2. R estimula apenas os resultados considerados ”bons”, em outras palavras, caso o refor¸o calcuc lado (Rc ) seja positivo, o mesmo ´ aplicado nas e estimativas das probabilidades de sucesso das vari´veis selecionadas, caso contr´rio, nenhum ajuste a a ´ realizado; e 3. Rc deve estar compreendido entre os limites determinados pelo projetista viabilizando que o mesmo influencie na velocidade de convergˆncia. e Dessa forma, R ´ determinado pela Express˜o (C.1), e a onde RG corresponde ao limite de refor¸o superior inc formado pelo projetista para Rc . Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca
  • 14.   RG   Rc R=  0   0 se se se se Rc ≥ RG RG > Rc > 0 Rc ≤ 0 o robˆ cair. o (C.1) • PK ´ a estimativa de probabilidade de sucesso ap´s e o o ajuste, e J´ o valor de Rc ´ obtido atrav´s da Equa¸ao (C.2), onde a e e c˜ RP equivale ao limite de refor¸o inferior determinado c pelo projetista e fR representa a fun¸ao de refor¸o. c˜ c Rc = f R RG − R P 2 + RG + R P 2 • Pk−1 corresponde a cada uma das estimativas de probabilidades de sucesso pr´vias das vari´veis see a lecionadas (Pf , PT e Pφ ); • F cc ´ um fator de corre¸ao de convergˆncia que tem e c˜ e por finalidade equilibrar o tempo de aprendizado entre as diferentes vari´veis que comp˜em a solu¸ao a o c˜ testada. (C.2) A fun¸ao fR ´ calculada a partir da Equa¸ao (C.3), onde: c˜ e c˜ N N Nc 1. IV c , IW c , τmax e EcN c correspondem, respectivamente, as m´dias de IV , IW , τmax e Ec nas ultimas ` e ´ N c itera¸oes que n˜o houve a queda do robˆ, sendo c˜ a o N c determinado pelo projetista; N ` e 2. V+ c corresponde a m´dia das velocidades obtidas nas ultimas N c itera¸oes onde as m´dias das velo´ c˜ e cidades Vx foram positivas; 3. F (Express˜o (C.4)) ´ um vetor de pesos onde o a e projetista pode ajustar a influˆncia que cada elee mento do vetor J tem sobre a fun¸ao fR ; c˜ 4. Cf r ´ uma constante calculada pela Equa¸ao (C.5) e c˜ que ´ utilizada para equilibrar fR de tal forma que e seu valor tenda a 0 quando os valores do vetor J tenderem as m´dias das suas ultimas N c itera¸oes. ` e ´ c˜ 1 + FI IW + IV N N IW c IV c (C.6) O valor de F cc ´ dado pela Express˜o (C.7), onde: e a • T xc(Pi ) representa a taxa de convergˆncia da mae triz de probabilidade, cujo valor ´ calculado como e sendo a m´dia das m´ximas probabilidades de cada e a coluna existente na matriz Pi ; • min(T xc) ´ o valor m´ e ınimo dentre T xc(Pf ), T xc(Pφ ) e T xc(PT ). F cc =      1 T xc(Pi ) min(T xc) T xc(Pi ) ≤1 min(T xc) T xc(Pi ) se >1 min(T xc) se (C.7) −Cf r τmax + F Ec + Fτ N c Ec τmax EcN c (C.3) Neste artigo, em ambos os estudos de caso realizados, utiliza-se: N c = 20, RP = −20 e RG = 20. F = [FV FI Fτ FEc ] Cf r = R 100F cc Depois de ajustar as probabilidades dos parˆmetros e a defasagens utilizados na itera¸ao em quest˜o, todas as c˜ a probabilidades de cada coluna s˜o normalizadas fazendo a com que a sua soma resulte em 1. x 1 + FV VN c V+ fR = PK = PK−1 1 + 1 + F (1) 1 + F (2) + 4 i=2 (F (i)) (C.4) (C.5) Determinado o refor¸o oriundo do comportamento gec rado pelos parˆmetros e defasagens selecionados, ´ nea e cess´rio ajustar as probabilidades associadas a cada um a ` desses elementos. Para tal, utiliza-se a Equa¸ao (C.6), c˜ onde: ˆ REFERENCIAS Alexander, R. M. (1989). Optimization and gaits in the locomotion of vertebrates, Physiological Reviews, v. 69, n. 4, pp. 1199-1227. Belter, D., Skrzypczynski, P. (2010). A biologically inspired approach to feasible gait learning for a hexapod robot, Applied Mathematics and Computer Science, v. 20, pp. 69-84. Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca 91
  • 15. Erden, M. S., Leblebicioglu, K. (2008). Free gait generation with reinforcement learning for a six-legged robot, Robotics and Autonomous Systems, v. 56, n. 3, pp. 199-212. Narendra, K. S., Thathachar, M. A. L. (1974). Learning automata - A survey, IEEE Transactions on Systems, Man, and Cybernetics, vol. SMC-4, no. 4, pp. 323-334. Golubovic, D., Hu, H. (2003). GA-based gait generation of Sony quadruped robots, 3th IASTED International Conference on Artificial Intelligence and Applications (AIA 2003), Benalmadena, Espanha, pp. 118-123. Nascimento Jr., C. L., Yoneyama, T. (2000). Inteligˆne cia Artificial em Controle e Automa¸ao, S˜o Paulo, c˜ a Editora Edgard Bl¨cher. u Heinen, M. R. (2007). Controle inteligente de caminhar de robˆs m´veis simulados, Disserta¸ao de o o c˜ Mestrado, Universidade do Vale do Rio dos Sinos, Porto Alegre, RS. Heinen, M. R., Os´rio, F. S. (2008). Morphology and o gait control evolution of legged robots, IEEE Latin American Robotic Symposium (LARS 2008), Washington, DC, pp. 111-116. Hopcroft, J. E., Motwani, R., Ullman, J. D. (2006). Introduction to Automata Theory, Languages, and Computation, 3. ed., Addison Wesley, Hardcover. Ijspeert, A. J. (2008). Central pattern generator for locomotion control in animals and robots: A review, Neural Networks, vol. 21, no. 4, pp. 642-653. Kohl, N., Stone, P. (2004). Policy gradient reinforcement learning for fast quadrupedal locomotion, IEEE International Conference on Robotics and Automation (ICRA 2004), New Orleans, LA, USA, pp. 2619-2624. Mistry, M., Nakashi, J., Schaal, S. (2007). Task space control with prioritization for balance and locomotion, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2007), San Diego, CA, USA, pp. 331-338. Mitchell, T.M. (1997). Machine Learning, McGrawHill, New York, USA. Morimoto, J., Cheng, G., Atkeson, C. G., Zeglin, G. (2004). A simple reinforcement learning algorithm for biped walking, IEEE International Conference on Robotics and Automation (ICRA 2004), New Orleans, LA, USA, pp. 3030-3035. Murao, H., Tamaki, H., Kitamura, S. (2001). Walking pattern acquisition for quadruped robot by using modular reinforcement learning, IEEE International Conference on Systems, Man and Cybernetics (SMC 2001), Tucson, AZ, USA v. 3, pp. 14021405. 92 Pfeifer, R., Scheier, C. (1999). Understanding Intelligence, MIT Press. Plestan, F., Grizzle, J., Westervelt, E., Abba, G. (2003). Stable walking of a 7-dof biped robot, IEEE Transactions on Robotics and Automation, v. 19, n. 4, pp. 653-668. Porta, J.M. (2000). Rho-learning: a robotics oriented reinforcement learning algorithm, Technical Report IRI-DT-00-03, Institut de Rob`tica i Ino form`tica Industrial, CSIC-UPC. Dispon´ a ıvel em http://www.iri.upc.edu/publications/show/520. Porta, J. M., Celaya, E. (2004). Reactive free-gait generation to follow arbitrary trajectories with a hexapod robot, Robotics and Autonomous Systems, v. 47, n. 4, p. 187-201. Santos, D., Siqueira, A. A. G. (2009). ADAMS/Matlab Co-simulation of an Exoskeleton for Lower Limbs, International Congress of Mechanical Engineering (COBEM 2009), Gramado, RS. Santos, J. L., Nascimento Jr., C. L. e Barbosa, L. F. W. (2010). Desenvolvimento de um sistema de aprendizado para o controle do caminhar de um robˆ utio lizando aprendizado por refor¸o, XVIII Congresso c Brasileiro de Autom´tica (CBA 2010), Bonito, MS, a pp. 5024-5035. Silva, M. F. e Machado, J. T. (2007). A historical perspective of legged robots, Journal of Vibration and Control, vol. 13, no. 9-10, pp. 1447-1486. Siqueira, A. A. G., Jardim, B., Vilela, P. R., Winter, T. F. (2008). Analysis of Gait-Pattern Adaptation Algorithms Applied in an Exoskeleton for Lower Limbs, 16th Mediterranean Conference on Control and Automation, Ajaccio, Corsica, France. Spenneberg, D., McCullough, K., Kirchner, F. (2004). Stability of walking in a multilegged robot suffering leg loss, IEEE International Conference on Robotics and Automation (ICRA 2004), New Orleans, LA, USA, pp. 2159-2164. Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca
  • 16. Still, S., Douglas, R. J. (2006). Neuromorphic walking gait control, IEEE Transactions on Neural Networks, v. 17, pp. 496-508. Sutton, R. S., Barto, A. G. (1998). Reinforcement Learning: An Introduction, MIT Press. Tal, D., Kallen, H., Atelier, E., Ch-Rufenach (2005). Robot and locomotion controller design optimization for a reconfigurable quadruped robot, Universities Space Research Association / Research Institute for Advanced Computer Science at NASA Ames Research. Dispon´ ıvel em http://citeseerx.ist.psu.edu/viewdoc/summary?doi =10.1.1.130.7181. Thathachar, M. A. L., Sastry, P. S. (2003). Networks of Learning Automata: Techniques for Online Stochastic Optimization, Secaucus, NJ, USA: SpringerVerlag New York, Inc. Xu, K., Chen, X., Liu, W., Williams, M. (2006). Legged robot gait locus generation based on genetic algorithms, International Symposium on Practical Cognitive Agents and Robots (PCAR 2006), New York, NY, USA, pp. 51-62. Westervelt, E. R., Grizzle, J. W., Chevallereau, C., Choi, J. H. e Morris, B. (2007). Feedback Control of Dynamic Bipedal Robot Locomotion, CRC Press. Winter, T. F., Siqueira, A. A. G. (2008). Modelagem e Simula¸ao de um Exoesqueleto para Membros Inc˜ feriores, XVII Congresso Brasileiro de Autom´tica a (CBA 2008), Juiz de Fora, MG. Yang, J. (2003). Fault-tolerant gait generation for locked joint failures, IEEE International Conference on Systems, Man and Cybernetics (SMC 2003), Washington, DC, USA, pp. 2237-2242. Revista Controle & Automa¸˜o/Vol.23 no.1/Janeiro e Fevereiro 2012 ca 93

×