Download PDF
ads:
ROGÉRIO RODRIGUES DOS SANTOS
CONTRIBUIÇÃO AO PLANEJAMENTO DE
TRAJETÓRIA DE ROBÔS ATRAVÉS DE ELEMENTOS
DE DINÂMICA, CONTROLE E OTIMIZAÇÃO
UNIVERSIDADE FEDERAL DE UBERLÂNDIA
FACULDADE DE ENGENHARIA MECÂNICA
2007
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
ROGÉRIO RODRIGUES DOS SANTOS
CONTRIBUIÇÃO AO PLANEJAMENTO DE TRAJETÓRIA DE ROBÔS
ATRAVÉS DE ELEMENTOS DE DINÂMICA, CONTROLE E
OTIMIZAÇÃO.
Tese apresentada ao Programa de Pós-
graduação em Engenharia Mecânica da
Universidade Federal de Uberlândia, como parte
dos requisitos para a obtenção do título de
DOUTOR EM ENGENHARIA MECÂNICA.
Área de Concentração: Mecânica dos Sólidos
e Vibrações
Orientador: Prof. Dr. Valder Steffen Jr.
Co-Orientadora: Profa. Dra. Sezimária de
Fátima Pereira Saramago.
UBERLÂNDIA – MG
2007
ads:
Dados Internacionais de Catalogação na Publicação (CIP)
S237c
Santos, Rogério Rodrigues dos, 1976-
Contribuição ao planejamento de trajetória de robôs através de elemen-
tos de dinâmica, controle e otimização / Rogério Rodrigues dos Santos. -
2007.
200 f. : il.
Orientador: Valder Steffen Jr.
Co-orientadora: Sezimária de Fátima Pereira Saramago.
Tese (doutorado) – Universidade Federal de Uberlândia, Programa de
Pós-Graduação em Engenharia Mecânica.
Inclui bibliografia.
1. Robótica - Teses. I. Steffen Junior, Valder. II. Saramago, Sezimária
de Fátima Pereira. III. Universidade Federal de Uberlândia. Programa de
Pós-Graduação em Engenharia Mecânica. III. Título.
CDU: 681.3:007.52
Elaborada pelo Sistema de Bibliotecas da UFU / Setor de Catalogação e Classificação
AGRADECIMENTOS
A Deus, pelas oportunidades de cada dia.
Ao professor e orientador Valder, pela oportunidade, pela paciência, e por ter acreditado
neste projeto e oferecido as condições para a realização deste trabalho. A professora e co-
orientadora Sezimária, pela atenção, pelas orientações e dicas durante o desenvolvimento da
pesquisa.
Aos meus pais, Geraldo e Ilda, e minha irmã Denise, pelo apoio e motivação recebidos
durante toda a minha vida.
A minha esposa Elisangela, pelo companheirismo, compreensão e incentivo.
Aos professores da Faculdade de Engenharia Mecânica pela atenção e dedicação dispensadas
durante o curso.
Aos amigos do curso de Pós-Graduação em Engenharia Mecânica, em especial àqueles do
Laboratório de Mecânica de Estruturas, pelo companheirismo e amizade durante toda a
jornada.
Aos professores e funcionários da Universidade Federal de Uberlândia (UFU) pelo apoio.
Ao projeto Alfa - Vicôndia pela oportunidade de intercâmbio de janeiro a abril de 2006 na
Technische Universität Darmstadt, Alemanha.
Aos professores e alunos do departamento Strukturdynamik - Fachbereich Maschinenbau, da
Technische Universität Darmstadt – Darmstadt – Germany, pela receptividade e acolhida.
A Fundação Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) pelo
apoio financeiro, fundamental para a realização deste trabalho.
SANTOS, R. R. Contribuição ao planejamento de trajetória de robôs através de elementos de
dinâmica, controle e otimização. 2007. Tese de Doutorado, Universidade Federal de Uberlândia,
Uberlândia.
Resumo
Robôs manipuladores são dispositivos programáveis projetados para executar uma grande
variedade de tarefas de forma repetitiva. Em ambientes industriais, a diminuição de
exigências dinâmicas associadas à realização de uma mesma tarefa, pode resultar em
aumento de produtividade e diminuição dos custos associados à operação e manutenção do
robô. Além disso, a diminuição destas exigências pode viabilizar a realização de tarefas que
exijam a capacidade máxima do sistema, aumentando assim a versatilidade dos robôs para
que possam se adequar a diversas situações. Em atividades onde se realizam tarefas
repetitivas e o tempo deve ser utilizado de forma ótima, a diminuição do tempo necessário
para a realização de uma atividade específica também pode resultar em um aumento
significativo de produtividade. Neste trabalho são apresentadas diferentes estratégias off-line
para determinação da solução da cinemática inversa e trajetória de robôs manipuladores,
considerando-se o tempo, informações cinemáticas, dinâmicas, além da presença de
obstáculos fixos e móveis como índices de performance a serem otimizados. Apresenta-se
também uma estratégia de reposicionamento de tarefa no espaço de trabalho como forma de
minimizar a potência mecânica e as vibrações associadas ao movimento do manipulador.
Igualmente, é estudada uma estratégia de planejamento on-line para a determinação de
trajetória de robôs autônomos. São propostas formulações de funções objetivo para cada caso,
explorando-se a resolução através de técnicas de programação não linear, programação
multicritério e controle ótimo. Vários resultados numéricos ilustram a viabilidade das
metodologias propostas.
Palavras chave: robô manipulador serial, planejamento de trajetória, dinâmica de sistemas
articulados, otimização, controle ótimo.
SANTOS, R. R. Contribution to robot path planning through dynamics, control and
optimization.
2007. Phd. Thesis, Universidade Federal de Uberlândia, Uberlândia.
Abstract
Robotic manipulators are programmable devices designed to execute a great variety of tasks
in a repetitive way. In industrial environments, the reduction of dynamic requirements
associated to a specific task can result in productivity increase and cost reduction regarding
the robotic operation and maintenance. Moreover, the reduction of such requirements can
enable the execution of tasks that demand the maximum performance of the system,
increasing the robot versatility to be adapted to several situations. In operations involving
repetitive tasks, for which time has to be optimally used, reducing the time necessary to
perform a specific movement can also result in a significant increase of productivity. In this
work several off-line strategies to compute the robot inverse kinematics and robot path
planning are presented, taking into account the traveling time, kinematic and dynamic
characteristics, and obstacle avoidance, as performance indexes to be optimized. It is also
presented a strategy for optimal task repositioning into the workspace, thus decreasing the
required mechanical power and associated vibration. Also, an on-line path planning strategy
for mobile robots is studied. Objective functions are proposed to each case, exploring the
solution through nonlinear programming, multicriteria programming and optimal control
theories. A number of numerical results show the viability of the methodologies proposed.
Keywords: serial robot manipulator, path planning, multibody dynamics, optimization,
optimal control.
Nomenclatura
Ao longo do texto é priorizado o uso de termos em português para expressar os
seguintes conceitos relativos à robótica:
End-effector: efetuador.
Joint: junta.
Joint angle: ângulo de junta.
Link: elemento.
Workspace: espaço de trabalho.
Lista de símbolos
A – matriz de transformação homogênea.
q – vetor de coordenadas de junta.
T – matriz que define as características cinemáticas de um manipulador de acordo com a
convenção de Denavit-Hartenberg.
a – parâmetro comprimento (length) da convenção de Denavit-Hartenberg.
α
– parâmetro rotação (twist) da convenção de Denavit-Hartenberg.
d – parâmetro deslocamento (offset) da convenção de Denavit-Hartenberg.
θ
– parâmetro ângulo (angle) da convenção de Denavit-Hartenberg.
P – vetor que representa o ponto cartesiano ocupado pelo manipulador no espaço de trabalho.
n – número de graus de liberdade.
N – número de elementos de um conjunto, obtido a partir da subdivisão de um intervalo
contínuo.
J – matriz Jacobiana.
σ
– valor singular da matriz Jacobiana.
w – medida de manipulabilidade.
t
0
– tempo inicial.
t
f
– tempo final.
Q – vetor de coordenada de junta que inclui efeito de vibração.
S – conjunto de pontos cartesianos que especificam o posicionamento do efetuador.
2
N
s – variância amostral estatística.
N
s – desvio padrão amostral estatístico.
E
s – soma dos erros de posicionamento do efetuador.
f – função objetivo ou índice de performance.
M – matriz de massa.
c – vetor de força de Coriolis e força centrífuga.
g – vetor de forças gravitacionais.
u – vetor de forças generalizadas.
G – vetor de restrições de igualdade.
H – vetor de restrições de desigualdade.
q
L
vetor de restrições laterais (valores mínimos admissíveis).
q
U
vetor de restrições laterais (valores máximos admissíveis).
– domínio de uma função.
x – vetor de estado.
v – vetor de controle.
k – fator de ponderação.
D – distância.
Je – jerk.
I – polinômio interpolador.
f
0
– função objetivo que avalia o erro na solução da cinemática inversa.
f
1
– função objetivo relativa a manipulabilidade.
f
2
– função objetivo relativa ao desvio padrão do erro de posicionamento de cada junta.
f
3
– função objetivo relativa a exponencial da soma dos error de posicionamento de cada
junta.
f
4
– função objetivo relativa ao índice de performance de posicionamento do manipulador.
f
5
– função objetivo relativa ao torque acumulado.
f
6
– função objetivo relativa a potência mecânica acumulada.
f
7
– função objetivo relativa ao torque.
f
8
– função objetivo que avalia a distância mínima entre o manipulador e o obstáculo.
f
9
– função objetivo que avalia a manipulabilidade, o desvio do obstáculo e posicionamento
do efetuador.
f
10
– função objetivo relativa ao jerk.
f
11
– função objetivo relativa a minimização do valor máximo do jerk.
f
12
– função objetivo que avalia o jerk máximo e o tempo total para o percurso.
f
13
– função objetivo relativa ao torque e potência mecânica acumulados.
f
14
– função objetivo relativa a manipulabilidade e potência mecânica acumulada ponderados.
f
15
– função objetivo relativa a manipulabilidade e potência mecânica acumulada.
f
16
– função objetivo relativa ao módulo entre o tempo inicial e final.
f
17
– função objetivo relativa a distância mínima ao obstáculo, potência mecânica e tempo
total.
f
18
– função objetivo que avalia a potência mecânica e distância mínima a obstáculos em
movimento.
f
19
– função objetivo que avalia a distância entre o efetuador e o objeto a ser manipulado.
f
20
– função objetivo relativa a distância ao objeto a ser manipulado e potencia mecânica.
f
21
– função objetivo relativa a posição do alvo.
f
22
– função objetivo relativ
Sumário
Capítulo 1 – Introdução 1
1.1 Robôs manipuladores 2
1.2 Objetivos 4
1.3 Estrutura do trabalho 6
Capítulo 2 – Modelagem de Robôs Manipuladores 10
2.1 Cinemática direta 11
2.2 Cinemática inversa 12
2.3 Redundância e manipulabilidade 14
2.3.1 Redundância 14
2.3.2 Configuração singular 15
2.3.3 Manipulabilidade 16
2.4 Modelo de vibração 18
2.5 Especificação da tarefa 19
2.5.1 Variáveis de projeto 19
2.5.2 Estimativa do desempenho 21
2.6 Dinâmica 23
2.6.1 Equações de Euler-Lagrange 24
2.6.2 Torque e potência mecânica 27
2.6.3 Modelo dinâmico do manipulador planar 28
Capítulo
3 – Técnicas de otimização 30
3.1 Programação não-linear 31
3.2 O método do Gradiente 33
3.3 Controle ótimo 34
3.3.1 Sistema dinâmico contínuo 35
3.3.2 Sistema dinâmico discreto 36
3.3.3 Solução numérica 37
3.4 Programação multicritério 39
3.4.1 Critério de otimalidade segundo Pareto 40
3.4.2 Método da Ponderação dos Objetivos 40
3.4.3 Método das Funções de Distância 41
3.5 Otimização global 41
Capítulo 4 – Trajetória 44
4.1 Interpolação 45
4.2 Desvio de obstáculos 46
4.3 Otimização 48
4.3.1 Representação do espaço de trabalho 49
4.3.2 Representação do manipulador 50
4.3.3 Determinação da distância 51
Capítulo 5 – Revisão bibliográfica: Planejamento do movimento 53
Capítulo 6 – Planejamento de trajetórias que otimizam aspectos cinemáticos 61
6.1 Cinemática inversa e desvio de obstáculos 62
6.1.1 Formulação 63
6.1.2 Experimento numérico 64
6.1.3 Conclusão 65
6.2 Cinemática inversa, desvio de obstáculos e manipulabilidade 66
6.2.1 Formulação 67
6.2.2 Resultados numéricos 68
6.2.3 Conclusão 76
6.3 Tempo e jerk 77
6.3.1 Formulação 77
6.3.2 Resultado numérico 79
6.3.3 Conclusão 84
Capítulo 7 – Planejamento de trajetórias que otimizam aspectos dinâmicos 85
7.1 Torque máximo em ambiente irrestrito 87
7.1.1 Resultado numérico 88
7.1.2 Conclusão 91
7.2 Torque e potência mecânica acumulados em ambiente irrestrito 92
7.2.1 Formulação 92
7.2.2 Experimentos numéricos 94
7.2.3 Conclusão 98
7.3 Posicionamento da tarefa em ambiente irrestrito 99
7.3.1 Formulação 100
7.3.2 Experimentos numéricos 101
7.3.3 Conclusão 117
7.4 Tempo, potência mecânica e obstáculo fixo 118
7.4.1 Formulação 119
7.4.2 Experimentos numéricos 120
7.4.3 Conclusão 128
7.5 Potência mecânica e obstáculo móvel 129
7.5.1 Formulação 129
7.5.2 Experimentos numéricos 132
7.5.3 Conclusão 137
7.6 Interceptação de objetos em movimento e potência mecânica 138
7.6.1 Objeto a ser manipulado 139
7.6.2 Formulação 140
7.6.3 Experimento numérico 141
7.6.4 Conclusão 144
Capítulo 8 – Análise de vibrações e trajetória de robôs móveis 146
8.1 Redução de vibração pelo posicionamento da tarefa 147
8.1.1 Formulação 148
8.1.2 Experimentos numéricos 149
8.1.3 Conclusão 156
8.2 Planejamento de trajetória de robôs móveis 157
8.2.1 Introdução 157
8.2.2 Representação do espaço de trabalho 160
8.2.3 Formulação 162
8.2.4 Experimentos numéricos 164
8.2.5 Conclusão 168
Capítulo 9 – Conclusões e perspectivas 170
9.1 O trabalho realizado 170
9.2 Principais contribuições 174
9.3 Trabalhos futuros 176
Referências Bibliográficas 178
Apêndice 1 – Representação do robô manipulador planar em VRML 188
Apêndice 2 – Estrutura do software de planejamento de trajetórias
SMART PATH-PLANNER. 191
Apêndice 3 – Manual do usuário para o software SMART PATH-PLANNER. 198
1
CAPÍTULO I
INTRODUÇÃO
A seção 1.1 apresenta uma breve revisão de conceitos relativos a robôs manipuladores.
São discutidas as diferentes possibilidades de planejamento de trajetória, ao se considerar ou
não a presença de obstáculos, se há alteração do espaço de trabalho durante o movimento e a
possibilidade de planejamento do sistema antes ou durante a realização da tarefa.
A seção 1.2 traz um resumo com o objetivo principal do trabalho, que consiste no
estabelecimento de metodologias para o planejamento de trajetórias de robôs, envolvendo a
otimização de aspectos cinemáticos e dinâmicos durante a realização do movimento.
O projeto ótimo é viabilizado pela proposição de funções objetivo para cada caso, bem
como pelo estabelecimento de metodologias abrangentes que levam à solução do problema
em diferentes cenários.
A seção 1.3 apresenta a estrutura do trabalho, com um resumo dos tópicos abordados
em cada capítulo, a saber:
Capítulo 1: Introdução.
Capítulo 2: Cinemática e dinâmica de robôs manipuladores.
Capítulo 3: Técnicas de otimização.
Capítulo 4: Planejamento de trajetória.
Capítulo 5: Revisão bibliográfica.
Capítulo 6: Propostas para otimização de aspectos cinemáticos.
Capítulo 7: Propostas para otimização de aspectos dinâmicos.
Capítulo 8: Propostas para análise de vibrações e robótica móvel.
Capítulo 9: Conclusões e perspectivas futuras.
Apêndice 1: Representação do manipulador planar em VRML.
Apêndice 2: Descrição do software Smart Path-Planner.
Apêndice 3: Manual do usuário para o software Smart Path-Planner.
2
1.1 Robôs manipuladores
O uso de técnicas de otimização em problemas de robótica define uma área de
pesquisa relativamente recente da tecnologia moderna que percorre as fronteiras da
engenharia tradicional. O entendimento da complexidade dos robôs e de suas aplicações
requer o conhecimento de vários ramos da engenharia, da ciência da computação e da
matemática.
Uma definição oficial de robô é dada pelo Instituto de Robôs da América (Robot
Institute of America - RIA): “Robô é um manipulador multifuncional reprogramável projetado
para mover material, peças, ferramentas ou dispositivos especializados, através de diversos
movimentos programados, para a execução de uma variedade de tarefas”.
O elemento chave na definição acima é a possibilidade de reprogramação dos robôs. O
sistema de controle computacional provê ao robô versatilidade e adaptabilidade.
Dentre todos os sistemas mecânicos robóticos, os manipuladores seriais têm merecido
atenção especial devido a sua grande relevância na indústria. Além disso, eles constituem o
mais simples dentre todos os sistemas mecânicos robóticos e, conseqüentemente, surgem
como elementos de outros sistemas mais complexos.
Um manipulador, em geral, é um sistema mecânico que tem o propósito de apreender
e mover objetos. A idéia básica por trás do conceito de manipulação é que as mãos são, dentre
todos os demais órgãos que o cérebro humano pode controlar mecanicamente, os que podem
ser controlados com maior precisão.
Assim, um robô manipulador é um dispositivo que auxilia o homem na execução de
tarefas de manipulação em geral. Sua estrutura consiste em um conjunto de elementos (links)
dispostos em série e conectados através de juntas (joints). Estas juntas podem ser rotativas
(rotacionais) ou prismáticas (translacionais). Os atuadores, usualmente motores, são os
responsáveis pela alteração dos ângulos de junta ou do comprimento dos elementos. Os
parâmetros de configuração são os ângulos de junta (no caso da junta rotacional) e o
comprimento de cada elemento (no caso da junta prismática), e o número de graus de
liberdade (gdl) é igual ao número de atuadores controlados de forma independente.
As tarefas de manipulação remetem ao conceito de espaço de trabalho e trajetória.
O espaço de trabalho de um ponto H situado na extremidade do efetuador é o conjunto
de todos os pontos que H ocupa quando as coordenadas de junta são variadas em todos os
seus intervalos de definição (Gupta e Roth, 1982). Ele representa o volume total alcançado
3
pelo efetuador quando o manipulador executa todos os movimentos possíveis, e é
influenciado pelo número de juntas, o que define o número de graus de liberdade do
manipulador. Tipicamente utilizam-se seis graus de liberdade para caracterizar o espaço
tridimensional: três para posicionamento e três para orientação. Neste caso, com menos de
seis graus de liberdade a estrutura não pode atingir todo e qualquer ponto do ambiente de
trabalho com orientação arbitrária. Um manipulador que contém mais de seis graus de
liberdade é dito cinematicamente redundante (Spong, 1989).
A trajetória é a responsável por especificar uma seqüência de movimentos necessários
para o robô realizar determinada tarefa.
Devido à possibilidade de obtenção de diversas trajetórias para a execução de uma
determinada tarefa, uma pergunta que surge naturalmente durante a programação do robô se
refere à obtenção da melhor trajetória. Não há uma solução definitiva, visto que a resposta a
esta questão depende diretamente do critério que se pretende melhorar.
Um aspecto que pode ser considerado através de uma análise criteriosa é a
determinação de uma trajetória livre de obstáculos. Neste contexto, a melhor trajetória é
aquela que realiza de forma eficiente o desvio do robô em relação aos obstáculos presentes no
espaço de trabalho.
O planejamento da trajetória pode considerar a presença de obstáculos fixos ou
móveis. Dentre os obstáculos móveis, aqueles que têm o percurso previamente conhecido em
todos os instantes de tempo, juntamente com aqueles que são fixos, permitem a análise
preliminar do movimento do robô antes de sua efetiva realização. Este enfoque caracteriza a
estratégia de planejamento off-line (off-line path planning).
Por outro lado, quando se desconhece a informação sobre a trajetória de um obstáculo
móvel a priori, ou seja, somente uma informação parcial sobre a posição do obstáculo é
disponível, é apropriado o uso de uma estratégia que faz a análise e a conseqüente atualização
da trajetória durante a execução do movimento do robô.
Este enfoque caracteriza a estratégia de planejamento on-line (on-line path planning).
No contexto do robô manipulador industrial, a possibilidade de determinação da
trajetória ótima sobre certo ponto de vista é ainda mais relevante, pois devido ao grande
número de repetições de um movimento em uma jornada de trabalho, pequenas melhorias na
trajetória podem significar um aumento significativo de produtividade.
Uma possibilidade de aumento de desempenho consiste na redução do tempo gasto
pelo manipulador para a realização de uma tarefa. Entretanto, há restrições quanto a esta
4
especificação, pois usualmente o movimento em um tempo menor acarreta num aumento do
torque aplicado pelos motores responsáveis pelo movimento. Isto justifica a determinação do
tempo ótimo em uma análise conjunta com elementos relacionados à cinemática e dinâmica
do robô.
Além disso, a redução das exigências mecânicas geralmente leva a economia de
energia e menor desgaste dos componentes, podendo resultar também em maior precisão do
movimento e posicionamento.
Assim, o abrandamento dos requerimentos necessários para a execução do movimento
pode contribuir para a maior produtividade e robustez do manipulador, tendo como
conseqüência a economia de recursos e desempenho mais eficiente.
1.2 Objetivos
Em face da relevância econômica e tecnológica do tema, neste trabalho propõe-se o
estabelecimento de metodologias para a determinação de trajetória que levem à melhoria do
desempenho de robôs manipuladores. Para tanto, são propostas diferentes estratégias de
planejamento de trajetória off-line, ou seja, o planejamento completo da trajetória é realizado
em um momento preliminar à sua execução. Assim, tem-se a definição completa da trajetória
a ser percorrida antes de sua efetiva realização pelo manipulador.
Esta pesquisa se insere no contexto da tese desenvolvida anteriormente no então
Departamento de Engenharia Mecânica da UFU pela Profa. Sezimária F. P. Saramago
(Saramago, 1998), atual co-orientadora deste trabalho, tendo sido orientada pelo Prof. Valder
Steffen Jr, igualmente orientador deste trabalho.
Considerando o estudo realizado anteriormente, tem-se como primeiro objetivo desta
tese a consideração da presença de todos os elementos do manipulador na determinação da
trajetória ótima (evitando, portanto, a eventual colisão de alguma parte do manipulador com
um possível obstáculo) e a utilização de outras estratégias de interpolação além da
interpolação por polinômios do tipo spline cúbica. Evidentemente, conforme se verá a seguir,
vários outros elementos relativos ao comportamento dinâmico do sistema estudado foram
agregados ao presente trabalho.
Um elemento fundamental para o cálculo da trajetória é o cálculo das informações
cinemáticas do manipulador.
5
Com o objetivo de oferecer uma metodologia abrangente, propõe-se a solução da
cinemática inversa através da formulação de um problema de otimização, o que viabiliza a
análise de manipuladores de complexidade arbitrária.
Diante da possibilidade de definição de um grande número de objetivos a serem
otimizados, considera-se neste trabalho a otimização dos seguintes itens: tempo total,
velocidade, jerk (obtido através da derivação da aceleração), torque, potência mecânica,
manipulabilidade e posicionamento do efetuador.
Os índices de performance são estabelecidos a partir de diferentes combinações dos
objetivos citados, de forma a propor a análise em situações que sejam interessantes no
contexto dos manipuladores industriais.
Propõe-se a determinação da trajetória através de técnicas de interpolação do tipo
spline e mediante o uso da teoria de controle ótimo, com diferentes procedimentos para a
obtenção da interpolação que resulte no percurso ótimo.
Os problemas de otimização formulados são resolvidos através da teoria de
programação não linear clássica, acrescida de uma metodologia heurística para a
determinação do mínimo global.
Do ponto de vista computacional, propõe-se a implementação de códigos que
possibilitem o cálculo das informações cinemáticas e dinâmicas para um robô serial de
configuração arbitrária, e a visualização da estrutura física de alguns robôs manipuladores
específicos através de ferramentas de realidade virtual (Virtual Reality Modeling Language –
VRML).
A Tabela 1 resume a delimitação ao tema, apresentando os conceitos explorados neste
trabalho.
6
Tabela 1.1 - Conceitos explorados no trabalho.
Assunto Conceito principal Conceito relacionado Ferramenta auxiliar
Cinemática Manipulabilidade
Desvio de obstáculo
Posicionamento do efetuador Cinemática inversa Otimização local e
otimização global
Minimização do jerk máximo
Tempo total para o movimento
Representação gráfica Realidade virtual VRML
Dinâmica Posicionamento do efetuador Cinemática inversa Otimização local
Desvio de obstáculos
Tempo total para o movimento
Potência mecânica
Minimização do torque máximo
Controle ótimo Programação
Multicritério
Otimização local e
otimização global
Interceptação de objetos em
movimento
Posicionamento de tarefa no
espaço de trabalho
Vibração Manipulabilidade
Posicionamento de tarefa no
espaço de trabalho
1.3 Estrutura do trabalho
Os capítulos iniciais trazem uma breve revisão sobre os conceitos fundamentais de
cinemática, dinâmica, teoria de controle e técnicas de otimização, onde é caracterizada a
formulação teórica geral. Em seguida, tem-se a revisão bibliográfica com os diferentes
enfoques propostos para a determinação de trajetórias de robôs. Na seqüência, apresentam-se
as novas propostas para modelagem e otimização de diferentes índices de performance e, ao
final, a conclusão sobre o estudo realizado.
O primeiro capítulo apresenta a conceituação de robô manipulador e delimita o
objetivo deste trabalho.
No segundo capítulo são descritas as equações que definem a cinemática direta, a
cinemática inversa, a manipulabilidade e a dinâmica dos robôs. Estes conceitos possibilitam a
definição de modelos representativos para a análise e otimização de robôs. Tem-se ainda a
7
proposição de um modelo para representação da vibração observada em cada elemento, que
será utilizado na seção 8.1, e uma proposta de especificação de tarefas no espaço de trabalho
que permite seu posicionamento através de movimentos de corpo rígido, a ser utilizada nas
seções 7.3 e 8.1
O terceiro capítulo resume os diferentes conceitos de otimização utilizados durante a
pesquisa. Inicialmente, faz-se uma revisão de elementos de programação não linear. É feita
uma recapitulação do Método do Gradiente, o qual é uma referência para a elaboração de
estratégias de otimização de primeira ordem, e utilizado como ponto de partida para a
metodologia proposta na seção 8.2. Em seguida, tem-se a formulação do problema de controle
ótimo, para sistemas dinâmicos contínuos e discretos, que tem estreita relação com o item
anterior. Na seqüência, apresentam-se elementos de programação multicritério, teoria que
possibilita a extensão das técnicas de otimização para o tratamento de problemas com mais de
um objetivo de forma eficiente. Por fim, tem-se a descrição de uma estratégia de otimização
global, utilizada pelas metodologias propostas nas seções 6.2 e 7.3.
O quarto capítulo apresenta o conceito de trajetória e algumas possibilidades para
obtenção da mesma. É apresentada a abordagem para representação matemática do obstáculo,
do manipulador, e a avaliação da distância entre ambos. Esta abordagem é utilizada para a
representação do obstáculo nas propostas das seções 6.1, 6.2, 7.4 e 7.5.
A revisão bibliográfica sobre a determinação e otimização de trajetória de robôs
manipuladores é apresentada no quinto capítulo. Entretanto, ao longo do texto encontram-se
referências adicionais, onde o contexto assim o exige.
No sexto capítulo são apresentados os resultados obtidos pela pesquisa ao se
considerar aspectos cinemáticos durante a otimização da trajetória de robôs manipuladores.
Tem-se a proposição de uma estratégia para determinação da cinemática inversa a partir de
uma técnica de otimização local (Santos et al., 2004a) e global (Santos et al., 2005a). Em
seguida propõe-se a otimização do tempo e do jerk associados à trajetória (Santos et al.,
2004b).
Diferentes propostas de otimização de índices de performance relativos à dinâmica do
sistema são apresentadas no sétimo capítulo. Em relação à consideração de ambiente
irrestrito, apresenta-se uma proposta de otimização do torque através de técnicas de controle
ótimo (Santos et al., 2005c). Além disso, é igualmente estudada uma proposta de otimização
do torque e potência mecânica através de uma formulação multicritério, resolvida através de
controle ótimo (Santos et al., 2006a). Ainda neste capítulo, faz-se um estudo sobre o melhor
8
posicionamento da tarefa no espaço de trabalho, considerando-se a potência mecânica do
sistema. Diante da existência de obstáculos fixos no espaço de trabalho, apresenta-se uma
proposta de otimização de trajetória que leva em conta o tempo total de percurso,
posicionamento do efetuador e potência mecânica (Santos et al., 2005b), sendo a trajetória
obtida a partir de interpolação tipo spline. Em seguida, tem-se uma proposta de otimização da
potência mecânica do manipulador através do uso de controle ótimo, onde é considerada a
presença de obstáculos móveis em ambiente bidimensional (Santos et al., 2006b) e
tridimensional. Encerra-se este capítulo com a apresentação de uma proposta para a
determinação e otimização de trajetória de robôs capaz de considerar a interceptação de
objetos em movimento (Santos et al., 2006c).
No oitavo capítulo é proposto um novo modelo para a representação de vibrações em
robôs manipuladores. Este modelo é utilizado como índice de performance a ser otimizado
pelo reposicionamento da tarefa a ser executada no espaço de trabalho (Santos et al., 2006e).
Em seguida, tem-se a proposição de uma estratégia para a determinação da trajetória de robôs
móveis. Considera-se a presença de obstáculos fixos e móveis no espaço de trabalho, que são
analisados através do planejamento on-line da trajetória (Santos et al., 2006d). Esta proposta
sugere a possibilidade de generalização do conceito de planejamento de trajetória,
confirmando sua aplicabilidade em diferentes dispositivos e a afinidade com os métodos de
otimização.
O resultado obtido através do algoritmo de cálculo da dinâmica do robô manipulador
(Recursive Newton Euler – RNE), programado pelo autor, foi comparado com aquele
resultante do sistema modelado através do software comercial NASTRAN, tendo sido
observada a concordância entre os resultados.
No nono capítulo são apresentadas as conclusões obtidas a partir dos resultados da
pesquisa, bem como as perspectivas de trabalhos futuros.
Destaca-se que todas as metodologias propostas ao longo deste trabalho podem ser
aplicadas a manipuladores de configuração arbitrária, ou seja, hipóteses restritivas sobre
características específicas de um dado manipulador não são utilizadas durante o
desenvolvimento da metodologia e sua aplicação. Como conseqüência, durante a realização
dos diversos experimentos numéricos, trabalha-se genericamente com diversos tipos de robôs,
com diferentes configurações cinemáticas. Isso significa que as metodologias desenvolvidas
são revestidas de generalidade.
9
A análise das diferentes estratégias de otimização exigiu a implementação
computacional de diversos algoritmos. A busca por um sistema de visualização capaz de
representar adequadamente a realidade motivou a descrição de alguns robôs manipuladores
através de ferramentas de realidade virtual. Para informação e conveniência do leitor, no
Apêndice 1 é apresentada uma descrição do manipulador planar através da linguagem VRML.
O Apêndice 2 traz uma breve descrição de um software, desenvolvido pelo autor, que
possibilita o uso de duas das estratégias de otimização apresentadas ao longo da tese, e o
Apêndice 3 contém um breve manual para o usuário do programa.
Esta tese reúne uma série de contribuições relativas ao planejamento de trajetória de
robôs. Destaca-se a originalidade das propostas apresentadas em algumas seções, a saber: a
estratégia de otimização global utilizada para a determinação da cinemática inversa
juntamente com a análise da manipulabilidade, conforme descrito na seção 6.2, a metodologia
de avaliação do torque e potência mecânica em uma função multiobjetivo e a influência de
diferentes fatores de ponderação, apresentado na seção 7.2, o posicionamento da tarefa a ser
realizada como estratégia para aumento de desempenho, apresentado na seção 2.5 e utilizado
nas seções 7.3 e 8.1, a utilização de nós intermediários para determinação da trajetória ótima,
presente na seção 7.4, a utilização do controle ótimo para especificação da trajetória que
otimiza a potência mecânica e desvia de obstáculos em movimento, proposto na seção 7.5, a
otimização da potência mecânica ao interceptar um objeto em movimento, descrito na seção
7.6, a proposição de uma formulação para análise de vibrações, caracterizado na seção 2.4 e
utilizado na seção 8.1, e a determinação da trajetória de robôs móveis a partir do conceito de
direção de máxima descida juntamente com a ponderação de um campo potencial para a
descrição de obstáculos em movimento, conforme apresentado na seção 8.2.
Deve-se ressaltar que existe a possibilidade de combinação das diferentes análises
para a proposição de novos estudos. Entretanto, o autor acredita que o material aqui reunido
oferece o subsídio necessário para a imediata utilização destas propostas em diversas
aplicações, além de servir como referência sobre diferentes possibilidades de exploração das
ferramentas de otimização para o planejamento de trajetórias.
10
CAPÍTULO II
MODELAGEM DE ROBÔS MANIPULADORES
A seção 2.1 apresenta um resumo com a formulação matemática da cinemática direta
de robôs manipuladores. A seção 2.2 traz a formulação do problema da cinemática inversa,
seguido de uma possível solução através de técnicas de otimização.
A seção 2.3 define o conceito de redundância, a partir de informações sobre a matriz
Jacobiana associada ao manipulador, obtida através de sua representação cinemática. Utiliza-
se este conceito para definir uma configuração singular, e associá-la ao conceito de
manipulabilidade. Os conceitos estabelecidos nesta sessão são utilizados durante o cálculo da
cinemática inversa (seção 6.2) e durante o planejamento de trajetórias (seções 7.3 e 8.1).
A seção 2.4 estabelece uma nova proposta para a descrição do efeito de vibração do
manipulador. Esta formulação é utilizada como parte do índice de performance da estratégia
de projeto proposta na seção 8.1.
A seção 2.5 estabelece um critério para especificação da tarefa no espaço de trabalho.
Este critério é utilizado para a especificação de tarefas a terem seu posicionamento otimizado,
conforme estratégias apresentadas nas seções 7.3 e 8.1.
A seção 2.6 resume conceitos relativos ao cálculo do torque associado ao movimento
de robôs manipuladores. Realiza-se uma revisão sobre a equação de Euler-Lagrange e
apresenta-se a função Lagrangeana de um sistema, além de sua associação com o conceito de
torque e potência mecânica. Estes conceitos são utilizados em todas as análises propostas no
Capítulo 7.
11
2.1 Cinemática direta
O primeiro passo na configuração de um robô é descrever a posição do efetuador e
demais pontos no espaço de trabalho em relação a um sistema de coordenadas comum. Esta
representação consiste em descrever posições cartesianas tridimensionais em termos das
coordenadas de junta q do robô. Isto leva ao problema de determinação da cinemática direta
do mesmo.
Para a determinação da matriz de transformação da base até o efetuador do robô, são
utilizadas transformações homogêneas da forma
=
10
)()(
)(
11
qdqR
qA
i
i
i
i
i
(2.1)
onde R(q)
3x3
é uma matriz de rotação, d(q)
3x3
é um vetor de translação e i=1,...,n se
refere ao número de juntas do robô (Spong, 1989).
Uma transformação homogênea representa a posição da extremidade de cada elemento
em relação ao elemento imediatamente anterior. Desta forma definem-se completamente as
características cinemáticas de um robô manipulador com n graus de liberdade através da
transformação
)()()(
22110 nn
n
qAqAqAT L= . (2.2)
A notação de Denavit-Hartenberg (Denavit and Hartenberg, 1955) propõe a
representação de cada transformação homogênea A
i
como produto de quatro transformações
básicas de rotação e translação
A
i
= Rot
z,
θ
Trans
z,d
Trans
x,a
Rot
x,
α
(2.3)
que tem os parâmetros: comprimento a (length), rotação
α
(twist), deslocamento d (offset) e
ângulo
θ
(angle).
Desta forma pode-se representar a estrutura de qualquer manipulador serial através de
seus parâmetros, que resulta em uma matriz de transformação T específica.
12
A partir da definição da matriz
n
T
0
, conhecido o ponto cartesiano P
base
de referência
(usualmente a base) do manipulador, pode-se determinar a posição cartesiana do efetuador
para uma determinada coordenada de junta q(d,
θ
) através da relação
base
n
end
PdTP ).,(
0
θ
= (2.4)
Esta equação define completamente a posição cartesiana do robô em função de suas
coordenadas de junta.
Entretanto, em muitos casos deseja-se saber quais coordenadas de junta q(d,
θ
)
resultam numa posição cartesiana específica. A determinação destes valores consiste no
estudo da cinemática inversa do robô.
2.2 Cinemática inversa
Devido ao fato do cálculo da cinemática inversa oferecer informações de fundamental
importância durante o planejamento da trajetória a ser executada pelo robô manipulador,
justifica-se a pesquisa de uma estratégia eficiente para sua determinação.
Dada uma posição cartesiana no espaço a ser alcançada pelo efetuador, é necessário
determinar o conjunto de respectivas coordenadas de junta que resultam nesta configuração.
Assim, determinam-se as variáveis de junta que definem a cinemática inversa.
Como as equações da cinemática direta são não-lineares, em geral a determinação das
variáveis de junta a partir de uma expressão explícita não é fácil, pois além da complexidade
característica de um sistema de equações não-lineares, as funções trigonométricas que
aparecem nas equações usualmente ocasionam mais de uma solução (Spong, 1989).
Para robôs com estrutura simples é possível determinar explicitamente quais são as
equações que especificam o valor das variáveis de junta. Pode-se alternativamente recorrer a
uma dedução geométrica que relacione os ângulos (Spong, 1989) de cada elemento. Para o
caso geral, a determinação das equações explícitas é uma tarefa trabalhosa e específica para
cada modelo considerado (Gan et al., 2005). Pl,
13
Com o intuito de utilizar uma metodologia que se aplique a um manipulador de
configuração arbitrária, durante este trabalho faz-se a determinação destas variáveis de junta
através da solução de um problema de otimização (Santos et al., 2005a).
Considerando a determinação da cinemática direta dada pela Equação (2.4) e supondo
as coordenadas da base P
base
(x,y,z) e do efetuador P
end
(x,y,z) conhecidas, deve-se determinar
os valores de d
i
e
θ
i
que satisfaçam a Equação (2.4). Logo, a expressão pode ser reescrita
como
0).,(
0
=
endbase
n
PPdT
θ
(2.5)
que pode ser convertida no problema de otimização equivalente
2
0
,
0
).(min
endbase
n
d
PPTf =
θ
(2.6)
Como o valor mínimo global desta expressão é zero, sua solução determina os valores
de d
i
ou
θ
i
(juntas i = 1 ... n) que satisfazem à igualdade. Nos casos onde há múltiplas
soluções, pode-se optar por diferentes respostas a partir de diferentes aproximações iniciais
para o problema de otimização. Assim, é possível a obtenção de diferentes valores para as
variáveis de junta, representando diferentes configurações que atendem à especificação de
posicionamento estabelecida para o efetuador.
Com o uso de um método de otimização local, a garantia da obtenção da solução está
condicionada à utilização de uma coordenada inicial “suficientemente próxima” da solução do
sistema, pois, no caso geral, é possível a obtenção de um mínimo local que não seja solução
(Luenberger, 1984).
Com o intuito de transpor a exigência de uma aproximação inicial adequada, o autor
propôs no trabalho (Santos et al., 2005a) o uso de uma estratégia de otimização global para a
obtenção da cinemática inversa. A estratégia utiliza a metodologia conhecida na literatura
internacional como tunneling (Levy and Montalvo, 1985) na busca do mínimo global. A
proposta considera também a presença de obstáculos no espaço de trabalho e a
manipulabilidade do robô, visto que é possível estimar a habilidade dos manipuladores do
ponto de vista da cinemática através dos conceitos de elipsóide de manipulabilidade e medida
de manipulabilidade (Fu et al., 1992).
14
Desta forma, tem-se a solução do problema de cinemática inversa para um
manipulador de complexidade arbitrária.
2.3 Redundância e manipulabilidade
2.3.1 Redundância
Se o número de juntas é maior que a dimensão do vetor de variáveis do manipulador,
este é dito redundante. Matematicamente, isto significa que a dimensão da base em relação à
posição e/ou orientação do manipulador é maior que a dimensão do espaço Euclidiano
(Nakamura, 1991).
Este tipo de manipulador é caracterizado pelo fato de que existem infinitas soluções
para o problema da cinemática inversa.
Conseqüentemente, é possível escolher a “melhor” configuração ao se considerar
outros critérios, como o desvio de obstáculos e as configurações singulares.
Dentre as metodologias apresentadas neste trabalho, propõe-se uma estratégia
numérica para a obtenção da solução da cinemática inversa de robôs manipuladores seriais
(redundantes ou não) através do uso de técnicas de otimização.
Alguns fatores devem ser levados em consideração quando se determina a posição do
manipulador no espaço de trabalho para a execução de uma determinada tarefa. Um fator
importante é a facilidade de mudança arbitrária da posição e orientação do efetuador. Como
uma alternativa para a medição quantitativa da habilidade do manipulador do ponto de vista
cinemático, são apresentados os conceitos de elipsóide de manipulabilidade e de medida de
manipulabilidade.
Considere um manipulador com n graus de liberdade. As variáveis de junta são
denotadas por um vetor n-dimensional q=[q
1
, q
2
, ..., q
n
]
T
. Um vetor m-dimensional r=[r
1
, r
2
,
..., r
m
]
T
, (m
n) descreve a posição e orientação do efetuador.
A relação entre o vetor de velocidade v, referente a r, e a velocidade de junta
q
&
é dada
por
qq
J
v
&
)(=
(2.7)
15
onde J(q) é a matrix Jacobiana, calculada a partir da matriz T que define o robô (Equação
(2.2)).
O conjunto de velocidades v do efetuador, obtido a partir das velocidades das juntas e
tais que a norma Euclidiana dada por
q
&
satisfaz ||q
&
|| 1, definem um elipsóide no espaço
Euclidiano m-dimensional. Na direção do eixo maior do elipsóide, o efetuador pode se mover
em alta velocidade, e na direção do menor eixo, o efetuador pode se mover apenas em baixa
velocidade. Além disso, de uma forma geral, quanto maior o elipsóide, mais rápido o
efetuador pode se mover (Fu et al., 1987).
Como este elipsóide é uma representação da habilidade de manipulação, ele é
chamado de elipsóide de manipulabilidade.
Os eixos principais do elipsóide podem ser determinados através do uso da
decomposição em valores singulares da matriz J(q).
Uma medida representativa da habilidade de manipulação derivada do elipsóide de
manipulabilidade é seu volume. Como este volume é proporcional aos autovalores da matriz
Jacobiana, eles podem ser utilizados como uma medida representativa. Desta forma, a medida
de manipulabilidade w para cada coordenada q é definida de acordo com a expressão:
))()(det(
T
qJqJw =
(2.8)
Geralmente w 0, e w=0 se e somente se rank(J(q)) < m.
Existe relação direta entre a configuração singular e manipulabilidade (através da
matriz Jacobiana). Utilizando esta idéia, pode-se considerar que, quanto maior a medida de
manipulabilidade, maior a distância de configurações singulares.
2.3.2 Configuração singular
Há configurações nas quais o efetuador não pode ser rotacionado em relação a
determinado eixo. Estas configurações são ditas singulares e não se limitam apenas à
orientação do robô. Isto significa que há configurações singulares também em relação ao
posicionamento do efetuador (Fu et al., 1987).
De uma forma geral, a configuração singular de um manipulador arbitrário com n
graus de liberdade é aquela na qual a velocidade do efetuador (velocidade de translação,
16
velocidade de rotação, ou uma combinação delas) não pode ser obtida a partir de uma
velocidade finita do ângulo de junta.
O conceito de configuração singular é definido matematicamente através do uso da
matriz Jacobiana. Considerando a matriz Jacobiana J de um manipulador com n graus de
liberdade, seja n’ um inteiro dado por
n’ = max
q
[ rank J(q) ] (2.9)
Se a configuração q=q
s
satisfaz
J(q) < n’ (2.10)
então q
s
é dita uma configuração singular. A Equação (2.9) significa que o manipulador em
questão tem a habilidade de produzir qualquer vetor de velocidade para o efetuador em algum
espaço n’-dimesional em qualquer configuração diferente de uma configuração excepcional.
A Equação (2.10) implica que as configurações excepcionais são chamadas singulares.
Há duas abordagens para tratar do problema de deterioração do desempenho do robô
devido às configurações singulares: a primeira consiste em evitar os pontos singulares através
do planejamento cuidadoso da trajetória, ou a segunda, que busca simplesmente alterar o
projeto do mecanismo.
Com o intuito de aumentar a aplicabilidade do robô a diferentes tarefas, a primeira
alternativa é discutida a seguir, uma vez que ela não exige a alteração do projeto do robô.
2.3.3 Manipulabilidade
Alguns fatores devem ser considerados quando o mecanismo e a dimensão física do
robô manipulador são analisados no estágio de projeto, ou quando a postura do manipulador é
determinada no espaço de trabalho para a realização de uma determinada tarefa durante sua
operação. Um fator importante é a facilidade de mudar arbitrariamente a posição e a
orientação do efetuador (Yoshikawa, 1992).
Como uma possibilidade de determinar quantitativamente a habilidade do manipulador
do ponto de vista da cinemática, são utilizados os conceitos de elipsóide de manipulabilidade
e medida de manipulabilidade.
17
Os eixos principais do elipsóide de manipulabilidade podem ser determinados através
do uso da decomposição em valores singulares da matriz Jacobiana J(q). Através deste
procedimento, são determinados os valores singulares da matriz, ou seja,
m
σ
σ
σ
,...,,
21
, que
são iguais aos m maiores valores das n raízes (
ni
i
,...,1 , =
λ
) dos autovalores
i
da matriz
J(q)J(q)
T
.
Uma dentre as medidas representativas para a habilidade de manipulação obtidas a
partir do elipsóide de manipulabilidade é seu volume. Ele é dado por c
m
, onde
=
ímpar é se )).2(5.3.1()2(2
par é se )).2(6.4.2()2(
2/)1(
2/
mmm
mmm
c
m
m
m
L
L
π
π
(2.11)
Como o coeficiente c
m
é constante quando a dimensão m da matriz Jacobiana J é
fixada, o volume é proporcional a
m
w
σ
σ
σ
L
21
= (2.12)
Por este motivo, w pode ser utilizado como uma medida representativa. O valor de w
define a medida de manipulabilidade para a configuração q do manipulador.
A medida de manipulabilidade w tem as seguintes propriedades:
·
))().(det( qJqJw
T
= (2.13a)
·
Quando m=n (o manipulador é não redundante), a medida w se reduz a
|))(det(| qJw =
(2.13b)
·
Geralmente w > 0, e w=0 se e somente se rank J(q) < m. (2.13c)
Devido à relação entre configuração singular e manipulabilidade, quanto maior a
medida de manipulabilidade, maior será a distância até configurações singulares.
A distância a pontos singulares pode ser maximizada a partir da solução de um
problema de otimização onde a seguinte função objetivo é minimizada
))().(det(
1
)(
1
qJqJ
qf
T
= (2.14)
18
Conseqüentemente, a minimização da Equação (2.14) resulta na maximização da
medida de manipulabilidade.
2.4 Modelo de vibração
Além da possível imprecisão do movimento devido à baixa manipulabilidade
(Yoshikawa, 1992), pretende-se também considerar os efeitos devidos a outros fatores,
especialmente aqueles que levam à vibração durante o movimento do manipulador. Assim,
propõe-se um modelo que relaciona a velocidade e a manipulabilidade como elementos
acoplados ao efeito de vibração do robô.
Para descrever o efeito da vibração em cada junta, é proposta a inclusão de uma
perturbação da posição
(t) em cada coordenada de junta. Este modelo é inspirado no modelo
do rotor Jeffcott com amortecimento viscoso (Genta, 2005).
Neste sentido, se o rotor não está perfeitamente balanceado, a resposta ao
desbalanceamento estático é descrita por
ti
cc
err
=
0
. (2.15)
A amplitude
0
c
r
é expressa por um número complexo. Separando as partes real e
imaginária, tem-se
22
22
0
*22*
**
4)1(
)1(
)Re(
+
=
n
c
r
ζ
ε
e
22
3
0
*22*
*
4)1(
2
)Im(
+
=
n
n
c
r
ζ
ζ
ε
(2.16)
onde
*
é a velocidade crítica e ζ
n
é o fator de amortecimento. Substituindo (2.16) em (2.15)
resulta
[]
[
]
)sin()cos(.)Im()Re(
00
t
i
t
r
i
r
r
ccc
+
+=
(2.17)
19
A Equação (2.17) é usada para calcular a vibração na extremidade de cada elemento.
Considerando um elemento com juntas rotacionais, o efeito vibratório será observado em uma
única dimensão. O eixo de movimento da vibração pode ser calculado através da parte real ou
imaginária da Equação (2.17), de acordo com a orientação do rotor. Sem perda de
generalidade, considerando a vibração no eixo imaginário, define-se a nova coordenada de
junta, Q(t), t
0
t
t
f
, como
Q(t) = q(t) +
(t) (2.18)
onde
)]cos().Im()sin()..[Re(
)(
)(
00
trtr
tw
w
t
cc
ref
+=
(2.19)
e w(t) é o índice de manipulabilidade (dado pela Equação (2.13a)), w
ref
é um valor de
referência, é a velocidade angular da coordenada de junta e t é o tempo (t
0
t
t
f
).
De acordo com esta formulação, o índice de manipulabilidade (e conseqüentemente a
posição do efetuador) muda a amplitude da vibração, e a velocidade da coordenada de junta
altera o período do movimento vibratório.
2.5 Especificação da tarefa
2.5.1 Variáveis de projeto
A tarefa de um robô é especificada como um conjunto S composto por N pontos
cartesianos fixos (x, y, z) e o respectivo intervalo de tempo. Assim,
S={(t,x,y,z) | t
0
t
t
f
, (x,y,z) R
3
}. (2.20)
Considerando o caso de manipuladores não redundantes (o número de graus de
liberdade para posicionamento é menor ou igual a três) há um número finito de configurações
20
que satisfaz a especificação de posicionamento do efetuador. O problema de seguir um
percurso fixado é uma atividade altamente restrita, e o problema de cinemática inversa terá
quatro soluções ou menos.
Diante da necessidade de continuidade do movimento, juntamente com a especificação
de tempo fixada a cada passo e a ocorrência de passos bastante próximos, a estratégia de
planejamento de percurso ponto a ponto dificilmente obterá sucesso devido à complexidade
das restrições.
Por este motivo, propõe-se a otimização do posicionamento da tarefa como alternativa
para o aumento do desempenho do robô, sem alterar a especificação da tarefa em relação aos
pontos que a descrevem. Em outras palavras, todos os pontos que definem a especificação
serão movidos simultaneamente através de uma transformação de corpo rígido, de forma a
encontrar a melhor posição do ponto de vista da performance do manipulador.
Para atingir este objetivo, é utilizada uma transformação homogênea A, que neste caso
é definida por
=
1000
δ100
δ0βcosβsin
δ0βsinβcos
z
y
x
A
(2.21)
onde
β
é um ângulo de rotação em relação ao eixo z (expresso em radianos) e
δ
x
,
δ
y
e
δ
z
são
translações ao longo dos eixos de referência (expressos em metros), respectivamente. Se
necessário, é possível estender esta formulação para se considerar a rotação em relação aos
outros eixos de referência.
O significado físico de considerar o ângulo de rotação em relação a x ou y consiste em
alterar o plano base do robô de forma a não torná-lo paralelo ao plano de referência do solo.
Em outras palavras, o eixo de referência z do robô (relativo a sua altura) não será normal ao
plano de referência do solo (plano xy). Como o posicionamento de dois planos em um ângulo
especificado pode não ser possível em um grande número de situações práticas (e mesmo
quando possível, em termos gerais, não é um procedimento fácil), considera-se somente a
rotação em torno do eixo z, mantendo-se o plano da base do robô paralelo ao plano de
referência do solo.
21
Após a definição do conjunto S que especifica a posição do efetuador durante a
realização da tarefa, calcula-se a cinemática inversa em relação a cada ponto cartesiano deste
conjunto.
2.5.2 Estimativa do desempenho
O cálculo para a determinação da solução da cinemática inversa pode ser realizado
algebricamente, considerando o modelo analítico do manipulador e sua geometria, ou
numericamente. Com o intuito de apresentar um procedimento geral, neste trabalho o
problema da cinemática inversa é resolvido numericamente através da formulação de um
problema inverso. Este enfoque resulta em uma metodologia geral e eficiente, que provê
resultados satisfatórios para manipuladores de complexidade arbitrária (Santos et al., 2005a).
O planejamento obtido para a trajetória contém erros de posicionamento do efetuador,
enquanto o robô segue o percurso. Neste momento, o interesse está focado em erros devido ao
movimento do manipulador, uma vez que a solução da cinemática inversa pode ser
geralmente obtida com precisão suficiente.
Supondo que a Equação (2.18) descreve o efeito da vibração em cada coordenada de
junta com precisão satisfatória, tem-se como objetivo a redução do erro das coordenadas
através da minimização de sua soma.
Para modelar este fenômeno, propõe-se o uso da variância amostral estatística. A
variância amostral
2
N
s
é o segundo momento central amostral, definido por
=
=
N
i
iN
qq
N
s
1
22
)(
1
(2.22)
onde
q
é a média amostral, que corresponde ao valor da coordenada de junta, e N é o
tamanho da amostra. No contexto presente, o tamanho da amostra é dado pelo número de
pontos a ser considerado no planejamento do percurso e a média amostral é a coordenada de
junta que resolve o problema da cinemática inversa em cada ponto do percurso.
A raiz quadrada da variância amostral resulta no desvio padrão, que é usado como
objetivo a ser minimizado através do procedimento de otimização, de acordo com a expressão
22
=
==
N
i
iN
qq
N
sf
1
2
2
)(
1
(2.23)
Uma vez especificado o objetivo, é necessário definir o domínio da otimização, ou
seja, o espaço de projeto. Como as variáveis de projeto são definidas em um espaço teórico (o
espaço de transformações de um corpo rígido) e as restrições de posicionamento são definidas
no espaço cartesiano (o espaço de trabalho), inclui-se um parâmetro de penalização na
presente formulação.
Definindo o erro de posicionamento teórico por
<
=
contrário caso ||
|| se 0
0
0
base
n
end
base
n
end
i
PTP
PTP
error
ε
(2.24)
onde P
base
e P
end
são os pontos Cartesianos referentes à base do robô e ao seu efetuador,
respectivamente, o parâmetro de penalização é dado por
)(
3
==
error
E
esf
. (2.25)
A equação (2.24) significa que o erro de posicionamento do efetuador é considerado
nulo quando a precisão do posicionamento é superior a aquela especificada por ε (dado em
metros). Caso contrário, o erro de posicionamento corresponde à distância entre a posição
cartesiana especificada para o efetuador e a posição obtida através do cálculo da cinemática
direta. Combinando o índice de manipulabilidade com o efeito vibracional e o erro da
cinemática inversa, define-se uma função objetivo escalar que consiste na soma dos diferentes
critérios através da expressão
32
1
4
ffff ++= (2.26)
onde
1
1
.fwf
ref
= (dado pela Equação 2.14), w
ref
é um valor de referência , f
2
=s
N
(Equação
(2.23)), e f
3
=s
E
(dado pela Equação (2.25)).
23
O valor de referência w
ref
é definido de tal forma que f
1
=1 no início do processo de
otimização. Por este motivo, no caso ideal, o valor da função objetivo é menor do que 2, onde
f
1
1 (a manipulabilidade é aumentada), f
2
=0 (não há erro devido à vibração) e f
3
=1 (não há
erro no cálculo da cinemática inversa). Deve-se destacar que a formulação proposta é
apropriada para considerar o caso no qual a tarefa está fora do espaço de trabalho do robô.
Esta configuração reflete no erro que aparece durante o cálculo da cinemática inversa, que é
considerado como uma penalidade da função objetivo.
24
potencial do sistema completo, considerando os estados do sistema durante um intervalo de
tempo finito. Este enfoque trabalha com quantidades escalares, ou seja, com as energias.
Independentemente do enfoque utilizado, no final do processo são determinadas as
forças generalizadas, conforme descrito pela equação
)())(())(),(()())((
t
u
t
q
g
t
q
t
qc
t
q
t
q
M
=
+
+
&&&
(2.27)
onde
)( e )(),( tqtqtq
&&&
são a posição, velocidade e aceleração de cada junta, respectivamente.
M(q(t)) é a matriz de massa no espaço de coordenadas de junta e
))(),((
t
q
t
qc
&
é o vetor de
força de Coriolis e força centrífuga. O vetor g(q(t)) é o vetor das forças gravitacionais e u(t) é
o vetor de forças generalizadas.
A energia necessária para movimentar o robô é uma característica de projeto
importante, pois em aplicações reais a fonte de energia é limitada e qualquer redução em seu
consumo leva a uma redução do custo de operação. Devido à relação entre energia e potência,
a energia mínima pode ser estimada a partir da força generalizada u(t), que é associada a cada
junta i no instante de tempo t
0
t t
f
.
2.6.1 Equações de Euler-Lagrange
A determinação das equações que descrevem a dinâmica de um sistema mecânico
consiste em obter um conjunto de equações diferenciais gerais que descrevem sua evolução
no tempo, considerando um conjunto de restrições holonômicas que satisfazem o princípio do
trabalho virtual.
As restrições para k coordenadas r
1
, ..., r
k
de um sistema mecânico são chamadas
holonômicas se as l restrições existentes forem restrições de igualdade, escritas na forma
g
i
(r
1
, ..., r
k
) = 0, i=1, ..., l. (2.28)
As restrições são ditas não-holonômicas em caso contrário.
Para melhor compreensão, a restrição imposta pela conexão de duas partículas através
de uma barra rígida de massa desprezível é uma restrição holonômica. Uma partícula que se
move dentro de uma esfera de raio r
0
centrada na origem do sistema de coordenadas é um
exemplo de sistema com restrições não-holonômicas (Spong, 1989).
25
Se um sistema é sujeito a l restrições holonômicas, então é apropriado pensar em
termos do sistema restrito que tem l graus de liberdade a menos que o sistema irrestrito. Neste
caso é possível expressar as coordenadas das k partículas em termos das n coordenadas
generalizadas q
1
, ..., q
n
. Em outras palavras, pode-se assumir que as coordenadas das várias
partículas, sujeitas ao conjunto de restrições dados pela Equação (2.28), podem ser expressas
da forma
r
i
= r
i
(q
1
, ..., q
n
), i=1, ..., k. (2.29)
onde q
1
, ..., q
n
são todos linearmente independentes e n indica o número de graus de liberdade
do sistema. Neste trabalho as variáveis q
i
representam as coordenadas de junta do robô
manipulador,
i
q
&
a velocidade, e
i
q
&&
a aceleração associada.
É possível obter a expressão que representa a dinâmica do sistema de duas formas
distintas. A primeira consiste no uso do método dos deslocamentos virtuais, enquanto a
segunda consiste no uso do Princípio de Hamilton da menor ação (Spong, 1989).
A seguir, tem-se uma descrição resumida do procedimento variacional.
Alguns problemas de otimização consistem em determinar q(t)
n
, t
1
t
t
2
, que
minimiza
=
2
1
)),(),((
t
t
dtttqtqfQ
&
(2.30)
sendo f uma função escalar. Assume-se que f seja contínua em relação a q,
q
&
, t e que tenha
derivadas parciais contínuas em relação à q e
q
&
.
Supondo
q(t
1
) e q(t
2
) dados, a variação h(t)
n
é um vetor diferençável que satisfaz
h(t
1
) = h(t
2
) = 0. O teorema a seguir apresenta o princípio dos métodos variacionais
(Luenberger, 1969)
Teorema: Uma condição necessária para q(t)
n
resultar em um valor extremo da
Equação (2.30) é que a equação a seguir seja satisfeita para todo
h(t)
n
:
26
δ
Q(q ; h) = 0|),,(
2
1
0
=
=
t
t
s
dttqqf
ds
d
&
(2.31)
Corolário: A condição necessária para que q(t) resulte um valor extremo de
=
2
1
)),(),((
t
t
dtttqtqfQ
&
(2.32)
é que q(t) deve satisfazer a equação
0=
q
f
q
f
dt
d
&
. (2.33)
A Equação (2.33) é chamada equação de Euler-Lagrange e é uma equação
fundamental nos métodos variacionais.
A partir desta expressão, desde que se conheça a função Lagrangeana
L de um sistema,
é possível encontrar (Fu
et al., 1987) as equações de Lagrange (para sistemas conservativos),
através de
=
ii
q
L
q
L
dt
d
&
u
i
, i=1, ..., n. (2.34)
onde o Lagrangeano é dado por
L = K – P (2.35)
e K representa a energia cinética, P a energia potencial, q
i
são as coordenadas generalizadas
(no caso do robô, tem-se juntas rotacionais e prismáticas),
i
q
&
são as velocidades
generalizadas (angular se a junta é rotacional, ou linear, se prismática) e
u
i
são as forças
generalizadas (torque se a junta é rotacional, ou força, se prismática) do sistema considerado.
27
2.6.2 Torque e potência mecânica
A função Lagrangeana
L = K – P é definida pela diferença entre a energia cinética K
e a energia potencial P do sistema. As equações dinâmicas, para sistemas conservativos, em
termos da função Lagrangeana são dadas por:
i
q
L
i
q
L
dt
d
i
u
=
&
(2.36)
onde, q
i
é a coordenada generalizada do sistema (θ
i
para junta rotacional e d
i
para junta
prismática),
i
q
&
é a velocidade generalizada (velocidade angular
i
θ
&
para junta rotacional e
velocidade linear
i
d
&
para junta prismática) e u
i
é a força generalizada.
Usando a Equação (2.36), as forças generalizadas
u
i
são escritas como (Paul, 1982):
ikj
n
i
j
k
ijkiaij
n
j
iji
GqqCqIqDu +++=
∑∑
===
&&&&&&
111
(2.37)
onde, D
ij
é a matriz de inércia do sistema, C
ijk
é a matriz de Coriolis e das forças centrífugas,
I
ai
é a inércia dos atuadores e G
i
é o vetor das forças gravitacionais.
A energia necessária para realizar o movimento é importante, pois além da limitação
de suprimento, uma trajetória que consome menos energia leva a uma redução dos custos de
operação, aspecto determinante nas operações repetitivas do processo produtivo na indústria.
Devido à relação existente entre energia e força, pode-se estimar a energia mínima necessária
através da força generalizada
u
i
(t) associada a cada junta i no instante t. Neste trabalho
considera-se o uso da expressão:
=
=
f
t
t
n
i
dtt
i
uf
0
1
2
)(
5
(2.38)
para o cálculo da energia total utilizada pelo sistema, e da expressão:
28
=
=
f
t
t
n
i
dtt
i
qt
T
i
uf
0
1
2
)()(
6
&
(2.39)
para o cálculo da potência mecânica. A potência mecânica é uma expressão representativa por
considerar, simultaneamente, os aspectos cinemático e dinâmico da trajetória (Saramago e
Steffen, 1998).
2.6.3 Modelo dinâmico do Manipulador Planar
A seguir, consideram-se as características do robô manipulador planar com 2 graus de
liberdade, que tem os parâmetros de
Denavit-Hartenberg apresentados na Tabela 1.
Tabela 1: Parâmetros
de Denavit-Hartenberg, (*) variável de junta.
Elemento a (m)
α
(rad)
d (m)
θ (rad)
29
M
12
= (1/3) m
2
a
2
2
+ 0.5 m
2
a
1
a
2
cos(q
2
)
M
21
= (1/3) m
2
a
2
2
+ 0.5 m
2
a
1
a
2
cos(q
2
)
M
22
= (1/3) m
2
a
2
2
c
11
= -m
2
a
1
a
2
sin(q
2
)
1
q
&
2
q
&
- 0.5 m
2
a
1
a
2
sin(q
2
) (
2
q
&
)
2
c
21
= 0.5 m
2
a
1
a
2
sin(q
2
) (
2
q
&
)
2
g
11
= -0.5 m
1
g a
1
cos(q
1
) - 0.5 m
2
g a
2
cos(q
1
+q
2
) - m
2
g a
1
cos(q
1
)
g
21
= -0.5 m
2
g a
2
cos(q
1
+q
2
)
O valor g = 9,81m/s
2
representa a aceleração gravitacional. A partir da especificação
acima, a Equação (2.40) define completamente o comportamento dinâmico do sistema.
Estabelecido o sistema de equações dinâmicas, para se derivar as condições de
otimalidade do problema e se aplicar um método numérico geral, é necessária a transformação
do sistema de segunda ordem em um sistema de primeira ordem. Esta operação é conhecida
como a definição das equações de estado do sistema.
Definindo as variáveis de estado
x
1
= q
1
, x
2
= q
2
, x
3
=
1
q
&
e x
4
=
2
q
&
, com o uso da
notação
w
1
= (x
1
x
2
)
T
e w
2
= (x
3
x
4
)
T
, tem-se o sistema de equações diferenciais de primeira
30
CAPÍTULO III
TÉCNICAS DE OTIMIZAÇÃO
O conceito de otimização atualmente está arraigado como um princípio determinante
na solução de muitos problemas de decisão complexa. Além de certa elegância intrínseca ao
tratamento destes problemas, freqüentemente se oferece um indispensável grau de
simplicidade operacional. Utilizando a filosofia de otimização, pode-se aproximar um
problema de decisão complexa, envolvendo a seleção de valores para um grande número de
variáveis inter-relacionadas, através da atenção a um único objetivo definido para quantificar
a performance e medir a qualidade da decisão.
Este objetivo é maximizado (ou minimizado, dependendo da formulação) sujeito às
restrições que limitam a seleção dos valores das variáveis de decisão (ou de projeto). Se um
aspecto conveniente de um problema pode ser isolado e caracterizado como um objetivo, a
otimização oferece uma estrutura adequada para análise.
O conceito de otimização é utilizado extensivamente durante esta pesquisa. Devido à
diversidade de formulações propostas com diferentes enfoques, neste capítulo faz-se uma
revisão sobre os aspectos teóricos. As especificidades de implementação nos diferentes
problemas são apresentadas nos capítulos seguintes, onde se define o objetivo a ser atingido
juntamente com a formulação correspondente.
A seção 3.1 traz uma breve revisão sobre o conceito de programação não linear, além
de termos pertinentes, tais como mínimo local e mínimo global.
A seção 3.2 faz um resumo dos resultados referentes ao método do Gradiente. A
proposta de determinação de trajetória apresentada na seção 8.2 é inspirada nesta formulação.
Além disto, os métodos utilizados em todas as etapas da otimização nos Capítulos 6, 7 e 8
consistem de algoritmos que têm, em essência, funcionamento semelhante ao daquele método.
A seção 3.3 apresenta conceitos referentes à teoria de Controle Ótimo. Considera-se a
formulação clássica de sistemas dinâmicos contínuos e sistemas dinâmicos discretos. As
31
propostas de otimização realizadas nas seções 7.1, 7.2, 7.5 e 7.6 consideram a solução
numérica do problema de controle através de sua reformulação como problema de
programação não linear.
Na seção 3.4 faz-se uma revisão sobre programação multicritério e sobre o critério de
otimalidade segundo Pareto (Eschenauer et al., 1990). Este conceito é aplicado para a
determinação de um índice de desempenho escalar para as estratégias propostas nas seções
6.1, 6.2, 7.2, 7.4, 7.5, 7.6 e 8.2.
A seção 3.5 traz um comentário sobre a metodologia Tunneling de otimização global.
Esta metodologia foi utilizada com sucesso pelas estratégias propostas nas seções 6.2 e 7.2.
3.1 Programação não-linear
Dentre as diversas classes de problemas de otimização, muitos daqueles encontrados
em robótica são formulados como problema de programação não linear restrito. Em geral,
este tipo de problema tem a forma
min f(q) (3.1)
sujeito à
G(q) = 0 (3.2)
H(q)
0 (3.3)
q
L
q
q
U
(3.4)
O vetor q
n
é o vetor das variáveis de projeto. A função objetivo f(q)
, as
funções de restrição de igualdade G(q)
p1
e desigualdade H(x)
p2
podem ser funções
lineares ou não lineares das variáveis de projeto q. As restrições laterais q
L
e q
U
delimitam o
domínio da função objetivo. Usualmente trabalha-se com funções contínuas que contenham
derivadas contínuas (ou seja, são funções de classe C
1
).
Possivelmente, a primeira questão que surge no estudo de problemas de otimização é
determinar quando existe uma solução para o mesmo. O principal resultado que pode ser
32
utilizado para responder a este ponto é dado pelo teorema de Weierstras, que estabelece: se a
função objetivo f é contínua e seu domínio é compacto, então existe solução para o
problema proposto.
A análise de um problema de otimização pode resultar em dois tipos de solução
(Luenberger, 1984): ponto de mínimo local, e ponto de mínimo global. A seguir, definem-se
os conceitos relativos a estas soluções.
Definição: Um ponto q*
é dito ponto de mínimo relativo ou ponto de mínimo
33
3.2 O método do Gradiente
O método do Gradiente é um algoritmo utilizado para a determinação do minimizador
de uma função. Seu nome se deve ao fato dele utilizar a direção oposta àquela do gradiente da
função, como direção de busca.
O método do Gradiente consiste da realização da seqüência de passos abaixo para
minimizar uma função f definida em
n
. Se x
k
n
é tal que
f(x
k
)
0, os passos para
determinar x
k+1
são
Calcular d
k
= -
f(x
k
) (3.5)
Determinar
λ
k
, minimizador de f(x
k
+
λ
d
k
) sujeita a
λ
= 0. (3.6)
(Busca linear exata)
Fazer x
k+1
= x
k
+
λ
k
d
k
. (3.7)
Se
cxbAxxxf
TT
++=
2
1
)( (3.8)
com a matriz A definida positiva, então existe um único x*
n
que minimiza f. Neste caso,
a busca linear exata determina
)(.).(
)().(
kk
T
kk
T
k
xfAxf
xfxf
=
λ
(3.9)
O teorema a seguir garante a convergência da seqüência gerada pelo algoritmo
anterior (Equações (2.1) a (2.3)) para qualquer aproximação inicial (Luenberger, 1984), e
estabelece que a ordem de convergência da seqüência associada {f(x
k
)} é linear.
Teorema 3.1: Seja RRf
n
: uma função quadrática com a matriz Hessiana A
definida positiva. Seja x* o minimizador global de f. Dado x
0
n
arbitrário, o algoritmo
anterior gera uma seqüência {x
k
} tal que
34
*lim xx
k
k
=
(3.10)
*)()(lim xfxf
k
k
=
(3.11)
*))()((*)()(
2
21
21
1
xfxf
aa
aa
xfxf
kk
+
+
(3.12)
onde a
1
e a
2
são o maior e o menor autovalores de A, respectivamente.
Este teorema estabelece a condição necessária a ser satisfeita pela função objetivo de
forma a garantir a convergência do método proposto. Esta informação será utilizada como
referência para a modelagem do espaço de trabalho e dos obstáculos, apresentados a seguir.
3.3 Controle ótimo
O objetivo do projeto de um sistema de controle em malha fechada é diminuir a
sensibilidade da planta a distúrbios externos. A filosofia de projeto consiste em ajustar o valor
de vários parâmetros do controlador de uma forma dada através de uma estratégia inteligente
de tentativa e erro, até parecer que o sistema completo irá satisfazer as especificações.
A característica essencial do método de controle convencional é, primeiramente, o
estabelecimento de uma especificação no domínio da freqüência que é relacionada à
performance desejada no domínio do tempo, e em segundo, o ajuste através de tentativa e erro
de certos parâmetros do sistema na tentativa de trazer o desempenho do sistema aos limites
requeridos.
O uso do controle ótimo moderno permite uma visão diferente sobre o problema,
permitindo o estabelecimento de um índice de performance analítico para o sistema, e o
projeto do sistema de tal forma que isto otimize um índice selecionado (Bryson, 1999). Nas
últimas décadas, as técnicas matemáticas de cálculo das variações e passo de decrescimento
têm sido retomadas e estendidas para o uso em problemas de controle ótimo. Em acréscimo,
outras técnicas como a programação dinâmica e o princípio do máximo têm sido utilizados
para a resolução de problemas de controle ótimo. Em cada um destes casos o sistema é
35
descrito em termos de uma formulação de variáveis de estado do sistema de equações,
definindo as leis de movimento do processo.
Esta teoria é geralmente formulada através de um sistema com variáveis contínuas.
Assim, sua operação é modelada através do uso de equações diferenciais. A representação
discreta destas equações é geralmente utilizada quando se consideram propósitos
computacionais.
Problemas de programação dinâmica para sistemas contínuos decorrem do cálculo de
variações. Estes problemas podem ser considerados como casos limite para os problemas de
programação ótima aplicada a sistemas discretos, onde os intervalos de tempo entre os passos
são pequenos se comparados ao tempo característico do sistema contínuo.
Atualmente, o procedimento inverso é mais comum, ou seja, sistemas contínuos são
aproximados por sistemas discretos para simulação em computadores digitais (Bryson, 1999).
3.3.1 Sistema dinâmico contínuo
Um sistema dinâmico contínuo é descrito por um vetor de estado n-dimensional q(t)
especificado no tempo t. A escolha do vetor de controle m-dimensional v(t) determina a taxa
de variação do tempo para a atualização do vetor de estado através da relação
)),(),(()( ttvtqftq =
&
. (3.13)
O caso geral de otimização para este tipo de sistema consiste em determinar o histórico no
tempo do vetor de controle v(t), onde t
0
t
t
f
, que minimiza um índice de performance da
forma
J =
φ
[ q(t
f
) ] +
f
t
t
0
L(q(t), v(t) ,t) dt (3.14)
sujeito à Equação (3.13), onde t
0
, t
f
, e q(t
0
) são especificados.
Em alguns problemas de otimização dinâmica há restrições terminais, especificando o
estado terminal do sistema através de uma função da forma
36
ψ
[ q(t
f
) ] = 0, (3.15)
onde
ψ
tem dimensão menor ou igual a n.
Este tipo de problema requer uma extensão da teoria e dos algoritmos que tratam o
problema irrestrito. Utilizando a forma de Mayer (Bryson, 1999), o problema consiste em
determinar u(t) de forma a minimizar
J =
φ
[ q(t
f
) ] (3.16)
sujeito a
]),(),([ ttvtqfq =
&
, (3.17)
q(0) = q
0
(3.18)
Ψ
[ q(t
f
) ] = 0. (3.19)
3.3.2 Sistema dinâmico discreto
Um sistema dinâmico discreto é descrito por um vetor de estado n-dimensional
q(i) em
cada passo i. A escolha de um vetor de controle m-dimensional v(i) determina a transição do
sistema para o estado q(i+1) através da relação:
q(i+1) = f[q(i),v(i), i], (3.20)
onde
q(0) = q
0.
(3.21)
Dado o número de passos N, o problema de otimização geral para este tipo de sistema
consiste em determinar a seqüência de vetores de controle v(i), i=0, ..., N-1 que minimizam
um índice de performance da forma
37
J =
φ
[ q(N) ] +
=
1
0
N
i
L[q(i), v(i), i], (3.22)
sujeito às Equações (3.20) e (3.21), sendo N, q
0
e a função f , especificados previamente.
Este é um problema de otimização paramétrica com restrições de igualdade que pode
ser resolvido por um método de programação não linear, considerando os valores do vetor de
controle v(i) como variáveis de projeto.
Dado um valor inicial para cada v(i), os valores do vetor de estado q(i) podem ser
calculados com o objetivo de otimizar J.
A extensão da formulação apresentada, para um sistema discreto com restrições
terminais, consiste em determinar v(i) que minimize a equação:
J =
φ
[q(N)] (3.23)
sujeito a
q(i+1) = f[q(i), v(i), i], i=0, ..., N-1, (3.24)
q(0) = q
0
(3.25)
Ψ
[ q(N) ] = 0. (3.26)
3.3.3 Solução numérica
Somente problemas bastante simples podem ser resolvidos analiticamente. Por este
motivo, considera-se o uso de algoritmos iterativos para obter a solução numérica. Na
formulação de Mayer o vetor de estado dado pelas Equações (3.20) e (3.21) é acrescido de um
estado q
n+1
(i), que é a soma acumulada de L no passo i, ou seja,
q
n+1
(i+1) = q
n+1
(i) + L[q(i), v(i), i] , (3.27)
q
n+1
(0) = 0.
Assim, o índice de performance é definido como:
38
J =
φ
[ q(N) ] + q
n+1
(N). (3.28)
Considerando w = [q, q
n+1
], deve-se então encontrar uma seqüência de vetores v(i),
i=0, ..., N-1, que minimiza (ou maximiza) a equação:
J =
φ
[ w(N) ] (3.29)
sujeito a
w(i+1) = f[w(i), v(i), i], (3.30)
w(0) = [q
0
, 0] (3.31)
Ψ[ w(N) ] = 0. (3.32)
onde q
0
e N são especificados.
Na literatura há diferentes métodos propostos para a solução deste tipo de problema.
O método Multiple Shooting é uma ferramenta eficiente na resolução de problemas de
valores de contorno altamente não lineares (von Stryk and Schlemmer, 1994). Pode-se
encontrar uma descrição detalhada do mesmo, por exemplo, em Stoer and Bulirsch (1993).
Este método oferece uma solução bastante precisa, entretanto algumas características
que limitam seu uso na resolução numérica de problemas de controle ótimo são: (a) o
desenvolvimento algébrico das condições necessárias de otimalidade, ou seja, das equações
diferenciais adjuntas, (b) necessidade de estimação do comportamento do controle ótimo, e
(c) o estabelecimento de uma aproximação inicial apropriada para as variáveis de estado e
variáveis adjuntas, para se iniciar o processo iterativo.
Pode-se também utilizar métodos do tipo Direct Collocation, que tem por base uma
aproximação finita das variáveis de controle e estado, através de discretização. Para tanto,
deve-se escolher uma aproximação através de um controle contínuo, linear por partes e
continuamente diferençável. A discretização resulta em um problema de otimização não linear
sujeito a restrições não lineares. As propriedades de convergência do método e detalhes sobre
sua implementação são apresentados em von Stryk (1991).
Alternativamente, pode-se utilizar uma combinação de métodos diretos e indiretos,
conforme proposto no trabalho de von Stryk and Schlemmer (1994).
39
No trabalho atual, os resultados apresentados foram computados através de um método
de otimização não linear clássico, que não exige a determinação de parâmetros tais como o
tamanho do passo e onde se calcula as derivadas parciais numericamente. O algoritmo
consiste em uma implementação do método das direções viáveis modificado (Vanderplaats,
1984), (Zoutendijk, 1960), presente no software DOT ® (Vanderplaats, 1995). Os algoritmos
foram implementados em FORTRAN.
3.4 Programação multicritério
Uma das formas de trabalhar com situações nas quais existem múltiplos critérios a
serem considerados, é utilizar um vetor de variáveis de projeto q, que satisfaz todas as
restrições e determinar um índice de performance escalar, calculado a partir das m
componentes de um vetor de funções objetivo f(q), tornando-o tão pequeno quanto possível.
Este objetivo pode ser atingido através do problema de otimização vetorial:
}0)(,0)(|)({min
=
qHqGqf
q
(3.33)
onde
n
representa o domínio da função objetivo (o espaço de projeto).
Uma característica dos problemas de otimização multicritérios é que o otimizador em
geral deve saber lidar com objetivos conflitantes (Eschenauer et al., 1990). Outros autores
consideram a chamada programação de compromisso, pois não há solução única para o
problema (Vanderplaats, 1999).
Assim, neste contexto, é apresentado o conceito de otimalidade.
40
3.4.1 Critério de otimalidade segundo Pareto
Um vetor q
*
n
é ótimo segundo Pareto para o problema (3.33) se, e somente se,
não há um vetor q
n
com as características:
(i) f
j
(q) = f
j
(q
*
) para todo j {1,...,m} (3.34)
(ii) f
j
(q) < f
j
(q
*
) para ao menos um j {1,...,m}. (3.35)
Para todos os vetores não ótimos segundo Pareto, o valor de pelo menos uma função
objetivo f
j
pode ser reduzido sem aumentar o valor das funções das outras componentes.
Pode-se obter a solução do problema de otimização multicritério de diferentes
maneiras, definindo-se o chamado problema substituto. Os problemas substitutos consistem
em diferentes formas de obter o valor da função objetivo escalar correspondente (Eschenauer
et al., 1990).
3.4.2 Método da Ponderação dos Objetivos
O Método da Ponderação dos Objetivos (Method of Weighting Objectives) é um dos
modelos substitutos mais usuais para o problema de otimização vetorial. Ele permite uma
formulação preferencial que é independente dos valores mínimos individuais para ponderação
positiva. A função de preferência é determinada através da combinação linear dos critérios f
1
,
...,f
m
, juntamente com os fatores de ponderação k
1
, ...,k
m
através da expressão:
p[f(q)] =
=
m
j 1
[ k
j
f
j
(q) ], q . (3.36)
Usualmente assume-se 0 = k
j
=1 e Σk
j
= 1. É possível gerar um conjunto de soluções
ótimas segundo Pareto para o problema original (Equação 3.33) através da variação dos
fatores de ponderação k
j
na função de preferência.
41
3.4.3 Método das Funções de Distância
O Método das Funções de Distância (Method of Distance Functions) é freqüentemente
utilizado e também leva a uma representação escalar do problema de otimização vetorial.
Deve-se especificar o chamado vetor de níveis de demanda
T
m
yyy ],...,[
1
= com o valor a ser
42
encontrado) para a próxima fase da minimização. O nome do algoritmo se deve a
interpretação gráfica de sua execução.
Em resumo, o cálculo envolve as seguintes etapas:
a) Fase de minimização: Dado um ponto inicial q
0
, o procedimento de otimização
obtém um mínimo local q* de f(q). Ao final, considera-se que um mínimo local é encontrado.
b) Fase tunneling: Dado q* encontrado acima, como ele é um mínimo local, existe ao
menos um q
0
, tal que
f(q
0
) f(q*), q
0
q* (3.38)
Em outras palavras, existe q
0
= { q – {q*} | f(q) f(q*) }. Para mover de q*
para q
0
através da fase tunneling, define-se um novo ponto inicial q = q* + δ, q , utilizado
na função auxiliar
η
)]()[(
)()(
)(
**
*
qqqq
qfqf
qF
T
=
(3.39)
que tem um pólo em q* para um valor de
η
suficientemente grande.
Através do cálculo das duas fases iterativamente, a seqüência de mínimos locais leva
ao mínimo global.
São sugeridos diferentes valores de
η
(Levy and Montalvo, 1985) para uso na Equação
(3.39), com o objetivo de evitar pontos não desejados e prevenir falha na busca realizada pelo
algoritmo. Nos casos considerados, o critério de parada é a realização de cinco iterações
sucessivas sem a melhoria adicional no valor da função objetivo.
43
Quando a definição do problema assim o exige, considera-se o uso de uma função
objetivo e as restrições correspondentes na fase de minimização. Durante a fase tunneling,
utiliza-se uma relaxação da formulação, através do uso da função objetivo irrestrita.
Esta alteração no uso das restrições em cada fase oferece uma maior liberdade para o
método na busca de uma nova configuração ótima.
44
CAPÍTULO IV
TRAJETÓRIA
O tipo de movimento mais simples de um robô é o movimento de uma posição inicial
a uma posição final, ambos previamente definidos. No caso mais simples o robô é comandado
de uma configuração inicial a uma configuração final, sem preocupação sobre o caminho
intermediário percorrido pelo mesmo.
Para um controle mais preciso sobre a forma do movimento, pode-se fazer um
planejamento através da programação off-line, que permite a análise de elementos como
deslocamento, velocidade e aceleração durante todo o percurso. Neste caso é necessário o
cálculo da solução cinemática inversa, ou seja, a partir de uma posição cartesiana
especificada, determinam-se as coordenadas de junta correspondentes que resultem nesta
configuração.
A técnica mais comumente utilizada para determinação da transição entre as posições
iniciais e finais desejadas (ou seja, o cálculo efetivo do movimento) consiste em realizar uma
interpolação entre estes dois pontos, a partir das respectivas coordenadas de junta.
Pode-se realizar uma interpolação polinomial simples, ou utilizar técnicas mais
sofisticadas, como a interpolação através de funções do tipo spline. As diferentes técnicas de
interpolação permitem a análise não só do posicionamento e orientação do robô, mas também
oferecem informações sobre velocidade, aceleração, torque e energia requeridos para a
realização da tarefa (Saramago and Steffen Jr, 1998).
A seção 4.1 traz uma breve discussão sobre a especificação da trajetória através de
interpolação, utilizada como estratégia de determinação de uma trajetória inicial para as
metodologias apresentadas nos Capítulos 6 e 7.
A seção 4.2 apresenta diferentes alternativas para a representação do obstáculo no
espaço de trabalho.
45
A seção 4.3 discute a proposta de uso da otimização para determinação da trajetória e
desvio de obstáculos durante o planejamento da trajetória. Este enfoque constitui a base para a
proposição das diferentes estratégias de projeto apresentadas neste trabalho.
4.1 Interpolação
Definidas as posições inicial e final para uma dada tarefa, é necessário determinar uma
trajetória suave no espaço de junta. A trajetória é definida de acordo com o histórico de
posições, velocidades e acelerações de cada junta, como funções que dependem do tempo.
Dado um manipulador com n graus de liberdade, inicialmente devem-se estabelecer os
respectivos ângulos de junta, q
i
, i=1 ... n, relativos à configuração inicial e final. Então se
define uma função de interpolação, P
i
(t), para cada coordenada de junta i, de tal forma que as
especificações de posição sejam satisfeitas. Este procedimento requer a especificação do
tempo inicial e final, t
0
e t
f
, os vetores de posição inicial e final, q
i
(t
0
) e q
i
(t
f
), e as velocidades
inicial e final, )(
0
tq
i
&
e )(
fi
tq
&
, respectivamente. As restrições sobre os valores das coordenadas
de junta são expressas por
)()(
00
tqtP
ii
= e
)()(
fifi
tqtP =
, (4.1)
e as especificações para a velocidade são dadas por
)(tq)(t
q
P
i
i
i
00
&
=
e )(tq)(t
q
P
fif
i
i
&
=
. (4.2)
A trajetória assim obtida, através de interpolação polinomial ou splines, por exemplo,
satisfaz os requisitos de suavidade. Entretanto, ela não representa necessariamente a
configuração ótima do sistema, de acordo com outros critérios de performance. Assim, têm-se
diferentes abordagens para a otimização deste movimento.
46
4.2 Desvio de obstáculos
Um requisito freqüentemente analisado na determinação da trajetória é o desvio de
obstáculos. O problema de desvio de obstáculos em robótica pode ser subdividido em três
etapas: o mapeamento do ambiente, a determinação da distância entre o manipulador e os
demais objetos do ambiente, e a decisão de como movimentar um dado manipulador de forma
a evitar da melhor forma possível o contato com outros objetos.
O planejamento da trajetória pode ser estático ou dinâmico, dependendo da forma pela
qual a informação sobre o obstáculo está disponível.
No problema estático, toda a informação sobre o obstáculo é conhecida a priori, e o
movimento do robô é calculado a partir desta informação. No planejamento dinâmico,
somente informação parcial sobre o obstáculo está disponível, por exemplo, sua parte visível
ou a execução de um percurso desconhecido. Para atingir o objetivo proposto, o robô planeja
o percurso a partir da informação disponível. Conforme o robô segue seu percurso, descobre
mais informações sobre o obstáculo, sendo que o processo de atualização da representação e
planejamento da trajetória é repetido sucessivamente até que o objetivo final seja atingido.
O planejamento do movimento pode ser restrito ou irrestrito, de acordo com a
presença de restrições inerentes ao movimento do robô, ou seja, restrições que surgem devido
a outras razões além da colisão com obstáculos. Elas incluem a limitação da velocidade,
aceleração, torque, ou restrições sobre a curvatura no percurso do robô. Cabe destacar que o
planejamento do percurso de qualquer sistema físico é restrito, pois os atuadores (motores)
têm potência limitada.
O espaço de trabalho se refere ao espaço físico onde o robô e eventuais obstáculos
coexistem. A configuração de um objeto ou de um robô é definida por um conjunto de
parâmetros independentes que especificam completamente a posição de todo ponto do objeto
ou robô.
O espaço gerado pelo conjunto de todas as configurações possíveis, ou seja, o espaço
de coordenadas de junta de um robô é fundamental para o planejamento do movimento.
Um dos primeiros trabalhos a explorar este conceito para o planejamento de
movimento é aquele proposto por Lozano-Pérez and Wesley (1979). Em essência, os
diferentes problemas de planejamento de movimento são equivalentes, uma vez que eles são
formulados no espaço de possíveis configurações do robô. A análise se reduz ao problema de
determinar uma seqüência conectada de pontos entre a configuração inicial e final no espaço
47
de coordenadas de junta. A dimensão deste espaço é igual ao número de parâmetros que
representam uma configuração, também chamado de número de graus de liberdade do robô.
Há um grande número de abordagens para o planejamento do movimento de robôs.
Segundo Hwang and Ahuja (1992) os diferentes métodos podem ser classificados segundo
algumas abordagens gerais: esqueleto (skeleton), decomposição em células (cell
decomposition
), campo potencial (potential field) e programação matemática (mathematical
programming
).
A maioria das classes de problemas de planejamento de movimento pode ser resolvida
através de um destes enfoques. Estas abordagens não são mutuamente excludentes, sendo que
uma combinação delas é freqüentemente utilizada no desenvolvimento de uma estratégia de
planejamento de movimento de robôs.
Nas abordagens classificadas como esqueleto, o espaço de coordenadas de junta, ou
seja, o conjunto dos movimentos factíveis, é reduzido ou relacionado a uma rede com linhas
unidimensionais. Esta abordagem é também chamada de retração.
A busca pela solução é limitada a elementos da rede, e a estratégia se torna um
problema de busca em um grafo. Nesta abordagem, o planejamento do movimento é realizado
em três passos. Primeiro, o robô é movido de sua configuração inicial até um ponto no
esqueleto, através de um método apropriado. A seguir, o robô é movido da configuração
objetivo (a configuração final desejada) para um ponto do esqueleto da mesma forma. Então
os dois pontos no esqueleto são conectados através de segmentos do esqueleto. O esqueleto
deve representar todos os caminhos factíveis, topologicamente distintos. Caso não haja a
representação completa, o algoritmo de planejamento fica incompleto, ou seja, pode omitir
alguma solução. Duas estratégias de esqueleto bastante populares são o gráfico de visibilidade
e o diagrama de Voronoi (Aurenhammer, 1991).
Nas abordagens baseadas em decomposição de célula, o espaço de coordenadas de
junta é decomposto em um conjunto de células simples, estabelecendo-se relações entre
células adjacentes. Um caminho livre de colisão entre a configuração inicial e final do robô é
encontrado em duas etapas: primeiramente identificam-se as duas células, contendo o início e
o objetivo a ser atingido, e, então, se estabelece a conexão entre elas a partir da relação entre
células intermediárias.
A abordagem baseada em programação matemática representa o requisito de desvio de
obstáculo através de um conjunto de restrições de desigualdade aplicado ao valor das
coordenadas de junta (que é parâmetro de configuração). O planejamento do movimento é
48
formulado então como um problema matemático de otimização que encontra uma curva entre
as configurações inicial e final, minimizando certa quantidade escalar. Como a formulação do
modelo de otimização é não-linear e geralmente contém várias restrições, um método
numérico é utilizado para encontrar a solução ótima.
A abordagem que utiliza o enfoque do campo potencial é estabelecida a partir da
definição de uma função escalar, chamada de potencial, que tem valor mínimo quando o robô
está na configuração objetivo, e um valor elevado (comparativamente) em configurações
49
que incluem a análise de informações relativas à dinâmica do robô, é usual o estabelecimento
de uma trajetória inicial, sendo que a otimização é calculada localmente, na vizinhança deste
caminho (Bobrow et al., 1985) (Shin and McKay, 1984).
4.3.1 Representação do espaço de trabalho
Objetos como esferas, cilindros e paralelepípedos, dentre outros elementos
geométricos simples, são as escolhas mais usuais para a modelagem de obstáculos e
manipuladores no espaço de trabalho, por serem computacionalmente simples. É preciso
armazenar uma quantidade pequena de informações para sua representação completa. Além
disso, considerando que o maior objetivo durante o planejamento da trajetória é permanecer
distante dos obstáculos, freqüentemente não é necessário o uso de modelos detalhados. Caso
seja necessária uma análise mais detalhada do obstáculo, podem-se incluir refinamentos nesta
aproximação. Durante o desenvolvimento da pesquisa os obstáculos são representados por
pontos Cartesianos ou paralelepípedos no espaço tridimensional (Figura 4.1).
Figura 4.1 - Representação do obstáculo feita por ponto cartesiano e através de um
paralelepípedo.
50
4.3.2 Representação do manipulador
Neste trabalho, a posição geométrica do manipulador é representada pela definição de
um conjunto com 2n pontos cartesianos. Adotou-se esta representação devido à geometria
usual do robô, na qual os elementos são relativamente longos em relação ao seu diâmetro. A
representação através de um cilindro também seria apropriada, pois os robôs modernos têm
assumido uma geometria mais estreita, ou seja, uma geometria de pequeno diâmetro ou
espessura em proporção a sua altura ou comprimento.
Em geral, os robôs modernos ocupam uma pequena porção do espaço de trabalho.
Como conseqüência, um modelo com elevado grau de precisão não traz benefícios para o
processo de otimização nos casos aqui considerados.
Além disso, o cálculo da distância mínima de um ponto a um obstáculo (de geometria
arbitrária) é bem mais simples do que aquele envolvido no uso de um modelo mais complexo
(e provavelmente mais preciso) do manipulador.
A localização dos pontos que modelam o manipulador é determinada a partir de
informações de sua cinemática direta, sendo que para os casos estudados cada elemento é
representado por dois pontos: o primeiro é o ponto médio entre suas extremidades e o
segundo é sua extremidade final, conforme representado na Figura 4.2. A cinemática direta
estabelece matrizes de transformação de posições pré-determinadas do manipulador
51
4.3.3 Determinação da distância
Para o efetivo desvio do obstáculo, é importante conhecer em todos os momentos a
distância mínima entre o manipulador e todos os obstáculos na sua vizinhança.
Em várias circunstâncias é importante se ter alguma noção da magnitude de um dado
vetor, sobretudo quando se refere ao tamanho de suas componentes, e não apenas ao número
de componentes que o compõem. Neste contexto, um conceito útil é aquele advindo da
definição de norma, apresentado a seguir:
Definição: Uma norma vetorial de x é um número não negativo, representado por ||x||,
associado com x, e satisfazendo:
· || x || > 0 para 0x e || x || = 0 exatamente quando x=0.
· || k . x|| = |k| . ||x|| para qualquer escalar k.
· || x + y || = ||x|| + ||y||, conhecida como desigualdade triangular.
Quando o obstáculo é representado por um ponto cartesiano (c
x
, c
y
, c
z
), sua distância a
cada ponto de referência (x
i
, y
i
, z
i
), do manipulador, pode ser obtida através da norma
Euclidiana
222
)()()(
ziyixi
czcycxD ++= (4.3)
Um resultado fundamental que relaciona diferentes normas é o seguinte: é possível
demonstrar que duas normas quaisquer ||.|| e ||| . ||| em um espaço de dimensão finita são
equivalentes, no sentido de que existem constantes positivas k
1
e k
2
para as quais
k
1
||x|| = ||| x ||| = k
2
||x||, (4.4)
para todo x (Noble and Daniel, 1977).
Assim, de acordo com a conveniência computacional pode-se optar pela escolha de
outra norma, não implicando contudo na alteração significativa da teoria que justifica seu uso.
52
Ao se representar o obstáculo através de um paralelepípedo, pode-se fazer uma
estimativa aproximada da distância, conforme proposto por Nakamura (1991), através da
equação
2
2
2
+
+
=
z
zi
y
yi
x
xi
l
cz
l
cy
l
cx
D
(4.5)
onde
c
x
, c
y
e c
z
são as componentes cartesianas do centro geométrico do obstáculo e l
x
, l
y
e l
z
são as dimensões de seus lados, conforme apresentado na Figura 4.3.
Figura 4.3 - Obstáculo e suas respectivas dimensões.
Desta forma, é proposto o seguinte índice de performance:
=
j
ij
PQ
qf
2
8
)](min[
1
)(
(4.6)
sendo que f
8
representa o aumento do índice do distanciamento do manipulador em relação ao
obstáculo, obtido através da sua minimização.
l
z
(altura)
l
y
(profundidade)
l
x
(largura)
53
CAPÍTULO V
REVISÃO BIBLIOGRÁFICA: PLANEJAMENTO DO MOVIMENTO
A tarefa a ser realizada e a trajetória a ser executada por um robô manipulador durante
o planejamento de seu movimento é de fundamental importância em inúmeras situações
relacionadas ao projeto de sistemas robotizados.
O movimento acontece no espaço Cartesiano. Entretanto, a maioria dos robôs
industriais, especialmente aqueles articulados, é controlada em seu próprio espaço de
coordenadas de junta. Por este motivo, é necessária a transformação entre o espaço Cartesiano
e o espaço de coordenadas de junta para a realização dos cálculos relativos à realização do
movimento.
O cálculo das variáveis de junta é necessário também na determinação do torque
requerido em cada junta para a realização do movimento e da tarefa especificada para o
sistema.
A determinação das informações referentes à estrutura cinemática do robô
manipulador industrial é obtida de forma eficiente através da convenção de Denavit-
Hartenberg (Denavit e Hartenberg, 1955). Este processo define a determinação da cinemática
direta do robô, ou seja, dadas as variáveis de junta, tem-se a determinação da posição e
orientação do efetuador no espaço Cartesiano.
Por outro lado, o problema de cinemática inversa, que consiste na determinação das
variáveis em coordenadas de junta a partir da posição no espaço Cartesiano, apresenta um
grau de dificuldade um pouco maior na obtenção de sua solução.
Para robôs com estrutura simples é possível determinar explicitamente quais são os
ângulos de junta. Pode-se, alternativamente, recorrer a uma dedução geométrica que relacione
os ângulos (Spong, 1989). Para o caso geral, a determinação das equações explícitas é uma
tarefa trabalhosa, sendo esta específica para cada modelo considerado (Gan et al., 2005). Por
54
este motivo há trabalhos que propõem uma metodologia geral para sua determinação (Mao e
Hsia, 1997), (Zhao e Peng, 1999).
No trabalho de Gan et al. (2005) é apresentada a solução analítica completa para a
cinemática inversa do robô manipulador Pioneer 2 (P2Arm).
Em Özgören (2002) são investigados robôs manipuladores seriais com seis graus de
liberdade do ponto de vista das soluções da cinemática inversa. Os manipuladores são
classificados de acordo com a organização das juntas e são determinadas condições mínimas
para a existência de soluções analíticas. É descrita a forma de obtenção da solução analítica
para cada exemplo típico de configuração de coordenadas de junta e proposta uma
classificação.
Uma abordagem alternativa consiste na determinação de algumas das variáveis de
junta analiticamente e o cálculo das variáveis restantes através de técnicas iterativas. O
número de variáveis de junta que pode ser obtido analiticamente depende da estrutura do
manipulador (Manseur e Doty, 1996). Entretanto, somente certas classes de robôs
manipuladores têm a solução explícita para o problema da cinemática inversa (Balkan et al.,
2000).
Em Balkan et al. (2000) é apresentado um método semi-analítico para a determinação
da cinemática inversa de uma classe de robôs manipuladores, na qual quatro variáveis de
junta estão contidas nas equações que representam o punho (wrist). Este enfoque possibilita a
expressão das outras variáveis de junta em termos de uma selecionada, reduzindo o problema
de cinemática inversa à solução de uma equação escalar não linear contendo a variável de
junta selecionada como incógnita.
Diante da impossibilidade de obtenção da solução explícita em alguns casos, há uma
grande variedade de estratégias alternativas para o cálculo da solução.
Uma possibilidade para resolver o problema consiste na aplicação da resolução do
controle da taxa de movimento (resolved motion rate control), que tem a ver com a
determinação de intervalos de tempo para mudança das variáveis de junta e a integração
numérica destas variáveis por um método apropriado (Wu e Paul, 1982).
Os métodos de continuação polinomial (Polynomial continuation methods), como
outra alternativa, são baseados na solução de um sistema de polinômios através de técnicas de
continuação. Usualmente é realizada uma organização matemática das equações da
cinemática direta de forma a possibilitar a solução do problema de cinemática inversa através
55
da solução de um único polinômio em termos de uma das variáveis de junta (Raghvan and
Roth, 1993).
Em Chapelle e Bidaud (2004) é proposto o uso de algoritmos evolutivos para
determinar uma aproximação algébrica da solução exata do problema de cinemática inversa.
O método tem por objetivo a determinação da solução geral para manipuladores seriais de
geometria arbitrária. Faz-se o ajuste de uma função matemática através de um algoritmo
genético. Esta função é calculada a partir do modelo de cinemática direta, sendo o objetivo
final a determinação de uma expressão analítica que aproxima a solução da cinemática
inversa para uma dada configuração do sistema. Como ilustração do processo de regressão
simbólica evolucionária, o cálculo do modelo de cinemática inversa dos manipuladores
PUMA e GMF Arc Mate são considerados.
Em Nearchou (1998) apresenta-se uma metodologia para a resolução do problema de
cinemática inversa do robô manipulador de cinemática redundante, em ambiente com
obstáculos. O problema é formulado como um problema de otimização restrito, e resolvido
através do uso de algoritmos genéticos. O programa procura por configurações sucessivas do
robô em todo o espaço de trabalho livre. A otimização minimiza simultaneamente o erro de
posicionamento do efetuador e o deslocamento das juntas do robô.
A metodologia proposta em Mitsi et al. (1995) resolve o problema de cinemática
inversa de um manipulador planar redundante ou não redundante considerando critérios de
desvio de obstáculos e limites fixados para o ângulo de junta. É utilizado um modelo de
simulação com a definição de volumes convexos para evitar a colisão. A solução da
cinemática inversa é conduzida pelo método da função de penalidade (penalty function
method).
Em Santos et al. (2005a) é apresentada uma proposta para a determinação da
cinemática inversa de manipuladores seriais através do uso de técnicas de programação não
linear e de uma heurística de otimização global. São propostos índices de performance que
possibilitam a determinação da melhor configuração, considerando informações sobre
manipulabilidade e singularidade do manipulador, além de restrições físicas impostas pelo
desvio de obstáculos.
Quanto ao planejamento do movimento de robôs, a determinação de uma trajetória
eficiente é um tema que tem merecido a atenção de um grande número de pesquisadores. Em
um contexto abrangente, os robôs manipuladores industriais representam um subgrupo, pois
56
estratégias semelhantes são utilizadas para realizar o planejamento de robôs manipuladores de
estrutura paralela, robôs autônomos, ou ainda, a colaboração entre diversos robôs.
Faverjon e Tournasoud (1987) relatam uma estratégia de planejamento de trajetória
global para manipuladores com diversos graus de liberdade. Um método de rede de sub-
objetivos é proposto neste artigo. O planejamento global divide o espaço de coordenadas de
junta em células e atribui a elas a probabilidade que o algoritmo local tenha sucesso em cada
uma das células. Uma estratégia de busca é utilizada para pesquisar a seqüência de regiões
com maior probabilidade de sucesso.
Uma técnica de pesquisa aleatória é desenvolvida para o problema de movimentação,
utilizada em Barraquand e Latombe (1990). O algoritmo constrói de forma incremental um
grafo conectando o mínimo local de uma função potencial definida no espaço de coordenadas
de junta e, simultaneamente, pesquisa neste grafo até chegar ao objetivo. A busca pelo
objetivo ocorre a partir de uma perturbação na solução que corresponde a cada mínimo local
encontrado.
Em Chen e Hwang (1992) tem-se uma proposta de planejamento de movimento
através do método de rede de sub-objetivos. Brooks (1983) propõe uma estratégia de
planejamento para o manipulador PUMA. Os obstáculos são modelados como prismas
poligonais verticais. Os obstáculos são representados por retângulos e um caminho é
encontrado através de uma estrutura que representa os possíveis caminhos a serem seguidos.
Lozano-Pérez (1987) descreve uma metodologia onde a configuração dos obstáculos é
calculada usando o método da bússola, e o espaço de juntas é decomposto em regiões. Um
grafo especificando a conectividade das regiões é construído, e uma estratégia de busca é
aplicada para determinar o caminho mais curto. A configuração dos obstáculos é calculada
considerando-se um elemento de cada vez.
Khatib (1985) apresenta uma proposta de repulsão de potencial artificial para evitar
colisões eminentes entre os elementos do robô e obstáculos. O objetivo do algoritmo é
determinar o desvio rápido e local dos obstáculos em tempo real, para a movimentação do
manipulador ao invés do planejamento de caminhos globais.
Newman e Hogan (1987) usam uma abordagem que associa o valor da função
potencial a forças que atuam no sistema robótico, com o objetivo de determinar o desvio do
obstáculo e a aquisição de alvos pelo manipulador. O manipulador é dirigido somente pela
força que é computada como o gradiente negativo do potencial. Dois tipos de potencial são
usados: o potencial do objetivo, dirigindo o robô na direção da posição objetivo, e outro
57
inibindo a possível parada do manipulador na vizinhança de obstáculos. Se a posição objetivo
está em movimento, o potencial do objetivo é atualizado de maneira correspondente.
O campo potencial é utilizado também em Boissiere e Harrigan (1988) para o desvio
de obstáculo em tempo real de um manipulador PUMA tele-operado. Quando o robô está em
curso de colisão enquanto segue o comando do operador, uma força repulsiva é aplicada para
modificar o caminho comandado.
Um algoritmo que evita a colisão local para manipuladores redundantes é
desenvolvido em Maciejewski e Klein (1985). O objetivo principal do planejamento é fazer
com que o efetuador siga uma trajetória específica. Esta trajetória é tipicamente um caminho
livre de obstáculos para um objeto pontual, e assim a colisão entre os obstáculos e os links do
manipulador não são considerados no estabelecimento desta trajetória inicial. O valor das
variáveis de junta é calculado através do uso da inversa generalizada da matriz Jacobiana.
Shiller e Dubowsky (1988) apresentam um algoritmo de planejamento de trajetória de
tempo ótimo global para manipuladores no espaço de trabalho bidimensional, onde se
considera a colisão entre os elementos (links) e os obstáculos. Um grafo orientado é
construído usando os pontos de uma grade uniforme cobrindo o espaço de trabalho. Os pontos
adjacentes são conectados pelos vértices.
Como o manipulador pode executar a tarefa de muitas formas diferentes, uma escolha
desejável é a de ter a possibilidade de o robô executar o movimento de maneira ótima, de
acordo com algum critério relevante.
A diminuição do tempo de percurso da trajetória constitui naturalmente um critério de
maximização de produtividade explorado por uma grande quantidade de autores.
Em Constantinescu e Croft (2000) é apresentado um método para determinar
trajetórias suaves num tempo ótimo em um percurso restrito. A suavidade desejada da
trajetória é imposta através de limites fixados para o jerk requerido por cada atuador. A
terceira derivada (em relação ao tempo) do parâmetro de percurso, chamado pelos autores de
pseudo-jerk, é a entrada sobre a qual se tem controle. Os limites no torque requerido pelos
atuadores são convertidos em limites da pseudo-aceleração. O problema de controle em
tempo ótimo é formulado como um problema de otimização através do uso de polinômios de
interpolação do tipo spline cúbica para parametrizar a trajetória no espaço de estado
(utilizando as coordenadas de junta). O problema de otimização é resolvido através do
Método da Tolerância Flexível (Flexible Tolerance Method). Maiores detalhes sobre o
método podem ser encontrados em Himmelblau (1989), por exemplo.
58
Adicionalmente, diferentes estratégias para a otimização do tempo podem ser
encontradas em Bobrow et al. (1985), Chen e Desrochers (1989), Chen et al. (1993), Geering
et al. (1986), Heinzinger et al. (1990), Kahn e Roth (1971), Lin et al. (1983), Pfeiffer e
Johanni (1987), Shiller e Lu (1992) e Shin e McKay (1985).
No trabalho de Heilig e McPhee (1999), propõe-se à obtenção de uma trajetória que
resulte num tempo mínimo, através do uso de um método de integração iterativa. Esta
abordagem consiste em uma extensão do método apresentado em Steinbach et al. (1989), que
considera agora os efeitos gravitacionais. Através do resultado obtido após a otimização,
conclui-se que os termos da força centrífuga e gravidade podem ser explorados para reduzir
de forma significante o tempo requerido para o movimento do robô.
Além do fator tempo, é importante lembrar também que a movimentação do robô deve
atender a restrições mecânicas. É desejável que seu movimento seja suave, evitando
alterações bruscas de direção e velocidade. Isto porque movimentos bruscos podem
comprometer não somente a estrutura mecânica do robô, como também, em alguns casos, a
qualidade do produto que está sendo manipulado ou a tarefa está sendo executada (Cao et al.,
1994). Além disso, existem obviamente restrições quanto à quantidade de energia possível de
ser introduzida no sistema através dos atuadores que o acionam.
Pode-se citar ainda os trabalhos de Shiller (1994), Vukobratovic e Kircanski (1982),
Wang e Hamam (1992) e Wappenhans et al.(1994), que têm em comum o objetivo de
determinar o mínimo consumo de energia. Quanto à minimização do jerk, pode-se citar ainda
os trabalhos de Kyriakopoulos e Saridis (1988, 1994) e Simon (1993).
O movimento de manipuladores na presença de obstáculos no espaço de trabalho tem
sido uma área de pesquisa ativa nas últimas décadas (Hwang e Ahuja, 1992). A solução
proposta para este problema, freqüentemente chamada de planejamento de percurso (path
planning) ou desvio de obstáculos (collision avoidance / obstacle avoidance), pode ser
categorizada de forma geral em duas classes: os métodos globais e os métodos locais (Seraji e
Bon, 1999). Os métodos globais ((Lozano-Perez, 1983), (Faverjon, 1984) e (Rimon e
Koditschek, 1989)) freqüentemente operam no espaço de coordenadas de junta, onde a
configuração do manipulador é representada por um ponto. Os obstáculos são mapeados do
espaço cartesiano e no espaço de coordenadas de junta, e o percurso é então determinado na
porção desocupada do espaço de coordenadas de junta, a partir do ponto inicial até ao ponto
final, de forma a desviar do obstáculo.
59
Os métodos globais são computacionalmente caros, e o custo computacional cresce
rapidamente em função do aumento do número de juntas do manipulador. Além disto, eles
são apropriados para ambientes estruturados e estáticos, ou seja, para aqueles ambientes nos
quais se tem completo conhecimento sobre a posição dos obstáculos e da tarefa a ser
desempenhada, sendo que estas especificações não variam com o tempo.
Os métodos de planejamento de trajetória local (local path planning) ((Khatib, 1986),
(Koren e Borenstein, 1991), (Cheung e Lumelsky, 1989), (Wikman e Newman, 1991) e
(Seraji et al., 1996)) têm uma demanda computacional menor, e podem considerar a
existência de obstáculos móveis em ambientes não estruturados. Desta forma, são apropriados
também para a determinação de trajetórias a partir de informações geradas por sensores.
O planejamento realizado por um método de planejamento de trajetória local pode ser
classificado como planejamento off-line, quando a informação sobre a trajetória a ser
realizada é completamente definida antes do manipulador real iniciar o movimento, ou
planejamento on-line, quando a trajetória é estabelecida simultaneamente com a realização do
movimento do manipulador real.
Segundo esta classificação, a pesquisa desenvolvida nesta tese é classificada como
planejamento de trajetória local off-line, pois se supõe que a trajetória já estará
completamente estabelecida quando o robô iniciar o movimento. Entretanto, a seção 8.2,
diferentemente das demais, apresenta uma proposta de planejamento on-line, onde a tomada
de decisão acontece durante a movimentação do robô real.
No trabalho de Seraji e Bon (1999), o problema do desvio de obstáculos é formulado e
resolvido como um problema de controle de força baseado no posicionamento. É apresentado
um experimento numérico relativo a um robô manipulador com sete graus de liberdade. A
proposta prevê o desvio de obstáculo em tempo-real (on-line path planning), a partir da
representação da proximidade do robô em relação aos obstáculos encontrados no espaço de
trabalho, através de forças virtuais.
Em um trabalho recente de Zlajpah e Nemec (2003), apresenta-se uma estratégia on-
line de desvio de obstáculos para manipuladores redundantes, onde se considera também a
dinâmica do mesmo. Este método prevê a definição de pontos de referência no manipulador e
a aplicação de forças em direção oposta à do encontro com o obstáculo. São consideradas
diferentes estratégias para detecção do obstáculo: sensor de proximidade, sensor tátil, e
modelagem matemática, sendo que esta última representa a situação de projeto sem a
consideração de sensores.
60
Motivado pelo crescente interesse no aumento da produtividade em aplicações
industriais, têm sido apresentadas na literatura as mais diferentes abordagens, como por
exemplo, a determinação de trajetória em ambiente restrito e tempo ótimo (path-constrained
time-optimal motions (PCTOM)), onde são considerados os limites do torque aplicado
(Bobrow et al. 1985), (Pfeiffer e Johanni, 1987) e (Shiller e Lu, 1992). Nestas formulações, o
torque do atuador de cada junta forma as entradas controladas, e o esquema de controle em
malha aberta resulta num controle do tipo bang-bang ou bang-singular-bang (Chen e
Desrochers, 1989).
Com a atenção voltada para a solução do problema de controle ótimo em ambiente
irrestrito, von Stryk e Schlemmer (1994) consideram a determinação de trajetórias ponto a
ponto para um robô industrial do tipo Manutec r3, de forma a utilizar o tempo mínimo e a
mínima energia, diante de restrições no valor da velocidade angular. A solução numérica
destes problemas de controle ótimo é obtida através da combinação do método de colocação
direta (direct collocation method) e do método do tiro indireto indirect multiple shooting
method. Esta combinação reúne os benefícios das duas abordagens: um grande domínio de
convergência e uma solução de grande precisão. A confiabilidade do direct collocation
method em estimar as variáveis adjuntas e a eficiência dos direct collocation e multiple
shooting é discutida neste trabalho. Os autores argumentam que esta abordagem híbrida (von
Stryk e Bulirsch, 1992) resulta em um grande domínio de convergência e numa solução com
alto grau de precisão.
Em trabalho recente, Kim e Shin (2006) apresentam uma nova estratégia para o
planejamento de movimento, tendo como base o uso de funções de potência artificiais. No
esquema proposto, as funções são determinadas a partir da composição aditiva e
multiplicativa das funções que representam a posição final a ser atingida e os obstáculos. É
apresentado um conjunto de procedimentos para o projeto de funções potenciais de forma a
evitar mínimos locais em alguns cenários representativos.
Apesar da grande quantidade e variedade de trabalhos sobre planejamento de
movimento de robôs, pode-se encontrar em Hwang e Ahuja (1992) um exame sobre as
características gerais de diferentes estratégias bem sucedidas.
61
CAPÍTULO VI
PLANEJAMENTO DE TRAJETÓRIAS QUE OTIMIZAM ASPECTOS
CINEMÁTICOS
A seção 6.1 propõe a determinação da cinemática inversa através da formulação de um
problema de otimização. O índice de desempenho consiste no erro de posicionamento do
efetuador ao se ajustar as variáveis de junta. Este enfoque permite a consideração da presença
de obstáculos durante o cálculo da cinemática inversa.
É considerada a determinação da trajetória a partir do cálculo da cinemática inversa
em cada instante de tempo.
Experimentos numéricos realizados confirmam a aplicabilidade da estratégia proposta.
O enfoque da solução através de técnicas de otimização viabiliza o estudo de cenários
variados, havendo a possibilidade de inclusão de novas restrições e ajuste da prioridade no
cumprimento das mesmas. A simplicidade de alteração dos parâmetros relevantes, aliado ao
bom desempenho computacional verificado nos exemplos implementados, sugere a
viabilidade de aplicação desta metodologia.
A seção 6.2 estende a pesquisa anterior por considerar a manipulabilidade durante a
determinação da cinemática inversa, além de incluir a presença de obstáculos no problema
considerado. A metodologia propõe a utilização de uma técnica de otimização global para a
determinação da solução.
Este enfoque assegura a obtenção de uma solução para o problema da cinemática
inversa e, conforme discutido nos experimentos numéricos, possibilita a obtenção de
diferentes configurações que atendem ao posicionamento e orientação requeridos.
Este método pode ser utilizado em substituição ao processo de otimização local
apresentado na seção anterior para a determinação da trajetória de robôs.
A seção 6.3 faz um estudo sobre a relação entre o tempo requerido para a realização
do movimento e a derivada da aceleração (jerk) associada a esse movimento. Supondo fixados
os pontos cartesianos pelos quais o manipulador deve se posicionar, faz-se um estudo sobre
62
como o tempo estabelecido para etapas intermediárias do movimento pode ser ajustado para a
redução da máxima derivada da aceleração requerida no movimento.
O cálculo da derivada da aceleração é realizado diretamente através da derivação da
função aceleração. A trajetória é fixa e determinada a partir de uma interpolação polinomial
cúbica de pontos de referência que descrevem a tarefa em coordenadas de junta.
Adicionalmente, considera-se o ajuste do tempo total, além dos tempos intermediários, de
forma a estabelecer o tempo mínimo necessário no qual para o qual o valor da derivada da
aceleração não exceda um valor máximo especificado. Este problema consiste em minimizar
o valor máximo da derivada da aceleração durante a realização da trajetória.
6.1 Cinemática inversa e desvio de obstáculos
O movimento do robô deve ser, em geral, o mais suave possível. É desejável que
mudanças bruscas na posição, velocidade e aceleração sejam evitadas. De fato, movimentos
bruscos requerem uma grande quantidade de energia para sua execução, que pode não ser
fornecida pelos motores devido a suas limitações físicas. Além disso, movimentos bruscos
surgem quando o robô colide com outros objetos, situação que também deve ser evitada
(Craig, 1989).
Para que se aproveite o potencial oferecido pelo robô, é esperado que o planejamento
da trajetória resulte em um movimento suave e considere a presença de obstáculos em seu
espaço de trabalho.
Nesta seção propõe-se uma estratégia de movimentação livre de colisões. A posição
do efetuador e dos demais elementos (links) do manipulador é determinada considerando-se a
presença do obstáculo, através de uma estratégia de otimização para a obtenção da cinemática
inversa.
63
6.1.1 Formulação
Dada uma posição cartesiana no espaço de trabalho a ser alcançada pelo efetuador, é
necessário determinar o conjunto das respectivas coordenadas de junta que resultam nesta
configuração. Estes valores são obtidos pelo cálculo da cinemática inversa.
Considerando a determinação da cinemática direta, Equação (2.4), e supondo as
coordenadas da base P
base
(x,y,z) e do efetuador P
end
(x,y,z) conhecidas, deve-se determinar o
valor das coordenadas q(d,
θ
) que satisfaçam a Equação (2.5). As coordenadas são computadas
através do problema de otimização equivalente, com objetivo dado pela Equação (2.6).
Como o valor mínimo desta expressão é zero, sua solução estabelece os valores de d
i
e
θ
i
(para cada junta i = 1, ..., n) que satisfazem a Equação (2.5). Nos casos onde há mais de
uma configuração possível, pode-se optar por diferentes soluções a partir de aproximações
iniciais distintas do problema de otimização.
Adicionalmente, considera-se a adequação do objetivo de forma a acrescentar a
presença do obstáculo. Para tanto, define-se um conjunto P de pontos cartesianos
representando o espaço ocupado pelo robô desde a base até o efetuador, como estabelecido na
Seção (3.3.2).
Em seguida, deve-se definir uma função Q(P
i
) que calcula a proximidade de cada
ponto P
i
em relação ao obstáculo. Nos exemplos estudados é considerado o volume do
obstáculo, sendo seu modelo definido através da Equação (3.5).
Após o estabelecimento do modelo do manipulador e do obstáculo no espaço de
trabalho, define-se a função objetivo através da equação
+
i
i
endbase
PD
PPd ]
)(
1
)).,(T( [min
2
θ
(6.1)
A primeira parcela da Equação (6.1) se refere ao posicionamento do manipulador,
enquanto a segunda se refere à proximidade do obstáculo. A expressão D(P
i
) terá valores
menores à medida que algum ponto P
i
estiver se aproximando do obstáculo. Assim, o
algoritmo procurará evitar esta situação, que provocaria, se verificada, um aumento no valor
da função objetivo.
64
6.1.2 Experimento numérico
O experimento numérico apresentado a seguir considera um robô planar com quatro
graus de liberdade, de acordo com os parâmetros de Denavit-Hartenberg apresentados na
Tabela 6.1
Tabela 6.1 - Parâmetros de Denavit-Hartenberg, (*) variável de junta.
Elemento a (m)
α
(rad)
d (m)
θ
(rad)
1 3,0 0 0
θ
1
*
2 2,0 0 0
θ
2
*
3 2,0 0 0
θ
3
*
4 2,0 0 0
θ
4
*
As posições cartesianas especificadas para o posicionamento do efetuador são P
end
=
(3, 8, 0), (5, 5, 0), (7, 3, 0) e (8, 1, 0). O valor das coordenadas de junta para cada posição (a
solução do problema de cinemática inversa) foi utilizado como ponto de partida para a
determinação das coordenadas de junta do ponto posterior, supondo a base do robô fixa na
origem do sistema referencial P
base
= (0, 0, 0). A determinação das coordenadas de junta que
atendem a esta especificação, em um ambiente sem obstáculos, resultam nas configurações
apresentadas na Figura 6.1.
Figura 6.1 - Seqüência de configurações obtidas num ambiente sem obstáculo.
A seguir, considera-se a presença de um obstáculo com seu centro geométrico
posicionado em c
x
= 4 m, c
y
= 1 m e c
z
= 0 m, com respectivas dimensões dadas por l
x
= l
y
=
l
z
= 1 m. A determinação da cinemática inversa, a partir da Equação (6.1), resulta nos
posicionamentos sucessivos exibidos na Figura 6.2.
65
Figura 6.2 - Seqüência de configurações obtidas num ambiente com obstáculo.
O cálculo da cinemática inversa como problema de otimização permite sempre a
obtenção de uma solução. Esta metodologia permite encontrar uma posição “próxima” da
posição requerida, quando não for possível a determinação de ângulos que satisfaçam o
posicionamento desejado e simultaneamente garanta a distância especificada até o obstáculo.
Podem-se ponderar os dois termos da Equação (6.1) de forma a priorizar um ou outro objetivo
parcial.
6.1.3 Conclusão
Com o objetivo de aproveitar a versatilidade característica do robô manipulador, é
desejável que o planejamento de sua trajetória resulte em um movimento suave e considere a
presença de obstáculos em seu espaço de trabalho.
Neste estudo foi proposta uma estratégia de movimentação livre de colisões, do ponto
de vista da cinemática do sistema. A possibilidade de considerar a presença de obstáculos
durante o cálculo da cinemática inversa contribui para o aumento da versatilidade intrínseca
ao robô.
A modelagem do sistema (robô e espaço de trabalho) caracteriza-se pela representação
de diferentes pontos do espaço euclidiano e dos elementos (que têm a posição calculada a
66
partir das coordenadas de junta) a partir de um referencial comum. Com o uso dos conceitos
de cinemática direta e inversa, apresentou-se uma expressão que permite determinar a
cinemática inversa a partir da solução do um problema de otimização. Após o estabelecimento
de uma representação para o obstáculo no espaço de trabalho, define-se uma nova função
objetivo que considera esta restrição durante a determinação da cinemática inversa.
Experimentos numéricos realizados confirmam a viabilidade da estratégia proposta. O
enfoque de se obter a solução através de técnicas de otimização viabiliza o estudo de cenários
variados, havendo a possibilidade de inclusão de novas restrições e do ajuste da prioridade no
cumprimento das mesmas. A simplicidade de alteração dos parâmetros relevantes, aliado ao
bom desempenho computacional verificado nos exemplos implementados, sugere a
viabilidade de aplicação na análise de situações reais.
6.2 Cinemática inversa, desvio de obstáculos e manipulabilidade
A determinação da cinemática inversa do robô manipulador serial envolve o cálculo
dos ângulos de junta a partir de uma posição Cartesiana e da orientação do efetuador.
O procedimento para sua determinação deve trabalhar com equações não lineares
algébricas, considerando-se que não há solução analítica de forma fechada para um robô de
estrutura arbitrária. Conseqüentemente, é necessário estabelecer uma forma de calcular a
cinemática inversa para uma grande classe de robôs.
Quando o efetuador se move através de uma trajetória contínua, não é possível alterar
de um tipo de solução para outro, arbitrariamente.
Destaca-se que, na trajetória com múltiplas soluções, elas se interceptam em pontos
singulares e as soluções podem ser alternadas somente nestes pontos. O ponto singular de um
mecanismo robótico é definido como os pontos singulares de uma função implícita, que são
os ângulos de junta para os quais a matriz Jacobiana não tem posto completo (Fun et al,
1987). Além disso, os pontos singulares podem trazer dificuldades de controle e pouca
precisão associada ao posicionamento do robô.
Outro aspecto relevante é que, quando se trabalha em um ambiente complexo, o
manipulador pode ser sujeito a trabalhar dentro de um espaço restrito, envolvendo funções de
restrições laterais (como paredes e piso), e por restrições internas (como a geometria do
objeto manipulado).
67
Por este motivo, no presente estudo é proposta uma metodologia numérica para
calcular a cinemática inversa de um robô serial de estrutura geral, considerando
simultaneamente a precisão de seu posicionamento, a manipulabilidade, e o desvio de
obstáculo.
6.2.1 Formulação matemática do sistema
A especificação de um valor de referência para o desvio do obstáculo e a medida de
manipulabilidade são aspectos de grande importância na construção da função objetivo
multicritério. Para considerar simultaneamente os seguintes objetivos: manipulabilidade,
Equação (2.14), desvio de obstáculo, Equação (4.6), e erro de posicionamento do efetuador,
Equação (2.6), é proposta a seguinte função objetivo escalar
0
0
0
3
0
8
8
2
0
1
1
19
)(
f
f
k
f
f
k
f
f
kqf ++=
(6.2)
onde f
1
, f
8
e f
0
são definidas pelas Equações (2.14), (4.6) e (2.6), respectivamente. As
constantes k
1
=1, k
2
=1 e k
3
=100 significam que é dada maior prioridade ao erro de
posicionamento do efetuador, ao se comparar este com os demais objetivos considerados.
Observa-se que é possível estender esta formulação para considerar aspectos
cinemáticos e dinâmicos do manipulador. Entretanto, isto requer a consideração do
planejamento da trajetória, além da determinação da cinemática inversa.
Iniciando com
0
1
f =1,
0
8
f =1 e
0
0
f =1, realiza-se a otimização local da Equação (2.13).
O valor
q* ótimo resulta em três valores de referência
0
1
f = f
1
(q*),
0
8
f = f
8
(q*),
0
0
f
=
f
0
(q*), e q=q*. Este procedimento será denominado “estágio I” no decorrer do trabalho.
Em seguida,
0
i
f e q são atualizados, e o “estágio II” calcula o mínimo da Equação
(6.2). Isto corresponde à fase I do processo
tunneling, conforme apresentado anteriormente.
No ponto
q inicial, f
9
(q) = 1 + 1 + 100
0
0
f
. Se o erro de posicionamento do efetuador
é
0
0
f = 0.001 m, então f
9
(q) = 3. Isto pode ser ajustado pela alteração do valor de k
3
na
Equação (6.2).
Em seguida, na fase II do
tunneling, é obtido um novo ponto inicial pela Equação
(3.39). Retornando agora à fase I, encontra-se um novo mínimo local
q*. Se f
0
(q*) < 0,001 m,
68
então as fases I e II são encerradas. Caso contrário, o procedimento é repetido até que o
número máximo de iterações seja atingido. Isto compreende o “estágio III” do problema de
cinemática inversa.
No final do estágio III, o
q* ótimo resulta em novos valores de referência, a saber:
0
1
f = f
1
(q*),
0
8
f = f
8
(q*),
0
0
f = f
0
(q*), e q=q*.
Finalmente, no “estágio IV” realiza-se a otimização local da Equação (2.6) (iniciando
com a configuração
q obtida acima) como tentativa de melhorar ainda mais o posicionamento
do efetuador.
6.2.2 Resultados numéricos
As aplicações a seguir estão relacionadas ao manipulador tridimensional Elbow
redundante, contendo quatro juntas rotacionais para as ligações e duas juntas rotacionais para
o efetuador. Cada ângulo rotacional é limitado a
θ
i
= [-3,13, 3,13] rad, i=1,...,6. Os
parâmetros de Denavit-Hartenberg para o manipulador são apresentados na Tabela 6.2.
Tabela 6.2 - Parâmetros de Denavit-Hartenberg.
Elemento a (m)
α
(rad)
d (m)
θ
(rad)
1 0 1,57 1
θ
1
2 1 0 0
θ
2
3 1 0 0
θ
3
4 1 0 0
θ
4
5 0 -1,57 0,001
θ
5
6 0,2 0 0
θ
6
O estudo a seguir se refere à presença de um obstáculo no espaço de trabalho. As
coordenadas de junta são definidas como
q = (
θ
1
, ...,
θ
6
) = (0, ..., 0) rad e usadas como
aproximação inicial para o processo de otimização. A posição final requerida para o efetuador
é definida por
P
end
=(2, 1,5, 1)
T
; sua orientação é especificada como sendo paralela ao vetor
kji
r
r
r
020 + . Um obstáculo de formato cúbico cujo centro está posicionado em P
obs
=(1, 1,
0.5)
T
é considerado neste caso. As dimensões do cubo são: l
x
= l
y
= l
z
= 0,5 m.
Iniciando pelo estágio I, a otimização local resulta em um mínimo
q* que tem o valor
0,000007
m de erro de posicionamento do efetuador. Entretanto, esta configuração resulta no
69
valor de desvio de obstáculo de 0,004465, o que significa uma posição na qual o manipulador
colide com o obstáculo.
Isto é representado graficamente na Figura 6.3, a partir de diferentes perspectivas.
Figura 6.3 - Diferentes perspectivas da configuração do robô antes da otimização global.
No estágio II, a otimização da Equação (6.2) resulta em coordenadas de junta que são
bem sucedidas quanto ao desvio do obstáculo (valor do índice de desvio do obstáculo
f
1
=16,685383). Entretanto, esta configuração não corresponde ao erro requerido de
posicionamento do efetuador (
f
3
=1,803943 m). Então, aplicando o processo de tunneling à
Equação (6.2) no estágio III, o índice de desempenho é gradualmente melhorado. O erro de
posicionamento correspondente do efetuador é apresentado na Figura 6.4.
Figura 6.4 - Erro de posicionamento do efetuador durante o processo de
tunneling.
70
Houve decréscimo do erro associado ao posicionamento do efetuador de 1,803943
m
para 0,000080
m, e alteração do índice de desvio de obstáculo de 16,685383 para 5,713365.
Isto significa que a precisão requerida foi atingida (menor que 0.001
m), e houve o necessário
desvio do obstáculo, conforme apresentado na Figura 6.5.
Deve-se destacar que o erro de posicionamento do efetuador é o elemento mais
importante do vetor da função objetivo durante o processo (conforme caracterizado por
k
3
na
Equação (6.2)). Isto se deve ao fato de que, no contexto considerado, se o efetuador não é
capaz de atingir a posição prescrita, os demais critérios se tornam irrelevantes. Além disso,
considera-se que, para as situações apresentadas na presente contribuição, o desvio de
obstáculos e o desvio de configurações singulares são sempre possíveis.
Finalmente, o estágio IV é executado, através da otimização local da Equação (2.25)
para assegurar a obtenção da melhor configuração de coordenadas de junta, do ponto de vista
do posicionamento do efetuador.
Os valores das diferentes funções objetivo calculados em cada estágio da otimização
são apresentados na Tabela 6.3.
Tabela 6.3 - Valor ótimo da função objetivo em cada estágio da otimização.
Objetivo Estágio I Estágio II Estágio III Estágio IV
Erro do efet. (m) 0,000007 1,803943 0,000080 0,000019
Desvio do obs. 0,004465 16,685383 5,713365 5,711341
Manipulabilidade 5,525034 3,532457 5,510794 5,511039
Ao final do processo, as especificações de posicionamento e orientação foram
atingidas (
f
1
(q*) = 0,000080 m), enquanto se garante o desvio efetivo do obstáculo (Figura 3)
e a medida de manipulabilidade permanece próxima do seu valor original (
f
2
(q*) = 5,510794).
A configuração resultante é apresentada graficamente pela Figura 6.5, conforme
diferentes perspectivas.
Deve-se destacar que o uso da Equação (2.25) no estágio IV não interfere nos demais
objetivos, visto que seu uso provê alterações mínimas no valor das coordenadas de junta,
conforme apresentado na Tabela 6.4.
71
Figura 6.5 - Diferentes perspectivas da configuração do robô após a otimização global.
Tabela 6.4 - Valores ótimos das coordenadas de junta em cada estágio da otimização.
Var. junta Estágio I Estágio II Estágio III Estágio IV
θ
1
(rad)
0,704875 3,130000 -2,437497 -2,437479
θ
2
(rad)
-0,548237 2,692627 2,629213 2,629009
θ
3
(rad)
0,440053 1,973044 0,358217 0,358654
θ
4
(rad)
0,788651 -2,104774 0,853581 0,853337
θ
5
(rad)
-0,680450 -2,636178 2,441998 2,442225
θ
6
(rad)
-2,275657 3,130000 0,866454 0,866642
O estudo a seguir se refere à presença de múltiplos obstáculos no espaço de trabalho.
O valor das coordenadas de junta foram inicialmente definidos como
q=(
θ
1
, ...,
θ
6
) = (0, ..., 0)
rad
. Este valor foi utilizado como aproximação inicial para o processo de otimização. A
posição requerida para o efetuador foi especificada como
P
end
=(1,5, 0, 1,5)
T
; a orientação
correspondente foi definida como sendo paralela ao vetor
kji
r
r
r
2.000 + . Considera-se a
presença de dois obstáculos cúbicos, localizados em
P
obs1
=(1, 0, 1)
T
e P
obs2
=(2, 0, 1)
T
, cujas
dimensões são as seguintes:
l
x
= l
y
= l
z
= 0,5 m.
Iniciando o estágio I, a otimização local da Equação (2.25) resulta em um valor ótimo
q* , com o correspondente erro de posicionamento do efetuador de 0,282660 m, e índice de
desvio de obstáculo de 0,524480. Estes valores significam que o posicionamento é
satisfatório, mas o erro de orientação do efetuador ainda não é aceitável (o efetuador não é
paralelo ao vetor especificado). Esta configuração é apresentada na Figura 6.6, conforme
diferentes perspectivas.
72
Figura 6.6 - Diferentes perspectivas da configuração do robô antes da otimização global.
No estágio II a otimização da Equação (6.2) resulta em coordenadas de junta que
desviarão dos dois obstáculos (o valor do índice de desvio de obstáculo é
f
1
=0.616375).
Entretanto, o posicionamento resultante do efetuador está distante do aceitável (erro
f
3
=1.170248 m). Então, aplicando a estratégia de tunneling à Equação (6.2) - estágio III – o
índice de performance é gradualmente melhorado, como ilustrado na Figura 6.7.
Figura 6.7 - Erro de posicionamento do efetuador durante o processo
tunneling.
Pode-se observar que o erro do efetuador é reduzido de 1,170248
m para 0,002160 m,
já o índice de desvio do obstáculo é alterado de 0,616375 para 0,449887.
Ao final, o estágio IV é executado para uma melhora adicional do posicionamento do
efetuador, através da otimização local da Equação (2.25). A configuração ótima final é
apresentada na Figura 6.8.
73
Os valores dos índices de desempenho obtidos em cada estágio são apresentados na
Tabela 6.5.
Tabela 6.5 - Valor ótimo da função objetivo em cada estágio da otimização.
Objetivo Estágio I Estágio II Estágio III Estágio IV
Erro do efetuador (m) 0,282660 1,170248 0,002160 0,002160
Desvio de obstáculo 0,524480 0,616375 0,449887 0,419131
Manipulabilidade 3,393904 1,245594 3,918186 3,922279
Ao final, são obtidas especificações de posicionamento e orientação satisfatórias
(
f
1
(q*) = 0,002160 m), enquanto o requisito de desvio de obstáculo é atendido (Figura 6.8) e a
medida de manipulabilidade aumenta pouco em relação ao seu valor inicial (
f
2
(q*) =
3.922279).
A configuração de coordenada de junta resultante
q* é apresentada na Figura 6.8,
conforme diferentes perspectivas.
Figura 6.8 - Diferentes perspectivas da configuração do robô após a otimização global.
Neste caso, o estágio IV não melhorou o posicionamento do efetuador através do
ajuste das coordenadas de junta, conforme apresentado na Tabela 6.5. Isto significa que a
configuração do robô já é ótima do ponto de vista do efetuador.
Será adicionada complexidade ao problema anterior, através da inclusão de um novo
obstáculo em
P
obs3
=(0, 0, 2)
T
, cujas dimensões são l
x
= l
y
= l
z
= 1.0 m.
As coordenadas de junta iniciais são
q = (
θ
1
, ...,
θ
6
) = (0, ..., 0) rad. A posição do efetuador é
especificada como
P
end
=(1,5, 0, 1,5)
T
, com orientação paralela ao vetor kji
r
r
r
002,0 ++ .
74
Executando o cálculo proposto do estágio I ao estágio IV, a medida de
manipulabilidade é aumentada de 2,612373 para 2,799564 com o bem sucedido desvio do
obstáculo, resultando um erro do efetuador de 0,002090
m. Os valores obtidos a cada estágio
são apresentados na Tabela 6.6.
Tabela 6.6 - Valores ótimos das variáveis de projeto em cada estágio da otimização.
Elemento Estágio I Estágio II Estágio III Estágio IV
θ
1
(rad)
-0,133013 2,265585 -0,000879 -0,000879
θ
2
(rad)
1,175228 3,129999 1,246251 1,246251
θ
3
(rad)
-1,102828 -1,589966 -1,013854 -1,013854
θ
4
(rad)
-1,540756 3,130000 -1,593614 -1,593614
θ
5
(rad)
-1,725096 3,130000 2,931801 2,931801
θ
6
(rad)
1,579390 -2,509399 3,130000 3,130000
Tabela 6.7 - Valor ótimo da função objetivo em cada estágio da otimização.
Objetivo Estágio I Estágio II Estágio III Estágio IV
Erro do efetuador (m) 0,000007 1,138629 0,002090 0,002090
Desvio do obstáculo 0,025084 2,453597 0,308475 0,308372
Manipulabilidade 2,612373 2,069408 2,799381 2,799564
As configurações correspondentes aos casos “antes” e “após” a otimização global
(estágios I e IV, respectivamente) são apresentadas na Figura 6.9.
Figura 6.9 - Configurações do robô antes e após o processo de otimização global.
Em todos os exemplos precedentes a configuração de junta inicial correspondeu a
q=(0, ...,0). Este é um valor aceitável para a aproximação inicial quando não há outra
75
informação disponível. Além do mais, em muitas situações o objetivo é simplesmente
melhorar uma arquitetura existente. Isto pode ser facilmente obtido através do uso da
habilidade do otimizador local usado na metodologia proposta.
Além disto, várias configurações podem ser obtidas alterando-se o valor inicial de q.
Como exemplo, seja
q = (
θ
1
, ...,
θ
6
) = (0, -1, 1, 1, 0, 0) e todos os outros parâmetros mantidos
como anteriormente. Executando a análise proposta, os valores finais das coordenadas de
junta, dados por
q*, resultam na medida de manipulabilidade f
2
= 2,759227, valor do desvio
de obstáculo
f
1
= 0,063078 e erro de posicionamento do efetuador f
3
= 0,002090 m.
As configurações correspondentes a “antes” e “após” a otimização global são
apresentadas na Figura 6.10.
Figura 6.10 - Configuração do robô antes e após o processo de otimização global.
Apesar da viabilidade do posicionamento geométrico, ao se comparar o novo resultado
numérico com o anterior, (Tabela 6.7), pode-se constatar que os valores são menores ou
iguais aos anteriores. Isto significa que o índice de desempenho é maior, o que não é
desejável na maioria das situações.
Como comentado anteriormente, pontos iniciais diferentes podem levar a diferentes
configurações do robô. Este comportamento é positivo em relação ao projeto do robô.
Pode acontecer que, no planejamento do caminho do robô, o verdadeiro mínimo global
não seja a melhor solução devido ao fato de que ele pode estar associado à descontinuidade
do movimento. A presente metodologia é capaz de tratar com estes casos complexos, levando
a resultados aceitáveis.
76
6.2.3 Conclusão
Este estudo apresentou uma metodologia para obter a solução da cinemática inversa
para robôs manipuladores seriais. A principal característica da estratégia proposta é a
formulação do problema inverso como um problema de otimização. Esta abordagem permite a
análise simultânea de várias funções objetivo, mantendo a atenção no posicionamento do
efetuador.
Para este propósito, várias funções objetivo foram usadas para construir um índice de
performance escalar que deve ser minimizado considerando requisitos conflitantes. O usuário,
de acordo com cada aplicação específica, pode alterar os fatores de ponderação e os fatores de
escala.
A metodologia tem desempenho satisfatório em casos de aplicações com desvio de
obstáculos tridimensionais e consideração da manipulabilidade do sistema.
Apesar do uso de um algoritmo que tem a tendência de estabelecer uma seqüência de
resultados associados a valores decrescentes da função objetivo (
tunneling) o erro de
posicionamento do efetuador pode aumentar em alguns casos. Este comportamento se deve à
própria natureza do problema de programação multicritério.
Deste modo, o projetista pode considerar a possibilidade de aumentar ou diminuir o
valor da ponderação de cada função objetivo para uma aplicação específica, e verificar se este
procedimento leva a melhores resultados do ponto de vista da engenharia.
Além disso, deve-se destacar que a presente metodologia considera a possibilidade de
colisão para o manipulador como um todo (considera-se o contorno do robô), e não somente
para o efetuador. Este aspecto, associado ao fato de que diferentes aproximações iniciais
podem resultar em diferentes configurações do robô, possibilita a escolha de projetos
alternativos, mantendo o mesmo erro de posicionamento (ou quase o mesmo) do efetuador. O
autor considera que esta é uma característica interessante a ser explorada no projeto do
planejamento de trajetórias.
Em relação ao estudo do planejamento de trajetórias, a configuração dada pelo mínimo
global algumas vezes não pode ser usada devido à descontinuidade do movimento associado.
A presente metodologia é capaz de calcular projetos factíveis sub-ótimos (do ponto de vista
da trajetória). A metodologia proposta pode ser estendida para incluir a dinâmica do robô em
estudos do planejamento de trajetória.
77
6.3 Tempo e derivada da aceleração (jerk)
Um critério de desempenho comumente utilizado para análise de desempenho é o
tempo gasto para a realização de uma tarefa. Em um ambiente industrial altamente
competitivo, onde os movimentos são repetitivos, a diminuição ainda que pequena do tempo
necessário para a realização de uma atividade específica pode resultar num aumento
significativo de produtividade (Constantinescu and Croft., 2000).
Além do fator tempo, deve-se lembrar também que a movimentação do robô deve
atender a restrições mecânicas. É desejável que seu movimento seja suave, evitando
alterações bruscas de direção e velocidade. Isto porque movimentos bruscos podem
comprometer não somente a estrutura mecânica do robô, como também a qualidade dos
produtos que se está manipulando ou a tarefa que se está executando (Cao
et al., 1994). Além
disso, existem obviamente restrições quanto à quantidade de energia possível de ser
introduzida no sistema através dos atuadores.
Neste estudo propõe-se uma estratégia que minimiza o tempo necessário para a
realização do movimento de um robô manipulador, considerando restrições de
posicionamento, máxima derivada da aceleração admitida e suavidade do movimento.
O valor das coordenadas de junta para posição, velocidade, deslocamento e derivada
da aceleração é obtido
a partir da interpolação realizada usando um polinômio do tipo b-
spline
cúbica. Assim, informados o tempo e as coordenadas de junta, (t
i
,
θ
ij
), que são os
pontos de controle, obtém-se o valor correspondente nos demais instantes de tempo
desejados.
A cada iteração do processo de otimização deve-se realizar uma nova interpolação,
pois as variáveis de projeto
t
i
são ajustadas na busca do valor mínimo da derivada da
aceleração.
6.3.1 Formulação
Pretende-se determinar um movimento que atenda às especificações cartesianas da
trajetória, seja suave e ainda que garanta que a derivada da aceleração seja menor que um
valor máximo pré-estabelecido. A análise do tempo mínimo no qual se pode realizar esta
78
tarefa é realizada através da otimização do tempo total e
do valor máximo da derivada da
aceleração.
Dados o tempo inicial
t
inicial
, o tempo final t
final
, o ângulo mínimo,
θ
minimo
e o ângulo
máximo,
θ
maximo
, de cada junta j de um robô manipulador, define-se um conjunto de m pontos
P
i
(x,y,z), i=1, ..., m, em coordenadas cartesianas, onde se deseja posicionar o efetuador do
robô.
Supondo o conjunto de tempos disponíveis para o posicionamento em cada ponto
P
i
igualmente distribuídos dentro do intervalo de tempo proposto, define-se
t = (t
final
-t
inicial
)/m ,
e os intervalos de tempo
t
1
= t
inicial
, t
2
= t
1
+
t , t
3
= t
2
+
t , ..., t
m-1
= t
m-2
+
t e t
m
= t
final
.
Pode-se verificar que esta distribuição do tempo não é a que representa a melhor
configuração na grande maioria dos casos, principalmente em situações onde as posições
cartesianas
P
i
não são eqüidistantes. Entretanto, como será visto a seguir, ela é utilizada
somente como aproximação inicial para o problema de otimização.
Definidos os tempos, é associado a cada um deles um posicionamento
P
i
, resultando
em um conjunto de pares ordenados da forma
(t
i
, P
i
).
A análise do posicionamento do robô é realizada em função de suas
n coordenadas de
junta. Por este motivo, o conjunto
(t
i
, P
i
) é reescrito da forma (t
i
,
θ
i1,
θ
i2,
...,
θ
in
) = (t
i
,
θ
ij
) onde
θ
ij
representa o ângulo de cada junta j do robô manipulador no instante de tempo i. Tem-se
assim
(t
i
,
θ
ij
), i=1, ..., m, j=1, ..., n, um conjunto de n×m pontos cartesianos especificados em
n coordenadas de junta e os respectivos m instantes de posicionamento.
Na metodologia proposta, o primeiro passo é determinar uma trajetória possível para o
movimento do robô. Isto é obtido através da interpolação dos pontos especificados em
coordenadas de junta por funções de interpolação
b-splines cúbicas. A utilização desta técnica
é amplamente difundida na literatura por assegurar a suavidade da função através da
continuidade de sua derivada.
Após a obtenção de uma trajetória, procura-se ajustar os intervalos de tempo
t
i
(que
inicialmente é o mesmo para cada coordenada,
θ
ij
, especificada) a fim de diminuir a
exigência do valor máximo da derivada da aceleração (em módulo) necessário para a
realização de cada movimento.
Este problema pode ser escrito como um problema de otimização através da função
objetivo
79
)),((max(min
2
10
1
1
11
iji
nj
mi
tff
θ
= , t
inicial
t
i
t
final
(6.3)
onde
),(),(
3
3
10 iji
j
iji
t
f
tf
θ
θ
θ
=
representa a derivada da aceleração de cada junta j no instante
i.
Seja
f
11
(t
i
,
θ
ij
) o valor máximo da derivada da aceleração exigido para a junta
θ
ij
para o
posicionamento do efetuador em
P
i
no intervalo de tempo t
i
. Tem-se então a distribuição
ótima de tempo para realização do movimento no intervalo de tempo
t
inicial
t
i
t
final
, ou seja,
a configuração de tempo obtida resulta no valor mínimo (em módulo) do maior valor da
derivada da aceleração exigido.
Deve-se agora analisar se o tempo final é o menor possível, sendo determinado
segundo o seguinte critério: caso o valor máximo da derivada da aceleração seja maior que o
inicialmente estabelecido, deve-se aumentar o tempo total (
t
final
-t
inicial
) previsto para a
realização do movimento; caso seja menor, pode-se reduzir o tempo total disponível.
Este objetivo pode ser especificado como um problema de otimização
f
12
= min [f
11
(t
i
,
θ
ij
) + (t
final
-t
inicial
)
2
]
(6.4)
No final desta etapa será determinado o intervalo de tempo para o qual o maior valor
da derivada da aceleração exigido atende a especificação inicial, além da distribuição ótima
de intervalos de tempo, para a qual o valor máximo de tal derivada é o menor possível dentro
do tempo previsto.
Além disso, deve-se destacar que a especificação do movimento atende a critérios de
suavidade, pois as coordenadas são obtidas através de funções de interpolação do tipo
spline.
6.3.2 Resultado numérico
O exemplo a seguir utiliza um manipulador planar com 3
links, cujos parâmetros de
Denavit-Hartenberg são apresentados na Tabela 6.8.
80
Tabela 6.8 - Parâmetros de Denavit-Hartenberg, (*) variável de junta.
Elemento a (m)
α
(rad)
d (m)
θ
(rad)
1
1,0 0,0 0,0
θ
1
*
2
1,0 0,0 0,0
θ
2
*
3
1,0 0,0 0,0
θ
3
*
A origem do manipulador está no ponto (0,0,0), o efetuador na posição (0, 3, 0) e são
especificados os seguintes pontos (Tabela 6.9) de controle:
Tabela 6.9 - Coordenadas de referência.
Posição Cartesiana (m)
Variável de junta (
θ
1,
θ
2,
θ
3
) (rad)
(0, 3, 0) (1,564, 0,024, -0,027)
(1, 2, 0) (1,934, -0,735, -1,066)
(2, 1, 0) (1,344, -0,852, -0,956)
(3, 0, 0) (0,005, -0,010, 0,005)
(2, -1, 0) (0,374, -0,760, -1,042)
(1, –2, 0) (-0,222, -0,861, -0,948)
(0, –3, 0) (-1,559, -0,027, 0,020)
Além disso, são estabelecidos (de forma arbitrária) os parâmetros
t
inicial
= 0 s, t
final
= 5
s
e valor máximo da derivada da aceleração = 1 rad/s
3
. A partir destas especificações deve-se
determinar o menor tempo
t
final
para o qual a derivada acima mencionada não exceda o limite
estabelecido. Isto é feito através da determinação do tempo ideal de transição entre os pontos
de controle, resultando em uma trajetória que não contém variações bruscas.
Ao se realizar a interpolação, onde cada tempo de transição é definido como
t
i
=
(t
final
-t
inicial
)/7, obtém-se a trajetória definida pela Figura 6.11.
Figura 6.11 - Posição especificada (*) e trajetória obtida (-).
81
A determinação de diferentes valores para o tempo final,
t
final
, não leva a alterações na
especificação da posição dada pela trajetória.
O ângulo das coordenadas de junta
θ
ij
para cada junta j=1,2,3 e a derivada da
aceleração associada, durante o intervalo de tempo
0
i
5, são apresentados na Figura 6.12.
Figura 6.12 - Ângulo das coordenadas de junta (
rad) e a respectiva derivada da aceleração
(
rad/s
3
).
Ao analisar as exigências para realização do movimento, obtém-se a tabela abaixo
com os valores mínimos e máximos de posição, velocidade, aceleração e derivada da
aceleração
para o tempo final t
final
= 5 s.
Tabela 6.10 - Valores mínimos e máximos requeridos.
INTERPOLACAO DE TRAJETORIA
GRAU DO POLINOMIO: 3
PONTOS INFORMADOS: 7
PONTOS INTERPOLADOS: 100
Junta Des.(rad) Vel.(rad/s) Ace.(rad/s
2
) Jer.(rad/s
3
)
1 MIN -1,5508 -2,1543 -2,7330 -9,0668
1 MAX 1,9446 0,7751 6,5775 11,8794
2 MIN -1,0179 -1,2437 -4,5592 -9,4064
2 MAX 0,0192 1,3374 2,8043 7,7349
3 MIN -1,2698 -1,6658 -5,6496 -9,8293
3 MAX 0,0138 1,5785 3,4220 11,5862
O
valor máximo da derivada da aceleração observado para a junta 1 é 11.8709 rad/s
3
,
bem superior ao limite especificado de
1.0 rad/s
3
. Realizando a redistribuição dos intervalos
de tempo, ou seja alterando os valores de
t
i
de 0,000, 0,833, 1,666, 2,500, 3,333, 4,166 e
82
5,000, para 0,000, 1,078, 1,519, 2,450, 3,529, 4,019 e 5,000 segundos, obtém-se os novos
valores apresentados na Tabela 6.11.
Tabela 6.11 - Valores mínimos e máximos requeridos
INTERPOLACAO DE TRAJETORIA
GRAU DO POLINOMIO: 3
PONTOS INFORMADOS: 7
PONTOS INTERPOLADOS: 100
Junta Des.(rad) Vel.(rad/s) Ace.(rad/s
2
) Jer.(rad/s
3
)
1 MIN -1,5535 -1,8709 -4,2100 -7,5424
1 MAX 1,9864 0,7080 4,4851 7,7390
2 MIN -0,8963 -1,0345 -3,8802 -7,8075
2 MAX 0,0210 1,1863 3,4811 5,2900
3 MIN -1,0976 -1,3477 -4,3376 -7,7079
3 MAX 0,0151 1,3650 3,5785 7,5038
Pode-se observar que, apesar do valor máximo da derivada da aceleração ter sido
reduzido para
7,7390 rad/s
3
, ainda não satisfaz a especificação prevista. Após a aplicação da
metodologia proposta ao problema inicial, obtém-se uma configuração que atende às
especificações previstas (inclusive quanto ao valor máximo do
jerk), sendo obtido também o
tempo mínimo para sua realização. A trajetória resultante é apresentada na Figura 6.13, e as
respectivas coordenadas de junta são apresentadas na Figura 6.14.
Deste planejamento resulta, portanto, uma exigência sobre o valor da derivada da
aceleração que não excede o máximo estipulado de
1,0 rad/s
3
, conforme a Figura 6.15. Os
valores máximos resultantes desta nova configuração são apresentados na Tabela 6.12.
A distribuição de tempo ótima para a realização desta tarefa é
t
i
= 0,000, 2,139, 3,014,
4,862, 7,002, 7,974 e
t
i
= 9,920 segundos, respectivamente. Destes valores observa-se que os
tempos não são mais igualmente espaçados. O ajuste dos intervalos acontece de forma a
atender aos requisitos impostos pelo problema.
83
Figura 6.13 - Posição especificada (*) e trajetória obtida (-).
Figura 6.14 - Ângulo das coordenadas de junta (
rad/s).
Figura 6.15 - Derivada da aceleração das coordenadas de junta (
rad/s
3
).
84
Tabela 6.12 - Valores mínimos e máximos requeridos.
INTERPOLACAO DE TRAJETORIA
GRAU DO POLINOMIO: 3
PONTOS INFORMADOS: 7
PONTOS INTERPOLADOS: 100
Junta Des.(rad) Vel.(rad/s) Ace.(rad/s
2
) Jer.(rad/s
3
)
1 MIN -1,5535 -0,9430 -1,0695 -0,9658
1 MAX 1,9864 0,3568 1,1393 0,9910
2 MIN -0,8963 -0,5214 -0,9857 -0,9997
2 MAX 0,0210 0,5979 0,8844 0,6774
3 MIN -1,0976 -0,6793 -1,1020 -0,9870
3 MAX 0,0151 0,6880 0,9091 0,9609
6.3.3 Conclusão
Neste estudo apresentou-se uma metodologia para a especificação de trajetória de um
robô manipulador, do ponto de vista de sua cinemática. A trajetória considera a existência de
pontos intermediários entre a posição inicial e final que devem ser alcançados durante o
movimento. Além do critério do tempo mínimo, critérios de suavidade da trajetória e restrição
do valor da derivada da aceleração abaixo de um valor máximo foram considerados.
Inicialmente foi estabelecida uma função objetivo que descreve a situação
apresentada, sendo que a análise é dividida em dois subproblemas: determinar a distribuição
de tempo ótima entre os diversos pontos de controle considerando o tempo total fixo e, em
seguida, ajustar o tempo total a partir de informações sobre o valor
máximo da derivada da
aceleração permitido.
Esta abordagem permite a análise independente do tempo total e dos tempos
intermediários.
Ao final, obtém-se o tempo total ótimo e os tempos intermediários associados. A
formulação do problema de otimização viabiliza o estudo de cenários variados devido à
simplicidade de alteração dos parâmetros relevantes, além do bom desempenho
computacional (sempre menor que 30 segundos para os casos testados).
85
CAPÍTULO VII
PLANEJAMENTO DE TRAJETÓRIAS QUE OTIMIZAM CARACTERÍSTICAS
DINÂMICAS
A seção 7.1 apresenta um estudo sobre o torque máximo em ambiente sem restrição.
Utiliza-se a formulação de controle ótimo para minimizar o valor máximo do torque durante a
execução do movimento entre os pontos inicial e final estabelecidos. O vetor de controle
contém informações sobre a aceleração, e o vetor de estado representa a posição e o torque
associados.
A comparação entre os valores do torque inicial e final permite constatar uma maior
não linearidade após o processo de otimização. Isto se deve à tentativa do sistema em utilizar
componentes de inércia para melhorar o desempenho geral.
O resultado numérico comprova a eficiência da metodologia proposta para a redução
do valor máximo do torque necessário durante o movimento.
A seção 7.2 estuda a situação onde o torque e potência mecânica são considerados
simultaneamente em ambiente sem restrição. Realiza-se a determinação da trajetória através
de técnicas de controle ótimo, onde o vetor de controle contém a velocidade, e o vetor de
estado contém informações sobre a posição e o torque associados.
O índice de desempenho é definido através de uma formulação multiobjetivo que
considera a potência mecânica e o torque acumulado durante o movimento. Apresenta-se uma
análise sobre a influência de diferentes fatores de ponderação na obtenção do resultado ótimo.
Deste estudo, conclui-se que a formulação proposta é apropriada tanto para a redução
da potência mecânica e torque associado ao movimento, quanto para a manutenção dos
valores de posição e torque em níveis próximos àqueles obtidos a partir da interpolação.
Outro ponto favorável na análise dos resultados é o fato de que a expressão que inclui
a energia inibe o crescimento dos níveis de torque, principalmente nos momentos em que a
velocidade tem valores próximos de zero.
86
A seção 7.3 apresenta uma análise sobre o posicionamento da tarefa a ser realizada. A
posição do efetuador é fixada em relação a um referencial e descrita como uma seqüência de
pontos Cartesianos. O processo de otimização aplica transformações de corpo rígido neste
conjunto de pontos, de forma a obter uma seqüência ótima de posições cinemáticas para o
robô.
O posicionamento é ajustado com o objetivo de aumentar a manipulabilidade e
diminuir a potência mecânica total requerida para o movimento, sendo aplicado um método
de otimização global para a determinação da solução. Os experimentos numéricos
comprovam a viabilidade da estratégia na análise de trajetórias com alto grau de
complexidade.
A seção 7.4 apresenta uma estratégia para a determinação da trajetória considerando
os requisitos de torque, velocidade, tempo de operação e posicionamento do robô durante o
movimento.
Partindo inicialmente de uma interpolação tipo spline cúbica, definem-se nós
intermediários que devem ser interpolados pelo polinômio. As alterações das posições destes
nós intermediários levam a diferentes polinômios interpoladores, resultando trajetórias
distintas. O aumento do número de nós permite a representação de uma função de
complexidade arbitrária.
Uma vez fixado o número de nós intermediários, suas posições são determinadas
através de um processo de otimização que considera o tempo total, a potência mecânica
acumulada e a distância ao obstáculo como índices de performance. Utiliza-se um método de
programação não linear para a resolução do problema proposto. Resultados numéricos
ilustram a viabilidade da metodologia.
Na seção 7.5 considera-se a potência mecânica requerida para a movimentação do
manipulador em um ambiente que contém obstáculos móveis.
A trajetória é determinada a partir da formulação de controle ótimo, na qual o vetor de
estado representa a posição em coordenada de junta e o vetor de controle representa a
velocidade de cada coordenada de junta.
Este estudo propõe a determinação da trajetória em duas fases: inicialmente considera-
se o desvio do obstáculo, e então, tanto o obstáculo quanto a potência mecânica são objetivos
simultaneamente considerados na segunda fase da otimização. A solução da primeira fase da
otimização é utilizada como estimativa inicial no início da segunda fase. Esta abordagem
87
favorece a obtenção de uma solução que otimiza a potência mecânica requerida, enquanto
preserva a continuidade do movimento diante da presença de obstáculos em movimento.
A seção 7.6 apresenta um método que considera a potência mecânica exigida pelo
manipulador para a interceptação de um objeto em movimento. Este problema difere dos
considerados anteriormente, pois há a necessidade de interceptação de um objeto em
movimento, sendo que o instante e a posição de interceptação também são variáveis de
projeto.
O planejamento é realizado através da definição de critérios de desempenho para a
interceptação do objeto e minimização da potência mecânica durante a determinação da
trajetória.
O problema de otimização é resolvido através da formulação de um problema de
controle ótimo, onde as velocidades das coordenadas de junta compõem o vetor de controle e
a posição define o vetor de estado.
O uso da potência mecânica como índice de performance leva à otimização da
velocidade e do torque simultaneamente, considerando, portanto, aspectos cinemáticos e
dinâmicos do movimento.
Em alguns gráficos são exibidas informações referentes a mais de uma coordenada de
junta. Por este motivo, os resultados numéricos apresentados ao longo desta tese adotam a
seguinte convenção para representação de diferentes coordenadas de junta em uma mesma
figura: o gráfico superior representa a primeira coordenada, sendo as demais coordenadas de
junta apresentadas na seqüência de cima para baixo, respectivamente. Quando dispostos
horizontalmente, o gráfico mais a esquerda corresponde à primeira coordenada de junta,
sendo os demais posicionados na seqüência da esquerda para a direita, respectivamente.
7.1 Torque máximo em ambiente sem restrição
O mais simples planejamento de trajetória de um robô manipulador serial consiste na
determinação do movimento do efetuador a partir de um ponto inicial até se chegar a um
ponto final. Neste caso o robô é guiado entre as duas posições mencionadas sem preocupação
com os pontos intermediários durante o percurso.
Neste estudo apresenta-se uma análise sobre a modificação da trajetória intermediária
de um robô manipulador de forma a reduzir o valor máximo do torq
88
percurso. A estratégia consiste na determinação de torques adequados à dinâmica do sistema,
a partir da teoria de controle ótimo.
7.1.1 Resultado numérico
O resultado numérico mostrado a seguir, computado antes do processo de otimização,
foi obtido a partir do sistema de equações dinâmicas do manipulador planar, Equação (2.27),
com dois graus de liberdade. O objetivo da otimização é minimizar o torque máximo
requerido do motor, expresso pela Equação (2.40).
Após a definição da posição inicial do manipulador em x = 2m e y = 0m (com a
respectiva configuração de junta q
1
(t
0
) = 0 rad e q
2
(t
0
) = 0 rad) e da posição final em x = 0m
e y = 2m (com a respectiva configuração de junta q
1
(t
f
) =
π
/2 rad e q
2
(t
f
) = 0 rad),
determinou-se o movimento entre estes pontos através de uma interpolação spline cúbica,
utilizando como referência os valores das coordenadas de junta.
O tempo previsto para a realização do movimento foi fixado em 1 s (t
0
= 0 s e t
f
= 1 s).
Desta forma, obteve-se o polinômio interpolador I
1
da primeira junta, tal que I
1
(t
0
) = 0 rad e
I
1
(t
f
) =
π
/2 rad, e o polinômio interpolador I
2
da segunda junta, tal que I
2
(t
0
) = 0 rad e I
2
(t
f
) =
0 rad.
Em todos os casos foram fixadas restrições adicionais que garantem
I
&
1
(t
0
) =
I
&
1
(t
f
) =
I
&
2
(t
0
) =
I
&
2
(t
f
) = 0. A velocidade inicial e a velocidade final (derivadas da posição) iguais a
zero indicam que o sistema inicia e termina o movimento na condição de repouso.
Resolvendo o sistema de equações diferenciais que representa o comportamento
dinâmico do sistema, dado pela Equação (2.27), com os valores de
qqq
&&&
e ,
computados a
partir do polinômio interpolador I, obtém-se o valor do torque u
ij
associado a cada junta j=1,2
durante os instantes i=1,...,N do movimento.
O movimento cartesiano realizado inicialmente, em correspondência com os valores
obtidos através da interpolação spline das coordenadas de junta, é apresentado em uma
seqüência de imagens na Figura 7.1.
O movimento apresentado na figura resulta em uma grande exigência do motor quanto
ao torque, dado pela Equação (2.37), com u
max
= 19,62 Nm. Após a realização da otimização
(Equações (3.29) a (3.32)), que utiliza como aproximação inicial para o vetor de controle v(i)
o valor obtido durante a interpolação, obtém-se uma nova especificação para q,
q
&
e
q
&&
, que
representam a posição, velocidade e aceleração, respectivamente. Computando o valor
89
máximo do torque a partir do vetor de controle ótimo v(i), que contém o torque estabelecido
pela otimização, obtém-se o índice de performance u
max
= 10,11 Nm.
Figura 7.1 - Movimento realizado pelo manipulador antes da otimização.
A análise computacional foi concluída em 9.4 segundos, utilizando um computador
Intel Celeron 2.6 GHz.
A Figura 7.2 apresenta os valores do torque durante o movimento, onde a linha
tracejada representa o torque antes da otimização e a linha contínua representa o torque após a
otimização. São apresentados os valores da primeira e segunda coordenadas de junta,
respectivamente.
Figura 7.2 - Torque aplicado a cada junta antes (--) e após (
-) a otimização.
A comparação entre os valores iniciais e finais permite constatar uma maior não
linearidade após o processo de otimização. Isto se deve à tentativa do sistema de utilizar
componentes de inércia para melhorar o desempenho geral.
Por outro lado, a Figura 7.2 mostra a necessidade de aumentar o torque em todas as
juntas na fase final do movimento, para que se atinja a meta de posicionamento estabelecida.
Tor
q
ue Tor
90
A comparação entre os índices de performance inicial (u
max
= 19,62 Nm) e final (u
max
= 10,11 Nm) comprova a significativa redução obtida para o valor do objetivo estabelecido.
É apropriado lembrar que o processo foi realizado após uma discretização do sistema.
Por este motivo os dados obtidos durante a análise não atendem a critérios de suavidade na
transição de um instante para o imediatamente posterior. Os gráficos de torque apresentados
anteriormente foram obtidos após uma interpolação spline dos dados originais fornecidos pela
solução do sistema discreto.
A Figura 7.3 apresenta os ângulos associados ao movimento de cada junta antes (em
linha tracejada) e após (em linha contínua) a otimização. A Figura 7.4 apresenta uma
seqüência de imagens do movimento relativo à configuração obtida após a otimização.
Figura 7.3 - Ângulo de cada junta antes (--) e após (-) a otimização.
Figura 7.4 - Movimento realizado pelo manipulador após a otimização.
Posi
ç
ão
(
rad
)
Posição (rad)
Tempo (s) Tempo (s)
91
A seqüência de posicionamentos apresentados na Figura 7.4 permite constatar a
tentativa do sistema de aproveitar a inércia adquirida durante o movimento para reduzir a
exigência de valores elevados para o torque máximo durante o percurso.
Uma característica importante deste processo é a continuidade do movimento. Este é
um fator decisivo para a efetiva implementação da trajetória proposta.
7.1.2 Conclusão
Esta seção considerou a otimização do torque máximo aplicado às juntas de um robô
para a realização de um movimento especificado.
Inicialmente considerou-se a obtenção das equações matemáticas do modelo dinâmico.
A seguir, especificou-se explicitamente a formulação analítica do modelo dinâmico de um
robô manipulador planar com dois graus de liberdade. Destaca-se que o nível de
complexidade do modelo tende a crescer quando se consideram robôs de geometria mais
sofisticada, com vários graus de liberdade. Optou-se por considerar a representação matricial
e a formulação de estado, com o intuito de que esta abordagem auxilie a especificação e a
análise de estruturas arbitrárias.
Após a contextualização da otimização de sistemas dinâmicos contínuos e discretos,
discutiu-se a proposta de modelagem do objetivo de minimizar o valor máximo do torque
através de conceitos de controle ótimo.
Diante da diversidade de estratégias propostas na literatura para a resolução deste tipo
de problema, os resultados numéricos foram obtidos a partir de técnicas de otimização não
lineares clássicas, tendo em vista o interesse do estabelecimento de uma metodologia
genérica.
O resultado numérico comprovou a eficiência da metodologia proposta para a redução
do valor máximo do torque necessário durante o movimento. Entretanto, deve-se lembrar a
melhora da performance varia de acordo com cada problema específico, além da estrutura do
robô em estudo.
Uma extensão desta investigação consiste em estabelecer diferentes restrições em cada
uma das juntas, além de restrições físicas no espaço de trabalho como, por exemplo, aquelas
que descrevem a presença de obstáculos.
92
7.2 Torque e potência mecânica acumulados em ambiente sem restrição
Com o aumento do uso de manipuladores robóticos em diversos setores industriais,
tem também aumentado os requisitos sobre sua capacidade. Um aspecto essencial no projeto e
uso de robôs é seu comportamento dinâmico. Movimentos que exigem potencialmente torque
elevado em suas juntas não devem ser implementados, devido à limitação dos atuadores
normalmente disponíveis.
Outro fator, importante do ponto de vista econômico, é a energia requerida para a
realização de determinada tarefa. Como a atividade a ser desenvolvida será repetida várias
vezes durante a jornada de trabalho, um estudo criterioso do movimento visando reduzir a
energia necessária em cada ciclo de operação pode resultar em uma expressiva economia de
energia ao final de um longo período de operação.
Por este motivo, propõe-se nesta aplicação a otimização da soma dos torques de cada
junta e a soma das respectivas potências mecânicas, como forma de reduzir o esforço dos
atuadores e a energia requerida pelo sistema.
Durante o planejamento da trajetória de manipuladores industriais, há normalmente a
possibilidade de especificação do ângulo de junta a ser atingido e o valor máximo da
aceleração, que é calculada, por exemplo, através de um perfil trapezoidal.
Com o intuito de adequar as variáveis de projeto às características cinemáticas do
manipulador, propõe-se no presente trabalho a determinação da trajetória ótima através de
técnicas de controle ótimo, onde o vetor de controle contém a velocidade, e o vetor de estado
contém informações sobre a posição e o torque associado.
É discutido o uso da potência mecânica e energia totais como objetivos a serem
otimizados. Considera-se o uso destes dois objetivos simultaneamente através da formulação
de um problema multicritério, sendo apresentados os resultados obtidos para valores
diferentes do fator de ponderação.
7.2.1 Formulação
A especificação de um valor de referência é de fundamental importância na
especificação de uma função objetivo multicritério.
Para se considerar a potência mecânica e a energia total do sistema, simultaneamente,
propõem-se formular a seguinte função objetivo escalar:
93
0
6
6
0
5
5
13
)1()(
f
f
k
f
f
kqf +=
, 0
k
≤ 1
(7.1)
onde f
5
e f
6
são dadas pelas Equações (2.38) e (2.39), respectivamente. Os valores de
referencia
0
5
f
e
0
6
f
são obtidos através do cálculo das Equações (2.38) e (2.39) com as
trajetórias estabelecidas pela interpolação.
A Equação (7.1) é utilizada como função objetivo na formulação geral dada pela
Equação (3.29).
No estudo realizado, o vetor de estado
x representa as coordenadas de junta q e o
torque τ associado ao movimento, enquanto o vetor de controle
u representa a aceleração
˙
q
aplicada a cada junta. A discretização considera a variação do tempo inicial t
0
=0 s ao tempo
final
t
f
= 9 s em vinte passos (N=20), utilizando o robô manipulador Planar (n=2) e o robô
manipulador Puma (
n=6).
Adicionalmente, têm-se as restrições de especificação inicial e final da trajetória:
.,...1 ,)(
,00
njtrtq
jj
==
(7.2)
.,...1 ,)(
,
njtrtq
jffj
==
(7.3)
e as restrições de especificação inicial e final de velocidade:
.,...1 ,)(
,00
njveltq
jj
==
&
(7.4)
.,...1 ,)(
,
njveltq
jffj
==
&
(7.5)
Nos exemplos analisados, consideram-se as velocidades iniciais e finais como sendo
nulas, o que fisicamente significa que o robô inicia o movimento a partir do repouso e o
finaliza também em repouso.
As Equações (7.2)-(7.5) são substituídas nas Equações (3.31)-(3.32), definindo as
restrições do problema de otimização.
No trabalho atual, os resultados foram computados através de um método de
otimização não linear clássico, que não exige a determinação de parâmetros tais como o
tamanho do passo e que calcula as derivadas parciais numericamente. O algoritmo consiste
94
em uma implementação do método modificado das direções viáveis (Vanderplaats, 1984),
(Zoutendijk, 1960), presente no software DOT ®. Os algoritmos foram implementados em
FORTRAN.
7.2.2 Experimentos numéricos
Manipulador Planar
Inicialmente, considerou-se o manipulador planar com 2 elementos, cujos parâmetros
de Denavit-Hartenberg são dados na Tabela 7.1.
Tabela 7.1 - Parâmetros de Denavit-Hartenberg, (*) variável de junta.
Elemento a (m)
α
(rad)
d (m)
θ
(rad)
1
2
a
1
a
2
0
0
0
0
θ
1
*
θ
2
*
Para este manipulador foram utilizados os valores
a
1
=1,2 m, a
2
=1,2 m, com as
respectivas massas,
m
1
=10 kg e m
2
=10 kg.
O calculo da energia, dado pela Equação (3.28), e da potência mecânica, dada pela
Equação (3.29), foram realizados a partir das equações explícitas do modelo dinâmico do
manipulador (Paul, 1981).
Apresenta-se, na Figura 7.5, dados comparativos entre o valor mínimo da potência
mecânica e do torque, obtidos pelo método de otimização a partir de diferentes valores de
ponderação envolvendo estes dois critérios.
Figura 7.5 - Valores ótimos obtidos a partir de valores diferentes do fator de ponderação.
Torque (Nm)
Pot. Mec. (W)
In. performance
Fator de ponderação
95
No eixo das abscissas tem-se o valor do fator de ponderação, que varia entre 0 e 1. O
valor 0 significa considerar somente a Potência Mecânica como função objetivo, e o valor 1
significa considerar somente o Torque como função objetivo.
Com o intuito de realizar uma comparação entre o desempenho obtido em cada
formulação, o índice de performance considera a melhoria da potência mecânica e do torque
em relação aos respectivos valores iniciais, através da soma dos quocientes entre o valor
inicial e o valor ótimo de cada critério. Desta forma, tem-se um índice de desempenho global
que considera a redução da potência mecânica e do torque simultaneamente como objetivos a
serem atingidos.
Na Figura 7.5 observa-se uma maior redução no valor do torque quando esta parcela
da função objetivo tem o maior fator de ponderação (quando
k=0 na Equação 7.1). Entretanto,
ao se considerar a situação oposta (
k=1), o mesmo comportamento não se repete para a
Potência Mecânica. Desta observação conclui-se que o uso da expressão que envolve o torque
influencia de forma positiva na determinação do valor ótimo da potência mecânica.
Analisando o índice de performance a partir das diferentes possibilidades de ponderação, tem-
se que o parâmetro
k=0,2 resulta na melhor configuração, levando a uma melhora de 16% na
performance do sistema, redução da potencia mecânica de 8,83
kW para 7,39 kW, e redução
do torque total associado ao movimento de 446,85
kNm para 370,51 kNm.
A seguir considera-se o planejamento de trajetória obtido a partir da configuração
ótima.
A Figura 7.6 apresenta as trajetórias e velocidades iniciais e ótimas de cada junta. A
trajetória inicial é obtida através da interpolação por
spline cúbica, e a trajetória ótima resulta
da especificação do controle ótimo. Nota-se um pequeno ajuste durante o percurso, o que,
entretanto, não representa uma alteração significativa do movimento cartesiano do
manipulador.
96
Figura 7.6 - Posição e velocidade iniciais e ótimas de cada junta.
Ao considerar-se o torque resultante deste movimento, de acordo com a Figura 7.7,
tem-se uma pequena variação em relação ao valor original e, na maior parte do percurso, uma
discreta redução de seu valor. Este comportamento é devido ao uso conjunto da potência
mecânica e do torque como critérios de otimização.
Em experimentos numéricos realizados, constatou-se que o uso unicamente da
expressão da potência mecânica pode levar a um aumento excessivo do torque nos instantes
em que a aceleração se aproxima de zero.
Assim, destaca-se que a formulação proposta é apropriada, tanto para a redução da
potência mecânica e do torque associados ao movimento, quanto para a manutenção dos
valores observados de posição e torque em níveis próximos àqueles obtidos a partir da
interpolação.
Figura 7.7 - Torque inicial e torque ótimo de cada junta.
Torque (Nm)
Torque (Nm)
97
Manipulador Puma
Os experimento apresentado a seguir se referem ao robô manipulador Puma 560. Os
parâmetros de Denavit-Hartenberg e as equações explícitas do modelo dinâmico utilizado são
aqueles utilizados por Armstrong
et al. (1986).
O movimento analisado é dado pela variação dos ângulos de junta de θ
1
= 0 rad a θ
1
=
1,5708
rad, de θ
2
= 0 rad a θ
2
= 0,7854 rad e de θ
3
= 0 rad a θ
3
= -0,5236 rad. Os demais
ângulos de junta, responsáveis pela orientação do efetuador, tiveram os valores fixados em
zero.
Na Figura 7.8 têm-se os dados referentes ao valor mínimo da potência mecânica e da
energia, obtidos pelo método de otimização a partir de diferentes valores de fator de
ponderação envolvendo estes dois critérios.
Figura 7.8 - Valores ótimos obtidos a partir de diferentes fatores de ponderação.
Analisando o índice de performance a partir das diferentes possibilidades de
ponderação, tem-se que o parâmetro
k=0,4 resulta na melhor configuração. Esta ponderação
leva a um índice de performance 17% melhor que o original, tendo como conseqüência a
redução da potência mecânica de 206,66
W para 137,97 W e a redução do torque total
associado ao movimento de 23,03
kNm para 22,66 kNm.
O planejamento de trajetória das três primeiras juntas, obtido a partir da configuração
ótima, é apresentado nas figuras a seguir. As três últimas juntas, responsáveis pela orientação
do efetuador, não tiveram os valores de suas coordenadas alterados durante o movimento.
Tor
q
ue
(
Nm
)
Pot. Mec.
(
W
)
In.
p
e
r
formance
Fator de
p
onderação
98
A Figura 7.9 apresenta a posição e a velocidade de cada ângulo de junta, sendo que a
segunda junta apresenta uma maior variação que as demais em relação à trajetória inicial. Este
resultado é coerente com os dados apresentados na Figura 7.10, onde o torque associado a
esta junta é aquele que sofre maior alteração.
Figura 7.9 - Posição e velocidade iniciais e ótimas de cada junta.
Figura 7.10 - Torque inicial e torque ótimo de cada junta.
7.2.3 Conclusão
Nesta aplicação apresentou-se uma proposta de análise da energia e da potência
mecânica associadas ao movimento de robôs manipuladores seriais.
Após a conceituação de torque e energia mecânica, considerou-se o uso de técnicas de
controle ótimo para a modelagem do problema a ser otimizado. A escolha do parâmetro
Torque (Nm)
Torque (Nm)
Torque (Nm)
99
velocidade como vetor de controle se deu com o objetivo de alterar o comportamento
dinâmico do sistema a partir de informações cinemáticas do robô.
O problema de controle ótimo foi resolvido através de uma estratégia de programação
não linear clássica.
Os resultados numéricos ilustraram a viabilidade do uso das expressões da energia e
potência mecânica combinadas, como forma de melhorar o desempenho do processo de
otimização. A formulação do objetivo multicritério se deu a partir da teoria clássica sobre o
tema.
Diante do baixo custo computacional requerido pelo procedimento de otimização não
linear, aliado ao desempenho nos resultados numéricos realizados, acredita-se que o uso de
técnicas de otimização multicritério é uma alternativa positiva, visando o aumento da
performance do processo de otimização no contexto proposto.
Outro ponto favorável na análise dos resultados é o fato de que a expressão que inclui
a energia inibe o crescimento dos níveis de torque, principalmente nos momentos em que a
velocidade tem valores próximos de zero.
Assim, o autor acredita que a metodologia proposta possa ser efetivamente tornar-se
uma ferramenta útil para a otimização da trajetória de robôs manipuladores.
7.3 Posicionamento da tarefa em ambiente irrestrito
Com o intuito de aumentar a produtividade em tarefas que exigem a obediência de um
percurso pré-estabelecido, tem-se estudado, na literatura referente a aplicações robóticas
industriais, o movimento pré-estabelecido do manipulador em tempo ótimo, onde se considera
os limites do torque nos atuadores. Nestas formulações, o torque dos atuadores das juntas é
considerado como entrada controlada, e o esquema de controle em malha aberta resulta num
controle do tipo
bang-bang ou bang-singular-bang (Chen e Desrochers, 1989).
Entretanto, o aumento da velocidade pode resultar (em alguns casos) no aumento da
vibração do efetuador do robô ou na diminuição de sua precisão. Isto acontece devido a vários
fatores, tais como aspectos da natureza do controle, flexibilidade das junções, atrito e
composição das engrenagens, ou mesmo uma combinação destes elementos podem contribuir
para o problema.
100
Esta contribuição propõe uma forma alternativa de melhoria do desempenho de robôs
manipuladores seriais. Como a idéia básica da análise da manipulabilidade consiste na
descrição de direções, no espaço de tarefa ou coordenadas de juntas, nas quais se maximiza o
quociente entre alguma medida de esforço no espaço de juntas e uma medida de desempenho
no espaço de tarefas, a metodologia proposta consiste no posicionamento ótimo da tarefa a ser
realizada, posicionamento este que resulta na maximização da manipulabilidade do robô e na
minimização da potência mecânica requerida. Com este enfoque, são considerados em uma
análise unificada elementos de cinemática e dinâmica do manipulador. Para atingir este
objetivo, é proposto um modelo que descreve a potência mecânica e a manipulabilidade,
seguido de uma metodologia de otimização global.
A posição do efetuador é fixada em relação a um referencial e descrita como uma
seqüência de pontos Cartesianos. O processo de otimização aplica transformações de corpo
rígido neste conjunto de pontos, de forma a obter uma seqüência ótima de posições
cinemáticas para o robô.
7.3.1 Formulação
Para considerar simultaneamente a manipulabilidade e a potência mecânica total é
proposta a seguinte função objetivo escalar
10 ,)1()(
0
6
6
0
1
1
14
+= k
f
f
k
f
f
kqf
(7.6)
onde
f
1
e f
6
são dadas pelas Equações (2.14) e (2.39), respectivamente. Os valores de
referência
0
1
f
e
0
6
f
são obtidos a partir do cálculo da manipulabilidade e da soma da potência
mecânica no posicionamento inicial da tarefa. Por este motivo, no caso ideal a função objetivo
tem valor menor que 2, onde
1
0
1
1
f
f
(a manipulabilidade foi aumentada) e
1
0
6
6
f
f
(a
potência mecânica foi reduzida).
A especificação de um valor de referência para a medida de manipulabilidade e a
potência mecânica é de fundamental importância na construção da função objetivo
multicritério.
101
O erro no cálculo da cinemática inversa é incluído como uma restrição de igualdade na
formulação de otimização, através da expressão
s
E
= 0 (Equação (2.25)).
Deve-se destacar que a formulação proposta é capaz de lidar com o caso em que a
tarefa está fora do espaço de trabalho do robô. Esta configuração reflete no erro de
determinação da cinemática inversa, que é considerado como restrição no problema de
otimização.
Adicionalmente, as especificações de velocidade inicial e final são consideradas
.,...1 ,)(
,00
njveltq
jj
==
&
(7.7)
.,...1 ,)(
,
njveltq
jffj
==
&
(7.8)
para cada junta
j nos tempos inicial e final t
0
e t
f
, respectivamente.
Nos resultados apresentados a seguir, as velocidades iniciais e finais são consideradas
nulas, significando que o manipulador inicia e finaliza o movimento em estado de repouso
(
rest-to-rest motion).
7.3.2 Experimentos numéricos
As simulações numéricas realizadas de acordo com a metodologia proposta utilizam
dois modelos: os robôs manipuladores Scara e Puma 560. Os resultados a seguir consideram
somente configurações cuja soma do erro de posicionamento do efetuador é nula
(Equação(2.25)), dado
ε = 0,001 m (Equação (2.24)). Diferentes valores de tolerância podem
resultar em diferentes valores mínimos globais.
Como alterar os fatores de ponderação
k leva a problemas de otimização distintos
(Equação (7.6)), o valor do mínimo global é normalizado de acordo com a seguinte equação
0
6
6
0
1
1
15
)(
f
f
f
f
qf +=
(7.9)
Este índice de performance permite a comparação da melhora para cada objetivo sem
o efeito da ponderação, é será utilizado na análise subseqüente.
102
Em resumo, realiza-se a otimização global para cada fator de ponderação (k=0; 0,1,
0,2; 0,3; ...; 1
) de acordo com a Equação (7.6) e a comparação entre os projetos ótimos
obtidos é realizado pela Equação (7.9). Assim, onze otimizações globais para cada tarefa
foram realizadas. O erro máximo na determinação da cinemática inversa é definido como
sendo menor que
ε=0,001 m na Equação (2.24).
O manipulador Scara é usado nos dois experimentos numéricos apresentados a seguir.
Os parâmetros de Denavit-Hartenberg correspondentes são dados na Tabela 7.3.
Tabela 7.3 - Parâmetros de
Denavit-Hartenberg para o manipulador Scara.
Elemento a (m)
α
(rad)
d (m)
θ
(rad)
1
2
3
4
0,3750
0,3250
0
0
0
0
1,5708
0
0
0
d
3
0
θ
1
θ
2
0
θ
4
A origem (0, 0, 0) do sistema de referência não coincide com a base geométrica do
manipulador (devido à convenção de
Denavit-Hartenberg). A posição real da origem é 0,5 m
acima da base geométrica do manipulador. Considerando a habilidade de descrever um
percurso complexo, os dados para o conjunto de pontos de especificação cartesianos (Equação
(2.20)) são determinados através de uma interpolação
spline cúbica das coordenadas
paramétricas do percurso requerido, e todos os valores são obtidos a partir de um conjunto de
pontos Cartesianos apropriados.
O terceiro e quarto experimentos numéricos são relativos ao manipulador Puma 560,
de acordo com os parâmetros de
Denavit-Hartenberg dados na Tabela 7.4.
De forma similar, os dados para o conjunto de pontos de especificações cartesianas
(Equação (2.20)) são determinados através da interpolação
spline cúbica das coordenadas
paramétricas que correspondem ao percurso desejado. Por este motivo, todos os valores são
obtidos a partir de um conjunto apropriado de pontos Cartesianos.
103
Tabela 7.4 - Parâmetros de Denavit-Hartenberg para o manipulador Puma 560.
Elemento a (m)
α
(rad)
d (m)
θ
(rad)
1
2
3
4
5
6
0
0,4318
0,0203
0
0
0
1,5708
0
-1,5708
1,5708
-1,5708
0
0
0
0,1500
0,4318
0
0
θ
1
θ
2
θ
3
θ
4
θ
5
θ
6
O percurso para cada experimento é definido arbitrariamente com o intuito de explorar
a eficiência do método na realização de uma tarefa complexa, tanto paralela a um plano de
referência quanto no espaço tridimensional. Todos os resultados consideram somente
configurações nas quais os erros da cinemática inversa são menores que
ε, i.e., s
E
= 0
(Equação (2.25)).
Cada valor
k na Equação (7.6) define um novo problema de otimização. Para comparar
os valores dados por diferentes formulações de otimização, a normalização dos resultados,
independentemente dos fatores de ponderação, é considerado como estabelecido por
f
15
(Equação (7.9)).
Primeiro experimento
Neste experimento, um subconjunto de 7 pontos de referência é definido: (0; 0,4; 0;
–0,3), (1; 0,4; –0,1; –0,3), (2; 0,2; –0,1; –0,3), (3; 0,2; –0,2; –0,3), (4; 0,4; –0,25; –0,3), (5;
0,4; –0,2; –0,3) e (6; 0,2; –0,25; –0,3). Comparando estes valores com a Equação (2.20), a
tarefa inicial está dentro do retângulo definido por 0,2
x 0,4, –0,3 y –0,1 e z = –0,3. O
tempo para execução é definido por 0
t 6 s. Os dados são calculados a partir da
interpolação por
spline cúbica para t, x, y e z, respectivamente. Os dados interpolados
compõem um conjunto com
N = 27 pontos (Equação (2.20)) que descrevem o problema de
percurso estabelecido, como apresentado na Figura 7.10.
Na posição original, os valores das variáveis de projeto são:
β
= 0 rad,
δ
x
= 0 m,
δ
y
= 0
m e
δ
z
= 0 m. Estes valores são usados como aproximação inicial para o processo de
otimização (Equação (7.6)).
Os valores mínimos globais obtidos são apresentados na Figura 7.11.
104
Figura 7.10 - Percurso proposto visto de diferentes perspectivas.
Figura 7.11 - Valores ótimos obtidos com o uso de diferentes fatores de ponderação.
Os valores ótimos dos índices de manipulabilidade e potência mecânica demonstram
que não há uma dependência clara entre as variáveis. Bons resultados são providos por
k=0,2;
0,5; 0,6 e 0,9.
Detalhes sobre o índice de performance mínimo,
k = 0,9, são apresentados na Tabela
7.5. A performance geral foi melhorada em 28%, enquanto a manipulabilidade mínima e a
potência mecânica foram melhoradas em 62% e 18%, respectivamente.
Alguns dos valores dados por outros fatores de ponderação podem resultar em uma
melhora adicional da manipulabilidade ou da potência mecânica, separadamente. Entretanto, a
Fator de
p
ondera
ç
ão
Ind. performance Potência Mecânica Manipulabilidade
105
configuração atual é o mínimo global do índice de performance f
4
. A melhora obtida durante o
processo de
tunneling é mostrada na Figura 7.12.
Tabela 7.5 - Valor inicial e ótimo dos índices de performance (para
k=0,9).
Parâmetro Valor inicial Valor ótimo
Manipulabilidade mínima f
1
0,067 0,108
Potência mecânica f
2
(Watts) 6,451 5,261
Erro de cinemática inversa
s
E
0,000 0,000
Índice de performance
f
4
2,000 1,436
Variáveis de projeto (
β, δ
x
, δ
y
, δ
z
)
(0, 0, 0, 0) (0,107, -0,013, -0,227, 0,055)
Figura 7.12 - Índice de performance durante as iterações do
tunneling (para k=0,9).
Após a sexta iteração do processo de
tunneling, não houve melhora adicional durante
cinco iterações consecutivas. Este comportamento define o critério de parada para a busca da
otimização global. O resultado acima destaca a boa performance do método, visto que bons
resultados são obtidos após um pequeno número de iterações.
A Figura 7.13 mostra o robô executando a tarefa de execução do percurso e a Figura
7.14 apresenta o posicionamento ótimo, de acordo com os valores das variáveis de projeto
ótimo dados pela Tabela 7.5.
Índice de
p
erformance
Iteração tunneling
106
Figura 7.13 - Robô em diferentes configurações durante a execução da tarefa.
Figura 7.14 - Percurso proposto (---) e ótimo (––) vistos de duas perspectivas diferentes.
As coordenadas de junta em cada instante de tempo são obtidas pelo cálculo da
cinemática inversa. Uma vez que a tarefa é considerada como um conjunto de pontos
cartesianos consecutivos com transição contínua entre eles, as coordenadas de junta
correspondentes apresentam um comportamento suave. A Figura 7.15 mostra as coordenadas
de junta inicial e ótima dos três primeiros elementos e o correspondente índice de
manipulabilidade.
Uma vez que a cinemática inversa é calculada iterativamente para cada posição do
efetuador, é possível incluir o recurso de desvio de obstáculo na estratégia acima. Pode-se
encontrar uma discussão sobre o procedimento correspondente para o cálculo da cinemática
inversa em (Santos
et al., 2005a), por exemplo.
107
Figura 7.15 - Coordenadas das juntas e índice de manipulabilidade correspondente
(manipulador Scara).
Segundo experimento
Neste experimento um subconjunto com 8 pontos de referência é definido: (0; 0,2; 0;
–0,3), (1; 0,4; –0,1; –0,3), (2; 0,4; –0,05; –0,3), (3; 0,2; –0,1; –0,3), (4; 0,25; –0,15; –0,3), (5;
0,3; –0,17; –0,3), (6; 0,27; –0,13; –0,3) e (7; 0,26; –0,2; –0,3). Comparando estes valores com
a formulação da Equação 10, a tarefa inicial está dentro de um retângulo definido por 0,2
x
0,4, –0,2 y 0 e z = –0,3. O tempo correspondente é definido por 0 t 7 s. Estes dados
são computados através da interpolação por
spline cúbica para t, x, y e z, respectivamente. Os
dados interpolados constituem um conjunto de
N = 54 pontos (Equação (2.20)) que descreve o
problema de seguimento do percurso, conforme apresentado na Figura 7.16.
Na posição original, os valores das variáveis de projeto são:
β
= 0 rad,
δ
x
= 0 m,
δ
y
= 0
m e
δ
z
= 0 m, usados como aproximação inicial para o processo de otimização (Equação
(7.6)). A otimização global é realizada para onze valores diferentes atribuídos para os fatores
de ponderação
k, (k=0, 0,1, 0,2, ..., 1) (de acordo com a Equação (7.6)).
Os valores mínimos obtidos pelo processo de otimização são apresentados na Figura
7.17.
Neste experimento, bons resultados são oferecidos por
k=0,3; 0,4 e 0,7. Detalhes sobre
o índice de performance mínimo,
k=0,7, são apresentados na Tabela 7.6. O desempenho geral
foi melhorado em 17%, enquanto a manipulabilidade mínima e a potência mecânica foram
melhorados em 46% e 3%, respectivamente.
108
Figura 7.16 - Percurso proposto visto de diferentes perspectivas.
Figura 7.17 - Valores ótimos obtidos usando diferentes fatores de ponderação.
Tabela 7.6 - Valor inicial e ótimo dos índices de performance (para k=0,7).
Parâmetro Valor inicial Valor ótimo
Manipulabilidade minima f
1
0,065 0,095
Potência mecânica f
2
(Watts)
5,989 5,773
Erro de cinemática inverse s
E
0,000 0,000
Índice de performance f
4
2,000 1,650
Variáveis de projeto (β, δ
x
, δ
y
, δ
z
)
(0, 0, 0, 0) (0,044, 0,084, -0,116, 0,066)
De forma análoga, eventualmente, os valores dados por outros fatores de ponderação
podem resultar em melhora adicional da manipulabilidade e potência mecânica,
separadamente. Entretanto, a configuração acima é o mínimo global do índice de performance
f
4
.
Ind. performance Potência Mecânica Manipulabilidade
Fator de ponderação
109
A melhora do projeto obtida pelo processo de tunneling é apresentada na Figura 7.18.
Figura 7.18 - Índice de performance durante as iterações do tunneling (para k=0,7).
Após a iteração de número 18 do processo de
tunneling, não houve uma melhora
adicional ao longo de cinco iterações sucessivas, atingindo assim o critério de parada do
algoritmo de otimização global. A Figura 7.19 mostra o robô executando a tarefa
especificada e a Figura 7.20 exibe o posicionamento ótimo, de acordo com os valores do
projeto ótimo apresentados na Tabela 7.6.
As coordenadas de junta em cada instante de tempo são obtidas pelo cálculo da
cinemática inversa. Considerando que o conjunto discreto de pontos que definem a tarefa
(Equação (2.20)) descreve um percurso contínuo, as transições entre as coordenadas das
juntas são calculadas através de interpolação por
spline cúbica. A Figura 7.21 mostra as
coordenadas das três primeiras juntas iniciais e ótimas e o índice de manipulabilidade
correspondente.
Figura 7.19 - Robô executando a tarefa proposta.
Índice de
p
erformance
Iteração tunneling
110
Figura 7.20 - Percurso proposto (---) e ótimo (––) vistos de duas perspectives diferentes.
Figura 7.21 - Coordenadas das juntas e o índice de manipulabilidade correspondente
(manipulador Scara).
Terceiro experimento
Para este experimento define-se um subconjunto com 7 pontos de referência: (0, 0,4, 0,1,
0), (1, 0,4, 0, 0), (2, 0,4, 0, –0,4), (3, 0,4, –0,3, –0,4), (4, 0,4, –0,4, 0), (5, 0,4, –0,3, 0) e (6,
0,4, –0,4, –0,4). Analisando os valores, observa-se que tarefa proposta está posicionada dentro
do retângulo definido por
x = 0,4, –0,4 y 0,1 e –0,4 z 0. O tempo correspondente vale
0
t 6. Os dados são calculados através da interpolação por spline cúbica para t, x, y e z,
respectivamente. Os dados interpolados formam um conjunto de
N = 54 pontos que
descrevem o problema de seguimento do percurso mostrado na Figura 7.22.
111
Figura 7.22 - Percurso proposto visto de diferentes perspectivas.
Na posição original, os valores das variáveis de projeto são:
β
= 0 rad,
δ
x
= 0 m,
δ
y
= 0
m e
δ
z
= 0 m. Estes valores são usados como estimativa inicial para o processo de otimização
(Equação (7.6)).
Os valores ótimos dos índices de manipulabilidade e potência mecânica (Figura 7.23)
demonstram que não há diferença significativa entre a maioria dos resultados apresentados.
Os melhores valores são dados por
k=0,4 e 0,5.
Figura 7.23 - Valores ótimos obtidos com o uso de diferentes fatores de ponderação.
Detalhes sobre o mínimo índice de performance,
k = 0,5, são apresentados na Tabela
7.7. O desempenho geral foi melhorado em 40%, enquanto a manipulabilidade e potência
mecânica mínimos foram melhorados em 64% e 41%, respectivamente.
Ind. performance Potência Mecânica Manipulabilidade
Fator de ponderação
112
Alguns dos valores obtidos com o uso de outros fatores de ponderação podem resultar
em melhora adicional da manipulabilidade e potência mecânica, separadamente. Entretanto, a
configuração acima corresponde ao mínimo global do índice de performance
f
4
.
O desempenho dado pelo processo de tunneling é mostrado na Figura 7.24.
Tabela 7.7 - Valor inicial e ótimo dos índices de performance (para
k=0,5).
Parâmetro Valor inicial Valor ótimo
Manipulabilidade mínima f
1
0,053 0,087
Potência mecânica f
2
(Watts) 1461,114 862,289
Erro de cinemática inversa
s
E
0,000 0,000
Índice de performance
f
4
2,000 1,202
Variáveis de projeto (
β, δ
x
, δ
y
, δ
z
)
(0, 0, 0, 0) (0,391, 0,101, 0,169, 0,418)
Figura 7.24 - Índice de performance durante as iterações do
tunneling (para k=0,5).
Após a quinta iteração do processo de
tunneling, não houve melhora adicional para as
próximas cinco iterações sucessivas. Este comportamento define o critério de parada do
processo de otimização global.
A Figura 7.25 mostra o robô executando a tarefa proposta e a Figura 7.26 apresenta o
posicionamento ótimo, de acordo com o valor da variável do projeto ótimo dado na Tabela
7.7. A Figura 7.27 mostra as coordenadas das três primeiras juntas no posicionamento inicial
e final e o índice de manipulabilidade correspondente.
Índice de
p
erformance
Iteração tunneling
113
Figura 7.25 - Robô executando a tarefa proposta.
Figura 7.26 - Percurso proposto (---) e ótimo (––) vistos de duas perspectivas diferentes.
Figura 7.27 - Coordenadas de junta e seu índice de manipulabilidade correspondente
(manipulador Puma 560).
114
O exemplo acima considerou a tarefa inicialmente definida como sendo paralela ao
plano
xz. Isto pode ser interpretado como um caminho definido paralelo ao plano vertical.
Pode-se observar que o projeto ótimo corresponde a uma rotação de 0.391
rad no sentido anti-
horário em relação ao eixo de referência.
Quarto experimento
Neste experimento é definido um subconjunto de 7 pontos de referência: (0, 0,5, 0, 0),
(1, 0,4, 0, –0,1), (2, 0,3, 0, 0), (3, 0,3, 0,2, 0), (4, 0,3, 0,4, 0), (5, 0,4, 0,4, 0,1) e (6, 0,5, 0,4, 0).
6(e)-7(ser lo)5( nidaaixal. )]TJ-2483127 -197228 TD-0.10 Tc055005 Twe definidpor(, 0to )]TJ/912 1 Tf12 0 0 116J9. 5-3622603 Tm0 Tc0 T<.004>.no xz.no 0,5,to
no yz.no 4) , –0to
115
foram melhorados em 46% e 3%, respectivamente. A melhoria obtida durante o uso do
processo de
tunneling é apresentada na Figura 7.30.
Figura 7.29 - Valores ótimos obtidos usando valores diferentes para o fator de ponderação.
Tabela 7.8 - Valor inicial e ótimo dos índices de performance (para
k=0,3).
Parâmetro Valor inicial Valor ótimo
Manipulabilidade mínima f
1
0,026 0,079
Potência mecânica f
2
(Watts)
600,052 498,451
Erro de cinemática inversa s
E
0,000 0,000
Índice de performance f
4
2,000 1,171
Variáveis de projeto (β, δ
x
, δ
y
, δ
z
)
(0, 0, 0, 0) (–0,118, 0,146, –0,197, –0,264)
Figura 7.30 - Índice de performance durante as iterações do
tunneling (para k=0,3).
Ind. performance Potência Mecânica Manipulabilidade
Fator de
p
ondera
ç
ão
Índice de performance
Iteração tunneling
116
Após a sexta iteração do processo de tunneling, não houve melhoria adicional durante
as cinco iterações seguintes. A Figura 7.31 mostra o robô realizando a tarefa proposta e a
Figura 7.32 exibe o posicionamento ótimo, de acordo com os valores do projeto ótimo
apresentados na Tabela 7.8.
Figura 7.31 - Robô executando a tarefa proposta.
Figura 7.32 - Percurso proposto (---) e ótimo (––) vistos de duas perspectives diferentes.
As coordenadas de junta em cada instante de tempo são obtidas pelo cálculo da
cinemática inversa. Como o conjunto discreto de pontos que definem a tarefa (Equação
(2.20)) é suposta descrever um percurso contínuo, as transições entre as coordenadas de junta
são calculadas através da interpolação por
spline cúbica. A Figura 7.33 mostra as coordenadas
de junta inicial e ótima para os três primeiros elementos (
links) e o índice de manipulabilidade
correspondente.
Este exemplo demonstra o desempenho da metodologia proposta para o caso em que
uma configuração tridimensional é definida para o percurso. Como mencionado anteriormente
117
nesta seção, é também possível incluir a especificação de desvio de obstáculos na função
objetivo.
Figura 7.33 - Coordenadas de junta e índice de manipulabilidade correspondente
(manipulador Puma 560).
7.3.3 Conclusão
Nestes exemplos foi considerado o problema de planejamento de s3a dóoria (
untir amuciinluirexigêncidas o
118
O problema de otimização foi baseado em uma estratégia de busca global, melhorando
a robustez em relação à aproximação inicial fornecida ao lançar o algoritmo.
Os experimentos numéricos mostraram que o reposicionamento da tarefa é bem
sucedido no aumento da manipulabilidade e redução da potência mecânica total,
simultaneamente. Como alterações no posicionamento da tarefa podem resultar em diferentes
índices de manipulabilidade associados e também em diferentes perfis de torque e velocidade
de junta, a metodologia procura a forma ótima de usar os recursos do robô (conforme descrito
pelos índices de performance) procurando a melhor região do espaço de trabalho para a
realização da tarefa.
Em alguns casos práticos, os objetos manipulados não podem ser movidos devido a
restrições físicas como peso ou geometria. Mesmo nestes casos a estratégia proposta é
adequada, bastando para isso promover uma alteração da posição do próprio manipulador. A
alteração correspondente na base do robô é obtida a partir do perfil ótimo, através do uso do
sinal oposto em relação àqueles obtidos para os valores ótimos, ou seja, (
-
β
, -
δ
x
, -
δ
y
, -
δ
z
).
Como a metodologia proposta é dedicada a manipuladores seriais de complexidade
arbitrária, acredita-se que esta metodologia seja uma contribuição interessante para o projeto
geral do planejamento de trajetória de robôs.
7.4 Tempo, potência mecânica e desvio de obstáculo fixo
Ao se planejar a trajetória de robôs, deve-se verificar a existência de restrições
técnicas que possam impedir a efetiva implementação do percurso estabelecido. Por exemplo,
o movimento que demanda torques muito elevados nas juntas não deve ser implementado,
pois, conforme mencionado anteriormente, os atuadores em geral são limitados à aplicação de
torques com valor nominal específico. Espera-se também que haja a demanda de uma
quantidade moderada de energia, devido a questões técnicas e econômicas. Além disso, sob
certas circunstâncias, deve-se limitar a velocidade do efetuador de forma a preservar a
integridade ou segurança durante o processo de manipulação. Finalmente, há interesse em se
considerar o tempo total, pois é desejável que uma tarefa industrial seja executada no mínimo
tempo possível.
119
Esta contribuição propõe uma nova estratégia para determinar a trajetória para um
movimento especificado levando em conta os requisitos de torque, velocidade, tempo de
operação e posicionamento do robô durante o movimento.
7.4.1 Formulação do Problema
A especificação de um valor de referência com o objetivo de definir o desvio do
obstáculo, juntamente com a potência mecânica e o tempo total de percurso, é de fundamental
importância para a construção da função objetivo multicritério. Para formular o critério de
desempenho que leva em conta todas as funções objetivo de forma que uma função
multiobjetivo geral possa ser escrita, nesta aplicação foi utilizado o método da ponderação dos
objetivos (
Weighting Objective Method) .
O processo de otimização leva à solução ótima segundo Pareto (Eschenauer
et al.,
1990) ou, alternativamente, a um conjunto de soluções ótimas. A função objetivo escalar que
engloba todos os critérios de desempenho é escrita no caso geral como
=
=
m
i
ii
xfkxf
1
)()( (7.10)
onde k
i
0 são os coeficientes de ponderação que representam a importância relativa de cada
critério separadamente. Do ponto de vista numérico, o processo de minimização depende
também dos valores numéricos que expressam a função objetivo. Devido a problemas de
escala, os valores que expressam as funções objetivo devem ser ajustados. Caso contrário, k
i
não representará a importância relativa das funções objetivo (Deb, 2001). Conseqüentemente,
a Equação (7.10) deve ser reescrita como
=
i
ii
xfcxf )()(
17
, i=6, 8, 16. (7.11)
onde c
i
são fatores de escala. De acordo com Santos et al., (2005b) resultados satisfatórios
são usualmente obtidos se
0
i
i
i
f
k
c =
, onde
0
i
f
representa o valor do índice de performance
obtido a partir dos valores da configuração inicial das coordenadas de junta. A Equação (7.11)
120
é usada nas aplicações de otimização apresentadas nesta seção, onde f
8
e f
6
são dadas pelas
Equações (4.6) e (2.39), respectivamente. O tempo total f
16
é calculado pelo módulo do tempo
inicial ao final.
7.4.2 Experimentos numéricos
A continuidade do movimento entre o tempo inicial (t
0
= 0) e o tempo final (t
f
= 10s) é
simulada através da definição de um conjunto de instantes de tempo discretos que
representam todo o intervalo. Para este propósito, foram considerados 15 pontos
intermediários igualmente espaçados. Desta forma, tanto a possibilidade de colisão entre o
manipulador e o obstáculo, quanto a análise do comportamento cinemático e dinâmico do
sistema foram realizados nestes instantes de tempo discretos. Um número maior de pontos
pode gerar um resultado mais preciso, exigindo, por outro lado, um custo computacional mais
elevado.
Manipulador Elbow em um espaço de trabalho contendo um único obstáculo
O exemplo seguinte se refere ao manipulador tridimensional Elbow (três juntas
rotacionais). Nesta aplicação a massa de cada elemento é igual a 10.0 kg. O momento de
inércia da barra cilíndrica é usado para expressar a dinâmica de cada elemento (link), ou seja,
I
x
= 1/2 mR
2
, I
y
= I
z
= (1/12)m(3R
2
+ L
2
), onde R = 0.27 m. Os parâmetros de Denavit-
Hartenberg para o manipulador são apresentados na Tabela 7.9.
Tabela 7.9 - Parâmetros de Denavit-Hartenberg.
Elemento a (m)
α
(rad)
d (m)
θ
(rad)
1 0 1.57 0
θ
1
2 1.2 0 0.1
θ
2
3 1.2 0 -0.1
θ
3
As coordenadas de junta inicial e final foram definidas como
θ
1
=-0,2 rad,
θ
2
=0,5 rad,
θ
3
=1 rad, e
θ
1
=0,2 rad,
θ
2
=-0,4 rad,
θ
3
=0,1 rad, respectivamente. O movimento inicial foi
determinado através da interpolação do tipo spline cúbica entre os valores de cada coordenada
de junta, relativas à posição inicial e final. Estas trajetórias foram determinadas de tal forma
que as velocidades iniciais e finais são nulas, ou seja,
0)()
0
(
=
=
f
t
i
qt
i
q
&&
.
121
Este procedimento leva à determinação da potência mecânica (25,54 KWatts) no
tempo total (10 s), que são usados como parâmetros
0
i
f
na Equação (7.11). Considera-se que
todas as funções objetivo são igualmente ponderadas (α
i
= 1).
O critério mais importante no planejamento da trajetória para o manipulador em um
ambiente restrito é o desvio do obstáculo, de forma que a trajetória resultante seja realizável.
Pode-se observar que, se o centro de um obstáculo é posicionado no ponto dado por x=2,3 m,
y=0 m, z=1,2 m, o movimento obtido na análise anterior se torna infactível (é considerado um
obstáculo cúbico de lados iguais a 0,3 m).
A Figura 7.34 apresenta o movimento resultante do robô, obtido através da
interpolação da trajetória da configuração de cada junta, a partir da posição inicial até a final.
Figura 7.34 - Trajetória obtida através de interpolação simples.
A estratégia proposta consiste no uso de um ponto de controle intermediário para cada
coordenada de junta, impondo a interpolação por este ponto de um polinômio interpolador do
tipo spline para cada coordenada de junta, iniciando a interpolação pelo valor inicial e
concluindo no ponto final.
O significado físico da abscissa do ponto é um tempo de referência intermediário
durante o movimento, enquanto sua ordenada representa um ângulo de junta intermediário de
referência.
Como este ponto de controle é uma variável de projeto para o processo de otimização,
é necessário determinar a configuração inicial para lançar o processo de otimização. Neste
trabalho, tal valor é obtido sempre a partir da interpolação inicial.
Para o exemplo numérico atual, o valor inicial correspondente à variável de projeto
(um ponto de controle intermediário para cada junta) sendo fornecido na Tabela 7.10 para as
três articulações do robô.
122
Realizando o processo de otimização de acordo com a Equação (7.11), são obtidos os
valores dos índices de performance ótimos 10,7 s para o tempo total e 19,30 kW para a
potência mecânica. Os valores de projeto ótimos para os pontos de controle são apresentados
na Tabela 7.11 e o movimento associado é apresentado na Figura 7.35.
Tabela 7.10 - Variáveis de projeto (valor inicial)
Junta 1 Junta 2 Junta 3
Nó da interpolação C1=(5,00, 0,00) C1=(5,00, 0,05) C1=(5,00, 0,55)
Tabela 7.11 - Variável de projeto (valor ótimo)
Junta 1 Junta 2 Junta 3
Nó da interpolação C1=(5,02,-0,16) C1=(0,10, 0,49) C1=(3,79, 0,84)
Figura 7.35 - Trajetória ótima segundo diferentes perspectivas.
A estratégia proposta resulta em uma configuração bem sucedida em relação ao desvio
de obstáculos e redução da potência mecânica, mas houve um aumento do tempo total.
A seguir, são apresentados os resultados referentes ao uso de dois pontos de controle
intermediários para determinar a interpolação em cada coordenada de junta. O tempo total é
de 10,0 s e a potência mecânica foi reduzida a 18,20 kW. A Tabela 7.12 apresenta o valor do
projeto ótimo para os pontos de controle.
Tabela 7.12 - Variável de projeto (valor ótimo)
Junta 1 Junta 2 Junta 3
Nós da interpolação C1=(3,35, -0,17)
C2=(6,83, -0,05)
C1=(0,10, 0,48)
C2=(9,98, -0,39)
C1=(4,30, 0,65)
C2=(9,97, 0,10)
123
A seguir, são apresentados os resultados relativos ao uso de três pontos de controle
intermediários para determinar a interpolação de cada coordenada de junta. O tempo total foi
reduzido para 7,4 s e a potência mecânica foi reduzida para 17,89 kW.
A Tabela 7.13
apresenta os valores do projeto ótimo para os pontos de controle.
Tabela 7.13 - Variável de projeto (valor ótimo)
Junta 1 Junta 2 Junta 3
Nós da interpolação C1=(2,51, -0,11)
C2=(4,99, -0,09)
C3=(7,52, -0,06)
C1=(1,25, 0,29)
C2=(3,53, 0,01)
C3=(9,69, -0,39)
C1=(1,41, 1,72)
C2=(1,75, 1,62)
C3=(9,68, 0,10)
Para considerar o efeito do aumento do número de pontos de controle nesta estratégia,
são apresentados os resultados referentes ao uso de quatro pontos de controle intermediários
para determinar a interpolação de cada ângulo de junta. O tempo total foi reduzido para 7,4 s e
a potência mecânica foi reduzida para 3,78 kW. A Tabela 7.14 apresenta os valores do projeto
ótimo para os pontos de controle e a Figura 7.36 mostra o movimento correspondente do
robô.
Tabela 7.14 - Variáveis de projeto (valor ótimo)
Junta 1 Junta 2 Junta 3
Nós da interpolação C1=(0,98, -0,16)
C2=(3,11, 0,86)
C3=(4,42, 1,70)
C4=(5,25, 1,56)
C1=(0,18, 0,51)
C2=(5,96, 0,72)
C3=(6,56, 0,71)
C4=(7,36, -0,32)
C1=(3,28, 0,65)
C2=(1,24, 0,79)
C3=(6,98, 0,20)
C4=(6,81, 0,24)
Figura 7.36 - Trajetória ótima segundo diferentes perspectivas.
A Tabela 7.15 resume as variações do índice de desempenho como função do número
de pontos de controle intermediários usados no processo de interpolação. A estratégia
124
proposta é capaz de considerar interesses distintos, como o desvio de obstáculos e a melhoria
do tempo total de percurso e da potência mecânica.
Deve-se destacar que diferentes valores de prioridade ou diferentes valores de
referência na Equação (7.11) podem oferecer diferentes resultados. Por este motivo, é possível
considerar estratégias ótimas em cenários variados.
Tabela 7.15 - Índice de desempenho ótimo para diferente número de nós intermediários
Número d e nós
intermediários
0 1 2 3 4
Tempo total [s] 10,0 10,7 10,0 9,7 7,4
Potência mecânica
[kW]
25,54 19,30 18,20 17,8 3,78
Tempo de CPU [s] 1 39 164 244 374
Finalmente, um parâmetro relevante para atingir bons resultados é o número de pontos
de controle intermediários. Um número menor de nós intermediários propicia movimento
suave, enquanto um grande número de nós intermediários pode resultar em um índice de
performance melhor, entretanto, a trajetória resultante é, em geral, não tão suave. Este
comportamento se justifica pelo fato de que um grande número de nós intermediários leva a
determinação de um perfil sinuoso, tendo como conseqüência uma trajetória igualmente
sinuosa. A Figura 7.37 apresenta os valores das coordenadas de junta interpolados para vários
números de pontos de controle intermediários considerados.
(a) nenhum nó intermediário (b) um nó intermediário (c) quatro nós intermediários
Figura 7.37 - Configuração das coordenadas das juntas.
Ao aumentar o número de pontos de controle intermediários é possível descrever uma
função de complexidade arbitrária. Entretanto, deve-se mencionar que a alteração da
interpolação polinomial por spline cúbica por outra de ordem superior não proporciona uma
125
melhora de desempenho, visto que as trajetórias suaves são sempre preferidas no projeto do
planejamento de movimento.
Manipulador Elbow em um espaço de trabalho contendo mais de um obstáculo
No experimento a seguir, as coordenadas de junta inicial e final são definidas por
θ
1
=0
rad,
θ
2
=0 rad,
θ
3
=0 rad, e
θ
1
=0 rad,
θ
2
=
π
/2 rad,
θ
3
=0 rad, respectivamente. O movimento
inicial é determinado através da interpolação através de spline cúbica entre os valores das
coordenadas de junta da posição inicial e final. Estas trajetórias são determinadas de tal forma
que as velocidades inicial e final são nulas, ou seja,
0)()
0
(
=
=
f
t
i
qt
i
q
&&
.
O presente procedimento leva à determinação da potência mecânica (44,33 kW) e
tempo total (10 s), usados como parâmetros iniciais
0
i
f
na Equação (7.11). Considera-se que
todas as funções objetivo são ponderadas uniformemente (α
i
= 1).
Dois obstáculos com formato cúbico são incluídos no espaço de trabalho: o primeiro
tem seu centro posicionado no ponto dado por x=1,5 m, y=0 m, z=0,3 m; o centro do segundo
obstáculo está posicionado no ponto dado por x=1,5 m, y=0 m, z=2,5 m (os lados de ambos os
obstáculos são iguais a 0,3 m).
A Figura 7.38 apresenta o movimento resultante, obtido pela interpolação dos valores
das coordenadas de junta desde a situação inicial até a final.
Figura 7.38 - Trajetória obtida através de interpolação simples.
Realizando o processo de otimização de acordo com a Equação (7.11), usando o
procedimento para obtenção do ponto inicial descrito anteriormente, foram obtidos os valores
de performance ótimos: 9,0 s para o tempo total e 27,72 kW para a potência mecânica. Os
126
valores do projeto ótimo para os pontos de controle são apresentados na Tabela 7.16 e o
respectivo movimento é apresentado na Figura 7.39.
A estratégia proposta resulta em uma configuração bem sucedida em relação ao desvio
de obstáculo, potência mecânica e tempo total.
Tabela 7.16 - Variáveis de projeto (valor ótimo)
Junta 1 Junta 2 Junta 3
Nó intermediário C1=(9,00, 0,00) C1=(7,87, 1,27) C1=(7,44, 0,79)
Figura 7.39 - Trajetória ótima em diferentes perspectivas.
A seguir, são apresentados os resultados relativos ao uso de dois pontos de controle
intermediários para a determinação da interpolação de cada junta. O tempo total é reduzido
para 8,8 s enquanto a potência mecânica é reduzida para 26,98 kW. A Tabela 7.17 apresenta
os valores referentes ao projeto ótimo para os pontos de controle.
Tabela 7.17 - Variáveis de projeto (valor ótimo)
Junta 1 Junta 2 Junta 3
Nós intermediários C1=(3,94,-1,28)
C2=(8,74, 0,00)
C1=(2,42, 0,15)
C2=(7,33, 1,08)
C1=(4,68, 0,99)
C2=(7,07, 1,02)
Na seqüência, são exibidos os resultados relativos ao uso de três pontos de controle
intermediários para determinar a interpolação em cada junta. O tempo total é reduzido 8,8 s e
a potência mecânica é reduzida para 24,04 KW.
A Tabela 7.18 apresenta os valores do projeto
ótimo para os pontos de controle.
127
Tabela 7.18 - Variáveis de projeto (valor ótimo)
Junta 1 Junta 2 Junta 3
Nós intermediários C1=(0,71, -0,22)
C2=(6,49, -1,22)
C3=(8,76, -0,01)
C1=(1,03, 0,05)
C2=(4,26, 0,31)
C3=(7,40, 1,08)
C1=(0,10, 0,02)
C2=(3,77, 0,75)
C3=(7,20, 0,98)
Finalmente, para avaliar o efeito do aumento do número de pontos de controle, são
agora apresentados os resultados referentes ao uso de quatro pontos de controle intermediários
para determinar a interpolação em cada junta. O tempo total é reduzido para 8,5 s e a potência
mecânica é reduzida a 26,63 kW.
A Tabela 7.19 apresenta os valores do projeto ótimo para os
pontos de controle e a Figura 7.40 mostra o respectivo movimento do robô.
Tabela 7.19 - Variáveis de projeto (valor ótimo)
Junta 1 Junta 2 Junta 3
Nós intermediários C1=(1,27, -0,38)
C2=(4,01, -0,91)
C3=(7,62, -1,35)
C4=(8,46, -0,05)
C1=(2,24, 0,13)
C2=(4,08, 0,28)
C3=(6,22, 0,66)
C4=(7,84, 1,31)
C1=(0,90, 0,13)
C2=(3,98, 0,79)
C3=(6,06, 1,36)
C4=(8,26, 0,13)
Figura 7.40 - Trajetória ótima em diferentes perspectivas.
A Tabela 7.20 resume a variação do índice de performance resultante da inclusão de
pontos de controle intermediários no projeto da trajetória. Como o uso da estratégia proposta
é apropriada para considerar diferentes interesses simultaneamente, deve-se destacar que
diferentes valores de prioridade – ou diferentes valores de referência na Equação (7.11)
levam a resultados distintos.
128
Tabela 7.20 - Índice de desempenho ótimo ao utilizar um número diferente de nós
intermediários.
Número de nós
intermediários
0 1 2 3 4
Tempo total [s] 10,0 9,0 8,8 8,8 8,5
Potência mecânica
[kW]
44,33 27,72 26,98 24,04 26,63
Tempo de CPU [s] 1 98 154 295 386
Através da comparação entre os resultados obtidos pelo uso de dois, três ou quatro
pontos de controle intermediários é possível constatar a proximidade dos valores apresentados
pelos índices de desempenho. A trajetória resultante é apresentada na Figura 7.41
(a) interpolação direta (b) um ponto de controle (c) quatro pontos de controle
Figura 7.41 - Configuração das coordenadas das juntas.
7.4.3 Conclusão
Este estudo considerou uma metodologia para a obtenção da trajetória ótima de robôs
manipuladores seriais na presença de obstáculos. A principal característica da formulação de
planejamento de trajetória proposta como um problema de otimização é a inclusão de nós
intermediários para a interpolação das coordenadas de cada junta, como variáveis de projeto.
Este enfoque permitiu a análise de várias funções objetivo através da formulação de
otimização multicritério, mantendo a característica de suavidade do movimento. As diversas
funções objetivo foram utilizadas na construção de um índice de performance escalar a ser
minimizado, considerando-se assim a existência de objetivos conflitantes. O usuário, de
acordo com cada aplicação específica, pode alterar o valor dos fatores de ponderação e dos
fatores de escala com o propósito de obter um resultado mais satisfatório, conforme seu
interesse.
129
Cada vez que um obstáculo deve ser evitado, o tempo total de percurso e a potência
mecânica correspondentes são aumentados. A interpretação física neste caso é que tanto a
energia quanto o tempo têm seu consumo aumentado no movimento de desvio do obstáculo.
Por este motivo o critério de performance proposto inclui o tempo total, a potência mecânica e
parâmetros de desvio de obstáculos, com o intuito de modelar os elementos do sistema
robótico de forma representativa.
Em cada aplicação numérica, foi considerado o aumento do número de nós
intermediários no espaço de coordenadas de junta. Este procedimento oferece maior liberdade
para o algoritmo obter trajetórias ótimas, contribuindo para a efetiva minimização da potência
mecânica associada. Entretanto, deve-se destacar que não é recomendado o aumento arbitrário
do número de pontos de controle intermediários porque isto pode levar à descontinuidade do
movimento ou a trajetórias abruptas.
Nas aplicações apresentadas, o tempo total estabelecido inicialmente é considerado
ideal para a realização da tarefa especificada. Isto significa que, com o discreto aumento do
tempo, é possível a obtenção de um índice de performance melhor. Outra possibilidade seria a
consideração do tempo total como sendo fixo, impedindo uma análise mais abrangente dos
efeitos da variação deste parâmetro. Na presente metodologia o projetista pode considerar a
possibilidade de aumento ou diminuição do valor de referência do tempo total para uma
aplicação específica e verificar se este procedimento levará a melhores resultados.
7.5 Potência mecânica e obstáculo móvel
7.5.1 Formulação do problema
Para considerar a redução da potência mecânica e a habilidade de desvio de obstáculo
simultaneamente, é proposto o uso da função objetivo escalar
0
8
8
0
6
6
2118
f
f
f
f
kkf +=
(7.13)
onde f
6
e f
8
são dadas pelas Equações (2.39) e (4.6), respectivamente, e f
6
0
e f
8
0
são valores de
referência.
130
A Equação (7.13) é definida como sendo a função objetivo na formulação geral dada
pela Equação (3.23).
Neste trabalho, o vetor de estado x descreve a coordenada de junta q, enquanto o vetor
de controle v descreve a velocidade correspondente
q
&
aplicada a cada junta.
Adicionalmente, há restrições relacionadas à especificação de posicionamento inicial e
final da trajetória:
.,...,1 ,)(
,00,0
nitrtq
ii
==
(7.14)
.,...,1 ,)(
,0,
nitrtq
ifif
==
(7.15)
e restrições relativas à especificação da velocidade inicial e final da trajetória:
.,...,1 ,)(
,00,0
nivltq
ii
==
&
(7.16)
.,...,1 ,)(
,0,
nivltq
ifif
==
&
(7.17)
Como é suposto que o manipulador inicia e conclui o movimento a partir do repouso,
são especificadas velocidades nulas no início e final do movimento.
Com o objetivo de melhorar o desempenho do método numérico, é proposta uma
estratégia que consiste na otimização em duas fases: primeiramente, é considerado o desvio
do obstáculo, e então, tanto o obstáculo quanto a potência mecânica são objetivos
simultaneamente considerados na segunda fase da otimização.
Inicialmente, é calculada a interpolação do tipo spline cúbica das coordenadas de
junta, entre as configurações inicial e final.
As equações (2.39) e (4.6) são calculadas e os valores resultantes são definidos como
valores de referência para f
6
0
e f
8
0
, usando a trajetória preliminar obtida da interpolação spline.
Como o desvio do obstáculo deve ser garantido para se estabelecer uma trajetória factível, na
primeira fase da otimização os fatores de ponderação são definidos como k
1
=1 e k
2
=0, e a
trajetória ótima é calculada pelo uso das informações da interpolação como valores iniciais
para a trajetória ótima.
Após a atualização dos valores de referência, f
6
0
e f
8
0
, com os valores desta nova
trajetória (os novos valores iniciais para as variáveis de projeto), na segunda fase do processo
de otimização os fatores de ponderação são definidos como k
1
=0,5 e k
2
=0,5. O processo de
131
otimização é executado com estes novos parâmetros, resultando na especificação da trajetória
ótima.
Deve-se destacar que diferentes fatores de ponderação podem resultar em trajetórias
ótimas distintas. Por este motivo, é possível ajustar o procedimento de forma a descrever
melhor diferentes situações.
Em resumo, a estratégia proposta é descrita pelos seguintes passos:
1.
Dadas as coordenadas de junta inicial e final, q
0
e q
f
:
a.
Calcular o polinômio interpolador tipo spline para gerar a trajetória inicial.
b.
Analisar as funções objetivo dadas pelas Equações (2.39) e (4.6) e utilizar seus
valores como f
6
0
e f
8
0
, respectivamente.
2.
Para k
1
=1 e k
2
=0:
a.
Definir a trajetória do passo anterior como aproximação inicial.
b.
Otimizar a função objetivo, Equação (7.13), obtendo uma nova trajetória.
c.
Analisar as funções objetivo dadas pelas Equações (2.39) e (4.6) e utilizar seus
valores como f
6
0
e f
8
0
, respectivamente.
3.
Para k
1
=0,5 e k
2
=0,5:
a.
Definir a trajetória do passo anterior como aproximação inicial.
b.
Otimizar a função objetivo, Equação (7.13)
Pode-se utilizar diversos métodos para resolver o problema de controle envolvido na
estratégia apresentada.
Neste trabalho, os resultados são calculados através de um procedimento de
otimização não linear clássico. Neste caso, não há necessidade de cálculo de parâmetros
extras e as derivadas são obtidas numericamente. As melhores soluções foram obtidas usando
o método da Programação Linear Seqüencial (Sequential Linear Programming - SLP)
(Luenberger, 1984; Vanderplaats, 1999). Os algoritmos foram implementados em FORTRAN
utilizando a biblioteca de otimização DOT ® (Vanderplaats, 1995).
7.5.2 Experimentos numéricos
132
Para realizar os exemplos numéricos seguintes, o tempo inicial e final foram definidos
como t
0
=0 s e t
f
=9 s, respectivamente. O intervalo de tempo é discretizado em N=20 passos.
Nos exemplos a seguir utiliza-se o manipulador planar com dois elementos (links). O
valor dos parâmetros do manipulador são a
1
=1,2 m, a
2
=1,2 m, e a massa dos links são m
1
=10
kg e m
2
=10 kg, respectivamente. A potência mecânica, dada pela Equação (2.39), é calculada
a partir do modelo dinâmico explícito do manipulador (Paul, 1981).
Primeiro experimento numérico
Neste experimento, o intervalo de tempo é definido segundo N=30 passos para a
realização do cálculo computacional. Os valores iniciais das coordenadas de junta são
θ
1
=0,1
rad e
θ
2
= -0,2 rad, e os valores finais das coordenadas de junta são
θ
1
=2,0 rad e
θ
2
=0,8 rad.
Há três obstáculos móveis no espaço de trabalho. O primeiro se move da posição
Cartesiana inicial (1,7; 2,0; 0,0) m para a posição Cartesiana final (2,5; 0,5; 0,0) m, o segundo
se move de (-1,0; 2,5; 0,0) m para (1,5; 2,5; 0,0) m, e o terceiro se movimenta de (-2,0; 0,5;
0,0) m para (-1,0; 0,0; 0,0) m. Todos os obstáculos estão se movendo em 30 passos
igualmente espaçados.
A Figura 7.42 apresenta o ângulo de junta de cada manipulador e a distância mínima
ao obstáculo, durante a trajetória. Estes valores são obtidos a partir da interpolação do tipo
spline da trajetória e da primeira fase da otimização da trajetória.
Figura 7.42 - Coordenada de junta e distância mínima ao obstáculo (primeira fase).
Tem
p
o
(
s
)
Tem
p
o
(
s
)
Posição (rad) Posição (rad)
Índice de distância mínima
133
O índice mínimo de distanciamento é próximo de zero nos instantes de tempo t=3 s e
t=5 s. Isto significa que o manipulador colide com um dos obstáculos nos dois instantes de
tempo.
Após a primeira fase da otimização, há o desvio efetivo do obstáculo e a distância
mínima é aumentada de 0,6616 para 86,56. O valor do índice de distância no instante da
colisão é maior que o valor encontrado no caso anterior. Isto acontece devido ao processo de
discretização.
Uma nova trajetória ótima é obtida ao se realizar a segunda fase da otimização, que
utiliza os valores anteriores como referência. A nova trajetória considera o desvio do
obstáculo e a minimização da potência mecânica.
Há uma pequena variação que pode ser observada ao se comparar os valores inicial e
ótimo após a segunda fase do processo de otimização, tanto para o posicionamento quanto
para o torque. Entretanto, mesmo neste caso, a soma da potência mecânica é reduzida com
êxito, ou seja, de 0,1597E+06 W para 0,7092E+05 W. A maior alteração é observada nos
perfis da velocidade e no índice de desvio do obstáculo.
A Figura 7.43 apresenta a posição da coordenada de junta e a distância mínima durante
a primeira e a segunda fase do processo de otimização.
Verifica-se o efetivo desvio do obstáculo, e o índice de distanciamento mínimo
apresenta um pequeno acréscimo (de 86,56 para 86,66). A velocidade e torque associados são
exibidos na Figura 7.44. A Figura 7.45 mostra o movimento do manipulador estabelecido pelo
planejamento ótimo.
Figura 7.43 - Coordenada de junta e distância mínima ao obstáculo (segunda fase).
Tor
q
ue
(
Nm
)
Velocidade
(
rad/s
)
Posição (rad)
Posição (rad)
Índice de distância mínima
Tem
p
o
(
s
)
Tem
p
o
(
s
)
134
Figura 7.44 - Velocidade e torque resultante do planejamento ótimo da trajetória.
Figura 7.45 - Planejamento ótimo da trajetória.
Segundo experimento numérico
Neste experimento, o valor inicial da coordenada de junta é
θ
1
=0,0 rad,
θ
2
=0,0 rad,
θ
3
=-1,0 rad,
θ
4
=0,.0 rad,
θ
5
=0,0 rad, e
θ
6
=0,0 rad, e o valor final é
θ
1
=1,5708 rad,
θ
2
=0,0
rad,
θ
3
=-1,5 rad,
θ
4
=0,0 rad,
θ
5
=0,0 rad, e
θ
6
=0,0 rad. Há dois obstáculos dentro do espaço
de trabalho do manipulador. O primeiro obstáculo se move da posição Cartesiana inicial (0,4;
0,2; 0,7) m para a posição Cartesiana final (0,6; 0,2; 0,1) m. O segundo obstáculo se move da
posição Cartesiana inicial (0,2; 0,5; 0,0) m para a posição Cartesiana final (0,2; 0,4; 0,8) m.
Os obstáculos se movem ao longo de 20 passos igualmente espaçados.
135
A Figura 7.46 apresenta cada ângulo de junta do manipulador e a distância mínima
correspondente ao obstáculo durante a trajetória. Estes valores são obtidos da trajetória
estabelecida pela interpolação tipo spline e pela primeira fase da otimização da trajetória.
O índice de distância mínima tem o menor valor no instante de tempo t=4,5 s. Isto
significa que o manipulador colide com o obstáculo neste instante.
Após a primeira fase da otimização, há o desvio do obstáculo (o índice da distância
mínima é aumentado de 15,00 para 24,70). O valor deste índice de performance no instante da
colisão é maior que os valores encontrados em todos os casos anteriores.
Após a segunda fase da otimização, obtém-se uma nova trajetória ótima que considera
a minimização da potência mecânica e o desvio do obstáculo.
A Figura 7.47 apresenta a coordenada de junta e a distância mínima para as duas fases
(inicial e ótima) do processo de otimização.
Figura 7.46 - Coordenada de junta e distância mínima ao obstáculo (primeira fase).
Figura 7.47 - Coordenada de junta e distância mínima ao obstáculo (segunda fase).
Posição (rad)
Posição (rad)
Posição (rad)
Índice de distância mínima
Tempo (s) Tempo (s)
Posição (rad)
Posição (rad)
Posição (rad)
Índice de distância mínima
Tempo (s) Tempo (s)
136
A maior diferença ao se comparar os valores inicial e ótimo é dada pela segunda
coordenada de junta. Isto se deve ao ajuste da trajetória para a diminuição da potência
mecânica. O valor inicial da soma da potência mecânica é 4,505 W. Após a otimização para o
desvio do obstáculo, a potência mecânica é aumentada para 674,4 W. Após a segunda fase da
otimização, que considera tanto o desvio de obstáculo como a minimização da potência
mecânica, o valor ótimo da potência mecânica é de 113,1 W.
Após a segunda fase da otimização, há o desvio bem sucedido do obstáculo (o índice
de distância mínima é aumentado para 23,62) e a soma da potência mecânica é reduzida para
113,1 W. A velocidade e o torque correspondentes são mostrados na Figura 7.48.
Na Figura 7.49 é apresentado o movimento do manipulador resultante do
planejamento ótimo.
Figura 7.48 - Velocidade e torque resultantes do planejamento ótimo da trajetória.
Figura 7.49 - Planejamento ótimo da trajetória.
Tor
q
ue
(
Nm
)
Velocidade
(
rad/s
)
Velocidade
(
rad/s
)
Velocidade
(
rad/s
)
Tor
q
ue
(
Nm
)
Tor
q
ue
(
Nm
)
Tempo (s)
Tempo (s)
137
7.5.3 Conclusão
Nesta seção foi apresentada uma nova metodologia para realizar o planejamento ótimo
da trajetória de robôs manipuladores na presença de obstáculos móveis. Foram analisados
experimentos numéricos com o objetivo de demonstrar a eficiência da metodologia em
diferentes situações.
Após a definição do modelo matemático que descreve a potência mecânica e a
proximidade entre o manipulador e o obstáculo, foi proposto um índice de performance que
considera a potência mecânica ótima e o desvio de obstáculo ótimo, simultaneamente. Isto foi
possível através do uso da teoria de otimização multicritério.
Adotando a velocidade de cada junta como parâmetros do vetor de controle e a
posição como vetor de estado, foi mostrado que a formulação de controle ótimo proposta é
indicada para o projeto de planejamento da trajetória ótima.
Conforme demonstrado pelos exemplos, o índice de desvio de obstáculos proposto
descreve a presença de obstáculos no espaço de trabalho de forma eficiente. No primeiro,
segundo e quinto experimentos, este índice tem valor zero (ou quase zero) no instante da
colisão. Entretanto, isto não acontece no terceiro e quarto experimentos, onde o índice tem
valor maior que zero no instante da colisão. Este comportamento se deve às seguintes razões:
a natureza não dimensional da equação proposta (que não é definida exatamente como a
norma Euclidiana), o número de instantes considerados no intervalo de tempo, e a
discretização de todos os pontos de referência física (o contorno do manipulador e do
obstáculo).
Um ponto importante é que o cálculo do índice de desvio do obstáculo não considera a
orientação do movimento do obstáculo. Devem-se considerar duas situações opostas quando o
obstáculo está próximo do manipulador: a distância entre o manipulador e o obstáculo está
diminuindo (o que não é desejável) ou aumentando (o que é aceitável).
Uma armadilha significativa no processo de otimização é a existência de vários pontos
de mínimo local. Esta dificuldade é superada na atual contribuição pelo uso de um processo
de otimização com duas fases e pelo método de Programação Linear Seqüencial.
Os cálculos realizados indicam que a existência de obstáculos no espaço de trabalho
aumenta a potência mecânica total necessária para se obter uma situação de desvio do
138
obstáculo, quando comparada com a trajetória obtida em um ambiente irrestrito sem
obstáculos.
O índice de performance multicritério possibilita o ajuste dos fatores de ponderação
para se obter diferentes níveis de prioridade para cada objetivo. Por este motivo, diferentes
interesses e características de projeto podem ser analisados com o uso da mesma estratégia.
Quando se compara a trajetória ótima obtida com aquelas geradas por técnicas de
interpolação clássica, um perfil menos suave é observado. Este comportamento se deve ao
requisito de desvio efetivo do obstáculo ao se minimizar requisitos dinâmicos (a potência
mecânica).
7.6 Interceptação de objetos em movimento e potência mecânica
Com o aumento do uso de manipuladores robóticos em diversos setores industriais,
tem também aumentado os requisitos sobre sua capacidade de carga. Um aspecto essencial
para o uso eficiente de sua capacidade envolve a consideração de seu comportamento
dinâmico. Movimentos que exigem potencialmente torque muito elevado em suas juntas não
devem ser implementados, devido à limitação dos atuadores normalmente disponíveis.
Além disto, um fator importante do ponto de vista econômico, é a energia requerida
para a realização de determinada tarefa. Como a atividade a ser desenvolvida será repetida por
várias vezes, um estudo criterioso do movimento de forma a reduzir a energia necessária em
cada ciclo de operação pode resultar em uma economia de energia ao final de um longo
período de operação.
Uma análise que atenda a estes requisitos tem sua complexidade aumentada quando o
robô deve interceptar um objeto em movimento. Neste caso, há mais de uma posição possível
para a interceptação do objeto, pois devido ao seu movimento, sua posição dentro do espaço
de trabalho é variável ao longo do tempo.
Assim, a melhor posição para interceptação e o melhor instante em que isto ocorre são
incógnitas do problema. Este situação pode ser encontrada num ambiente industrial, por
exemplo, quando um objeto transportado por uma esteira rolante deve ser manipulado pelo
robô.
139
Diante deste contexto, propõe-se a otimização da potência mecânica como forma de
reduzir a exigência mecânica e a energia requerida pelo sistema ao manipular um objeto em
movimento. São definidos critérios de desempenho para a interceptação do objeto e para a
minimização da potência mecânica durante a determinação da trajetória ótima.
A presença do objeto móvel a ser manipulado implica que a solução do problema de
cinemática inversa para a especificação desta posição é variável ao longo do tempo, ou seja,
há um conjunto de soluções para a cinemática inversa durante um dado intervalo de tempo.
Determinar qual é a melhor solução e o instante de tempo ótimo em que isto ocorre são
aspectos que aumentam a complexidade do problema a ser analisado. A presente proposta
consiste em uma extensão dos resultados apresentados em trabalhos anteriores, onde foi
estabelecida uma estratégia de controle ótimo a partir do movimento especificado (Santos et
al., 2005) e analisado o uso do torque e potência mecânica como objetivos a serem otimizados
(Santos et al., 2006)
7.6.1 Objeto a ser manipulado
Segundo a proposta estabelecida, deve-se determinar uma trajetória que permita ao
manipulador interceptar um objeto em movimento.
Supõe-se neste trabalho que a trajetória do objeto é conhecida durante toda a operação
do robô. Pode-se determinar a distância entre o efetuador e o objeto através do conceito
clássico de norma. Quanto à posição do obstáculo, que varia em função do tempo t, esta é
representada por um ponto cartesiano (c
x
(t), c
y
(t), c
z
(t)). A distância deste ponto a um ponto de
referência (x
i
(q,t), y
i
(q,t), z
i
(q,t)) do efetuador, também função do tempo t, de acordo com cada
coordenada de junta q, pode ser obtida através da norma Euclidiana
222
))(),(())(),(())(),((),( tctqztctqytctqxtqD
ziyixi
++=
(7.18)
Como não há conhecimento prévio do instante de tempo ótimo t* e da posição ótima
q* na qual o manipulador deverá encontrar-se com o objeto, estes valores são obtidos a partir
da formulação de um problema de otimização, no qual o índice de performance é dado por:
f
19
(q,t) = min D(q,t), t
0
< t < t
f
(7.19)
140
Na situação ideal tem-se f
19
(q*, t*) = 0, para alguma posição q* e instante t* ótimos.
Entretanto, como será considerado adicionalmente o critério da potência mecânica, além da
realização usual de aproximações durante o processamento numérico, em geral tem-se
f
19
(q*,t*) <
ε
, onde
ε
> 0.
7.6.2 Formulação
A especificação de um valor de referência é de fundamental importância na
especificação de uma função objetivo multicritério.
Para se considerar ambos a distância do efetuador ao objeto e a potência mecânica,
simultaneamente, propõe-se a seguinte função objetivo escalar:
f
20
(q,t) =
0
6
6
0
19
19
)1(
f
f
k
f
f
k +
, 0
k
≤ 1
(7.20)
onde f
19
e f
6
são dados pelas Equações (7.19) e (2.39), respectivamente. As constantes
0
19
f
e
0
6
f
são valores de referência.
Durante o processo de otimização, serão considerados diferentes fatores de
ponderação. Na primeira fase, utiliza-se o valor k=1, de forma a considerar somente a
distância entre o efetuador e o objeto como objetivo a ser minimizado, levando a uma
configuração viável para a tarefa a ser executada. Esta solução é utilizada como aproximação
inicial durante a segunda fase, na qual é utilizado o valor k=0,5 como forma de considerar
tanto o posicionamento como a potência mecânica, simultaneamente, no processo de
otimização. Pode ocorrer alteração no valor do tempo ótimo t* obtido durante a segunda fase
do processo em relação àquele obtido ao término da primeira fase, pois este instante de tempo
também é uma variável de projeto.
Adicionalmente, para cada uma das n juntas, têm-se as restrições de especificação
inicial e final da trajetória:
.,...,1,)(
,10
nipostq
ii
==
(7.21)
.,...,1,)(
,2
nipostq
ifi
==
(7.22)
141
e as restrições de especificação inicial e final de velocidade:
.,...,1,)(
,10
niveltq
ii
==
&
(7.23)
.,...,1,)(
,2
niveltq
ifi
==
&
(7.24)
nos instantes de tempo inicial
t
0
e tempo final t
f
.
Nos experimentos numéricos, consideram-se as especificações de velocidade inicial e
final como sendo nulas, o que fisicamente significa que o robô inicia o movimento a partir do
repouso e o finaliza também em repouso.
7.6.3 Experimento Numérico
A Tabela 7.21 apresenta os parâmetros de Denavit-Hartenberg para o manipulador
Elbow. A massa de cada elemento é de 10
kg. É utilizado o momento de inércia de uma barra
cilíndrica para representar cada elemento no que se refere ao cálculo dos efeitos dinâmicos, de
forma que
I
x
= 0 , I
y
= I
z
= (1/12)mL
2
, onde L = 0,9m ou L = 0,7m (L corresponde ao
parâmetro
a na Tabela 7.21).
Tabela 7.21 - Parâmetros de
Denavit-Hartenberg para o manipulador Elbow.
Elemento a (m)
α
(rad)
d (m)
θ
(rad)
1 0 1,5708 0
θ
1
2 0,9 0 0
θ
2
3 0,7 0 0
θ
3
As posições inicial e final do manipulador são iguais, sendo definidas por
q
1
= -1,0
rad
, q
2
= 0,5 rad e q
3
= -1,57 rad. O objeto a ser manipulado se move horizontalmente da
posição Cartesiana (1,5, 1, -0,3) até a posição (-1, 1, -0,3), e tem a geometria de um cubo com
lados iguais a
0,2 m. Devido a referência utilizada para a representação do manipulador, o
piso está ao nível
z=-0,5 m. O intervalo de tempo t
[0 , 9]s é subdividido em N=50 passos
igualmente espaçados.
142
Com o uso dos parâmetros
0
1
f
=0,1m e k=1
(Equação 7.20) ao se realizar a primeira
fase da otimização obtêm-se uma trajetória inicial que intercepta o objeto, o que pode ser
comprovado pelo valor da função objetivo,
f
1
= 0,0023m.
Utilizando a trajetória estabelecida nesta fase como aproximação inicial para a
segunda fase do processo de otimização, com os parâmetros
0
1
f
=0,1m,
0
2
f
= 5,41
x10
4
Watts
e k=0,5,
tem-se os valores ótimos apresentados na Tabela 7.22.
Tabela 7.22 - Resultado ótimo em cada fase da otimização.
1° fase da otimização 2° fase da otimização
Distância ao objeto f
1
(m) 0,0023 0,0053
Potência mecânica f
2
(W) 0,5413x10
5
0,8786x10
4
Função objetivo f
3
5,065 0,871
Ao se comparar os resultados obtidos nas diferentes fases da otimização, pode-se
constatar a efetiva redução da potência mecânica e a manutenção da distância do efetuador ao
objeto em um valor próximo ao estabelecido inicialmente. A Figura 7.49 apresenta o ajuste
feito pelo método utilizado no valor das coordenadas de junta para o estabelecimento da
trajetória ótima. São representados os movimentos especificados pela trajetória inicial
(primeira fase da otimização) e pela trajetória ótima (segunda fase da otimização).
Figura 7.49 - Coordenadas de junta durante as trajetórias (---) inicial e (––) ótima.
143
Pode-se verificar na figura o maior ajuste das coordenadas da segunda e terceira
juntas, como tentativa de minimizar a potência mecânica durante o movimento. A Figura 7.50
exibe a distância entre o efetuador e o objeto ao longo das respectivas trajetórias. Deve-se
destacar que esta figura informa a distância no caso em que o objeto não é apreendido pelo
efetuador. Caso o efetuador agarre o objeto, considera-se que a distância entre eles será nula a
partir do instante do encontro entre ambos.
Figura 7.50 - Distância do efetuador ao objeto durante as trajetórias (---) inicial e (––) ótima.
Observa-se um ajuste do tempo ótimo para um valor próximo de 5 s na trajetória
ótima. Isto demonstra que o instante no qual o objeto será manipulado pelo robô é um
parâmetro que contribui para a melhoria do desempenho durante o movimento.
As diferentes posições do manipulador nos instantes de tempo
t=0, t=1,6s, t=3,4s,
t=5,3s, t=8,0s
e t=9,0s são apresentadas na Figura 7.51.
De acordo com o movimento ilustrado pela figura, pode-se constatar visualmente a
interseção entre o efetuador e o objeto em movimento. A trajetória obtida é ótima para os
fatores de ponderação especificados no início da análise. Pode-se alterar estes fatores de
maneira a priorizar a otimização da potência mecânica ou o encontro com o objeto.
Usualmente, diferentes fatores de ponderação resultam em diferentes soluções do problema de
otimização.
144
Figura 7.51 - Posição do manipulador e do objeto em diferentes instantes de tempo.
7.6.4 Conclusão
Este estudo apresentou uma proposta para a determinação da trajetória de um robô
manipulador serial que tem como tarefa a interceptação de um objeto em movimento.
Considera-se, além da interceptação, a otimização da potência mecânica necessária para a
realização do movimento.
Foi especificado um critério para a avaliação da distância entre o efetuador e o objeto
através do conceito de norma vetorial. A formulação proposta considera a posição e o instante
de encontro como variáveis a serem determinadas durante o processo de otimização. A
possibilidade de ajuste destes fatores oferece maior liberdade para o algoritmo na busca dos
valores que resultam na trajetória ótima.
Em seguida, apresentou-se a formulação de um problema de otimização multicritério,
o qual permite a consideração de vários objetivos simultâneos. Esta formulação prevê o uso
de fatores de ponderação, o que permite priorizar algum índice de performance previamente
escolhido, se o projetista assim o desejar.
O problema de otimização foi resolvido através da formulação de controle ótimo, onde
as velocidades das coordenadas de junta representam o vetor de controle e a posição define o
vetor de estado.
d)
e)
a)
b)
c)
f)
145
O exemplo numérico apresentado ilustra o uso da metodologia. A primeira fase da
otimização considerou o critério de interceptação do obstáculo. Esta análise leva a um projeto
viável. A segunda fase da otimização utiliza este resultado como informação inicial para a
determinação de uma trajetória que otimize a potência mecânica durante o movimento.
O uso da potência mecânica como índice de performance leva à otimização da
velocidade e do torque simultaneamente, considerando, portanto, tanto aspectos cinemáticos
como dinâmicos do movimento.
Destaca-se que esta estratégia pode ser empregada em situações mais complexas, nas
quais seja necessária a especificação da velocidade e orientação do manipulador durante o
encontro com o objeto, por exemplo. Neste caso, pode-se utilizar a configuração ótima obtida
como uma trajetória de referência para a realização dos ajustes requeridos. Pequenos ajustes
da trajetória nas proximidades da trajetória ótima, em geral, não alteram de forma
significativa o valor dos índices de performance estabelecidos.
Finalmente, destaca-se que, devido à característica altamente não linear das equações
envolvidas na formulação proposta, qualquer alteração dos fatores de ponderação leva a
diferentes configurações ótimas. Este procedimento permite a determinação de diferentes
configurações de projeto possíveis, de acordo com a prioridade dada a cada objetivo.
146
CAPÍTULO VIII
ANÁLISE DE VIBRAÇÕES E ESTUDO DA TRAJETÓRIA DE ROBÔS MÓVEIS
A seção 8.1 apresenta uma proposta para o aumento da manipulabilidade, redução do
efeito de vibração e consideração do erro associado à cinemática inversa durante o
planejamento da trajetória. É proposto um novo modelo para a expressão da vibração,
inspirado na teoria sobre dinâmica de rotores.
A tarefa a ser desempenhada é definida e descrita através de uma seqüência de pontos
cartesianos que devem ser atingidos pelo efetuador. O processo de otimização aplica
transformações de corpo rígido ao conjunto de pontos no espaço cartesiano, resultando em
uma seqüência ótima de configurações cinemáticas que minimizam a vibração.
A cinemática inversa é calculada conforme descrito na seção 6.2 e o posicionamento
da tarefa é aquele apresentado na seção 2.5 e utilizado posteriormente na seção 7.3.
Os experimentos numéricos confirmam que o posicionamento adequado da tarefa
reduz o efeito de vibração. Como alterações no posicionamento da tarefa podem resultar em
diferentes índices de manipulabilidade e diferentes perfis de velocidade, a metodologia
procura obter uma forma ótima de utilização dos recursos (conforme descrito pelos índices de
desempenho).
A seção 8.2 apresenta uma estratégia para determinação da trajetória de robôs móveis.
Este estudo representa uma generalização dos estudos anteriores, na medida em que o
planejamento off-line realizado até então é atualizado durante a realização da trajetória,
caracterizando o planejamento on-line.
Os experimentos numéricos comprovam a viabilidade da estratégia na obtenção de
uma trajetória contínua que prevê o desvio de obstáculos fixos e móveis.
O processo de ponderação dos diferentes objetivos (alvo e obstáculos) durante o
movimento provê eficiência ao método para considerar cenários variados, assim como uma
grande quantidade de obstáculos e também a existência de alvos móveis.
147
Inspirada em um método de programação não linear, o Método do Gradiente, esta
proposta tem características que permitem sua extensão para o planejamento de trajetória de
robôs manipuladores, sugerindo a possibilidade de generalização do conceito de planejamento
de trajetória.
8.1 Redução de vibração pelo posicionamento da tarefa
A redução dos custos de produção e o au mento da produtividade estão entre os
principais objetivos da automação industrial. Neste contexto, os robôs manipuladores seriais
tem demonstrado ser ferramentas úteis.
Com o intuito de aumentar a produtividade, aplicações robóticas industriais têm sido
estudadas na literatura a partir do movimento de percurso restrito e tempo ótimo, que
consideram as restrições de torque dos atuadores. Nestas formulações, o torque de cada junta
é considerado como uma entrada controlada, sendo que o esquema de controle em malha
aberta resulta em controle do tipo bang-bang ou bang-singular-bang (Chen e Desrochers,
1989).
Entretanto, o aumento da velocidade resulta (em alguns casos) no aumento da
vibração do efetuador. Isto é observado devido a diversos fatores, como a natureza do
controle, flexibilidade das juntas, atrito das engrenagens, ou mesmo uma combinação destes
fatores.
A presença da vibração não é desejada, pois pode degradar a performance do sistema e
diminuir a vida útil de seus componentes.
Para minimizar o efeito vibracional, alguns trabalhos consideram o controle do
movimento de robôs com juntas e/ou elementos flexíveis, com o intuito de melhorar a
performance do robô ao realizar tarefas específicas.
Em Benosman et al. (2004), considera-se o problema do movimento rest-to-rest em
tempo fixo para o manipulador planar flexível, onde a vibração residual do efetuador é
minimizada. O enfoque consiste no cálculo de um controle com realimentação e não
considera o efeito de amortecimento elástico interno. O controle de realimentação é utilizado
para estabilizar localmente os estágios do movimento. Conforme mencionado na referência
acima, o compensador de realimentação falha ao tentar controlar o sistema em um movimento
rest-to-rest rápido.
148
Em Zollo et al. (2005) são apresentadas duas formulações teóricas para a lei de controle,
considerando o ambiente de trabalho onde acontecem interações inesperadas, sendo ainda
proposto um esquema de controle que reduz os efeitos da elasticidade.
Em Dadfarnia et al. (2004) é proposta uma estratégia baseada no controle de Lyapunov
distribuído de dimensão infinita para a movimentação de um robô cartesiano, modelado como
uma barra flexível contendo o suporte de uma base translacional. Um excitador de vibrações
impõe movimento à base, enquanto uma pastilha piezelétrica (PZT) é utilizada como atuador
na superfície da barra flexível para supressão da vibração residual.
A contribuição presente discute uma forma alternativa de reduzir os efeitos da
vibração no efetuador de um robô manipulador serial. A metodologia proposta consiste no
posicionamento ótimo da tarefa a ser realizada, de forma a minimizar a vibração do efetuador.
Para atingir este objetivo, é formulado um modelo que descreve o erro de posicionamento
angular de cada junta a partir da manipulabilidade do robô e das velocidades de junta.
A tarefa é definida e descrita através de uma seqüência de pontos cartesianos que
devem ser atingidos pelo efetuador. O processo de otimização aplica transformações de corpo
rígido ao conjunto de pontos no espaço cartesiano, resultando em uma seqüência ótima de
configurações cinemáticas que minimizam o efeito da vibração.
8.1.1 Formulação
Combinando o índice de manipulabilidade com o efeito da vibração e o erro de
cinemática inversa através de uma função escalar, a função objetivo pode ser definida como
32
1
4
ffff ++=
(8.1)
onde
1
1
. fwf
ref
= (Equação 2.14) f
2
=s
N
(veja Equação (2.23)), e f
3
=s
E
(dado pela Equação
(2.25)).
O valor de referência w
ref
é definido de forma que f
1
=1 no início do processo de
otimização. Por este motivo, no caso ideal o valor da função objetivo é menor que 2, onde f
1
1 (houve o aumento da manipulabilidade), f
2
=0 (não há erro devido à vibração) e f
3
=1 (não há
erro de cinemática inversa).
149
Deve ser destacado que a formulação proposta considera também o caso no qual a tarefa
está fora do espaço de trabalho do manipulador. Esta situação reflete num grande erro de
cinemática inversa, que é considerado a partir de uma penalização na função objetivo.
O problema de programação não linear irrestrito (Equação 8.1) é resolvido através do
método modificado de direções factíveis (Vanderplaats, 1984). Os algoritmos são
implementados em Fortran, através da biblioteca de otimização DOT (Vanderplaats, 1995).
8.1.2 Experimentos numéricos
Um manipulador do tipo Elbow é usado nos experimentos a seguir, com os parâmetros
de Denavit-Hartenberg dados na Tabela 8.1.
Tabela 8.1. Parâmetros de Denavit-Hartenberg; (*) variável de junta.
Elemento a (m)
α
(rad)
d (m)
θ
(rad)
1
2
3
0
a
2
a
3
π/2
0
0
0
0
0
θ
1
*
θ
2
*
θ
3
*
Os valores dos parâmetros do manipulador são: a
2
=1,5 m, a
3
=1,5 m, e a origem (0, 0,
0) de referência do sistema não está na base geométrica do manipulador (devido à
representação de Denavit-Hartenberg utilizada). A posição real da origem é 1,0 m acima da
base geométrica do manipulador. Para permitir a descrição de percursos complexos, os dados
para o conjunto de pontos de especificação cartesianos (Equação (2.20)) são determinados
através da interpolação das coordenadas paramétricas do percurso requerido. Assim, todos os
valores que definem a trajetória são obtidos a partir de um conjunto apropriado de pontos
cartesianos.
Primeiro experimento
Para este experimento é definido um subconjunto contendo 5 pontos de referência: (0;
1,2; -1,1; 0,3), (1; 1,5; -0,5; 0,7), (2; 1,4; 0,0; 0,5), (3; 1,7; 0,3; -0,1) e (4; 1,8; 0,1; -0,7).
Comparando os valores com a Equação (2.20), a tarefa inicial está dentro de uma caixa
definida por 1,2 x 1,7, –1,1 y 0,3 e –0,7 z 0,7. O intervalo de tempo
150
correspondente é 0 t 4 s. Os dados são calculados através da interpolação em t, x, y e z,
respectivamente. Os dados interpolados consistem em um conjunto de N = 27 pontos
(Equação (2.20)) que descrevem o a tarefa a ser desempenhada.
No posicionamento original, os valores das variáveis de projeto são: β = 0 rad, δ
x
= 0
m, δ
y
= 0 m e δ
z
= 0 m. Estes valores são usados como estimativa inicial para o processo de
otimização aplicado à Equação (8.1).
A configuração ótima obtida, apresentada na Tabela 8.2 (para ε=0,002 m na Equação
(2.24)), mostra que o efeito da vibração no manipulador (Equação (2.23)) foi reduzido com
sucesso. O posicionamento ótimo da tarefa está dentro do espaço de trabalho, pois o índice de
erro da cinemática inversa é f
3
= s
E
= 1 (Equação (2.25)).
Tabela 8.2 -Valor dos parâmetros iniciais e ótimos.
Parâmetro Valor inicial Valor ótimo
Manipulabilidade mínima w 2,708 4,483
Desvio padrão s
N
1,524E-02 1,288E-02
Erro da cinemática inversa s
E
1,000 1,000
Índice de performance f
4
2,006 1,608
Variáveis de projeto (β, δ
x
, δ
y
, δ
z
)
(0, 0, 0, 0) (-0,907; 0,754; -0,279; -0,164)
A especificação inicial da tarefa, conforme descrito acima, é apresentada na Figura 8.1.
As Figuras 8.2 e 8.3 ilustram geometricamente o posicionamento ótimo da tarefa e o
movimento do robô, respectivamente.
Figura 8.1 - Diferentes perspectivas do posicionamento inicial da tarefa.
0
1
2
3
-2
0
2
-1
0
1
2
x
y
z
0
1
2
3
-3-2-1012
x
y
-3-2-1012
-1
0
1
2
x
151
Figura 8.2 - Diferentes perspectivas do posicionamento ótimo da tarefa.
Figura 8.3 - Movimento ótimo do robô.
Outra variável de interesse, a amplitude de oscilação, foi reduzida de 6,337E-03 rad
para 3,715E-03 rad. Como este valor está relacionado ao inverso da manipulabilidade
(Equação (2.19)), pode-se concluir que quanto maior a manipulabilidade, menor a amplitude
da vibração.
Na Figura 8.4 são apresentadas as coordenadas de junta e o respectivo erro angular
de cada junta durante o movimento. Estes erros estão associados à vibração do sistema,
conforme descrito pela Equação (2.18).
Figura 8.4 - Coordenadas de junta e respectivos erros.
-3-2-1012
-1
0
1
2
x
z
0
1
2
3
-2
0
2
-1
0
1
2
x
y
z
152
Segundo experimento
Para este experimento é especificado um subconjunto de 15 pontos de referência.
Comparando estes valores com a Equação (2.20), a tarefa tem o posicionamento inicial
definido dentro do retângulo dado por x = 1, –1,0 y 0,4 e 0,5 z 1,6. O tempo
correspondente é 0 t 14 s. Esta especificação simula uma tarefa a ser executada em um
plano vertical (em uma parede, por exemplo). A partir destes dados, realiza-se a interpolação
para t, y e z, respectivamente. Os pontos interpolados consistem em um conjunto de N = 54
pontos, conforme definido pela Equação (2.20), e descrevem o percurso a ser realizado pelo
efetuador.
A Figura 8.5 traz a representação geométrica do posicionamento inicial da tarefa. As
variáveis de projeto têm os valores β = 0 rad, δ
x
= 0 m, δ
y
= 0 m e δ
z
= 0 m na configuração
inicial, e representam a primeira estimativa para o processo de otimização da Equação (8.1).
Figura 8.5 - Diferentes perspectivas do posicionamento inicial da tarefa.
O resultado da configuração ótima (para ε=0,002 m) é apresentado na Tabela 8.3,
confirmando o sucesso na redução do efeito de vibração em cada elemento (link). O
posicionamento ótimo da tarefa se localiza dentro do espaço de trabalho, uma vez que o
índice de erro de cinemática inversa é f
3
= 1 (Equação (2.25)). As Figuras 8.6 e 8.7
apresentam a configuração ótima obtida.
-3-2-1012
-1
0
1
2
x
z
0 1 2 3
-1
0
1
2
x
z
0
1
2
3
-2
0
2
-1
0
1
2
x
y
z
153
Figura 8.6 - Diferentes perspectivas do posicionamento ótimo da tarefa.
Figura 8.7 - Movimento ótimo do robô.
Tabela 8.3 - Valor dos parâmetros iniciais e ótimos.
Parâmetro Valor inicial Valor ótimo
Manipulabilidade mínima w
1,140 2,464
Desvio padrão s
N
1,049E-02 8,010E-03
Erro da cinemática inversa s
E
1,000 1,000
Índice de performance f
4
2,005 1,466
Variáveis de projeto (β, δ
x
, δ
y
, δ
z
)
(0, 0, 0, 0) (-4,443E-02; 0,824; 0,378; -0,925)
A amplitude de oscilação foi diminuída de 5,726E-03 rad para 2,946E-03 rad. A
Figura 8.8 apresenta o valor de cada coordenada de junta e o erro no ângulo de cada junta
durante a operação do robô.
-3-2-1012
-1
0
1
2
x
154
Figura 8.8 - Coordenadas de junta e os respectivos erros.
Terceiro experimento
Para este experimento é especificado um subconjunto contendo 30 pontos de
referência. O espaço de trabalho da especificação inicial da tarefa está definido dentro do
retângulo 0,3 x 1,7, –1,6 y 0,4 e z = 0. O tempo correspondente varia entre 0 t 29
s. Esta especificação simula uma tarefa posicionada no plano horizontal (no solo, por
exemplo). A partir destes dados, realiza-se uma interpolação do tipo spline cúbica para cada
variável t, x e y, respectivamente. Os dados interpolados constituem um conjunto de N = 81
pontos (Equação (2.20)) que descreve o problema de seguimento de trajetória.
A Figura 8.9 apresenta geometricamente a especificação inicial da tarefa, na qual as
variáveis de projeto assumem os valores nulos
β
= 0 rad.,
δ
x
= 0 m,
δ
y
= 0 m e
δ
z
= 0 m. Estes
valores são usados como estimativa inicial para o processo de otimização (Equação (8.1)). As
Figuras 8.10 e 8.11 apresentam a configuração ótima e o correspondente movimento do robô.
A configuração ótima (para ε=0,005 m), conforme apresentado na Tabela 8.4,
confirma que a redução da vibração nos elementos do robô (links) foi bem sucedida. O valor
inicial do erro de cinemática inversa, f
3
= 2,006, significa que o valor inicial das coordenadas
de junta não estava apto a satisfazer a precisão requerida para o efetuador (ε na Equação
(2.24)). Esta exigência for satisfeita após o processo de otimização, resultando no índice de
erro de cinemática inversa, f
3
= 1. Isto significa também que o posicionamento ótimo da tarefa
está dentro do espaço de trabalho do manipulador.
155
Figura 8.9 - Diferentes perspectivas do posicionamento inicial da tarefa.
Figura 8.10. - Diferentes perspectivas do posicionamento ótimo da tarefa.
Figura 8.11 - Movimento ótimo do robô.
0
1
2
3
-3-2-1012
x
y
0 1 2 3
-1
0
1
2
x
z
0
1
2
3
-2
0
2
-1
0
1
2
x
y
z
0
1
2
3
-3-2-1012
x
y
0 1 2 3
-1
0
1
2
x
z
0
1
2
3
-2
0
2
-1
0
1
2
x
y
z
156
Tabela 8.4 - Valor dos parâmetros iniciais e ótimos.
Parâmetro Valor inicial Valor ótimo
Manipulabilidade mínima w 0,437 2,033
Desvio padrão s
N
5,924E-03 3,482E-03
Erro da cinemática inversa s
E
2,006 1,000
Índice de performance f
4
3,009 1,215
Variáveis de projeto (β, δ
x
, δ
y
, δ
z
)
(0, 0, 0, 0) (0,126; 0,626; -0,270; 0,181)
A amplitude de oscilação foi reduzida de 5,218E-03 rad para 1,366E-03 rad. A Figura
8.12 apresenta as coordenadas de junta durante a operação do manipulador e o correspondente
erro em cada ângulo de junta.
Figura 8.12 - Coordenadas de junta e os respectivos erros.
8.1.3 Conclusão
Este trabalho considerou o problema da redução da vibração de robôs manipuladores.
Foi proposta uma alternativa para reduzir os efeitos de vibração em cada elemento (link) de
um manipulador através do uso de técnicas de otimização.
Como a vibração no efetuador pode acontecer devido a diversos fatores (especificação
das leis de controle, flexibilidade das juntas, fricção das engrenagens, etc), foi proposto um
modelo geral para descrever os efeitos resultantes de tais vibrações. A equação proposta
considerou cada ângulo de junta independentemente, possibilitando o ajuste de múltiplos
157
fatores para descrever o comportamento distinto de cada articulação. Além disso, foram
incluídas informações sobre a velocidade e manipulabilidade de cada junta.
Utilizou-se uma metodologia para redução do erro de movimentação do efetuador que
consiste no posicionamento ótimo da tarefa a ser realizada. Usualmente o manipulador serial
pode apresentar diferença de desempenho em diferentes regiões do espaço de trabalho.
O processo de otimização procurou adequar esta habilidade à trajetória especificada.
Como o processo não considera explicitamente a fonte de distúrbio, pode-se fazer uso desta
estratégia para o tratamento de diferentes fontes de perturbação.
Os experimentos numéricos permitiram constatar que o reposicionamento da tarefa é
bem sucedido na redução dos efeitos da vibração. Uma vez que alterações no posicionamento
da tarefa podem resultar em diferentes índices de manipulabilidade e diferentes perfis de
velocidade, a metodologia procura pela melhor forma de utilização da estrutura robótica.
Deve-se destacar que o segmento de trajetórias pelo efetuador é uma tarefa altamente
restritiva. Em situações nas quais as especificações físicas do dispositivo robótico não podem
ser alteradas, esta estratégia representa uma ferramenta bastante útil.
Devido à abrangência da metodologia proposta para um manipulador serial de
complexidade arbitrária, juntamente com a generalidade da fonte de vibração considerada, o
autor acredita que esta metodologia representa uma contribuição significativa para o
planejamento de trajetória de robôs.
8.2 Planejamento de trajetória de robôs móveis
8.2.1. Introdução
Dentre todas as áreas de pesquisa envolvidas no projeto de um robô móvel, aquela que
trata do planejamento de sua trajetória tem recebido grande atenção por parte dos
pesquisadores, pois seu desenvolvimento está diretamente relacionado com a maior
autonomia dos robôs. A complexidade do problema de planejamento do movimento tem
motivado o desenvolvimento dos mais diversos algoritmos. O progresso da pesquisa nesta
área tem permitido o uso de robôs móveis em diversas situações, tais como aplicações
domésticas, automotivas e de exploração, dentre outras.
158
Neste trabalho propõe-se uma estratégia para planejamento da trajetória de robôs
autônomos a partir de conceitos de programação não linear, estabelecendo uma ferramenta
para a determinação da direção durante a realização do movimento, caracterizando-se um
planejamento on-line.
O estudo da navegação autônoma pode ser realizado em um ambiente estruturado ou
não estruturado, de forma que o objetivo é o estabelecimento de uma trajetória livre de
colisão.
O planejamento de trajetórias pode ser ainda estático ou dinâmico, dependendo da
forma pela qual a informação sobre o obstáculo está disponível. Em um problema estático,
toda a informação sobre o obstáculo é conhecida a priori, e o movimento do robô é
estabelecido a partir desta informação.
No planejamento dinâmico, somente uma informação parcial sobre os obstáculos está
disponível, por exemplo, a parte visível dos obstáculos, a partir de uma dada perspectiva.
Para alcançar o alvo estabelecido, o robô planeja a trajetória baseado na informação
disponível. Conforme o robô segue seu percurso, descobre mais informações sobre os
obstáculos, atualizando sua representação interna do ambiente, o que possibilita um novo
planejamento do percurso a partir da representação atualizada obtida.
Neste estudo, considera-se o planejamento dinâmico em um ambiente não estruturado,
de forma que o robô não tem informação sobre todo o espaço de trabalho e a trajetória a ser
seguida é estabelecida em função da informação obtida pelo sensor sobre a presença de
obstáculos em seu percurso.
Quando a dimensão do ambiente ou a posição do obstáculo é variável, define-se um
problema variante no tempo. Caso contrário, trata-se de um problema invariante no tempo. O
planejamento de trajetórias de qualquer sistema físico é restrito, pois os atuadores (motores)
têm potência limitada.
Em geral, os métodos desenvolvidos para o planejamento de trajetórias são adequados
para o uso em robôs com arquiteturas distintas, tais como robôs manipuladores seriais, robôs
autônomos e robôs de estrutura paralela. Estes métodos geralmente são variações de algumas
abordagens gerais: esqueleto, decomposição em células, campo potencial e programação
matemática. A maior parte dos problemas de planejamento de percurso pode ser resolvida
utilizando estes enfoques (Hwang and Ahuja, 1992). Estas abordagens não são mutuamente
exclusivas, e a combinação delas é freqüentemente utilizada no desenvolvimento de uma
estratégia para o planejamento de trajetórias.
159
Na abordagem do esqueleto, o conjunto de movimentos admissíveis é reduzido a uma
rede com linhas unidimensionais. Esta abordagem é também chamada de retração. A busca
pela solução é limitada à rede, caracterizando um problema de busca em grafo.
Estratégias pertencentes a este conjunto são o grafo de visibilidade e o diagrama de
Voronoi (Aurenhammer, 1991). A utilização deste conceito no planejamento de trajetórias
pode ser encontrada em Canny e Donald (1987), Canny (1987) e Canny (1988).
As estratégias baseadas na decomposição em células estabelecem a subdivisão do
espaço de projeto em um conjunto de células simples, calculando a relação adjacente entre
cada célula. Um percurso livre de colisão entre a configuração inicial e final do robô é
determinado pela identificação das células iniciais e finais, estabelecendo-se a conexão entre
elas através de uma seqüência de células conectadas (Keil e Sack, 1985).
A estratégia baseada em programação matemática representa o requisito de desvio do
obstáculo através de um conjunto de desigualdades nos parâmetros de configuração. O
planejamento do movimento é formulado como um problema de programação matemática que
encontra a curva entre as configurações inicial e final minimizando certa grandeza escalar.
Como esta otimização é não linear e contém diversas restrições de desigualdade, utiliza-se um
método numérico para a determinação da solução ótima (Saramago e Steffen, 1998; Santos et
al., 2005b e Santos et al., 2006).
O campo potencial, como estratégia para o desvio de obstáculos, foi aplicado
primeiramente por Khatib e Mampey (1978), sendo utilizado posteriormente por Hogan
(1985) para o controle de forças.
Este enfoque consiste na construção de uma função potencial, a qual tem valor mínimo
quando o robô está na configuração final especificada, e um valor elevado na proximidade dos
obstáculos. Em todos os demais lugares, a função tem valor decrescente na direção da
configuração objetivo. Assim, o robô pode atingir a configuração objetivo a partir de uma
outra configuração, seguindo a direção oposta à do gradiente do potencial. O valor elevado da
função potencial na proximidade do obstáculo evita que o robô se mova naquela direção.
A seguir, apresenta-se um modelo para a representação do espaço de trabalho e a
estratégia proposta para o planejamento da trajetória.
160
8.2.2. Representação do espaço de trabalho
Propõe-se a determinação da trajetória a ser seguida pelo robô com uma seqüência de
passos análogos aos seguidos pelo método do Gradiente. O resultado descrito pelo Teorema
3.1 (Seção 3.2) tem como hipótese o fato de a matriz Hessiana da função quadrática ser
definida positiva. Para atender este requisito, propõe-se o uso de uma função quadrática da
forma
xxxf
T
=
10
01
2
1
)(
21
(8.2)
onde x=[a b]
T
representa a coordenada cartesiana do robô. Com o objetivo de ajustar a
concavidade da superfície descrita por esta equação, pode-se multiplicar o valor desta função
por uma constante apropriada.
A superfície descrita pelo gráfico desta equação e o respectivo conjunto de curvas de
nível são apresentados na Figura 8.13.
Figura 8.13 - Gráfico da Equação (8.2) e curvas de nível correspondentes.
Ao se posicionar o objetivo no ponto correspondente ao valor mínimo da Equação
(8.2), tem-se a modelagem do espaço de trabalho de forma a possibilitar a determinação da
trajetória pela direção oposta à do gradiente.
Caso não haja obstáculos no espaço de trabalho, o Teorema 3.1 garante a obtenção do
valor mínimo e, consequentemente, o estabelecimento da trajetória.
-2
-1
0
1
2
-2
-1
0
1
2
0
1
2
3
4
161
Considera-se agora que a presença de um obstáculo no espaço de trabalho será
representada através de uma função potencial que terá seu valor acrescido ao valor da função
objetivo.
Propõe-se o uso de uma função Gaussiana para a representação do obstáculo, através
da expressão
∑∑
==
=
N
ji
cx
i
ii
exf
1
2
1
2
)(
22
2
2
)(
σ
(8.3)
sendo que j=1,...,N define o número de obstáculos, x = [a b]
T
representa a coordenada
cartesiana do robô, c = (c
1
, c
2
) representa a abscissa e a ordenada da posição cartesiana do
obstáculo, respectivamente, e σ
i
é um parâmetro de suavidade da curva.
A nova superfície, que contém tanto o objetivo a ser atingido como o obstáculo a ser
evitado, é representada como a soma das Equações (8.2) e (8.3), resultando no seguinte
modelo para a descrição do espaço de trabalho:
f
23
(x) = f
21
(x) + k f
22
(x) (8.4)
onde k é um fator de ponderação. A Figura 8.14 apresenta o gráfico deste novo modelo e as
respectivas curvas de nível.
Figura 8.14 - Gráfico da Equação (8.4) e curvas de nível correspondentes.
-2
-1
0
1
2
-2
-1
0
1
2
0
1
2
3
4
162
8.2.3. Formulação da trajetória
Após a definição de uma representação para o espaço livre e a capacidade de
identificar configurações viáveis, o planejamento do movimento se reduz a encontrar uma
seqüência conectada de configurações factíveis entre a posição inicial e a final a partir da
representação estabelecida.
O modelo descrito pela Equação (8.4) considera a localização do alvo e a presença do
obstáculo, simultaneamente, em um único objetivo. Observa-se que não há necessidade da
inclusão explícita do obstáculo como uma restrição na formulação. Por este motivo, a
Equação (8.4) representa a função objetivo e a restrição S = {x
min
< x < x
max
} consiste dos
valores máximo e mínimo admissíveis para o posicionamento, conforme a formulação geral
estabelecida pela Equação (3.4). Pode-se interpretar geometricamente o conjunto S como a
especificação das dimensões do espaço de trabalho, estando o alvo posicionado na origem
(0,0) do sistema de referência.
Adicionalmente, pretende-se considerar a situação na qual o robô não tem a
informação completa sobre o espaço de trabalho ao iniciar o percurso, caracterizando um
ambiente dinâmico.
Para tanto, define-se um fator de proximidade p que representa o alcance do sensor de
proximidade do robô. Caso a distância entre o obstáculo e o robô seja maior que p, define-se k
= 0 na Equação (8.4), significando que o robô não tem conhecimento da presença do
obstáculo em seu percurso. Caso a distância até o obstáculo seja menor que p, atribui-se um
valor positivo a
α
, de forma a considerar a presença do obstáculo durante o planejamento da
trajetória.
Finalmente, calcula-se a nova posição do robô a partir de informações sobre o
gradiente da função objetivo no ponto atual, através da expressão:
x
k+1
= x
k
-
T
f
3
(x) . v (8.5)
onde x
k
é a posição cartesiana atual,
f
23
é o gradiente da função objetivo e v é a velocidade.
Ao se comparar esta proposta com o algoritmo dado pelas Equações (3.5) a (3.7), observa-se
que a velocidade v (fixada) corresponde ao parâmetro λ
k
da Equação (3.7). Pode-se
alternativamente estabelecer um critério para a atualização da velocidade v.
163
Segundo o Teorema 3.1, considerando-se a ausência de obstáculos, o algoritmo
converge para o ponto de mínimo da formulação proposta, atingindo o alvo estabelecido.
Mas, conforme poderá ser verificado no exemplo numérico proposto na próxima seção, esta
metodologia é viável mesmo na presença de obstáculos. Deve-se ressaltar que a posição do
robô e do obstáculo são pontuais, onde não se considera seu volume.
Em resumo, propõe-se a metodologia apresentada na Figura 8.15.
Figura 8.15 - Fluxograma da metodologia proposta.
Início
Definir:
Posição x
Velocidade v
f
22
(x) = 0, k = 0
Calcular f
21
(x)
Obstáculo
próximo?
k = 0.9 k
k = 1
Calcular f
22
(x)
f
23
(x) = f
21
(x) + k f
22
(x)
x = x -
f
23
. v
Atingiu
alvo?
Fim
S
S
N
N
164
8.2.4. Experimentos numéricos
Primeiro caso: obstáculo fixo
Com o intuito de avaliar a viabilidade da estratégia proposta, considere o seguinte
exemplo numérico: o robô deve alcançar o alvo posicionado na origem (0,0) do sistema
cartesiano, iniciando seu movimento a partir da posição x
0
= (2, -2). Há um obstáculo na
posição c = (1, -1,5) e adota-se o parâmetro
σ
= 0,2 (Equação (8.3)).
A Figura 8.16 apresenta a posição do robô no espaço de trabalho em diferentes
instantes de tempo.
Figura 8.16 - Trajetória do robô na busca do alvo.
165
Logo após o inicio do movimento, nas proximidades da posição cartesiana (2,-2), o
sensor do robô não detecta a presença de um obstáculo. Assim, ele segue em linha reta na
direção do alvo, conforme as Figuras 8.16a e 8.16b. Ao se movimentar pelo espaço de
trabalho, o robô se aproxima do obstáculo.
Quando o sensor detecta a presença do obstáculo, a representação da curva de nível é
então atualizada. Devido ao valor elevado da função na vizinhança do obstáculo, o algoritmo
encontra uma rota de fuga, conforme apresentado na Figura 8.16c.
Após uma manobra evasiva, o método executa algumas iterações bem sucedidas
quanto ao desvio do obstáculo, conforme apresentado na Figura 8.16d. As Figuras 8.16e e
8.16f apresentam a trajetória restabelecida na direção do alvo, já distante da área de influência
do obstáculo.
Deve-se destacar que somente as Figuras 8.16c e 8.16d consideram a presença do
obstáculo, devido ao fator de ponderação k , dado pela Equação (8.4), ter seu valor ajustado
durante o processo (Figura 8.15).
Segundo caso: obstáculo móvel – movimento perpendicular
Neste experimento o robô parte da posição (2,5, -2,0) em direção ao alvo (0, 0). O
obstáculo se movimenta da posição inicial (0, -2,5) até a posição final (2,5, 2,0). Esta situação
é representada na Figura 8.17. Ao atingir a posição final, o obstáculo retorna à posição inicial,
sendo este trajeto seguido repetitivamente. O movimento resultante é apresentado na Figura
8.18.
Figura 8.17 - Movimento proposto para o robô e para o obstáculo.
166
Figura 8.18 - Trajetória do robô na busca do alvo.
Terceiro caso: obstáculo móvel – movimento em direções próximas
Neste experimento o robô parte da posição (2,5, -2,0) em direção ao alvo (0, 0). O
obstáculo se movimenta da posição inicial (2,5, -1,0) até a posição final (-1,0, -0,5). Esta
situação é representada na Figura 8.19. O movimento resultante desta especificação é
apresentado na Figura 8.20.
167
Figura 8.19 - Movimento proposto para o robô e para o obstáculo.
Figura 8.20 - Trajetória do robô na busca do alvo.
Quarto caso: obstáculo móvel – movimento na mesma direção (e sentido oposto)
Neste último experimento, o robô parte da posição (-2,5, 2,0) em direção ao alvo (0,
0). O obstáculo se movimenta da posição inicial (-0,5, 0,5) até a posição final (-2,5, 2,5). Esta
situação é representada na Figura 8.21. O movimento resultante desta especificação é
apresentado na Figura 8.22.
Figura 8.21 - Movimento proposto para o robô e para o obstáculo.
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
a) b)
c)
d)
Obstáculo
Alvo
Robô
168
Figura 8.22 - Trajetória do robô na busca do alvo.
8.2.5 Conclusão
Este estudo apresentou uma proposta para a determinação da trajetória de um robô
móvel a partir do estabelecimento de campos potenciais, considerando a presença de
obstáculos fixos ou móveis no espaço de trabalho.
Foi proposto um modelo de representação do alvo no espaço de trabalho, de forma que
a seqüência de passos gerada pelo método seja convergente para a solução do problema.
A inclusão de um termo na função objetivo referente à presença do obstáculo no
espaço de trabalho mostrou ser uma alternativa viável para a descrição do problema, mesmo
não tendo satisfeito a hipótese de convexidade da função objetivo.
O exemplo numérico ilustrou a aplicabilidade da metodologia, apresentando uma
trajetória a ser seguida pelo robô, estabelecida pela análise do gradiente da função objetivo.
Observou-se a determinação bem sucedida de uma trajetória evasiva quanto à presença do
obstáculo e convergente em direção ao alvo.
a) b)
c)
d)
169
Cabe destacar que a análise dinâmica do ambiente resulta em diferentes curvas de
nível (e, conseqüentemente, diferentes interpretações do espaço de trabalho) durante o
processo. Isto equivale a analisar diferentes funções objetivo durante o processo de
otimização.
A atualização da representação do ambiente a cada iteração permite considerar
situações em que o obstáculo se encontra fixo no espaço ou se movimenta, pois a direção a ser
seguida a cada iteração se dá a partir do gradiente da função objetivo, não sendo necessário,
portanto, o uso de informações sobre o tipo de movimentação no ambiente.
A generalidade da estratégia e a velocidade na avaliação das informações motivam o
autor a considerar sua utilização em problemas de maior complexidade.
A perspectiva de continuidade deste estudo prevê a modelagem da dinâmica do robô,
além do uso da velocidade e aceleração como parâmetros de controle.
170
CAPÍTULO IX
CONCLUSÕES E PERSPECTIVAS
9.1 O trabalho realizado
Neste trabalho foram apresentadas diferentes estratégias off-line para determinação da
solução da cinemática inversa e planejamento de trajetória de robôs manipuladores,
considerando-se o tempo, juntamente com características cinemáticas e dinâmicas, além da
presença de obstáculos fixos e móveis, para comporem índices de performance a serem
otimizados.
Apresentou-se uma proposta de reposicionamento de tarefa no espaço de trabalho
como forma de minimizar a potência mecânica e as vibrações associadas ao movimento do
manipulador, assim como uma estratégia de planejamento on-line para a determinação de
trajetória de robôs autônomos. Foram propostas formulações de funções objetivo para cada
caso, explorando-se a resolução através de técnicas de programação não linear, programação
multicritério e controle ótimo.
O primeiro capítulo apresentou uma conceituação genérica de robô manipulador e
delimitou o objetivo do trabalho, dentro do contexto de uma tese de doutoramento.
No segundo capítulo foram descritas as equações que definem a cinemática direta,
cinemática inversa, a manipulabilidade e a dinâmica dos robôs. Houve ainda a proposição de
um modelo para representação da vibração ocorrida em cada elemento (link), e a proposição
de uma especificação de tarefas no espaço de trabalho que foi capaz de permitir seu
posicionamento através de movimentos de corpo rígido, conforme verificado posteriormente
na seqüência da tese.
O terceiro capítulo resumiu os diferentes conceitos de otimização utilizados durante o
trabalho. Após a revisão sobre elementos de programação não linear, houve uma breve
descrição do Método do Gradiente, utilizado como ponto de partida para a metodologia
proposta no oitavo capítulo. Em seguida, foram apresentados elementos de controle ótimo e
de programação multicritério, que possibilitaram a extensão das técnicas de otimização para o
171
tratamento de problemas com mais de um objetivo, de forma eficiente. Houve ainda a
descrição de uma estratégia de otimização global, utilizada através de metodologias descritas
no sexto e sétimo capítulos desta tese.
O quarto capítulo apresentou o conceito de trajetória, uma estratégia para
representação de obstáculos e do manipulador, e a avaliação da distância entre ambos. Esta
abordagem foi utilizada para representação do obstáculo em várias situações, conforme
descrito no sexto e sétimo capítulo.
A revisão bibliográfica sobre a especificação e otimização da trajetória de robôs
manipuladores foi apresentada no quinto capítulo.
No sexto capítulo foram apresentados os resultados obtidos pela pesquisa ao se
considerar aspectos cinemáticos durante a otimização da trajetória de robôs manipuladores.
Foi feita a proposição de uma estratégia para determinação da cinemática inversa a partir de
uma técnica de otimização local (Santos et al., 2004a). Experimentos numéricos realizados
confirmaram a viabilidade da estratégia proposta. O enfoque de obter a solução através de
técnicas de otimização viabilizou o estudo de cenários variados, havendo a possibilidade de
inclusão de novas restrições e ajuste da prioridade no cumprimento das mesmas. A
simplicidade de alteração dos parâmetros relevantes, aliado ao bom desempenho
computacional verificado nos exemplos implementados, confirmou o potencial de aplicação
desta metodologia. Neste capítulo estendeu-se a pesquisa anterior ao se considerar a
manipulabilidade durante a determinação da cinemática inversa, além da consideração da
presença de obstáculos. A metodologia propôs a utilização de uma técnica de otimização
global para a determinação da solução (Santos et al., 2005a). Este enfoque assegurou a
obtenção de uma solução para o problema da cinemática inversa, conforme discutido nos
experimentos numéricos, e possibilitou a obtenção de diferentes configurações que atendem
ao posicionamento e orientação requeridos. Em seguida, foi proposta a otimização do tempo e
da derivada da aceleração associados à trajetória (Santos et al., 2004b). Supondo fixados os
pontos cartesianos em relação aos quais o manipulador deve se posicionar, fez-se um estudo
sobre como o tempo estabelecido para etapas intermediárias do movimento pode ser ajustado
para a redução da máxima derivada da aceleração requerida. Adicionalmente considerou-se o
ajuste do tempo total, além dos tempos intermediários, de forma a estabelecer o tempo
mínimo necessário no qual o valor da derivada da aceleração não excedesse um valor máximo
especificado.
172
Diferentes propostas de otimização dos índices de desempenho relativos à dinâmica do
sistema foram apresentadas no sétimo capítulo. Com relação a ambientes irrestritos,
apresentou-se uma proposta de otimização do torque através de técnicas de controle ótimo
(Santos et al., 2005c). Utilizou-se a formulação para minimizar o valor máximo do torque
durante a execução do movimento entre o ponto inicial e final estabelecidos. O resultado
numérico comprovou a eficiência da metodologia proposta para a redução do valor máximo
do torque necessário durante o movimento. Em seguida foi apresentado um estudo sobre o
torque e potência mecânica acumulados em ambiente irrestrito, onde o objetivo multicritério
foi otimizado através da teoria de controle ótimo (Santos et al., 2006a). Deste estudo,
concluiu-se que a formulação proposta foi apropriada tanto para a redução da potência
mecânica e torque associado ao movimento, quanto para a manutenção dos valores de posição
e torque em níveis próximos àqueles obtidos a partir da interpolação. Outro ponto favorável
na análise dos resultados foi o fato de que a expressão que inclui a energia inibiu o
crescimento dos níveis de torque, principalmente nos momentos em que a velocidade
apresentou valores próximos de zero. Interessou-se ainda sobre o posicionamento da tarefa a
ser realizada, buscando analisar o melhor local para seu posicionamento no espaço de
trabalho, considerando-se os requisitos para a potência mecânica do sistema. A posição do
efetuador foi fixada em relação a um referencial e descrita como uma seqüência de pontos
Cartesianos. O posicionamento foi ajustado com o objetivo de aumentar a manipulabilidade e
diminuir a potência mecânica total requerida para o movimento, tendo sido aplicado um
método de otimização global para a determinação da solução. Os experimentos numéricos
comprovaram a viabilidade da estratégia na análise de trajetórias com alto grau de
complexidade. Considerando em seguida a presença de obstáculos fixos no espaço de
trabalho, foi apresentada uma estratégia para a determinação da trajetória que considera os
requisitos de potência mecânica, velocidade, tempo de operação e posicionamento do robô
durante o movimento (Santos et al., 2005b), sendo a trajetória obtida a partir de uma
interpolação do tipo spline. A principal característica da formulação proposta como um
problema de otimização foi a inclusão de nós intermediários para a interpolação das
coordenadas de cada junta, estas consideradas como variáveis de projeto. Em cada aplicação
numérica, foi considerado o aumento do número de nós intermediários no espaço de
coordenadas de junta. Este procedimento ofereceu maior liberdade para o algoritmo obter
trajetórias ótimas, contribuindo para a efetiva minimização da potência mecânica associada.
Entretanto, deve-se destacar que não é recomendado o aumento arbitrário do número de nós
173
intermediários de interpolação porque isto pode levar à descontinuidade do movimento ou à
especificação de trajetórias não suaves. Foi ainda feita uma proposta de otimização da
potência mecânica do manipulador através do uso de controle ótimo, onde se considera a
presença de obstáculos moveis tanto num ambiente bidimensional (Santos et al., 2006b) como
tridimensional. Este estudo propôs a determinação da trajetória em duas fases: inicialmente
considerou-se o desvio do obstáculo, e então, tanto o obstáculo quanto a potência mecânica
foram objetivos simultaneamente considerados na segunda fase do processo de otimização.
Cabe salientar que a solução da primeira fase da otimização foi utilizada como estimativa
inicial para o início da segunda fase. Esta abordagem possibilitou a obtenção de uma solução
que minimizou a potência mecânica requerida, enquanto preservou a continuidade do
movimento diante da presença de obstáculos em movimento. Encerrou-se o sétimo capítulo
com a apresentação de uma proposta para determinação e otimização de trajetórias de robôs,
que se preocupa com a interceptação de objetos em movimento (Santos et al., 2006c). Neste
caso, tanto o instante como a posição da interceptação são considerados como variáveis de
projeto. A primeira fase da otimização considerou um critério de interceptação do obstáculo.
Esta análise levou a um projeto viável. A segunda fase da otimização utilizou este resultado
como informação inicial para a determinação de uma trajetória que minimiza a potência
mecânica requerida durante o movimento. O uso da potência mecânica como índice de
desempenho levou à otimização da velocidade e do torque simultaneamente, tendo sido
considerados, portanto, aspectos cinemáticos e dinâmicos do movimento.
No oitavo capítulo foi apresentada uma nova proposta para redução de vibrações em
robôs manipuladores. Neste sentido, realizou-se a análise através de um índice de
desempenho que deve ser otimizado pelo reposicionamento da tarefa a ser executada no
espaço de trabalho (Santos et al., 2006e). Considerou-se aspectos como o aumento da
manipulabilidade e a redução do efeito de vibração, além do erro de cinemática inversa,
durante o planejamento da trajetória. Os experimentos numéricos confirmaram que o
posicionamento adequado da tarefa reduz o efeito de vibração. Como alterações no
posicionamento da tarefa resultam em diferentes índices de manipulabilidade e diferentes
perfis de velocidade, a metodologia procurou por uma forma ótima de utilização dos recursos
passíveis de serem utilizados pelo robô manipulador. Em seguida fez-se a proposição de uma
estratégia para a determinação da trajetória de robôs móveis (Santos et al., 2006d). Para tanto,
considerou-se a presença de obstáculos fixos e móveis no espaço de trabalho, que foram
analisados durante o planejamento on-line da trajetória. Os experimentos numéricos
174
demonstraram a viabilidade da estratégia ao promoverem a obtenção de uma trajetória
contínua. O processo de ponderação dos diferentes objetivos (alvo e obstáculos) durante o
movimento ofereceu robustez ao método no sentido de permitir a consideração de cenários
variados, além da possibilidade de inclusão de uma grande quantidade de obstáculos a serem
evitados ao longo do movimento do sistema. Esta proposta procurou generalizar o conceito de
planejamento de trajetória, confirmando a aplicabilidade dos métodos de otimização para tal
tarefa.
Destaca-se que, conforme comentado anteriormente na Introdução desta tese, o
resultado obtido através do algoritmo de cálculo da dinâmica do robô manipulador (Recursive
Newton Euler – RNE), utilizado nas várias propostas, foi comparado com aquele resultante do
software NASTRAN, tendo sido observada a concordância entre os resultados. De certa
forma, pode-se então dizer que houve preocupação do autor no sentido de validar o programa
desenvolvido.
9.2 Principais contribuições
Em resumo, esta tese reuniu diversas contribuições relativas ao planejamento de
trajetória de robôs. Em relação à originalidade das propostas, destacam-se as seguintes
abordagens:
a) A estratégia de otimização global utilizada para a determinação da cinemática
inversa juntamente com a análise da manipulabilidade (seção 6.2). Este estudo considera a
utilização de uma estratégia de otimização determinística global para a obtenção da solução
do problema de cinemática inversa. No caso em que há infinitas soluções para o problema (o
manipulador é cinematicamente redundante), faz-se a opção por aquela configuração que
maximiza a manipulabilidade. Este enfoque difere daqueles encontrados na literatura, por
considerar uma estratégia global determinística ao mesmo tempo em que se preocupa com a
manipulabilidade.
b) A metodologia de avaliação do torque e potência mecânica através de uma função
multiobjetivo e a influência de diferentes fatores de ponderação (seção 7.2). Realiza-se a
determinação da trajetória através de técnicas de controle ótimo, onde o vetor de controle
contém a velocidade, e o vetor de estado contém variáveis de estado que correspondem à
posição e ao torque associado. A formulação utilizada da teoria de controle ótimo, aliada a
175
uma metodologia para determinação do melhor fator de ponderação para os diferentes
objetivos, caracterizam a originalidade da proposta.
c) O posicionamento da tarefa a ser realizada como estratégia para aumento de
desempenho (apresentado na seção 2.5 e utilizado nas seções 7.3 e 8.1). O posicionamento da
tarefa a ser realizada através de sua movimentação por transformações de corpo rígido,
juntamente com a análise de vibração (seção 8.1) e a minimização da potência mecânica
(seção 7.3) são igualmente aspectos que apontam para a originalidade do trabalho.
d) A forma de utilização de nós intermediários para determinação da trajetória ótima
(seção 7.4). O estudo do problema através de uma formulação de programação não linear,
onde se considera o desvio de obstáculos, a potência mecânica e o tempo total como índices
de desempenho, e a utilização dos nós intermediários da interpolação como variáveis de
projeto, representa também uma contribuição significativa.
e) A utilização de técnicas de controle ótimo para especificação da trajetória que
otimiza a potência mecânica e permite o desvio de obstáculos em movimento (seção 7.5). A
proposição de uma estratégia composta de duas fases para a determinação da trajetória ótima
através de uma formulação de controle ótimo, onde é obtida a redução da potência mecânica e
o efetivo desvio do obstáculo por todos os elementos constitutivos do manipulador, tem seu
caráter de originalidade dado pela escolha dos vetores de estado e controle da formulação.
Adicionalmente, a metodologia foi eficiente para prover estabilidade numérica e baixo custo
computacional para a obtenção do resultado ótimo, uma vez que estas características não são
facilmente obtidas no contexto da formulação do controle ótimo.
f) A otimização da potência mecânica ao interceptar um objeto em movimento (seção
7.6). Segundo a literatura consultada pelo autor, não há até o momento estudos que
considerem a redução da potência mecânica ao planejar uma trajetória de interceptação de
obstáculos em movimento.
g) A proposição de uma nova formulação para análise de vibrações (apresentado na
seção 2.4 e utilizado na seção 8.1). A utilização da teoria clássica de rotores para descrever a
vibração dos elementos (links) e do efetuador do robô, bem como sua otimização através do
posicionamento da tarefa são aspectos não encontrados na literatura consultada.
h) A determinação da trajetória de robôs móveis a partir do conceito de direção de
máxima descida juntamente com a ponderação de um campo potencial para a descrição de
obstáculos em movimento (seção 8.2). Segundo a literatura consultada pelo autor, pode-se
considerar como sendo nova a proposição da estratégia que determina a direção a ser seguida
176
pelo robô a partir de uma analogia com o Método do Gradiente, para obter o planejamento on-
line da trajetória.
Assim, o autor acredita que esta tese reúne um conjunto de estratégias úteis e
eficientes, aplicáveis a diversas situações concretas que envolvem o projeto e a utilização dos
robôs.
Destaca-se que todas as propostas citadas anteriormente podem ser aplicadas a
manipuladores de configuração arbitrária, ou seja, hipóteses restritivas sobre características
específicas de um dado manipulador não foram utilizadas durante o desenvolvimento das
propostas e sua aplicação. Como conseqüência, durante a realização dos diversos
experimentos numéricos, diversas configurações cinemáticas foram consideradas,
evidenciando o caráter de generalidade da metodologia desenvolvida.
Finalmente, pode-se considerar esta pesquisa como sendo uma fase de transição com
vistas à análise de situações mais complexas, tais como aquela que envolve o planejamento de
trajetórias onde a flexibilidade das estruturas robóticas é incluída no modelo, aspecto este que
já vem merecendo a atenção da comunidade científica.
9.3 Trabalhos futuros
A satisfação de requisitos conflitantes, como a alta velocidade de operação e alta
precisão de posicionamento têm criado novos desafios para o projeto, controle e operação de
robôs, aumentando a demanda de estu-0.8( 0.0jentàc0.0049 Tw[(.6(u TDiene alta )]TJ-3 . )TjT*870008 TcMução d Tw[(tàc02(m)8.7(a)-0.3indu hipates,0.ses situaçõ8( )Tj0 g2.95 0 TD38.0009 Tcm)8s que envolvblas que 8.4(avibcidade s que eseuo dos diverõ8( )]TJ-19.065 -1.75 TD8.92 0 TDel)-0.1(nem)8.6(jam)8.5(ento )]0 12 ta
177
Por este motivo, uma possibilidade natural de extensão dos resultados aqui
apresentados consiste na determinação da trajetória ótima de robôs manipuladores,
considerando-se o efeito de flexibilidade e vibração dos elementos constitutivos durante o
movimento. Neste contexto, são consideradas informações sobre a vibração do mecanismo,
além dos aspectos cinemáticos e dinâmicos do manipulador.
Por outro lado, o enfoque numérico dado até o momento para a resolução dos
diferentes problemas motiva a realização de um estudo teórico mais aprofundado, com o
objetivo de estabelecer condições necessárias e suficientes para a determinação da trajetória
mínima global, bem como a discussão sobre aspectos da estabilidade numérica da solução
obtida. Destaca-se que este estudo tem um caráter restritivo, pois irá estabelecer condições
necessárias sobre a metodologia (que em geral consiste na inclusão de restrições sobre o
problema proposto) de forma a assegurar tais propriedades.
A busca por metodologias de otimização mais eficientes do ponto de vista da
velocidade de execução dos códigos computacionais é uma perspectiva igualmente
importante, especialmente ao se pensar na incorporação de sistemas on-line de otimização da
trajetória, desvio de obstáculos e controle de vibrações.
Como conseqüência do aumento do desempenho, pode-se avaliar as metodologias no
sentido de propor sua reformulação para o planejamento on-line da trajetória, enriquecendo o
universo de estratégias destinadas a este fim, procurando analisar criteriosamente diferentes
índices de desempenho.
Finalmente, diante dos resultados obtidos em cada análise, acredita-se que a aplicação
das metodologias a problemas industriais seja perfeitamente viável. Este enfoque consiste
unicamente no ajuste dos diferentes fatores de ponderação e na descrição apropriada do
problema de interesse, para o efetivo aproveitamento da teoria de otimização no contexto da
robótica industrial.
178
Referências bibliográficas
ALVES, J. B. M. Controle de Robô, Ed. Cartgraf, 1988.
ARMSTRONG, B.; KHATIB, O.; BURDICK, J. The explict dynamic model and inertial
parameters of the Puma 560 arm, Proceedings of the IEEE Conference on Robotics and
Automation, San Franscisco, p. 510-518, 1986.
AURENHAMMER, F. Voronoi diagrams – a survey of a fundamental geometric data
structure, ACM Computing Surveys, v. 23, n. 3, p. 345 – 405, 1991.
BALKAN, T.; ÖZGÖREN, M. K.; ARIKAN, M. A. S.; BAYKURT, H. M. A method of
inverse kinematics solution including singular and multiple configurations for a class of
robotic manipulators, Mechanism and Machine Theory 35, p. 1221-1237, 2000.
BARRAQUAND, J.; LATOMBE, J. C. A Monte-Carlo algorithm for path planning with
many degrees of freedom. In Proceedings of the IEEE International Conference on
Robotics and Automation (Cincinnati May 13-18) IEEE. New York, p. 1712-1717,
1990.
BENOSMAN, M.; LE VEY, G.; LANARI, L.; DE LUCA, A. Rest-to-Rest Motion for Planar
Multi-Link Flexible Manipulator Through Backward Recursion, Journal of Dynamic
Systems, Measurement, and Control, v. 126, p. 115-123, 2004.
BOBROW, J.E.; DUBOWSKY, S.; GIBSON, J. S. Time Optimal Control of Robotic
Manipulators Along Specified Paths. International Journal of Robotics Research. v. 4, n.
3, p. 3-17, 1985.
BOISSIERE, P. T., AND HARRIGAN, R. W. Telerobotic operation of conventional robot
manipulators. In Proceedings of the IEEE International Conference on Robotics and
Automation (Philadelphia, Apr. 24-29). IEEE, New York, p. 576-583, 1988.
BOYCHUK, L. M.; OVCHINNIKOV, V. O. Principal Methods of Solution Multicriterial
Optimization Problems. Soviet Automatic Control. v. 6, p. 1-4, 1973.
BROOKS, R. A. 1983. Solving the Findpath problem by good representation of free space.
IEEE Trans. Syst., Man, and Cybernetics SMC-13, v. 3 (Mar. /Apr.), p. 190-197.
BRYSON, A. E. Dynamic optimization. Addison-Wesley Longman, Inc., Reading, MA,
1999.
CANNY, J. F. The Complexity of Robot Motion Planning, The MIT Press, Cambridge, 1988.
179
CANNY, J. F. A new algebraic method for robot motion planning and real geometry, In:
Proeeedings of the 28th Annual Simposium on Foundations of Computer Science (Los
Angeles, Out 12-14). IEEE, Washington, D. C., p. 39-48, 1987.
CANNY, J. F.; DONALD, B., Simplified Voronoi diagram, In: Proceedings of the 3
rd
Annual
ACM Symposium on Computational Geometry (Waterloo, Ontario, June 8-10) ACM
Press, New York, p. 153-161, 1987.
CAO, B.; DODDS, G. I.; IRWIN, G. W. Time-Optimal and Smooth Constrained Path
Planning for Robot Manipulators. In IEEE International Conference on Robotics and
Automation, San Diego, California, p. 1853-1858, 1994.
CHAPELLE, F.; BIDAUD, P. Closed form solutions for inverse kinematics approximation of
general 6R manipulators, Mechanism and Machine Theory 39, p. 323–338, 2004.
CHEN, P. C.; HWANG, Y. K. 1992. SANDROS: A motion planner with performance
proportional to task difficulty. In Proceedings of the IEEE International Conference on
Robotics and Automation (Nice, France, May 12-14). IEEE, New York, p. 2346-2353.
CHEN, Y.; DESROCHERS, A. A. Structure of Minimum-Time Control Law for Robotic
Manipulators with Constrained Paths. In: IEEE International Conference on Robotics
and Automation. Scottsdale, Arizona. p. 971-976, 1989.
CHEN, Y.; HUANG, J.; WEN, T. Y. A Continuation Method for Time-Optimal Control
Synthesis for Robotic Point-To-Point Motion. In 32nd Conference on Decision and
Control, San Antonio, Texas, December, p. 1628-1632, 1993.
CHEUNG, E.; LUMELSKY, V. Proximity sensing in robot manipulator motion planning:
System and implementation issues. IEEE Trans. Robot. Automat. v. 5, p. 740-751, 1989.
CITRON, S.J. Elements of Optimal Control. Holt, Rinehart and Winston, Inc., New York,
1969.
CONSTANTINESCU, D.; CROFT, E.A. Smooth and Time-Optimal Trajectory Planning for
Industrial Manipulators along Specified Paths. Journal of Robotic Systems. v. 17, n. 5,
p. 233-249, 2000.
CRAIG, J. J. Introduction to robotics: Mechanics & control. Second Edition. Reading, MA:
Addison-Wesley, 1989.
DADFARNIA, M.; JALILI, N.; XIAN, B.; DAWSON, D. M. A Lyapunov-Based
Piezoelectric Controller for Flexible Cartesian Robot Manipulators, Journal of Dynamic
Systems, Measurement, and Control, v. 126, p. 347-358, 2004.
180
DEB, K. Multi-Objective Optimization using Evolutionary Algorithms. New York: John
Wiley, 2001.
DENAVIT, J.; HARTENBERG, R. S. A kinematic notation for lower-pair mechanisms based
on matrices, ASME Journal of Applied Mechanisms, p. 215-221, 1955.
ESCHENAUER, H. ; KOSKI, J.; OSYCZKA, A. Multicriteria Design Optimization.
Springer-Verlag, 1990.
FAVERJON, B. Obstacle avoidance using an octree in the configuration space of a
manipulator. In: Proc. IEEE Intern. Conf. Robot. Automat. Atlanta, p. 504-512, 1984.
FAVERJON, B.; TOURNASSOUD, P. 1987. A local approach for path planning of
manipulators with a high number of degrees of freedom. In Proceedings of the IEEE
International Conference on Robotics and Automation (Raleigh, N. Carol., Mar. 31-Apr.
3). IEEE, New York, p. 1152-1159.
FU, K. S.; GONZALES, R. C.; LEE, C. S. G. Robotics: control, sensing, vision and
inteligence. McGraw-Hill, 1987.
GAN, J.Q.; OYAMA, E.; ROSALES, E.M.; GAN, H.H. A complete analytical solution to the
inverse kinematics of the Pioneer 2 robotic arm. Robotica. Cambridge University Press,
v. 23, p. 123-129, 2005.
GEERING, H. P.; GUZZELLA, L.; HEPNER, S.A.R.; ONDER, C.H. Time-Optimal Motions
of Robots in Assembly Tasks. IEEE Transactions on Automatic Control, AC- v. 31 n. 6,
p. 512-518, 1986.
GENTA, G. Dynamics of Rotating Systems, Springer, 2005.
GUPTA, K. C.; ROTH, B. Design Considerations for Manipulator Workspace, ASME J.
Mechanical Design, 104(4), p. 704-711, 1982.
HEILIG, J.; McPHEE, J., Determination of Minimum-Time Manoeuvres for a Robotic
Manipulator using Numerical Optimization Methods, Mechanics of Structures and
Machines , vol.27, no.2, pp.185-201, 1999.
HEINZINGER, G.; JACOBS, P.; CANNY, J.; PADEN, B. Time-Optimal Trajectories for a
Robot Manipulator: A Provably Good Approximation Algorithm. In IEEE International
Conference on Robotics and Automation, Cincinnati, Ohio, May, p. 150-156, 1990.
HIMMELBLAU, D.M. Applied Nonlinear Programming. McGraw-Hill, 1989.
HOGAN, N. Impedance control: An approach to manipulation: Part III – Application, ASME
J. Dynamic Syst. Meas. Control. 107 (Mar.), p. 17-24, 1985.
181
HWANG, Y.K.; AHUJA, N. Gross motion planning - A survey. ACM Computing Surveys
(CSUR) archive. ACM Press (ISSN:0360-0300). v. 24, n. 3, p. 219-291, 1992.
KAHN, M.E.; ROTH, B. The Near-Minimum Time Control of Open-Loop Articulated
Kinematic Chains. ASME Transactions, Journal of Dynamic Systems, Measurement,
and Control, p. 164-172, 1971.
KHATIB, O. 1985. Real-time obstacle avoidance for manipulators and mobile robots. In
Proceedings of the IEEE International Conference on Robotics and Atomatton (St.
LOUIS, Missouri). IEEE, New York, p. 500-505.
KHATIB, O. Real-time obstacle avoidance for manipulators and mobile robots. Int. J. Robot.
Res. p. 90-98, 1986.
KHATIB, O.; LE MAITRE, J.F. Dynamic control of manipulators operating in a complex
environment. In: Proc. 3rd Int. CISM-IFToMM Symp., 1978. p. 267-282.
KHATIB, O.; MAMPEY, L. M. Fonction decision-commande d’un robot manipulateur, Rep.
2/7156. DERA/CERT, Toulouse, France, 1978.
KEIL, J. M.; SACK, J. R. Minimum decomposition of polygonal objects, In: Computational
Geometry. Elsevier Science Publishers, North Holland, Amsterdam, p. 197-216, 1985.
KIM, D. H.; SHIN, S. Local path planning using a new artificial potential function
composition and its analytical design guidelines, Advanced Robotics, v. 20, n. 1, p. 115–
135, 2006.
KODITSCHEK, D. E. Robot planning and control via potential functions. In Robotics
Review, v. 1, O. Khatib, J. Graig, and T. Lozano-Pérez, Eds. MIT Press, Cambridge,
Mass, 1989.
KOREN, Y.; BORENSTEIN, J. Potential field methods and their inherent limitations for
mobile robot navigation. In Proc. IEEE Int. Conf. Robot. Automat. Sacramento, CA,
1991, v. 2, p. 1398-1404.
KYRIAKOPOULOS, K.; SARIDIS, G. Minimum Jerk Path Generation. In IEEE
International Conference on Robotics and Automation, p. 364-369, Philadelphia,
Pennsylvania, April 1988.
KYRIAKOPOULOS, K.; SARIDIS, G. Minimum Jerk for Trajectory Planning and Control.
Robotica, v. 12, p. 109-113, 1994.
LE GRAND, S. M.; MERZ JR., K. M. The Application of the Genetic Algorithm to the
Minimization of Potential Energy Functions. Journal of Global Optimization. v. 3, n.1,
p. 49 - 66, 1993.
182
LEVY, A.V.; MONTALVO, A. The Tunneling Algorithm for the Global Minimization of
Functions. SIAM Journal on Scientific and Statistical Computing. v. 6, n. 1, p. 15-29,
1985.
LIN, C.S.; CHANG, P.R.; LUH, J.Y.S. Formulation and Optimization of Cubic Polynomial
Joint Trajectories for Industrial Robots. IEEE Transactions on Automatic Control, AC-
28(12), p. 1066-1074, 1983.
LOZANO-PÉREZ, T. A simple motion-planning algorithm for general robot manipulators.
IEEE J. Robotics Auto. RA-3, 3 (June), p. 224-238, 1987.
LOZANO-PÉREZ, T. Spatial planning: A configuration space approach. IEEE Trans.
Comput. v. C-32, n. 2, p. 102-120, 1983.
LOZANO-PÉREZ, T.; WESLEY, M A. An algorithm for planning collision-free paths among
polyhedral obstacles. Commun. ACM 22, 10 (Oct.), p. 560-570, 1979.
LUENBERGER, D. G. Linear and non-linear programming. Second Edition. Reading, MA:
Addison-Wesley, 1984.
LUENBERGER, D. G. Optimization by vector space methods, John Wiley and Sons, Inc.,
New York, 1969.
MACIEJEWSKI, A. A., AND KLEIN, C. A. Obstacle avoidance for kinematically redundant
manipulators in dynamically varying environments. Int. J. Robotics Res. 4, 3 (Fall), p.
109-117, 1985.
MANSEUR, R.; DOTY, K. L. Structural kinematics of 6-Revolute-Axis robot manipulators,
Mechanism and Machine Theory v. 31 n. 5, p. 647-657, 1996.
MAO, Z.; HSIA, T. C. Obstacle avoidance inverse kinematics solution of redundant robots by
neural networks. Robotica. Cambridge University Press, v. 15, p. 3-10, 1997.
MITSI, S.; BOUZAKIS, K. D.; MANSOUR, G. Optimization of robot links motion in inverse
kinematics solution considering collision avoidance and joint limits, Mech. Mach.
Theory v. 30, n. 5, p. 653-663, 1995.
NAKAMURA, Y. Advanced Robotics: Redundancy and Optimization. Addison-Wesley,
1991.
NEARCHOU, A. C. Solving the inverse kinematics problem of redundant robots operating in
complex environments via a modified genetic algorithm, Mech. Mach. Theory v. 33, n.
3, p. 273-292, 1998.
NEWMAN, W., AND HOGAN, N. High speed robot control and obstacle avoidance using
dynamic potential function. In Proceedings of the IEEE International Conference on
183
Robotics and Automation (Raleigh, N. CaroI., Mar.31-Apr. 3). IEEE, New York, pp.
14-24, 1987.
NOBLE, B.; DANIEL, J.W. Applied Linear Algebra. Prentice-Hall, 1977.
OLIVEIRA, L.S; SARAMAGO, S.F.P. Otimização Multi-Critérios Aplicada a um Problema
Dinâmico. In: 14º Simpósio do Programa de Pós-graduação em Engenharia Mecânica,
2004, Uberlândia. p. 1-8.
ÖZGÖREN, M. K. Topological analysis of 6-joint serial manipulators and their inverse
kinematic solutions, Mechanism and Machine Theory 37, p. 511–547, 2002.
PAUL, R. P. Robot manipulators: Mathematics, Programming, and Control. Cambridge, MA:
MIT Press. , 1981.
PFEIFFER, F.; JOHANNI, R. A Concept for Manipulator Trajectory Planning. IEEE Journal
of Robotics Automation. v. 3, n. 2, p. 115-123, 1987.
RAGHAVAN, B.; ROTH, B. Inverse kinematics of the general 6R manipulator and related
linkages, Transactions of the ASME, Journal of Mechanical Design 115, p.502-508,
1993.
RICHARD, M. J.; GOSSELIN, C. M. A survey of simulation programs for the analysis of
mechanical systems, Math. Comput. Simul., v. 35, n. 2, p. 103-121, 1993.
RIMON, E.; KODITSCHEK, D. The construction of analytic diffeomorphisms for exact robot
navigation on star worlds. In Proc. IEEE Intern. Conf. Robot. Automat. Scottsdale, AZ,
1989, v. 1, p. 21-26.
ROMEIJN, H. E.; SMITH, R. L. Simulated Annealing for Constrained Global Optimization.
Journal of Global Optimization. v. 5, n. 2, p. 101-126, 1994.
SALUKVADZE, M. E. On the Existence of Solution in Problems of Optimization under
Vector Valued Criteria. Journal of Optimization Theory and Applications. v. 12, n. 2, p.
203-217, 1974.
SANTOS, R.R.; KRESCHEL, M .; STEFFEN Jr, V.; SARAMAGO, S. F. P. Serial Robot
Vibration Analysis Through Task Positioning Optimization. In: Polimetrica Int.Sci.
Pub. (Org.). Advances in Vibration Control and Diagnostics. Milano: Polimetrica
Int.Sci. Pub, 2006e, v. 1, p. 49-64.
SANTOS, R.R.; SARAMAGO, S. F. P.; STEFFEN Jr, V. Movimentação de Robôs em
Ambientes com Obstáculos. In: Simpósio do Programa de Pós-Graduação em
Engenharia Mecânica, 2004, Uberlândia - MG, 2004a.
184
SANTOS, R.R.; SARAMAGO, S. F. P.; STEFFEN Jr, V. Especificação de Trajetória de
Robôs em Tempo Ótimo . In: Simpósio do Programa de Pós-Graduação em Engenharia
Mecânica, 2004, Uberlândia, 2004b.
SANTOS, R.R.; SARAMAGO, S. F. P.; STEFFEN Jr, V. Otimização do Torque Aplicado
pelos Atuadores de Robôs Usando Técnicas de Controle Ótimo. In: Simpósio do
Programa de Pós-Graduação em Engenharia Mecânica, 2005, Uberlândia - MG, 2005c.
SANTOS, R.R.; SARAMAGO, S. F. P.; STEFFEN Jr, V. Trajetória ótima de robôs
manipuladores ao interceptar objetos em movimento. In: Simpósio do Programa de Pós-
Graduação em Engenharia Mecânica, 2006, Uberlândia - MG, 2006c.
SANTOS, R.R.; SARAMAGO, S. F. P.; STEFFEN Jr, V. Planejamento de trajetória de robô
autônomo através do conceito de campo potencial. In: Simpósio do Programa de Pós-
Graduação em Engenharia Mecânica, 2006, Uberlândia - MG, 2006d.
SANTOS, R.R.; STEFFEN Jr, V.; SARAMAGO, S. F. P. Solving the Inverse Kinematics
Problem Through Performance Index Optimization. In: XXVI Iberian Latin-American
Congress on Computational Methods in Engineering (CILAMCE), 2005, Guarapari -
ES, 2005a.
SANTOS, R.R.; STEFFEN Jr, V.; SARAMAGO, S. F. P. Robot Path Planning: Avoiding
Obstacles. In: 18th International Congress of Mechanical Engineering (COBEM), 2005,
Ouro Preto - MG, 2005b.
SANTOS, R. R.; STEFFEN Jr, V.; SARAMAGO, S. F. P. Técnicas de Controle Ótimo
Multicritério Aplicadas à Otimização de Aspectos Dinâmicos no Planejamento de
Trajetórias de Robôs Manipuladores. In: VII Simpósio de Mecânica Computacional,
2006, Araxá. Anais do VII Simpósio de Mecânica Computacional, 2006a. p. 1-10.
SANTOS, R.R.; STEFFEN Jr, V.; SARAMAGO, S. F. P. Robot Path Planning in a
Constrained Workspace by using Optimal Control Techniques, in: III European
Conference on Computational Mechanics Solids, Structures and Coupled Problems in
Engineering, Lisboa, 2006b.
SARAMAGO, S. F. P. Otimização de trajetórias de robôs manipuladores na presença de
obstáculos. 1998. Tese de Doutorado - Universidade Federal de Uberlândia,
Uberlândia.
SARAMAGO, S. F. P. ; STEFFEN Jr, V. Trajectory Modeling of Robot Manipulators in the
Presence of Obstacles. Journal of Optimization Theory and Applications. USA, v. 110,
n. 1, p. 17-34, 2001.
185
SARAMAGO, S. F. P. ; STEFFEN Jr, V. Optimal Trajectory Planning of Robot Manipulators
in the Presence of Moving Obstacles. Machine and Mechanism Theory. Oxford, v. 35,
n. 8, p. 1079-1094, 2000.
SARAMAGO, S.F.P.; STEFFEN Jr, V. Considerações Sobre Funções Custo a serem
utilizadas na Otimização de Trajetórias de Robôs Manipuladores, In: V Congresso de
Engenharia Mecânica Norte - Nordeste, 1998, Fortaleza, Anais do V CEM-NNE, 1998.
v. 1, p. 415-422, 1998.
SARAMAGO, S. F. P; STEFFEN Jr, V. Optimization of the Trajectory Planning of Robot
Manipulators Taking Into-Account The Dynamics of the System. Mechanism and
Machine Theory. v. 33, n. 7, p. 883-894, 1998.
SERAJI, H.; BON, B. Real-Time Collision Avoidance for Position-Controlled Manipulators,
IEEE Transactions on Robotics and Automation. v. 15, n. 4, 1999.
SERAJI, H.; STEELE, R.; IVLEV, R. Sensor-based collision avoidance: Theory and
experiments. J. Robot. Syst. v. 13, n. 9, p. 571-586, 1996.
SHILLER, Z. Time-Energy Optimal Control of Articulated Systems with Geometric Path
Constraints. In IEEE International Conference on Robotics and Automation, p. 2680-
2685, San Diego, California, 1994.
SHILLER, Z.; DUBOWSKY, S. Global time optimal motions of robotic manipulators in the
presence of obstacles. In Proceedings of the IEEE International Conference on Robotics
and Automation (Philadelphia, Apr 24-29) IEEE, New York, pp. 370-375, 1988.
SHILLER, Z.; LU, H.H. Computation of Path Constrained Time-Optimal Motions with
Dynamic Singularities. ASME Transactions, Journal of Dynamic Systems,
Measurement, and Control. v. 114, n. 1, p. 34-40, March 1992.
SHIN, K. G.; MCKAY, N. D. Open-loop minimum-time control of mechanical manipulators
and its application. In Proceedings of the American Control Conference (San Diego,
June 6-8) IEEE, New York, p. 1231-1236, 1984.
SHIN, K. G.; MCKAY, N. D. Minimum-Time Control of Robotic Manipulators with
Geometric Path Constraints. IEEE Transactions on Automatic Control, AC-30(6), p.
531-541, June 1985.
SIMON, D. The Application of Neural Networks to Optimal Robot Trajectory Planning.
Robotics and Autonomous Systems, v. 11, p. 23-34, 1993.
SPONG, M. W.; VIDYASAGAR, M. Robot Dynamics and Control. John Wiley and Sons,
1989.
186
STEFFEN Jr, V.; SARAMAGO, S.F.P. Optimization Techniques for Off - line Trajectories
Planning of Robot Manipulators. Non - linear Dynamics, Chaos, Control and their
Applications in Engineering Sciences. v. 1, p. 363-368, 1997.
STEINBACH, M.C.; BOCK, H.G.; LONGMAN, R.W. Time-optimal extension or retraction
in polar coordinate robots: a numerical analysis of the switching structure. In:
Proceedings of the 1989 AIAA Guidance, Navigation and Control Conference. p. 895-
910, 1989.
STOER, J.; BULIRSCH, R. Introduction to Numerical Analysis, Springer, New York, 1993.
STORN, R.; PRICE, K. Differential Evolution - a Simple and Efficient Heuristic for Global
Optimization over Continuous Spaces. Journal of Global Optimization. v. 11, p. 341 -
359, 1997.
VANDERPLAATS, G. N. Numerical Optimization Techniques for Engineering Design. 3rd
edition, VRD, Inc., 1999.
VANDERPLAATS, G. N. An Efficient Feasible Direction Algorithm for Design Synthesis.
AIAA Journal, v. 22, n. 11, 1984.
VANDERPLAATS, G. N. DOT - Design Optimization Tools Program, Vanderplaats
Research & Development, Inc, Colorado Springs, 1995.
VON STRYK, O.; BULIRSCH, R. Direct and Indirect Methods for trajectory optimization.
In: Annals of Operations Research. v. 37, p. 357-373, 1992.
VUKOBRATOVIC M.; KIRCANSKI, M. A Method for Optimal Synthesis of Manipulator
Robot Trajectories. ASME Transactions, Journal of Dynamic Systems, Measurement,
and Control, v. 104, p. 188-193, June 1982.
WANG, D.; HAMAM, Y. Optimal Trajectory Planning of Manipulators with Collision
Detection and Avoidance. The International Journal of Robotics Research, v. 11, n. 5, p.
460-468, October 1992.
WAPPENHANS, H.; HOLZL, J.; STEINLE, J.; PFEIFFER, F. Optimal Trajectory Planning
with Application to Industrial Robots. International Journal of Advanced Manufacturing
Technology, v. 9, p. 49-55, 1994.
WIKMAN, T. S.; NEWMAN, W. S. A fast, on-line collision avoidance method for a
kinematically redundant manipulator based on reflex control. CAISR Tech. Rep. 91-
160, Case Western Reserve Univ., Cleveland, OH, 1991.
WU, C. H.; PAUL, R. P. Resolved motion force control of robot manipulator, IEEE
Transactions on Systems, Man and Cybernetics SMC v. 12, n. 3, p. 266-275, 1982.
187
YOSHIKAWA, T. Foundations of Robotics: Analysis and Control, Cambridge : Mit, 1990.
ZLAJPAH, L.; NEMEC, B. Force strategies for on-line obstacle avoidance for redundant
manipulators. Robotica. Cambridge University Press, v. 21, p. 633-644, 2003.
ZHAO, X.; PENG, S. A successive approximation algorithm for the inverse position analysis
of serial manipulators. Robotica. Cambridge University Press, v. 17, p. 487-489, 1999.
ZOLLO, L.; SICILIANO, B.; DE LUCA, A.; GUGLIELMELLI, E.; DARIO, P. Compilance
Control for an Anthropomorphic Robot with Elastic Joints: Theory and Experiments,
Journal of Dynamic Systems, Measurement, and Control, v. 127, p. 321-328, 2005.
ZOUTENDIJK, G. Methods of feasible directions: a study in linear and non-linear
programming. Amsterdam: Elsevier, 1960.
188
Apêndice A
Descrição cinemática de um manipulador planar no padrão VRML.
#VRML V2.0 utf8
WorldInfo {
title "Planar Manipulator"
}
# LINK SHAPE
PROTO PLink1 [ ] {
Transform {
children [
Transform {
rotation 1 0 0 1.5708
children DEF Joint Shape {
geometry Cylinder { radius 0.15 height 0.25 }
appearance Appearance { material Material { diffuseColor 0.9
0.5 0.1 } }
}
}
Transform {
translation 0.7 0 0
children DEF Link Shape {
geometry Box { size 1.4 0.2 0.2 }
appearance Appearance { material Material { diffuseColor 0.1
0.9 0.0 } }
}
}
]
}
}
PROTO PLink2 [ ] {
Transform {
children [
Transform {
rotation 1 0 0 1.5708
children DEF Joint Shape {
geometry Cylinder { radius 0.15 height 0.25 }
appearance Appearance { material Material { diffuseColor 0.9
0.5 0.1 } }
}
}
Transform {
translation 0.7 0 0
children DEF Link Shape {
geometry Box { size 1.4 0.2 0.2 }
appearance Appearance { material Material { diffuseColor 0.1
0.9 0.0 } }
}
}
]
}
}
189
# ROBOT KINEMATICS
DEF Robot Transform {
children DEF Link1 Transform {
children [
DEF Link2 Transform {
translation 1.4 0 0
children [
PLink2 {}
]
}
PLink1 {}
]
}
}
# VIRTUAL WORLD SPECIFICATIONS
NavigationInfo {
type "EXAMINE"
avatarSize 1
}
Viewpoint {description "Upper Right" position 4 2 7 orientation 0 1 0 0.7}
Viewpoint {description "Lower Left" position -4 0 7 orientation 0 1 0 -0.7}
Viewpoint {description "Center" position 0 1 5 }
Background {
skyColor [ 1 1 0 0.3 0.3 0.9 1 1 1 ]
skyAngle [ 1.1 1.57 ]
groundAngle [ 1.57 ]
groundColor [ 0.1 0.1 0.1 1 1 1 0.1 0.1 0.1 ]
}
DEF Workspace Transform {
children [
Transform {
translation -1.2 -0.5 0
children DEF Floor Shape {
geometry Box { size 3 0.1 3 }
appearance Appearance { material Material { transparency 0.5
diffuseColor 0.9 0.9 0.9 } }
}
}
Transform {
translation 0 -0.25 0
children DEF Beam Shape {
geometry Box { size 0.05 0.5 0.05 }
appearance Appearance { material Material { transparency 0.5
diffuseColor 0.9 0.9 0.9 } }
}
}
]
}
# MOVEMENT SPECIFICATION
DEF Energy TimeSensor {
loop TRUE
enabled TRUE
190
cycleInterval 10
}
DEF PowerSource ScalarInterpolator {
keyValue [0, 1]
key [0, 1]
}
DEF Joint1 OrientationInterpolator {
keyValue [0 0 1 0, 0 0 1 0]
key [0, 1]
# the lines below are used by the software to update trajectory.
#Joint1
#Time
}
DEF Joint2 OrientationInterpolator {
keyValue [0 0 1 0, 0 0 1 0]
key [0, 1]
# the lines below are used by the software to update trajectory.
#Joint2
#Time
}
ROUTE Energy.fraction_changed TO PowerSource.set_fraction
ROUTE PowerSource.value_changed TO Joint1.set_fraction
ROUTE PowerSource.value_changed TO Joint2.set_fraction
ROUTE Joint1.value_changed TO Link1.set_rotation
ROUTE Joint2.value_changed TO Link2.set_rotation
Figura 1. Diferentes perspectivas de visualização.
191
Apêndice B
SMART PATH-PLANNER
Descrição do software para planejamento ótimo de trajetória de robôs.
Descrição
O sistema determina a trajetória de robôs manipuladores seriais. A partir da
especificação da posição inicial e final, é determinada uma especificação ponto a ponto do
movimento, com a resolução requerida.
A trajetória inicial é especificada a partir de um polinômio interpolador tipo spline.
Pode-se optar entre duas estratégias de otimização [1, 2] para a obtenção da trajetória ótima.
A informação gerada pelo sistema consiste na especificação sobre tempo, posição,
velocidade, aceleração e torque de cada junta. O relatório é gerado de acordo com o padrão
HyperText Markup Language (HTML).
A trajetória ótima pode ser visualizada através de uma representação de realidade
virtual no formato Virtual Reality Modeling Language (VRML). Este arquivo pode ser
atualizado pelo usuário para representar diferentes ambientes virtuais.
O sistema executável é composto do arquivo principal (spp.exe) que contém a
interface gráfica (Figura 1), o arquivo que contém os métodos de otimização (simulation.exe)
e o arquivo para visualização em ambiente em realidade virtual (planar.wrl).
Figura 1. Tela principal do sistema.
Opções de entrada
e execução
Opções de saída
e visualiza
ç
ão
192
O botão Parameters acessa a janela de especificação da trajetória (Figura 2),
permitindo o estabelecimento de diversos parâmetros do movimento. O botão Run executa os
processos de determinação da trajetória e otimização contidos no programa simulation.exe.
Este programa analiza os parâmetros especificados pelo usuário de acordo com o
seguinte critério: a primeira estratégia de otimização [1] executa a rotina correspondente
(Listagem 1), fazendo uso da respectiva função objetivo (Listagem 2). Caso contrário, a
segunda estratégia de otimização [2] executa a rotina correspondente (Listagem 3), fazendo
uso da respectiva função objetivo (Listagem 4).
Independentemente da estratégia escolhida, calcula-se a dinâmica do manipulador
(Listagem 5) e a potência mecânica associada à trajetória (Listagem 6).
As informações calculadas pela simulação são automaticamente atualizadas nas telas
de relatório do sistema (Figuras 3, 4 e 5).
O botão Output apresenta os dados numéricos obtidos antes e após a otimização, em
formato compatível com o padrão HTML (Figura 3). O botão Simulation output apresenta os
passos executados pelo módulo simulation.exe, bem como o valor das variáveis de projeto
(Figura 4). O botão Visualization exibe o movimento do robô em um ambiente de realidade
virtual (VRML), embutido em um browser HTML (Figura 5).
A execução do sistema requer a instalação do software Microsoft .Net Framework 2.0
(www.microsoft.com) e de um visualizador VRML embutido em browser
(www.blaxxun.com).
Figura 2. Parâmetros para estabelecimento da
trajetória inicial e ótima.
Figura 3. Especificação da trajetória inicial e ótima.
193
Figura 4. Valor inicial e ótimo das variáveis de projeto.
Figura 5. Visualização do movimento do robô.
194
void OptimumSpline(float *xIni)
{
int nIter;
float fTorque;
float x[4], xl[4], xu[4];
Dot bf2(4, 0, 0);
printf("\nRunning spline-based method.");
robo.SetTrajectory('a', 3, xIni);
x[0] = xIni[1];
x[1] = xIni[4];
x[2] = xIni[7];
x[3] = xIni[10];
xl[0] = 0.1;
xl[1] = 0.1;
xl[2] = -7;
xl[3] = -7;
xu[0] = xIni[2] - 0.1; // final time
xu[1] = xIni[5] - 0.1; // final time
xu[2] = 7;
xu[3] = 7;
// before optimization
fTorque = SolveSystem();
printf("\nMechanical power: %f", fTorque);
robo.SaveData('l', "output01.txt");
for(int i=0; i<4; i++)
printf("\nx(%d) = %f ", i, x[i]);
// optimize
bf2.SetFunction(MinimizeTorque);
bf2.SetBound(xl, xu);
bf2.GetMinimum(x, &nIter, &fTorque);
// optimal result
fTorque = SolveSystem();
printf("\nMechanical power: %f", fTorque);
robo.SaveData('l', "output02.txt");
for(int i=0; i<4; i++)
printf("\nx[%d] = %f ", i, x[i]);
}
Listagem 1. Otimização através da estratégia [1].
float MinimizeTorque(float knot[])
{
float fTorque;
float x[12];
x[1] = knot[0]; // time link 1
x[4] = knot[1]; // time link 2
x[7] = knot[2]; // pos link 1
195
x[10] = knot[3]; // pos link 2
robo.SetTrajectory('i', 3, x);
fTorque = SolveSystem();
return fTorque;
}
Listagem 2. Função objetivo otimizada pela estratégia [1].
void OptimumControl(float *xIni)
{
int nIter, i;
float fTorque;
float g[4];
float *x = new float[iRes*2];
Dot bf2(iRes*2, 4, 1);
printf("\nRunning control-based method.");
robo.SetTrajectory('a', 3, xIni); // spline interpolation
for(i=0; i<iRes; i++)
{
x[i] = robo.GetVel(0,i);
x[i+iRes] = robo.GetVel(1,i);
}
fTorque = SolveSystem();
printf("\nMechanical power: %f", fTorque);
robo.SaveData('l', "output01.txt");
// optimize
bf2.SetFunction2(MinimizeTorque2);
bf2.GetMinimum2(x, g, &nIter, &fTorque);
// optimized result
fTorque = SolveSystem();
printf("\nMechanical power: %f", fTorque);
robo.SaveData('l', "output02.txt");
for(i=0; i<4; i++) printf("\ng[%d] = %f ", i, g[i]);
delete x;
}
Listagem 3. Otimização através da estratégia [2].
float MinimizeTorque2(float x[], float g[])
{
float fTorque;
float posini[2], posfim[2];
robo.SetTrajectory('v', x);
fTorque = SolveSystem();
posini[0] = xIni[6];
posini[1] = xIni[9];
posfim[0] = xIni[8];
posfim[1] = xIni[11];
196
g[0] = 0.0;
g[1] = 0.0;
g[2] = 0.0;
g[3] = 0.0;
for(int j=0; j<2; j++)
{
g[0] += pow(robo.GetPos(j,iRes-1)-posfim[j], 2);
g[1] += pow(robo.GetPos(j,0)-posini[j], 2);
g[2] += pow(robo.GetVel(j,0), 2);
g[3] += pow(robo.GetVel(j,iRes-1), 2);
}
return fTorque;
}
Listagem 4. Função objetivo otimizada pela estratégia [2].
float Planar::Dynamics(float x[])
{
float q1, dq1, ddq1, q2, dq2, ddq2;
float m1, m2, l, g;
m1 = 1.0;
m2 = 1.0;
l = 1.0;
g = -9.81;
q1 = x[0];
dq1 = x[1];
ddq1 = x[2];
q2 = x[3];
dq2 = x[4];
ddq2 = x[5];
x[12] = 0.3333*m1*l*l*ddq1 + 1.3333*m2*l*l*ddq1 + 0.3333*m2*l*l*ddq2 +
m2*cos(q2)*l*l*ddq1
+ 0.5*m2*l*l*cos(q2)*ddq2 - m2*sin(q2)*l*l*dq1*dq2 -
0.5*m2*sin(q2)*l*l*dq2*dq2 + 0.5*m1*g*l*cos(q1)
+ 0.5*m2*g*l*cos(q1+q2) + m2*g*l*cos(q1);
x[13] = 0.3333*m2*l*l*ddq1 + 0.3333*m2*l*l*ddq2 + 0.5*m2*l*l*cos(q2)*ddq1
+ 0.5*m2*g*l*cos(q1+q2) + 0.5*m2*l*l*sin(q2)*dq1*dq1;
return 0;
}
Listagem 5. Dinâmica do manipulador planar.
float SolveSystem()
{
int i;
float fMin;
float fTorque, fDelta;
float *x;
x = new float[4*iRes];
197
fDelta = (robo.GetTime(0,iRes-1) - robo.GetTime(0,0)) / (iRes-1);
for(i=0; i<iRes; i++)
{
x[i] = robo.GetPos(0,i);
x[i+iRes] = robo.GetPos(1,i);
x[i+iRes+iRes] = 0;
x[i+iRes+iRes+iRes] = 0;
}
fMin = robo.DynamicsError(x);
fTorque = 0;
for(i=0; i<iRes; i++)
{
fTorque += pow(robo.GetTorque(0,i) * robo.GetVel(0,i) * fDelta, 2) +
pow(robo.GetTorque(1,i) * robo.GetVel(1,i) * fDelta, 2);
}
delete x;
return fTorque;
}
Listagem 6. Potência mecânica associada ao movimento.
Referências Bibliográficas
[1] R.R. Sant os, V. Steffen, Jr. and S. F. P. Saramago, “Robot Path Planning: Avoiding
Obstacles”, in: 18th International Congress of Mechanical Engineering (COBEM) , 2005,
Ouro Preto - MG, 2005.
[2] R.R. Sant os, V. Steffen, Jr. and S. F. P. Saramago, “Robot Path Planning in a Constrained
Workspace by using Optimal Control Techniques”, in: III European Con ference on
Computational Mechanics Solids, Structu res and Coupled Problems in Engin eering, Lisboa,
2006.
198
Apêndice C
Manual do usuário.
Smart Path-Planner
A system for optimal robot path planning
Introduction
The system generates the trajectory for a serial robot manipulator. Given the initial
and final joint coordinates, the system computes a poi nt-to-point trajectory with the required
resolution.
If no optimization is required, a cubic spline-based interpolation is performed to
compute the intermediate values. It is possible to choose between two different strategi es [1,2]
to obtain the optimal path plan ning.
The output provides information regarding time, position, velocity, acceleration and
torque of each joint. It is generated according to the HyperText Markup Language (HTML)
standard and can be readly use d to exchange data.
The optimal robot trajectory is visualized t hrough a Virtual Reality Modeling
Language (VRML) file, enabling iteraction with the robot workspace. The file can be updated
to describe a virtual environment, as required.
The user can freely modify the rob ot parameters and the corresponding VRML file
(according the ISO/IEC 14772-1:1997 specification).
Instalation
The system is provided as a “ready to run” set of files:
Spp.exe - Main program.
Simulation.exe - Optimization library.
Planar.wrl - Robotic VRML model.
Therefore, put all the files in the same directory and invoke spp.exe to start the system.
The following files have also to be installed to prepare the system to run properly:
Dotnetfx.exe - Microsoft .Net Framework 2.0.
(http://www.microsoft.com)
BlaxxunContact44.exe – VRML Viewer.
(http://www.blaxxun.com)
199
Input
Run the simulation through 3 steps:
[1] R.R. Sant os, V. Steffen, Jr. and S. F. P. Saramago, “Robot Path Planning: Avoiding
Obstacles”, in: 18th International Congress of Mechanical Engineering (COBEM) , 2005,
Ouro Preto - MG, 2005.
[2] R.R. Sant os, V. Steffen, Jr. and S. F. P. Saramago, “Robot Path Planning in a Constrained
Workspace by using Optimal Control Techniques”, in: III European Con ference on
Computational Mechanics Solids, Structu res and Coupled Problems in Engin eering, Lisboa,
2006.
1. Select the model
3. Run the simulation
2. Set parameters
Two optimization
strategies: in te rmediate
knots [1] and optimal
control [2].
Default option: a “ready
to run” configuration.
200
Output
Visual and numerical information:
Output: view initial and opt imal
values for each joint position,
velocity, a cceleration and tor que .
Simulation output: v erify
the initial and optimal
designs provided by the
selected optimization
strategy.
Visualization: visualize and
interact with the robot
performing the optimal
trajectory.
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo