Você está na página 1de 7

Obtenção da Cinemática Inversa de Robôs 2D Binários

Hiper-Redundantes por Algoritmos Genéticos


Felipe S. Scofano

ICA : Laboratório de Inteligência Computacional Aplicada


Departamento de Engenharia Elétrica
Pontifícia Universidade Católica do Rio de Janeiro, PUC-Rio
Rua Marquês de S. Vicente 225, Gávea, Rio de Janeiro, CEP 22453-900, RJ, Brasil
scofano@mec.puc-rio.br
Orientadores: Marco Antônio Meggiolaro e Marco Aurélio Pacheco

Resumo – Manipuladores robóticos com atuadores mineração, condução de experimentos científicos


binários estão sendo alvo de estudos na atualidade e construção de ambientes propícios para os
por pesquisadores da NASA e por comunidades exploradores humanos. Eles terão que trabalhar
internacionais científicas e espaciais. Estes robôs com um maior grau de autonomia se comparado à
desempenharão tarefas de extrema complexidade tecnologia empregada hoje. Para que esses
e importância em missões espaciais futuras. Este objetivos sejam alcançados, os sistemas robóticos
trabalho examina o desempenho computacional de terão que ser leves, robustos e simples. Terão que
um algoritmo genético no controle de sistemas ter muitos graus de liberdade, dispor de um
robóticos binários com um elevado número de sistema de controle simples e poder ser
atuadores, incluindo a cinemática direta, a concentrados em um volume pequeno. Para isso,
cinemática inversa assim como os parâmetros e estão sendo desenvolvidos atuadores binários
técnicas empregadas no algoritmo. O método encorpados por estruturas flexíveis. Cada atuador
proposto é avaliado através de simulação de um possui somente dois estados (“ligado” ou
sistema 2D, hiper-redundante, com 50 graus de “desligado”), se comportando como um sistema
liberdade, e os resultados obtidos em cima da discreto. Uma vez que o número de atuadores
análise de erro e do tempo de processamento são aumenta, aumenta também o número de graus de
discutidos. liberdade binários e, por conseqüência, a
capacidade do sistema de se comportar como um
Palavras-chave: binary robotics, hyper-redundant sistema robótico convencional contínuo. O
robots, inverse kinematics, genetic algorithm, controle desse sistema torna-se muito mais
lightweight. simples, uma vez que é necessário somente trocar
os estados de um conjunto de atuadores para que a
posição desejada seja alcançada. A cinemática e o
Summary controle de manipuladores “hiper-redundantes”
vem sendo estudados por um número significante
de pesquisadores [1, 3, 5]. No entanto, a questão
Palavras-chave: binary robotics, hyper- do planejamento e da cinemática desses robôs
binários são estritamente diferentes e mais difíceis
redundant robots, inverse kinematics, se comparados aos robôs convencionais [3, 8]. Por
genetic algorithm, lightweight. exemplo, o problema da cinemática inversa de um
robô binário envolve uma busca através de um
espaço discreto de configurações até que se
alcance o ponto que melhor se aproxima do
desejado, sendo necessário, portanto, a resolução
I. INTRODUÇÃO de equações geométricas para a determinação do
ângulo das juntas ou do comprimento dos elos.
Os robôs do futuro terão que desempenhar tarefas
complexas em ambientes de difícil acesso. As
missões à Marte, por exemplo, irão requerer robôs
que executem tarefas como exploração,
fornecem medidas sobre a habilidade do robô para
executar tarefas diversas.

Figura 1: BRAID – Binary Robotic Articulated Figura 2: Distinção entre o espaço de trabalho
Intelligent Device; design básico do elemento contínuo e o binário de um robô
Este trabalho descreve a utilização de um
A noção de espaço de trabalho para robôs com
algoritmo genético para a obtenção da cinemática
atuação binária possui sutis diferenças [7]. Para
inversa de um manipulador binário com muitos
um sistema binário, o espaço de trabalho não é um
graus de liberdade (50 DOF – Degree of
volume contínuo, mas uma gama finita de pontos
freedom). Como o objetivo do trabalho é verificar
no espaço (ver Figura 2(b)). Para cada ponto
a eficácia do algoritmo neste tipo de aplicação,
existe uma orientação associada da extremidade,
será utilizado um modelo 2D de uma junta
indicada pelas setas originadas de cada ponto da
flexível com o atuador binário. Sistemas robóticos
Figura 2(b). A densidade dos pontos em um
do tipo apresentado já estão sendo desenvolvidos
espaço binário aumenta de acordo o número de
[4]. A comprovação da eficiência deste tipo de
atuadores no sistema. Cada atuador adicional
algoritmo para o controle desses sistemas se
dobra a quantidade de pontos no espaço de
caracterizará como um método potencial para a
trabalho. Sendo assim, a hiper-redundância no
otimização e análise de espaços de trabalho
caso de robôs binários se faz necessária, fazendo
(workspaces), cinemáticas inversa e direta e
com que o número de pontos no espaço de
planejamento de trajetória de sistemas robóticos
trabalho aumente, aproximando o espaço do
binários.
sistema cada vez mais para um espaço contínuo.
Na Figura 3 é apresentado o modelo 2D do
O trabalho está dividido da seguinte forma: a
manipulador usado no trabalho.
Seção 2 faz uma análise sobre o workspace do
modelo proposto. A Seção 3 apresenta a
cinemática direta do manipulador. A Seção 4
relata o problema referente à cinemática inversa.
A Seção 5 mostra os parâmetros e técnicas
empregadas no algoritmo genético. A Seção 6
apresenta os resultados obtidos com o algoritmo
utilizado.

II. ANÁLISE DO ESPAÇO DE TRABALHO

O espaço de trabalho, ou “workspace”, de um


robô geralmente se refere ao espaço que contém
todos os pontos onde a extremidade do robô pode
alcançar. O espaço de trabalho de um sistema
contínuo é uma região de um espaço contínuo (ver
Figura 2(a)). Muitos robôs, dado um ponto dentro
deste espaço, ainda têm a possibilidade de
alcançar um espaço contínuo de orientações da
sua extremidade. O entendimento a respeito do
tamanho do espaço de trabalho, assim como da
capacidade de orientação da sua extremidade nos
Figura 3: um elo do sistema (estado único), cinemática através da multiplicação de matrizes
mostrando as quatro configurações binárias; homogêneas é trivial.
exemplo de sistema com cinco elos com atuação
binária em série

O BRAID experimental que estará sendo utilizado


neste trabalho possui 25 elos ligados em série.
Contendo cada elo 2-DOF, o sistema todo
possuirá 50 graus de liberdade binários. Logo, ele
terá 250 (aprox. 1015) configurações discretas,
podendo aproximar-se de um sistema contínuo
com perícia. No entanto, surgirão problemas
relacionados à cinemática inversa devido à hiper-
redundância do sistema.
(a) Elo único
III. CINEMÁTICA DIRETA

O cálculo da cinemática direta, na robótica,


consistem em, conhecendo-se os ângulos que as
juntas de um sistema genérico de n-DOF fazem
com o referencial da base e o comprimento de
cada elo que o compõe, calcular qual a posição da
extremidade do manipulador. Para sistemas
robóticos binários, é conveniente formular a (b) representação geométrica equivalente
cinemática direta utilizando transformações de
matrizes homogêneas 4x4 [2]. Por exemplo, a Figura 4: Representação da matemática associada
matriz A0,M que descreve a posição e orientação ao um elo do sistema
da extremidade de um robô relativa a sua base,
pode ser vista como um produto de M Sendo l0 o comprimento do link associado à
transformações intermediárias Ai-1,i, de elo a elo, condição binária 0 e l1 o comprimento do link
percorrendo toda a estrutura: associado a condição binária 1, temos que a
M distância d’ entre os links quando estes estão em
A0, M = A0,1 ⋅ A1, 2 ⋅ ... ⋅ AM −1, M = ∏ Ai −1,i (1) configurações opostas (01 ou 10) é:
i =1
onde M é o número de elos intermediários
compreendendo o sistema robótico binário [8]. d ' = d 2 + (l1 − l 0 ) (2)

