Instituto Politécnico de Coimbra - Instituto Superior de ...€¦ · 6 Robôs Móveis Cooperativos...
Transcript of Instituto Politécnico de Coimbra - Instituto Superior de ...€¦ · 6 Robôs Móveis Cooperativos...
Instituto Politécnico de Coimbra
Instituto Superior de Engenharia
MANIPULADORES ROBÓTICOS
COOPERATIVOS
ANÁLISE DA DINÂMICA NÃO LINEAR E CONTROLO DE MANIPULADORES RR NA
EXECUÇÃO DE TAREFAS COOPERATIVAS
Carlos Manuel Clímaco Figueiredo
Trabalho de Projecto para obtenção do Grau de Mestre em
Automação e Comunicações em Sistemas de Energia
COIMBRA
2011
Instituto Politécnico de Coimbra
Instituto Superior de Engenharia
MANIPULADORES ROBÓTICOS
COOPERATIVOS
ANÁLISE DA DINÂMICA NÃO LINEAR E CONTROLO DE MANIPULADORES RR NA
EXECUÇÃO DE TAREFAS COOPERATIVAS
Orientador:
Nuno Miguel Fonseca Ferreira
Professor Adjunto do Departamento de
Engenharia Electrotécnica, ISEC
Carlos Manuel Clímaco Figueiredo
Trabalho de Projecto para obtenção do Grau de Mestre em
Automação e Comunicações em Sistemas de Energia
COIMBRA
2011
i
Dedico este trabalho aos meus pais, família e namorada, pelo esforço e dedicação
que me proporcionaram durante todos estes anos de estudos.
iii
Agradecimentos
Muitas pessoas são responsáveis pela qualidade deste trabalho. Gostaria de aproveitar
esta oportunidade para agradecer ao grupo de amigos e de trabalho da RoboCorp,
anteriormente denominada de GANG (Grupo de Análise do Golfe), que me apoiaram durante
esta jornada dando-me luz e perspectivas diferentes.
Em particular e especialmente, gostaria de agradecer aos colegas e amigos Micael
Couceiro, Miguel Luz e Gonçalo Dias pelas ideias interessantes, que muito influenciaram este
trabalho, amizade e apoio académico.
Foi um prazer trabalhar com o Professor Doutor Nuno Ferreira, pois foi ele que me
incentivou e apoiou neste trabalho. Sem a sua bondade, generosidade e orientação, este
trabalho nunca teria sido feito.
Principalmente gostaria de agradecer à minha família, pais e namorada pelo seu apoio
incansável e alegria constante.
.
iv
v
Resumo
Os manipuladores robóticos são sistemas constituídos por diversos elos interligados por
juntas lineares (i.e., prismáticas), rotacionais ou esféricas. Estes sistemas mecânicos exibem
fenómenos cinemáticos, estáticos e dinâmicos ao nível de complexidade quer na sua análise
quer no controlo do sistema. Essa complexidade aumenta quando se pretende realizar tarefas
cooperativas com múltiplos manipuladores.
O desenvolvimento da análise dinâmica e de novos algoritmos de controlo visa, entre
outros objectivos, optimizar o desempenho do sistema face às diversas não linearidades
através do controlo das variáveis de posição e força/binário, de acordo com as tarefas que os
manipuladores realizem. Neste sentido, controladores Proporcional-Integral-Derivativo (PID)
de ordem inteira e fraccionária serão abordados e comparados utilizando múltiplas
metodologias de optimização entre as quais o Particle Swarm Optimization (PSO). Os
fenómenos dinâmicos inerentes à própria construção mecânica, i.e., folgas, atrito,
flexibilidade e saturação dos binários nas juntas necessitam ser estudados mais
aprofundadamente para aferir da manipulabilidade cooperativa de objectos.
Para além disso, foi desenvolvido um framework, em ambiente MatLab/Simulink, para a
coordenação e cooperação de dois manipuladores robóticos na execução de tarefas
cooperativas. Para tal, incide-se o propósito do estudo nas etapas consideradas relevantes para
a cooperação entre dois braços robóticos, designadamente: cinemática, dinâmica,
manipulabilidade, trajectórias e controlo em cascata.
O uso de manipuladores RR acoplados a plataformas móveis, descritos neste trabalho
como robôs móveis RR, pretendem demonstrar a elevada capacidade para manipular e
transportar objectos. Tais pressupostos, permitiram desenvolver duas plataformas móveis com
cinemática inversa baseada na formulação Denavit-Hartenberg e controladores PID de ordem
fraccionária fundamentada pela definição de Grünwald-Letnikov. Estudaram-se assim os dois
robôs móveis RR cooperativos analisando a trajectória do manipulador e as forças aplicadas à
carga em comum, independentemente das não linearidades existentes.
Palavras chave: Robôs Móveis, Manipuladores, Cooperação, Controlo, Cinemática,
Cálculo Fraccionário, Fenómenos Dinâmicos.
vii
Abstract
Robotic manipulators are systems created from a sequence of links connected by linear
(i.e., prismatic), rotational or spherical joints. These mechanical systems present kinematic,
static and dynamic phenomena, thus requiring a complex analysis and control. This
complexity increases when it is intended to perform cooperative tasks with multiples
manipulators.
The development of the dynamical analysis and new control algorithms allows
optimizing the system performance when facing nonlinearities by controlling the variables of
position and force / torque, according to manipulators’ task. Therefore, Proportional-Integral-
Derivative (PID) controller of integer and fractional order are discussed and compared using
multiple optimization methods which includes the well known Particle Swarm Optimization
(PSO). The dynamic phenomena inherent to the mechanical construction, i.e., backlash,
friction, flexibility, and saturation of binary joints need to be further studied to establish the
cooperative manipulability of objects.
In addition, a framework was developed in MatLab / Simulink, for coordination and
cooperation of two robotic manipulators in the execution of cooperative tasks. Hence, this
study focused the relevant steps that allow cooperation between two robotic arms, including:
kinematics, dynamics, manipulability, path planning and cascade control.
The use of RR manipulators attached in mobile platforms, denoted in this work as mobile
RR robots, plan to demonstrate the high capacity to cooperatively manipulate and transport
objects. These assumptions allowed the development of two swarm mobile platforms
containing both inverse kinematics based on Denavit-Hartenberg formulation and fractional
order PID controllers based on Grunwald-Letnikov. Both robots were studied analyzing the
manipulator’s trajectory and the forces applied to the common load, regardless of existing
nonlinearities.
Keywords: Mobile Robots, Manipulators, Cooperation, Control, Kinematics, Fractional
Calculus, Dynamic Phenomena.
viii
ix
Índice
Agradecimentos iii
Resumo v
Abstract vii
Índice ix
Lista de Figuras xi
Lista de Tabelas xv
Nomenclatura xvii
1 Introdução 1
1.1 Estrutura do Relatório 2
1.2 Contexto e Motivação 4
1.3 Enquadramento Histórico 4
1.3.1 Manipuladores 6
1.3.2 Cooperação 7
1.4 Estado da Arte 8
2 Estrutura de Manipuladores 13
2.1 Elementos 13
2.1.1 Manipulador Mecânico 14
2.1.2 Garra (End-effector) 14
2.1.3 Actuadores 15
2.1.4 Sensores 15
2.2 Tipos de Juntas 16
2.2.1 Graus de Liberdade e Mobilidade 17
2.3 Espaço de trabalho 18
3 Modelação de Manipuladores Robóticos 19
3.1 Cinemática 19
3.1.1 Cinemática Directa 22
3.1.2 Cinemática Inversa 23
3.2 Manipulabilidade 25
x
4 Dinâmica 29
4.1 Fenómenos Dinâmicos nas Juntas dos Robôs 31
4.1.1 Juntas com Atrito Não Linear - Friction 31
4.1.2 Juntas com Folgas - Backlash 33
4.1.3 Juntas com Flexibilidade – Flexibility 34
4.1.4 Juntas com Saturação nos Binários dos Actuadores - Saturation 35
5 Arquitectura de Controlo 37
5.1.1 Controlador de ordem inteira 39
5.1.2 Controlador de ordem fraccionária 40
5.2 Métodos de Optimização 41
5.2.1 Método do Gradiente Descendente 42
5.2.2 Método da Pesquisa por Padrão – Lewis and Torczon GPS 43
5.2.3 PSO – Particle Swarm Optimization 44
6 Robôs Móveis Cooperativos 47
6.1 Plataformas 48
7 Resultados Experimentais 51
7.1 Simulador 51
7.2 Plataforma Robótica 59
8 Discussão e Conclusão 65
9 Trabalho Futuro 67
Referências 69
ANEXO A 77
A.1. Simulador do robô RR 78
A.2. Simulink 81
xi
Lista de Figuras
Figura 1.1. Modelo de cavaleiro robô adaptado de Leonardo DaVinci [Nilson, 2009]. ......................... 5
Figura 1.2. Robô industrial Unimate adaptado de Carroll [2007]. .......................................................... 6
Figura 1.3. Exemplos de cooperação entre manipuladores RR. .............................................................. 7
Figura 1.4. Robô com dois braços SDA20D da Motoman. ................................................................... 10
Figura 1.5. Justin – um corpo humanóide – Adaptado de IRM [2008]. ................................................ 10
Figura 1.6. Robôs na construção: Paredes de gesso – Adaptado de Khatib [1995]. ............................. 11
Figura 1.7. Robôs lunares SRR e SRR2K da NASA – Adaptado de Huntsberger et al. [2010]. ........... 12
Figura 2.1. Elementos que formam o robô – Adaptado do software Poser 8 e Motoman. .................... 13
Figura 2.2. Tipos de articulações: a) Prismática; b) Rotacional; c) Esférica......................................... 16
Figura 2.3. Robô planar de dois elos (RR). ........................................................................................... 17
Figura 2.4. Exemplos de espaços de trabalho de Society of Robots – Robot Arm Tutorial.
Manipulador: a) Cartesiano Gantry; b) Cilindrico; c) Esférico; d) Scara; e)
Articulado. ......................................................................................................................... 18
Figura 3.1. Robô planar de dois elos em contacto com uma superfície. ............................................... 19
Figura 3.2. Coordenadas do robô planar de dois elos. .......................................................................... 20
Figura 3.3. Transformação Denavit-Hartenberg – adaptado de Couceiro [2008]. ................................ 21
Figura 3.4. Múltiplas soluções para a cinemática inversa. .................................................................... 23
Figura 3.5. Manipulabilidade de um robô RR com l1 = 1 m e l2 = 1 m obtida pelo método de
Yoshikawa. ........................................................................................................................ 26
Figura 3.6. Descrição do algoritmo da manipulabilidade numérica. ..................................................... 27
Figura 3.7. a) Movimentos aleatórios do robô em {O, q1, q2} dentro de uma circunferência; b)
respectivo mapeamento para o espaço operacional {O, x, y}. ........................................... 27
Figura 3.8. Manipulabilidade de um robô RR com l1 = 1 m e l2 = 1 m obtida pelo método
numérico. ........................................................................................................................... 28
Figura 4.1. Dois robôs cooperantes na manipulação de um objecto – adaptado de Ferreira
[2006]. ............................................................................................................................... 30
Figura 4.2. Contacto entre a garra do robô e o objecto – adaptado de Ferreira [2006]. ........................ 30
Figura 4.3. Atritos de Coulomb e viscoso nas juntas. ........................................................................... 32
Figura 4.4. Folga no acoplamento de engrenagens. .............................................................................. 33
Figura 4.5. Manipulador com folgas nas engrenagens – adaptado de Ferreira [2006]. ......................... 33
Figura 4.6. Manipulador com flexibilidade nas juntas – adaptado de Ferreira [2006]. ......................... 35
Figura 5.1. Arquitectura do controlador de posição/força. .................................................................... 38
xii
Figura 5.2. Parâmetros do controlador PIλD
μ. ....................................................................................... 41
Figura 5.3. Método do Gradiente Descendente. .................................................................................... 43
Figura 5.4. Método PSO. ....................................................................................................................... 44
Figura 6.1. Cooperação entre dois robôs móveis RR. ............................................................................ 47
Figura 6.2. Dois robôs manipulando um objecto em cooperação. ......................................................... 48
Figura 6.3. Ilustração em 3D SolidWorks de dois robôs móveis RR em trabalho cooperativo no
transporte de uma mesa. ..................................................................................................... 48
Figura 6.4. Estrutura de cada plataforma móvel. ................................................................................... 48
Figura 6.5. Plataforma RP5 da Pololu. .................................................................................................. 49
Figura 6.6. Cinemática da plataforma robótica. .................................................................................... 50
Figura 7.1. Trajectória realizada pelos dois robôs. ................................................................................ 53
Figura 7.2. Critério de desempenho ITSE sob a acção do controlador PID. ......................................... 54
Figura 7.3. Critério de desempenho ITSE sob a acção do controlador FO. ........................................... 54
Figura 7.4. Trajectória de referência no eixo dos xx do robô B. ............................................................ 55
Figura 7.5. Resposta do robô ideal à perturbação usando o PID de ordem a) inteira; b)
fraccionária. ....................................................................................................................... 56
Figura 7.6. Resposta do robô sujeito a friction, usando o PID de ordem a) inteira; b)
fraccionária. ....................................................................................................................... 56
Figura 7.7. Resposta do robô sujeito a backlash, usando o PID de ordem a) inteira; b)
fraccionária. ....................................................................................................................... 57
Figura 7.8. Resposta do robô sujeito a flexibility, usando o PID de ordem a) inteira; b)
fraccionária. ....................................................................................................................... 58
Figura 7.9. Resposta do robô sujeito a saturation, usando o PID de ordem a) inteira; b)
fraccionária. ....................................................................................................................... 58
Figura 7.10. Forças aplicadas no objecto pelos robôs A e B para a experiência P1. .............................. 60
Figura 7.11. Posição angular da junta q1(t) dos robôs A e B para a experiência P1. .............................. 61
Figura 7.12. Posição angular da junta q2(t) dos robôs A e B para a experiência P1. .............................. 61
Figura 7.13. Trajectórias no espaço cartesiano (x, y) do órgão terminal dos robôs A e B para a
experiência P1. ................................................................................................................... 62
Figura 7.14. Forças aplicadas no objecto pelos robôs A e B para a experiência P2. .............................. 62
Figura 7.15. Posição angular da junta q1(t) dos robôs A e B para a experiência P2. .............................. 63
Figura 7.16. Posição angular da junta q2(t) dos robôs A e B para a experiência P2. .............................. 63
Figura 7.17. Trajectórias no espaço cartesiano (x, y) do órgão terminal dos robôs A e B para a
experiência P2. ................................................................................................................... 64
Figura A-1. Ambiente do simulador do robô RR. .................................................................................. 78
Figura A-2. Parâmetros da dinâmica do robô. ....................................................................................... 79
Figura A-3. Manipulabilidade analítica do manipulador RR. ................................................................ 80
xiii
Figura A-4. Manipulabilidade numérica do manipulador RR. .............................................................. 80
Figura A-5. Sistema completo de dois robôs e um objecto no Simulink. ............................................. 83
Figura A-6. Controladores de posição, velocidade e força para cada manipulador. ............................. 84
Figura A-7. Controladores de ordem inteira para a posição e velocidade. ............................................ 85
Figura A-8. Controlador de ordem inteira para a força. ........................................................................ 85
Figura A-9. Controlador PID. ............................................................................................................... 86
Figura A-10. Controladores de ordem fraccionária para a posição e velocidade. ................................. 86
Figura A-11. Selecção do envolvimento de forças no sistema. ............................................................. 86
Figura A-12. Parâmetros do controlador de ordem fraccionária para Simulink. ................................... 87
xiv
xv
Lista de Tabelas
Tabela 2.1. Principais tipos de actuadores – adaptada de Dentler [2008]. ............................................ 15
Tabela 3.1. Modelo D-H do manipulador RR. ...................................................................................... 21
Tabela 7.1. Parâmetros do Controlador PID de ordem inteira sintonizado com o método de
pesquisa por padrão. ......................................................................................................... 51
Tabela 7.2. Parâmetros do Controlador PID de ordem inteira sintonizado com o método
gradiente descendente. ...................................................................................................... 51
Tabela 7.3. Parâmetros do Controlador PID de ordem inteira sintonizado com o método PSO. ......... 52
Tabela 7.4. Parâmetros do Controlador PID de ordem fraccionária sintonizado com o método de
pesquisa por padrão. ......................................................................................................... 52
Tabela 7.5. Parâmetros do Controlador PID de ordem fraccionária sintonizado com o método
gradiente descendente. ...................................................................................................... 52
Tabela 7.6. Parâmetros do Controlador PID de ordem fraccionária sintonizado com o método
PSO. .................................................................................................................................. 52
Tabela 7.7. Ângulos iniciais para ambos os manipuladores robóticos. ................................................. 53
Tabela 7.8. Parâmetros utilizados para o modelo friction. .................................................................... 56
Tabela 7.9. Parâmetros utilizados para o modelo backlash................................................................... 57
Tabela 7.10. Parâmetros utilizados para o modelo flexibility. ............................................................... 57
Tabela 7.11. Parâmetros utilizados para o modelo saturation. ............................................................. 58
Tabela 7.12. Características do tempo de resposta dos controladores nas diversas experiências. ........ 59
Tabela 7.13. Parâmetros do Controlador PID de ordem fraccionária sintonizado com o método
PSO para o robô móvel RR. .............................................................................................. 60
xvii
Nomenclatura
Abreviaturas
3D “três dimensões”
D-H “Denavit-Hartenberg”
det “determinante”
DOF “Degrees-of-Freedom”
FO “Fractional Order”
GPS “Generalized Pattern Search”
IAE “Integral of Absolute Error”
IFR “International Federation of Robotics”
IRM “Institute of Robotics and Mechatronics”
ITAE “Integral Time Absolute Error”
ITSE “Integral Time Squared Error”
NASA “National Aeronautics and Space Administration”
PD “Proportional–Derivative Controller”
PDμ “Proportional–Derivative Fractional Controller”
PI “Proportional–Integral Controller”
PID “Proportional–Integral–Derivative Controller”
PIλD
μ “Proportional–Integral–Derivative Fractional Controller”
PSO “Particle Swarm Optimization”
rad “radianos”
RCC “Robotic Construction Crew”
RR “Rotacional Rotacional”
RIA “Robotics Institute of America”
seg “segundos”
Letras e símbolos
{x, y} coordenadas cartesianas
a distância ente rastros
Bai atrito viscoso na junta i
xviii
Bim factor de amortecimento do motor na junta i
C(q, ) binários/forças coriolis/centrípetos
E1 sistemas de eixos global
E2 sistemas de eixos da plataforma robótica
Fj força exercida no órgão terminal de cada robô j
fc frequência do controlador
G(q) binários/forças gravíticas
H(q) matriz das inércias
hi folga na engrenagem i
J jacobiano
Jig inércia do robô na junta i
Jim inércia do motor na junta i
JT jacobiano transposto
Kai atrito de Coulomb na junta i
Kd ganho derivativo
Ki ganho integral
Kim rigidez do motor na junta i
Kp ganho proporcional
KP ganho de posição
l0 dimensão do objecto
lb distância entre manipuladores
li dimensão do elo i
mi massa do elo na junta i
Op origem do sistema de eixos da plataforma robótica
Ov overshoot
P junta prismática
qi coordenada de posição da junta i
i velocidade relativa entre as superfícies de contacto
velocidade das inércias das juntas depois da colisão
xix
velocidade do motor depois da colisão
r raio da roda
R junta Rotacional
S junta esférica
t tempo
Td constante de tempo derivativa
Ti constante de tempo integral
Tmax binário máximo do actuador
Tmin binário mínimo do actuador
Tp tempo de pico
Tr tempo de subida
Ts tempo de estabelecimento
vr velocidade de translacção
we velocidade angular da roda esquerda
wd velocidade angular da roda direita
wr velocidade de rotação da plataforma robótica
Caracteres gregos
índice de manipulabilidade do robô
θ0 inclinação do objecto
τ binário dos actuadores
Γ função gamma
δxd perturbação na trajectória
ε coeficiente de restituição ou elasticidade do impacto
φ ângulo de rotação da plataforma robótica no eixo z
1
1 Introdução
Os sistemas robóticos são ferramentas eficazes necessárias para a modernização
industrial com intuito de aumentar a competitividade internacional. Os aumentos na
produtividade, na flexibilidade e a garantia da elevada qualidade estão relacionados com o
nível de inteligência e autonomia exigida dos sistemas robóticos [Pires, 2004].
Após o aumento substancial das vendas de robôs industriais em 2010, a International
Federation of Robotics – Statistical Department (IFR) mostra que um novo aumento será
retomado no período entre 2011 e 2013 com cerca de 10% ao ano, em média, atingindo um
nível de mais de 100.000 unidades.
Actualmente, a indústria já delineia a aplicação de sistemas inteligentes em vários
processos de produção. O desenvolvimento da robótica inteligente é muito positivo, com uma
penetração constante para os mundos doméstico e industrial a preços acessíveis num
horizonte próximo. Os actuais sistemas autónomos inteligentes são flexíveis, robustos assim
como componentes chave da indústria do futuro, principalmente nas áreas da engenharia,
biologia ou medicina. Esta última, por exemplo, tem utilizado os robôs cirurgiões (e.g., da
Vinci) como auxílio em algumas operações delicadas, assim como aplicações robóticas para
os membros superiores, isto é, os braços. Afinal os robôs na indústrial imitam de certa forma
os movimentos dos nossos braços. Uma das vertentes inerentes aos sistemas robóticos em que
a investigação se destaca é certamente a cooperação entre robôs (e.g., manipuladores
robóticos) [Ferreira, 2006], [Takahashi et al., 2008].
As características dos robôs determinam significativamente o preço dos manipuladores.
Um exemplo disso é o orçamento de 40 mil euros dado pelo fabricante de robôs industriais
Kuka para dois robôs KR16-2F com um raio de actuação de 1.6 metros, com 6 eixos e com
uma capacidade de carga de 16 Kg. No entanto, o mesmo valor é orçamentado para um robô
KR30L16-2 que possui as mesmas características à excepção da capacidade de carga que é
superior assim como o raio de alcance que aumenta para 3.1 metros. Sendo o objectivo do
trabalho alimentar dois centros de torneamento, uma das vantagens de contemplar os dois
robôs é a possibilidade de manter um posto de trabalho em funcionamento mesmo que um
deles não funcione, não avultando prejuízos de maior no custo de produção.
2
Os sistemas físicos (e.g., manipuladores robóticos) estão sujeitos a um conjunto de não
linearidades que se alteram ao longo do seu tempo de vida. O acoplamento indirecto
caracteriza-se pelo actuador estar afastado da junta que este controla, i.e., não está acoplado
directamente à junta. Geralmente, esse acoplamento ocorre quando se pretende diminuir a
carga que a junta necessita movimentar. Porém, para que funcione, tem que existir alguma
transmissão de potência entre o actuador e a junta, sofrendo assim efeitos indesejados no
desempenho do manipulador, devido às não linearidades, tais como: folgas, atrito,
flexibilidade e saturação dos binários nas juntas [Ferreira, 2006].
O desenvolvimento de algoritmos de controlo de posição e de força adequados,
permitem lidar com a dinâmica de cooperação, para dois ou mais manipuladores, tendo estes
em comum o espaço de trabalho e a interacção com um objecto. Este cenário reflecte-se num
nível de complexidade superior ao verificado na situação em que se tem apenas um único
manipulador, por existir uma influência mútua de interacção entre os manipuladores.
Neste trabalho é feito o estudo do modelo dinâmico de dois manipuladores de dois graus
de liberdade (RR) a cooperarem no transporte de um determinado objecto. A validação dos
algoritmos de controlo, assim como todo o processo de optimização é efectuada numa
aplicação de simulação em ambiente MatLab/Simulink e em plataformas robóticas reais.
Neste simulador desenvolvido pode-se estudar a cinemática directa e inversa utilizando a
notação de Denavit-Hartenberg1, a manipulabilidade de um manipulador com dois graus de
liberdade do tipo RR assim como simular a capacidade de dois braços suportarem um
determinado objecto, i.e., na sua região de trabalho.
Além dos conceitos de manipulabilidade, são feitas comparações de estratégias de
controlo de posição/força utilizando controladores de ordem inteira e de ordem fraccionária,
bem como, diferentes métodos de optimização de parâmetros, entre eles o Particle Swarm
Optimization (PSO), com diferentes critérios de desempenho como o integral do erro
quadrático multiplicado pelo tempo (ITSE).
1.1 Estrutura do Relatório
A elaboração deste relatório contempla uma breve introdução que contextualiza o escopo
e aplicabilidade deste trabalho. Além disso, apresenta o enquadramento histórico referente à
1 A notação de Denavit-Hartenberg (D-H) é uma ferramenta utilizada para sistematizar a descrição cinemática de sistemas
mecânicos articulados com n graus de liberdade [Denavit et al., 1955].
3
cooperação entre robôs, sendo ainda abordado o estado da arte que descreve os principais
estudos que foram realizados no âmbito desta temática (Capítulo 1).
O capítulo 2 apresenta os elementos básicos e essenciais que integram a estrutura de
manipuladores, bem como os diferentes tipos de juntas e o espaço de trabalho de um
manipulador.
No capítulo 3 é abordada a modelação de um manipulador com dois graus de liberdade,
enunciando a composição destes e explicando o modo como estes são comandados no espaço
cartesiano (i.e., área de trabalho definida pelo robô). São estabelecidas equações da
cinemática directa e inversa de posição, de velocidade e de aceleração, sendo ainda abordadas
estas duas análises para o robô RR enunciando os seus objectivos e alguns dos problemas
inerentes à sua utilização.
Com base nas equações cinemáticas do sistema, é realizado o estudo da manipulabilidade
do robô RR, que consiste na possibilidade de se evitarem as singularidades cinemáticas, onde
é necessário estabelecer medidas da capacidade que o robô possui de manipular objectos em
direcções especificadas. Para além disso, são estabelecidas no capítulo 4, as equações da
dinâmica que descrevem explicitamente o relacionamento entre a força e o movimento. Após
o estudo da cinemática e dinâmica de um robô é inserido no sistema um segundo manipulador
robótico e em contacto com os dois robôs um objecto, de forma a estudar a cooperação entre
robôs na interacção com objectos. São estudados os diferentes tipos de fenómenos dinâmicos
nas juntas, representando a realidade dos sistemas robóticos.
No capítulo 5 é apresentada a arquitectura de controlo de posição e força dos robôs e é
feita uma comparação dos diferentes controladores de posição/força, utilizando algoritmos de
controlo de ordem inteira e fraccionária bem como, diferentes métodos de optimização para a
obtenção dos parâmetros dos diferentes algoritmos utilizados, tais como o Gradiente
Descendente, o Pesquisa por Padrão e o Particle Swarm Optimization (PSO), utilizando o
critério de desempenho do integral do erro quadrático multiplicado pelo tempo (ITSE).
No capítulo 6 é apresentado um sistema cooperativo constituído por dois robôs móveis,
cada um com um manipulador RR. Estes robôs comunicam entre si implicitamente com
sensores para observar directamente as acções do seu semelhante.
No capítulo 7 são apresentados os resultados decorrentes do simulador e das plataformas
robóticas desenvolvidas, sendo que, o capítulo 8 apresenta as principais conclusões do
trabalho efectuado.
Por último, no capítulo 9, são apresentados os possíveis contributos decorrentes deste
trabalho, assim como, as perspectivas de desenvolvimento futuro.
4
Para além dos capítulos referidos o relatório é composto pelo Anexo-A contendo o
simulador desenvolvido neste trabalho em MatLab, tal como o sistema implementado no
Simulink.
1.2 Contexto e Motivação
À semelhança do ser humano, a realização de determinadas tarefas só é possível com a
habilidade dos membros superiores. No entanto, existem tarefas que exigem a cooperação
entre múltiplos sujeitos (e.g., transportar cargas de dimensões ou peso elevado). Nos sistemas
robóticos, algumas tarefas não podem ser realizadas de modo satisfatório por um único
manipulador e requerem um grupo maior de manipuladores para serem executadas com
sucesso, reduzindo assim o esforço de cada manipulador [Takahashi et al., 2008].
Sendo os sistemas robóticos constituídos por estruturas mecânicas, esses encontram-se
sujeitos a fenómenos cinemáticos e dinâmicos de natureza complexa, o que torna difícil o seu
estudo e o controlo usando técnicas clássicas, levando a que a utilização destes tipos de
sistemas esteja limitada a situações de desempenho relativamente baixo.
Neste contexto, o estudo de fenómenos em manipuladores robóticos surge como uma
conveniência, sendo que, é isto que motiva o desenvolvimento e/ou aperfeiçoamento de
sistemas que visam auxiliar o homem a superar os seus limites [Ferreira et al., 2006].
Face ao exposto, as conclusões dos trabalhos referidos posteriormente servirão de suporte
metodológico para melhor desenvolver este projecto.
1.3 Enquadramento Histórico
A palavra robô foi mencionada, pela primeira vez por Karel Capek numa peça de teatro
exibida em 1921 em Londres. Com efeito, o termo “Robot”, deriva da palavra checa – Robota
–, que significa servo ou escravo. Este termo foi generalizado na indústria por via da evolução
introduzida pela automação [Novais, 2002].
Numa evolução do mito, passando pelo sonho de Capek, até à ficção dos tempos
correntes, o conceito de robô ou servo do homem tem feito parte da mentalidade do ser
humano. Um exemplo contemporâneo dessa realidade foi dado por Isaac Asimov, que chegou
a definir as Leis da Robótica por volta de 1950 [Carroll, 2008; Reza, 2007]: 1ª Lei: “Um robô
não pode maltratar um ser humano, ou pela sua passividade deixar que um ser humano seja
maltratado”; 2ª Lei: “Um robô deve obedecer às ordens dadas por um ser humano, excepto se
5
entrarem em conflito com a 1ª Lei”; 3ª Lei: “Um robô deve proteger a sua própria existência
desde que essa protecção não entre em conflito com a 1ª ou 2ª Lei”. Asimov acrescentou
ainda uma quarta Lei - a Lei Zero: “Um robô não pode causar mal à humanidade nem
permitir que ela própria o faça.” Essas leis propostas são vistas hoje, através de uma
perspectiva puramente relacionada à ficção, uma vez que na época em que foram escritas, não
se poderia prever o avanço vertiginoso nesta área. Com a evolução tecnológica, os robôs
tornaram-se cada vez mais sofisticados e integrados na vida humana. Em consequência, as leis
de Asimov são encaradas como demasiado simplistas [Weng et al., 2009].
Os robô-éticos pretendem desenvolver meios que permitam estabelecer a punição de um
determinado robô, estabelecer quem os orienta e até mesmo criar uma “linguagem máquina
legítima”, com o objectivo de auxiliar a polícia da nova geração de dispositivos automáticos
inteligentes [Narciso, 2009].
Destaca-se que os primeiros protótipos de robôs surgiram na civilização grega, quando
ainda não existiam necessidades práticas nem económicas que justificassem a existência deste
tipo de mecanismos [Pires, 2004].
Leonardo DaVinci, através da sua investigação acerca da anatomia humana, abriu o
caminho para o complexo mundo dos robôs. Como resultado do seu estudo, surgiram diversas
maquetas com articulações, de modo a conseguirem mexer as mãos, os olhos, as pernas
realizando simples acções como escrever ou tocar alguns instrumentos musicais [Nilson,
2009].
Figura 1.1. Modelo de cavaleiro robô adaptado de Leonardo DaVinci [Nilson, 2009].
6
Leonardo DaVinci criou o seu robô para provar a si mesmo que o corpo de um ser
humano podia ser imitado. Construiu assim o seu robô em 1495 (Figura 1.1), designado por
cavalo mecânico, em que esse podia sentar-se e mover os seus braços e pernas, sendo deste
modo considerado o primeiro plano para um robô humanóide [Nilson, 2009].
O Robotics Institute of America (RIA) define robô como sendo “um manipulador
reprogramável e multifuncional projectado para mover materiais, partes, ferramentas ou
dispositivos especializados através de movimentos variáveis programados para desempenhar
uma variedade de tarefas” [Reza, 2007].
Posto isto, considera-se que um robô é uma máquina autónoma capaz de realizar várias
tarefas nas mais diversas áreas de investigação científica (e.g., engenharia), permitindo ainda
resolver com sucesso os problemas que estão associados à vida humana.
1.3.1 Manipuladores
O desenvolvimento mais robusto dos robôs baseou-se no esforço de automatizar os
processos industriais, num empenho que começou no século XVII, na indústria têxtil, com o
aparecimento dos primeiros teares mecânicos. O contínuo progresso industrial levou ao
equipamento das fábricas com máquinas capazes de realizar e reproduzir autonomamente
determinadas tarefas. A criação de robôs “inteligentes” não foi possível até à invenção do
computador, isto em 1940, e dos seus sucessivos progressos, tendo surgido o primeiro robô
industrial, o Unimate no final dos anos 50 (Figura 1.2), desenvolvido por George Devol e
Joseph Engelberger, no início dos anos 60 [Carroll, 2007].
Figura 1.2. Robô industrial Unimate adaptado de Carroll [2007].
As primeiras patentes das máquinas transportadoras pertenceram a Devol, através de
robôs primitivos que moviam objectos de um local para outro. É por este motivo que
7
Engleberger foi chamado o “pai da robótica”, associando-se ao mesmo investigador a
construção do primeiro robô comercial [Petrina, 2008].
1.3.2 Cooperação
O conceito de trabalho cooperativo pode ser entendido, num sentido mais amplo, como a
realização de uma acção coordenada de vários participantes (i.e., colaboradores) envolvidos
numa determinada tarefa. O trabalho cooperativo é realizado por um sistema cooperativo
constituído por colaboradores e respectivo objecto de trabalho [Ellis et al., 1991].
O trabalho conjunto refere-se à soma dos trabalhos individuais de todos os participantes,
pelo que nenhum dos trabalhos individuais de cada um deles é independente no tempo e no
espaço. Neste contexto, cooperação significa que cada participante é capaz de executar o seu
próprio trabalho, tendo em conta as funções dos outros participantes no decorrer do processo
de cooperação. Para cada função diferente de um dos participantes, corresponde uma função
diferente do outro participante(s) e/ou objecto(s). Tal constatação pressupõe que cada um dos
participantes recebe e possui informações sobre o estado dos outros participantes ou dos
objectos [Zivanovic et al., 2006].
Na robótica, um sistema de cooperação pode ser definido como um sistema de
manipulação (Figura 1.3). A robótica cooperativa representa uma área de pesquisa que tem
merecido a atenção dos investigadores nos últimos anos. Deste modo, o uso de múltiplos
manipuladores para a execução de tarefas aumenta a confiabilidade da aplicação ao mesmo
tempo que reduz o custo e complexidade dos manipuladores e o tempo de execução das
tarefas [Ali et al., 2002].
Figura 1.3. Exemplos de cooperação entre manipuladores RR.
8
O principal objectivo de um sistema cooperativo nesta área da robótica consiste em
manipular um objecto com o propósito de alterar a sua posição espacial, realizar o
acompanhamento de uma dada trajectória desse objecto numa dada orientação ao longo da
trajectória ou efectuar trabalho num objecto fixo ou móvel [Ali et al., 2002].
A cooperação entre robôs pode ser caracterizada por acções que acontecem de forma
coordenada para realizar uma tarefa ou atingir um objectivo comum. Os robôs cooperam entre
si para executar uma tarefa bem definida, geralmente quando um só robô não é capaz de fazê-
lo. Um exemplo da necessidade de cooperação entre robôs aparece na indústria, quando se
pretende soldar, transportar ou manobrar uma peça de geometria complexa. Pode não parecer
difícil para um ser humano realizar a tarefa, mas se a peça tiver uma geometria complexa, for
de grandes dimensões ou de peso considerável, recorre-se ao auxílio de um “posicionador” ou
à robotização do processo [Zivanovic et al., 2006].
1.4 Estado da Arte
Com a tecnologia actual, a utilização de contadores de alta frequência possibilita a
contagem e registo de impulsos gerados por encoders (geradores de impulsos). Desta forma,
associados a um processador, possibilitam à estrutura mecânica, constituída tipicamente por
actuadores, sensores e articulações, actuar num espaço de trabalho 3D. Para além destas
propriedades, o robô representa um sistema mecatrónico verdadeiramente complexo, com
diversos acoplamentos dinâmicos entre as articulações, onde cada grau de liberdade se exerce
graças à incorporação de motores, podendo inclusive ter de se considerar restrições (e.g.,
existência de obstáculos no seu espaço de trabalho) sendo por isso indispensável optimizar,
em tempo e em energia, a trajectória ideal.
Num sistema complexo utilizando sistemas robóticos, o conhecimento sobre o ambiente
circundante determina a estrutura e as metodologias utilizadas para controlar e coordenar o
sistema conduzindo a um aumento na inteligência dos componentes individuais do sistema
[Novais, 2002]. O total ou parcial conhecimento do ambiente do robô, como é encontrado na
indústria, conduz a uma célula de trabalho de robótica inteligente. Devido a este imenso
conhecimento, todo o planeamento das actividades podem ser executadas offline, e somente a
execução da tarefa precisa de ser feita online [Ali et al., 2002].
Se duas cabeças podem supostamente pensar melhor do que uma, então quatro braços são
provavelmente mais úteis do que apenas dois. Tal como Laurel e Hardy demonstram, a
9
coordenação entre robôs pode ser um problema, especialmente se a tarefa implicar transportar
equipamento pesado sobre terreno desconhecido [Sachdev, 2002].
Deste modo, através da interligação de robôs, é possível optimizar a coordenação das
suas acções e, através da partilha de sensores e do poder computacional conhecido na
sociedade contemporânea, provavelmente obter melhores resultados do que apenas utilizando
um único robô.
Os robôs concebidos imitando a parte superior do corpo dos seres humanos representam
uma boa solução para as duas habilidades essenciais na área da robótica no domínio
antrópico: a manipulação hábil e do agarrar [Santis et al., 2007]. Para além disso, os robôs
industriais são também usados em ambientes bem estruturados, no qual a posição e a forma
das peças a serem manipuladas podem ser determinadas. Para a utilização em domínios não
estruturados, os sistemas robóticos-multi-braço altamente redundantes precisam de
arquitecturas de controlo tanto activas como reactivas, a fim de interagir com segurança no
ambiente onde se encontram. Assim, um dos grandes desafios consiste em evitar as colisões
entre os manipuladores. Um algoritmo robusto reactivo, designado por “skeleton algorithm”
é, neste contexto, utilizado para a geração em tempo real de anti-colisões [Santis et al., 2007].
Face à exigência da indústria actual, a Motoman criou um robô que simula os
movimentos humanos. O modelo SDA20D de alta velocidade, ilustrado na Figura 1.4, é
dotado de dois braços de sete eixos cada, e oferece a flexibilidade dos movimentos humanos,
com movimentos de rotação através do eixo central. O robô suporta cargas de 20 kg,
apresentando uma resolução de 0,1 mm, podendo ser aplicado em linhas de montagens,
transferência de mercadorias, atendimento a máquinas e manuseamento de peças, entre outras
funções. Controlado pelo controlador de robôs Motoman DX10 para ambientes Windows®
CE, tem incorporado um ecrã táctil a cores com botões e indicadores de estado, dispositivo de
paragem de emergência e interfaces EtherNet/IP, DeviceNet, Profibus-DP, entre outros
dispositivos.
10
Figura 1.4. Robô com dois braços SDA20D2 da Motoman.
O robô é capaz de manter uma peça num dos braços enquanto o outro utiliza uma
ferramenta (e.g., apertar parafuso). Consegue de igual forma passar uma peça de uma mão
para a outra sem a necessidade de largar a peça para um local pré-definido.
O Instituto de Robótica e Mecatrónica do Centro Aeroespacial Alemão (IRM) tem
notoriedade e reconhecimento na concepção de robôs [IRM, 2008]. Por exemplo, o Justin
(Figura 1.5) é um robô humanóide equipado com dois manipuladores que foram
desenvolvidos para áreas de aplicação diferentes dos clássicos da robótica industrial.
Figura 1.5. Justin – um corpo humanóide – Adaptado de IRM [2008].
No Justin, a força do braço e sensores de posição, nas juntas, são semelhantes ao sentido
cinestésico do ser humano, ou seja, a forma como usamos os nossos músculos e tendões para
saber onde os nossos membros estão sem olhar para os objectos que manipulamos. A
2 http://www.motoman.com/products/robots/models/sda20d.php
11
capacidade do braço robótico realizar tal tarefa torna-se suficientemente segura para trabalhar
com seres humanos na indústria.
Quando um ser humano executa tarefas como escrever num quadro ou transportar um
objecto pesado, esse move o seu corpo continuamente de modo a executar cada uma das
tarefas de forma eficiente. O movimento coordenado de manipuladores móveis, i.e.,
manipuladores robóticos montados sobre plataformas móveis, assim como o planeamento de
trajectórias, é essencial para executar tarefas desejadas. Nos últimos anos, estes sistemas
surgiram como um aspecto muito significativo na área de robótica autónoma. Assim, o
trabalho de Kyung et al., [1997] propõe um método de planeamento de movimentos para
manipuladores móveis para executar uma sequência de tarefas.
O aumento do modelo do objecto e a dinâmica da relação força/binário foram estendidos
para sistemas multi-braço envolvendo redundância [Oustaloup, 1995]. O autor usou estes
modelos com estratégias de coordenação dinâmica colectiva para operações de cooperação
entre vários sistemas veículos/braços em tarefas de construção, como ilustrado na Figura 1.6.
Figura 1.6. Robôs na construção: Paredes de gesso – Adaptado de Khatib [1995].
Investigadores da NASA demonstraram que robôs interligados podem trabalhar em
conjunto para mover objectos de grandes dimensões [Stroupe et al., 2005]. As capacidades
dos robôs se movimentarem e transportarem grandes objectos podem ser utilizadas na
exploração espacial, militares, e na indústria transformadora (Figura 1.7).
12
Figura 1.7. Robôs lunares SRR e SRR2K da NASA – Adaptado de Huntsberger et al. [2010].
O trabalho de Ashley et al. [2005] apresenta os primeiros resultados do Robotic
Construction Crew (RCC), num cenário de construção incluindo a componente de cooperação
apreensão, transporte e posicionamento de precisão. Constata-se que a inteligência do sistema
é uniformemente distribuída entre um par de robôs. Informações sobre o terreno, a sua carga
útil, as posições e velocidades são partilhadas, estando constantemente conscientes do estado
um do outro.
Neste sentido, este trabalho visa o estudo de robôs móveis simplistas (i.e., swarm)
dotados de manipuladores RR. Para tal, será analisada a trajectória dos manipuladores
cooperativos e as forças aplicadas à carga comum, independentemente das não linearidades
existentes, estudando também a influência das mesmas na dinâmica do sistema.
13
2 Estrutura de Manipuladores
2.1 Elementos
A constituição física da maior parte dos robôs industriais são similares à anatomia das
extremidades superiores do corpo humano, pelo que, em certas ocasiões, para fazer referência
aos distintos elementos que compõem o robô, usam-se termos como cintura, ombro, braço3,
punho, pulso, entre outros (Figura 2.1).
Figura 2.1. Elementos que formam o robô – Adaptado do software Poser 84 e Motoman.
O robot IA20 da Motoman apresenta uma construção revolucionária com sete juntas de
rotação, permitindo um maior número de movimentos. O que torna este processo possível é o
design inovador que se assemelha ao braço humano, permitindo um vasto leque de aplicações
industriais. Em virtude da sua capacidade em se movimentar no espaço, o IA20 pode replicar
ou reproduzir os movimentos do braço humano e realizar tarefas que somente um humano
poderia efectuar.
Este método permite a sua instalação entre outras máquinas, directamente no chão, no
tecto, numa parede ou numa superfície inclinada.
3 Anatomicamente, a definição de braço corresponde apenas à porção compreendida entre o ombro e o cúbito,
embora o termo seja popularmente usado para denominar o membro superior como um todo [Zorzi et al., 2010].
4 Poser 8 refere-se a uma solução para a criação de arte e animação com personagens 3D.
a) Pulso
b) Antebraço
c) Braço
d) Ombro
14
2.1.1 Manipulador Mecânico
No corpo humano, as articulações podem ser caracterizadas como pontos de junção de
um ou mais ossos, sendo que, a sua configuração determina o grau e a direcção do possível
movimento. Na articulação do ombro, uma junta articulada esférica permite um grau de
mobilidade, possibilitando a rotação interna e externa do braço e os movimentos para a frente,
para trás e para os lados. Em contrapartida, as articulações do tipo dobradiça dos cotovelos,
dos dedos da mão e do pé, permitem realizar movimentos de flexão e extensão. As
articulações dos nós dos dedos possibilitam que os dedos se movam apenas numa direcção.
Supostamente, estes não podem ser torcidos sem causar dor ou ferimentos, pelo que as
articulações anteriormente referidas actuam como uma dobradiça comum [Lima, 2003].
O braço mecânico é constituído igualmente por articulações (joints) e elos (links). Os
elos são tipicamente blocos alongados rígidos, e estão ligados entre si através das articulações.
Os elos podem variar a sua posição relativa e estão normalmente associados em série. Existe
um vasto número de combinações de elos e articulações de acordo com as aplicações [Spong,
2005].
O membro superior humano é composto por três grupos de mecanismos que permitem o
seu movimento rotacional e translacional: o ombro, o cotovelo e o pulso. A sua associação
possibilita uma gama de movimentos combinados, e concede ao membro superior humano a
maior mobilidade articular de todo o corpo humano [Nunes, 2009].
Nesta vertente, o membro superior é a base para projectos de braços humanóides, tanto
mais que, de acordo com o movimento das ciências da cinesiologia e biomecânica, o braço
humano, juntamente com a omoplata, constituem o membro superior humano [Dube, 2009].
Os manipuladores mecânicos englobam diversos elos, tipicamente rígidos, interligados
por juntas lineares (P) (i.e., prismáticas)], rotacionais (R) ou esféricas (S). O número, o tipo de
juntas e a estrutura mecânica adoptada para cada manipulador dão origem a características e
desempenhos distintos. As características de um manipulador robótico são influenciadas pelo
tipo de estrutura do braço.
2.1.2 Garra (End-effector)
Este dispositivo é a extremidade do antebraço, i.e., acoplado ao último elo do
manipulador, tendo como funções adicionais (e.g., agarrar ou prender um objecto, ou ainda
um dispositivo com funções adicionais mais específicas). O órgão terminal ou end-effector
pode assumir funções de garra (gripper) ou uma ferramenta (tool) [Monkman et al., 2007].
15
Devido à complexidade da mão humana, a sua biomecânica não foi considerada, pelo que a
mão é representada como um elemento de massa rígido na extremidade do antebraço, não
tendo em conta o complexo articular e muscular associado ao pulso.
2.1.3 Actuadores
Os componentes que utilizam uma fonte de energia para fazer mover as articulações
englobam três tipos essenciais. A Tabela 2.1 mostra a comparação de três tipos de actuadores
[Dentler, 2008].
Tabela 2.1. Principais tipos de actuadores – adaptada de Dentler [2008].
Tipo de Actuador Vantagens Desvantagens
Pneumático
- Baixo custo
- Fácil manutenção
-Simples de trabalhar
- Ruído do compressor
- Sistema ineficiente
- Dificuldade em regular a velocidade
Hidráulico
- Admite carga elevada
- Simples de trabalhar
- Sistema lento
- Sistema ineficiente
- Requer muita manutenção
Passo
- Controlo simples
- Carga constante
- Posição precisa
- Não pode variar a carga
- Pode perder passos
- Problemas de ressonância
Servomotor
- Alto desempenho
- Motor pequeno
- Altas velocidades
- Sistema de custo elevado
- Desempenho limitado por controladores
- Velocidade limitada pela electrónica
Constata-se assim, que em cada articulação, existe normalmente um actuador, ao
contrário do corpo humano, em que são conhecidos dois músculos por cada articulação para
se moverem em direcções opostas.
2.1.4 Sensores
A utilização de sensores facilita a interacção do robô com o ambiente que o rodeia de
uma forma mais flexível, isto não se verifica nas operações pré-programadas, onde um robô é
proposto a realizar tarefas repetitivas, através de um conjunto de funções programadas.
Apesar do último caso ser o mais predominante nos robôs industriais, o uso da tecnologia dos
sensores introduz nas máquinas um aumento do nível de inteligência permitindo uma maior
interação com o meio ambiente [Spong, 2005].
Um robô que possa sentir e ver como o ser humano, será mais simples de programar para
realizar tarefas complexas e requer, ao mesmo tempo, mecanismos de controlo menos rígidos
e atentos que os das máquinas pré-programadas. Um sistema sensorial é também mais
16
facilmente adaptável a uma maior variedade de tarefas, atingindo desta forma um maior grau
de universalidade e que no limite se repercutirá em custos de produção e de manutenção
menores. As funções dos sensores em robôs podem dividir-se em duas categorias
fundamentais: 1) de estado interno e 2) de estado externo. Os sensores de estado interno
operacionalizam essencialmente da detecção de variáveis, como por exemplo a localização
das articulações do(s) braço(s). Os externos, por seu lado, efectuam a detecção de variáveis
como distância, proximidade e tacto. Os sensores externos podem ser categorizados ou não
através do contacto. Como o nome indica, os primeiros reagem com o contacto físico como o
toque, o momento das forças, o deslizar, enquanto os últimos baseiam-se nas variações
acústicas e nas radiações electromagnéticas.
2.2 Tipos de Juntas
As juntas, também definidas neste trabalho como articulações, podem ser representadas
através de três categorias [Spong, 2005] (Figura 2.2):
a) Prismática (P): no qual o movimento relativo dos elos é linear, i.e., é composta
por dois elos alinhados um dentro do outro, onde um elo interno desliza pelo
externo, dando origem ao movimento linear.
b) Rotacionais (R): onde o movimento relativo dos elos é rotacional, i.e., esta
conexão permite movimentos de rotação entre dois elos. Os dois elos são unidos
por uma articulação comum, com uma parte podendo mover-se num movimento
harmonioso em relação à outra parte.
c) Esférica (S): que representa a combinação de três articulações rotacionais com o
mesmo ponto de rotação.
a) b) c)
Figura 2.2. Tipos de articulações: a) Prismática; b) Rotacional; c) Esférica.
17
2.2.1 Graus de Liberdade e Mobilidade
As translações e rotações independentes sobre o controlo e coordenação do movimento
determinam os graus de liberdade do corpo humano (degrees-of-freedom – DOF) [Bernstein,
1967]. Assim, o número de graus de liberdade pode ser representado no espaço cartesiano.
Nesta óptica, um corpo rígido livre no espaço cartesiano pode apresentar três rotações em
torno dos eixos XYZ e mais três translações ao longo destes mesmos eixos XYZ, num total de
seis DOF. No entanto, não sendo o braço humano um corpo rígido, esse pode ser modelado
com mais do que seis DOF.
Apesar disso, os movimentos de qualquer robô podem ser descritos em termos de graus
de liberdade. Por sua vez, estes são determinados pela posição dos elementos móveis do robô,
que se podem indicar como graus de mobilidade. Com efeito, estes últimos definem-se como
o número de elementos motores que equipam uma máquina.
Do ponto de vista matemático, os graus de liberdade equivalem ao número de variáveis
necessárias para definir a posição no espaço de um sistema de corpos rígidos (e.g., robô) e
normalmente utilizam-se para resumir num único valor numérico a liberdade de movimento
da máquina. Quanto mais elevada for a possibilidade de movimento da máquina, mais graus
de liberdade a mesma terá [Siciliano et al., 2009].
No caso do braço robotizado com articulações (como os robôs industriais que já foram
referidos), os graus de liberdade dependem, em contrapartida, do número e das características
das articulações accionadas pelos motores. Neste contexto, a Figura 2.3 mostra um braço com
duas articulações motorizadas (q1 e q2) com dois graus de mobilidade (proporcionados pelos
dois elementos motores, ou seja, pelas articulações), através das quais é possível colocar a sua
garra em qualquer ponto do plano (desde que este esteja ao seu alcance, dado o comprimento
dos segmentos do braço) e sob determinada orientação.
Figura 2.3. Robô planar de dois elos (RR).
q2
q1
18
No caso do braço também dispor de uma articulação na base, que permite rotações, os
graus de mobilidade e de liberdade aumentam. Assim, os graus de liberdade “medem” as
possibilidades de movimento de um robô.
2.3 Espaço de trabalho
O espaço de trabalho de um manipulador representa o conjunto de todos os pontos
possíveis de serem atingidos pelo órgão terminal [Ottaviano et al., 2008]. Este é forçado pela
geometria do manipulador, bem como constrangimentos mecânicos nas articulações. Por
exemplo, uma articulação de revolução pode ser limitada a menos de 3600 de capacidade de
movimento (Figura 2.4).
a) b) c)
d) e)
Figura 2.4. Exemplos de espaços de trabalho de Society of Robots – Robot Arm Tutorial5.
Manipulador: a) Cartesiano Gantry; b) Cilindrico; c) Esférico; d) Scara; e) Articulado.
O espaço de trabalho é dividido frequentemente num espaço de trabalho alcançável e
num espaço de trabalho ágil. Para além disso, o espaço de trabalho alcançável é o conjunto de
todos os pontos alcançáveis pelo manipulador, enquanto o espaço de trabalho ágil é composto
pelos pontos que o manipulador pode obter com uma orientação arbitrária do órgão terminal.
5 http://www.societyofrobots.com/robot_arm_tutorial.shtml
19
3 Modelação de Manipuladores Robóticos
A disposição mecânica num manipulador robótico é um sistema composto por elos
rígidos interligados por intermédio de articulações activas e passivas. As articulações activas
são os pontos de entrada de energia controlada no sistema, sendo movidas por actuadores.
Estas permitem o comando da estrutura, fazendo-a seguir uma trajectória no espaço
operacional (cartesiano), com uma velocidade e aceleração desejadas e interagir com o meio
ambiente, exercendo as forças de contacto pretendidas.
As transformações de coordenadas entre o espaço das articulações e o espaço operacional
são fundamentais no controlo de manipuladores. Na maioria das situações, os robôs são
controlados no espaço das articulações, enquanto o planeamento e a definição das trajectórias
são, normalmente, executadas no espaço operacional.
3.1 Cinemática
A cinemática é a ciência do movimento que aplica o mesmo sem considerar as forças que
o causam. Assim, com a utilização da análise cinemática é possível avaliar deslocamentos,
velocidades e acelerações dos componentes de um mecanismo. Estas avaliações são
importantes no contexto deste trabalho para o desenvolvimento da análise dinâmica [Hamill et
al., 2008].
Portanto, de acordo com Spong [Spong, 2005], o primeiro obstáculo encontrado é o de
descrever a posição da ferramenta e dos locais A e B (e muito provavelmente toda a superfície
S) em relação a um sistema de coordenadas comum (Figura 3.1).
Figura 3.1. Robô planar de dois elos em contacto com uma superfície.
q2
q1
20
O manipulador pode detectar a sua própria posição utilizando os sensores internos
(codificadores de posição situados nas juntas) que medem directamente os ângulos das juntas
q1 e q2. Neste contexto, é necessário expressar as posições A e B em função desses ângulos
das juntas. Isto conduz ao problema de cinemática avançada, que é determinar a posição e a
orientação do órgão terminal ou da ferramenta em função das variáveis das juntas. É comum
estabelecer um sistema de coordenadas fixo, intitulado “mundo” à qual todos os objectos,
inclusive o manipulador, são referenciados. Neste caso, pode estabelecer-se a base de
coordenadas o0x0y0 na base do robô RR, segundo as indicações da Figura 3.2.
Figura 3.2. Coordenadas do robô planar de dois elos.
Para realizar a animação do manipulador em MatLab, a notação de Denavit-Hartenberg
(D-H) [Denavit et al., 1955] é essencial para representar as coordenadas de cada elo, tendo a
cinemática dos elos de revolução e translação. Usando a notação D-H, são necessários quatro
parâmetros ai, αi, di e θi para descrever como um determinado elo se relaciona com o elo
antecedente. A Figura 3.3 representa uma relação entre dois elos com parâmetros D-H.
l2
l1
y0 y1
x2
x1
x0
q1
q2
y2
21
Figura 3.3. Transformação Denavit-Hartenberg – adaptado de Couceiro [2008].
A próxima equação apresenta a transformação homogénea Ai. Esta será a matriz D-H
representada pelo produto de quatro transformações básicas [Couceiro et al., 2008].
(3.1)
O resultado final é uma matriz de transformação obtida com uma série de multiplicações
de matrizes D-H tendo em conta os parâmetros de um determinado elo relativamente ao
inicial.
A cinemática directa do modelo do robô encontra-se representada na Figura 3.1 na
página 39. Esta notação ilustra um método sistemático que permite descrever a posição e a
orientação relativa entre dois elos consecutivos baseada na transformação homogénea.
Analisando o modelo de D-H, obtém-se a Tabela 3.1.
Tabela 3.1. Modelo D-H do manipulador RR.
Z X
d [m] θ [graus] α [graus] a [m]
1 0 q1 0 l1
2 0 q2 0 l2
Com base na equação (3.1) e na Tabela 3.1, retiram-se as seguintes matrizes de
transformação:
[
] [
] (3.2)
sendo ci = cos(qi) e si = sin(qi), i={1,2}.
22
Com as matrizes de transformação, aplica-se aos objectos correspondentes, de forma a
realizar rotações e/ou translações. A equação (3.3) demonstra o cálculo da matriz para o
efeito.
(3.3)
Substituindo as respectivas matrizes na expressão (3.3), apresenta-se a expressão (3.4).
[
] (3.4)
A análise cinemática pode ser directa ou inversa. Na cinemática directa são conhecidas as
coordenadas das articulações activas e que permitem determinar as coordenadas do órgão
terminal. Na cinemática inversa, conhece-se a posição do órgão terminal que possibilita o
cálculo das coordenadas das articulações activas.
A cinemática inversa demonstra que podem existir inúmeras soluções para uma
determinada posição do órgão terminal, criando a necessidade de estabelecerem-se critérios
para a definição de um resultado final não disperso.
3.1.1 Cinemática Directa
Neste trabalho, as coordenadas (x, y) do órgão terminal são representadas da seguinte
forma:
[ ] [
] [
] (3.5)
em que cij = cos(qi+qj), sij = sin(qi+qj), i,j={1,2}, l1 e l2 descrevem os comprimentos dos
dois elos, respectivamente. Calculando a derivada da expressão (3.5) em ordem ao tempo,
obtém-se a relação entre a velocidade das articulações e a velocidade cartesiana do
manipulador.
[ ] [
] (3.6)
23
[
] (3.7)
em que a expressão (3.7) é denominada Jacobiano da relação (3.5). Ao derivar a
expressão (3.6), obtém-se as equações da aceleração:
[ ] [
] [
] [
] [
] (3.8)
As expressões (3.6) e (3.8) constituem a cinemática diferencial directa de primeira e de
segunda ordem do robô RR [Ferreira, 2006].
3.1.2 Cinemática Inversa
Determinando q1 e q2, é possível apresentar as coordenadas x e y do órgão terminal. Para
comandar o robô até à posição A, é necessário o inverso; i.e., q1 e q2, através das coordenadas
x e de y da posição A, sendo este um dos problemas da cinemática inversa. Por outras
palavras, obtém-se x e y na equação (3.5) da cinemática directa e pretende-se aplicar a mesma
nos ângulos das articulações. Desde que as equações da cinemática directa sejam não lineares,
uma solução pode não ser fácil de determinar, tendo em conta que existem várias soluções
para resolver o problema.
Para o robô RR, pode não existir solução se as coordenadas (x, y) estiverem fora do
alcance do manipulador. Por seu lado, se as coordenadas (x, y) estiverem dentro do espaço de
trabalho do manipulador podem ser adoptadas duas soluções como indicadas na Figura 3.4,
designadas de configuração de cotovelo para cima e cotovelo para baixo, ou pode existir
exactamente uma solução se o manipulador estiver completamente estendido para alcançar o
ponto.
Figura 3.4. Múltiplas soluções para a cinemática inversa.
A
Cotovelo
para baixo
Cotovelo
para cima
24
Ao inverter a equação (3.5), obtém-se a equação (3.9):
[
]
[
(
) (
)
(
)
]
(3.9)
Pela equação (3.9), conclui-se que existem duas soluções, dependendo do quadrante que
se adopta para q2. Como cos(π − q2) = −cos(q2), se o ângulo na articulação q2 ε [-π, 0], então
obtém-se a solução do tipo "cotovelo para cima", enquanto que se o ângulo q2 ε [0, π], resulta
uma solução do tipo "cotovelo para baixo". A escolha da solução adequada prende-se
normalmente com o menor consumo de tempo/energia necessário para realizar determinada
tarefa. Por exemplo, se o manipulador tiver um ângulo q2 situado no primeiro quadrante na
presente iteração, é conveniente que esse se mantenha no mesmo quadrante na próxima
iteração se essa for uma das soluções do sistema de equações (3.9).
As velocidades dos ângulos das articulações a partir das velocidades cartesianas são
obtidas calculando o Jacobiano inverso J-1
da equação (3.6).
[
] [
] (3.10)
[
] (3.11)
Ao derivar a expressão (3.10), obtém-se as equações da aceleração:
[
] [
] [ ] [
] [
] (3.12)
O Jacobiano não tem uma inversa, no entanto, quando q2 = 0 ou q2 = π, o manipulador
está numa configuração singular. As determinações de tais configurações singulares são
importantes por diversas razões. Em configurações singulares existem movimentos
infinitesimais que são inalcançáveis, isto é, o órgão terminal do manipulador não pode mover-
se em determinados sentidos, ou seja, no sentido positivo de x2 quando q2 = 0 [Ferreira, 2006].
As configurações singulares são relacionadas igualmente à não unicidade das soluções da
cinemática inversa. Por exemplo, para uma posição dada do órgão terminal, existem duas
soluções possíveis da cinemática inversa em que o manipulador não pode ir de uma
25
configuração para a outra sem passar por uma singularidade. Para muitas aplicações é
importante planear movimentos do manipulador de tal forma que as configurações singulares
sejam evitadas.
3.2 Manipulabilidade
Um aspecto importante nos robôs consiste na possibilidade de se evitarem singularidades
cinemáticas. Para contornar as singularidades, é necessário estabelecer um indicador da
distância face às mesmas. O indicador da manipulabilidade representa a capacidade que o
robô possui para manipular objectos em direcções especificadas. Para obter o indicador da
manipulabilidade, são efectuados pequenos movimentos circulares segundo o espaço das
juntas que ao serem mapeados para o espaço operacional se transformam em pequenas ou
grandes elipsóides, sendo que quanto mais próximo de uma singularidade, menor a
capacidade de manipulação do robô. Estes elipsóides no espaço operacional também
fornecem uma medida da distância a configurações singulares [Umetani et al., 2001].
A manipulabilidade pode ser definida como a habilidade que um manipulador possui de
movimentar arbitrariamente a sua ferramenta no espaço de trabalho. Podem ser extraídas do
elipsóide medidas adequadas, as quais definem de forma precisa a manipulabilidade.
Contudo, a manipulabilidade de um robô não é constante, uma vez que varia em função da
sua configuração. Por exemplo, quando o braço está completamente estendido, não pode
alcançar pontos além do limite do seu espaço de trabalho, logo a sua manipulabilidade cai
drasticamente nas proximidades deste limite. Esta medida da manipulabilidade de um robô foi
definida por Yoshikawa [Yoshikawa, 1985; Ferreira, 2006] como:
| [ ]| (3.13)
onde J é o Jacobiano da cinemática robótica. Com esta fórmula, para o robô RR, a
manipulabilidade é dada por:
| | (3.14)
em que li e qi (i = 1, 2) representam o comprimento do elo e a posição da coordenada da
articulação com a referência i.
26
Analisando a expressão, verifica-se que a melhor postura do robô ocorre para
.
Além disso, para um comprimento máximo constante, i.e., para l1+l2 = constante, a medida da
manipulabilidade atinge o seu máximo quando l1=l2 (i.e., para quaisquer valores de q1 e q2).
A Figura 3.5 ilustra a manipulabilidade para um robô RR no seu espaço de trabalho. O
cálculo da manipulabilidade é obtido pelo método analítico adoptado por Yoshikawa.
Figura 3.5. Manipulabilidade de um robô RR com l1 = 1 m e l2 = 1 m obtida pelo método de
Yoshikawa.
A utilização de um método numérico para medir a manipulabilidade do manipulador
robótico, consiste em testar os movimentos do robô dentro de vários pontos m no espaço de
trabalho, ou seja, consideram-se pequenos deslocamentos aleatórios do robô dentro de uma
determinada circunferência de raio e resolução n no espaço das juntas [Ferreira, 2006].
Utilizando a cinemática directa é possível transformar o mapeamento dos n pontos para o
espaço operacional, tal como apresenta a Figura 3.7.
O algoritmo utilizado para a manipulabilidade numérica foi o seguinte:
27
Figura 3.6. Descrição do algoritmo da manipulabilidade numérica.
A manipulabilidade é calculada determinando a área da elipse obtida. Utilizando o
algoritmo numérico, adoptando n = 100 pontos com uma grelha de m = 36 pontos e dimensão
ρ = 5 graus, para um robô RR com {l1 = l2 = 1 m}, obtiveram-se as Figura 3.7 e Figura 3.8.
a) b)
Figura 3.7. a) Movimentos aleatórios do robô em {O, q1, q2} dentro de uma circunferência; b)
respectivo mapeamento para o espaço operacional {O, x, y}.
1 𝑗
2 𝑐𝑖𝑐𝑙𝑜 𝑞 8 ° 𝑎𝑡é 𝑞 8 ° 𝑐𝑜𝑚 𝑝𝑎𝑠𝑠𝑜 𝑑𝑒 36 °
𝑚
3 𝑐𝑖𝑐𝑙𝑜 𝑞 8 ° 𝑎𝑡é 𝑞 8 ° 𝑐𝑜𝑚 𝑝𝑎𝑠𝑠𝑜 𝑑𝑒 36 °
𝑚
4 𝑐𝑖𝑐𝑙𝑜3 𝑖 𝑎𝑡é 𝑖 𝑛 𝑐𝑜𝑚 𝑝𝑎𝑠𝑠𝑜 𝑑𝑒
5 𝑞𝑟𝑎𝑛𝑑 𝑎𝑙𝑒𝑎𝑡ó𝑟𝑖𝑜 𝑒𝑛𝑡𝑟𝑒 [ ; 36 °]
6 𝐴𝑟𝑎𝑛𝑑 𝑎𝑙𝑒𝑎𝑡ó𝑟𝑖𝑜 𝑒𝑛𝑡𝑟𝑒 [ ; 𝜌]
7 𝑞 𝑟𝑎𝑛𝑑 𝑞 𝐴𝑟𝑎𝑛𝑑 𝑐𝑜𝑠 𝑞𝑟𝑎𝑛𝑑
8 𝑞 𝑟𝑎𝑛𝑑 𝑞 𝐴𝑟𝑎𝑛𝑑 𝑠𝑖𝑛 𝑞𝑟𝑎𝑛𝑑
9 𝑥𝑟𝑎𝑛𝑑𝑗
,𝑦𝑟𝑎𝑛𝑑𝑗
𝑐𝑖𝑛𝑒𝑚á𝑡𝑖𝑐𝑎_𝑑𝑖𝑟𝑒𝑐𝑡𝑎 𝑞 𝑟𝑎𝑛𝑑,𝑞 𝑟𝑎𝑛𝑑, 𝑙 , 𝑙
10 𝜎𝑗 𝑙 𝑙 |𝑠𝑖𝑛 𝑞 𝑟𝑎𝑛𝑑 |
11 𝑗 𝑗
12 𝑓𝑖𝑚 𝑑𝑒 𝑐𝑖𝑐𝑙𝑜3
13 𝑓𝑖𝑚 𝑑𝑒 𝑐𝑖𝑐𝑙𝑜
14 𝑓𝑖𝑚 𝑑𝑒 𝑐𝑖𝑐𝑙𝑜
0 - -
0
q1 [graus]
q2 [
gra
us]
x [m]
y [m
]
28
Figura 3.8. Manipulabilidade de um robô RR com l1 = 1 m e l2 = 1 m obtida pelo método numérico.
A Figura 3.8 mostra que o método numérico obtém um resultado semelhante quando
comparado com o método analítico (cf. Figura 3.5, página 46). As desigualdades dependem
no número de pontos e resolução utilizados no método numérico, que, por sua vez, se
aumentarmos esse número, o tempo de processamento é muito superior.
A vantagem da utilização do método numérico baseia-se na incomplexidade do cálculo
da manipulabilidade, independentemente do número de graus de liberdade do manipulador.
29
4 Dinâmica
O aumento da eficiência de sistemas robóticos pode ser demonstrado através da
coordenação e cooperação entre robôs e no desenvolvimento de novas estratégias de controlo.
Como os seres humanos, a realização de determinadas tarefas só é possível utilizando os seus
braços, sendo que, a eficiência pode aumentar significativamente se utilizar ambos os braços
(e.g., carregando um peso e/ou objecto grande). Na robótica, estes fenómenos não são muito
diferentes. Por exemplo, se forem utilizados dois manipuladores robóticos, pode-se aumentar
a eficiência do sistema, reduzindo o esforço na realização dessas tarefas.
A interacção dos robôs com objectos de grandes dimensões no espaço de trabalho pode
ser uma tarefa de manipulação bastante complexa se o objecto for suportado apenas por um
lado, tornam-se difícil de manusear. Esta dificuldade pode ser superada se o objecto for
transportado e manipulado pelas duas extremidades, distribuindo a carga entre os robôs,
reduzindo o esforço de cada um deles.
No entanto, a existência de uma cadeia dinâmica fechada, correspondente à carga e
diversos elos, representam um verdadeiro desafio para o controlo e cordenação do movimento
de robôs, bem como o controlo das forças internas que ocorrem em cada um dos robôs.
Considerando que as equações da cinemática descrevem o movimento do robô sem
considerar as forças e binários, as equações dinâmicas mostram explicitamente o
relacionamento entre a força e o movimento. Logo, a implementação destas equações são
importantes para a simulação e animação do movimento, para além de serem necessárias para
projectar algoritmos de controlo que possam ser aplicados em plataformas robóticas reais.
Quando dois robôs agarram um objecto (Figura 4.1), e efectuam um movimento de um
local para outro é necessário que exista um movimento. Assim, é importante especificar não
apenas o movimento de cada robô, mas também a força de movimentação correspondente.
É necessário estudar também o contacto da garra do robô com a carga, em que esse
contacto pode ser modelado através de um sistema linear, com uma massa M, um
amortecimento B e uma rigidez K (Figura 4.2). Considera-se também o comprimento da carga
l0 e orientação 0.
Por outro lado, contemplam-se dois manipuladores, cada um com duas juntas de rotação,
elos de comprimentos l1 e l2 e os “ombros” são separados pela distância lb. A dinâmica inversa
30
de um robô com n elos interagindo com o ambiente é modelada por um conjunto de equações
diferenciais não lineares da forma:
, (4.1)
onde é um vector n x 1 de binários dos actuadores, é o vector n x 1 de
coordenadasdas juntas, H(q) é a matriz n x n das inércias, , é o vector n x 1 dos
binários/forças coriolis/centrípetos e é o vector n x 1 dos binários / forças gravitacionais.
A matriz é a transposição da matriz Jacobiana e a força exercida na garra do robô.
Deste modo, pretende-se determinar a força/binário dos actuadores conhecendo os
valores da posição q, velocidade e aceleração nos eixos. Os dois algoritmos mais
utilizados para obter as equações são os de Newton-Euler e de Lagrange, sendo este último o
mais simples e implementado neste trabalho.
Figura 4.1. Dois robôs cooperantes na manipulação de um objecto – adaptado de Ferreira
[2006].
Figura 4.2. Contacto entre a garra do robô e o objecto – adaptado de Ferreira [2006].
0
{x2, y2}
Robô A l22
l12
y(m)
x(m)
l11
l12
{x1, y1}
Robô B l0 (m)
lb (m)
objecto
B2 M0
F1
Robô A
Robô B
F2
K1
B1
K2
{x’1, y’1}
{x’2, y’2}
l0
1
2
0 Contacto com a
Garra do robô
Objecto faz contacto
com as garras
31
A dinâmica directa corresponde à dupla integração da equação (4.1), sendo necessária a
utilização de um método numérico de integração. Neste sentido, é de referir o algoritmo de
Runge-Kutta de quarta ordem adoptado neste trabalho, pelo bom equilíbrio entre o esforço
computacional requerido e a precisão elevada que geralmente permite [Pina, 2010]. Neste
caso, o objectivo é determinar os valores da posição, velocidade e aceleração, com base na
força/binário nos eixos.
4.1 Fenómenos Dinâmicos nas Juntas dos Robôs
Um dos problemas comuns no controlo de sistemas robóticos é a execução de tarefas
com precisão no seguimento de referência e em tempos relativamente reduzidos. Neste
sentido, fenómenos dinâmicos antes desprezados nas juntas, como por exemplo folgas,
flexibilidade, atrito não linear e saturação nos binários dos actuadores, têm influência
significativa na dinâmica do movimento do robô manipulador [Figueiredo et al., 2011a]. Na
construção mecânica do manipulador estão associados estes fenómenos dinâmicos, sendo que,
a não consideração destes efeitos na dinâmica dos robôs pode acarretar a deterioração do
desempenho do manipulador e a instabilidade do mesmo [Ferreira, 2006]. Deste modo, são
descritos resumidamente estes fenómenos não lineares.
4.1.1 Juntas com Atrito Não Linear - Friction6
Atritos não lineares existentes no interior das juntas dos robôs provocam efeitos tais
como zona morta em binário e comportamentos do tipo stick-slip (deslizamento-paragem),
dificultando o desempenho. O fenómeno do atrito ocorre entre duas superfícies que estão em
contacto e possuem movimento relativo.
A modelação dos atritos é um processo difícil de aferir em virtude deste estar dependente
de muitos factores, sobretudo dos materiais em contacto, da temperatura e da humidade do
ambiente de trabalho. De modo a evitar uma grande complexidade na análise destes efeitos,
têm-se adoptado modelos simples para os atritos.
6 Os termos apresentados inclusive em subtítulos, figuras e tabelas contemplam a legenda em inglês, em virtude da
metodologia adoptada neste estudo.
32
Nesta linha de pensamento, diversos trabalhos têm surgido com diferentes técnicas de
compensação baseadas em modelos com o objectivo de reduzir os seus efeitos através de uma
representação mais precisa do seu comportamento dinâmico [Armstrong-Hélouvry et al.,
2003; Kermani et al., 2005]. Através das técnicas baseadas em modelos é possível prever e
compensar os efeitos do atrito, analisar estabilidade, prever ciclos limite, ajustar os ganhos
dos controladores.
A força de atrito em função da velocidade, para um movimento com velocidade
constante, é chamada a curva da Stribeck. O efeito de Stribeck tem como característica o
decaimento da força para baixas velocidades. Os modelos clássicos de atrito utilizam
diferentes componentes para representação de cada uma das parcelas do atrito [Olsson et al.,
1998; Geffen et al., 2009].
O atrito de Coulomb e o atrito viscoso parece ser o mais relevante de entre todos os tipos
de atritos que se observa. Neste caso, a força de atrito entre duas superfícies em contacto é
considerada como sendo um sinal em degrau positivo no primeiro quadrante e o seu simétrico
no terceiro quadrante. Neste modelo, a força de atrito é uma função da velocidade relativa
entre as duas superfícies.
Assim, o binário de atrito pode ser modelado da seguinte forma (Figura 4.3):
Figura 4.3. Atritos de Coulomb e viscoso nas juntas.
{
(4.2)
onde os parâmetros, Bai, Kai , , são o coeficiente de atrito viscoso, o parâmetro de Coulomb
e a velocidade relativa entre as superfícies em contacto. O atrito de Coulomb representa a
TAtrito
Kai
– Kai
Bai
��𝑖
33
componente do atrito proporcional à força normal, sendo que, o atrito viscoso representa a
força de atrito causada pela viscosidade dos lubrificantes.
4.1.2 Juntas com Folgas - Backlash
O fenómeno das juntas com folga consiste na presença de intervalos, nos quais a
transmissão de energia entre dois componentes consecutivos é interrompida. Esse intervalo é
a menor distância entre o não contacto dos dentes do acoplamento das engrenagens (Figura
4.4).
Figura 4.4. Folga no acoplamento de engrenagens.
Num manipulador é comum existirem actuadores constituídos por engrenagens
compostas por rodas dentadas e/ou roldanas sujeitas as folgas (Figura 4.5) [Ferreira, 2006].
Figura 4.5. Manipulador com folgas nas engrenagens – adaptado de Ferreira [2006].
Folga
y
q1
q1m
J1m
J1g
q2m J2m
x
r1
q2
J2g
r2
34
Sabendo que o feedback de posição é realizado com sensores que são colocados no eixo
dos motores, tal traduz-se em incerteza na posição dos elementos móveis e, portanto, é
possível ocorrerem erros na posição do órgão terminal (end-effector).
Na eventualidade de contacto entre dentes da engrenagem, obtém-se a seguinte equação:
(4.3)
onde os parâmetros Jm, Bm, e qm, representam a inércia após a engrenagem, a inércia do
motor, o atrito viscoso do motor e a posição do motor.
Quando ocorre um impacto entre as inércias, pelo princípio da conservação do momento
resulta:
(4.4)
(4.5)
onde a constante de Newton (ε) define a elasticidade do impacto que está comprendido
entre 0 e 1, tal que ε = 0 corresponde a impacto não elástico, provocando deformação
permanente dos corpos, ε = 1 a impacto elástico, não existindo perda de energia na colisão. As
variáveis e
são as velocidades das inércias das juntas e do motor depois da colisão
[Ferreira, 2006].
Uma folga é difícil de determinar porque não pode ser descrita por uma relação linear.
Quando os dentes não estão em contacto, a força de transmissão é nula. Por sua vez, os dentes
estão em contacto, a força é geralmente proporcional à diferença de posição angular entre as
engrenagens [Hovland et al., 2002].
4.1.3 Juntas com Flexibilidade – Flexibility
Este fenómeno pode reduzir a precisão do robô, quando este estiver a pressionar a
ferramenta contra uma peça a ser trabalhada, sendo modelado por uma mola que interliga o
eixo do motor com o eixo da junta do robô (Figura 4.6).
35
Figura 4.6. Manipulador com flexibilidade nas juntas – adaptado de Ferreira [2006].
O modelo do manipulador de juntas flexíveis pode ser descrito pelas equações seguintes:
(4.6)
, (4.7)
em que os parâmetros Jm, Bm, Km são respectivamente, a inércia, o atrito viscoso e a
elasticidade do motor e da transmissão [Ferreira, 2006].
4.1.4 Juntas com Saturação nos Binários dos Actuadores - Saturation
A saturação em sistemas de controlo de robôs está presente quando os actuadores são
accionados por sinais de controlo suficientemente grandes. Se este fenómeno não for
considerado no projecto do controlador, pode levar à falta de estabilidade, pois
frequentemente os controladores requerem esforços (i.e., binário dos actuadores).
Os actuadores dos robôs industriais têm limitações físicas, pelo que, também é
importante limitar os binários exercidos nos actuadores aos seus valores admitidos, tal como
demonstra a equação (4.8):
{
(4.8)
onde Tmax, Tmin, representa o binário máximo e o binário mínimo, respectivamente, do
actuador.
y
q1
q2
J2g
r2
J1g
q1m
B1m
q2m B2m x
r1 K2m
K1m
36
37
5 Arquitectura de Controlo
Relativamente à estratégia de controlo, este trabalho contempla um controlo em cascata
para cada robô RR. Neste tipo de controlo, para se conseguir o controlo de posição,
velocidade e força, obtém-se inicialmente um controlador de posição e velocidade que fornece
uma força virtual ao controlador de força, facultando os binários necessários aos actuadores
do manipulador [Couceiro, 2010].
A operação fundamental do controlador é a função de controlo em cada articulação, i.e.,
processo pelo qual se procura que os elos/articulações fiquem posicionados ou obtenham o
movimento pretendido numa determinada tarefa. Assim, pode existir um controlo em malha
fechada designado por controlo realimentado, para que não ocorra a possibilidade das acções
de um actuador não corresponder ao previamente estabelecido.
Neste sentido, dois robôs carregando um objecto comum, podem ser uma alternativa
viável no caso em que um único robô não seja capaz de manipular a carga per se. No entanto,
com dois robôs cooperativos, as forças de interacção resultantes têm de ser adequadas e, além
do retorno de posição, é fundamental um controlo de força [Hogan, 1985; Siciliano et al.,
1999].
Existem dois métodos básicos para o controlo de força, nomeadamente a posição/força
ou híbrido e os regimes de impedância. O primeiro método, proposto por Raibert e Craig
[Raibert et al., 1981], separa a tarefa em dois subespaços ortogonais correspondentes à força e
à posição de variáveis controladas. Uma vez estabelecida a decomposição dos subespaços, são
projectados dois controladores independentes.
O segundo método foi inicialmente proposto por Siciliano [Siciliano et al., 1999;
Siciliano et al., 2009]. Nesta sequência, através de uma escolha adequada da resistência
mecânica do braço, as forças de interacção podem ser controladas para obter uma resposta
adequada.
Num sistema (e.g., actuador) ao designarmos u(t) como a entrada do controlador, e à
diferença entre a saída e a entrada erro e(t), obtém-se as seguintes funções de controlo:
On-off: {
(5.1)
38
─
+
─
+ +
Força
xd
Fd
x
Posição
Velocidade
F
Cp CF
Controlo
Posição
Cinemática
Po
siçã
o/F
orç
a P
lan
eam
ento
de
Tra
ject
óri
as
Controlo
Força
Objecto Cinemática
Robôs
A arquitectura do controlador (Figura 5.1) é baseada na impedância e regimes de
conformidade. Assim, foi estabelecida uma cascata de algoritmos de força e posição como
loops de feedback interno e externo, onde xd e Fd representam as coordenadas desejadas da
posição da carga e as forças de contacto [Ferreira et al., 2006].
Figura 5.1. Arquitectura do controlador de posição/força.
O objectivo de um algoritmo de controlo é assegurar que uma sequência de movimentos
planeados seja executada correctamente face aos erros imprevisíveis resultantes das
limitações da precisão computacional e de efeitos mecânicos indesejados, tais como, o atrito
ou as folgas, e também compensar outras perturbações exercidas.
Este trabalho estuda o controlo de posição/força de dois manipuladores RR em
cooperação, utilizando algoritmos PID de ordem inteira e fraccionária (FO) [Figueiredo et al.,
2010; Ferreira et al., 2003; Ferreira, 2006; Oustaloup, 1995; Machado, 1997].
A medida quantitativa do desempenho de um sistema é necessária para a operação de
sistemas de controlo adaptativo modernos, para optimização paramétrica de sistemas de
controlo e para o projecto óptimo de sistemas [Carmo et al., 2006]. Pode utilizar-se critérios
de desempenho, tais como o integral do erro absoluto (IAE) ou o integral do erro absoluto
multiplicado pelo tempo (ITAE), porém, no caso vertente, o critério do integral do erro
quadrático multiplicado pelo tempo (ITSE) apresenta melhores resultados e, como tal, foi
adoptado no estudo. Tal critério permite estudar a influência do tempo de simulação no valor
do erro produzido pelo sistema (equação (5.2)).
∫
(5.2)
39
√ (5.3)
em que e(t), {x, y} e {xd, yd} são respectivamente o erro absoluto de posição, a posição
real e a posição desejada.
Nas secções que se seguem são apresentados os controladores PID de ordem inteira e
fraccionária (FO).
5.1.1 Controlador de ordem inteira
O controlo proporcional ajusta o sinal de saída em proporção directa ao
sinal de entrada (i.e. o sinal de erro). O parâmetro ajustável para ser especificado representa o
ganho do controlador, Kp.
Proporcional (P): (5.4)
O controlo Proporcional-derivativo (PD) considera tanto a amplitude do erro do sistema
como a derivada desse erro. Este faculta a adição de um sistema de amortecimento e,
portanto, tem uma influência estabilizadora sobre a resposta do sistema.
(P) + diferencial (PD):
(5.5)
O PID combina as vantagens do controlador PI e PD. A acção integral está relacionada
com a precisão do sistema e é responsável pela eliminação do erro em regime permanente. O
efeito da instabilidade do controlador PI é contrabalançado pela acção derivativa que tende a
aumentar a estabilidade relativa do sistema, ao mesmo tempo que faz com que o sistema tenha
uma resposta rápida devido ao seu efeito antecipatório.
A acção do PID é dada por:
(PD) + integral (PID): ∫
(5.6)
cuja transformada de Laplace é dada por:
(
) (5.7)
onde os parâmetros K, Ti e Td representam, respectivamente, o ganho proporcional, o
tempo integral e o tempo derivativo.
40
Assim, os controladores convencionais, tais como PID e outros métodos avançados de
controlo, são úteis para controlar processos lineares. Contudo, na prática, a maioria dos
processos apresentam algumas não linearidades. O controlo não linear é um dos maiores
desafios na teoria moderna de controlo. Os processos não lineares são complexos de controlar,
tendo em conta que existe um número incalculável de variações do comportamento não linear.
5.1.2 Controlador de ordem fraccionária
Os algoritmos fraccionários constituem um instrumento útil para descrever diversos
fenómenos físicos, tais como, o calor, o fluxo, electricidade, magnetismo, mecânica ou
dinâmica de fluidos. Actualmente, a teoria de controlo fraccionário aplica-se em quase todas
as áreas da ciência e da engenharia, designadamente para optimizar a capacidade de melhorar
a modelação e controlo de muitos sistemas dinâmicos [Figueiredo et al., 2011a; Couceiro et
al., 2009a].
Consideram-se controladores fraccionários (FO), ambos de controlo da posição e da
força, adoptando a definição Grünwald-Letnikov, ilustrada na expressão (5.8).
[ ]
[
∑
] (5.8)
onde é a função gama e h é o incremento de tempo. Neste caso, para a implementação
dos algoritmos do tipo C(s) = K s, 1 < < 1, foram adoptadas aproximações de tempo
discreto, utilizando fracções Pade de 4ª ordem.
(
) (5.9)
sendo KP o ganho de posição.
O controlador PID fraccionário é também conhecido como controlador PIλD
μ. Se λ e μ
são igual a 1, este controlador é um caso particular do controlador PIλD
μ. O resultado é o
mesmo que um PID tradicional (doravante denominado PID inteiro, por oposição ao PID
fraccionário). Caso contrário, se λ = 0 (Ti = 0), obtém-se um controlador PDμ.
É expectável neste trabalho que o controlador PIλD
μ optimize o desempenho dos sistemas
de controlo devido à introdução de mais parâmetros de controlo. Na verdade, em teoria,
PIλD
μ, por si só representa um filtro linear de dimensões infinitas devido à ordem fraccionária
no diferenciador ou integrador [Monje et al., 2004; Liang et al., 2004] (Figura 5.2).
41
Figura 5.2. Parâmetros do controlador PIλD
μ.
Os algoritmos FO são como uma ferramenta útil para o controlo e gestão de sistemas e
processos industriais complexos, sistemas de entretenimento e aplicações específicas, tais
como, controlo de plataformas de voo, helicópteros, aviões ou robôs biologicamente
inspirados [Coelho et al., 2007; Couceiro et al., 2009b; Ferreira et al., 2002; Couceiro et al.,
2009a] [Couceiro, 2010].
A toolbox ninteger v2.3 para o MatLab7 implementa controladores não-inteiros, tanto no
domínio da frequência como do tempo discreto. Estão disponíveis controladores do tipo PID
não-inteiros em que a interface gráfica permite escolher os parâmetros de forma interactiva e
verificar o seu desempenho. A toolbox também inclui um bloco para o Simulink utilizado
neste trabalho (Anexo A - Figura A-12).
A livraria FOPID8 desenvolvida para Arduino permite da mesma forma introduzir
parâmetros na função do controlador não inteiro (equação 5.10):
u(t) = fopid(erro proporcional, erro derivativo, erro integral, Kp, Kd, Ki, μ, λ) (5.10)
5.2 Métodos de Optimização
Os valores dos parâmetros PID dependem das características do processo e podem ser
sintonizados de acordo com o rendimento satisfatório de controlo. Se os controladores PID
estiverem devidamente sintonizados proporcionam um controlo adequado para a maioria das
aplicações.
7 http://web.ist.utl.pt/duarte.valerio/ninteger/ninteger.htm 8 http://www2.isec.pt/~micael/contributions/FOPID/FOPID.zip
PD PID
PI P
0 0
1
1
λ
μ
42
Ao ajustar as constantes no algoritmo de controlo do PID ou de PIλD
μ, o controlador
pode fornecer uma acção de controlo concebida para processos com requisitos específicos. A
resposta do controlador é descrita em termos da sua capacidade de resposta a um erro, o grau
em que ultrapassa o ponto de referência e o grau de oscilação do sistema. É de salientar que a
utilização do algoritmo de controlo do tipo PID não garante um controlo optimizado do
sistema ou estabilidade do sistema.
A implementação deste projecto pode beneficiar da utilização de algoritmos eficientes,
utilizando um número máximo de 100 iterações, [Snyman, 2005; Couceiro et al., 2009b] os
quais também serão abordados neste trabalho.
5.2.1 Método do Gradiente Descendente
Para encontrar um mínimo local de uma função utilizando o método do Gradiente
Descendente [Couceiro et al., 2009b], são aplicadas medidas proporcionais ao negativo do
gradiente (ou do valor aproximado do gradiente) da função no ponto actual.
Este método que se baseia na função de valores reais F(x), é definida e diferenciável
numa região em volta dum ponto a. Deste modo, F(x) diminui mais depressa quando parte do
ponto a na direcção do gradiente negativo de F em a. Daqui resulta que:
(5.11)
para γ>0, sendo um número suficientemente pequeno, então F(a) ≥ F(b). Com esta
observação, começa-se com um x0, para um mínimo local da F, considerando a sequência x0,
x1, x2,…, xn:
, (5.12)
Assim obtém-se:
(5.13)
A sequência (xn) converge para o mínimo local desejado. Destaca-se que é permitida a
alteração do valor do tamanho do incremento γ a cada iteração.
Este processo é ilustrado na Figura 5.3. Aqui assume-se que F é definido no plano e que
o seu gráfico é representado por uma forma de elipse. As curvas representam as regiões em
que o valor de F é constante. As setas em cada ponto mostram a direcção do gradiente
43
negativo nesse ponto. Note-se que o gradiente negativo num ponto é ortogonal à linha de
contorno, passando por esse ponto. O Gradiente Descendente remete-nos o ponto central das
elipses correspondente ao ponto onde o valor da função F é mínimo.
Figura 5.3. Método do Gradiente Descendente.
5.2.2 Método da Pesquisa por Padrão – Lewis and Torczon GPS
Os algoritmos de Pesquisa por Padrão Generalizado (GPS - Generalized Pattern Search)
[Audet et al, 2003] são métodos derivativos para a minimização de funções suaves, com
restrições de desigualdades lineares.
Exemplos de algoritmos GPS são os algoritmos de pesquisa de coordenadas, englobando
um padrão do tipo Hooke e Jeeves, e de busca multi-direccional de Dennis e Torczon [Dennis
et al, 1991]. Todos têm em comum a construção de uma malha que é posteriormente
explorada, de acordo com algumas regras. Deste modo, se não houver diminuição no custo da
função em torno dos pontos obtidos na iteração da malha actual, então a malha é refinada e o
processo é repetido.
Em 1997, Torczon foi o primeiro investigador a demonstrar que todos os algoritmos
actuais de Pesquisa de Padrão são implementações específicas de um esquema de pesquisa
por padrão abstracto e estabelece, que para problemas sem restrições com funções de custo
suaves, o gradiente da função de custo desaparece na acumulação de pontos de sequências
construídas, através deste esquema.
Por seu lado, Lewis e Torczon, apresentam a sua teorização para abordar os problemas de
fronteiras e problemas com restrições de desigualdades lineares. Em ambos os casos, a
x0
x3
x1 x2
x4
44
convergência para um ponto viável x* satisfazendo (F (x*), x - x*) ≥ 0 para todos os x viáveis,
comprova-se sob a condição de que F(x) é continuamente diferenciável [Lewis et al., 2000].
Como foi referido anteriormente, os algoritmos de GPS são maioritariamente usados para
funções suaves, mas podem apresentar uma boa resposta em problemas não suaves.
5.2.3 PSO – Particle Swarm Optimization
A optimização por enxame de partículas, mais conhecida como PSO (Particle Swarm
Optimization), foi desenvolvida por Kennedy e Eberhart [1995]. Esta técnica de optimização,
baseada numa população de pesquisa, é inspirada pelo comportamento social das aves. Uma
analogia pode ser estabelecida entre uma partícula e um elemento de um enxame. Estas
partículas “voam” através do espaço de pesquisa seguindo as partículas actuais óptimas. A
cada iteração do algoritmo, um movimento de uma partícula é caracterizado por dois vectores
representando a sua posição actual x e velocidade v (Figura 5.4).
A velocidade de uma partícula é alterada de acordo com o conhecimento cognitivo b (a
melhor solução encontrada até agora pela partícula) e os conhecimentos sociais g (a melhor
solução encontrada pelo enxame). O peso de cada conhecimento adquirido, na velocidade de
actualização, é diferente de acordo com os valores aleatórios i, i = {1, 2}. Esses valores são
um factor aleatório que seguem uma função probabilística uniforme i ~ U [0,i max].
Figura 5.4. Método PSO.
Assim, I e t são a inércia e o tempo de iteração, respectivamente.
O PSO é uma técnica muito útil entre muitos outros algoritmos baseados em populações,
uma vez que tem apenas alguns parâmetros para se ajustar. Apesar de recente, tem sido
bastante estudada especialmente por ser robusta e sólida do ponto de vista científico, bem
Initialize Swarm
repeat
for all particles do
Calculate fitness f
end
for all particles do
vt+1 = I vt + 1(b-x) + 2(g-x)
xt+1 = xt + vt+1
end
until stopping criteria
45
como fácil de implementar, possuindo ainda um custo computacional baixo. Esta técnica tem
sido utilizada com sucesso em muitas aplicações, nomeadamente na robótica [Tang et al.,
2005; Pires et al., 2006; Couceiro et al., 2009b], em sistemas eléctricos [Alrashidi et al.,
2006] e em engenharia do desporto [Couceiro et al., 2011].
46
47
6 Robôs Móveis Cooperativos
A chave no desenvolvimento de sistemas robóticos móveis é o seu potencial para reduzir
a necessidade da presença humana em aplicações perigosas. Assim, através da cooperação
entre robôs é possível optimizar a coordenação das suas acções e, através da partilha de
informações dos sensores e do poder computacional conhecido na sociedade contemporânea,
provavelmente obterá melhores resultados do que apenas usando um único robô e complexo.
A cooperação entre robôs é definido pelas acções que ocorrem de forma coordenada para
realizar uma tarefa ou atingir um objectivo comum. Os robôs cooperam para executar uma
tarefa bem definida (e.g., o transporte de um objecto), geralmente apenas quando um robô não
é capaz de fazê-lo (e.g., binário limitado).
Pretende-se nesta secção apresentar um sistema cooperativo de dois robôs móveis RR que
comunicam entre si implicitamente com sensores para observar directamente as acções do seu
parceiro (Figura 6.1 e Figura 6.2).
Figura 6.1. Cooperação entre dois robôs móveis RR.
O princípio básico do sistema sensorial e arquitectura do controlador apresentado nesta
secção é baseado na 3ª Lei de Newton que ostenta a troca de forças entre corpos. Esta lei diz:
“Para cada acção há uma reacção igual e oposta”. Por outras palavras e aplicando ao trabalho
proposto, a cada iteração, existe uma acção de um manipulador e uma reacção do outro que
acaba por manter o objecto num estado de equilíbrio [Figueiredo et al., 2011b].
48
Figura 6.2. Dois robôs manipulando um objecto em cooperação.
6.1 Plataformas
Ambas as plataformas desenvolvidas são ilustradas na Figura 6.3. Cada plataforma é
equipada com um manipulador RR.
Figura 6.3. Ilustração em 3D SolidWorks de dois robôs móveis RR em trabalho cooperativo no
transporte de uma mesa.
A Figura 6.4 mostra a estrutura da plataforma dividida em três secções. O controlo e a
interface entre as três secções são executados pelo Arduino Uno.
Figura 6.4. Estrutura de cada plataforma móvel.
{x2, y2}
l22 (m)
l12 (m)
θ0
{x1, y1}
l0 (m)
objecto
l12 (m)
l11(m)
lb (m)
Robô B Robô A
Driver
Motor Motor
Locomoção
Força Sensores
Infra-Vermelho Corrente
Servo-motores
Manipulação
49
A plataforma base utilizada neste trabalho é a ilustrada na Figura 6.5. Trata-se de uma
plataforma didáctica designada por RP5, do fabricante Pololu, constituída por uma estrutura
de plástico com dois motores DC onde actuam rodas, lagartas ou rastros, alinhadas segundo o
eixo transversal da plataforma (perpendicular ao eixo do movimento).
Figura 6.5. Plataforma RP5 da Pololu.
O controlo de posição dos manipuladores é efectuado por servo-motores standard da
Hitec (HS-311) equipados com encoders de posição que medem directamente os ângulos das
articulações. Dado que o objectivo deste estudo é controlar a posição do objecto, é necessário
expressar os ângulos das articulações em termos da posição do órgão terminal, levando à
implementação da cinemática inversa no Arduino Uno.
Uma vez que o Arduino Uno não tem corrente suficiente para alimentar os motores de
corrente contínua do sistema de locomoção, foi utilizado um driver de potência da Toshiba,
para cada robô, concretamente o modelo TB6612FNG. Em vez dos motores possuírem
encoders, existe um sensor de proximidade GP2Y0A21YK da Sharp com o qual é possível
saber a distância que um robô está em relação ao outro, resultando assim na sincronização do
movimento entre os dois robôs.
Os Force Sensing Resistores 402 da Interlink Electronics representam os sensores de
força que permitem estabelecer o par de forças acção/reacção aplicada no objecto por ambos
os robôs. Estes sensores estão localizados no órgão terminal de cada manipulador,
estabelecendo contacto com o objecto, retornando um sinal que é amplificado, dando assim
uma maior resolução das forças resultantes. Para melhor compreender a distribuição de
binário dos servo-motores, cada um está equipado com dois sensores de corrente ACS712 da
Allegro MicroSystems.
Para descrever o movimento da plataforma, são definidos dois sistemas de eixos: o
sistema de eixos de referência E1 (xg, yg, zg) e outro em movimento E2 (xp, yp, yp) fixo à
plataforma, com origem no centro de massa da plataforma Op (Figura 6.6). O movimento do
50
veículo é composto pela velocidade de translação vr = [vx vy]T e pela velocidade de rotação ωr
= dφ/dt, onde vx e vy representam a projecção da velocidade vr para os eixos de E2, e φ é a
ângulo de rotação da plataforma [Kalantari et al., 2009; Zhou et al., 2010].
Figura 6.6. Cinemática da plataforma robótica.
Portanto, a cinemática deste modelo de plataforma robótica pode ser descrita pelas
equações:
(6.1)
(6.2)
(6.3)
onde a corresponde à distância entre os rastros, r é o raio da roda, we e wd são as
velocidades angulares das rodas esquerda e direita.
Transformando E2 para E1, o modelo cinemático é definido no sistema de eixos global,
sendo modelado pelo sistema:
[ ] [
] [ ] (6.4)
Deste modo, a representação do movimento e das restrições, não incluindo as forças
dinâmicas que actuam sobre a plataforma, foram implementadas no Arduino Uno.
zp
r
Op
yp
a
xp
vr
wr
xg yg
Og
zg
51
7 Resultados Experimentais
Esta secção apresenta resultados obtidos utilizando o simulador implementado, assim
como das plataformas robóticas construídas.
7.1 Simulador
Os valores numéricos adoptados para os robôs e o objecto, na dinâmica referida no
capítulo 4, são m1 = 5.0 kg, m2 = 5.0 kg, r1 = 1.0 m, r2 = 0.8 m, J1m = J2m = 1.0 kgm2, J1g = J2g
= 4.0 kgm2 lb = l0 = 1.0 m e 0 = 0 graus, B1 = B2 = 10.0 Ns.m
-1 e K1 = K2 = 10
4 Nm
-1.
Face ao exposto, no capítulo 5.2.3, os parâmetros do PSO adoptados foram imax=1.6,
I=2, com uma população de 60 partículas.
Para tal, foram realizadas três experiências em que os ganhos (Kp, Ki, Kd) e {λ, μ} são
modificados para cada robô de acordo com três diferentes métodos de optimização.
As tabelas (Tabela 7.1 a Tabela 7.7) mostram os ganhos para as três experiências E1
(Pesquisa por Padrão), E2 (Gradiente Descendente) e E3 (PSO), para os dois tipos de
controladores discutidos.
Tabela 7.1. Parâmetros do Controlador PID de ordem inteira sintonizado com o método de pesquisa
por padrão.
E1 Kp Ki Kd
q1 615x103 128x10
3 2.80x10
3
q2 340x103 740x10
3 5.50x10
3
E1 Kp Ki Kd
FX 1x10-3
0 1x10-3
FY 1x10-3
0 1x10-3
Tabela 7.2. Parâmetros do Controlador PID de ordem inteira sintonizado com o método gradiente
descendente.
E2 Kp Ki Kd
q1 650x103 100x10
3 2.50x10
3
q2 350x103 740x10
3 5.50x10
3
E2 Kp Ki Kd
FX 1x10-3
0 1x10-3
FY 1x10-3
0 1x10-3
52
Tabela 7.3. Parâmetros do Controlador PID de ordem inteira sintonizado com o método PSO.
E3 Kp Ki Kd
q1 616x103 120x10
3 3.00x10
3
q2 345x103 751x10
3 5.55x10
3
E3 Kp Ki Kd
FX 1x10-3
0 1x10-3
FY 1x10-3
0 1x10-3
Tabela 7.4. Parâmetros do Controlador PID de ordem fraccionária sintonizado com o método de
pesquisa por padrão.
E1 Kp Ki Kd λ μ
q1 650x103 80x10
3 2.50x10
3
0.4 0.8 q2 400x10
3 500x10
3 4.50x10
3
E1 Kp Ki Kd λ μ
FX 1x10-3
0 1x10-3
0.4 0.8
FY 1x10-3
0 1x10-3
Tabela 7.5. Parâmetros do Controlador PID de ordem fraccionária sintonizado com o método
gradiente descendente.
E2 Kp Ki Kd λ μ
q1 550x103 80x10
3 2.50x10
3
0.2 0.7 q2 300x10
3 500x10
3 4.50x10
3
E2 Kp Ki Kd λ μ
FX 1x10-3
0 1x10-3
0.2 0.7
FY 1x10-3
0 1x10-3
Tabela 7.6. Parâmetros do Controlador PID de ordem fraccionária sintonizado com o método PSO.
E3 Kp Ki Kd λ μ
q1 600x103 80x10
3 2.50x10
3
0.3 0.9 q2 350x10
3 500x10
3 4.50x10
3
E3 Kp Ki Kd λ μ
FX 1x10-3
0 1x10-3
0.3 0.9
FY 1x10-3
0 1x10-3
Em todas as experiências a frequência de amostragem é de fc = 10 kHz para o
funcionamento de um ponto A do objecto e uma força de contacto de cada garra de {Fxj,
Fyj}{0.5, 5} Nm para o jth
(j = 1, 2) robô.
Tendo como objectivo validar o desempenho do sistema, foi estabelecida uma trajectória
para ser posteriormente realizada por dois robôs manipuladores durante o manuseamento de
um objecto.
As bases (omoplatas) dos robôs manipuladores A e B estão localizados nos pontos (0.5,
0) e (-0.5, 0), respectivamente. A posição inicial da trajectória circular para cada manipulador
situa-se nos pontos (0.5, 1) e (-0.5, 1), para o manipulador A e B. Cada manipulador tem duas
posições de rotação comuns, definidas pelos ângulos q1 e q2, que corresponde (utilizando a
53
cinemática directa) a uma posição x e y do espaço de trabalho. Para inicializar a trajectória, foi
necessário determinar o ângulo inicial que corresponde às posições conhecidas x e y, usando a
cinemática inversa. Neste cenário, os ângulos para as posições iniciais são:
Tabela 7.7. Ângulos iniciais para ambos os manipuladores robóticos.
q1 (rad) q2 (rad)
Robô A -1.047 2.093
Robô B 1.047 -2.093
Na Figura 7.1, pode observar-se a resposta do sistema, ilustrando a trajectória de cada
manipulador. Ambos os manipuladores têm que se mover sincronizadamente face ao objecto
e, ao mesmo tempo, mantê-lo alinhado horizontalmente, ou seja, 0 = 0 rad.
Figura 7.1. Trajectória realizada pelos dois robôs.
As experiências que se apresentam de seguida (Figura 7.2 e Figura 7.3) mostram o ITSE
e servem de comparação entre métodos de optimização, tipos de controladores e os diferentes
fenómenos dinâmicos enunciados anteriormente, pretendendo a minimização do valor ITSE.
x (m)
y (m
)
Robô A
Robô B
54
Figura 7.2. Critério de desempenho ITSE sob a acção do controlador PID.
Figura 7.3. Critério de desempenho ITSE sob a acção do controlador FO.
O ITSE, sob a acção dos controladores em estudo, agrava-se quando são adoptadas juntas
com não linearidades, independentemente do método de optimização em estudo.
Analisando a particularidade de cada método, destaca-se o PSO devido ao valor ITSE ser
inferior qualquer que seja a experiência em causa.
Outra conclusão que se pode retirar é a melhoria que existe, em algumas situações, na
utilização de controladores do tipo fraccionário comparativamente aos do tipo inteiro, visto
estes apresentarem um valor médio do ITSE inferior. No entanto, o PSO é o único que
apresenta um valor inferior quando comparamos os dois tipos de controlador para a mesma
experiência.
Para verificar o desempenho do sistema e avaliar os métodos de controlo, foi simulada
uma trajectória de referência como mostrada na Figura 7.1 (página 73) e, aos 11 segundos, foi
0
1
2
3
4
5
6
ITSE
PSO
Pattern Search
Gradient Descent
Avg (média)
0
1
2
3
4
5
6
ITSE
PSO
Pattern Search
Gradient Descent
Avg (média)
55
aplicada uma pequena perturbação com amplitude de xd= 0.05 metros, durante 1.5 segundos
(Figura 7.4).
Figura 7.4. Trajectória de referência no eixo dos xx do robô B.
O algoritmo de cada manipulador foi ajustado utilizando o método PSO, de forma a obter
o melhor desempenho independentemente da não linearidade.
Ao considerar os desafios encontrados no controlo de um sistema não linear, é difícil
avaliar o melhor tipo de controlador que apresenta um bom desempenho. Deste modo,
enquanto um controlador pode funcionar com uma acção de controlo rápida e agressiva, outro
pode ser mais adequado para uma resposta lenta e suave.
O manipulador ideal é frequentemente apresentado na literatura, i.e., sem fenómenos
dinâmicos [Dubowsky et al., 1987; Stepanenko et al., 1986]. Os resultados seguintes
apresentados mostram o desempenho do sistema para um robô ideal comparando o
comportamento de algoritmos de ordem inteira e fraccionária da posição e força. Os
parâmetros resultantes para os algoritmos de ordem inteira e fraccionária são mostrados na
Tabela 7.3 e Tabela 7.6 na página 72.
Para analisar de forma mais explícita a resposta dinâmica da perturbação foi subtraída a
resposta dinâmica sem perturbação. A Figura 7.5 ilustra a resposta a degrau do sistema ideal
para os dois tipos de controladores enunciados.
0,5
0,6
0,7
0,8
0,9
1
1,1
10 11 12 13 14 15 16 17
x(t)
tempo (seg)
56
a)
b)
Figura 7.5. Resposta do robô ideal à perturbação usando o PID de ordem a) inteira; b)
fraccionária.
Os parâmetros utilizados nas experiências realizadas para o modelo friction são
apresentados na Tabela 7.8.
Tabela 7.8. Parâmetros utilizados para o modelo friction.
i Bai (Nmrad-1
s) Kai (Nmrad-1
)
1 10.0 0.5
2 10.0 0.5
A Figura 7.6 mostra a resposta temporal da variável x, para o robô RR com atrito nas
juntas dos manipuladores, sob a acção dos controladores PIλD
μ, PID de ordem inteira e com
uma perturbação de xd = 0.05 m na trajectória estabelecida.
a)
b)
Figura 7.6. Resposta do robô sujeito a friction, usando o PID de ordem a) inteira; b)
fraccionária.
-0,01
0
0,01
0,02
0,03
0,04
0,05
0,06
10 11 12 13 14 15-0,01
0
0,01
0,02
0,03
0,04
0,05
0,06
10 11 12 13 14 15
-0,01
0
0,01
0,02
0,03
0,04
0,05
0,06
10 11 12 13 14 15-0,01
0
0,01
0,02
0,03
0,04
0,05
0,06
10 11 12 13 14 15
Ideal
Desejado
x(t)
tempo (seg) tempo (seg)
x(t)
friction
Desejado
x(t)
tempo (seg) tempo (seg)
x(t)
57
Os parâmetros utilizados nas experiências realizadas para o modelo das folgas foram os
ilustrados na Tabela 7.9.
Tabela 7.9. Parâmetros utilizados para o modelo backlash.
i h(rad)
1 0,8 1,8x10-4
2 0,8 1,8x10-4
A Figura 7.7 apresenta a resposta temporal da variável x, para o robô RR com folgas nas
juntas das engrenagens dos manipuladores, sob a acção dos controladores PIλD
μ, PID de
ordem inteira e com uma perturbação de xd = 0.05 m, na trajectória estabelecida.
a)
b)
Figura 7.7. Resposta do robô sujeito a backlash, usando o PID de ordem a) inteira; b)
fraccionária.
Os parâmetros utilizados nas experiências realizadas para o modelo flexibility são
apresentados na Tabela 7.10.
Tabela 7.10. Parâmetros utilizados para o modelo flexibility.
i Bm (Nmrad-1
s) Km (Nmrad-1
)
1 1,0x102 2,0x10
7
2 1,0x102 2,0x10
7
A Figura 7.8 mostra a resposta temporal da variável x, para o robô RR com flexibilidade
nas juntas dos manipuladores, sob a acção dos controladores PIλD
μ, PID de ordem inteira e
com uma perturbação de xd = 0.05 m na trajectória estabelecida.
-0,01
0
0,01
0,02
0,03
0,04
0,05
0,06
10 11 12 13 14 15-0,01
0
0,01
0,02
0,03
0,04
0,05
0,06
10 11 12 13 14 15
backlash
Desejado
x(t)
tempo (seg) tempo (seg)
x(t)
58
a)
b)
Figura 7.8. Resposta do robô sujeito a flexibility, usando o PID de ordem a) inteira; b)
fraccionária.
Os parâmetros utilizados nas experiências realizadas para o modelo saturation podem ser
observados na Tabela 7.11.
Tabela 7.11. Parâmetros utilizados para o modelo saturation.
i Tmax (Nm) Tmin (Nm)
1 100.0 -100.0
2 100.0 -100.0
A Figura 7.9 apresenta a resposta temporal da variável x, para o robô RR com saturação
nos actuadores das juntas dos manipuladores, sob a acção dos controladores PIλD
μ, PID de
ordem inteira e com uma perturbação de xd = 0.05 m na trajectória estabelecida.
a)
b)
Figura 7.9. Resposta do robô sujeito a saturation, usando o PID de ordem a) inteira; b)
fraccionária.
-0,01
0
0,01
0,02
0,03
0,04
0,05
0,06
10 11 12 13 14 15-0,01
0
0,01
0,02
0,03
0,04
0,05
0,06
10 11 12 13 14 15
-0,01
0
0,01
0,02
0,03
0,04
0,05
0,06
10 11 12 13 14 15-0,01
0
0,01
0,02
0,03
0,04
0,05
0,06
10 11 12 13 14 15
flexibility
Desejado
x(t)
tempo (seg) tempo (seg)
x(t)
saturation
Desejado
x(t)
tempo (seg) tempo (seg)
x(t)
59
Tendo como objectivo realizar uma avaliação do controlador, é necessário comparar as
características do tempo de resposta do controlador inteiro e ordem fraccionária, onde foram
calculados os seguintes critérios: tempo de subida TR (segundos), tempo de pico TP
(segundos), tempo de estabelecimento TS (segundos) e overshoot OV (%) (Tabela 7.12).
Tabela 7.12. Características do tempo de resposta dos controladores nas diversas experiências.
OV (%)
TR
(seg.)
TP
(seg.) TS(seg.)
Ideal PID 3,378 0,055 0,110 0,600
PIλD
μ 1,523 0,055 0,100 0,360
Friction PID 4,433 0,055 0,110 0,610
PIλD
μ 1,556 0,055 0,100 0,370
Backlash PID 6,121 0,055 0,080 0,810
PIλD
μ 8,682 0,045 0,060 0,690
Flexibility PID 4,379 0,055 0,110 0,710
PIλD
μ 2,313 0,045 0,100 0,630
Saturation PID 3,656 0,055 0,120 0,740
PIλD
μ 2,250 0,045 0,100 0,590
As respostas ao degrau revelam uma grande diminuição do overshoot e do tempo de
subida com o PIλD
μ quando comparado com o PID de ordem inteira, demonstrando uma boa
resposta transitória e um erro nulo em regime estacionário.
No caso da experiência com backlash, utilizando o controlador de ordem fraccionária, o
overshoot aumenta, mas, em contrapartida, os tempos de subida, de pico e de estabelecimento
diminuem.
O PIλD
μ mostra um melhor desempenho do sistema relativamente ao controlador PID
inteiro.
7.2 Plataforma Robótica
Esta secção apresenta os resultados de duas experiências obtidas das plataformas. Os
primeiros dados (P1) são obtidos com ambos os manipuladores a manterem um objecto de 11g
com °, com uma força constante de 30g cada. Além disso, as plataformas móveis
executam uma trajectória rectilínea de 4 metros numa superfície plana. Na segunda
experiência (P2), será provocada uma perturbação aplicando uma força de 32.5g em ambos os
robôs, durante 20 segundos.
60
As variáveis que serão analisadas são as forças aplicadas ao objecto, a posição de cada
junta e a posição cartesiana do órgão terminal (Figura 7.10 a Figura 7.13).
À semelhança do que já foi enunciado relativamente aos controladores, os resultados
demonstram que o algoritmo de ordem fraccionária é superior, revelando um bom
desempenho e uma elevada robustez para os parâmetros descritos na Tabela 7.13.
Tabela 7.13. Parâmetros do Controlador PID de ordem fraccionária sintonizado com o método PSO
para o robô móvel RR.
Kp Ki Kd λ μ
q1 0.20 1.0x10-3
0.25 0.3 0.9
q2 0.20 1.0x10-3
0.25
Kp Ki Kd λ μ
FX 1.0x10-3
0 1.0x10-3
0.3 0.9
FY 1.0x10-3
0 1.0x10-3
Os valores numéricos adoptados na simulação obtidos com base na aplicação real (i.e.,
plataformas e um objecto específico apresentados no capítulo 6) foram m1 = 0.02 kg,
m2 = 0.02 kg, r1 = 0,141 m, r2 = 0.110 m, J1m = J2m = 3.0 kgm2, J1g = J2g = 3.0 kgm
2,
lb = l0 = 0.15 m, 0 = 0 graus, B1 = B2 = 0.10 Ns.m1
e K1 = K2 = 1 Nm1
.
Figura 7.10. Forças aplicadas no objecto pelos robôs A e B para a experiência P1.
tempo (seg)
forç
a (g
ram
as)
Robô A
Robô B
61
Figura 7.11. Posição angular da junta q1(t) dos robôs A e B para a experiência P1.
Como é possível verificar na Figura 7.10, ambos os robôs mantêm uma força aplicada
aproximada de 30g. Mais especificamente, o robô A apresenta uma força aplicada de 29,78 ±
1.79g, enquanto o robô B apresenta uma força aplicada de 30,55 ± 1.82g.
Figura 7.12. Posição angular da junta q2(t) dos robôs A e B para a experiência P1.
A posição angular das articulações, q1 e q2, permanecem próximas da configuração
inicialmente programada com alguns pequenos desvios, para ajustar a força aplicada no
objecto.
tempo (seg)
q1 (
gra
us)
tempo (seg)
q2 (
gra
us)
Robô A
Robô B
Robô A
Robô B
62
Figura 7.13. Trajectórias no espaço cartesiano (x, y) do órgão terminal dos robôs A e B para a
experiência P1.
A Figura 7.13 mostra a posição cartesiana do órgão terminal de ambos os robôs. Como é
possível verificar, quando o órgão terminal de um manipulador fica próximo do eixo y (x = 0),
o outro manipulador afasta-se do eixo y, a fim de superar a força aplicada no objecto.
A experiência P2 tem como objectivo analisar a resposta dinâmica da perturbação, sendo
esta a diferença entre a resposta com e sem perturbação, adquirida previamente em P1.
Figura 7.14. Forças aplicadas no objecto pelos robôs A e B para a experiência P2.
-3
-2
-1
0
1
2
3
4
0 5 10 15 20 25 30 35 40
Robot A
Robot B
x (mm)
y (m
m)
Robô A Robô B
tempo (seg)
forç
a (g
ram
as)
Robô A
Robô B
63
Após 10 segundos é provocada a perturbação aos dois robôs verificando-se a reacção de
ambos. A Figura 7.14 mostra que ambos os robôs mantêm uma força aplicada aproximada de
mais 2.5g durante a perturbação.
Figura 7.15. Posição angular da junta q1(t) dos robôs A e B para a experiência P2.
Figura 7.16. Posição angular da junta q2(t) dos robôs A e B para a experiência P2.
-5
0
5
10
15
20
0 5 10 15 20 25 30 35 40
Robot A
Robot B
-5
0
5
10
15
20
0 5 10 15 20 25 30 35 40
Robot A
Robot B
tempo (seg)
tempo (seg)
q1 (
gra
us)
q
2 (
gra
us)
Robô A
Robô B
Robô A
Robô B
64
Figura 7.17. Trajectórias no espaço cartesiano (x, y) do órgão terminal dos robôs A e B para a
experiência P2.
A Figura 7.17 mostra que, apesar da existência da perturbação, ambos os manipuladores
tentam superar a força aplicada no objecto. Idealmente, como foi abordado nas simulações, a
resposta do sistema seria independente da dinâmica, no entanto, como o sistema é físico, i.e.,
real, esse está sujeito a efeitos estocásticos, apresentando assim algum ruído nos dados.
160
180
200
220
240
-125 -75 -25 25 75 125
Robot A Robot B
y (m
m)
x (mm)
Robô A Robô B
65
8 Discussão e Conclusão
Este trabalho abordou a modelação, controlo e simulação de manipuladores robóticos
cooperativos tendo em atenção a existência de fenómenos dinâmicos nas juntas bem como a
construção de duas plataformas móveis equipadas com um manipulador RR.
A modelação de um manipulador RR é simples de se conseguir, após possuir as equações
cinemáticas. No entanto, o mesmo não acontece quando se adiciona mais um manipulador e
um objecto em comum tornando o grau de complexidade elevado devido à dinâmica conjunta
do sistema. Em manipuladores cooperativos é necessário o controlo da posição e força
aplicada no objecto comum, tornando a tarefa eficiente.
No contexto deste projecto, a simulação surge como uma ferramenta essencial para
estudar e prever evoluções de sistemas complexos. Torna-se importante usar esta ferramenta
de forma a validar algoritmos de controlo fornecendo desta forma garantias de sucesso em
plataformas reais. Os resultados obtidos utilizando o ambiente de simulação desenvolvido em
Simulink demonstram que os sistemas dinâmicos com controladores de ordem fraccionária
apresentaram melhor desempenho quando comparados com os controladores clássicos. Essa
superioridade verifica-se sobretudo no overshoot, no tempo de subida e na capacidade que o
controlador PIλD
μ tem em manter um desempenho aproximadamente similar mesmo após a
introdução de fenómenos dinâmicos nas juntas.
Neste contexto, considerou-se a adopção de controladores de ordem fraccionária em dois
manipuladores móveis RR com microcontroladores de 8-bit, em alternativa aos sistemas
clássicos de controlo do tipo PID, com o objectivo de transportar cooperativamente um
objecto. As plataformas móveis foram construídas com dimensões e características similares
para que a cooperação se torne mais eficiente.
Nos resultados experimentais obtidos utilizando as plataformas móveis reais analisaram-
se as forças aplicadas no objecto, bem como as posições angulares das articulações e da
posição cartesiana do órgão terminal demonstrando a influência e a estabilidade de cada
manipulador na tarefa cooperativa.
66
67
9 Trabalho Futuro
Apesar dos resultados, um trabalho futuro a desenvolver será o estudo de concepção de
novos algoritmos de controlo, nomeadamente algoritmos adaptativos, fuzzy, genéticos e com
sistemas de aprendizagem idênticos aos seres humanos.
Outra perspectiva de trabalho futuro será desenvolver novas funcionalidades no
simulador incluindo mais restrições. Como nem sempre é possível transportar um objecto
paralelamente ao solo ou que ambas as plataformas se encontrem ao mesmo nível e com a
mesma inclinação, seria interessante testar os comportamentos dos manipuladores. Assim
sendo, uma das possíveis evoluções para este trabalho será permitir parametrizar a pose do
objecto e das plataformas num determinado cenário.
Para além disto, destacam-se ainda outros aspectos que não foram abordados neste
trabalho, mas que são uma perspectiva de evolução, tais como:
Elaborar a animação das trajectórias dos manipuladores móveis com os modelos
3D criados;
Alterar as características do objecto, tais como a sua dimensão, peso e rigidez e
ver os limites da capacidade dos manipuladores;
Conseguir determinar quantos robôs minimalistas seriam necessários para
efectuar determinada tarefa e em quanto é que isso poderia afectar o desempenho
do sistema;
Criar medidas de avaliação tais como a métrica speedup usada na robótica [Balch
et al., 1994] para avaliar a relação entre a melhoria do sistema e o número de
robôs de forma a poder limitar o mesmo;
Explorar o uso da comunicação implícita e como essa pode ser benéfica (i.e.,
evitar sobrecarga da rede) em aplicações com dezenas ou centenas de robôs;
Desenvolver um estudo ou aplicação em ambiente industrial de forma a validar os
pressupostos inerentes às vantagens de múltiplos robôs face a um único robô;
Utilizar diferentes robôs com distintos tipos de locomoção e verificar se o
desempenho dos controladores se mantém;
Incluir sistemas de simulação com detecção de colisões.
68
Abordando o problema de uma forma diferente, pode-se aplicar o processo de engenharia
inversa, caracterizando determinado manipulador quanto às suas não linearidades de forma a
classificar o mesmo face a determinado sistema de controlo.
69
Referências
[Ali et al., 2002] – M. Ali, N. Babu, K. Varghese, “Offline Path Planning of Cooperative
Manipulators Using Co-Evolutionary Genetic Algorithms”, Proceedings of the 19th ISARC,
Pages 415-425, Washington, U.S.A., 2002.
[Alrashidi et al., 2006] – M. R. Alrashidi and M. E. El-Hawary, “A Survey of Particle Swarm
Optimization Applications in Power System Operations”. Electric Power Compon Syst. v34
i12. 1349-1357, 2006.
[Armstrong-Hélouvry et al., 2003] – Armstrong-Hélouvry, B., Dupont, P., Canudas-De-Wit, C., “A
survey of models, analysis tools and compensation methods for the control of maschine with
friction”, Automatica, Vol. 47, No. 4, pp. 683–687, 2003.
[Ashley et al., 2005] – S. Ashley, H. Terry, O. Avi, A. Hrand, R. Matthew, “Behavior based multi -
robot collaboration for autonomous construction tasks”, IEEE International Conference on
Robotics and Automation, Barcelona, Spain, April 18-22, 2005.
[Audet et al., 2003] – Audet, Charles and J. E. Dennis Jr, “Analysis of Generalized Pattern Searches”,
SIAM Journal on Optimization 13(3): 889-903, 2003.
[Balch et al., 1994] – Balch, T. Arkin, R., “Communication in Reactive Multiagent Robotic Systems”,
Autonomous Robots 1, 1-25 (1994).
[Bernstein, 1967] – Bernstein, N.A., “The co-ordination and regulation of movements”, Oxford:
Pergamon Press, 1967.
[Carmo et al., 2006] – Carmo, M. J. do & Gomes, F. J., “Diagnóstico de controladores PID e
performance de malhas industriais em ambiente multifuncional integrado”, In XII Latin-
American Congress on Automatic Control (2006).
[Carroll, 2007] – T. Carroll, “Robot Arms”, Servo Magazine, August 79-80, 2007.
[Carroll, 2008] – T. Carroll, “Robotics - A Historical Perspective”, Servo Magazine, July 77-78, 2008.
70
[Coelho et al., 2007] – J. Coelho, R. Neto, D. Afonso, C. Lebres, H. Fachada, N. M. Fonseca Ferreira,
E. J. Solteiro Pires, J. A. Tenreiro Machado, “Aplication Of Fractional Algoritms In The
Control Of An Helicopter System”, symposium on applied fractional calculus Industrial
engineering school , University of Extremadura, October 15-17, Badajoz, Spain, 2007.
[Couceiro, 2010] – Micael S. Couceiro, “Desenvolvimento e Controlo de Robôs Voadores
Biologicamente Inspirados”, Master Thesis at the Institute of Engineering of Coimbra, 2010.
[Couceiro et al., 2008] – Micael S. Couceiro, Carlos M. Figueiredo, “Simulação e Implementação de
um Pássaro Robótico”, Tese de Licenciatura, Instituto Superior de Engenharia de Coimbra,
2008.
[Couceiro et al., 2009a] – Micael S. Couceiro, N. M. Fonseca Ferreira, J. A. Tenreiro Machado,
“Application of Fractional Algorithms in the Control of a Robotic Bird”, in the Journal of
Comunications in Nonlinear Science and Numerical Simulation, Special Issue, Elsevier
2009.
[Couceiro et al., 2009b] – Micael S. Couceiro, Rui Mendes, N. M. Fonseca Ferreira, J. A. Tenreiro
Machado, “Control Optimization of a Robotic Bird”, EWOMS ’09, Lisboa, Portugal, 2009.
[Couceiro et al., 2011] – Couceiro, M.S., Portugal, D., Gonçalves, N., Rocha, R., Luz, J.M.A.,
Figueiredo, C.M., Dias, G. “A Methodology for Detection and Estimation in the Analysis of
the Golf Putting”, Journal of Pattern Analysis and Applications, 2011 (Accepted).
[Denavit et al., 1955] – Denavit J., Hartenberg R. S., “A Kinematic Notation for Lower-Pair
Mechanisms Based on Matrices”, ASME Journal of Applied Mechanisms, pp. 215-221,
1955.
[Dennis et al, 1991] – JE Dennis Jr, Virginia Torczon, “Direct search methods on parallel machines”,
SIAM Journal on Optimization, 1991.
[Dentler, 2008] – Dentler, D. R. II, “Design, Control, and Implementation of a Three Link Articulated
Robot Arm”, Master Thesis, The Graduate Faculty of The University of Akron, 2008.
[Dube et al., 2009] – Dube, C and Tapson, “Kinematics design and human motion transfer for a
humanoid service robot arm”, 3rd Robotics and Mechatronics Symposium (ROBMECH
2009). Pretoria, South Africa, pp 6, 8-10 November 2009.
[Dubowsky et al., 1987] – S. Dubowsky, J. F. Deck and H. Costello, “The Dynamic Modelling of
Flexible Spatial Machine Systems with Clearance Connections”, ASME Journal of
Mechanisms, Transmissions and Automation in Design, vol. 109, no. 1, pp. 8794, 1987.
71
[Ellis et al., 1991] – C. A. Ellis, S. J. Gibbs, and G. L. Rein, “Groupware - Some Issues and
Experiences”, Communications of the ACM 34, pp. (1),38-58, 1991.
[Ferreira, 2006] – N. M. Fonseca Ferreira, “Sistemas Dinâmicos e Controlo de Robôs Cooperantes”,
The PhD thesis, in 5 of September, University of Trás-os-Montes e Alto Douro, 2006.
[Ferreira et al., 2002] N. M. Fonseca Ferreira, R. Barbosa, J.A. Tenreiro Machado, “Fractional- Order
Position/Force Control of Mechanical Manipulators”, Proceedings of CIFA’02, Conférence
Internationale Francophone d´Automatique 8-10 July, Nantes, France, 2002.
[Ferreira et al., 2003] – N. M. Fonseca Ferreira and J. A. Tenreiro Machado, “Fractional-Order
Hybrid Control of Robotic Manipulator”, Proceedings of the 11th IEEE Int. Conf. on
Advanced Robotics, Coimbra, Portugal, 2003.
[Ferreira et al., 2006] – N. M. Fonseca Ferreira, J. A. Tenreiro Machado, J. Boaventura Cunha, “The
Cooperation of Two Manipulators with Fractional Controllers”, 4th IEEE International
Conference on Computational Cybernetics August 20-22, Tallinn, Estonia, 2006.
[Figueiredo et al., 2010] – C. M. Figueiredo, Micael S. Couceiro, N. M. Fonseca Ferreira, J. A.
Tenreiro Machado “Fractional-Order Control of Cooperative Robots”, 4º Workshop de
Robótica Aplicada e Automação, Robocontrol 2010, UNESP, Brasil, Maio, 2010.
[Figueiredo et al., 2011a] – Carlos M. Figueiredo, Nuno M. F. Ferreira. “Fractional-Order Control of
a Dual-Arm Robotic System”. The 7th European Nonlinear Dynamics Conference (ENOC
2011), July 24 - 29, Rome, Italy, 2011.
[Figueiredo et al., 2011b] – Carlos M. Figueiredo, Micael S. Couceiro, N. M. Fonseca Ferreira, J. A.
Tenreiro Machado, “Cooperative Transportation of an Object based on Fractional Order
Controllers”, FSS2011 - Symposium on Fractional Signals and Systems, Coimbra, 2011.
(submited)
[Geffen et al., 2009] – V. van Geffen, Coaches: D.J. Rijlaarsdam, P.W.J.M. Nuij, M. Steinbuch, “A
study of friction models and friction compensation”, 24, DCT 2009.118, Internal Report
2009.
[Hamill et al., 2008] – Hamill J., Knutzen K.M., “Bases Biomecânicas do Movimento Humano”, 2ª
edição, Editora Manole, 2008.
[Hogan, 1985] – N. Hogan, “Impedance control: An Approach to Manipulation, Parts I-Theory, II-
Implementation, III-Applications”, ASME J. of Dynamic Systems, Measurement and
Control, vol. 107, No. 1, pp. 1-24, 1985.
72
[Hovland et al., 2002] – G. Hovland, S. Hanssen, E. Gallestey, S. Moberg, T. Brogardh, S.
Gunnarsson, and M. Isaksson, “Nonlinear identification of backlash in robot transmissions”,
In Proceedings of the 33rd ISR (International Symposium on Robotics), 2002.
[Huntsberger et al., 2010] – T. Huntsberger, A. Stoica, “Envisioning cognitive robots for future space
exploration”, Pasadena, CA: Jet Propulsion Laboratory, National Aeronautics and Space
Administration, USA, 2010.
[I RM, 2008] – Institute of Robotics and Mechatronics, “DLR Lightweight Robots - Soft Robotics for
Manipulation and Interaction with Humans”, Robotics: Science and Systems Conference
Workshop: Robot Manipulation: Intelligence in Human Environments (RSS2008), Zurich,
Switzerland, 2008.
[Kyung et al., 1997] – Jae Kyung Lee, Hyung Suck Cho, “Mobile Manipulator Motion Planning for
Multiple Tasks Using Global Optimization Approach”, Journal of Intelligent and Robotic
Systems, 18:169-190, 1997.
[Kennedy et al., 1995] - J Kennedy, RC Eberhard, “Particle Swarm Optimization”, Proceedings of
IEEE International Conference on Neural Networks (pp. 1942-1948), 1995.
[Kermani et al., 2005] – M.R. Kermani, R.V. Patel, M. Moallem, “Friction identification in robotic
manipulators: case studies”, IEEE International Conference on Control Applications: 1170–
1175, Toronto, Canada, 2005.
[Lewis et al., 2000] - Lewis R.M., Torczon V., “Pattern search methods for linearly constrained
minimization”, SIAM Journal on Optimization, Vol.10 No.3, 917–941, 2000.
[Liang et al., 2004] - J Liang, YQ Chen, R Fullmer, “Simulation studies on the boundary stabilization
and disturbance rejection for fractional diffusion-wave equation”, Proceedings of the 2004
American Control Conference, 2004.
[Lima, 2003] – J. J. Pedroso de Lima, “Biofísica Médica”, Almedina, pp. 342-354, 2003.
[Machado, 1997] – J. Tenreiro Machado, “Analysis and Design of Fractional-Order Digital Control
Systems”, J. Systems Analysis, Modelling and Simulation, vol. 27, pp. 107-122, 1997.
[Monje et al., 2004] - CA Monje, BM Vinagre, YQ Chen, V Feliu, P Lanusse, J Sabatier. “Proposals
for fractional PIλDμ tuning”, The Proceedings of the First IFAC Workshop on Fractional
Differentiation and its Application Bordeaux, Francepp. 156-161, 2004.
73
[Monkman et al., 2007] – Monkman. G.J., S. Hesse, R. Steinmann & H. Schunk, “Robot Grippers”,
Wiley, Berlin 2007.
[Narciso, 2009] – Narciso, Ana, “Éticos querem renovar as 3 Leis da Robótica”,
http://pplware.sapo.pt/high-tech/eticos-querem-renovar-as-3-leis-da-robotica, 2009.
[Nilson, 2009] – Nilsson, Nils J., “The Quest for Artificial Intelligence”, Cambridge University Press,
pp. 20, 2009.
[Novais, 2002] – J. Novais, “O Homem e a Automação: emoção versus razão”, Escolar Editora, pp.
40, 2002.
[Nunes, 2009] – Gonçalo N. N. V. de Brito Nunes, “Modelação e controlo não-linear do sistema
motor humano”, Tese de Mestrado FCT – UNL, 2009.
[Olsson et al., 1998] – H. Olsson, K. J. Astrom, C. C. de Wit, M. Gafvert, P. Lischinsky, “Friction
models and friction compensation”, European Journal Control, Vol. 4, No. 3, pp. 176–195,
1998.
[Ottaviano et al., 2008] – Erika Ottaviano, Marco Ceccarelli and Manfred Husty, “Workspace
Topologies of Industrial 3R Manipulators”, International Journal of Advanced Robotic
Systems, ISSN 1729-8806, Publisher: Sciyo, 2008.
[Kalantari et al., 2009] – A. Kalantari, E. Mihankhah, and S.Ali.A. Moosavian, “Safe Autonomous
Stair Climbing for a Tracked Mobile Robot Using a Kinematics based Controller,” in Proc.
2009 IEEE/ASME International Conference on Advanced Intelligent Mechatronics
(AIM2009), Singapore, July 14-17, pp. 1891-1896, 2009.
[Khatib, 1995] – Oussama Khatib, “Inertial Properties in Robotic Manipulation: An Object-Level
Framework”, I. J. Robotic Res., 1995: 19~36
[Oustaloup, 1995] – A. Oustaloup, “La Dérivation Non Entière: Théorie, Synthèse et Applications”,
Hermes, Paris, 1995.
[Petrina, 2008] – A. M. Petrina, “Robotics: Present and Future”, Scientific and Technical Information
Processing, 2008, Volume 35, Number 2, Pages 73-79, 2008.
[Pina, 2010] – Heitor Pina, “Métodos Numéricos”, Escolar Editora, Lisboa, ISBN: 978 972 592 284 2,
pp.662-690, 2010.
74
[Pires, 2004] – J. Norberto Pires, “Automação Industrial”, Edições Técnicas e Profissionais, Grupo
LIDEL, ISBN: 972-8480-09-1, 2ª edição - 2004.
[Pires et al., 2006] – E. J. Solteiro Pires, P. B. de Moura Oliveira, J. A. Tenreiro Machado and J.
Boaventura Cunha, “Particle Swarm Optimization versus Genetic Algorithm in Manipulator
Trajectory Planning”, 7th Portuguese Conference on Automatic Control, September 11-13,
2006.
[Raibert et al., 1981] – M. H. Raibert and J. J. Craig, “Hybrid Position/Force Control of
Manipulators”, ASME J. of Dynamic Systems, Measurement, and Control” vol. 2, pp.126-
133, 1981.
[Reza, 2007] – Reza N. Jazar, “Theory of Applied Robotics: Kinematics, Dynamics, and Control“,
Springer, 2007
[Sachdev, 2002] – C. Sachdev, “Technology Research News – Cooperative robots share the load”,
http://www.trnmag.com/Stories/2002/021302/Cooperative_robots_share_the_load_021302.h
tml, 2002.
[Santis et al., 2007] – A. De Santis, A. Albu-Schäffer, C. Ott, B. Siciliano, G. Hirzinger, “The skeleton
algorithm for self-collision avoidance of a humanoid manipulator”, 2007 IEEE/ASME
International Conference on Advanced Intelligent Mechatronics, Zurich, CH, Sep. 2007.
[Siciliano et al., 1999] – B. Siciliano and L. Villani, “Robot Force Control”, Kluwer Academic
Publishers, 1999.
[Siciliano et al., 2009] – B. Siciliano, L. Sciavicco, L. Villani and G. Oriolo, “Robotics Modelling,
Planning and Control”, Springer, 2009.
[Snyman, 2005] - Jan A Snyman, “An Introduction to Basic Optimization Theory and Classical and
New Gradient-Based Algorithms”, ISBN 038729824X, Springer 2005.
[Spong, 2005] – M. Spong, S. Hutchinson, M. Vidyasagar, “Robot Modeling and Control”, John
Wiley & Sons Incorporated, 2005.
[Stepanenko et al., 1986] – Y. Stepanenko and T. S. Sankar, “Vibro-Impact Analysis of Control
Systems with Mechanical Clearance and Its Application to Robotic Actuators”, ASME
Journal of Dynamic Systems, Measurement and Control, vol. 108, no. 1, pp. 916, 1986.
75
[Stroupe et al., 2005] – A. Stroupe, T. Huntsberger, A. Okon, H. Aghazarian, and M. Robinson,
“Behavior-Based Multi-Robot Collaboration for Autonomous Construction Tasks”,
Proceedings of IROS 2005, 2005.
[Takahashi et al., 2008] – R. Takahashi, H. Ise, A. Konno, M. Uchiyama, and D. Sato, “Hybrid
simulation of a dual-arm space robot colliding with a floating object”, in IEEE International
Conference on Robotics and Automation, ICRA, 2008.
[Tang et al., 2005] – J. Tang, J. Zhu and Z. Sun, “A novel path panning approach based on appart and
particle swarm optimization”, Proceedings of the 2nd International Symposium on Neural
Networks, LNCS 3498, pp. 253-258, 2005.
[Umetani et al., 2001] – Yoji Umetani, Kazuya Yoshida, “Workspace and Manipulability Analysis of
Space Manipulator”, Trans. of the Society of Instrument and Control Engineers Vol.E-1,
No.1, 1/8, 2001.
[Weng et al., 2009] – Yueh-Hsuan Weng, Chien-Hsun Chen, and Chuen-Tsai Sun, “Toward The
Human-Robot Co-Existence Society: On Safety Intelligence For Next Generation Robots”,
International Journal of Social Robotics, pp.267-282, 2009.
[Yoshikawa, 1985] – Yoshikawa, T., “Manipulability of robotic mechanisms”, Int. Journal of Robotics
Reasearch 4, pp. 3–9, 1985.
[Zivanovic et al., 2006] – M.D. Zivanovic, M.K. Vukobratovic, “Multi-Arm Cooperating Robots
Dynamics and Control”, Springer, 2006.
[Zhou et al., 2010] – Zhou Bo, Dai Xianzhong, “Global exponential point stabilization of a tracked
mobile robot with slipping parameter”, Key Lab. of Meas. & Control of CSE, Southeast
Univ., Nanjing, pp. 3643 – 3648, China, 2010.
[Zorzi et al., 2010] - R.L.D.E.A. Zorzi, I.G. Starling, “Corpo Humano - Orgãos, Sistemas e
Funcionamento”, Senac Nacional, 2010.
76
77
ANEXO A
78
A.1. Simulador do robô RR
Este simulador da Figura A-1 permite obter as posições angulares das juntas do robô,
assim como a posição cartesiana o órgão terminal do mesmo. Portanto, estão implementadas a
cinemática directa e inversa. Permite ainda calcular a manipulabilidade utilizando os dois
métodos enunciados no capítulo 3.2 (página 45), ou seja, o método analítico e o numérico. A
opção simulação possibilita simular uma trajectória pré definida.
Figura A-1. Ambiente do simulador do robô RR.
79
A opção Dinâmica (Figura A-2) tem os parâmetros das inércias e massas dos elos do
manipulador.
Figura A-2. Parâmetros da dinâmica do robô.
80
Figura A-3. Manipulabilidade analítica do manipulador RR.
Figura A-4. Manipulabilidade numérica do manipulador RR.
81
A.2. Simulink
82
83
Figura A-5. Sistema completo de dois robôs e um objecto no Simulink.
84
Figura A-6. Controladores de posição, velocidade e força para cada manipulador.
85
Figura A-7. Controladores de ordem inteira para a posição e velocidade.
Figura A-8. Controlador de ordem inteira para a força.
86
Figura A-9. Controlador PID.
Figura A-10. Controladores de ordem fraccionária para a posição e velocidade.
Figura A-11. Selecção do envolvimento de forças no sistema.
87
Figura A-12. Parâmetros do controlador de ordem fraccionária para Simulink.