Em se tratando de elementos binários de natureza onde d é a distância entre o centro de massa dos
discreta, cada termo da transformação links pertencentes a um elo. Além disso, é
intermediária Ai-1,i só pode ter um número finito possível obter o valor do ângulo α, dado por:
de valores possíveis. Se cada elo possui somente
poucos graus de liberdade binários, todos os
valores dos termos Ai-1,i podem ser facilmente l1 − l 0
α = arctan (3)
enumerados. No modelo proposto, por exemplo, d
cada elo pode assumir 22 ou 4 possíveis valores
para Ai-1,i (indicados por Ai-1,i(1), Ai-1,i(2), Ai-1,i(3), As matrizes homogêneas que transformam o
Ai-1,i(4)). A solução da cinemática do elo pode sistema de coordenadas i para o sistema de
requerer matemática trigonométrica ou até mais coordenadas i-1, de acordo com a configuração do
complexa, porém, basta que seja resolvido elo, são:
somente uma vez, podendo ser feita fora da
programação, reduzindo a carga computacional
exigida.
1 0 0 l0  1 0 0 l1 
0 1 0 0  0 1 0 0 
Considerando o modelo 2D proposto, a
 (4)  (5)
matemática requerida para a solução da
0 0 1 0 0 0 1 0
   
0 0 0 1 0 0 0 1
Configuração 00 Configuração 11 maiores. Neste trabalho, um método usando
algoritmos genéticos é estudado.
 l1 + l 0 
cos α − sin α 0
2  V. ALGORITMO GENÉTICO DE BUSCA
 
 sin α cos α 0 0  (6) Foi utilizado um algoritmo genético tradicional,
implementado no programa Matlab. O
 0 0 1 0 
cromossomo consistia numa palavra binária de 50
 
bits, codificando um número real. Cada par de bits
 0 0 0 1 
do cromossomo correspondia a uma configuração
Configuração 01 do elo. Sendo assim, o sistema (no caso, um
manipulador robótico) possuía 25 elos ligados em
 l1 + l 0  série.
 cos α sin α 0
2 
  x
− sin α cos α 0 0  (7)   = f (10 011001...00
 0  {{{{ { 01{) (8)
0 1 0  
y 0 1 2 3 23 24
  A1 A2 A3 A4 A24 A25
 0 0 0 1 
Configuração 10
A avaliação do cromossomo é feita através de
Com isso, é possível saber a posição da uma função custo, representando a distância entre
extremidade de qualquer sistema, com n graus de o ponto desejado (xd,yd) e o ponto real (xr,yr) da
liberdade. A posição da extremidade do sistema é extremidade do manipulador:
dada pelos elementos A(1,4) em x e A(2,4) em y,
na matriz Ai0 . Custo = ( x d − x r ) 2 + ( y d − y r ) 2 (9)

Dada uma configuração qualquer do manipulador,


IV. CINEMÁTICA INVERSA através do cálculo da cinemática direta é possível
obter as coordenadas (xr,yr) da sua extremidade.
O planejamento e a execução de tarefas práticas Pode-se, então, calcular a distância entre a posição
geralmente requerem a solução da cinemática real do manipulador e a posição desejada. O
inversa do problema. A cinemática inversa, sendo objetivo, portanto, se resume em minimizar a
o oposto da direta, consiste em, uma vez escolhida função custo. Como a aptidão do cromossomo foi
a posição desejada da extremidade do sistema e escolhida como sendo igual à avaliação,
conhecendo-se os comprimentos dos seus elos, transformamos o problema de minimização para
calcular o ângulo que cada junta terá que fazer um problema de maximização, onde a função de
com relação ao referencial da base para sua avaliação utilizada foi:
extremidade assumir aquela posição. A
complexidade do planejamento de trajetória e a 1 (10)
obtenção da cinemática inversa de dispositivos Avaliação =
2 2
( xd − xr ) + ( y d − yr ) + 1
binários é maior do que em sistemas contínuos.
Na maioria das aplicações, e inclusive nesta, a
problemática da cinemática inversa não pode ser Os operadores utilizados no algoritmo genético
resolvida analiticamente, por não poder ser foram crossover de um ponto e mutação. A
expressa como uma solução fechada. “Força técnica de seleção de genitores foi baseada em
bruta” ou métodos de busca exaustiva podem ser roleta e a técnica de elitismo empregada foi a
interessantes para sistemas com poucos elos manutenção do melhor cromossomo na geração
(menos de 5), mas se tornam impraticáveis para seguinte. Foi utilizado o erro médio quadrático
sistemas maiores. Aumentando-se o número de (Root Mean Square – RMS) para o cálculo do
graus de liberdade, a complexidade do espaço de erro:
trabalho aumenta exponencialmente. Então,
métodos mais eficientes são requeridos para que a RMS = ( x r − x d ) 2 + ( y r − y d ) 2 (11)
solução ótima seja alcançada em sistemas
VI. RESULTADOS

Foram realizados testes escolhendo-se vários


pontos aleatórios no espaço de trabalho do
manipulador e executando o algoritmo genético
para buscar a solução ótima. Em todos os
experimentos, o tempo de execução do algoritmo
não superou um minuto e o erro ficou sempre
abaixo de um. Escolheu-se, então, um ponto
desejado no espaço de trabalho do manipulador.
Com o ponto escolhido, os parâmetros do
algoritmo foram variados de modo a encontrar o
menor erro. O melhor resultado foi encontrado
com os seguintes parâmetros: Figura 6: Geração 10

Tabela 1: Parâmetros do Algoritmo Genético onde


foi encontrada a melhor solução para o ponto
escolhido
Taxa de Crossover 100%
Taxa de Mutação 5%
População 30 indivíduos
Número de Gerações 200

Ponto escolhido: (xd,yd) = (10,10)

Os gráficos a seguir mostram a evolução do


algoritmo em busca da solução ótima. A base do
manipulador está fixa na posição (0,0). Foi usado
l0 com tamanho igual a 2 e l1 com tamanho igual a Figura 7: Geração 50
3 (adimensionais) referentes aos comprimentos
dos links de cada elo do manipulador.

Figura 8: Geração 100

Figura 5: Geração 1
Por estarmos lidando com um problema no
universo discreto, não se pode garantir que os
pontos desejados irão fazer parte do espaço de
trabalho do manipulador. Contudo, em se tratando
de um sistema hiper-redundante, com muitos
graus de liberdade, a aproximação do espaço de
trabalho discreto para um contínuo é bastante
aceitável, uma vez que pode-se conseguir erros
menores ajustando os parâmetros adequadamente
e empregando técnicas mais aprimoradas. A
Figura 12 apresenta a evolução do erro gerado na
posição da extremidade referente ao melhor
cromossomo gerado em cada geração.
Figura 9: Geração 150

Figura 12: Evolução do erro do melhor


Figura 10: Geração 200 cromossomo de cada geração

O manipulador conseguiu alcançar o ponto ótimo Os resultados obtidos com esse experimento se
em 31,2 segundos, apresentando um erro de mostraram muito bons, uma vez que o algoritmo
0,1064. A linha traçada nas Figuras 5 a 10 conseguiu convergir para um ponto ótimo, com
representa a evolução do melhor cromossomo nas um erro muito pequeno e num curto espaço de
gerações correspondentes. Na Figura 11 são tempo, levando em consideração a simplicidade
mostradas as curvas de desempenho do algoritmo. do algoritmo utilizado com relação aos operadores
A curva mais acima (Figura 11) refere-se à e técnicas empregadas.
evolução do melhor cromossomo e, a mais abaixo,
à evolução da média das aptidões dos
cromossomos de cada geração.

VII. CONCLUSÕES

Foi apresentado um método de cálculo da


cinemática inversa para robôs binários hiper-
redundantes utilizando algoritmos genéticos.
Robôs binários hiper-redundantes terão uma
aplicação em potencial na execução de tarefas
complexas em missões espaciais no futuro. A
noção de espaço de trabalho de um sistema
binário foi descrita. A cinemática direta de
sistemas binários foi discutida, e a simplicidade
computacional desta operação em comparação
com os sistemas contínuos foi mostrada. Os
Figura 11: Curvas de desempenho do algoritmo
resultados obtidos com o método utilizado foram
muito bons, vide que o tempo necessário até que o
algoritmo chegasse a um resultado satisfatório foi on Advanced Intelligent Mechatronics (AIM '01).
pequeno. Com isso, uma série de outros estudos 8–11 July 2001, Como, Italy.
nesta área de atuação com esse tipo de técnica
poderão ser elaborados. A representação escolhida
para o cromossomo fez com que o tamanho do
manipulador ficasse limitado a 25 elos (50 bits) no
programa utilizado. Escolhendo-se outras
representações para o cromossomo, será possível
estudar o comportamento de sistemas maiores,
com mais elos. Para o tipo de problema proposto,
é importante que soluções em um curto espaço de
tempo sejam alcançadas, até mesmo para uma
possível interação online do algoritmo com o
sistema real. Utilizando técnicas e parâmetros
mais sofisticados para o algoritmo genético, será
possível obter soluções ainda melhores até para
sistemas mais complexos, com mais graus de
liberdade.

VIII. BIBLIOGRAFIA

[1] Chirikjian, G.S.; Burdick, J.W. The kinematics


of hyper-redundant robot locomotion. IEEE
Transactions on Robotics and Automation.
Volume: 11 Issue: 6, Dec.1995 Page(s): 781 –793
[2] Craig J J. Introduction to Robotics: Mechanics
and Control. Second ed, Addison-Wesley,
Reading, MA, 1989.
[3] Ebert-Uphoff, I.; Chirikjian, G.S. Inverse
kinematics of discretely actuated hyper-redundant
manipulators using workspace densities.
Proceedings of the IEEE International Conference
on Robotics and Automation, 1996, Volume: 1,
Page(s): 139 -145 vol.1.
[4] Hafez M., Lichter M.D., and Dubowsky S.,
Optimized Binary Modular Reconfigurable
Robotic Devices. Proceedings of the IEEE/ASME
Transactions on Mechatronics, Vol. 8, No. 1,
March 2003.
[5] Huang, M.Z., Shou-Hung Ling. Kinematics of
a class of hybrid robotic mechanisms with
parallel and series modules. Proceedings of the
1994 IEEE International Conference on Robotics
and Automation, Page(s): 2180 -2185 vol.3.
[6] Lichter M.D., Sujan V.A., and Dubowsky S.,
Computational Issues in the Planning and
Kinematics of Binary Robots. Proceedings of the
Int. Conf. Robotics and Automation, Washington,
D.C., May 2002.
[7] Sen D, Mruthyunjaya T S. A Discrete State
Perspective of Manipulator Workspaces. Mech.
Mach. Theory, Vol. 29, No.4, 591-605, 1994.
[8] Sujan, V.A., Lichter, M.D., and Dubowsky, S.
Lightweight Hyper-redundant Binary Elements
forPlanetary Exploration Robots. Proceedings of
the 2001 IEEE/ASME International Conference

Você também pode gostar