sara manuela eira araújo manipulação bimanual em robôs
Post on 08-Jan-2017
217 Views
Preview:
TRANSCRIPT
Sara Manuela Eira Araújo
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Sara
Man
uela
Eira
Ara
újo
Outubro de 2014UMin
ho |
201
4M
anip
ulaç
ão B
iman
ual e
m R
obôs
Antr
opom
órfic
os: M
ovim
ento
s Sí
ncro
nos
Universidade do MinhoEscola de Engenharia
Outubro de 2014
Dissertação de MestradoCiclo de Estudos Integrados Conducentes ao Grau deMestre em Eletrónica Industrial e Computadores
Trabalho efetuado sob a orientação deProfessora Doutora Estela Bicho
e sob co-orientação deDoutora Eliana Oliveira da Costa e Silva
Sara Manuela Eira Araújo
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Universidade do MinhoEscola de Engenharia
Agradecimentos
A realização desta dissertação de mestrado contou com grandes e importantes
contributos de várias pessoas, às quais ficarei eternamente grata.
Muito especialmente, gostaria de agradecer à minha orientadora, a Professora
Doutora Estela Bicho, por me ter dado a oportunidade de fazer este trabalho tão
aliciante e inovador e me ter proporcionado um ambiente de trabalho no laboratório
excecional. Agradeço-lhe, profundamente, por todo o apoio científico, acompanha-
mento e pela confiança que depositou em mim.
À Doutora Eliana Costa e Silva, pela co-orientação neste projeto e Professora
Doutora Fernanda Costa, o meu sincero agradecimento por todo o apoio científico
e pela colaboração na solução de dúvidas que surgiram ao longo da realização do
trabalho.
Desejo agradecer também a todos os investigadores do Laboratório de Robótica
Móvel e Antropomórfica, pela excelente receção e integração no seu grupo. Ao Luís,
Toni, Gianpaolo, Rui, Flora, Emanuel, Tiago, Carlos, Miguel, Carolina e Weronika, o
meu muito obrigada. Um redobrado obrigada ao Luís pela ajuda na integração com
o sistema de planeamento de movimento anteriormente desenvolvido. Ao Toni outro
redobrado obrigada pela sua boa vontade e disponibilidade em ajudar em qualquer
assunto e ao Gianpaolo, pois foi o meu parceiro de trabalho, foi juntamente com ele
que desenvolvi este projeto.
Não poderia deixar de agradecer a todos os colegas-alunos que se disponibilizaram
para realizar algumas experiências importantes para este trabalho.
A todos os meus amigos e familiares que ao longo do ano se preocuparam comigo
i
e me encorajaram, o meu enorme agradecimento.
Por último, um especial e grande obrigada aos meus pais e irmãos pelo apoio
incondicional e amizade. Ao meu namorado, Daniel, o meu enorme obrigada por
toda a paciência a aturar os meus problemas, pelo carinho e apoio que me deu. A
eles dedico este trabalho e espero que esta etapa, que agora termino possa, de algum
modo, compensar e retribuir todo o apoio e carinho que me ofereceram.
ii
Resumo
Manipulação Bimanual em Robôs Antropomórficos: Movimentos Síncronos
Este trabalho de mestrado consistiu na continuidade do trabalho anteriormente
desenvolvido, que permitia à plataforma robótica ARoS desempenhar movimentos
unimanuais semelhantes aos dos realizados pelos humanos (Costa e Silva, 2011;
Araújo, 2013). Assim, o novo passo consistia em dotar este robô antropomórfico de
movimentos bimanuais e também semelhantes aos dos realizados pelos humanos. Por
isso, o modelo de controlo e planeamento de movimentos bimanuais, desenvolvido
neste trabalho, conta com factos observados em investigações experimentais com
humanos.
Essencialmente, o objetivo principal era gerar movimentos nos dois braços do
robô, que de certa forma, representassem a capacidade de coordenação e cooperação
dos dois braços humanos nas tarefas de manipulação bimanual de objetos. Como tal,
desenvolveu-se um modelo de planeamento de movimento bimanual, considerando
que para uma determinada tarefa de manipulação bimanual os dois braços começam
e acabam o seu movimento ao mesmo tempo, ou seja, movimentos síncronos. O
modelo de planeamento de movimento bimanual, de uma forma geral, consiste,
primeiramente, no cálculo das posturas finais de ambos os braços e só depois de
calculadas estas posturas é que se procede para o cálculo das trajetórias livres de
colisões para os dois braços e mãos.
O modelo de planeamento de movimento bimanual síncrono, desenvolvido neste
trabalho, foi validado a partir de duas tarefas de manipulação de objetos, onde o
iii
robô desempenha uma sequência de movimentos bimanuais. Na primeira tarefa
este tem que agarrar duas colunas dispostas na mesa e inseri-las na base do toy-
vehicle, enquanto que na segunda as duas colunas encontram-se incorretamente
inseridas na base do toy-vehicle e o robô tem, assim, que corrigir a disposição das
colunas. Os movimentos desempenhados pelo robô nestas duas tarefas demonstram
um comportamento semelhante ao dos humanos, demonstram que este é capaz de
movimentar os seus braços-mãos sem que estes colidam um com o outro, nem com os
obstáculos presentes no cenário e que o algoritmo é capaz de calcular os movimentos
num tempo muito reduzido.
De forma a demonstrar que o ARoS é capaz de executar uma tarefa bem mais
complexa, desenvolveu-se um modelo que permite planear uma sequência de diferentes
movimentos, tanto unimanuais como bimanuais síncronos. Assim, projetou-se uma
terceira tarefa em que o robô tem que abrir uma garrafa térmica e entornar o seu
líquido para o interior de um copo. Nesta tarefa é possível verificar que o robô consegue
planear toda a sequência de movimentos, em que cada movimento é determinado
num curto espaço de tempo. Além do mais, a forma como o robô desempenha esta
tarefa é semelhante à forma como os humanos também a desempenhariam.
iv
Abstract
Bimanual Manipulation in Anthropomorphic Robots: Synchronous Movements
This master thesis consisted on the continuation of the work previously undertaken
that allowed the robotic platform to perform unimanual movements similar to
those realized by humans (Costa e Silva, 2011; Araújo, 2013). Thus, the next step
consisted on endowing this anthropomorphic robot ARoS with human-like bimanual
movements. Therefore, the model of control and planning bimanual movements,
developed in this work, relies on facts and regularities observed in experimental
investigations with humans.
Essentially the main goal was to generate movements in both robotic arms,
which somehow represented the ability of coordination and cooperation between the
two human arms in bimanual object manipulation tasks. As such, it was developed
a model for planning bimanual movement, considering that for a given bimanual
manipulation task the two arms begin and end their movement at the same time,
i.e., synchronous movements. The bimanual movement planning model in a general
way consists, first, in the calculation of the two final arms postures and then, once
these postures have been computed, we proceed with the generation of collision free
trajectories for the two arms and hands.
The synchronous bimanual movement planning model, developed in this work,
was validated based on two object manipulation tasks, where the robot performs
a sequence of bimanual movements. In the first task the robot has to grasp two
columns disposed on the table and insert them in the toy-vehicle base, while in the
v
second task the two columns are incorrectly inserted at the base of toy-vehicle and
the robot has to correct the disposition of the columns. The movements performed
by the robot in these two tasks showed a behaviour similar to the humans’ one,
showed that the robot is able to move its arms and hands without them colliding
with each other neither with the obstacles in the environment and that the algorithm
is capable of calculating the movements in a very short time.
In order to demonstrate that ARoS is able to perform a more complex task, we
developed a model that allows to plan a sequence of different movements: unimanual
and bimanual synchronous movements. Thus, it was projected a third task in which
the robot had to open a thermos bottle and pour the liquid into a glass. In this
task it was possible to check that the robot is able to plan the entire sequence of
movements, where each movement is calculated in a short time. Furthermore, the
way that the robot performs this task is similar to the way that humans also would
perform.
vi
Conteúdo
1 Introdução 1
1.1 Motivações Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 A Evolução dos Robôs . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Porquê Robôs Antropomórficos? . . . . . . . . . . . . . . . . 6
1.1.3 Manipulação Bimanual . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Enquadramento e Objetivos . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1 Ponto de Partida . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.2 De Movimentos Assíncronos para Síncronos . . . . . . . . . . 16
1.3 Estrutura da Dissertação . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 Estado da Arte 19
2.1 Classificação de Tarefas Bimanuais . . . . . . . . . . . . . . . . . . . 19
2.2 Manipulação Bimanual na Robótica . . . . . . . . . . . . . . . . . . 22
2.2.1 Métodos de Planeamento de Movimentos Bimanuais . . . . . 25
2.2.1.1 Método Probabilístico RRT . . . . . . . . . . . . . . 25
2.2.1.2 Método Baseado em Comportamentos . . . . . . . . 28
2.2.1.3 Programação por Demonstração . . . . . . . . . . . 29
2.2.1.4 Método Baseado em Sistemas Dinâmicos e Campos
de Força . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3 Manipulação Bimanual nos Humanos . . . . . . . . . . . . . . . . . . 34
2.3.1 Caraterísticas do Braço Humano . . . . . . . . . . . . . . . . 35
2.3.1.1 Cinemática do Braço . . . . . . . . . . . . . . . . . 36
vii
2.3.1.2 Caraterísticas da Mão . . . . . . . . . . . . . . . . . 39
2.3.2 Controlo Motor Humano . . . . . . . . . . . . . . . . . . . . . 43
2.3.2.1 Caraterísticas dos Movimentos do Braço . . . . . . 45
2.3.2.2 “End-State Comfort Effect” em Tarefas Bimanuais . 47
2.3.2.3 Coordenação Motora dos Braços . . . . . . . . . . . 49
3 Plataforma Robótica ARoS 53
3.1 Construção e Caraterísticas . . . . . . . . . . . . . . . . . . . . . . . 53
3.1.1 Disposição dos Braços . . . . . . . . . . . . . . . . . . . . . . 55
3.2 Cinemática dos Braços Robóticos . . . . . . . . . . . . . . . . . . . . 57
3.2.1 Cinemática Direta do Braço Direito . . . . . . . . . . . . . . 59
3.2.2 Cinemática Inversa do Braço Direito . . . . . . . . . . . . . . 64
3.2.2.1 1o Passo: Determinar a posição e orientação do pulso 65
3.2.2.2 2o Passo: Calcular θ4 . . . . . . . . . . . . . . . . . 65
3.2.2.3 3o Passo: Determinar a posição e orientação do coto-
velo a partir de α . . . . . . . . . . . . . . . . . . . 66
3.2.2.4 4o Passo: Determinar θ1, θ2 e θ3 . . . . . . . . . . . 67
3.2.2.5 5o Passo: Determinar θ5, θ6 e θ7 . . . . . . . . . . . 68
3.2.3 Cinemática Direta do Braço Esquerdo . . . . . . . . . . . . . 69
3.2.4 Cinemática Inversa do Braço Esquerdo . . . . . . . . . . . . . 74
3.3 Mãos Robóticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.3.1 Cinemática Direta da Mão . . . . . . . . . . . . . . . . . . . 75
3.3.2 Cinemática Inversa da Mão . . . . . . . . . . . . . . . . . . . 77
4 Planeamento de Movimento Bimanual Síncrono 79
4.1 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2 Seleção das Posturas Finais . . . . . . . . . . . . . . . . . . . . . . . 83
4.2.1 Tipos de Grip . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2.2 Postura Final das Mãos . . . . . . . . . . . . . . . . . . . . . 87
4.2.3 Postura Final dos Braços . . . . . . . . . . . . . . . . . . . . 89
4.3 Seleção das Trajetórias . . . . . . . . . . . . . . . . . . . . . . . . . . 92
viii
4.3.1 Movimento Direto . . . . . . . . . . . . . . . . . . . . . . . . 92
4.3.2 Movimento de Back-and-Forth . . . . . . . . . . . . . . . . . 93
4.3.2.1 Seleção da Postura de Bounce . . . . . . . . . . . . 94
4.4 Tempo Total do Movimento . . . . . . . . . . . . . . . . . . . . . . . 96
4.5 Implementação do Software de Otimização . . . . . . . . . . . . . . . 97
4.5.1 Modelação do Corpo do ARoS e Obstáculos . . . . . . . . . . 97
4.5.2 Problemas de Otimização . . . . . . . . . . . . . . . . . . . . 99
4.5.3 Software de Otimização . . . . . . . . . . . . . . . . . . . . . 101
5 Sistema Geral de Planeamento de Movimentos 103
5.1 Software de Planeamento de Movimento . . . . . . . . . . . . . . . . 103
5.2 Simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6 Validação do Modelo de Planeamento de Movimento Bimanual Sín-
crono 109
6.1 Tarefa 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.1.1 Implementação da Tarefa em Software . . . . . . . . . . . . . 111
6.1.1.1 Criação do Cenário em Simulador . . . . . . . . . . 111
6.1.1.2 Formulação dos Movimentos . . . . . . . . . . . . . 111
6.1.1.3 Tipos de Grip . . . . . . . . . . . . . . . . . . . . . 114
6.1.2 Desempenho do Planeamento da Tarefa - Resultados . . . . . 115
6.1.3 Comparação com o Desempenho Humano . . . . . . . . . . . 119
6.2 Tarefa 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.2.1 Implementação da Tarefa em Software . . . . . . . . . . . . . 121
6.2.1.1 Criação do Cenário em Simulador . . . . . . . . . . 121
6.2.1.2 Formulação dos Movimentos . . . . . . . . . . . . . 122
6.2.1.3 Tipos de Grip . . . . . . . . . . . . . . . . . . . . . 125
6.2.2 Desempenho do Planeamento da Tarefa - Resultados . . . . . 126
6.2.3 Comparação com o Desempenho Humano . . . . . . . . . . . 130
6.3 Conclusões Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
ix
7 Validação do Modelo de Planeamento de Movimentos Bimanuais e
Unimanuais 135
7.1 Definição da Tarefa 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.1.1 Sequência e Coordenação dos Movimentos . . . . . . . . . . . 136
7.2 Implementação da Tarefa em Software . . . . . . . . . . . . . . . . . 138
7.2.1 Criação do Cenário em Simulador . . . . . . . . . . . . . . . 138
7.2.2 Formulação dos Movimentos . . . . . . . . . . . . . . . . . . 139
7.2.3 Tipos de Grip . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
7.3 Desempenho do Planeamento da Tarefa . . . . . . . . . . . . . . . . 146
7.4 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
8 Conclusões e Trabalho Futuro 153
8.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
8.2 Relevância Científica . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
8.3 Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Bibliografia 159
x
Lista de Abreviaturas
Abreviatura Descrição
ARoS Anthropomorphic Robotic System - Plataforma robótica
antropomórfica da Universidade
DOF Degree Of Freedom - Grau de Liberdade
IK Inverse Kinematics - Cinemática Inversa
PMG Programa Motor Generalizado
RRT Rapidly-exploring Random Trees
SNC Sistema Nervoso Central
xi
Lista de Figuras
1.1 Robô humanóide MM47 . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 WABOT-1, WABOT-2 e ASIMO(2000) . . . . . . . . . . . . . . . . 4
1.3 Exemplos de robôs antropomórficos . . . . . . . . . . . . . . . . . . . 6
1.4 “Uncanny Valley” de Mashiro Mori . . . . . . . . . . . . . . . . . . . 8
1.5 Exemplos de manipulação bimanual de objetos . . . . . . . . . . . . 10
1.6 Robô antropomórfico ARoS . . . . . . . . . . . . . . . . . . . . . . 12
1.7 Tipos de grip: ponto de partida . . . . . . . . . . . . . . . . . . . . . 14
1.8 Fluxograma do planeamento de movimento: ponto de partida . . . . 15
2.1 Classificação de movimentos bimanuais humanos . . . . . . . . . . . 20
2.2 Exemplos de diferentes configurações robóticas bimanuais . . . . . . 24
2.3 Visão geral do processo de planeamento bimanual - Grasp-RRT . . . 27
2.4 Modelo baseado no comportamento . . . . . . . . . . . . . . . . . . . 28
2.5 Esquema do ciclo de programação por demonstração . . . . . . . . . 30
2.6 Sequência das posturas chave referentes à tarefa do chá . . . . . . . 32
2.7 Metáfora da marioneta ao modelo Passive Motion Paradigm . . . . . 33
2.8 Modelo anatómico padrão dos planos imaginários do corpo humano . 35
2.9 Movimentos gerais do braço humano . . . . . . . . . . . . . . . . . . 37
2.10 Representação da cinemática do braço humano . . . . . . . . . . . . 38
2.11 Um objeto-alvo pode ser agarrado com múltiplas configurações do braço 38
2.12 Taxonomia referente às diferentes configurações de manipulação da
mão humana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
xiii
2.13 Taxonomia para tarefas de manipulação da mão humana . . . . . . . 42
2.14 Perfil bell-shaped da velocidade tangencial da mão . . . . . . . . . . 45
2.15 Posture-Based Motion Planning Model . . . . . . . . . . . . . . . . . 46
2.16 Conceito do programa motor generalizado para a coordenação bimanual 50
2.17 Intermanual crosstalk model . . . . . . . . . . . . . . . . . . . . . . . 50
3.1 Representação da plataforma robótica ARoS . . . . . . . . . . . . . 54
3.2 Braços robóticos do ARoS . . . . . . . . . . . . . . . . . . . . . . . 54
3.3 Referencial de origem do mundo para o ARoS . . . . . . . . . . . . 55
3.4 Esquemático para a razão da disposição do braço esquerdo . . . . . . 56
3.5 Cinemática direta e inversa . . . . . . . . . . . . . . . . . . . . . . . 58
3.6 Braço robótico direito na posição zero e respetivos referenciais atribuídos 59
3.7 Referenciais da mão direita e do objeto-alvo . . . . . . . . . . . . . . 63
3.8 Braço robótico do ARoS e a sua redundância . . . . . . . . . . . . . 64
3.9 Representação trigonométrica para o cálculo de θ4 . . . . . . . . . . 66
3.10 Referencial para caraterizar a redundância do braço. . . . . . . . . . 66
3.11 Braço robótico esquerdo na posição zero e respetivos eixos coordenados 70
3.12 Referenciais da mão esquerda e do objeto-alvo . . . . . . . . . . . . . 73
3.13 Rotação ao longo do eixo x . . . . . . . . . . . . . . . . . . . . . . . 74
3.14 Caraterísticas das mãos robóticas do ARoS . . . . . . . . . . . . . . 75
3.15 Representação das juntas da mão robótica . . . . . . . . . . . . . . . 76
4.1 Fluxograma do processo de planeamento de movimento bimanual
síncrono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.2 Classificação dos modos de manipulação de objetos com em taxonomias 86
4.3 Tipos de grip de precisão e força . . . . . . . . . . . . . . . . . . . . 87
4.4 Demonstração da relação entre as distâncias dHO e dFH em dois tipos
de grip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.5 Relação entre a orientação da mão e do objeto-alvo . . . . . . . . . . 90
4.6 Representação do corpo do ARoS com as suas esferas e cilindro . . . 98
4.7 Representação de alguns obstáculos em elipsoides . . . . . . . . . . . 98
xiv
5.1 Fluxograma do processo de planeamento de movimentos para uma
determinada tarefa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2 Fluxograma do processo de resolução dos problemas de otimização
não-lineares Pa e Pb. . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.3 Simulador do ARoS . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.4 Ilustração da semelhança do objeto real e do objeto em simulador . . 107
6.1 Demonstração do cenário para a Tarefa 1 . . . . . . . . . . . . . . . 110
6.2 Ilustração do cenário em simulador da Tarefa 1 . . . . . . . . . . . . 111
6.3 Sequência de movimentos bimanuais planeados para a Tarefa 1 . . . 112
6.4 Demonstração da orientação das mãos com os seus objetos-alvo para
a Tarefa 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.5 Representação da sequência e caraterísticas dos movimentos da Tarefa
1 obtidos no simulador do ARoS . . . . . . . . . . . . . . . . . . . . 116
6.6 Modelação dos braços robóticos para a Tarefa 1 . . . . . . . . . . . . 117
6.7 Comparação das posturas dos humanos vs. do robô ARoS na Tarefa 1 119
6.8 Demonstração do cenário para a Tarefa 2 . . . . . . . . . . . . . . . 120
6.9 Ilustração do cenário em simulador da Tarefa 2 . . . . . . . . . . . . 121
6.10 Sequência de movimentos bimanuais planeados para a Tarefa 2 . . . 122
6.11 Demonstração da orientação das mãos com os seus objetos-alvo para
a Tarefa 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.12 Representação da sequência e caraterísticas dos movimentos da Tarefa
2 obtidos no simulador do ARoS . . . . . . . . . . . . . . . . . . . . 127
6.13 Modelação dos braços robóticos para a Tarefa 2 . . . . . . . . . . . . 128
6.14 Versão 1 do comportamento humano para a realização da Tarefa 2 . 131
6.15 Versão 2 do comportamento humano para a realização da Tarefa 2 . 131
6.16 Demonstração da execução real da Tarefa 2 pelo ARoS . . . . . . . . 132
7.1 Demonstração de robôs capazes de desempenhar tarefas humanas . . 136
7.2 Ilustração do cenário em simulador da Tarefa 3 . . . . . . . . . . . . 139
7.3 Sequência de movimentos planeados para a Tarefa 3 . . . . . . . . . 140
xv
7.4 Demonstração da orientação das mãos com os seus objetos-alvo para
a Tarefa 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
7.5 Representação da sequência e caraterísticas dos movimentos da Tarefa
3, obtidos no simulador do ARoS . . . . . . . . . . . . . . . . . . . . 151
xvi
Lista de Tabelas
2.1 Resultados do desempenho do método de planeamento IK-RRT . . . 26
3.1 Dimensões do braço robótico do ARoS . . . . . . . . . . . . . . . . 55
3.2 Limites das sete juntas do braço direito e esquerdo . . . . . . . . . . 57
3.3 Parâmetros de Denavit-Hartenberg para o braço direito de 7-DOFs . 60
3.4 Parâmetros de Denavit-Hartenberg para o braço esquerdo de 7-DOFs 71
3.5 Dimensões da mão robótica e outros parâmetros . . . . . . . . . . . 75
3.6 Parâmetros de Denavit-Hartenberg para cada dedo k da mão robótica 76
4.1 Tipos de grip que o sistema de planeamento de movimento reconhece 87
6.1 Formulação dos movimentos que compõem a Tarefa 1 . . . . . . . . 114
6.2 Descrição dos tipos de grip da Tarefa 1 . . . . . . . . . . . . . . . . . 115
6.3 Valores dos parâmetros envolvidos nos problemas de otimização da
Tarefa 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.4 Resultados numéricos para os problemas de otimização Pa e Pb da
Tarefa 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.5 Formulação dos movimentos que compõem a Tarefa 2 . . . . . . . . 125
6.6 Descrição dos tipos de grip da Tarefa 2 . . . . . . . . . . . . . . . . . 126
6.7 Valores dos parâmetros envolvidos nos problemas de otimização da
Tarefa 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.8 Resultados numéricos para os problemas de otimização Pa e Pb da
Tarefa 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
xvii
7.1 Formulação dos movimentos que compõem a Tarefa 3 . . . . . . . . 145
7.2 Descrição dos tipos de grip da Tarefa 3 . . . . . . . . . . . . . . . . . 147
7.3 Formulação dos parâmetros dos problemas de otimização da Tarefa 3 148
7.4 Resultados numéricos para os problemas de otimização Pa e Pb da
Tarefa 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
xviii
Capítulo 1
Introdução
A robótica antropomórfica é uma área em forte crescimento. Os sistemas robóticos
deixaram de ser preferencialmente utilizados nas indústrias e estão a adotar novas
aplicações, nomeadamente, para a assistência a humanos. Assim sendo, um grande
interesse no desenvolvimento de robôs autónomos e capazes de colaborar com humanos
em tarefas partilhadas, que envolvam a manipulação de objetos tem vindo a crescer.
De acordo com alguns investigadores, por exemplo Fukuda et al. (2001), Breazeal
(2003), Duffy (2003), Schaal (2007), o aspeto antropomórfico do robô e os movimentos
semelhantes aos dos humanos são duas características fundamentais para promover a
interação entre o humano e o robô. A interpretação dos movimentos pelo humano
é facilitada e o facto do robô apresentar uma forma antropomórfica permite a este
tirar vantagem do seu corpo, já que os ambientes humanos estão adaptados à forma
do corpo humano.
A área da manipulação bimanual em robôs antropomórficos é uma recente e
importante área de investigação que tem vindo a ganhar atenção ao longo dos últimos
anos (Smith et al., 2012). Esta área depara-se com um grande desafio devido à alta
complexidade intrínseca ao controlo e coordenação dos dois braços, especialmente
quando os movimentos têm que ser semelhantes aos dos humanos e realizados num
ambiente dinâmico e não controlado.
Este capítulo introdutório inicia com uma descrição das motivações gerais que
levaram à escolha do tema. Posteriormente, é feito um enquadramento do tema desta
1
Capítulo 1 - Introdução
dissertação, juntamente com os objetivos. Por último, é apresentada a estrutura da
dissertação.
1.1 Motivações Gerais
1.1.1 A Evolução dos Robôs
Ao longo do tempo o ser humano tem tentado encontrar soluções que lhe permitam
facilitar, de algum modo, o seu trabalho e melhorar a qualidade de vida. Com a
Revolução Industrial o Homem conseguiu um grande avanço nesse sentido, pois, deu
os primeiros passos com a criação de máquinas industriais capazes de substituir o
humano em determinados trabalhos.
O conceito dos robôs humanóides surgiu em 1921, quando o dramaturgo Checo
Karel Capek escreveu a peça de teatro Rossum’s Universal Robots, em que introduziu
pela primeira vez a palavra ”robô”, como um autómato com uma forma humana
capaz de servir e interagir com o Homem.
Entretanto, na indústria, os robôs começaram a desenvolver-se e a ganhar grande
popularidade. Estes robôs eram sistemas mecânicos programados para executar uma
determinada tarefa vezes sem conta e num ambiente muito bem estruturado, como o
da indústria. Estavam assim, longe de serem os robôs introduzidos por Karel, isto é,
com morfologia e comportamento semelhante à do humano e capazes de interagirem
com pessoas. Contudo, os robôs industriais desenvolveram-se rapidamente pois o seu
uso permitia grandes vantagens como: o aumento da produtividade, a redução dos
custos de fabricação, a melhoria da qualidade do produto, a substituição das tarefas
pesadas e desgastantes para o operador humano por um robô, entre outras. Estes
foram os principais fatores que levaram à expansão e desenvolvimento destes robôs a
uma larga variedade de aplicações industriais.
Com o avanço da tecnologia e com a familiarização com as máquinas industriais, a
visão de Karel Capek, relativamente aos robôs antropomórficos começou gradualmente
a ganhar interesse, sobretudo, nas Universidades. Estes robôs deveriam apresentar
uma forma antropomórfica, ou seja: exibir duas pernas para caminhar e dois braços
2 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 1 - Introdução
Figura 1.1: Robô humanóide MM47 desempenhando tarefas com os dois braços (imagem
da revista: Popular Mechanics, Julho de 1961).
para manipular objetos como o ser humano. A razão que levou os cientistas a
debruçarem-se na criação de robôs antropomórficos sempre foi a ideia de criarem
cópias de si mesmos, como afirma Fukuda et al. (2001).
Nos finais de 1950, o cientista e engenheiro Claus Scholz desenvolveu um robô
com um aspeto muito semelhante ao do humano, como se pode ver na figura 1.1.
Dadas as limitações da época o robô era operado por controlo remoto de modo a
poder movimentar-se e manipular objetos com os dois braços. Posteriormente, outros
se seguiram na investigação destes novos robôs, como a Universidade de Waseda que
se mostrou pioneira no desenvolvimento da robótica antropomórfica com o início do
projeto WABOT (WAseda roBOT) em 1970, que levou à criação do robô humanóide
WABOT-1 em 1973, ilustrado na figura 1.2a. Este é um robô capaz de andar com as
suas pernas e capaz de agarrar e transportar objetos com as mãos. Mais tarde, em
1984 nasceu o WABOT-2 (figura 1.2b), um robô mais avançado capaz de ler uma
pauta de música com o seu sistema de visão e tocar piano com as suas mãos.
Por outro lado, potentes empresas tecnológicas também ganharam interesse
neste tipo de robôs. Um dos casos foi a empresa HONDA que em 1986 deu os seus
primeiros passos nesta área da robótica antropomórfica, começando por estudar
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
3
Capítulo 1 - Introdução
o princípio da locomoção com duas pernas e, posteriormente, passando para os
movimentos dos braços e das mãos. No ano de 2000, nasce o robô ASIMO, um robô
bastante avançado tecnologicamente e com uma perfeita semelhança com uma pessoa
(ver figura 1.2c).
(a) WABOT-1 (b) WABOT-2 (c) ASIMO
Figura 1.2: WABOT-1, um dos primeiros robôs antropomórficos em grande escala, cons-
tituído por um sistema de controlo dos membros superiores e inferiores e sistema de visão.
WABOT-2, um robô já mais avançado em comparação com WABOT-1, que conseguia tocar
piano. ASIMO(2000) um robô com uma aparência bastante semelhante a uma pessoa e de
grande nível tecnológico.
Consequentemente, imensos robôs antropomórficos começaram a surgir, o inte-
resse começou a ser tão grande que em 2000 se criou uma conferência internacional
direcionada para a robótica humanóide, a IEEE/RAS Conferência Internacional de
Robôs Humanóides. Todo este interesse e desenvolvimento tecnológico originou uma
enorme expansão desta área da robótica, dando assim, origem a um novo conceito:
robôs de serviço. De acordo com Schraft and Schmierer (2000) estes robôs são
plataformas robóticas que operam de forma autónoma, parcial ou totalmente, na
realização de tarefas com o intuito de proporcionar o bem-estar do humano.
A presença destes robôs de serviço pode ser visível em várias áreas do nosso
quotidiano, nomeadamente: no ambiente doméstico como robôs que aspiram a casa
e limpam piscinas autonomamente (http://www.irobot.com); nos hospitais como
robôs que transportam os medicamentos (Engelberger (1993)) e até mesmo robôs
4 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 1 - Introdução
que colaboram em intervenções cirúrgicas com os médicos (Lanfranco et al., 2004);
robôs guias em museus (Burgard et al., 1999), entre outras áreas.
Contudo, estas aplicações apenas nos trazem robôs autónomos para o nosso
ambiente, onde a interação entre o humano e o robô não existe. Mas apesar de tudo
são um grande avanço para que os robôs com capacidade de interação com humanos,
chamados de robôs sociais (Fong et al., 2003), se apresentem na sociedade humana
com o propósito de servir, cuidar, conviver e sobretudo, interagir com o humano no
seu meio (Schaal, 2007).
O interesse nestes robôs sociais tem vindo a crescer e a prova é que atualmente
já existem muitos tipos de robôs e cada um direcionado para uma determinada área,
como por exemplo:
• Para cuidados de saúde - Tem-se o caso do robô Robovie (Sabelli et al., 2011),
um robô humanóide remotamente operado para manter uma conversa com
pessoas idosas. O robô RIBA que transporta pessoas com falta de mobilidade
da cama para a cadeira ou o contrário (Mukai et al., 2010);
• Educação das crianças - Um exemplo é o robô QRIO (Tanaka et al., 2007)
que interage com crianças através de movimentos, dançando e imitando-as.
Para o caso de crianças autistas, estas parecem reagir também muito bem aos
robôs humanóides, de acordo com Robins et al. (2005);
• Trabalhos em ambientes perigosos - Tem-se o caso dos robôs criados por
Kim et al. (2006) para lidar com resíduos radioativos;
• Exploração do espaço - Como o caso do Robonaut 2 da NASA (Diftler et al.,
2011) e o SAR-401 da Russia;
• Trabalhos nas linhas de montagem das fábricas - Um exemplo deste
tipo de robôs é o Baxter (para mais informação tem-se o site: http://www.
rethinkrobotics.com) adaptado para trabalhar juntamente com as pessoas
numa fábrica. Um outro exemplo é o robô Nextage criado pela indústria
Japonesa Kawada (consultar o site: http://nextage.kawada.jp/en/)
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
5
Capítulo 1 - Introdução
Resumindo e concluindo, é de salientar que os robôs rumam a um futuro com foco
no ambiente humano, onde terão que trabalhar e interagir com humanos. Portanto,
para o sucesso destes robôs, eles precisam de ser aceites pelo Homem, correspondendo
assim, a certos padrões sociais e comportamentais aceites pelas pessoas. Assim sendo,
a robótica terá que abraçar novas áreas de pesquisa como psicologia, neuropsicologia,
sociologia e ética de forma a estudar o comportamento humano e aplicar aos robôs
(Restivo, 2001; Schaal, 2007; Fong et al., 2003).
1.1.2 Porquê Robôs Antropomórficos?
Antropomorfismo deriva da palavra Grega “anthropos” para homem e “morphe” para
forma ou estrutura, representa a tendência em atribuir caraterísticas humanas a
objetos inanimados e animais com o propósito de ajudar a racionalizar ou interpretar
as suas ações (Duffy, 2003). A criação deste tipo de robôs antropomórficos (ver
figura 1.3) representa um grande desafio para a engenharia e ciência, mas no entanto
não deixa de ser motivadora a sua investigação. Ao longo deste subcapítulo são
apresentados alguns pontos que dão força para que se continue a investir nestes robôs
com caraterísticas humanas.
(a) QRIO (b) ASIMO (c) Rollin’ Justin (d) ARMAR III
Figura 1.3: Alguns exemplos de robôs antropomórficos: em (a) QRIO da Sony (imagem
retirada do site: http://sitedojapao.webnode.pt/tecnologias/) e em (b) ASIMO da
Honda (imagem retirada do site: http://asimo.honda.com/gallery/), robôs perfeitamente
humanoides; em (c) Rollin’ Justin, desenvolvido por Borst et al. (2009), é um robô que apesar
de não ter duas pernas não deixa de ter semelhanças com uma pessoa e em (d) ARMAR III
(Asfour et al., 2006)
6 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 1 - Introdução
Para os robôs sociais, ou antes, robôs capazes de colaborar e interagir com
humanos, o facto de serem feitos à semelhança do humano é visto como uma mais
valia, pois i) o ambiente humano é projetado e construído atendendo à morfologia
humana; ii) os humanos conseguem desempenhar uma variedade de tarefas e dotar o
robô com a mesma morfologia permite que este tenha essa mesma capacidade.
Por outro lado, para uma eficiente interação entre humano e o robô porque não
compreender primeiro a interação entre humano e humano? Pois bem, nós humanos
enquanto observamos as ações de um outro humano conseguimos interpretar e
antecipar o seu comportamento através dos movimentos do corpo como o das mãos,
da cabeça, dos olhos; das expressões faciais; dos sons, entre outros. De acordo com
Sebanz et al. (2006) a previsão das intenções do parceiro através da observação
dos seus movimentos é considerado um ponto fundamental para uma eficiente ação
conjunta entre dois indivíduos. Pois, através da visualização dos movimentos e do
comportamento do parceiro, permite ao outro indivíduo (que observa) selecionar um
comportamento complementar adequado (Bicho et al., 2011). Por conseguinte, a
interação entre humano e robô pode ser facilitada se o robô apresentar uma morfologia
e comportamento semelhante ao do humano, de modo a que o humano consiga ler e
interpretar as intenções do robô e vice-versa (Fukuda et al., 2001; Breazeal, 2003;
Duffy, 2003; Schaal, 2007). O antropomorfismo pode-se assim dizer que é uma
tentativa de criar uma espécie de linguagem para a interação entre humano e robô.
A morfologia e comportamento do robô representa um papel fundamental nas
primeiras impressões e futuras expectativas que o humano cria acerca do robô. Assim
sendo, tanto a estrutura como o comportamento do robô deve estar adequado à
função para a qual ele é destacado (Leite et al., 2013), de modo a que o humano
se sinta confortável com a sua presença. Para isso, o robô deve projetar uma
quantidade de semelhança com um humano (traduzido da expressão em Inglês:
“humanness”), mas sem deixar de mostrar aspetos que indicam que é um robô (ou
seja, mostrar uma quantidade de “robotness”). Por outras palavras, deve haver um
equilíbrio entre a quantidade de semelhança humana da estrutura do robô com as suas
capacidades cognitivas. Isto para que o humano não desenvolva falsas expectativas
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
7
Capítulo 1 - Introdução
Figura 1.4: “Uncanny Valley” de Mashiro Mori.
em relação ao comportamento do robô (Duffy, 2003; Fong et al., 2003). Um exemplo
claro deste pensamento é o caso da robô rececionista (Gockley et al., 2005), a
cara perfeitamente humana do robô (disposta num ecrã) criou altas expectativas
aos utilizadores humanos relativamente às capacidades de diálogo da rececionista
robô. Mas, como as expectativas não foram correspondidas, o tempo que as pessoas
despendiam com a rececionista diminuiu dia após dia. Aquele robô deixou de ser
interessante para o utilizador.
De realçar, que o excesso de realismo nem sempre é bem aceite pelo humano.
Estudos conduzidos por Mashiro Mori em 1970 e posteriormente revisitados por
Dautenhahn (2002) e DiSalvo et al. (2002), indicam que a progressão de um robô não
realista para um robô muito semelhante ao humano não é linear. Ou seja, quanto
mais próximo o robô se assemelha a um humano, mais aceitação ele vai ganhar dos
humanos. No entanto, pode chegar a um ponto em que pequenas imperfeições tornam
o robô estranho ou até mesmo repulsivo, o chamado de vale misterioso (tradução do
termo original em Inglês “uncanny valley” de Mori), veja-se a figura 1.4.
1.1.3 Manipulação Bimanual
A manipulação bimanual em robôs antropomórficos é uma importante área de
investigação que tem vindo, recentemente, a ganhar bastante atenção (Smith et al.,
2012). Isto porque (e como se pode ler nos pontos anteriores), é esperado que os
8 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 1 - Introdução
robôs apresentem uma estrutura e comportamento semelhante ao do humano, de
forma a facilitar a sua integração no ambiente humano. Portanto, surge a necessidade
do desenvolvimento de modelos que possibilitem aos dois braços e às duas mãos
robóticas desempenharem movimentos humanos e de forma autónoma. Até agora, a
manipulação robótica tem tido bastante desenvolvimento e sucesso nos manipuladores
aplicados à indústria. Pois, estes estão inseridos num ambiente muito bem controlado
o que facilita todo o processo de manipulação e, para além do mais, não necessitam
de coordenar os movimentos de dois braços. Por outro lado, em ambientes complexos,
dinâmicos e repletos de obstáculos como o ambiente humano, os robôs conseguem
executar movimentos mais complicados com os dois braços e mãos, apenas quando
operados por um humano (Kemp et al., 2007). A desvantagem deste método é que
requer a disponibilização constante de uma pessoa para controlar e monitorizar.
A coordenação dos dois braços e das mãos é uma capacidade bastante complexa,
que para nós humanos é bastante óbvia, pois foi alcançada através de muitos anos
de prática e aprendizagem. Por exemplo, numa tarefa normal do dia-a-dia é normal
definir qual o objeto a manipular, que braço e mão (direito ou esquerdo) faz o quê,
de que modo é que a mão agarra o objeto, para onde olhar e quando. Assim, se
o objetivo é dotar o robô com esta capacidade humana de manipulação e se lhe
acrescentarmos: ponto 1) os vários números de graus de liberdade (DOFs), respetivos
aos braços e mãos robóticas, que se tem que controlar (e que requerem grande poder
computacional); ponto 2) as caraterísticas do objeto a manipular, ou seja, se este for
deformável adiciona ainda mais DOFs e torna o movimento imprevisível; ponto 3) a
preocupação com o evitar colisões com obstáculos num meio dinâmico e incontrolável
e ponto 4) movimentos semelhantes aos dos humanos. Está-se perante um problema
muito complexo e considerado como um dos desafios mais exigentes da robótica
(Steffen et al., 2010).
Contudo e apesar dos grandes desafios intrínsecos à manipulação bimanual de
forma humana e autónoma, existem alguns pontos que motivam a sua investigação e
desenvolvimento, nomeadamente:
• O facto de apresentar dois braços e duas mãos possibilita ao robô uma maior
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
9
Capítulo 1 - Introdução
destreza e habilidade para executar uma determinada tarefa do dia a dia
humano (visto que o ambiente está adaptado ao corpo humano, ou seja, a dois
braços e duas mãos). Por outro lado, permite controlar dois objetos e controlar
os objetos um em relação ao outro (Edsinger and Kemp, 2008). Por exemplo:
abrir uma garrafa requer o uso obrigatório de duas mãos, uma para segurar e
outra para remover a tampa (Steffen et al., 2010); ou até mesmo dobrar roupa
ou uma folha de papel, como no caso apresentado em Elbrechter et al. (2012).
• Se o objetivo é colocar o robô para interagir com um humano, faz todo o
sentido, que este apresente uma morfologia semelhante (dois braços e duas
mãos parecidos com os dos humanos) para que os seus movimentos sejam
mais facilmente compreendidos pela pessoa que interage com o robô (como foi
argumentado na secção anterior).
• Dois braços e mãos estendem o espaço de trabalho do robô, estendem também
a quantidade de tarefas que ele pode desempenhar e diminuem o tempo que
demora a tarefa a ser executada.
(a) (b) (c) (d)
Figura 1.5: Exemplos de robôs a manipular objetos com os dois braços-mãos de forma
autónoma. Em (a) os dois braços trabalham de forma coordenada de modo a permitir abrir
a garrafa (Steffen et al., 2010). Na figura (b) as duas mãos do robô dobram uma folha de
papel (Elbrechter et al., 2012). Na figura (c) o robô ARMAR III agarra, um objeto com as
duas mãos em simultâneo (Vahrenkamp et al., 2010). Em (d) o robô ASIMO da Honda, com
uma mão segura a garrafa e com a outra o copo.
Esta ampla gama de motivações para a construção de robôs com dois braços e
mãos levou a que se investisse e, consequentemente, se desenvolvessem várias aplica-
10 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 1 - Introdução
ções (Smith et al., 2012). Na figura 1.5 podem-se ver alguns casos que representam
“o fruto” desta investigação, robôs autonomamente a manipular objetos com as duas
mãos.
De notar então que esta é uma área bastante promissora, mas, sem futuros
avanços muitas aplicações robóticas, destinadas a existir na sociedade humana não
serão possíveis, tais como: robôs para ajuda nas tarefas domésticas; robôs para
trabalhar nas linhas de montagem das fábricas juntamente com humanos; robôs para
ajudar os idosos e outras pessoas com pouca mobilidade; para auxílio em operações
cirúrgicas; para exploração do espaço; entre outras.
1.2 Enquadramento e Objetivos
Como foi referido anteriormente, a área da manipulação bimanual em robôs antro-
pomórficos é uma jovem área de investigação em grande expansão, existindo ainda
muitos desafios a contornar e novas soluções a desenvolver. Sendo por isso, muito
motivador e excitante a realização de trabalhos de investigação e desenvolvimento
neste campo.
Com este trabalho pretende-se que os resultados possam contribuir no avanço
da nova geração de robôs para que se consiga, muito brevemente, integrar estes
robôs sociais ou se se preferir de serviços, na sociedade humana. Este projeto dá
seguimento ao trabalho anteriormente desenvolvido por investigadores do Laboratório
de Robótica Móvel e Antropomórfica da Universidade do Minho. Como tal, na secção
que se segue faz-se um ponto da situação, de um modo resumido, do trabalho
desenvolvido que serve como ponto de partida para o projeto desta dissertação.
Posteriormente, são apresentados os aspetos e objetivos a ter em consideração no
desenvolvimento e implementação do trabalho proposto nesta dissertação.
1.2.1 Ponto de Partida
O projeto da manipulação robótica iniciou-se com o trabalho de Costa e Silva (2011),
em que se desenvolveu um modelo de planeamento e controlo de um braço e de
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
11
Capítulo 1 - Introdução
uma mão robótica do robô antropomórfico ARoS, de forma a este poder executar
movimentos unimanuais de alcançar, agarrar e manipular objetos, de modo muito
semelhante aos efetuados pelos humanos e livres de colisões. Isto numa primeira
versão, posteriormente, adaptou-se um segundo braço e mão robótica no ARoS
(concretamente o braço esquerdo) e alargou-se a gama de movimentos “human-
like” unimanuais para bimanuais coordenados assíncronos (Araújo, 2013). Por
outras palavras, o sistema de planeamento e controlo do braço robótico planeava e
movimentava um braço de cada vez.
A plataforma robótica ARoS foi projetada e construída no Laboratório de
Robótica Móvel e Antropomórfica do Departamento de Eletrónica Industrial da
Universidade do Minho (Silva, 2008). Esta consiste num tronco estático equipado
com dois braços antropomórficos (recentemente adicionado o segundo braço) com
7 graus de liberdade em cada braço (ombro - 3 DOFs, cotovelo - 1 DOF, pulso - 3
DOFs); duas mãos robóticas com três dedos cada, o que perfaz um total de 4 graus
de liberdade, por cada mão; um sistema de visão estéreo e também um ecrã disposto
no seu peito. Na figura 1.6 pode-se ver uma foto do robô.
Figura 1.6: Robô antropomórfico ARoS da Universidade do Minho
Existem muitas maneiras para permitir que o robô agarre um determinado
objeto, pois este pode ser agarrado em diferentes posições e orientações. Para além
do mais, devido às caraterísticas do braço robótico, para uma determinada posição e
orientação da mão este consegue obter uma grande variedade de possíveis posturas
12 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 1 - Introdução
do braço. Consequentemente, com a existência de requisitos como a velocidade e a
duração do movimento, faz com que sejam possíveis várias e diferentes trajetórias para
o braço e mão. Assim sendo, o modelo de planeamento de movimento desenvolvido
permite solucionar estes problemas de redundância presentes aquando da ação de
alcançar, agarrar e manipular objetos num espaço de trabalho tridimensional. O
modelo de planeamento para movimentos unimanuais foi baseado em estudos de
observação do comportamento e movimentos humanos, respetivamente dos braços e
das mãos:
• O planeamento de movimento é realizado no espaço articular ou espaço das
juntas (Graziano et al., 2002; Desmurget and Prablanc, 1997);
• As articulações movem-se em sincronia (Breteler and Meulenbroek, 2006);
• O planeamento de movimentos é dividido em dois subproblemas (Elsinger and
Rosenbaum, 2003):
1. Seleção de uma postura final;
2. Seleção da trajetória.
A seleção da postura final é calculada antes do cálculo da trajetória e varia em
função da postura inicial.
• O robô evita a colisão com os obstáculos através da sobreposição de dois
movimentos: a) um movimento direto da posição inicial à final e b) um
movimento de back-and-forth, ou seja, da posição inicial a uma intermédia (em
que não haja colisão com o/os obstáculo/s, chamada postura de bounce) e para
trás (Rosenbaum et al., 1999). Este último movimento, apresentado na alínea
b) é também chamado de movimento de bounce.
• As articulações do braço apresentam uma velocidade angular em forma de sino
(do Inglês bell-shaped) (Wada and Kawato, 2004; Rosenbaum et al., 1995).
O planeamento do movimento para um braço começa com a seleção de uma
postura final apropriada, que tem em conta: 1) a postura inicial da mão e do braço;
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
13
Capítulo 1 - Introdução
2) a informação do Sistema Cognitivo acerca do objeto-alvo e do modo apropriado
para o agarrar e 3) a informação dada pelo sistema de visão relativamente à posição
e orientação dos objetos no cenário. O modo apropriado para agarrar o objeto, dado
à priori pelo sistema cognitivo, é escolhido de entre os quatro possíveis modos de
agarrar, ou mais comummente chamados de tipos de grip. Estes são:
• Polegar à esquerda do objeto, ver figura 1.7a;
• Polegar à direita do objeto, ver figura 1.7b;
• Polegar por cima do objeto, ver figura 1.7c;
• Polegar abaixo do objeto, ver figura 1.7d.
(a) (b) (c) (d)
Figura 1.7: Tipos de grip: ponto de partida
O processo de escolha da postura final para o braço e mão robótica do ARoS divide-
se em: a) seleção do conjunto de valores das juntas dos dedos da mão (definidos pelo
tipo de grip) e b) seleção do conjunto de valores das juntas do braço. Deste modo,
para a seleção do conjunto das juntas do braço, tem-se em conta a minimização do
custo associado ao movimento das juntas de uma posição inicial a uma final e um
conjunto de restrições que permitem definir a postura ideal, como por exemplo: os
limites máximos e mínimos de cada junta, a orientação e posição do objeto-alvo, os
obstáculos, entre outros.
Tendo-se a postura final encontrada, segue-se para a seleção da trajetória
que pode ser constituída pela sobreposição de dois movimentos: movimento direto e
movimento de bounce. Para cada junta, a trajetória respetiva ao movimento direto
da posição inicial à final é calculada. Seguidamente, de forma a verificar se existe
14 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 1 - Introdução
alguma colisão com obstáculos ao longo dessa trajetória, é usado o algoritmo da
cinemática direta para, internamente, simular todo este movimento direto. Assim
sendo, se nenhuma colisão for antecipada o movimento é executado, caso contrário,
entra em ação o movimento de bounce. Para este movimento seleciona-se uma postura
de bounce adequada de modo a permitir determinar o movimento de back-and-forth,
a ser sobreposto ao movimento direto. Para selecionar esta postura de bounce, usa-se
o mesmo critério que para a postura final, isto é, o mínimo deslocamento das juntas.
Para além deste utiliza-se um outro critério, o assegurar um movimento desde o
inicio ao fim livre de colisões, considerando algumas restrições.
Figura 1.8: Fluxograma respetivo ao planeamento de movimento de um braço e mão: ponto
de partida. Fluxograma retirado de Costa e Silva (2011)
Todo o processo acima descrito é relativo ao planeamento de movimento para
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
15
Capítulo 1 - Introdução
um só braço e mão (ou seja, movimento unimanual). Para uma melhor compreensão,
a figura 1.8 apresenta o respetivo fluxograma.
Relativamente aos movimentos bimanuais assíncronos, estes são planeados de
forma semelhante devido ao facto de serem assíncronos. Para tal basta diferenciar
no modelo o braço esquerdo do direito. Os tipos de grip representados na figura 1.7
são válidos para a mão esquerda e direita.
1.2.2 De Movimentos Assíncronos para Síncronos
Tendo-se o ponto de situação feito, esta dissertação tem como objetivo dotar o ARoS
de movimentos bimanuais síncronos, que comparativamente com um humano, realize
tarefas de uma forma semelhante aos humanos. Para ser capaz de realizar tarefas de
um modo “human-like”, o robô tem que cumprir uma série de requisitos, tais como:
• A estrutura do robô deve ser parecida com a de uma pessoa, ser dotado de
dois braços e duas mãos para conseguir manipular objetos tão bem como uma
pessoa;
• Os movimentos dos dois braços e das duas mãos têm que ser realizados de
uma forma semelhante aos realizados pelos humanos, de forma a exibir um
comportamento socialmente aceite;
• O método de planeamento do movimento dos braços e das mãos deve ter em
consideração todos os obstáculos presentes no espaço de trabalho e também o
seu próprio corpo, isto para que o robô possa evitar colisões;
• O processo de cálculo do movimento dos dois braços e mãos, englobando
todas as caraterísticas anteriores, deve ser de tal modo rápido que permita o
planeamento e a execução de todo o movimento em tempo-real.
A necessidade de dotar o ARoS de movimentos bimanuais síncronos, vem da
necessidade de se melhorar cada vez mais as capacidades desta plataforma robótica,
de modo a permitir que possa desempenhar uma maior gama de movimentos e por
conseguinte diferentes tarefas. Assim sendo e a partir do trabalho anteriormente
16 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 1 - Introdução
desenvolvido, é necessário efetuar algumas modificações no sistema de planeamento
e controlo de movimentos. Por isso, os principais objetivos para este trabalho de
dissertação são:
• Estudar o comportamento humano, relativamente aos movimentos dos braços e
mãos para um melhor entendimento da capacidade de coordenação e cooperação
dos braços;
• Definir movimentos bimanuais e novos cenários;
• Dar mais robustez ao processo de otimização, utilizando o solver IPOPT
inserido no software de desenvolvimento MATLAB R©;
• Estender o modelo de planeamento de movimento de unimanual para bimanual;
• Modelar novas restrições temporais e espaciais a serem implementadas no
problema de otimização, a fim de satisfazer os requisitos de sincronização,
essenciais para a execução de tarefas bimanuais;
• Introduzir um comportamento humano nos movimentos dos dois braços e
das duas mãos do ARoS, isto é, o comportamento deve estar presente na
forma como o robô agarra o objeto ou os objetos e, na forma como escolhe os
movimentos atendendo ao objetivo da tarefa.
1.3 Estrutura da Dissertação
As restantes partes deste trabalho de Dissertação estão organizadas da seguinte
forma:
Capítulo 2 é constituído por três subcapítulos. O primeiro apresenta uma classifica-
ção para os movimentos referentes a tarefas de manipulação bimanual de objetos.
O segundo apresenta o estado da arte referente à manipulação bimanual na
robótica e o terceiro referente à manipulação bimanual nos humanos;
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
17
Capítulo 1 - Introdução
Capítulo 3 apresenta importantes aspetos da plataforma robótica ARoS, nomea-
damente, caraterísticas da sua construção e os modelos da cinemática aplicada
aos seus dois braços e duas mãos robóticas.
Capítulo 4 apresenta uma descrição detalhada acerca do desenvolvimento do modelo
de planeamento de movimentos bimanuais síncronos.
Capítulo 5 apresenta o software desenvolvido para o planeamento de uma sequência
de movimentos de uma determinada tarefa e aspetos do simulador do ARoS.
Capítulo 6 descreve as tarefas de manipulação de objetos propostas para a validação
do modelo de planeamento de movimento bimanual síncrono e apresenta os
seus resultados.
Capítulo 7 descreve uma tarefa de manipulação de objetos composta por movimen-
tos bimanuais síncronos e unimanuais, proposta para validar o modelo geral de
planeamento de movimentos.
Capítulo 8 apresenta as conclusões finais de todo o trabalho desenvolvido nesta
Dissertação de Mestrado juntamente com algumas propostas para o trabalho
futuro.
18 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2
Estado da Arte
Este capítulo começa por apresentar uma classificação das tarefas bimanuais tanto
numa perspetiva dos humanos como no domínio da robótica. Posteriormente, é
apresentado o estado da arte relativamente à manipulação bimanual na robótica
e nos humanos. Isto, com o objetivo de se poder comparar estes dois casos, e
assim, tirar algumas conclusões que possibilitem o desenvolvimento de uma nova
abordagem para o planeamento e controlo dos movimentos bimanuais de uma forma
mais “human-like”.
2.1 Classificação de Tarefas Bimanuais
O objetivo deste subcapítulo é fazer um estudo de forma a capturar as caraterísticas
essenciais do comportamento bimanual humano e, posteriormente, no domínio da
robótica.
Diariamente as pessoas realizam um grande número de movimentos com os dois
braços e mãos de forma a desempenhar tarefas de manipulação de objetos. Uma
tarefa bimanual é constituída por uma série de sub-tarefas ou sub-objetivos que cada
braço-mão tem que cumprir, de forma a conseguir realizar com sucesso essa tarefa.
Assim sendo, o investigador Guiard (1987) debruçou-se sobre este tema e propôs a
seguinte classificação para os movimentos dos dois braços humanos:
Manipulação Bimanual Descoordenada - este tipo de manipulação ocorre em
19
Capítulo 2 - Estado da Arte
tarefas em que não é necessário que os dois braços-mãos executem movimentos
coordenados, por outras palavras, cada mão, independentemente, desempenha
parte(s) de uma tarefa. Por exemplo: quando uma mão escreve notas num
papel e a outra segura uma chávena de chá, ver figura 2.1;
Manipulação Bimanual Coordenada - ocorre em tarefas em que os braços execu-
tam os movimentos sincronizados entre eles, de forma a desempenhar diferentes
partes da mesma tarefa. Estes movimentos bimanuais coordenados podem ser
subdivididos em:
• Movimentos simetricamente coordenados - estes são movimentos
em que os dois braços-mãos, basicamente, desempenham o mesmo papel
numa determinada tarefa. Por exemplo: transportar um tabuleiro com as
duas mãos (ver figura 2.1);
• movimentos assimetricamente coordenados - estes são movimentos
em que os dois braços-mãos desempenham, numa tarefa de manipulação
de objetos, ações diferentes mas coordenadas entre si, como escrever no
teclado de um computador (ver figura 2.1).
Figura 2.1: Classificação de movimentos bimanuais humanos
No entanto, no domínio da robótica, Zacharias et al. (2011) propuseram uma
classificação de um outro ponto de vista. Essencialmente, o conceito é visualizar
20 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
o problema da manipulação bimanual dando especial atenção às relações lógicas
e geométricas de uma determinada tarefa. Para as relações lógicas propuseram a
seguinte divisão de movimentos bimanuais:
Logicamente independentes - quando uma mão desempenha um movimento
independente do movimento da outra mão e não interfere no espaço de trabalho
da outra. Pode ser comparado com movimentos bimanuais que ocorram
simultaneamente mas sem ligação entre eles, ou seja, sem dependência nem
interferência. Tem-se como exemplo o caso de se estar a escrever com uma mão
enquanto a outra segura uma chávena de chá e a leva para beber;
Logicamente dependentes - quando os dois braços-mãos obedecem a uma bem
estruturada sequência de ações. Esta categoria de movimentos bimanuais pode
ser sub-dividida em:
• Não cooperativos - quando ambos os braços-mãos não necessitam de
cooperar entre eles, no entanto devem respeitar a ordem da sequência
de sub-objetivos de uma determinada tarefa. Por exemplo, a tarefa de
abrir uma gaveta, alcançar e agarrar um objeto para depois o colocar
dentro da gaveta, não necessita obrigatoriamente dos dois braços-mãos a
cooperar entre eles. Com um braço é possível executar todos estes passos,
a desvantagem é que o processo será mais demorado;
• Cooperativos - quando ambos os braços-mãos precisam de estar tempo-
ralmente e espacialmente coordenados entre si, de forma a desempenhar
com sucesso a tarefa. Um caso para exemplificar pode ser o de retirar a
tampa de uma garrafa, onde é obrigatório o uso das duas mãos, uma para
segurar a garrafa e a outra para retirar a tampa.
Ainda na classificação de Zacharias et al. (2011), quanto à categorização dos
movimentos bimanuais e atendendo à sua relação geométrica segue-se a seguinte
proposta:
Espacialmente independentes - quando o movimento relativo a cada braço-mão
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
21
Capítulo 2 - Estado da Arte
não influência nem restringe o espaço de trabalho do outro. Assim sendo, não
pode existir nenhuma interferência espacial entre os dois manipuladores;
Espacialmente dependentes - quando o movimento de um braço (robótico) in-
fluência ou/e restringe a área de trabalho do outro. Podendo haver possibilidade
de colisão entre os braços-mãos.
No geral, um número de movimentos categorizados a nível lógico podem ser dife-
renciados numa classificação a nível geométrico. Todos os movimentos bimanuais
logicamente dependentes cooperativos são espacialmente dependentes.
2.2 Manipulação Bimanual na Robótica
Motivos muito fortes levam a que se desenvolvam sistemas robóticos bimanuais, como
argumentado no capítulo introdutório, nomeadamente no subcapítulo 1.1.2 e 1.1.3
desta dissertação. Basicamente, as principais razões que levaram a este interesse
podem ser descriminadas da seguinte maneira:
Semelhança com o operador - no caso de sistemas de manipulação por tele-
operação, o operador humano consegue transferir as suas habilidades bimanuais
no lado remoto de uma forma mais intuitiva;
Destreza e força - em algumas aplicações é necessária a combinação de rigidez e
força, que é muito bem conseguida com a disposição de dois braços em paralelo;
e a destreza também é aumentada;
Manipulabilidade - o facto de dispor de dois braços dá maior habilidade e destreza
para manipular objetos, estende o espaço de trabalho e a quantidade de
movimentos. O grande número de DOFs e a redundância oferece grande
performance em muitas aplicações.
Cognição humana - assim como os humanos têm uma compreensão intuitiva
da manipulação bimanual, as ações de um robô que apresente dois braços
são, então, mais fáceis de interpretar por um observador humano. Contudo,
22 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
sistemas bimanuais “human-like”, ou robôs antropomórficos têm sido largamente
utilizados em aplicações relacionadas com a interação entre humano e robô;
Forma humana - os manipuladores robóticos com uma forma humana desempe-
nham com maior facilidade uma tarefa centrada num ambiente humano, pois
este ambiente é projetado atendendo à morfologia dos seres humanos. Por esta
razão, os robôs antropomórficos estão também a ser propostos para aplica-
ções industriais com o intuito de interagir com os trabalhadores humanos ou
substitui-los, sem que seja necessário modificar a área de trabalho.
Existe uma enorme variedade de plataformas robóticas dotadas de dois braços e de
duas mãos. De facto, algumas dessas plataformas são projetadas para realizar tarefas
de manipulação de objetos e podem variar no seu tipo de configuração. Algumas
dessas plataformas são sistemas em que se colocam dois braços robóticos individuais,
a fim de partilhar o mesmo espaço de trabalho, como a plataforma apresentada na
figura 2.2a. No entanto, um notável esforço foi colocado na projeção de plataformas
com dois braços dedicados. Como é o caso do robô Motoman SDA10 (ver figura 2.2b)
e do robô Nextage (figura 2.2c), são robôs industriais capazes de executar movimentos
bimanuais, no entanto apenas apresentam morfologia semi-antropomórfica do tronco
à cabeça estando dispostos numa plataforma fixa a partir do torso. Por outro lado,
existe um outro tipo de plataforma robótica semi-antropomórfica muito semelhante,
mas com mobilidade, como é o caso do robô PR2 ilustrado na figura 2.2d. Por último,
uma plataforma completamente antropomórfica com pernas, braços, cabeça, em tudo
semelhante à morfologia duma pessoa. Este é o caso do robô da empresa Japonesa
Kawada o HRP-4 (ver figura 2.2e).
De entre todos estes tipos de configurações robóticas muitos tipos de aplicações
para os robôs são possíveis como para fins domésticos, para ajudar na educação de
crianças, no trabalho em ambientes perigosos, na exploração do espaço, em trabalhos
na indústria e entre muitos outros.
A literatura acerca de sistemas bimanuais é ampla e densa de conteúdo como se
pode verificar através do trabalho de Smith et al. (2012), em que apresentam uma
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
23
Capítulo 2 - Estado da Arte
(a) PRISMA Lab (b) SDA10 (c) Nextage
(d) PR2 (e) HRP-4
Figura 2.2: Exemplos de diferentes configurações robóticas bimanuais: (a) Dois braços
robóticos individuais PRISMA Lab (Caccavale et al., 2008); (b) Manipulador bimanual
industrial Motoman SDA10 (Bloss, 2010); (c) Robô semi-antropomórfico industrial Nextage
da empresa Kawada (http://nextage.kawada.jp/en/); (d) PR2, robô semi-antropomórfico
móvel (Oyama et al., 2009) e em (d) HRP-4, robô completamente antropomórfico também
da empresa Kawada (http://global.kawada.jp/mechatronics/hrp4.html).
visão detalhada deste tema destacando alguns desenvolvimentos recentes na área da
manipulação robótica, nomeadamente nos seguintes campos:
• Modelação - que diz respeito ao modo como modelar o sistema de forma a este
conseguir alcançar uma posição-alvo ou agarrar e manipular um objeto com os
dois braços-mãos;
• Controlo - que diz respeito aos métodos de controlo de força/movimento por
controlo dinâmico ou pela cinemática e controlo através do feedback visual;
• Planeamento - diz respeito aos algoritmos para planeamento de movimento,
trajetória e manipulação bimanual;
24 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
• Aprendizagem - diz respeito aos métodos que permitem fazer com que o robô
aprenda os movimentos, através da observação do comportamento humano.
Contudo e como está mais relacionado com este trabalho de dissertação, no
seguinte subcapítulo é feita uma revisão apenas dos métodos de planeamento de
movimento em plataformas robóticas bimanuais, incluindo os de aprendizagem.
2.2.1 Métodos de Planeamento de Movimentos Bimanuais
Os primeiros robôs com dois braços e mãos eram operados por humanos, portanto,
não havia a necessidade de procurar um método de planeamento de movimento
automático. No entanto com o surgimento de robôs autónomos, a pesquisa por
métodos de planeamento de movimentos bimanuais viu um crescente interesse.
Contudo, e como referido no subcapítulo 1.1.3, dotar um robô humanoide com
capacidade de manipulação bimanual autónoma é um problema bastante complexo.
Os dois braços e mãos são sistemas redundantes com um elevado número de DOFs.
Para além do mais, planear movimentos livres de colisões, no espaço euclidiano, para
um sistema robótico com um elevado número de DOFs foi, desde cedo, considerado
um desafio (Reif, 1979).
Atualmente, existe uma vasta gama de métodos para planeamento de movimentos,
assim sendo, nos subcapítulos seguintes são apresentados aqueles que se focam nos
movimentos bimanuais.
2.2.1.1 Método Probabilístico RRT
O método RRT (do Inglês Rapidly-exploring Random Trees) é das abordagens
probabilísticas mais populares aplicadas ao problema do planeamento da trajetória e
foi, primeiramente, introduzida por LaValle (1998).
Vahrenkamp et al. (2009), apresentaram um método computacionalmente efi-
ciente para o planeamento de movimentos bimanuais, combinando o processo da
cinemática inversa (IK), para determinar a configuração das juntas dos braços do
robô para uma dada posição, com o método de planeamento de trajetórias proba-
bilístico - RRT, para determinar um movimento livre de colisões. Os movimentos
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
25
Capítulo 2 - Estado da Arte
bimanuais abordados foram, especialmente, os de agarrar um objeto (em Inglês grasp)
ou repassar o objeto para outra mão (em Inglês conhecido como re-grasp) sem colidir
com nenhum obstáculo em todo o espaço de trabalho do robô. As capacidades da
combinação dos métodos IK com o planeamento baseado na RRT, foram demonstra-
das tanto num ambiente de simulação como num ambiente real de cozinha com o robô
ARMAR-III. Os tempos de computação respetivos a cada método estão apresentados
na tabela 2.1:
Tabela 2.1: Resultados do desempenho do método de planeamento de movimentos bimanuais
IK-RRT nos testes do robô ARMAR III num cenário real de cozinha (retirado de (Vahrenkamp
et al., 2009)).
Posteriormente, este trabalho foi estendido de forma a integrar o planeamento
de grasp e o planeamento de movimento (Vahrenkamp et al., 2010), combinando o
processo de seleção da melhor configuração para agarrar o objeto com o processo de
seleção da melhor trajetória livre de colisões para os dois braços. Como resultado
desta combinação é introduzido o processo chamado de Grasp-RRT (ver figura 2.3).
Neste processo, dois processos separados e independentes, um para cada mão, dão
início simultaneamente, com o objetivo de encontrar duas posturas apropriadas: uma
para o braço direito e outra para o esquerdo, de forma a que o robô consiga agarrar
o objeto em causa, e assim, obter duas trajetórias livres de colisões, que levem até
essa postura. Este processo está configurado para procurar e armazenar todas as
posturas e as correspondentes trajetórias, que se encontrem adequadas ao problema
em causa, até a thread principal mandar terminar. Assim que termina, são recolhidas
todas as posturas e trajetórias armazenadas e o sistema de planeamento tem agora a
função de calcular a melhor configuração para os braços e correspondentes trajetórias,
26 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
calculando um índice de qualidade para cada combinação de postura-trajetória dos
dois braços. Consequentemente, se o índice calculado ultrapassa um determinado
threshold, então, segue-se uma verificação de colisão. Finalmente, se não forem
detetadas nenhumas colisões, esta combinação de postura-trajetória para os dois
braços é retornada e executada.
Figura 2.3: Visão geral do processo de planeamento bimanual - Grasp-RRT (retirado de
(Vahrenkamp et al., 2010)).
Embora, Vahrenkamp et al. (2009) e Vahrenkamp et al. (2010) tenham apresen-
tado razoáveis bons resultados, nomeadamente, na solução do problema para alguns
movimentos bimanuais de agarrar objetos. É um facto que este método baseado
no algoritmo RRT falha quando aplicado num ambiente dinâmico, pois não está
preparado para se readaptar, em tempo-real, a mudanças no cenário. Efetivamente,
investigadores ainda estão à procura de um sistema que consiga lidar com tarefas
dinâmicas sob súbitas perturbações.
Além do mais, a utilização de métodos probabilísticos têm uma desvantagem,
geralmente reconhecida na criação de trajetórias para os dois braços, pois o facto de
ser probabilístico pode gerar movimentos não naturais e estranhos para o humano,
como descrito em Zacharias et al. (2011).
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
27
Capítulo 2 - Estado da Arte
2.2.1.2 Método Baseado em Comportamentos
Uma abordagem completamente diferente da anterior foi introduzida por Edsinger
and Kemp (2008). Neste trabalho é apresentado um método de controlo baseado
com comportamentos (em Inglês behaviour-based approach) que permite ao robô
humanoide Domo ajudar uma pessoa a colocar objetos numa prateleira. Esta técnica
foi inicialmente estudada para um só braço robótico e, posteriormente, estendida para
os dois braços. Basicamente, o sistema robótico tem uma série de comportamentos
pré-codificados e, consoante a situação um desses comportamentos é escolhido. O
parceiro humano pode compor a tarefa usando quatro possíveis comportamentos
(ver figura 2.4), cada comportamento tem um respetivo sinal de voz (comando:
VocalRequest). O humano pode pedir um desses comportamentos enquanto o robô
monitoriza a pessoa no cenário (respetivos comandos: PersonSeek, PersonDetetc).
Figura 2.4: Modelo baseado no comportamento (retirado de (Edsinger and Kemp, 2008)).
Esta abordagem reúne vantagens na medida em que permite um melhor e
específico feedback atendendo à situação em que se encontra a interação entre o
humano e o robô. No entanto, uma desvantagem clara desta abordagem é o facto de
se ter que implementar cada comportamento que se deseje ver realizado pelo robô.
Contudo e tal como os métodos probabilísticos (ver ponto 2.2.1.1), este método,
baseado em comportamentos ou amostras apresenta o mesmo problema atendendo
à geometria da trajetória, pois pode ser imprevisível e estranha. Assim sendo,
em Zacharias et al. (2011) este problema da geração de trajetórias human-like
28 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
é considerado. Os autores afirmam que a escolha de uma configuração human-
like para os dois braços, inicial e final, afeta fortemente o grau de human-likeness
do caminho planeado. Além do mais, não é tido em conta o aspeto temporal
(velocidade e aceleração) do movimento. É um facto de que para aceitar e perceber
os movimentos bimanuais como semelhantes aos dos realizados pelos humanos, é
importante considerar aspetos como a velocidade dos movimentos dos dois braços e
as suas interdependências (Schaal, 2007; Duffy, 2003).
2.2.1.3 Programação por Demonstração
A programação por demonstração, também conhecida como a aprendizagem por
imitação, tem sido uma abordagem usada para dar capacidade ao robô de aprender
novas ações apenas pela observação do comportamento e movimentos de uma pessoa.
Assim sendo, este método aborda o problema da geração de movimentos human-like
por parte de um robô antropomórfico, capturando caraterísticas de coordenação tem-
porais e espaciais da manipulação bimanual humana. Seguidamente são apresentados
três trabalhos relativos a esta área.
Começando pelo trabalho de Zöllner et al. (2004), estes propuseram um sistema
baseado na programação por demonstração (em Inglês Programming by Demonstration
- PbD), a fim de dotar uma plataforma robótica humanoide com a capacidade de
observar, aprender e executar tarefas geralmente feitas por humanos. A figura 2.5
ilustra todo o ciclo PbD, este permite a transferência do conhecimento da tarefa
humana para o robô através da extração de informação. Além do mais, este ciclo
destina-se a assegurar que a representação percebida pelo processo de aprendizagem
é aplicável a outros robôs. Basicamente, este ciclo de programação por demonstração
(proposta neste artigo) é composto por uma etapa inicial de perceção e interpretação,
de forma a extrair o máximo de informação possível a partir da tarefa de demonstração.
O passo seguinte, a generalização, ou seja, transformar toda a informação recolhida
numa representação generalizada e resumida, de forma a ser aplicável ao robô. Por
último, mapear a tarefa e transferir as trajetórias para o robô específico.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
29
Capítulo 2 - Estado da Arte
Figura 2.5: Esquema do ciclo de programação por demonstração: da demonstração humana
à execução robótica (retirado de (Zöllner et al., 2004)).
Porém, falta referir que para o controlo da execução de tarefas bimanuais
coordenadas foi desenvolvido um modelo Petri Net. Além disso, é importante notar
que este método preserva a estrutura da tarefa, devido à sua generalização, mas
carece de flexibilidade. Deste modo não permite ao sistema se adaptar a mudanças
no cenário, especialmente, no caso de complexas tarefas de manipulação bimanual.
De notar, que esta proposta de programação por demonstração foi validada com a
tarefa bimanual de abrir um frasco.
Posteriormente, em Asfour et al. (2008) é introduzido um modelo baseado no
Hidden Markov Model (HMM) para aprendizagem por imitação dos movimentos
dos braços humanos para um robô humanoide. Essencialmente, o processo consiste
em criar contínuos HMMs a partir da demonstração dos movimentos bimanuais
pretendidos, executados por várias vezes. Estes modelos são treinados tendo em
conta os traços caraterísticas do movimento, ou pontos chave de cada demonstração.
Assim, apenas são considerados e usados para a reprodução do movimento, os pontos
chave presentes em todas ou quase todas as demonstrações, os chamados de pontos
chave comuns. Asfour e os seus colegas também demonstraram a capacidade da
30 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
utilização do HMM para detetar interdependências temporais entre os braços na
execução de tarefas bimanuais. De facto, a coordenação temporal pode ser muito
útil tal como a coordenação espacial, especialmente, durante movimentos bimanuais
coordenados. Além do mais, a demonstração múltipla da execução de um determinada
tarefa é útil a fim de determinar a veracidade de que a relação temporal entre os
braços detetada é uma condição real.
Este método foi testado usando o modelo cinemático, desenvolvido para simular
a cinemática dos membros superiores humanos de 18-DOFs, em relação aos três
diferentes movimentos bimanuais: apanhar e colocar um objeto com as duas mãos,
desapertar a tampa de um frasco e verter o líquido de um recipiente para um copo.
Os resultados obtidos são encorajadores para os autores, no entanto, eles afirmam
que o método não é invariante a translações e rotações do robô, o que indica que
pode haver alterações aquando uma dessas transformações. Para além disso, esta
abordagem carece de flexibilidade, pois como é uma imitação exata da tarefa de
manipulação leva em conta os objetos manipulados durante a demonstração dos
movimentos. Por outras palavras, o desempenho da imitação diminui quando o
cenário ou os objetos são alterados.
Gribovskaya e Billard em (Gribovskaya and Billard, 2008) combinaram a técnica
de programação por demonstração com um sistema dinâmico para o controlo do
movimento. Essencialmente, o modelo proposto é composto por dois sistemas:
1) um sistema de aprendizagem em que se recolhe e processa os dados durante a
demonstração da tarefa bimanual e os traduz em restrições de coordenação; 2) um
sistema motor que dinamicamente gera o movimento enquanto satisfaz as restrições
de coordenação dadas pelo sistema de aprendizagem. Neste trabalho os autores
defendem que para o robô realizar com sucesso uma tarefa de manipulação bimanual
alguns aspetos da coordenação dos movimentos dos dois braços devem ser tidos em
conta, como as restrições espaciais e temporais.
Atendendo ao processo geral, este inicia com o processo de aprendizagem do
robô que é feito a partir do ensino cinestésico, isto é, por um humano que guia os
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
31
Capítulo 2 - Estado da Arte
braços do robô através dos movimentos necessários para executar a tarefa. Os dados
são, então, recolhidos e baseado na ideia de que um dos braços é mais limitado que
o outro, são extraídas as posturas chave analisando as trajetórias do braço mais
constrangido e a posição relativa entre as duas mãos. As posturas chave do outro
braço são inferidas com base nesses dados. Assim, estas posturas coordenadas são
vistas como posições estáveis, ou antes atratores num sistema de controlo dinâmico,
que devem ser alcançadas tendo em conta uma ordem de forma a executar a tarefa
(ver figura 2.6).
Figura 2.6: Sequência das três posturas chave (posturas coordenadas estáveis) referentes
à tarefa de colocar açúcar numa chávena de chá: 1 - posição inicial, 2 - colocar açúcar na
chávena e 3 - novamente para a posição inicial (imagem retirada de (Gribovskaya and Billard,
2008)).
De forma resumida, esta abordagem tem duas vantagens: 1) as posturas chave
são formuladas como atratores do sistema dinâmico, o que torna o movimento gerado
robusto contra pequenas e rápidas perturbações; 2) a postura relativa entre as duas
mãos é selecionada como a variável que capta as restrições de coordenação durante o
processo de aprendizagem, assim, a execução do movimento é invariante (ou seja,
não se altera quando sofre alguma transformação) a translações ou rotações do robô.
2.2.1.4 Método Baseado em Sistemas Dinâmicos e Campos de Força
Em Mohan et al. (2009) e Morasso et al. (2009) foi proposto um novo e diferente
método para resolver o problema da geração de movimentos bimanuais coordenados,
32 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
combinando o método de campos potenciais artificiais (o Passive Motion Paradigm -
PMP, introduzido por Ivaldi et al. (1988)) com a dinâmica terminal do atrator.
Basicamente, a ideia do PMP é para se conseguir obter os comandos a serem
aplicados aos motores (para qualquer configuração de braços e grau de redundância),
a partir de uma “simulação interna” e um “movimento passivo” induzido por um
“campo de força virtual” aplicado em “pontos focais” do modelo do corpo do robô. De
um modo geral, este método PMP pode ser visto como uma analogia ao mecanismo
de coordenação do movimento de uma marioneta por meio das suas amarras (ver
figura 2.7).
Figura 2.7: Metáfora da marioneta ao modelo Passive Motion Paradigm (imagem retirada
de (Morasso et al., 2009)).
Contudo, o método PMP não considera nenhum mecanismo de controlo de
velocidade. Portanto e de acordo com esta necessidade, a combinação da dinâmica
terminal do atrator foi introduzida de forma a gerar movimentos suaves como os
realizados pelos seres humanos e ser possível controlar o tempo em que se alcança o
objeto-alvo. Assim sendo, a posição-alvo pretendida para o respetivo end-effector (ou
mão robótica) é transformada num estado de atrator do sistema dinâmico. Campos
de força virtuais, induzidos pelo objetivo pretendido e por outras restrições do
movimento, são aplicados ao end-effector e depois mapeados no seu correspondente
campo de força, dentro do espaço das juntas. Os campos de forças repulsivos são
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
33
Capítulo 2 - Estado da Arte
utilizados para implementar os limites das juntas (restrições internas) e possíveis
colisões com obstáculos (restrições externas). Estes campos de força repulsivos são
adicionados aos campos de força atrativa relativos ao alvo, no caso de forças externas
e do espaço das juntas no caso de forças internas.
Os resultados relativos a este trabalho foram obtidos implementando a arquite-
tura computacional descrita acima na plataforma robótica iCub de 53-DOFs. O teste
foi realizado através da aplicação de simples tarefas de manipulação bimanuais como:
alcançar um objeto, agarrar e transportar-lo em cenários simples. Os resultados
desta abordagem foram razoavelmente bons, destacando-se as seguintes principais
vantagens:
• A dinâmica do atrator controla o tempo que leva a atingir o alvo, sendo assim
possível e vantajoso controlar o perfil da velocidade do movimento dos braços
e gerar movimentos suaves tal como os executados pelos humanos;
• Não existe a necessidade de calcular a cinemática inversa nem a necessidade de
processos de otimização.
Contudo, falta verificar o comportamento deste método em tarefas de manipula-
ção bimanual mais complexas e na presença de cenários mais elaborados.
2.3 Manipulação Bimanual nos Humanos
O objetivo deste subcapítulo é fazer um estudo acerca do comportamento de co-
operação dos dois braços e mãos humanas aquando a manipulação de objetos. A
capacidade de cooperação e coordenação dos braços e mãos permitem ao ser humano
agarrar e manipular uma variedade de objetos, e consequentemente, desempenhar
uma vasta gama de tarefas. A responsabilidade pela realização destas ações recaí so-
bre o Sistema Motor Humano, que controla, programa e executa todos os movimentos
tanto dos braços e mãos como dos restantes membros do corpo humano.
Nos subcapítulos seguintes são apresentadas as caraterísticas dos braços e mãos
humanas tal como alguns factos importantes referentes ao controlo do sistema motor
humano, abraçando a área da psicologia e neuropsicologia.
34 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
2.3.1 Caraterísticas do Braço Humano
O corpo humano é composto por um sistema complexo de músculos, ossos e tecidos
moles que permitem o corpo humano se movimentar. Freivalds (2011) indica que os
movimentos desempenhados pelos seres humanos, sendo tridimensionais e centrados
em articulações, podem ser definidos ao longo dos três grandes planos imaginários
que dividem o corpo humano, nomeadamente: o plano sagital, o frontal e transversal
(ver figura 2.8).
Figura 2.8: Modelo anatómico padrão dos planos imaginários do corpo humano (imagem
retirada de http://en.wikipedia.org/wiki/Sagittal_plane).
O plano transversal é um plano imaginário que divide o corpo humano em duas
partes: a superior e inferior. O plano sagital é um plano vertical que divide o corpo
em duas partes: direita e esquerda, enquanto o plano frontal divide o corpo em parte
ventral e dorsal (ou seja, parte da frente e costas), como se pode ver na figura 2.8.
De acordo com a cinesiologia humana, os movimentos que os braços e mãos
conseguem executar estão dependentes das articulações do braço, isto é, do ombro,
cotovelo e pulso. Os principais movimentos do braço são considerados pela anatomia
humana como sete (Maciejasz et al., 2014; Maurel, 1999; Maurel and Thalmann,
1999; Freivalds, 2011; Biryukova et al., 2000), estes são:
Ombro - este permite executar os movimentos: i) de flexão ou extensão, isto é,
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
35
Capítulo 2 - Estado da Arte
elevar o braço totalmente na vertical ou puxar o braço para atrás das costas,
na perspetiva do plano sagital; ii) de adução ou abdução, elevar ou baixar o
braço até o colocar em paralelo com o corpo, na perspetiva do plano frontal;
iii) de rotação interna ou externa.
Cotovelo - a partir desta articulação/junta é possível executar os movimentos:
i) de flexão ou extensão, que corresponde à ação de elevar o antebraço numa
perspetiva do plano sagital ou baixar; ii) de supinação ou pronação, que
corresponde a rodar o antebraço e pulso (este movimento é considerado em
todo o antebraço, por isso também se pode considerar um movimento do pulso).
Pulso - a partir desta articulação/junta é possível executar os movimentos: i) de
adução ou abdução, ou seja, movimentar a palma da mão para a esquerda ou
direita; ii) de extensão ou flexão, movimentar a palma da mão para cima ou
para baixo.
Para um melhor entendimento destes movimentos, ver a figura 2.9 em que se ilustram
todos estes movimentos.
A amplitude destes movimentos pode variar de pessoa para pessoa, pois nem
todos têm a mesma flexibilidade. Como se pode reparar uma mesma articulação
consegue desempenhar mais do que um movimento diferente, isto deve-se ao facto de
existir mais do que um grau de liberdade por articulação/junta. Por isso, na secção
seguinte este tema é abordado.
2.3.1.1 Cinemática do Braço
O braço humano é um sistema composto por três segmentos (a parte superior do
braço, o antebraço e a mão) com sete graus de liberdade (DOFs) (Kim et al., 2012;
Biryukova et al., 2000). A parte superior do braço está conectada ao ombro, que
liga todo o braço ao resto do corpo humano. O cotovelo é a articulação que liga
o braço superior ao antebraço, posteriormente, este estende o cotovelo ao pulso
que liga à mão. Com o estudo da cinemática das articulações, ou seja a partir dos
movimentos do braço (apresentados anteriormente) é possível definir os sete graus
36 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
Figura 2.9: Movimentos gerais do braço humano, centrados nas respetivas articulações
(imagem retirada e editada de (Costa e Silva, 2011)).
de liberdade da seguinte forma: 3-DOFs no ombro, 2-DOFs no cotovelo (podendo
um deles estar representado no cotovelo ou pulso, pois permite um movimento no
cotovelo e pulso simultaneamente) e 2-DOFs no pulso. A figura 2.10 representa esta
cinemática aplicada ao braço humano.
O braço é um dos subsistemas do corpo humano mais redundante, isto porque
ele apresenta 7-DOFs, mas no entanto apenas precisa de 6-DOFs para posicionar e
orientar a palma da mão ou end-effector (Perry et al., 2009). Assim, o braço tem
um DOF adicional que lhe permite realizar mais movimentos. Por conseguinte, este
extra DOF é manifestado como um movimento interno dos segmentos do braço que
não move a mão, chamado assim de redundância cinemática. Dada esta redundância
muitas configurações do braço são possíveis para uma localização específica da
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
37
Capítulo 2 - Estado da Arte
Figura 2.10: Representação da cinemática do braço humano (imagem retirada de (Maciejasz
et al., 2014)).
mão, como se pode ver na figura 2.11. Este fenómeno é matematicamente expresso
Figura 2.11: Um objeto-alvo pode ser agarrado com múltiplas configurações do braço
(imagem retirada e editada de (Tolani et al., 2000)).
numa solução não-única da cinemática inversa do braço (Tolani et al., 2000; Badler
and Tolani, 1996), no entanto para nós humanos o sistema de controlo consegue
chegar a uma só solução (Kim et al., 2012). Por isso, uma razão para aprender
com o comportamento humano, de forma a conseguir resolver este problema da
redundância cinemática da forma mais eficiente e human-like possível e passar para
os manipuladores antropomórficos robóticos.
De notar, que esta redundância apesar dos problemas matemáticos que compre-
ende tem a vantagem de permitir ao braço muitas configurações que possibilitam a
este contornar ou se desviar de obstáculos que possam estar no caminho do braço-mão.
38 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
2.3.1.2 Caraterísticas da Mão
A mão humana é altamente complexa apresentando mais de 20-DOFs com, aproxima-
damente, 4-DOFs por dedo e 5-DOFs no polegar (Kemp et al., 2008). Composta por
cinco dedos, a mão humana é capaz de os controlar resultando, assim, numa grande
gama de movimentos de manipulação (Bullock et al., 2013). Devido a esta grande
variedade de movimentos executados pela mão alguns investigadores debruçaram-se
sobre a sua classificação. Assim sendo, Napier (1956) foi o primeiro a introduzir este
tema e a classificar os movimentos da mão em dois principais grupos:
Movimento Preênsil - movimento em que a mão agarra ou segura o objeto parci-
almente ou totalmente dentro da mão;
Movimento Não-Preênsil - movimento em que nenhuma preensão é efetuada no
objeto, ou seja, o objeto é apenas manipulado por meio de um pequeno contacto
entre ele e a mão.
O estudo de Napier considera, unicamente, o grupo de movimento preênsil em que o
divide em duas categorias: 1) power grip - quando o objeto é agarrado com força
pela mão, os dedos e a palma da mão tocam no objeto; 2) precision grip - quando o
objeto é apenas seguro pelas pontas dos dedos e o polegar oposto a estes.
Posteriormente e seguindo o trabalho de Napier, Cutkosky e Howe em (Cutkosky
and Howe, 1990) propuseram uma taxonomia com base em observações de operadores
que trabalhavam com peças e ferramentas de metal. A taxonomia mostra como
os requisitos da tarefa (como força e movimentos) e a geometria do objeto se
combinam de forma a selecionar o modo como manipular o objeto. Basicamente,
esta classificação divide-se em duas principais categorias, nomeadamente power grasp
e precision grasp, como se pode ver na figura 2.12. À medida que se vai descendo
na árvore hierárquica dos tipos de grasp, os detalhes da tarefa e a geometria do
objeto tornam-se igualmente importantes, de modo a que, na última fase da escolha
da melhor forma para manipular o objeto ambos os requisitos sejam importantes.
Uma vez que a escolha entre um power grasp (aperto de força) ou precision grasp
(aperto de precisão) tenha sido feita, a combinação de considerações relacionadas
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
39
Capítulo 2 - Estado da Arte
Figura 2.12: Taxonomia referente às diferentes configurações de manipulação da mão
humana, proposta por Cutkosky and Howe (1990).
com a tarefa e com a geometria do objeto entra em jogo. Por exemplo, começando
pela parte superior da figura 2.12, supõe-se que quando um power grasp é escolhido,
o seguinte passo é definir se o objeto precisa de ser agarrado ou apenas apoiado.
Se só precisa de ser apoiado, então um aperto não-preênsil com um único ponto de
contacto entre a mão e o objeto. Por outro lado, se o objeto deve ser agarrado então
um aperto preênsil é necessário. Nesta fase, entram as considerações geométricas do
objeto, de forma a decidir se o aperto é circular (em que os dedos cercam o objeto
de forma radial) ou prismático (em que os dedos e o polegar ficam opostos).
Consequentemente, muitas mais taxonomias foram sendo desenvolvidas, uma de-
las é apresentada por Bullock et al. (2013). Esta classificação descreve os movimentos
da mão para uma variedade de contextos e tem a vantagem de poder ser combinada
40 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
com outras taxonomias permitindo, assim, uma descrição mais completa de uma
específica tarefa de manipulação. Na figura 2.13 é apresentada esta classificação.
Para uma melhor compreensão, os termos usados pelos autores para descrever a
natureza de interação da mão com o objeto são seguidamente descriminados:
• Contacto - quando a mão entra em contacto com o objeto;
• Preênsil - quando o contacto entre a mão e o objeto não é apenas um único
ponto de contacto e a mão consegue agarrar o objeto de forma a estabiliza-lo
na mão (definição introduzida por Napier);
• Movimento - quando a mão se move em relação a um ponto de referencial. Este
pode ser dividido em duas categorias:
– movimento dentro da mão, partes da mão tais como os dedos, movem-se
em relação a um ponto fixo da mão;
– movimento não dentro da mão, isto é, o movimento é considerado na mão
inteira.
• Movimento em contacto - quando o objeto se move em relação à mão, podendo
o objeto sofrer uma translação ou rotação (ou até uma combinação das duas
transformações) em relação ao referencial fixo posicionado na mão, no local de
contacto com o objeto.
A grande complexidade da mão humana permite aos humanos realizar imensos
movimentos de manipulação de objetos e, com esta classificação, Bullock e os seus
colegas afirmam que é útil para a análise das estratégias de manipulação dos humanos
e, consequentemente, esta análise pode ser implementada num sistema robótico, com
as apropriadas modificações consoante a arquitetura do robô (Bullock et al., 2013).
Contudo, de acordo com Kemp et al. (2008) estes afirmam que muitas das
posturas e movimentos que os humanos utilizam para agarrar os objetos com as mãos
podem ser aproximados a 2-DOFs, se assim é, mãos mais simplificadas podem ser
suficientes para executar uma vasta gama da tarefas de manipulação.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
41
Capítulo 2 - Estado da Arte
Figura 2.13: Taxonomia para tarefas de manipulação da mão humana, proposta por Bullock
et al. (2013).
42 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
2.3.2 Controlo Motor Humano
Compreender como os vários graus de liberdade existentes no corpo humano, princi-
palmente nos braços e mãos, se coordenam de forma a desempenhar um determinado
movimento de manipulação, é considerado um problema central na área do controlo
motor humano. Existem importantes questões acerca de como o Sistema Nervoso
Central (SNC) considera diferentes variáveis e factores para planear um movimento
e, como é que este é capaz de atualizar o movimento ou re-planear sobre novas
condições.
Muitos estudos têm sido realizados, a partir de observações do comportamento
humano, com o objetivo de tentar compreender o funcionamento do sistema de
controlo motor. Por isso, de acordo com Emadi Andani and Bahrami (2012) é
admitido que o sistema de controlo motor é composto por uma estrutura hierárquica
com três níveis:
Planeamento Motor - nível responsável pelo planeamento do movimento;
Programação Motora - responsável por determinar os respetivos comandos moto-
res (referentes ao movimento);
Execução Motora - camada responsável por aplicar os comandos ao sistema motor.
Estes níveis podem, constantemente, interagir entre eles durante uma determinada
atividade, isto para permitir ao sistema se adaptar ou re-planear o curso do movimento
na presença de perturbações externas como obstáculos, evitando colisões.
Ainda de acordo com Emadi Andani and Bahrami (2012), existe uma variedade
de modelos computacionais que têm como objetivo modelar ou descrever os problemas
intrínsecos ao planeamento de movimento humano. No entanto, estes modelos podem
ser classificados em dois grupos principais:
Modelos baseados em Dados - nestes modelos, um conjunto de dados compor-
tamentais empíricos é usado para construir uma base de dados respetiva a
um determinado movimento. A partir desta base de dados são desenvolvi-
dos modelos cinemáticos diretos e inversos para prever o movimento, usando
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
43
Capítulo 2 - Estado da Arte
caraterísticas do movimento (como as posições finais e iniciais) e os dados antro-
pométricos. O desempenho e a validade destes modelos estão dependentes da
disponibilidade de dados de movimentos que possam definir bem o movimento;
Modelos baseados na Otimização - estes modelos assumem que o sistema ner-
voso central considera vários critérios (modelos) para caracterizar o movimento,
como por exemplo:
• modelo para descrever a suavidade do movimento humano tal como:
minimum jerk (Flash and Hogan, 1985), minimum angular jerk (Friedman
and Flash, 2009) e minimum torque change (Uno et al., 1989);
• modelo para descrever a variabilidade dos movimentos como: minimum
variance (Svinin and Yamamoto, 2010; Harris and Wolpert, 1998) e maxi-
mum task achievement (Miyamoto et al., 2004).
Assim, o principal objetivo destes modelos baseados na otimização é minimi-
zar alguns custos associados com o movimento. Podem ser categorizados em
duas classes, baseadas no tipo de informação usada para o planeamento de
movimento humano, nomeadamente: modelos cinemáticos e modelos dinâmi-
cos. Os modelos como minimum jerk, minimum angular jerk e smoothness
maximization (Todorov and Jordan, 1998) pertencem à classe dos modelos
cinemáticos que se preocupam com a suavidade do movimento, isto é, com a
geometria e o tempo do movimento. As variáveis de interesse são as posições
(como os ângulos das articulções do braço) e as suas respetivas velocidades e
acelerações. Por outro lado, modelos como minimum torque change e minimum
commanded torque change (Nakano et al., 1999) são modelos dinâmicos, isto é,
usam critérios cinéticos para gerar o movimento, como forças. Assim sendo, as
suas variáveis de interesse são o torque (ou binário) da articulação/junta, as
forças que atuam na mão e comandos dos músculos.
Ainda nos modelos de otimização existem aqueles que compreendem ambos
os modelos cinemáticos e dinâmicos, como é o exemplo do modelo minimum
44 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
variance (Svinin and Yamamoto, 2010; Harris and Wolpert, 1998) que é cine-
mático na sua função objetivo, mas dinâmico (ou cinético) no seu algoritmo
computacional.
Todos estes modelos são baseados em caraterísticas comportamentais presentes
nos movimentos dos braços humanos, consequentemente, no ponto seguinte algumas
destas caraterísticas são apresentadas.
2.3.2.1 Caraterísticas dos Movimentos do Braço
Baseado em observações do comportamento humano, Fitts (1954) apesar de ter apenas
estudado quatro experiências em humanos, afirmou que em qualquer movimento
humano existem regularidades na sua execução. Mais tarde, Rosenbaum et al. (1995),
Flash and Hogan (1985), Morasso (1981) estudaram o comportamento do braço
humano na simples tarefa de alcançar um objeto, estas observações levaram a concluir
que a trajetória da mão apresenta um perfil de velocidade em forma de sino (traduzido
da expressão original em Inglês bell-shaped), ver figura 2.14. De acordo com Flash
and Hogan (1985) foi , ainda, sugerido que o SNC planeia os movimentos do braço
tendo em conta um mínimo deslocamento das articulações (minimum angle jerk),
desde o início até ao fim do movimento.
Figura 2.14: Perfil bell-shaped da velocidade tangencial da mão (imagem retirada de (Flash
and Hogan, 1985)).
Contudo, Rosenbaum et al. (2001) fizeram estudos com humanos em que estes
tinham que alcançar e agarrar um objeto, foi proposta a hipótese de que o SNC planeia
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
45
Capítulo 2 - Estado da Arte
os movimentos tendo em conta uma série de posturas memorizadas, o Posture-Based
Motion Planning Model. Basicamente, este modelo seleciona a postura final mais
adequada à tarefa (de entre as posturas em memória) de acordo com uma hierarquia
de restrições, nomeadamente: evitar colisões, minimizar os esforço, precisão do
movimento e eficiência. Consequentemente, de acordo com Elsinger and Rosenbaum
(2003) ficou claro que a seleção da postura final mais adequada à tarefa é selecionada
primeiro e só depois vem a execução do movimento. Assim sendo, o processo de
planeamento de movimentos é dividido em duas fases: 1) seleção de uma postura
final; 2) seleção da trajetória. A figura 2.15 ilustra todo este modelo.
(a) (b) (c) (d)
Figura 2.15: Posture-Based Motion Planning Model introduzida em (Rosenbaum et al.,
2001). (a) posição inicial e respetivo alvo; (b) representação das sete posturas memorizadas
e postura inicial; (c) seleção da postura final; (d) execução do movimento. Imagem retirada
de (Rosenbaum et al., 2001).
A seleção de uma postura final mais adequada é uma caraterística importante,
pois segundo Zhang and Rosenbaum (2008) a forma como nós, humanos, agarramos
um objeto depende do que pretendemos fazer com este. Assim sendo, em simples
tarefas de manipulação de objetos, com um só braço, os humanos preferem adotar uma
posição um quanto desagradável que permita uma postura final bem mais confortável.
Esta caraterística foi descoberta graças a experiências feitas com humanos por
Rosenbaum et al. (1990), em que se chamou a este efeito: end-state comfort effect.
Posteriormente, mais investigações foram levadas a cabo por Rosenbaum e a sua
equipa, para um revisão mais detalhada ver (Rosenbaum et al., 2006). Além de
Rosenbaum, outros investigadores tal como Creem and Proffitt (2001) debruçaram-se
46 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
sobre este efeito, mas para simples tarefas unimanuais.
2.3.2.2 “End-State Comfort Effect” em Tarefas Bimanuais
As tarefas ou atividades bimanuais, em que requerem o uso dos dois braços e mãos
são tarefas que representam um problema de controlo bem mais complexo, de um
ponto de vista neuro-cognitivo. Veja-se o caso de quando é necessário que as mãos
desempenhem diferentes movimentos, cada mão tende a assimilar caraterísticas
espaciais e temporais do movimento da outra mão. De acordo com os estudos feitos
por Franz et al. (1991) esta caraterística foi demonstrada quando as pessoas (nas
experiências) eram instruídas a desenhar um círculo com uma das mãos e uma linha
com a outra mão, resultando num círculo com uns traços em linha e uma linha
com uns traços de círculo. Ou seja, houve uma assimilação dos padrões espaciais e
temporais de cada movimento. Portanto, por um lado, o SNC tem uma preferência
na sincronização espacial e temporal dos movimentos dos dois braços e mãos, mas,
por outro lado também se preocupa com a antecipação do planeamento atendendo
ao objetivo/ fim da ação, ou seja, o end-state comfort effect para ambos os braços.
Em (Hughes and Franz, 2008) foram realizadas experiências com pessoas de forma
a examinar uma possível interação entre o end-state comfort effect e as restrições de
acoplamento bimanual espaciais e temporais. Neste estudo os participantes adotam
uma idêntica posição inicial, para as duas mãos, que os permite satisfazer o efeito
de conforto final, em tarefas em que o objetivo é colocar os objetos em orientações
finais idênticas. No entanto, quando o objetivo é colocar os objetos em orientações
finais diferentes, a sensibilidade para obter posturas finais confortáveis interfere com
a tendência de adotar posturas iniciais idênticas (em ambos os braços e mãos), e
assim, nem o end-state comfort effect nem o acoplamento bimanual aparece como
uma restrição de planeamento dominante.
Adicionalmente, Weigelt et al. (2006) também realizaram estudos com o obje-
tivo de estudar o end-state comfort effect em casos de manipulação bimanual de
objetos. As experiências foram conduzidas, a fim de se realizar simples tarefas onde
os participantes tinham que alcançar, simultaneamente, duas barras e colocar as
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
47
Capítulo 2 - Estado da Arte
extremidades de cada barra num respetivo local da mesa. Os resultados mostraram
que os participantes quase sempre têm tendência para minimizar o desconforto para
ambas as mãos no final da tarefa, mesmo sob condições em que o end-state comfort
effect pode apenas ser alcançado através de diferentes posturas iniciais para cada
braço.
Outros estudos recentes têm sido desenvolvidos por Janssen e os seus colegas
(Janssen et al., 2011, 2010, 2009). Em (Janssen et al., 2010) concluíram que :
• Os participantes quase sempre preferem alcançar uma postura final confortável,
aquando tarefas de manipulação simples em que estes manuseiam dois objetos
com as suas mãos, mesmo tendo que selecionar uma postura inicial assimétrica
(em relação à postura da outra mão) ou estranha e ter que coordenar movimentos
diferentes entre as mãos (mesma conclusão que em (Weigelt et al., 2006));
• Perante movimentos mais complicados, os participantes já não se preocupam
com o alcançar uma postura final confortável, mas têm em conta uma melhor
postura inicial (ou intermédia);
• Movimentos em que os participantes eram livres de escolher as suas postu-
ras iniciais (para os braços), priorizavam o planeamento de posturas finais
confortáveis relativamente à simetria do movimento.
Além disso, em (Janssen et al., 2010) os autores sugerem que existe uma hierar-
quia entre as duas mãos, sendo uma mais dominante que a outra. Posteriormente,
em (Janssen et al., 2011) os autores vieram a observar que o end-state comfort
effect é mais pronunciado no braço direito em comparação com o braço esquerdo,
concluindo, assim, que o planeamento motor é uma função especializada do hemisfério
esquerdo do cérebro (hemisfério esquerdo controla os músculos do lado direito do
corpo humano). Contudo, em (Hughes et al., 2011) os resultados não confirmaram
esta hipótese de dominância do hemisfério esquerdo no planeamento de movimento,
talvez porque, e como argumentado por estes autores, a sua experiência tinha um
nível de precisão menor do que a executada por Janssen e colegas.
48 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
Esta hipótese de um braço ser mais dominante que o outro, de um hemisfério
ser mais especializado no planeamento do movimento levanta a pergunta de como é
que o cérebro humano processa toda a informação, de como é que planeia e controla
os movimentos dos dois braços e mãos e o porquê de certas assimilações temporais e
espaciais dos movimentos dos dois braços. No ponto seguinte pretende-se abordar
estas questões relativas ao processamento da coordenação dos dois braços.
2.3.2.3 Coordenação Motora dos Braços
A capacidade de coordenação motora depende de vários músculos que atuam em
torno das articulações e fazem mover um determinado membro do corpo humano. No
entanto, os principais problemas da coordenação motora centram-se na coordenação
dos movimentos de membros diferentes, como os dois braços, que neste caso é o
ponto central deste trabalho de dissertação.
A partir da investigação do comportamento humano foi possível recolher dados
que permitem fazer uma descrição do comportamento de coordenação dos dois
braços humanos. Portanto, e de acordo com Cardoso de Oliveira (2002) existem
três modelos que foram projetados segundo essas descobertas, estes são: o programa
motor generalizado (PMG), intermanual crosstalk e o modelo de sistemas dinâmicos.
Programa motor generalizado - Uma das caraterísticas dos movimentos dos
braços humanos que levou ao desenvolvimento do modelo PMG foi a forte
similaridade de caraterísticas espaciais e temporais dos movimentos dos dois
braços. Este modelo é baseado na ideia de que um plano motor comum é
responsável pelo movimento dos dois braços, ver figura 2.16.
Intermanual crosstalk model - este modelo, contrariamente ao PMG, considera
que existem dois planos motores, cada um responsável por um braço. Admite
que existem interações entre os movimentos dos dois braços em determinados
níveis do processo, resultado de entrelaçamentos (crosstalk) de sinais de controlo
dos braços, ver figura 2.17.
Sistemas dinâmicos - funções cognitivas emergem a partir de interações dentro
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
49
Capítulo 2 - Estado da Arte
Figura 2.16: Conceito do programa motor generalizado para representar a coordenação
dos movimentos dos braços (representado pela função F). Imagem retirada de (Cardoso de
Oliveira, 2002).
Figura 2.17: Intermanual crosstalk model, onde diferentes movimentos são planeados para
os braços em planos diferentes e podem interagir entre eles em dois níveis. Imagem retirada
de (Cardoso de Oliveira, 2002).
50 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 2 - Estado da Arte
do sistema nervoso. A atividade neuronal no sistema nervoso central parece
trabalhar num regime dinâmico metaestável. Interações neuronais são a chave
para a dinâmica do sistema nervoso e regulando essas interações, diferentes
estados dinâmicos podem ser realizados, que é a base de diferentes tendências
de acoplamento espaço-temporal entre os braços. A formalização matemática
proporciona uma descrição da organização funcional do sistema sob a forma de
um modelo computacional que automaticamente prevê o comportamento. Por-
tanto, os modelos dinâmicos da coordenação bimanual podem ser compatíveis
com os outros dois modelos descritos anteriormente.
Relativamente a este assunto não existe um consenso nesta área, pois existem
estudos controversos em cada uma destas abordagens o que torna necessário a conti-
nuação do estudo na psicologia e neuropsicologia humana, subjacente aos movimentos
bimanuais.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
51
Capítulo 3
Plataforma Robótica ARoS
Este capítulo começa por apresentar, de uma forma geral, como está construída a
plataforma robótica antropomórfica - ARoS, usada na implementação e validação
deste trabalho de dissertação. Adicionalmente, no subcapítulo seguinte é apresentado
o modelo da cinemática direta e inversa dos braços e mãos robóticas.
3.1 Construção e Caraterísticas
Como, anteriormente, foi dito na secção 1.2.1, esta plataforma foi projetada e
construída no Laboratório de Robótica Móvel e Antropomórfica do Departamento
de Eletrónica Industrial da Universidade do Minho. O ARoS, de uma forma geral,
é constituído por um torso (ou tronco) estático, equipado com dois braços e duas
mãos robóticas, um sistema de visão estéreo e um ecrã disposto no seu peito.
Devido ao facto da forma antropomórfica de um robô facilitar a interação entre
humano e robô, como discutido na secção 1.1.2, esta plataforma foi projetada com
dimensões de acordo com estudos antropométricos (Costa e Silva, 2011). O torso
tem uma altura de 1.5 metros e uma largura de 40 centímetros (ver figura 3.1a),
permitindo ao robô ter no total uma altura de 1.85 metros. A figura 3.1b ilustra o
aspeto geral da plataforma robótica.
Relativamente aos braços, cada um é constituído por diferentes segmentos rígidos
conectados por sete juntas rotacionais que permitem um movimento relativo das
53
Capítulo 3 - Plataforma Robótica ARoS
(a) (b)
Figura 3.1: Representação geral da plataforma robótica ARoS, em (a) as dimensões do
seu torso e em (b) o seu aspeto completo.
ligações vizinhas. Assim, cada braço apresenta 7-DOFs. Mais, cada braço tem um
peso de 12 kg e consegue levantar pesos a partir do seu end-effector (ou extremidade
do manipulador) num total de 3 kg. A figura 3.2 apresenta imagens do braço, uma
é a foto real do braço, figura 3.2a, enquanto as outras duas figuras 3.2b e 3.2c são
uma representação do braço direito e esquerdo com os seus pontos caraterísticos: S -
ombro, E - cotovelo, W - pulso e H - mão; os sete graus de liberdade, θ1, θ2, θ3, θ4,
θ5, θ6, θ7 do braço direito e θ12, θ13, θ14, θ15, θ16, θ17, θ18 do braço esquerdo, as suas
respetivas direções de rotação e as dimensões dos diferentes segmentos dos braços
(L1, Lu, Ll, Lh).
(a) Braço real do ARoS (b) Braço Direito (c) Braço Esquerdo
Figura 3.2: Representação dos braços robóticos do ARoS
As dimensões associadas a cada segmento do braço, ilustrado na figura 3.2b, são
54 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
Segmento Dimensão (mm) Descrição
L1 340 distância da base do braço (origem) ao ombro
Lu 395 comprimento do braço superior
Ll 370 comprimento do antebraço
Lh 95 distância do pulso à palma da mão
Tabela 3.1: Dimensões do braço robótico do ARoS.
proporcionais às do braço humano, ver tabela 3.1. Uma outra caraterística importante
é o limite máximo e mínimo que cada uma das sete juntas se pode mover. Como
ambos os braços são dispostos de maneira diferente, um no lado direito e outro no
esquerdo, a direção de rotação em algumas das juntas não são iguais para os dois.
Posto isto, no ponto seguinte abordam-se as caraterísticas da disposição dos braços,
um no lado direito e outro no lado esquerdo da plataforma robótica.
3.1.1 Disposição dos Braços
O braço robótico montado do lado direito do ARoS tem como referencial de origem
do mundo o ponto localizado na sua base, como se pode ver na figura 3.3.
Figura 3.3: Referencial de origem do mundo para o ARoS, localizado na base do braço
direito.
A razão pela qual se optou por definir a origem do mundo na base do braço direito
remonta ao trabalho de Costa e Silva (2011), que permitia facilitar o cálculo da
cinemática.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
55
Capítulo 3 - Plataforma Robótica ARoS
No entanto, o braço esquerdo tendo sido, posteriormente, introduzido no ARoS
(ver trabalho de Araújo (2013)), partilha as mesmas caraterísticas que o braço direito,
isto é, o mesmo referencial de origem, as mesmas dimensões, o mesmo número de
juntas, pois ambos os braços são iguais. Assim sendo e de forma a que os braços
apresentem movimentos simétricos, o braço esquerdo não pode estar espelhado em
relação ao direito, pois os movimentos de ambos os braços seriam opostos, como
ilustrado na figura 3.4a. Para tal, o braço esquerdo sofre uma rotação, relativamente
ao referencial de origem, em torno do eixo do x de modo a ficar como representado
na figura 3.4b.
(a) Disposição espelhada dos braços, desvantagem: os movimentos
do braço esquerdo são opostos aos do direito.
(b) Inversão da orientação do braço esquerdo, vantagem: os
movimentos dos dois braços são semelhantes.
Figura 3.4: Esquemático para a razão da disposição do braço esquerdo do ARoS em
relação ao direito. Imagem retirada de (Araújo, 2013).
Com a rotação do braço esquerdo no eixo x do referencial do mundo, a direção
de rotação das juntas θ12, θ14, θ16 e θ18 do braço esquerdo é invertida relativamente
às do braço direito, pois se assim não fosse, o movimento do braço esquerdo estaria
muito limitado. Na tabela 3.2 os limites de cada junta de cada braço são definidos.
56 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
Braço Direito Braço Esquerdo
Junta Limite da junta Junta Limite da junta
(em graus) (em graus)
θ1 [-165, 165] θ12 [-165, 165]
θ2 [-115, 106] θ13 [-115, 106]
θ3 [-165, 165] θ14 [-165, 165]
θ4 [-115, 106] θ15 [-115, 106]
θ5 [-165, 165] θ16 [-165, 165]
θ6 [-120, 120] θ17 [-120, 120]
θ7 [-165, 165] θ18 [-165, 165]
Tabela 3.2: Limites das sete juntas do braço direito e esquerdo.
De notar, que para além desta inversão do braço esquerdo, este sofre uma
translação em relação ao referencial de origem. Esta translação dá-se porque a base
do braço esquerdo não está localizada no mesmo ponto que a base do direito, mas a
100 mm ao longo do eixo y do referencial de origem do mundo (ver figura 3.3).
Posto isto, têm-se todos os dados necessários para o cálculo das cinemáticas
direta e inversa. No seguinte ponto este tema é abordado tanto para o braço direito
como para o esquerdo.
3.2 Cinemática dos Braços Robóticos
A cinemática é uma ciência do movimento que trata o movimento sem abordar as
forças que o causam. No entanto, segundo Craig (2005) a cinemática de manipuladores
refere-se a todas as propriedades geométricas e temporais do movimento.
A posição de um braço robótico pode ser representada tanto no espaço das juntas
como no espaço cartesiano. O espaço das juntas refere-se à representação da posição
e orientação do braço por meio do conjunto dos ângulos das juntas do manipulador.
Enquanto que o espaço cartesiano refere-se à representação da posição e orientação
de um certo ponto (por exemplo o end-effector), por meio de três coordenadas para
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
57
Capítulo 3 - Plataforma Robótica ARoS
definir a orientação e outras três coordenadas para definir a posição. Ao problema
do cálculo da posição e orientação do end-effector de um determinado manipulador,
relativamente a um referencial de origem e a partir da informação do ângulo das
juntas do braço, dá-se o nome de cinemática direta (figura 3.5a). Por outro lado,
o processo inverso do cálculo de todos os conjuntos possíveis de ângulos das juntas,
que possibilitam atingir uma determinada posição e orientação do end-effector do
manipulador robótico, dá-se o nome de cinemática inversa (figura 3.5b). Este
último é um processo bem mais complicado pois para uma determinada posição e
orientação do end-effector podem existir várias possíveis posturas do braço, ou seja,
vários conjuntos de ângulos das juntas devido à redundância do braço robótico.
(a) Problema da cinemática direta (b) Problema da cinemática inversa
Figura 3.5: Em (a) a cinemática direta consiste na passagem da representação no espaço das
juntas para o espaço cartesiano enquanto em (b) a cinemática inversa consiste na passagem
do espaço cartesiano para o espaço das juntas. Imagem retirada e editada de (Craig, 2005).
Os braços robóticos do ARoS apresentam ligações rígidas que estão conectadas
por juntas, que por sua vez rodam e permitem posicionar e orientar os segmentos
do braço que se ligam a estas juntas. De forma a lidar com a complexa geometria
destes braços robóticos e compreender o mecanismo dos movimentos dos braços do
ARoS, desenvolveu-se o processo de cálculo da cinemática direta e inversa para o
braço e mão direita no trabalho de Costa e Silva (2011). No entanto, nos seguintes
subcapítulos explicam-se estes dois processos aplicados em cada um dos dois braços
58 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
e mãos.
3.2.1 Cinemática Direta do Braço Direito
O primeiro passo para o cálculo da cinemática direta do braço direito é definir um
referencial de origem, que neste caso está localizado bem na base do manipulador
direito (ver figura 3.3). Seguidamente e de forma a facilitar todo o processo coloca-se
o braço na posição zero (como ilustrado na figura 3.6) e estabelece-se para cada junta
do braço i (em que i = 1, . . . , 7) o referencial, xiyizi, de acordo com a convenção
Denavit-Hartenberg (para uma melhor explicação consultar (Craig, 2005).
Figura 3.6: Braço robótico direito na posição zero e respetivos referenciais atribuídos de
acordo com a convenção Denavit-Hartenberg.
De acordo com a figura 3.6, o primeiro conjunto de eixos coordenados, respetivamente,
x0y0z0, está localizado na base do braço direito e é considerado o referencial de origem
do mundo para o ARoS. O segundo e terceiro referencial, respetivamente, x1y1z1 e
x2y2z2, estão localizados no ombro (S) e representam os dois graus de liberdade θ1 e
θ2. O quarto e quinto referenciais estão localizados no cotovelo (E) são referentes a
θ3 e θ4. O sexto e sétimo referenciais estão localizados no pulso (W) e são relativos
a θ5 e θ6. Finalmente temos o referencial x7y7z7 localizado no centro da palma da
mão robótica (H) e que concerne o θ7.
Os parâmetros de Denavit-Hartenberg, que são:
ai−1 - distância de zi−1 a zi, medida ao longo de xi−1;
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
59
Capítulo 3 - Plataforma Robótica ARoS
αi−1 - o ângulo entre zi−1 e zi, medido sobre xi−1;
di - distância de xi−1 a xi, medida ao longo de zi;
θi - ângulo entre xi−1 e xi, medido sobre zi.
i αi−1 ai−1 di θi
(em graus) (em mm) (em mm) (em graus)
1 90 0 L1 θ1
2 90 0 0 θ2
3 -90 0 Lu θ3
4 90 0 0 θ4
5 -90 0 Ll θ5
6 90 0 0 θ6
7 -90 0 Lh θ7
Tabela 3.3: Parâmetros de Denavit-Hartenberg para o braço direito de 7-DOFs.
Estes parâmetros,apresentados na tabela 3.3, descrevem as transformações que
ocorrem quando se muda do referencial i−1 para o referencial i (em que i = 1, . . . , 7).
As transformações que definem a relação do referencial i para o i− 1 são dadas a
partir da seguinte expressão geral da matriz de transformação:
i−1Ti = Rotx(αi−1)Transx(ai−1)Trans(di)Rotz(θi) (3.1)
=
cos θi −senθi 0 ai−1
cos(αi−1)senθi cos(αi−1) cos θi −sen(αi−1) −sen(αi−1)disen(αi−1)senθi sen(αi−1) cos θi cos(αi−1) cos(αi−1)di
0 0 0 1
(3.2)
Portanto, a transformação desde a base do braço direito (origem do mundo W)
à primeira junta é definida na matriz 3.3. As juntas i = 2, 4, 6, visto apresentarem
transformações iguais, apresentam a mesma construção da matriz individual, ver
matriz 3.4. O mesmo se aplica às juntas i = 3, 5, 7, onde as suas matrizes individuais
60 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
estão definidas na matriz 3.5:
0T1 =
cos θ1 −senθ1 0 0
0 0 −1 −L1
senθ1 cos θ1 0 0
0 0 0 1
(3.3)
i−1Ti =
cos θi −senθi 0 0
0 0 −1 0
senθi cos θi 0 0
0 0 0 1
(3.4)
i = 2, 4, 6
i−1Ti =
cos θi −senθi 0 0
0 0 1 Li
−senθi − cos θi 0 0
0 0 0 1
(3.5)i = 3, 5, 7
L3 = Lu, L5 = Ll, L7 = Lh
Multiplicando todas as matrizes anteriores i−1Ti (com i=1,. . . ,7) é possível
obter a matriz respetiva à transformação em todo o manipulador direito, desde o
referencial de origem (W), ou junta 0, até à sua extremidade:
WT7 = WT11T2
2T33T4
4T55T6
6T7 (3.6)
Esta matriz geral permite obter a posição e orientação do end-effector do manipulador
relativamente ao referencial de origem. A posição x, y e z é dada pelos três primeiros
elementos da quarta coluna da matriz 3.7, enquanto a orientação φ, ψ e θ é obtida
das três primeiras linhas da matriz 3.7:
WT7 =
Rot3×3(φ, ψ, θ) Trans3×1(x, y, z)
01×3 1
(3.7)
=
r11 r12 r13 r14
r21 r22 r23 r24
r31 r32 r33 r34
0 0 0 1
(3.8)
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
61
Capítulo 3 - Plataforma Robótica ARoS
Assim sendo, a posição da mão direita (H) em x, y e z corresponde aos
elementos r14, r24 e r34 da matriz 3.8, onde:
H = (xmao, ymao, zmao)> =
(−(δ1c5 − β3s5)s6 + δ2c6)Lh + δ2Ll − c1s2Lu
(−δ5s6 + β5c6)Lh + β5Ll − c2Lu − L1
(−(δ3c5 − β4s5)s6 + δ4c6)Lh + δ4Ll − s1s2Lu
(3.9)
No entanto, as coordenadas Cartesianas 3D referentes à posição de outros pontos
do braço podem ser calculadas a partir de transformações da cinemática direta. A
posição dos diferentes pontos do braço, nomeadamente, ombro (S), cotovelo (E) e
pulso (W) é dada pelas seguintes equações:
S = WT1S1 (3.10)
E = WT3E3 (3.11)
W = WT5W5 , (3.12)
onde S1 = E3 = W 5 = (0, 0, 0, 1)>. Assim, cada um destes pontos do braço acima
mencionados apresenta as seguintes expressões da cinemática direta:
S = (xombro, yombro, zombro)> =
0
−L1
0
(3.13)
E = (xcotovelo, ycotovelo, zcotovelo)> =
−c1s2Lu
−c2Lu − L1
−s1s2Lu
(3.14)
W = (xpulso, ypulso, zpulso)> =
δ2Ll − c1s2Lu
β5Ll − c2Lu − L1
δ4Ll − s1s2Lu
(3.15)
Quanto à orientação da mão direita, apenas interessam os dados respetivos à
rotação na matriz WT7 ( 3.7), nomeadamente as três primeiras colunas:
x7 =
((δ1c5 − β3s5)c6 + δ2s6)c7 − (δ1s5 + β3c5)s7
(δ5c6 + β5s6)c7 − δ6s7
((δ3c5 − β4s5)c6 + δ4s6)c7 − (δ3s5 + β4c5)s7
(3.16)
62 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
y7 =
−((δ1c5 − β3s5)c6 + δ2s6)s7 − (δ1s5 + β3c5)c7
−(δ5c6 + β5s6)s7 − δ6c7
−((δ3c5 − β4s5)c6 + δ4s6)s7 − (δ3s5 + β4c5)c7
(3.17)
z7 =
−(δ1c5 − β3s5)s6 + δ2c6
−δ5s6 + β5c6
−(δ3c5 − β4s5)s6 + δ4c6
, (3.18)
onde:
β1 = c1c2c3 − s1s3, β2 = s1c2c3 + c1s3,
β3 = c1c2s3 + s1c3, β4 = s1c2s3 − c1c3,
β5 = s2c3s4 − c2c4, β6 = −s2c3c4 − c2s4,
δ1 = β1c4 − c1s2s4, δ2 = β1s4 − c1s2c4,
δ3 = β2c4 − s1s2s4, δ4 = −β2s4 − s1s2c4,
δ5 = β6c5 + s2s3s5, δ6 = −β6s5 − s2s3c5,
ci = cos(θi) e si = sen(θi), com i = 1, . . . , 7.
De forma a se obter uma relação entre a posição e orientação da mão direita e a
posição e orientação do objeto-alvo, relacionam-se os referenciais, x7y7z7 e xtarytarztar,
como ilustra a figura 3.7.
Figura 3.7: Referenciais da mão direita e do objeto-alvo relativamente ao referencial de
origem do mundo. A posição, H, da mão direita é dada pela origem do referencial e a rotação
pelos eixos x7, y7 e z7. A posição do objeto-alvo, Xtar, é dada pela origem do seu referencial
e a orientação é dada pelos seus eixos xtar, ytar e ztar.
Estas relações variam de acordo com o tipo de grip usado (ver na figura 1.7
alguns tipos de grip).
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
63
Capítulo 3 - Plataforma Robótica ARoS
3.2.2 Cinemática Inversa do Braço Direito
Considere-se que a posição e orientação da mão robótica do ARoS é: H = (x7, y7, z7,
φ7, ψ7, θ7), e se quer calcular o conjunto dos ângulos das juntas do braço, respetiva-
mente (θ1, . . . , θ7), que permitem ao braço posicionar a sua mão no ponto definido
em H. Para tal e como primeiro passo na solução do problema da cinemática inversa
é necessário solucionar o problema da redundância do braço robótico, que tal como o
braço humano, apresenta 7-DOFs e onde um deles é considerado como um extra grau
de liberdade. Este extra DOF permite que o braço, mais precisamente o cotovelo,
para uma determinada posição e orientação da mão possa se posicionar ao longo de
uma circunferência imaginária, centrada num eixo entre o ombro e o cotovelo, como
se pode ver na figura 3.8.
Figura 3.8: Braço robótico do ARoS e a sua redundância: para uma determinada posição
e orientação do end-effector existe uma vasta gama de possíveis posturas para o braço.
Esta redundância em termos da cinemática inversa resulta numa vasta gama
de possíveis posturas que o braço pode adotar de forma a se conseguir posicionar
e orientar num determinado ponto. E como tal, de forma a resolver o problema
das múltiplas possíveis soluções, seleciona-se um determinado α, pois para cada α
corresponde uma única solução da cinemática inversa.
Seguidamente, são apresentados os passos para o desenvolvimento do algoritmo
da cinemática inversa dado um determinado α.
64 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
3.2.2.1 1o Passo: Determinar a posição e orientação do pulso
Dada a posição e orientação de um objeto-alvo:
Xtar = (xtar, ytar, ztar, φtar, ψtar, θtar)> , (3.19)
relaciona-se a posição da mão robótica (ou palma da mão) com a posição do objeto-
alvo relativamente à orientação pretendida1. Deste modo, a posição da mão é definida
na seguinte equação:
H = (xtar, ytar, ztar)> + xtarLobj , (3.20)
onde
xtar = (cos(φtar) cos(ψtar), sen(φtar) cos(ψtar),−sen(ψtar))> (3.21)
e Lobj é a distância da palma da mão robótica ao centro do objeto.
A partir da equação 3.20 é possível calcular a posição do pulso:
W = H + xtarLh , (3.22)
onde Lh é o comprimento do segmento da mão (ver figura 3.2).
3.2.2.2 2o Passo: Calcular θ4
O passo seguinte consiste em calcular o ângulo do cotovelo, pois este é independente
do valor de α. Assim, e representando o braço de uma forma que permita o seu
estudo trigonométrico, como ilustrado na figura 3.9 é possível através do Teorema do
Cosseno calcular o valor de θ4 do seguinte modo:
L2SW = L2
u + L2l − 2LuLl cos(π − θ4) (3.23)
⇔ θ4 = −arcsen(−L2
u − L2l + L2
SW
2LuLl
)(3.24)
Note-se que admitimos apenas uma solução de θ4, visto que o braço humano
não permite que o cotovelo se mova na direção oposta à representada na figura 3.9.1A orientação depende do tipo de grip com que se pretende que o robô agarre o objeto (fig. 3.7).
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
65
Capítulo 3 - Plataforma Robótica ARoS
Figura 3.9: Representação trigonométrica para o cálculo de θ4 a partir do Teorema do
Cosseno (imagem retirada de (Costa e Silva, 2011)).
Figura 3.10: Representação do referencial do centro da circunferência (C), respetiva à
caraterística redundante do braço robótico e representação trigonométrica do braço para
aplicação do Teorema do Cosseno ao triângulo [SEW](imagens retiradas de (Costa e Silva,
2011)).
3.2.2.3 3o Passo: Determinar a posição e orientação do cotovelo a partir
de α
Como já referido anteriormente, o cotovelo roda em torno de um eixo referente
à distância entre o ombro (S) e o pulso (W), posicionando-se ao longo de uma
circunferência “imaginária” (ver figura 3.8). De forma a determinar a posição
e orientação do cotovelo, define-se um referencial no centro dessa circunferência
(vSW , u, v), como se pode ver na figura 3.10. Com vSW como um vetor unitário desde
a posição do ombro à do pulso e paralelo ao plano da base do braço xWy, u como
66 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
um vetor normal a vSW , e v como o produto de u e vSW :
v = u× vSW (3.25)
Novamente, a partir do Teorema do Cosseno (ver figura 3.10) calcula-se o cos(β):
L2l = L2
u + L2SW − 2LuLSW cos(β) (3.26)
⇔ cos(β) =(L2u + L2
SW − L2l
2LuLSW
)(3.27)
O centro (C) e o raio (R) da circunferência são descritos do seguinte modo:
C = S + cos (β)LuvSW (3.28)
R = Lu
√1− cos2 (β) (3.29)
A posição do cotovelo (E), dado um determinado α é então descrita na seguinte
equação:
E = C +R [cos (α) u+ sen(α)v] (3.30)
Relativamente à orientação do cotovelo, sabe-se que a sua rotação é perpendicular
ao plano que contém S, E e W, por isso, x4, y4 e z4 é dado por:
x4 = y4 × z4, y4 = vEW , z4 = vSW × vCE (3.31)
3.2.2.4 4o Passo: Determinar θ1, θ2 e θ3
De forma a calcular θ1, θ2 e θ3 define-se a matriz de rotação respetiva ao conjunto
das juntas do ombro ao cotovelo, onde compreende estes DOFs. Esta matriz de
rotação 3× 3, nomeadamente 0R4, apresenta como colunas os vetores x4, y4, z4:
0R4 =[x4 y4 z4
](3.32)
Note-se que estes vetores foram anteriormente apresentados em 3.31.
Dado que θ4 foi já determinado em 3.24 e sabendo a matriz de rotação, 3R4,
apresentada na matriz de transformação 3.4. Pode-se proceder ao seguinte raciocínio,
de forma a obter a matriz de rotação, respetiva às juntas θ1, θ2 e θ3:
0R4 = 0R33R4 (3.33)
⇔ 0R3 = 0R4(
3R4)>
(3.34)
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
67
Capítulo 3 - Plataforma Robótica ARoS
Por outro lado multiplicando as matrizes individuais de rotação de cada uma
das três primeiras juntas, obtém-se:
0R3 = 0R11R2
2R3 (3.35)
=
c1c2c3 − s1s3 −c1c2s3 − s1c3 −c1s2
−s2c3 s2s3 −c2
s1c2c3 + c1s3 −s1c2s3 + c1c3 −s1s2
(3.36)
Relacionando ambos os resultados de 3.34 e 3.36, são obtidas duas soluções
para θ2:
θ2 = arctan2
(+−√
1− (r23)2,−r23
)(3.37)
Para cada uma destas soluções, θ1 e θ3 podem ser determinados segundo as seguintes
equações:
θ1 = arctan2
(−r33s2,−r13
s2
)(3.38)
θ3 = arctan2
(−r22s2,−r21
s2
)(3.39)
De notar que quando sen(θ2) = 0 é atingido um ponto de singularidade. Para
solucionar este problema a primeira junta do ombro deve ser zero (θ1 = 0) e a
terceira junta deve ser usada para controlar a orientação do braço superior (θ3 =
arctan2 (r31, r32)).
3.2.2.5 5o Passo: Determinar θ5, θ6 e θ7
De forma a calcular θ5, θ6 e θ7 define-se a matriz de rotação respetiva ao conjunto das
juntas do ombro ao pulso, que compreende estes DOFs. Esta matriz de rotação 3× 3,
nomeadamente 0R7, apresenta como colunas os vetores x7, y7, z7:
0R7 =[x7 y7 z7
](3.40)
Note-se que estes vetores são de acordo com o tipo de grip que se pretende usar e
com a posição e orientação do objeto-alvo.
Sabendo que a matriz 0R7 pode ser definida do seguinte modo:
0R7 = 0R44R7 (3.41)
68 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
e dado que a matriz 0R4 já é conhecida, calcula-se a matriz 4R7:
4R7 =(
0R4)T 0R7 (3.42)
Por outro lado multiplicando as matrizes individuais de rotação de cada uma
das três últimas juntas e obtém-se:
4R7 = 4R55R6
6R7 (3.43)
=
c5c6c7 − s5s7 −c5c6s7 − s5c7 −c5s6
s6c7 −s6s7 c6
−s5c6c7 − c5s7 s5c6s7 − c5c7 s5s6
(3.44)
Relacionando ambos os resultados de 3.42 e 3.44, são obtidas duas soluções
para θ6:
θ6 = arctan2
(+−√
1− (r23)2, r23
)(3.45)
Para cada uma destas soluções, θ5 e θ7 podem ser determinados segundo as seguintes
equações:
θ5 = arctan2
(r33s6,−r13
s6
)(3.46)
θ7 = arctan2
(−r22s6,r21s6
)(3.47)
De notar que quando sen(θ6) = 0 é atingido um ponto de singularidade. Para
solucionar este problema a primeira junta do pulso deve ser zero (θ5 = 0) e a sétima
junta deve ser usada para controlar a orientação da mão (θ7 = arctan2 (r12, r32)).
3.2.3 Cinemática Direta do Braço Esquerdo
Para o desenvolvimento do cálculo da cinemática direta do braço esquerdo, procede-se
de forma análoga à do braço direito, no entanto, é necessário considerar a transfor-
mação que o braço esquerdo sofre para se posicionar devidamente (Araújo, 2013).
Isto quer dizer que, primeiramente, estabelece-se o referencial de origem do mundo
(W), respetivamente xW yW zW . Este referencial encontra-se localizado na base do
manipulador direito, como ilustra a figura 3.11. Seguidamente, coloca-se o braço na
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
69
Capítulo 3 - Plataforma Robótica ARoS
posição zero e estabelece-se para cada junta do braço robótico os seus respetivos refe-
renciais, xiyizi (com i = 12, . . . , 18), de acordo com a convenção Denavit-Hartenberg
(Craig, 2005).
Figura 3.11: Braço robótico esquerdo na posição zero e respetivos eixos coordenados de
acordo com a convenção Denavit-Hartenberg.
De acordo com a figura 3.11, tem-se a origem do mundo (W), posteriormente, a
uma distância de LW0 do referencial de origem encontram-se os eixos x0y0z0 que
representam a base do braço esquerdo. No ombro (S) são considerados os referenciais
x12y12z12 e x13y13z13 que representam, respetivamente θ12 e θ13. O cotovelo (E)
está representado com outros dois referenciais, nomeadamente x14y14z14 e x15y15z15,
referentes a θ14 e θ15. Os referenciais de θ16 e θ17 estão dispostos no pulso (W). Por
último, o referencial de θ18 está localizado no cento da palma da mão (H).
Os parâmetros de Denavit-Hartenberg são apresentados na tabela 3.4. Posterior-
mente e segundo estes parâmetros, definem-se as matrizes de transformação referentes
a cada junta. Assim sendo, a transformação desde a origem do mundo (W) à base
do braço esquerdo é definida na matriz 3.48. A transformação da base à primeira
junta do braço é definida na matriz 3.49. As juntas 13, 15 e 17 visto apresentarem
transformações iguais, apresentam matrizes individuais iguais, ver matriz 3.50. O
mesmo se aplica às juntas 14, 16 e 18, onde as suas matrizes individuais estão
definidas na matriz 3.51.
70 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
i αi−1 ai−1 di θi
(em graus) (em mm) (em mm) (em graus)
0 180 0 LW0 -
12 90 0 L1 θ12
13 90 0 0 θ13
14 -90 0 Lu θ14
15 90 0 0 θ15
16 -90 0 Ll θ16
17 90 0 0 θ17
18 -90 0 Lh θ18
Tabela 3.4: Parâmetros de Denavit-Hartenberg para o braço esquerdo de 7-DOFs.
WT0 =
1 0 0 0
0 cos (180) sen (180) 100
0 −sen (180) cos (180) 0
0 0 0 1
(3.48)
0T12 =
cos θ12 −senθ12 0 0
0 0 −1 − L1
senθ12 cos θ12 0 0
0 0 0 1
(3.49)
i−1Ti =
cos θi −senθi 0 0
0 0 −1 0
senθi cos θi 0 0
0 0 0 1
(3.50)i = 13, 15, 17
i−1Ti =
cos θi −senθi 0 0
0 0 −1 −Li
−senθi − cos θi 0 0
0 0 0 1
(3.51)i = 14, 16, 18
L3 = Lu, L5 = Ll, L7 = Lh
Com a multiplicação de todas as matrizes anteriores, obtém-se a matriz respetiva
à transformação de todo o braço esquerdo:
WT18 = WT00T12
12T1313T14
14T1515T16
16T1717T18 (3.52)
A posição dos diferentes pontos do braço, nomeadamente, ombro (S), cotovelo
(E), pulso (W) e mão (H) é dada pelas seguintes equações:
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
71
Capítulo 3 - Plataforma Robótica ARoS
S = WT12S12 (3.53)
E = WT14E14 (3.54)
W = WT16W16 (3.55)
H = WT18H18 (3.56)
, onde S12 = E14 = W 16 = H18 = (0, 0, 0, 1)>. Resultando, assim, nas seguintes
expressões da cinemática direta:
S = (xombro, yombro, zombro)> =
0
L1 + 100
0
(3.57)
E = (xcotovelo, ycotovelo, zcotovelo)> =
−c12s13Lu
c13Lu + L1 + 100
s12s13Lu
(3.58)
W = (xpulso, ypulso, zpulso)> =
−c12s13Lu + Llµ1
c13Lu + Llµ2 + L1 + 100
s12s13Lu + Llµ3
(3.59)
H = (xmao, ymao, zmao)> =
Lhµ4 − c12s13Lu + Llµ1
−Lhµ6 + c13Lu + Llµ2 + L1 + 100
Lhµ7 + s12s13Lu + Llµ3
(3.60)
Quanto à orientação da mão esquerda, esta é obtida através da matriz WT18
(presente em 3.52), onde se consideram os dados referentes à rotação de modo a
extrair:
x18 =
c18µ9 + s18µ1o
c18o11 − s18o12
c18o13 + s18o14
(3.61)
y18 =
c18o15 − s18o
−c18o15 − s18o11
c18o3 − s18o4
(3.62)
z18 =
c17µ5 + s17o6
c17µ2 − s17o8
c17µ3 + s17o10
, (3.63)
72 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
onde:
µ1 = s15s12s14 − c12c13c14 − c12c15s13
µ2 = c13c15 − c14s13s15
µ3 = s15 (c12s14 + c13c14s12) + c15s12s13
µ4 = c17µ5 + s17o17
µ5 = s15 (s12s14 − c12c13c14)− c12c15s13
µ6 = s17o8 − c17µ2
µ7 = c17µ3 + s17o10
µ8 = c15 (s12s14 − c12c13c14) + c12s13s15
µ9 = s17µ5 − c17o6
µ10 = s16µ8 − c16 (c14s12 + c12c13s14)
o11 = c17o8 + s17µ2
o12 = s16 (c13s15 + c14c15s13) + c16s13s14
o13 = s17µ3 − c17o10
o14 = s16o16 − c16 (c12c14 − c13s12s14)
o15 = s16o8 − c16 (s12c14 + c12c13s14)
o3 = s16o16 − c16 (c12c14 − c13s12s14)
o = s17µ5 − c17o6
o4 = s17µ3 − c17o10
o6 = c16µ8 + s16 (c14s12 + c12c13s14)
o8 = c16 (c13s14 + c14c15s13)− s13s14s16
o10 = c16o16 + s16 (c12c14 − c13s12s14)
o16 = c15 (c12s14 + c13c14s12)− s12s13s15
ci = cos(θi) si = sen(θi), i = 12, . . . , 18
De forma a se obter a posição e orientação da extremidade do braço robótico
relativamente ao objeto-alvo, relacionam-se os referenciais da mão, x18y18z18, e do
objeto, xtarytarztar, como ilustra a figura 3.12. De realçar que estas relações variam
Figura 3.12: Referenciais da mão esquerda e do objeto-alvo. A posição, H, da mão esquerda
é dada pela origem do referencial e a rotação pelos eixos x18, ˆy18 e ˆz18. A posição do
objeto-alvo, Xtar, é dada pela origem do seu referencial e a orientação é dada pelos seus
eixos xtar, ytar e ztar.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
73
Capítulo 3 - Plataforma Robótica ARoS
de acordo com o tipo de grip que se pretende usar.
3.2.4 Cinemática Inversa do Braço Esquerdo
Considere-se que a posição e orientação do end-effector do manipulador é H =
(x18, y18, z18, φ18, ψ18, θ18) e se quer calcular o conjunto dos ângulos das juntas do
braço esquerdo, respetivamente (θ12, . . . , θ18).
Para resolver este problema da cinemática inversa procede-se de igual forma
como para o braço direito, fazendo apenas algumas modificações. Estas alterações
são:
• Devido à transformação sofrida pelo braço esquerdo relativamente ao braço
direito explicada na secção 3.1.1, é necessário proceder a uma translação e
rotação. A rotação ao longo do eixo x corresponde à inversão do valor de y do
objeto-alvo, como se pode ver na figura 3.13.
Figura 3.13: Rotação ao longo do eixo x para representar a transformação ocorrida no
braço esquerdo.
A translação ao longo do eixo y corresponde à adição da distância entre a
origem do mundo (W) e a base do braço esquerdo ( LW0) ao valor de y do
ponto de destino. Com isto, a posição e orientação do alvo é dado por:
Xtar = (xtar,−ytar + LW0, ztar, φtar, ψtar, θtar)> (3.64)
• Calculados os valores dos ângulos das juntas usando o algoritmo da cinemática
inversa do braço direito e considerando o novo valor de coordenadas do alvo
(como anteriormente descrito), o valor das juntas ímpares tem que ser invertido
como já mencionado na secção 3.1.1.
74 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
3.3 Mãos Robóticas
As mãos robóticas do ARoS são as BK-8-series de Barrett-Hand. Cada uma tem
três dedos, cada dedo tem duas juntas com um limite de movimento de 140 graus
e 48 graus (ver figura 3.14a), no entanto apenas se considera 1-DOF para cada
dedo. Adicionalmente os dedos F1 e F2 rodam em sincronia, ao longo da base da
mão robótica num limite de 180 graus, este movimento é chamado de spread (ver
figura 3.14b).
(a) (b)
Figura 3.14: Caraterísticas e dimensões das mãos robóticas do ARoS.
Na tabela 3.5 e figura 3.14 as dimensões da mão são descritas.
Parâmetros AW A1 A2 A3 D3 φ2 φ3
Dimensões 25 mm 50 mm 70 mm 50 mm 9.5 mm 2.46 graus 50 graus
Tabela 3.5: Dimensões da mão robótica e outros parâmetros.
3.3.1 Cinemática Direta da Mão
De forma a obter as coordenadas dos pontos da mão, nomeadamente os pontos dos
dedos é necessário descrever a cinemática direta da mão (trabalho de Costa e Silva
(2011)). Para tal e como o procedido para os dois braços do ARoS, preenche-se a
tabela com os parâmetros de Denavit-Hartenberg (ver tabela 3.6) de acordo com as
juntas da mão: θ8 para o spread e θ9, θ10 e θ11 para cada DOF dos três dedos (ver a
figura 3.15).
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
75
Capítulo 3 - Plataforma Robótica ARoS
Figura 3.15: Representação das juntas da mão robótica θmao = (θ8, θ9, θ10, θ11)>. Imagem
retirada de (Costa e Silva, 2011).
Para cada dedo k (com k = 1, 2, 3), a tabela com os parâmetros de Denavit-
Hartenberg é a descrita em 3.6 e as suas correspondentes matrizes de transformação
são as apresentadas em 3.65, 3.67, 3.66 e 3.68. A partir destas matrizes de
transformação é possível obter a posição da ponta do dedo k, que é dada pela
equação 3.69.
i αi−1 ai−1 di θi
(em graus) (em mm) (em mm) (em graus)
k,8 0 rkAw 0 a = rkθ8 − 90jkk,9 90 A1 0 b = φ2 + θ8+k
k,10 0 A2 0 c = φ3 + 13θ8+k
k,11 -90 A3 D3 0
Tabela 3.6: Parâmetros de Denavit-Hartenberg para cada dedo k da mão robótica,
onde r = (−1, 1, 0)> e j = (−1,−1, 1)>
7Tk,8 =
ca −sa 0 rkAW
sa ca 0 0
0 0 1 0
0 0 0 1
(3.65) k,8Tk,9 =
cb −sb 0 A1
0 0 −1 0
sb cb 0 0
0 0 0 1
(3.66)
76 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 3 - Plataforma Robótica ARoS
k,9Tk,10 =
cc −ca 0 A2
sc cc 0 0
0 0 1 0
0 0 0 1
(3.67) k,10Tk,11 =
1 0 0 A3
0 0 1 D3
0 −1 0 0
0 0 0 1
(3.68)
Fk =(WT7
7Tk,8k,8Tk,9
k,9Tk,10k,10Tk,11
)11Fk , (3.69)
onde 11Fk = (0, 0, 0, 1)> e WT7 é a transformação geral do braço direito.
De notar que este algoritmo é válido para cada uma das mãos, apenas difere
na matriz geral de transformação do braço, sendo que para o braço esquerdo na
expressão anterior (equação3.69) a matriz de transformação do braço é a WT18,
apresentada em3.52.
3.3.2 Cinemática Inversa da Mão
Para o processo da cinemática inversa da mão (trabalho de Costa e Silva (2011))
apenas se considera uma postura da mão em que esta tem os dedos F1 e F2 opostos
ao dedo F3, consequentemente θ8 = 0 e todos os ângulos das juntas dos dedos são
iguais, ou seja, θ9 = θ10 = θ11. Para esta postura da mão define-se a distância entre
os dedos dFF (como representado na figura 3.15), como a distância do ponto médio
entre F1 e F2 a F3. Por outro lado, define-se dFH como a distância da palma da mão
às pontas dos dedos. Ambas estas distâncias são funções de θ9 e são dadas por:
dFF = 2[A3 cos
(θ′′9
)−D3 sen
(θ′′9
)+A2 cos
(θ′9
)+A1
](3.70)
dFH = A3 sen(θ′′9
)+D3 cos
(θ′′9
)+A2 sen
(θ′′9
), (3.71)
onde θ′9 = θ9 + φ2; θ′′9 = 3
4θ9 + φ2 + φ3 θ′′9 e φ2, φ3, Ak (com k = 1, 2, 3) e D3 são
parâmetros apresentados na tabela 3.5.
De forma a se obter θ9 (consequentemente θ10 e θ11) pelas equações anteriores,
estabelece-se que a distância dFF deve ser igual ao diâmetro do objeto-alvo ( dobj):
2[A3 cos
(θ′′9
)−D3 sen
(θ′′9
)+A2 cos
(θ′9
)+A1
]= dobj (3.72)
De notar que este cálculo da cinemática inversa é aplicado aos valores da
juntas da mão direita, no entanto para a mão esquerda e como esta tem as mesmas
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
77
Capítulo 3 - Plataforma Robótica ARoS
caraterísticas, isto é, possui 4-DOFs denotados por θ19, θ20, θ21, θ22, o cálculo é o
mesmo apenas se trocam as juntas da mão direita pelas da esquerda do seguinte
modo:
θ8 → θ19 = 0
θ9 → θ20
θ10 → θ21
θ11 → θ22
78 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4
Planeamento de Movimento
Bimanual Síncrono
Neste capítulo é descrito o sistema de movimento bimanual síncrono. Este modelo
de planeamento, essencialmente, é a extensão do modelo unimanual apresentado na
secção 1.2.1, para um modelo bimanual, em que conta com ideias e conceitos do
Controlo Motor Humano.
Primeiramente, numa visão geral, começa-se por apresentar os factos que inspi-
raram a extensão do modelo de planeamento de movimentos e os pontos essenciais
constituintes do modelo. Nos subcapítulos seguintes são descritos os aspetos relativos
ao planeamento de movimentos bimanuais síncronos de forma “human-like” e livres
de colisões. Por último, representa-se de uma forma matemática os problemas de
otimização do modelo e dão-se alguns detalhes acerca do software de otimização
usado para a resolução destes problemas.
4.1 Visão Geral
De forma a dotar o ARoS de movimentos bimanuais, a partir do sistema de planea-
mento de movimentos unimanuais e bimanuais assíncronos, descrito na secção 1.2.1,
algumas modificações são necessárias. Para tal, nesta secção é proposta a extensão
do modelo de planeamento de movimento unimanual para bimanual.
79
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
Como o principal objetivo são movimentos bimanuais, torna-se importante
investigar a capacidade humana de coordenação dos membros superiores. Por isso
e como apresentado no Capítulo do Estado da Arte da Manipulação Bimanual nos
Humanos, respetivamente na secção 2.3.2.3, existem três modelos que explicam certos
processos neuronais subjacentes à coordenação bimanual humana: o programa motor
generalizado (PMG), intermanual crosstalk e o modelo de sistemas dinâmicos. No
entanto, não existe um consenso entre eles, pois cada um destes processos explica
certos comportamentos de coordenação dos braços. Contudo, a forte tendência
de sincronização temporal e espacial dos movimentos dos dois braços é altamente
suportada pela ideia de que uma única unidade é responsável pela manipulação
bimanual (Schmidt, 1975) - modelo PMG. O que torna este modelo vantajoso na
medida em que o número de DOFs independentes a controlar é reduzido e o sistema
torna-se, assim, mais eficiente como de acordo com Cardoso de Oliveira (2002).
Adicionalmente e aquando de movimentos simultâneos por parte dos dois braços, este
modelo propõe que as caraterísticas comuns ao movimento dos dois braços, como o
tempo 1, sejam especificados antes de executar o movimento (Schmidt et al., 1979).
Adicionalmente, outros estudos como os realizados por Kelso et al. (1979b,a),
demonstram que os humanos perante a simples tarefa de alcançar dois objetos a
diferentes distâncias, iniciam e acabam o movimento dos dois braços ao mesmo tempo,
diferindo de velocidade entre eles e atingindo os picos de velocidade e aceleração
quase no mesmo instante. O que sugere que o cérebro humano controla ambos os
braços como se estes representassem uma única unidade. Porém, outros estudos
mais atuais de Kazennikov and Wiesendanger (2005); Perrig et al. (1999); Weiss and
Jeannerod (1998) reafirmam esta teoria constatando que as pessoas perante tarefas
bimanuais assimétricas do dia a dia humano tendem a sincronizar os movimentos
dos dois braços.
1De acordo com Schmidt et al. (1979) e com base nos estudos de Kelso et al. (1979b,a), é tentador
assumir que uma das caraterísticas comuns aos dois braços é o tempo do movimento, quando estes
se movem simultaneamente, mas não existe uma certeza, pois alguns estudos indicam que o tempo
do movimento aumenta quando o movimento é re-planeado.
80 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
“Goal-synchronization is a tipical feature of bimanual everyday skills.”
(Kazennikov and Wiesendanger, 2005)
Portanto, considerando os factos relacionados com as observações aos movimentos
e comportamento dos braços humanos, perante a realização de tarefas bimanuais,
optou-se por estender o modelo de planeamento de movimento unimanual (Costa e
Silva, 2011) para bimanual síncrono, num só modelo de modo a considerar os
dois braços no mesmo planeamento de movimento. Assim, de um modo geral, o
modelo de planeamento de movimentos bimanuais síncronos apresenta as seguintes
caraterísticas:
• O planeamento do movimento do braço-mão direito e esquerdo é realizado no
espaço das juntas, a configuração das variáveis das juntas é representada por
um vetor com 22 elementos: θ = (θ1, θ2, . . . , θ22)> em que θR = (θ1, . . . , θ11)>
são as juntas do braço e mão direita e θL = (θ12, . . . , θ22)> são as juntas do
braço e mão esquerda.
• As juntas dos braços apresentam uma velocidade angular com uma forma bell-
shaped, significando isto, que os movimentos são suaves, começando e acabando
com velocidade zero e alcançando o pico da velocidade a meio do movimento.
O que indica que o movimento é gerado tendo em conta um mínimo custo
de deslocamento das juntas, da posição inicial à final, como de acordo com
Rosenbaum et al. (2001, 1995) que propõe o critério minimum angular jerk2
para explicar este comportamento. Por sua vez serve de inspiração ao modelo
de planeamento de movimento proposto neste trabalho.
• O movimento dos dois braços é sincronizado e estes atingem o pico de velocidade
aproximadamente no mesmo momento (Kelso et al., 1979b,a; Kazennikov and
Wiesendanger, 2005; Perrig et al., 1999; Weiss and Jeannerod, 1998).
2Princípio apresentado por vários outros autores como: Friedman and Flash (2009); Wada and
Kawato (2004).
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
81
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
• O planeamento de movimento, inspirado no Posture-Based Motion Planning
Model de Rosenbaum et al. (2001) continua a ser dividido em dois problemas,
mas agora cada um dos problemas engloba o tratamento de ambos os braços e
mãos robóticas. Ou seja:
1. Seleção de duas posturas finais, uma postura final para o braço-mão
direito e outra para o esquerdo.
2. Seleção de duas trajetórias livres de colisões e suaves, referentes ao
movimento do braço-mão direito e esquerdo desde a postura inicial à
postura final.
A seleção das posturas finais é calculada antes do cálculo das trajetórias e estas
variam em função das posturas iniciais do braço-mão direito e esquerdo.
O processo do planeamento de movimento bimanual síncrono encontra-se es-
quematizado na figura 4.1. O planeamento começa, primeiro, por selecionar as
posturas finais para o braço direito e esquerdo com base nas posturas iniciais dos
braços, nos tipos de grip pretendidos para cada uma das mãos3, no objeto-alvo (ou
posição de destino) para cada braço4 e com base em todos os objetos presentes no
cenário.
Calculadas as posições finais apropriadas procede-se para o cálculo das traje-
tórias para ambos os braços e mãos. Como tal e de forma a produzir trajetórias livres
de colisões, da postura inicial à postura final calculada, é determinada a postura de
bounce que permite o cálculo do movimento de back-and-forth, a ser sobreposto
ao movimento direto. O movimento direto é um movimento da posição inicial à
final que considera apenas aspetos como a velocidade e a forma suave do movimento,
ou seja, é responsável pela forma bell-shaped.
3Os tipos de grip são previamente definidos consoante a tarefa a realizar, num próximo subcapítulo
serão apresentadas as posturas desenvolvidas que permitem a mão agarrar um determinado objeto
de diferentes formas.4De notar que pode ser apenas definido um alvo para ambos os braços robóticos ou dois alvos
diferentes, um para o braço direito e outro para o esquerdo.
82 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
Como as trajetórias geradas por este sistema de planeamento de movimento são
predefinidas com um tempo normalizado, então, antes de se executar o movimento é
necessário calcular o tempo total, que neste caso é igual para ambos os braços direito
e esquerdo.
Figura 4.1: Fluxograma do processo de planeamento de movimento bimanual síncrono.
4.2 Seleção das Posturas Finais
As posturas finais apropriadas para cada braço e mão doARoS, θf = (θ1,f , θ2,f , . . . , θ22,f )>,
onde θR,f = (θ1,f , . . . , θ11,f )> representa o vetor dos valores dos ângulos das juntas
do braço e mão direita e θL,f = (θ12,f , . . . , θ22,f )> o vetor dos valores dos ângulos das
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
83
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
juntas do braço e mão esquerda, são calculadas a partir de um conjunto de possíveis
posturas admissíveis para os dois braços, Θf ⊂ R14, que:
• Permitam os objetos serem agarrados, ou o braço se posicionar num deter-
minado ponto com o tipo de grip escolhido para a mão direita, θmaoR,f =
(θ8,f , θ9,f , θ10,f , θ11,f )>, e mão esquerda, θmaoL,f = (θ19,f , θ20,f , θ21,f , θ22,f )>.
Os valores destas juntas da mão são determinados consoante o tipo de grip,
como se pode ver na secção 4.2.2;
• Minimizem o custo associado ao movimento das juntas do braço direito e es-
querdo, da postura inicial, (θ1,0, . . . , θ7,0, θ12,0, . . . , θ18,0)>, à final5, (θ1,f , . . . , θ7,f ,
θ12,f , . . . , θ18,f )>, com base no princípio do minimun angular jerk. Isto pode
ser formulado através do seguinte problema de otimização:
minΘf⊂R14
7∑k=1
λk(θk,0 − θk,f )2 +18∑
k=12λk(θk,0 − θk,f )2, (4.1)
em que λk > 0 representa um fator de custo associado a cada junta k com k =
1, . . . , 7 e k = 12, . . . , 18. As 14 juntas são respetivas aos braços direito e
esquerdo (7 juntas do braço direito e 7 juntas do esquerdo).
O problema em determinar, (θ1,0, . . . , θ7,0, θ12,0, . . . , θ18,0)>, pertencente ao
conjunto de admissíveis posturas Θf ⊂ R14 é ultrapassado reformulando o
problema 4.1 como um problema de otimização com restrições, nomeadamente:
restrição 1: os limites físicos das juntas dos braços robóticos;
restrição 2: uma relação entre a posição de cada mão robótica com a posição
do respetivo objeto-alvo.
restrição 3: uma relação entre a orientação do alvo com a orientação de cada
uma das mãos, determinada pelo tipo de grip desejado para as mãos;
restrição 4: evitar que cada um dos braços e mãos colidam com o objeto-alvo
do outro braço, no instante final do movimento;
5Note-se que de 1 a 7 são as juntas do braço direito e de 8 a 14 as do braço esquerdo
84 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
restrição 5: evitar que algum dos dois braços e mãos colidam com os obstá-
culos presentes no cenário e com o corpo do robô, no instante final do
movimento;
restrição 6: evitar que os braços e mãos, no momento final do movimento,
colidam um com o outro.
A restrição 1 é formulada com base nos limites das juntas dos braços (valores
anteriormente apresentados no subcapítulo 3.1.1 na tabela 3.2). Por outro lado,
as restrições 2 e 3 são não-lineares e são altamente dependentes da forma como se
pretende que as mãos robóticas agarrem o correspondente objeto. Assim sendo, no
subcapítulo seguinte, respetivamente 4.2.1 são definidos os diferentes tipos de grip
que foram considerados para este trabalho. Quanto às restrições 4, 5 e 6, estas são
definidas com base na forma como o corpo do ARoS e como os objetos presentes no
cenário são modelados (ver mais à frente na secção 4.5.1).
Portanto, este é considerado um problema de otimização não-linear com restrições,
que designamos por Pa. Nas secções seguintes a definição das restrições é explicada
em maior detalhe.
4.2.1 Tipos de Grip
De acordo com o Estado da Arte na Manipulação Bimanual nos Humanos e relativa-
mente às caraterísticas da mão, pode-se concluir que os humanos desempenham uma
série de movimentos com as suas mãos de forma a manipular qualquer tipo de objeto.
Assim, de acordo com a taxonomia proposta por Bullock et al. (2013) numa tarefa
de manipulação pode existir ou não contacto entre a mão com o objeto. Interessando
mais para este projeto as tarefas de manipulação de objetos, então e complementando
a taxonomia anterior (que é mais dedicada ao movimento da mão) com a taxonomia
de Cutkosky and Howe (1990), as ações que requerem o contacto entre objeto e mão
podem ser divididos em apertos de força ou precisão. Os modos de agarrar com
força podem ser subdivididos em posturas preênseis, em que o objeto é agarrado
pela mão de forma a estabilizar o objeto. Ou então, posturas não-preênseis em que
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
85
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
existe apenas um pequeno contacto da mão com o objeto. Os modos de agarrar com
precisão são entendidos como aqueles em que a mão opta por agarrar ou tocar no
objeto com a ponta dos dedos. De forma a complementar todas estas definições,
veja-se na figura 4.2, onde se encontram ilustrados exemplos dos diferentes modos de
manipulação de objetos.
Figura 4.2: Classificação dos modos de manipulação de objetos com base nas taxonomias
de Bullock et al. (2013) e Cutkosky and Howe (1990).
Relativamente à mão do ARoS, esta é bem mais simples que a mão humana,
no entanto a classificação anterior é propositada para se fazer uma descrição dos
diferentes modos de manipulação de objetos que se atribui às mãos do robô. Assim
sendo, para o robô os tipos de grip considerados de precisão podem ainda ser
subdivididos em side grip, above grip e diagonal grip como demonstra a figura 4.3,
respetivamente em (a), (b) e (c). Por outro lado, os tipos de grip de força-preênseis
podem ser subdivididos em side grip (ver figura 4.3d) e above grip.
Existem outros tipos de grip para as mãos robóticas do ARoS em que vão dife-
rindo das anteriores apenas pela posição do polegar. Na tabela 4.1 são apresentados
todos os tipos de grip que o sistema de planeamento de movimentos considera. De
notar que a tabela apresenta os nomes em Inglês e o nome full refere-se às grips de
força.
86 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
(a) Side grip
de precisão
(b) Above grip de precisão (c) Diagonal grip
de precisão
(d) Side grip de
força
Figura 4.3: Tipos de grip de precisão e força.
GT Descrição GT Descrição
111 Precision Side thumb left 211 Full Side thumb left
112 Precision Side thumb right 212 Full Side thumb right
113 Precision Side thumb up 213 Full Side thumb up
114 Precision Side thumb down 214 Full Side thumb down
121 Precision Above 221 Full Above
122 Precision Below 222 Full Below
311 Precision Diagonal
Tabela 4.1: Tipos de grip que o sistema de planeamento de movimento reconhece. GT
representa o número pela qual é conhecida no sistema de planeamento.
4.2.2 Postura Final das Mãos
Para se obter a posição e orientação final das mãos é necessário ter em conta os tipos
de grip respetivos a cada uma e a posição e orientação do alvo pretendido para cada
mão. Esta informação permite formular uma relação entre a mão e o objeto-alvo que,
subsequentemente, é fornecida ao problema de otimização Pa (para a seleção das
posturas finais) na forma de duas restrições, respetivamente, restrição 1 e 2.
Relativamente à configuração da mão robótica, neste trabalho considera-se que
para todos os casos a junta da mão direita θ8 = 0 e o DOF de cada um dos três
dedos deve ter o mesmo valor no instante final do movimento, ou seja θ9 = θ10 = θ11.
O mesmo se aplica à mão esquerda em que θ19 = 0 e θ20 = θ21 = θ22.
Pelo cálculo da cinemática inversa da mão (apresentado na secção 3.3.2) e sabendo
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
87
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
o valor da distância entre os dedos, dFF , consegue-se determinar θ9 = θ10 = θ11
e θ20 = θ21 = θ22. Para tal e consoante o tipo de grip (ver tabela 4.1 onde se
apresentam os diferentes tipos de grips) estabelece-se a distância dFF do seguinte
modo:
dFF =
dobj se GT ∈ {∗11, ∗12, ∗2∗, 311}
hobj se GT ∈ {∗13, ∗14}, (4.2)
com ∗ ∈ {1, 2}, dobj e hobj como sendo o diâmetro e a altura do objeto, respetiva-
mente. Por conseguinte, calculam-se os valores de θ9 e θ20 pela equação da cinemática
inversa, eq. 3.72.
Para se determinar a postura do braço robótico é necessário calcular a distância
da palma da mão ao centro do objeto, dHO. Assim, para os tipos de grip de precisão
esta distância é calculada atendendo à distância dFH , em que esta é determinada a
partir da equação 3.71. De forma a se demonstrar a relação entre as distâncias dHOe dFH consoante o tipo de grip, na figura 4.4 são apresentados apenas dois casos
de diferentes tipos de grips de precisão, juntamente com a representação destas
distâncias.
(a) Side grip de
precisão
(b) Diagonal grip
de precisão
Figura 4.4: Demonstração da relação entre as distâncias dHO e dF H em dois tipos de grip:
side e diagonal grip de precisão.
Por outro lado, para as grips de força, dHO depende unicamente da dimensão do
objeto. De seguida são apresentadas todas as equações referentes ao cálculo da
distância dHO, segundo os tipos de grip reconhecidos pelo sistema de planeamento
88 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
de movimento:
dHO =
dFH(θ9,20) se GT ∈ {11∆}hobj
2 + dFH(θ9,20) − δ se GT ∈ {12∗}dFH(θ9,20)−δ
cos(30◦) se GT ∈ {311}dobj
2 se GT ∈ {21∆}hobj
2 se GT ∈ {22∗}
, (4.3)
com ∗ ∈ {1, 2}, ∆ ∈ {1, 2, 3, 4} e δ > 0 sendo apenas uma margem de tolerância.
4.2.3 Postura Final dos Braços
Definida a postura da mão direita e esquerda, segue-se para o cálculo da postura
dos braços. Como já referido anteriormente este cálculo é para encontrar uma
solução ótima para as juntas dos dois braços (θ1,f , . . . , θ7,f , θ12,f , . . . , θ18,f )> (em
que (θ1,f , . . . , θ7,f )> são as do braço direito e (θ12,f , . . . , θ18,f )> as do esquerdo), de
entre as imensas possibilidades, Θf ⊂ R14. De forma a se escolher as posturas
mais apropriadas, o modelo de seleção tem como objetivo encontrar as posturas que
apresentam o mínimo custo de deslocamento das juntas, de uma postura inicial a uma
final (função objetivo 4.1) e verifiquem as seis restrições apresentadas anteriormente
na secção 4.2. Por isso, de seguida estas restrições são explicadas em maior detalhe:
Restrição 1: A postura final de cada braço deve ter as suas juntas compreendidas
nos seus limites. Sendo que θk,min e θk,max, são os limites mínimo e máximo
das juntas do braço direito (k = 1, . . . , 7) e do braço esquerdo (k = 12, . . . , 18):
θk,f ∈ [θk,min, θk,max] . (4.4)
Restrição 2: A posição da mão robótica direita, HR = (xmao, ymao, zmao)>, e
esquerda, HL = (xmao, ymao, zmao)>, relativamente à posição do seu objeto-
alvo direito, XR,tar, e esquerdo, XL,tar, é dada em função da distância da palma
da mão ao centro do objeto direito dHO,R e esquerdo dHO,L (demonstração do
cálculo destas distâncias em 4.2.2). Assim sendo, para o braço direito a sua
postura final terá que estar de acordo com a seguinte relação:
HR(θ1,f , . . . , θ7,f ) + dHO,R zR,7(θ1,f , . . . , θ7,f )−XR,tar = 0 , (4.5)
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
89
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
enquanto que para o braço esquerdo, a sua postura final terá que satisfazer a
seguinte restrição:
HL(θ12,f , . . . , θ18,f ) + dHO,L zL,18(θ12,f , . . . , θ18,f )−XL,tar = 0 . (4.6)
De notar que a posição, H, e orientação, z7 e z18, de cada mão robótica é
calculada com base no algoritmo da cinemática direta (ver na secção 3.2.1 a
cinemática direta aplicada ao braço direito e na secção 3.2.3 a cinemática direta
do braço esquerdo).
Restrição 3: Conforme o tipo de grip pretendido para cada uma das mãos é pos-
sível estabelecer uma relação de orientação entre a mão e o objeto a agarrar.
Considere-se os seguintes três casos de grips, apresentados na figura 4.5. Em
cada exemplo estão ilustrados os eixos de orientação da mão e do objeto-alvo.
De acordo com esses eixos é possível definir uma relação para cada um dos
casos:
• Mão direita com side grip: xR,7 = zR,tar;
• Mão esquerda com side grip: xL,18 = −zL,tar;
• Mão direita com diagonal grip: yR,7 = xR,tar.
(a) Mão direita - side
grip
(b) Mão esquerda - side
grip
(c) Mão direita - Di-
agonal grip
Figura 4.5: Relação entre a orientação da mão e do objeto-alvo dependendo do tipo de
grip.
Deste modo, esta restrição permite restringir a postura final de cada um dos
braços, consoante a orientação final da mão que se pretende. De salientar
90 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
que são possíveis muitas outras configurações para a mão e consequentemente
outras relações de orientação mão-objeto.
Restrição 4: Para evitar que cada um dos braços e mãos colidam com o objeto-alvo
do braço oposto no momento final do movimento, definem-se os pontos de cada
braço-mão e as suas respetivas dimensões e verifica-se se colide com o objeto:
‖PR,i (θ1,f , . . . , θ11,f )−Otar,L‖2 > ζtar,R (4.7)
‖PL,i (θ12,f , . . . , θ22,f )−Otar,R‖2 > ζtar,L , (4.8)
onde PR,i e PL,i são respetivamente os pontos, i, do braço-mão direito e esquerdo.
Otar,L e Otar,R representam as posições do alvo esquerdo e direito. ζtar,R e
ζtar,L são constantes estabelecidas para representarem uma distância mínima
entre o braço-mão e o objeto-alvo do braço oposto.
Restrição 5: De forma a evitar que os braços e mãos, no instante final, colidam com
os obstáculos e o corpo do robô, de semelhante forma como para a restrição
anterior, definem-se os pontos dos braços e mãos, representam-se as posições e
dimensões dos obstáculos e do corpo do robô e verifica-se se existe colisão:
‖PR,i (θ1,f , . . . , θ11,f )−Oj‖2 > ζobs,R (4.9)
‖PL,i (θ12,f , . . . , θ22,f )−Oj‖2 > ζobs,L , (4.10)
onde PR,i e PL,i são respetivamente os pontos, i, do braço-mão direito e
esquerdo. Oj representa as posições dos obstáculos, j. ζobs,R e ζobs,L são
constantes estabelecidas para representar uma distância de segurança entre o
braço e o obstáculo.
Restrição 6: Para evitar colisões entre os braços e mãos na postura final destes,
verifica-se se há colisão a partir dos pontos de cada um dos braços do seguinte
modo:
‖PL,i (θ12,f , . . . , θ22,f )− PR,i (θ1,f , . . . , θ11,f )‖2 > γ , (4.11)
em que γ é uma constante que representa uma distância de segurança entre os
diferentes pontos dos braços e mãos.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
91
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
A modelação dos pontos dos braços e mãos robóticas, do corpo do ARoS e
dos obstáculos é descrita mais à frente no capítulo 4.5.1.
Tendo-se as duas posturas finais dos braços e mãos segue-se para o planeamento
do movimento, da posição inicial à final. No seguinte capítulo o processo de seleção
das trajetórias é explicado.
4.3 Seleção das Trajetórias
Para que as trajetórias dos dois braços e mãos, de uma postura inicial, θ0 =
(θ1,0, , . . . , θ22,0)>, a uma final, θf = (θ1,f , , . . . , θ22,f )>, seja suave e livre de coli-
sões, o movimento total das juntas do braço-mão direito e esquerdo (com total de
juntas igual a nj = 22) ao longo do tempo t é dado pela sobreposição de um movi-
mento direto (Tdireto) e de um movimento de back-and-forth (Tbkfor) (Rosenbaum
et al., 1999):
θ (t) = T (t; θf , θb) = θ0 + Tdireto (t; θf ) + Tbkfor (t; θb) , (4.12)
onde t ∈ [0, T ], em que T ∈ R+ é o tempo total do movimento e t é discretizado num
número NT de passos igualmente espaçados de ti = i∆, onde ∆ = TNT
é o tamanho
do passo e i = 0, 1, . . . , NT . Posto isto, θ (ti) representa o movimento total das
juntas θ (t) no momento ti.
4.3.1 Movimento Direto
O movimento direto é concebido para produzir um perfil de velocidade bell-shaped
(ou se preferir, suave) em todas as juntas dos braços e mãos, de uma posição inicial a
uma final. Para tal, de forma a gerar a trajetória baseada no princípio do minimum
angular jerk, implica minimizar as alterações da aceleração angular. Assim, este
movimento é dado pelo seguinte polinómio de quinta ordem (para mais detalhes ver
92 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
(Costa e Silva, 2011)):
Tdireto (t; θf) = (θf − θ0)(10τ3 − 15τ4 + 6τ5)
+ ω0T(τ − 6τ3 + 8τ4 − 3τ5)+ ωfT
(−4τ3 + 7τ4 − 3τ5)
+ 12α0T
2 (τ2 − 3τ3 + 3τ4 − τ5)+ 12αfT
2 (τ3 − 2τ4 + τ5) ,(4.13)
onde θ0 = (θ1,0, θ2,0, . . . , θ22,0)> são os valores iniciais dos ângulos das juntas do
braço-mão direito e esquerdo no instante inicial (t = 0) e θf = (θ1,f , θ2,f , . . . , θ22,f )>
são os valores finais dos ângulos das juntas dos braços-mãos no momento final (t = T )
e em que τ = tT ∈ [0, 1] é o tempo normalizado. Os parâmetros ω0 e α0 ∈ Rnj
são vetores que representam a velocidade e aceleração inicial das juntas dos dois
braços, respetivamente. Enquanto que os parâmetros ωf e αf ∈ Rnj são vetores que
representam a velocidade e aceleração final das juntas dos dois braços, respetivamente.
4.3.2 Movimento de Back-and-Forth
De forma a evitar colisões ao longo das trajetórias dos dois braços e mãos propõe-se
um movimento de back-and-forth que, essencialmente, consiste num movimento de
“forth”: da postura inicial, θ0, à postura de bounce, θb, seguido de um movimento de
“back”: da postura de bounce de volta à postura inicial. De tal modo que a trajetória
gerada por este movimento de back-and-forth para o conjunto das juntas dos braços
e mãos é dado por:
Tbkfor (t; θb) = (θb − θ0) sen2(πτϑ
), (4.14)
em que ϑ = − ln2lntb onde o parâmetro tb ∈ ]0, 1[ é usado para controlar quando a
postura de bounce, θb, é alcançada e, consequentemente, o movimento “forth” finaliza
e começa o movimento de “back”.
Para calcular este movimento é necessário calcular a postura de bounce, θb,
postura essa que permita que não ocorram colisões em todo o movimento dos dois
braços. Assim sendo, no próximo ponto é explicado o processo de seleção desta
postura.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
93
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
4.3.2.1 Seleção da Postura de Bounce
Para a seleção da postura de bounce aplica-se o mesmo critério que para a seleção das
posturas finais dos braços, isto é: o mínimo deslocamento das juntas, ou antes, o prin-
cípio do minimum angular jerk. No entanto, uma correta postura de bounce é aquela
que: 1) permite um movimento livre de colisões do início ao fim, sempre dentro dos
limites físicos das juntas e 2) apresenta um custo mínimo de deslocamento das juntas
do braço direito e esquerdo, da postura inicial(θ1,0, . . . , θnj
2 ,0, θ12,0, . . . , θ11+nj
2 ,0
)>à postura de bounce
(θ1,b, . . . , θnj
2 ,b, θ12,b, . . . , θ11+nj
2 ,b
)>, que por sua vez pode ser
matematicamente escrito da seguinte forma:
minΘb⊂Rnj
nj2∑
k=1λk(θk,0 − θk,b)2 +
11+nj2∑
k=12λk(θk,0 − θk,b)2, (4.15)
onde Θb ⊂ Rnj representa o conjunto das possíveis posturas admissíveis para os
braços que permitem uma trajetória livre de colisões para cada uma das juntas k e
λk > 0 é um fator de custo atribuído a cada junta.
O número de juntas, nj, depende do tipo de movimento a planear e pode ser
de 14 (apenas as juntas dos braços) ou 18 juntas (as juntas dos braços mais duas
juntas de cada mão). Por exemplo, casos como os movimentos de alcançar objetos
ou retornar à postura de repouso são formulados com nj = 18, porque tanto a
trajetória das juntas dos braços como as juntas dos dedos devem ser planeadas ao
longo do movimento. Assim para cada braço calculam-se as suas sete juntas: direito
(θ1, . . . , θ7) e esquerdo (θ12, . . . , θ18) mais duas juntas de cada mão: θ8 = 0 e θ9 para
a mão direita e θ19 = 0 e θ20 para a mão esquerda. Note-se que, para cada mão,
apenas basta calcular o valor da junta da mão direita θ9 e da mão esquerda θ20, pois
as outras duas juntas dos dedos de cada mão são iguais.
No entanto, para os casos de transporte de objetos e de inserção, estes devem
ser formulados com nj = 14, porque a trajetória dos dedos não necessita de ser
calculada.
De modo a selecionar uma única postura de bounce ótima para o braço direito
e esquerdo de entre todas as possíveis posturas, Θb ⊂ Rnj , o problema de otimiza-
ção 4.15 é reformulado como um problema de otimização com restrições nas suas
94 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
variáveis, nomeadamente:
Restrição 1: Os valores das juntas dos braços, ao longo do movimento, devem estar
dentro dos seus limites. Sendo que θk,min e θk,max, são os limites mínimo e
máximo das juntas do braço-mão direito e esquerdo:
Tk (t; θf , θb) ∈ [θk,min, θk,max] , (4.16)
onde k = 1, . . . , nj2 e k = 12, . . . , 11 + nj2 com t ∈ [0, T ].
Restrição 2: Os valores das juntas dos braços e mãos no instante tb devem estar
dentro dos limites:
θk,b ∈ [θk,min, θk,max] , (4.17)
com k = 1, . . . , nj2 e k = 12, . . . , 11 + nj2 .
Restrição 3: Os braços e mãos não podem colidir com o objeto-alvo do outro braço.
Para tal, ao longo do movimento é verificado se existe colisão entre algum dos
pontos dos braços-mãos e os objetos em causa:
‖PR,i (t)−Otar,L‖2 > εtar,R (t) (4.18)
‖PL,i (t)−Otar,R‖2 > εtar,L (t) , (4.19)
onde PR,i (t) e PL,i (t) são respetivamente os pontos, i, do braço-mão direito
e esquerdo para uma determinada postura T (t; θf , θb), com t ∈ [0, T ]. Otar,Le Otar,R representam as posições do alvo esquerdo e do alvo direito. εtar,R (t)
e εtar,L (t) são funções no tempo, estabelecidas para representar a distância
mínima entre os pontos dos braços-mãos e o objeto-alvo do braço oposto.
Restrição 4: Os braços e mãos não podem colidir com os obstáculos nem com o
corpo do robô. Por isso, ao longo do movimento é verificado se existe colisão
verificando a intersecção dos pontos dos braços e mãos, dada uma postura
T (t; θf , θb), com os obstáculos e o corpo do robô:
‖PR,i (t)−Oj‖2 > εobs,R (t) (4.20)
‖PL,i (t)−Oj‖2 > εobs,L (t) , (4.21)
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
95
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
onde Oj representa as posições dos obstáculos, j. εobs,R (t) e εobs,L (t) são
funções no tempo, estabelecidas para representar a distância de segurança entre
o braço e o obstáculo ao longo do movimento.
Restrição 5: Para evitar colisões entre os dois braços e mãos ao longo do movimento,
verifica-se a colisão a partir da interseção dos pontos de cada braço, assim:
‖PL,i (t)− PR,i (t)‖2 > ψ (t) , (4.22)
em que ψ (t) é uma função no tempo que representa uma distância de segurança
entre os diferentes pontos dos braços.
Este problema de otimização permitirá encontrar a postura de bounce mais
adequada para a trajetória do braço direito e esquerdo. A este problema de otimização
não-linear com restrições dá-se o nome de problema Pb.
4.4 Tempo Total do Movimento
Como se pode ter reparado, a partir da leitura anterior referente ao cálculo da
trajetória para o braço-mão direito e esquerdo, este é gerado com base num tempo
normalizado (Costa e Silva, 2011). Com isto, o tempo total do movimento é calculado
com base no trabalho de Rosenbaum et al. (2001), em que baseado na Lei de Fitts,
existe um tempo ótimo, Tk, aplicado ao deslocamento angular de cada junta, ∆θk :
Tk = NT∆θk,maxωk,max
+ λk ln (1 + ∆θk) , (4.23)
onde λk é um fator de custo da junta k (em que k = 1, . . . , 7 e k = 12, . . . , 18), NT
o número de steps do movimento, ωk,max é a máxima velocidade angular admitida
para cada junta k. ∆θk, e ∆θk,max são dados, respetivamente, por 4.24 e 4.25:
∆θk =7∑i=1|θk,i − θk,i−1|+
18∑i=12|θk,i − θk,i−1| (4.24)
∆θk,max = maxi=1,2,...,NT
|θk,i − θk,i−1| . (4.25)
Garantindo-se, assim, que a máxima velocidade angular de cada junta nunca é
atingida.
96 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
Baseado na ideia de que todas as juntas do braço começam e acabam o seu
movimento ao mesmo tempo (Breteler and Meulenbroek, 2006) e que o movimento
dos dois braços também é sincronizado (Kelso et al., 1979b,a), o tempo total do
movimento é a média ponderada dos tempos ótimos para cada uma das juntas do
braço esquerdo e direito:
T =
7∑k=1
λk∆θkTk +18∑
k=12λk∆θkTk
7∑k=1
λk∆θk +18∑
k=12λk∆θk
. (4.26)
4.5 Implementação do Software de Otimização
Nesta secção é apresentada a formulação matemática dos problemas de otimização
não-lineares com restrições, nomeadamente, Pa e Pb (descritos anteriormente).
Contudo, primeiramente, é descrito como são considerados e modelados os vários
pontos dos braços e mãos do ARoS (tão falados em cima), tal como a representação
do seu corpo e dos obstáculos, no problema de otimização. Seguidamente são
especificados então os problemas de otimização tal como o software usado para a sua
resolução.
4.5.1 Modelação do Corpo do ARoS e Obstáculos
O corpo do ARoS é representado por trinta esferas que modelam os braços e mãos
(ver figura 4.6a e figura 4.6b), estas esferas são centradas em pontos com localizações
obtidas através do cálculo da cinemática direta dos braços e mãos, com base num
conjunto de valores de ângulos das juntas. O raio destas esferas é estabelecido
consoante as dimensões reais do braço e dedos. Quanto ao corpo, e como se pode ver
na figura 4.6c, este é representado por um cilindro elíptico de forma a abranger todo
o seu corpo.
Os objetos presentes no cenário e definidos como obstáculos são representados
como elipsoides, ou seja, todo o objeto é envolvido numa elipsoide e a área desta é
que conta para o sistema de planeamento de movimento. Na figura 4.7 podem-se ver
alguns exemplos de objetos contidos nas elipsoides.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
97
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
(a) (b) (c)
Figura 4.6: Representação do corpo do ARoS com as suas 30 esferas que modelam (a) os
braços, (b) as mãos e (c) o cilindro elíptico que modela o corpo.
Figura 4.7: Representação de alguns obstáculos em elipsoides.
Esta modelação é feita para definir as restrições dos problemas de otimização
que se encontram explicadas nas secções anteriores neste capítulo. Contudo, quando
a restrição se refere aos pontos dos braços e mãos para uma determinada postura
θR e θL, que se encontra representada por: PR,i (θR) e PL,i (θL), é o mesmo que
dizer que são o centro das esferas i (com i = 1, 2, . . . , 30) de cada um dos braços e
mãos. Por outro lado, os objetos quando são vistos como obstáculos, nas restrições
(acima descritas) são representados por Oj , significando isto o centro da elipsoide
de cada objeto j (o valor de j varia consoante os obstáculos presentes no cenário).
De salientar que nestas restrições entram não só os centros destas variáveis como as
suas dimensões dadas pela fórmula da sua figura geométrica. Para um maior detalhe
acerca da formulação destas restrições consulte o trabalho de Costa e Silva (2011).
98 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
4.5.2 Problemas de Otimização
Pela leitura das secções 4.2 e 4.3, onde é explicado o processo de seleção das posturas
finais e da seleção das trajetórias para o braço direito e esquerdo, pode-se ver que
existem dois problemas de otimização, nomeadamente:
problema Pa - que consiste na seleção da postura mais apropriada e livre de
colisões para o braço direito e esquerdo, no instante final do movimento. Por
outras palavras, deve retornar um vetor de quatorze elementos com os valores
dos ângulos das juntas (sete para cada braço), (θ1,f , . . . , θ7,f , θ12,f , . . . , θ18,f )>.
problema Pb - seleção da postura de bounce mais apropriada, que permita um
movimento do início ao fim sem colisões, isto é, um vetor de nj elementos com
os valores dos ângulos das juntas,(θ1,b, . . . , θnj
2 ,b, θ12,b, . . . , θ11+nj
2 ,b
)>(com nj
igual ao valor total de juntas do braço-mão direito e esquerdo).
Cada um destes problemas é formulado a partir de uma função objetivo e de
um conjunto de restrições.
Quanto ao problema Pa, a sua função objetivo encontra-se definida em 4.1, tal
como as suas restrições são explicadas na secção 4.2.3. No entanto, de seguida é
apresentada a formulação matemática deste problema de otimização não-linear com
restrições:
(Pa) minΘf⊂R14
7∑k=1
λk(θk,0 − θk,f )2 +18∑
k=12λk(θk,0 − θk,f )2, λk ≥ 0 (4.27)
s.t. ‖cA,1 (θA,f )‖2 ≤ β (4.28)
‖cA,2 (θA,f )‖2 ≤ δ (4.29)
hA,f (θA,f , ζtar) ≥ 0 (4.30)
hA,f (θA,f , ζobs) ≥ 0 (4.31)
qf (θfL, θfR, γ) ≥ 0 (4.32)
θA,m ≤ θA,f ≤ θA,M (4.33)
Para cada restrição A ∈ {R,L} sendo que θR,f = (θ1,f , . . . , θ11,f )> e θL,f =
(θ12,f , . . . , θ22,f )>. θA,m e θA,M representam os limites mínimos e máximos de cada
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
99
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
uma das juntas do braço direito e esquerdo a serem usados para definir a restrição 4.33
que restringe o cálculo das posturas finais a estes limites. Adicionalmente, a restrição
não-linear presente em 4.28 é para estabelecer uma distância entre as mãos (direita
e esquerda) e os seus respetivos objetos-alvo, enquanto que a restrição 4.29 é para
orientar as mãos consoante os tipos de grip. Note-se que uma desejada posição e
orientação da mão pode ser regulada pelas constantes β > 0 e δ > 0, respetivamente.
Relativamente à prevenção de colisões:
• em 4.30 é definida a restrição não-linear para o braço-mão direito e esquerdo,
referente à colisão entre o braço e o objeto-alvo do braço oposto. Esta não-
colisão é assegurada por uma distancia mínima estabelecida pela constante
ζtar > 0;
• a restrição não-linear presente em 4.31 serve para prevenir colisões entre os
braços-mãos, no instante final do movimento, com os obstáculos presentes
no cenário a uma distância mínima regulada pela constante ζobs > 0. Estes
obstáculos podem ser os objetos dispostos no espaço de trabalho do robô, a
mesa e o corpo do ARoS.
• por último, a restrição definida por 4.32, garante que os dois braços e mãos
não colidam entre eles, a um distância mínima dada pela constante γ > 0.
Relativamente ao problema Pb este tem a sua função objetivo definida em 4.15 e
as suas restrições enumeradas na secção 4.3.2.1. No entanto, a formulação matemática
deste problema de otimização não-linear é seguidamente apresentada em 4.39. Onde
para cada restrição A ∈ {R,L} sendo que θA,f = (θ1,f , . . . , θ11,f , θ12,f , . . . , θ22,f )> e
θR,b = (θ1,b, . . . , θ11,b, θ12,b, . . . , θ22,b)>. A restrição representada por 4.35 serve para
limitar o valor das juntas dos dois braços e mãos (direito e esquerdo) ao longo de
todo o movimento, enquanto que a apresentada em 4.39 é para limitar a postura de
bounce. O resto das restrições são para prevenir colisões durante todo o movimento,
e estas são representadas por:
• 4.36 para que cada braço-mão direito e esquerdo não colida com o objeto-alvo
100 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
do braço oposto nem com o seu objeto-alvo, a uma distância mínima regulada
pela função no tempo εtar (ti) > 0;
• 4.37 para assegurar que os braços-mãos, ao longo do movimento, não colidam
nem com os obstáculos presentes no cenário nem com o corpo do robô, a uma
distância mínima controlada pela função no tempo εobs (ti) > 0.
• e finalmente, 4.38 para garantir que os dois braços e mãos não colidam entre
eles, a uma distância regulada pela função no tempo ψ (ti) > 0.
(Pb) minΘb⊂Rnj
nj2∑
k=1λk(θk,0 − θk,b)2 +
11+nj2∑
k=12λk(θk,0 − θk,b)2, λk ≥ 0 (4.34)
s.t. θA,m ≤ θA (ti, θA,f , θA,b) ≤ θA,M (4.35)
hA,b (θA (ti, θA,f , θA,b) , εtar (ti)) ≥ 0 (4.36)
hA,b (θA (ti, θA,f , θA,b) , εobs (ti)) ≥ 0 (4.37)
qf (θL (ti, θL,f , θL,b) , θR (ti, θR,f , θR,b), ψ (ti)) ≥ 0 (4.38)
θA,m ≤ θA,b ≤ θA,M (4.39)
, com ti = 0, . . . , T,
4.5.3 Software de Otimização
Um problema matemático de otimização não-linear de grande dimensão, como os
apresentados acima, podem ser resolvidos com o uso de poderosas ferramentas
numéricas, ou mais comummente chamados em Inglês de optimization solvers. O
servidor NEOS (acrónimo em Inglês de “Network-Enabled Optimization System”)
apresenta uma espécie de Estado da Arte em softwares de otimização, em que no seu
site: http://www.neos-server.org/neos/solvers/ é possível encontrar uma vasta
gama de solvers dedicados a diferentes problemas de otimização. No entanto, para
além do software de otimização é necessário a linguagem matemática de programação
apropriada para escrever o problema de otimização de grande dimensão.
Com isto e para este trabalho optou-se por utilizar o solver IPOPT (acrónimo em
Inglês de “Interior Point OPTimizer”), que é direcionado para encontrar soluções
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
101
Capítulo 4 - Planeamento de Movimento Bimanual Síncrono
para problemas de otimização não-lineares de grande dimensão. Mais detalhe acerca
deste software pode ser encontrado no seu site: https://projects.coin-or.org/
Ipopt ou em (Wächter and Biegler, 2006). A razão por escolher utilizar o IPOPT
de entre outros solvers como KNITRO, SNOPT e LOQO foi porque no trabalho
desenvolvido por Costa e Silva (2011), ou seja, na versão anterior para o planeamento
de movimento unimanual, os testes realizados com estes solvers apresentavam tempos
de computação maiores dos que os apresentados pelo IPOPT.
Quanto à linguagem matemática de programação usada para codificar os dois
problemas não-lineares de otimização de grande dimensão, Pa e Pb, é usada a
linguagem AMPL. Esta linguagem permite o interface com o IPOPT e também
permite, de uma forma compacta e percetível, escrever o modelo matemático em
questão. Para mais detalhes consultar o site: http://ampl.com/.
102 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 5
Sistema Geral de Planeamento
de Movimentos
Neste capítulo pretende-se mostrar todo o sistema geral de planeamento de movi-
mentos para uma determinada tarefa. Com isto, na primeira secção é dada uma
explicação acerca do funcionamento do software desenvolvido para planear os mo-
vimentos a serem enviados aos braços do robô ARoS. Posteriormente, na secção
seguinte é demonstrado o aspeto do simulador tal como as suas caraterísticas.
5.1 Software de Planeamento de Movimento
O sistema de planeamento de movimento é desenvolvido em MATLAB R©, este sistema
para uma determinada tarefa e cenário consegue calcular, planear e simular os
movimentos necessários para desempenhar com sucesso a tarefa.
Partindo do princípio que uma determinada tarefa é dividida numa sequência
de movimentos bimanuais ou unimanuais, o processo de cálculo desses movimentos é
executado tantas vezes quanto o número de movimentos necessários. Assim, para uma
determinada tarefa caraterizam-se os seus movimentos de bimanuais ou unimanuais
e, consequentemente, procede-se ao seu cálculo:
• Para movimentos bimanuais síncronos, o processo utilizado é o desenvolvido
neste trabalho e que de uma forma muito geral encontra-se esquematizado no
103
Capítulo 5 - Sistema Geral de Planeamento de Movimentos
fluxograma da figura 4.1;
• Para movimentos unimanuais, o processo utilizado pertence ao trabalho anteri-
ormente desenvolvido e apresentado na secção 1.2.1.
Todo o processo termina quando o total de movimentos de uma tarefa esteja completo.
A figura 5.1 ilustra todo este processo de planeamento de movimentos para uma
determinada tarefa, onde o movimento n vai desde o segundo movimento ao total de
movimentos.
Figura 5.1: Fluxograma do processo de planeamento de movimentos para uma determinada
tarefa, em que movimento n representa o movimento 2, 3 e por aí fora, até o número total
de movimentos.
À medida que o movimento é calculado, este vai sendo executado, e isto de
executar o movimento pode ter dois significados: a) executar o movimento em
simulador e/ou b) executar o movimento no robô real, que consiste no envio das
104 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 5 - Sistema Geral de Planeamento de Movimentos
tramas com a informação do tempo de cada step e dos valores angulares de cada
junta para todo o movimento.
Contudo, para a resolução dos problemas Pa e Pb, subjacentes ao planeamento
de cada movimento, estes são resolvidos com a ajuda do solver anteriormente apre-
sentado, o IPOPT, que se encontra inserido numa toolbox gratuita do MATLAB R©,
a OPTI Toolbox (mais informações em http://www.i2c2.aut.ac.nz/Wiki/OPTI/).
Como na secção 4.5.3 já foi introduzido, para o interface com o IPOPT é utilizada a
linguagem matemática AMPL para escrever o problema de otimização. Para este
interface com o IPOPT, essencialmente, é necessário escrever o modelo matemático
em AMPL, ou seja um ficheiro com extensão “.mod” e no software em MATLAB R© é
necessário inicializar todas as variáveis importantes para o modelo, criando assim os
ficheiros de extensão “.dat”. Subsequentemente dão-se as instruções à OPTI Toolbox
Figura 5.2: Fluxograma do processo de resolução dos problemas de otimização não-lineares
Pa e Pb.
para que com o solver IPOPT se encontre uma solução para o problema codificado em
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
105
Capítulo 5 - Sistema Geral de Planeamento de Movimentos
AMPL, escrito num ficheiro “.mod” e com as suas variáveis num ficheiro “.dat”. Este
processo encontra-se esquematizado no fluxograma presente na figura 5.2. Note-se
que este fluxograma é referente ao processo de cálculo de movimento tanto para
bimanual como para unimanual e serve de complemento ao fluxograma anterior,
presente na figura 5.1, onde poderia estar inserido nos dois retângulos do movimento
bimanual síncrono e movimento unimanual.
5.2 Simulador
O simulador 3D do ARoS, construído em MATLAB R©, é constituído por um painel
que possibilita a visualização dos movimentos do robô e por um outro painel que
permite controlar manualmente os movimentos dos dois braços e mãos, como mostra
a figura 5.3.
(a) Painel de visualização de movimentos (b) Painel de controlo
Figura 5.3: Simulador do ARoS com o seu painel de visualização de movimentos e o painel
de controlo.
De modo a que os movimentos simulados sejam o mais próximos da realidade,
o robô é desenhado conforme a sua construção e dimensões reais. O aspeto base
do painel de visualização de movimentos é com o robô disposto atrás de uma mesa,
mesa essa que serve para suportar os objetos a serem manipulados, como ilustra a
figura 5.3a. Os braços do ARoS são dispostos na sua “home position” sempre que
106 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 5 - Sistema Geral de Planeamento de Movimentos
inicia um movimento, isto é, na sua posição de repouso. Os braços movimentam-se
consoante o envio dos valores dos ângulos das juntas ou então também existe a
possibilidade de controlar os valores através de um painel dedicado para o controlo
manual dos dois braços e mãos, como ilustra a figura 5.3b.
A construção de um cenário para uma determinada tarefa, requer que todos os
objetos sejam também construídos com as medidas e aspeto o mais parecido com o
real. Para desenhar os objetos recorre-se a um software próprio de desenho em 3D, o
SolidWorks R©. Neste software desenham-se os objetos e, posteriormente, de forma a
poderem integrar o simulador do ARoS, os objetos são convertidos numa estrutura
com as coordenadas dos seus vértices. Na figura 5.4 são apresentados alguns dos
objetos utilizados nos cenários criados para este trabalho. O que se pretende com
esta imagem é mostrar apenas as semelhanças entre o objeto real e o objeto em
simulador.
(a) Garrafa tér-
mica
(b) Coluna azul
(c) base do “toy vehicle”
Figura 5.4: Ilustração da semelhança do objeto real e do objeto em simulador.
Este simulador permite, assim, visualizar todos os movimentos do robô antes de
serem enviados para a plataforma robótica real. O que possibilita antever qualquer
problema no movimento simulado e, consequentemente, se necessário voltar à parte
do software responsável pelo planeamento do movimento e corrigir ou melhorar o
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
107
Capítulo 5 - Sistema Geral de Planeamento de Movimentos
movimento, de forma a tornar o movimento o mais “human-like” possível.
108 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6
Validação do Modelo de
Planeamento de Movimento
Bimanual Síncrono
Com este capítulo pretende-se demonstrar todos os passos que permitam validar
o modelo de planeamento de movimento bimanual síncrono e “human-like”, de-
senvolvido neste trabalho de dissertação. Como tal, para validar o modelo existe
a necessidade de se pensar numa tarefa a ser realizada pelo robô antropomórfico
ARoS, de forma a se poder demonstrar a execução da sequência de movimentos
que constitui a tarefa. Com esse intuito, este capítulo é dividido na explicação e
apresentação dos resultados de duas tarefas de manipulação bimanual síncrona de
objetos, nomeadamente, Tarefa 1 e Tarefa 2. Por último são retiradas as conclusões
finais aos resultados destas duas tarefas.
6.1 Tarefa 1
Neste subcapítulo é feita a descrição da Tarefa 1 tal como a apresentação dos
resultados. Primeiramente, explica-se em que consiste esta tarefa de manipulação
bimanual de objetos e o seu respetivo cenário. Posteriormente, são fornecidas
informações acerca do modo como se implementou toda esta tarefa no software
109
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 1
de planeamento de movimentos e os respetivos resultados. Por fim, é feita uma
comparação com a forma como os humanos realizam a mesma tarefa.
Começando então pela explicação da tarefa, em que o ARoS terá que desempe-
nhar movimentos bimanuais síncronos, propõe-se o cenário presente na figura 6.1a,
onde o robô ARoS tem disposto à sua frente peças do “toy vehicle”, nomeada-
mente, duas colunas, uma azul e outra vermelha e a base com uns buracos coloridos,
propositados para encaixar as respetivas colunas de cor.
(a) Início
(b) Fim
Figura 6.1: Demonstração do cenário para a Tarefa 1. Em (a) é ilustrado o momento inicial
de toda a tarefa e em (b) o objetivo final.
A tarefa, como já se deve estar a imaginar, consiste em agarrar as duas colunas,
proceder à sua inserção nos buracos correspondentes, de forma a que as barras
coloridas de cada coluna fiquem juntas com o buraco. Por fim, os braços devem
retornar às suas posições de repouso, com o objetivo de finalizar a tarefa como ilustra
a figura 6.1b.
Obviamente que o ARoS terá que executar uma sequência de movimentos de
forma a atingir todas as fases da tarefa (alcançar e agarrar as colunas, inseri-las e re-
tornar à posição de repouso). Consequentemente, e com o intuito de validar o modelo
de planeamento de movimentos bimanuais síncronos, cada movimento dos braços
será com ambos em sincronia, ou seja, ambos começam e terminam o movimento
ao mesmo tempo. Por outras palavras, pode-se considerar cada movimento como
110 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 1
um movimento bimanual simetricamente coordenado, pois cada braço desempenha
basicamente as mesmas ações e ao mesmo tempo. No entanto, esta tarefa não requer,
especialmente, que ambos os braços desempenhem a tarefa coordenadamente.
6.1.1 Implementação da Tarefa em Software
6.1.1.1 Criação do Cenário em Simulador
De forma a se poder calcular, planear e simular toda a Tarefa 1 procede-se, primei-
ramente, à criação do cenário no simulador em MATLAB R©.
O cenário é desenhado consoante o cenário real que se pretende (figura 6.1a).
Por isso, dispõem-se todos os objetos necessários sobre a mesa, ficando o cenário
como mostra a figura 6.2. Onde, cada elemento constituinte do cenário é posicionado
e orientado consoante o referencial de origem do mundo, W, disposto na base do
braço robótico direito.
Figura 6.2: Ilustração do cenário em simulador da Tarefa 1.
6.1.1.2 Formulação dos Movimentos
A Tarefa 1, essencialmente, é construída a partir da sequência de três movimentos:
1) da posição inicial o ARoS deve alcançar e agarrar a coluna azul com a mão
direita e a coluna vermelha com a mão esquerda; agarradas as colunas 2) deve
transportar as colunas até o local de inserção e inserir as colunas nos buracos
certos, por fim 3) deve voltar à posição de descanso (posição inicial). A figura 6.3
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
111
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 1
exemplifica toda esta sequência de movimentos a partir de quatro imagens.
(a) Posição inicial
(b) Alcançar e agarrar
(c) Transportar e
inserir
(d) Voltar à posição
inicial
Figura 6.3: Sequência de movimentos bimanuais planeados para a Tarefa 1.
Com base nisto, é necessário formular cada um destes movimentos de acordo
com o procedimento de planeamento de movimento bimanual síncrono. Assim sendo,
seguidamente, explora-se cada um dos movimentos:
1o Movimento - Alcançar e Agarrar: Nesta ação, cada um dos braços e mãos
movem-se das suas posturas de repouso às posturas que permitam agarrar cada
um do objeto-alvo correspondente, com um determinado tipo de grip. Neste
caso, ambas as mãos agarram o objeto de forma semelhante, com um side grip
de precisão (no próximo ponto 6.1.1.3 este tipo de grip é definido). Quanto à
formulação deste movimento nos seus problemas de otimização, este apresenta:
• dois problemas do tipo Pa: P1a1 para a seleção de duas posturas finais,
θ1f1 ∈ R14 (uma para o braço direito e outra para o esquerdo), que
garantam que a mão direita e esquerda agarram corretamente o objeto e
P1a2 para a seleção de duas posturas quase finais (ou muito próximas das
finais dos respetivos braços), θ1f2 ∈ R14, para garantir que cada braço-mão
não colida com o seu objeto-alvo antes de o agarrar. São calculadas apenas
as juntas dos braços direito e esquerdo (14 juntas: 1 a 7 braço direito,
12 a 18 braço esquerdo), visto que as juntas dos dedos das mãos já são
calculadas consoante o tipo de grip escolhido;
• um problema do tipo Pb: P1b para a seleção das posturas de bounce
112 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 1
mais adequadas, θ1b ∈ R18, que permita um movimento livre de colisões,
das posturas iniciais às posturas definidas por P1a2 (θ1f2), para ambos
os braços e mãos (18 juntas: 1 a 9 braço-mão direita, 12 a 20 braço-mão
esquerda).
Ao todo este movimento é composto por dois movimentos: um movimento
composto (direto+back-and-forth) da postura de repouso à postura definida
em P1a2 (θ1f2) e um movimento direto da postura P1a2 à postura definida em
P1a1 (θ1f1).
2o Movimento - Transportar e Inserir: o movimento de transportar as colunas,
do local em que estão dispostas na mesa, ao local de inserção e inseri-las, é
composto por:
• dois problemas do tipo Pa: P2a1 para a seleção das posturas finais dos
braços, θ2f1 ∈ R14, que garantem a correta inserção de cada uma das
colunas e P2a2 para a seleção de duas posturas (para o braço direito e
esquerdo), θ2f2 ∈ R14, muito próximas das calculadas em P2a1, de forma
a permitir uma maior facilidade e precisão na inserção das colunas;
• um problema do tipo Pb: P2b para a seleção da postura de bounce,
θ2b ∈ R14, que permita um movimento completo livre de colisões para
cada um dos braços e mãos. De notar que este movimento não necessita
de calcular valores para as juntas dos dedos, pois como é um movimento
de transporte de objetos convém que os dedos não se mexam para os
objetos não caírem.
Este movimento é constituído por um movimento composto da postura definida
em P1a1 (θ1f1) à postura de P2a2 (θ2f2) e um movimento direto da postura
definida em P2a2 à postura P2a1 (θ2f1).
3o Movimento - Retornar à Postura de Repouso: de forma a retornar à pos-
tura de repouso (uma postura já conhecida), as mãos do ARoS devem largar
os objetos nos seus locais e voltar. Este movimento é composto por:
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
113
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 1
• um problema do tipo Pa: P3a1 para selecionar duas posturas próximas
do local onde cada um dos objetos está inserido, θ3f1 ∈ R14, para assim
evitar qualquer colisão com o objeto no momento em que larga a coluna;
• um problema do tipo Pb: P3b para calcular a postura de bounce, θ3b ∈ R18,
mais adequada ao movimento de retorno. Como este movimento de retorno
requer que os dedos se movam, então a postura de bounce é calculada com
base em 18 juntas (respetivas aos dois braços e mãos).
Essencialmente, este movimento é composto por um movimento direto da
postura definida em P2a1 à postura P3a1 e um movimento composto de P3a1
à postura de repouso.
A tabela 6.1 apresenta, de um modo mais resumido, tudo que se foi dito
acima relativamente à composição de cada um dos três movimentos constituintes da
Tarefa1.
Movimento Braço-Alvo Braço-Tipo de Seleção Seleção PosturaGrip Postura Final de Bounce
1 Alcançar e direito-Coluna direito-Side P1a1+P1a2 P1bagarrar Azul nj: 14 14 18
esquerdo-Coluna esquerdo-SideVermelha
2 Transportar e - - P2a1+P2a2 P2binserir - - nj: 14 14 14
3 Retornar à - - P3a1 P3bpostura inicial - - nj: 14 18
Tabela 6.1: Formulação dos movimentos que compõem a Tarefa 1.
6.1.1.3 Tipos de Grip
O modo como o robô agarra e pega nas colunas é fundamental para a correta inserção
destas nos buracos da base do toy vehicle. Como já dito anteriormente, cada uma das
mãos agarra a respetiva coluna num modo preciso e em side grip, porque este tipo
de grip para além de permitir a inserção das colunas, facilita o modo como agarra as
colunas.
114 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 1
Na figura 6.4 é demonstrada a relação de orientação entre as mãos e os seus
objetos-alvo, determinada pelo side grip escolhido para cada mão. Consoante estas
(a) Mão direita: side grip (b) Mão esquerda: side grip
Figura 6.4: Demonstração da orientação (a) da mão direita com a coluna azul nas duas
fases da Tarefa 1 e (b) da mão esquerda com a coluna vermelha.
relações é estabelecida uma expressão matemática para formular a restrição não-linear
do problema de otimização do tipo Pa, respetiva à orientação da mão em relação ao
objeto-alvo (restrição essa definida em 4.29). Assim, na tabela 6.2 são apresentadas
as equações que definem a orientação da mão robótica direita e esquerda:
Tipo de Grip Restrição Não-Linear
Mão direita - Side Grip ‖xR7 (θR,f )− ztarR (θR,f )‖2 ≤ δ
Mão esquerda - Side Grip ‖xL18 (θL,f ) + ztarL (θL,f )‖2 ≤ δ
Tabela 6.2: Descrição dos tipos de grip da Tarefa 1
6.1.2 Desempenho do Planeamento da Tarefa - Resultados
Neste ponto, são apresentados os resultados do planeamento da tarefa bimanual 1.
Estes resultados foram obtidos usando um computador Intel R© CoreTM i7-4770 CPU@
3.40GHz a correr no Windows 8 de 64-bits, com uma placa gráfica AMD Radeon
HD 6570 e 8GB de memória RAM. Todos os problemas de otimização do tipo Pa e
Pb, apresentados na tabela 6.1, foram codificados em AMPL e resolvidos usando o
IPOPT 3.11, fornecido pela toolbox gratuita do MATLAB R©, a OPTI Toolbox.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
115
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 1
Para esta Tarefa 1, composta por três movimentos, o sistema de planeamento de
movimento bimanual síncrono propõe movimentos dos dois braços-mãos sincronizados
no tempo, livres de colisões, suaves e semelhantes aos movimentos realizados pelos
braços humanos. O resultado de cada um dos movimentos encontra-se ilustrado na
figura 6.5, onde é possível visualizar as trajetórias tal como a velocidade linear de
cada uma das duas mãos, obtidas no Simulador do ARoS em MATLAB.
(a) Movimento 1
(b) Movimento 2
(c) Movimento 3
Figura 6.5: Representação da sequência e caraterísticas dos movimentos da Tarefa 1 obtidos
no simulador do ARoS. Em (a) é demonstrada as trajetórias dos dedos da mão direita e
esquerda e a velocidade linear de cada mão para o movimento 1. Em (b) são representadas
as trajetórias dos dedos das duas mãos e a velocidade linear de cada mão no movimento 2.
Por fim, em (c) é demonstrada a trajetória dos dedos de ambas as mãos e a velocidade linear
das mãos para o movimento 3.
De acordo com a figura 6.5 é possível verificar que os picos de velocidade da
mão direita e esquerda são atingidos quase ao mesmo tempo (o que era esperado
para este planeamento de movimento bimanual síncrono) e ambas as mãos começam
e terminam o movimento ao mesmo tempo, com velocidade e aceleração inicial e
final igual zero, ou seja, na trajetória do movimento direto (dada em 4.13) é definido
ω0 = 0, ωf = 0, α0 = 0 e αf = 0. De salientar que o último pico de velocidade
116 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 1
presente nos painéis a e b da figura 6.5 é correspondente ao movimento direto da
posição próxima da final à final do movimento 1 e 2, respetivamente. Por outro
lado, para o movimento 3 o primeiro pico de velocidade presente na figura 6.5c é
correspondente ao movimento direto da posição inicial a uma próxima.
Quanto às trajetórias, estas são livres de colisões, pois em toda a Tarefa 1
os braços do ARoS não colidem nem com o seu corpo, nem com a mesa e nem
com os obstáculos, que neste caso, é apenas a base do toy-vehicle. Para tal, os
braços-mãos do ARoS são modelados com 24 esferas como está representado na
figura 6.6. As esferas representam não todo o braço, mas sim apenas a partir do
pulso pois para esta tarefa não existe a necessidade de se verificar se todo o braço
colide com obstáculos. Além do mais, as trajetórias de ambos os braços podem ser
calculadas sem a necessidade de se verificar a colisão entre os dois braços e mãos,
visto que esta tarefa é espacialmente independente.
Figura 6.6: Modelação dos braços robóticos para a Tarefa 1, com 24 esferas representando
o pulso, mão e dedos.
Na implementação dos problemas do tipo Pa e Pb, associada a cada um dos
três movimentos, os valores dos parâmetros envolvidos no modelo de otimização
(nomeadamente na secção 4.5.2) encontram-se especificados na tabela 6.3.
Para além dos parâmetros dos problemas do tipo Pb definidos nesta tabela
faltam as funções no tempo, εtar (t) e εobs (t), que respetivamente, diminui ao longo
do movimento de modo a permitir agarrar os objetos-alvo e aumenta de forma a
garantir uma trajetória sem colisões, à medida que se aproxima dos obstáculos.
O IPOPT é invocado através da OPTI Toolbox usando os seus parâmetros
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
117
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 1
Movimento Problemas de Parâmetros Problemas de Parâmetrosotimização Pa otimização Pb
β δ ζtar ζobs λk T tb λk
Alcançar e P1a1 1 10−5 10 5 1 P1b 1 0.5 1agarrar P1a2 1 10−5 10 5 1 1 0.5 1
Transpotar e P2a1 1 10−5 10 5 1 P2b 1 0.5 1inserir P2a2 1 10−5 10 5 1 1 0.5 1
Retornar à P3a1 1 10−5 10 5 1 P3b 1 0.5 1postura inicial
Tabela 6.3: Valores dos parâmetros envolvidos nos problemas de otimização da Tarefa 1.
por defeito, à exceção da informação das derivadas de segunda ordem, que são
aproximadas usando o método quasi-Newton BFGS de memória limitada e uma
tolerância relativa de convergência da função objetivo igual a 10−2. A tabela 6.4
mostra os resultados numéricos para todos os problemas do tipo Pa e Pb da Tarefa
1, onde N é o número de variáveis (ou antes o número de juntas nj), NT o número
de steps do movimento, Mineq é o número de restrições de desigualdade, Obj é o
valor da função objetivo e CPU é o tempo computacional em segundos.
Movimento 1 Movimento 2 Movimento 3
P1a1 P1a2 P1b P2a1 P2a2 P2b P3a1 P3b
N 14 14 18 14 14 14 14 18
NT - - 15 - - 20 - 10
Mineq 60 60 930 60 60 588 106 775
Obj 17.997 0.610 0.022 4.106 3.362 0.021 0.077 0.034
CP U 0.54 s 0.27 s 0.41 s 0.54 s 0.20 s 0.27 s 0.18 s 0.65 s
Tempo Total 1.22 s 1.01 s 0.83 s
Tabela 6.4: Resultados numéricos para os problemas de otimização Pa e Pb da Tarefa 1.
De acordo com os resultados da tabela anterior, é evidente que o IPOPT é capaz
de encontrar uma solução ótima para cada um dos problemas num tempo menor
que 0.7 segundos. O tempo maior para um movimento é de 1.22 segundos, sendo
que o tempo de espera aproximado entre o inicio do planeamento de movimento e a
execução do movimento pelo ARoS é o tempo do primeiro movimento (1.22 s).
118 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 1
6.1.3 Comparação com o Desempenho Humano
De forma a se poder comparar o desempenho do ARoS na execução desta Tarefa
1 com o desempenho dos Humanos, realizaram-se alguns testes com um grupo de
alunos. Os alunos foram dispostos no mesmo cenário proposto ao robô e foi-lhes
pedido para agarrarem as duas colunas e as inserirem nos respetivos buracos da base
do toy-vehicle, ou seja, a coluna azul no buraco azul e a vermelha no vermelho. Todo
este movimento tinha que ser feito com os dois braços ao mesmo tempo.
Obviamente que esta tarefa não impõe nenhuma dificuldade na sua execução
e todos os intervenientes humanos neste teste conseguiram executar com sucesso
os movimentos. No entanto, apenas foi possível fazer uma comparação em termos
de posturas e comportamento, pois para se compararem os tempos requeria que os
testes fossem bem mais especializados. Contudo, pode-se dizer que procederam de
modo semelhante ao robô ARoS, com a mão direita agarraram a coluna azul e com a
mão esquerda agarraram a coluna vermelha e procederam à inserção destas nos seus
respetivos buracos. Esta comparação é demonstrada na figura 6.7, onde se comparam
as posturas no momento em que se agarram as colunas e se inserem. Para assistir
ao vídeo completo do ARoS a desempenhar esta Tarefa 1 segue-se o seguinte link:
http://marl.dei.uminho.pt/public/videos/ARoS_bim_syn_task1.html.
(a) Momento de agarrar (b) Momento de inserção
Figura 6.7: Comparação das posturas dos humanos vs. do robô ARoS na Tarefa 1.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
119
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
6.2 Tarefa 2
Nesta secção é feita a descrição da Tarefa 2 e a apresentação dos resultados, onde
primeiramente se começa por explicar em que consiste esta tarefa de manipulação
bimanual de objetos e o seu respetivo cenário. Posteriormente, são fornecidas
informações acerca do modo como se implementou toda esta tarefa no software
de planeamento de movimento e os respetivos resultados. Por fim, é feita uma
comparação com a forma como os humanos realizam a mesma tarefa.
Começando pela explicação da tarefa, em que esta, tal como a tarefa anterior,
tem como objetivo fazer o robô executar movimentos síncronos com os dois braços,
com o intuito de validar o modelo de movimento bimanual desenvolvido neste trabalho.
No entanto, de forma a diferir da tarefa 1 e se poder validar o algoritmo de colisão
entre os braços, propõe-se neste subcapítulo uma tarefa um pouco mais complexa
que a anterior, a Tarefa 2.
O cenário para esta tarefa encontra-se ilustrado na figura 6.8a, onde o robô
antropomórfico ARoS tem à sua frente peças do toy-vehicle. As duas colunas azul e
vermelha encontram-se inseridas nos buracos incorretos da base, ou seja, a coluna
azul no buraco vermelho e a coluna vermelha no buraco azul.
(a) Início
(b) Fim
Figura 6.8: Demonstração do cenário para a Tarefa 2. Em (a) é ilustrado o momento inicial
de toda a tarefa e em (b) o objetivo final.
120 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
O que se pretende, então, com esta tarefa é que o robô proceda à correção
da disposição das colunas trocando-as de lugar, como mostra a figura 6.8b. Para
o sucesso desta tarefa o ARoS terá que agarrar cada uma das colunas com uma
respetiva mão, proceder à troca das colunas e voltar à postura de repouso. Todos estes
movimentos serão com ambos os braços em sincronia e como tal acresce dificuldade
ao movimento da troca das colunas que terá que ser previamente bem definido.
De relembrar que este movimento para além de pretender validar o planeamento
de movimento bimanual síncrono, pretende verificar se o algoritmo responde correta-
mente à colisão entre os braços. Como tal, esta tarefa foi pensada com esse propósito
pois, a troca das colunas requer que haja um cruzamento entre os braços. Por outras
palavras, esta é uma tarefa espacialmente dependente.
6.2.1 Implementação da Tarefa em Software
6.2.1.1 Criação do Cenário em Simulador
De forma a se poder calcular, planear e simular toda a Tarefa 2 procede-se, primei-
ramente, à criação do cenário no simulador em MATLAB R©.
O cenário é desenhado consoante o cenário real que se pretende (figura 6.8a).
Por isso, dispõem-se todos os objetos necessários sobre a mesa, ficando o cenário
como mostra na figura 6.9. Onde cada elemento constituinte do cenário é posicionado
e orientado consoante o referencial de origem do mundo, W, disposto na base do
braço robótico direito.
Figura 6.9: Ilustração do cenário em simulador da Tarefa 2.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
121
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
6.2.1.2 Formulação dos Movimentos
A Tarefa 2, essencialmente, é constituída pela sequência de três movimentos: 1) da
posição inicial o ARoS deve alcançar e agarrar a coluna azul com a mão direita
e a coluna vermelha com a mão esquerda; agarradas as colunas 2) deve trocar as
colunas e inserir as colunas nos buracos certos, por fim 3) deve voltar à posição
de descanso (posição inicial). A figura 6.10 exemplifica toda esta sequência de
movimentos a partir de quatro imagens:
(a) Posição inicial
(b) Alcançar e
agarrar
(c) Trocar e
inserir
(d) Voltar à posição ini-
cial
Figura 6.10: Sequência de movimentos bimanuais planeados para a Tarefa 2.
Esta tarefa pode ser resolvida de duas formas, uma que é a apresentada aqui em
que inicialmente o robô opta por cruzar os braços e seguidamente proceder à troca e
inserção das colunas ou, então, pode primeiramente agarrar as colunas diretamente e
só depois é que cruza os braços, de forma a proceder à troca e inserção. A maneira
que se optou aqui nesta tarefa deveu-se ao efeito visualizado no comportamento
humano, o “end-state comfort effect” (explicado no Estado da Arte na secção 2.3.2.2),
que diz que os humanos preferem optar por uma postura inicial estranha ou antes
complicada para que no fim da tarefa possa finalizar com uma postura bem mais
simples dos braços. O que se aplica muito bem nesta tarefa, pois a primeira postura,
respetiva ao agarre das colunas na figura 6.10b, é bem complicada para os braços.
No entanto, permite facilitar o resto do processo de troca e inserção das colunas na
base do toy-vehicle e acabar com uma postura final dos braços simplificada, como na
figura 6.10c.
122 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
A formulação de cada dos movimentos de acordo com o algoritmo de planeamento
de movimento bimanual síncrono é seguidamente apresentada:
1o Movimento - Alcançar e Agarrar: Neste movimento, os braços-mãos movem-
se das suas posturas de repouso às posturas que permitam agarrar cada um
dos objetos-alvo correspondente (braço direito - coluna azul e braço esquerdo -
coluna vermelha), com um determinado tipo de grip. Para este caso, cada uma
das mãos tem um diferente tipo de grip, a mão esquerda agarra o objeto em
side grip de precisão, enquanto a mão direita em diagonal grip1 de precisão para
permitir que os braços se possam cruzar, agarrar os objetos e não colidirem.
Na próxima secção 6.2.1.3 estes tipos de grip utilizados neste movimento e no
resto dos movimentos são explicados em maior detalhe. Quanto à formulação
deste movimento nos seus problemas de otimização, este apresenta:
• dois problemas do tipo Pa: P1a1 para a seleção de duas posturas finais,
θ1f1 ∈ R14 (uma para o braço direito e outra para o esquerdo), que
garantam que a mão direita e esquerda agarram corretamente o objeto e
P1a2 para a seleção de duas posturas quase finais (ou muito próximas das
finais dos respetivos braços), θ1f2 ∈ R14, para garantir que cada braço-mão
não colida com o seu objeto-alvo antes de o agarrar. Note-se que apenas
são calculadas as juntas dos braços direito e esquerdo (14 juntas: 1 a 7
braço direito, 12 a 18 braço esquerdo), visto que as juntas dos dedos das
mãos já são calculadas consoante o tipo de grip escolhido;
• um problema do tipo Pb: P1b para a seleção da postura de bounce mais
adequada, θ1b ∈ R18, que permita um movimento livre de colisões, da
postura inicial à postura definida por P1a2 (θ1f2), para ambos os braços
e mãos e por isso consideram-se 18 juntas, de 1 a 9 braço-mão direita e
de 12 a 20 braço-mão esquerda.
Portanto, este movimento é composto por dois movimentos: um movimento1A diagonal grip foi desenvolvida propositadamente para esta tarefa, de forma a permitir ao
braço direito do ARoS agarrar a coluna na situação em que os braços se cruzam.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
123
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
composto (direto+back-and-forth) da postura de repouso à postura definida
em P1a2 e um movimento direto da postura P1a2 à postura definida em P1a1.
2o Movimento - Trocar e Inserir: o movimento de trocar as colunas e inseri-las
envolve:
• três problemas do tipo Pa: P2a1 para a seleção da postura para o braço
direito e esquerdo, θ2f ∈ R14, que permite retirar cada coluna do buraco
onde está inserida. P2a2 para a seleção de duas novas posturas dos braços,
θ2f2 ∈ R14, que permitem levar as colunas até perto do local correto de
inserção e P2a3 para calcular as posturas para os dois braços, θ2f3 ∈ R14,
que permitem inserir cada coluna no seu buraco correto;
• um problema do tipo Pb: P2b para a seleção da postura de bounce,
θ2b ∈ R14, que permita um movimento completo livre de colisões para
cada um dos braços e mãos da postura selecionada em P2a1 à postura
selecionada em P2a2. De notar que este movimento não necessita de
calcular valores para as juntas dos dedos, pois como é um movimento de
transporte de objetos convém que os dedos não se mexam para os objetos
não caírem.
Ao todo este movimento é composto por um movimento direto da postura P1a1
à postura P2a1, um movimento composto (direto+back-and-forth) da postura
P2a1 à postura P2a2 e um movimento direto da postura P2a2 a P2a3.
3o Movimento - Retornar à Postura de Repouso: de forma a retornar à pos-
tura de repouso (uma postura já conhecida), as mãos do ARoS devem largar
os objetos nos seus locais e voltar. Este movimento envolve:
• um problema do tipo Pa: P3a1 para selecionar duas posturas para
os braços próximas do local onde cada um dos objetos está inserido,
θ3f1 ∈ R14, para assim evitar qualquer colisão com o objeto no momento
em que larga a coluna;
124 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
• um problema do tipo Pb: P3b para calcular a postura de bounce, θ3b ∈ R18,
mais adequada ao movimento de retorno. Como este movimento de retorno
requer que os dedos se movam, então a postura de bounce é calculada com
base em 18 juntas (respetivas aos dois braços e mãos).
Essencialmente, este movimento é composto por um movimento direto da
postura definida em P2a3 à postura P3a1 e um movimento composto de P3a1
à postura de repouso.
A tabela 6.5 apresenta, de um modo mais resumido, tudo o que foi dito acima,
relativamente, à composição de cada um dos três movimentos constituintes da
Tarefa2.
Movimento Braço-Alvo Braço-Tipo de Seleção Seleção PosturaGrip Postura Final de Bounce
1 Alcançar e direito-Coluna direito-Diagonal P1a1+P1a2 P1bagarrar Azul nj: 14 14 18
esquerdo-Coluna esquerdo-SideVermelha
2 Trocar e - - P2a1+P2a2+P2a3 P2binserir - - nj:14 14 14 14
3 Retornar à - - P3a1 P3bpostura inicial - - nj: 14 18
Tabela 6.5: Formulação dos movimentos que compõem a Tarefa 2.
6.2.1.3 Tipos de Grip
O modo como o robô agarra e pega nas colunas é fundamental para a correta inserção
destas nos buracos da base do toy vehicle. Como já dito anteriormente, nesta Tarefa
2 a mão direita agarra a coluna em modo diagonal grip e a mão esquerda em side
grip, ambas de precisão. Os modos são escolhidos de modo a permitir facilitar todo
o processo, quer de agarre quer de inserção das duas colunas.
Na figura 6.11 é demonstrada a relação de orientação entre as mãos e os seus
objetos-alvo, determinada pelo tipo de grip escolhido para cada mão.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
125
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
(a) Mão direita: diagonal grip (b) Mão esquerda: side grip
Figura 6.11: Demonstração da orientação (a) da mão direita com a coluna azul nas duas
fases da Tarefa 2 e (b) da mão esquerda com a coluna vermelha.
Consoante estas relações é estabelecida uma expressão matemática para formular
a restrição não-linear do problema de otimização do tipo Pa, respetiva à orientação
da mão em relação ao objeto-alvo (restrição essa definida em 4.29). Assim, na
tabela 6.6 são apresentadas as expressões que definem a orientação da mão robótica
direita e esquerda:
Tipo de Grip Restrição Não-Linear
Mão direita - Diagonal Grip ‖yR7 (θR,f )− xtarR (θR,f )‖2 ≤ δ
Mão esquerda - Side Grip ‖xL18 (θL,f ) + ztarL (θL,f )‖2 ≤ δ
Tabela 6.6: Descrição dos tipos de grip da Tarefa 2
6.2.2 Desempenho do Planeamento da Tarefa - Resultados
Neste ponto, são apresentados os resultados do planeamento da tarefa bimanual 2.
Estes resultados foram obtidos usando um computador Intel R© CoreTM i7-4770 CPU@
3.40GHz a correr no Windows 8 de 64-bits, com uma placa gráfica AMD Radeon
HD 6570 e 8GB de memória RAM. Todos os problemas de otimização do tipo Pa e
Pb, apresentados na tabela 6.5, foram codificados em AMPL e calculados usando o
IPOPT 3.11, fornecido pela toolbox gratuita do MATLAB R©, a OPTI Toolbox.
Para esta Tarefa 2, composta por três movimentos: (movimento 1) alcançar
e agarrar, (movimento 2) trocar e inserir as colunas e (movimento 3) retornar à
126 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
posição de repouso; o sistema de planeamento de movimento bimanual síncrono
propõe movimentos dos dois braços-mãos sincronizados no tempo, livres de colisões,
suaves e semelhantes aos movimentos realizados pelos braços humanos. O resultado
de cada um dos movimentos encontra-se ilustrado na figura 6.12, onde é possível
visualizar as trajetórias tal como a velocidade linear de cada uma das duas mãos,
obtidas no Simulador do ARoS em MATLAB.
(a) Movimento 1
(b) Movimento 2
(c) Movimento 3
Figura 6.12: Representação da sequência e caraterísticas dos movimentos da Tarefa 2
obtidos no simulador do ARoS. Em (a) é demonstrada as trajetórias dos dedos da mão direita
e esquerda e a velocidade linear de cada mão para o movimento 1. Em (b) são representadas
as trajetórias dos dedos das duas mãos e a velocidade linear de cada mão no movimento 2.
Por fim, em (c) é demonstrada a trajetória dos dedos de ambas as mãos e a velocidade linear
das mãos para o movimento 3.
De acordo com a figura 6.12 é possível verificar que os picos de velocidade da
mão direita e esquerda são atingidos quase ao mesmo tempo (o que era esperado
para este planeamento de movimento bimanual síncrono) e ambas as mãos começam
e terminam o movimento ao mesmo tempo, com velocidade e aceleração inicial e
final igual zero, ou seja, na equação do movimento direto (equação presente em 4.13)
é definido ω0 = 0, ωf = 0, α0 = 0 e αf = 0. De salientar que o último pico de
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
127
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
velocidade presente nas figuras 6.12a e 6.12b é correspondente ao movimento direto
da posição próxima da final à final do movimento 1 e 2, respetivamente. Por outro
lado, para o movimento 2, na figura 6.12b, e movimento 3, na figura 6.12c, o primeiro
pico de velocidade é correspondente ao movimento direto da posição inicial a uma
próxima.
Quanto às trajetórias, estas são livres de colisões, pois em toda a Tarefa 2 os
braços do ARoS não colidem nem com o seu corpo, nem entre os braços e mãos, nem
com os obstáculos, que neste caso, são apenas a mesa e a base do toy-vehicle. Para
tal, os braços-mãos do ARoS são modelados com 10 esferas como está representado
na figura 6.13. As esferas representam não todo o braço, mas sim apenas a partir do
pulso pois para esta tarefa não existe a necessidade de se verificar se todo o braço
colide com obstáculos. Porém as mãos robóticas são apenas representadas por duas
esferas nos dedos e isto para exigir uma menor carga computacional ao sistema de
otimização. Apesar desta redução de esferas para se verificarem colisões, o resultado
permanece aceitável para os objetivos deste trabalho.
Figura 6.13: Modelação dos braços robóticos para a Tarefa 2, com 10 esferas representando
o pulso, mão e dedos.
Na implementação dos problemas do tipo Pa e Pb, de cada um dos três mo-
vimentos, os valores de certos parâmetros usados nos problemas de otimização
(nomeadamente na secção 4.5.2) encontram-se dispostos na tabela 6.7. Para além
dos parâmetros dos problemas do tipo Pb definidos nesta tabela faltam especificar as
funções no tempo de algumas das suas restrições, como: εtar (t) que diminui ao longo
do movimento de modo a permitir que os braços ao se cruzarem passem perto dos da
128 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
coluna-alvo do braço oposto, εobs (t) que aumenta de forma a garantir uma trajetória
sem colisões, à medida que se aproxima dos obstáculos e ψobs (t) que diminui ao
longo do tempo para o caso do planeamento do movimento de alcançar e agarrar
as colunas (objetos-alvo), de forma a permitir que os braços e mãos possam estar
próximos um do outro. Por outro lado, ψobs (t) permanece com um valor constante,
valor esse mínimo no movimento anterior, para o movimento de troca (ou transporte)
das colunas.
Movimento Problemas de Parâmetros Problemas de Parâmetrosotimização Pa otimização Pb
β δ ζtar ζobs λk T tb λk
Alcançar e P1a1 1 10−4 10 5 1 P1b 1 0.5 1agarrar P1a2 1 10−4 10 5 1
Trocar e P2a1 1 10−5 10 5 1 P2b 1 0.5 1inserir P2a2 1 10−5 10 5 1
Trocar e P2a3 1 10−5 10 5 1
Retornar à P3a1 1 10−3 10 5 1 P3b 1 0.5 1postura inicial
Tabela 6.7: Valores dos parâmetros envolvidos nos problemas de otimização da Tarefa 2.
O IPOPT é invocado através da OPTI Toolbox usando os seus parâmetros
por defeito, à exceção da informação das derivadas de segunda ordem, que são
aproximadas usando o método quasi-Newton BFGS de memória limitada e uma
tolerância relativa de convergência da função objetivo igual a 10−2. A tabela 6.8
Movimento 1 Movimento 2 Movimento 3
P1a1 P1a2 P1b P2a1 P2a2 P2a3 P2b P3a1 P3b
N 14 14 18 14 14 14 14 14 18
NT - - 20 - - - 10 - 10
Mineq 63 63 661 63 63 28 900 28 230
Obj 15.886 0.102 0.137 0.102 1.40 0.124 0.028 0.024 0.145
CP U 0.23 s 0.31 s 0.68 s 0.58 s 0.20 0.16 s 1.40 s 0.14 s 0.19 s
Tempo Total 1.22 s 2.34 s 0.33 s
Tabela 6.8: Resultados numéricos para os problemas de otimização Pa e Pb da Tarefa 2.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
129
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
mostra os resultados numéricos para todos os problemas do tipo Pa e Pb da Tarefa
2, onde N é o número de variáveis (ou antes o número de juntas nj), NT o número
de steps do movimento, Mineq é o número de restrições de desigualdade, Obj é o
valor da função objetivo e CPU é o tempo computacional em segundos.
De acordo com os resultados da tabela anterior, é evidente que o IPOPT é capaz
de encontrar uma solução ótima para cada um dos problemas num tempo menor
que 0.7 segundos. O tempo maior para um movimento é de 2.34 segundos e quanto
ao tempo de espera aproximado entre o inicio do planeamento de movimento e a
execução do movimento pelo robô ARoS tem-se o tempo do primeiro movimento,
que neste caso é de 1.22 segundos.
6.2.3 Comparação com o Desempenho Humano
De forma a se poder comparar o desempenho do ARoS na execução desta Tarefa 2
com o desempenho dos Humanos, realizaram-se alguns testes com um grupo de alunos.
Os alunos foram dispostos no mesmo cenário proposto ao robô e foi-lhes pedido para
arranjarem maneira de corrigir a disposição das colunas nos seu buracos de cores
correspondentes. Para além disto, o importante é realizarem todos os movimentos
necessários com as duas mãos ao mesmo tempo.
Os resultados a esta tarefa (e como era de esperar!) foram dois. Num dos
resultados um conjunto de alunos optou por, inicialmente, agarrar diretamente as
colunas, isto é, com o braço do lado da coluna, e só depois com as colunas já agarradas
é que pensou em cruzar os braços para trocar as colunas. A figura 6.14 apresenta a
sequência de movimentos captados por algumas fotos tiradas aos alunos que optaram
por esta solução. Relativamente a estas fotos é possível verificar que eles agarram as
colunas mas depois aquando do processo de troca este é um pouco dificultado, as
colunas colidem uma com a outra e o momento da inserção é bem mais complicado,
pois com os braços cruzados acresce a dificuldade na precisão da inserção das colunas.
No entanto, um outro grupo de alunos opta por cruzar, primeiramente, os braços
no agarre das colunas e depois na troca descruza os braços e insere, como ilustrado
na figura 6.15. Este grupo de alunos ao preferir uma postura inicial desconfortável,
130 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
Figura 6.14: Versão 1 do comportamento humano para a realização da Tarefa 2.
consequentemente, terá uma postura final facilitada - “end-state-comfort effect”.
Pelas imagens da figura 6.15 é possível visualizar que a inserção das colunas é bem
mais precisa que a anterior e é efetuada ao mesmo tempo pelos braços.
Figura 6.15: Versão 2 do comportamento humano para a realização da Tarefa 2.
Contudo o comportamento doARoS para esta tarefa é semelhante a esta segunda
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
131
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
versão da execução da tarefa pelos alunos. De forma a comparar os movimentos
veja-se na figura 6.16 a sequência de movimentos captados aquando da execução real
da tarefa pelo robô. No entanto, para assistir ao vídeo completo segue-se o seguinte
link: http://marl.dei.uminho.pt/public/videos/ARoS_bim_syn_task2.html.
Figura 6.16: Demonstração da execução real da Tarefa 2 pelo ARoS.
6.3 Conclusões Gerais
Neste capítulo foram apresentadas duas tarefas de manipulação bimanual de objetos,
com o objetivo de validar o modelo de planeamento de movimento bimanual síncrono
desenvolvido neste trabalho e formulado no Capítulo 4. Modelo esse que toma
inspiração de conceitos elaborados a partir de estudos feitos em humanos para a
compreensão da coordenação motora dos membros superiores dos humanos. Como
tal, o perfil de velocidade das mãos traçado pelo modelo de planeamento, apresentado
nas respetivas secções dos resultados da Tarefa 1 e Tarefa 2, nomeadamente nas
figuras 6.5 e 6.12, demonstra que o modelo é capaz de gerar trajetórias “human-like”,
pois apresentam velocidade em forma “bell-shaped” o que indica que o movimento
é gerado tendo em conta o princípio do minimun angular jerk. Por outro lado,
132 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 6 - Validação do Modelo de Planeamento deMovimento Bimanual Síncrono - Tarefa 2
os movimentos dos dois braços são sincronizados no tempo e atingem o pico de
velocidade quase no mesmo instante. De relembrar que todas estas caraterísticas
foram anteriormente formuladas e atribuídas como um sinal de “human-likeness” no
movimento gerado (na secção 4.1).
Os testes realizados ao grupo de alunos serviu apenas para verificar e comparar
certas posturas ao longo dos movimentos das Tarefas 1 e 2, pois por razões técnicas
era difícil determinar o tempo que a pessoa leva a calcular os movimentos. Por isso,
uma comparação em termos de tempos foi impossível. De certo modo, o planeamento
de movimentos do ARoS selecionou as posturas mais adequadas ao movimento e
mais parecidas com as das pessoas.
Contudo, para além das trajetórias geradas cumprirem com os requisitos de
“human-likeness”, estas são totalmente livres de colisões. Por outro lado, e a partir
dos resultados dos tempos computacionais da resolução dos problemas de otimização
de cada tarefa, presentes nas tabelas 6.4 e 6.8 é possível afirmar que o sistema de
planeamento de movimento é suficientemente rápido para permitir que no futuro
se implemente um sistema de re-planeamento em tempo real (no caso de alterações
no cenário). Para além dos baixos tempos computacionais o robô ARoS, desde o
planeamento de movimento até à execução, apenas tem que esperar pelo tempo de
planeamento do primeiro movimento, que para estas duas tarefas não ultrapassou os
1.22 segundos. Pois enquanto o robô executa o movimento já se encontra a planear o
seguinte, o que facilita a implementação do sistema de re-planeamento.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
133
Capítulo 7
Validação do Modelo de
Planeamento de Movimentos
Bimanuais e Unimanuais
Neste capítulo é demonstrada a capacidade do software de planeamento de movimen-
tos para a resolução de uma sequência de diferentes movimentos, tanto bimanuais
síncronos como unimanuais. De forma a permitir ao ARoS desempenhar uma tarefa
com um grau de complexidade bem mais alto do que as tarefas anteriores.
Sendo assim, neste capítulo é proposta uma tarefa de complexidade elevada,
em que esta é explicada e formulada de acordo com o software de planeamento de
movimento desenvolvido. Posteriormente, são apresentados os resultados obtidos,
como a trajetória, a velocidade das mãos robóticas e os resultados em termos
de tempos computacionais. Consequentemente, é feita uma conclusão acerca dos
resultados obtidos.
7.1 Definição da Tarefa 3
Existe uma grande variedade de tarefas que se encaixam neste perfil de tarefas “mais
complexas” e com diferentes tipos de movimentos. No entanto, na área da robótica
humanóide existe um grande interesse em aplicar os robôs juntamente com as pessoas
135
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
e daí surgem várias aplicações para estes robôs, nomeadamente, para ajuda em
tarefas domésticas, nas linhas de montagem das fábricas, na educação das crianças,
para cuidados de saúde, entre outros. Com isto, e focando nas aplicações robóticas
para a ajuda doméstica, as tarefas com bastante interesse para os investigadores
desta área são com base na manipulação de objetos do meio ambiente humano. Por
isso, colocar um robô antropomórfico a desempenhar tarefas do dia a dia humano
está em grande crescimento, em termos de investigação. Por exemplo a tarefa de
abrir uma garrafa, pegar no copo e entornar o líquido da garrafa no copo é aliciante
nesta área, pois já existem alguns robôs como o ASIMO da Honda (figura 7.1a) e o
HRP-2 (figura 7.1b) que conseguem desempenhar esta tarefa.
(a) ASIMO (b) HRP-2
Figura 7.1: Demonstração de robôs capazes de desempenhar tarefas humanas. Em (a) o robô
abre a garrafa e entorna o líquido para o copo (imagem retirada de http://world.honda.
com/ASIMO/technology/2011/performing/index.html). Em (b) o robô HRP-2 deita o
líquido da garrafa num copo (imagem retirada de http://i-heart-robots.blogspot.pt/
2007/04/robotic-home-invades-japan.html).
Portanto, esta foi a tarefa escolhida para demonstrar a capacidade do sistema
de planeamento de movimentos bimanuais síncronos e unimanuais. Foi escolhida não
só pela sua complexidade de movimentos, mas também pelo seu grande interesse
científico.
7.1.1 Sequência e Coordenação dos Movimentos
Esta Tarefa 3 é, logicamente, uma tarefa bimanual altamente cooperativa em que
requer que cada um dos dois braços desempenhem uma bem estruturada sequência
136 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
de movimentos, respetivamente:
1. Alcançar e agarrar a garrafa - movimento unimanual;
2. Abrir a garrafa - movimento bimanual assimétrico;
3. Colocar a tampa da garrafa na mesa e levar a garrafa para uma
posição mais confortável - movimento bimanual assimétrico;
4. Alcançar e agarrar o copo - movimento unimanual;
5. Transportar o copo e a garrafa para uma posição próxima - movimento
bimanual assimétrico;
6. Entornar o líquido da garrafa no copo - movimento bimanual assimétrico;
7. Parar com o movimento anterior e estabilizar a posição da garrafa
e do copo - movimento bimanual assimétrico;
8. Pousar a garrafa e oferecer o copo a alguém - movimento bimanual
assimétrico.
Dentro destes oito movimentos, uns são unimanuais e outros bimanuais. Quanto
aos unimanuais estes são simples, são realizados apenas com um braço-mão. No
entanto, os movimentos bimanuais, estes sim, são mais complexos, são coordenados
espacialmente e temporalmente entre si e ambos os movimentos de cada braço são
assimétricos, pois cada braço-mão tem objetivos específicos e diferentes.
Posto isto, e como o objetivo é que o robô execute a tarefa o mais parecido com
uma pessoa, cada um destes movimentos bimanuais assimétricos deve ser explicado
consoante observações levadas a cabo por estudos na área do Controlo Motor Humano.
Sendo assim:
• Uma das caraterísticas destes movimentos bimanuais é que são sincronizados.
Pois, como já explicado anteriormente no capítulo referente ao planeamento
de movimento bimanual síncrono na secção 4.1, os dois braços perante tarefas
cooperativas tendem a sincronizar os movimentos (Perrig et al., 1999; Weiss
and Jeannerod, 1998).
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
137
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
• Uma outra caraterística é saber qual o papel de cada um dos braços-mãos nesta
tarefa. O trabalho de Theorin (2009) baseado em observações de situações
do quotidiano das pessoas, explora este mesmo problema, em que afirma que
as pessoas perante a tarefa de abrir uma garrafa escolhem a mão direita ou
esquerda para agarrar a garrafa atendendo ao objetivo da tarefa. Ou seja,
se o objetivo é apenas pegar na garrafa e a abrir, então, é a mão esquerda
(não-dominante) que agarra a garrafa e a mão direita (dominante) que a abre.
Por outro lado se o objetivo é beber da garrafa então é a mão direita que
agarra a garrafa e a esquerda que retira a tampa, pois para este caso existe um
próximo movimento (o de beber) que requer grande precisão.
Portanto, de acordo com estas observações o planeamento para os movimentos
bimanuais é síncrono e o robô ARoS, visto que para além de abrir a garrafa terá
que entornar o seu conteúdo num copo (ação de precisão), então, terá que agarrar a
garrafa com a mão direita e retirar a sua tampa com a mão esquerda.
7.2 Implementação da Tarefa em Software
Neste capítulo são explicados os aspetos essenciais para a implementação da tarefa
no software de planeamento de movimento.
Antes de mais, é de notar que devido à forma e robustez das mãos do ARoS
este não pode manipular todo o tipo de objetos, especialmente, abrir uma garrafa
normal. Por isso, esta tarefa é realizada com uma garrafa térmica, pois estas são
mais fortes e a sua tampa é bem maior que as típicas garrafas.
7.2.1 Criação do Cenário em Simulador
De forma a se poder calcular, planear e simular toda esta Tarefa 3 procede-se
primeiramente à criação do cenário no simulador em MATLAB R©.
O cenário é desenhado consoante o cenário real que se pretende. Por isso,
dispõem-se todos os objetos necessários sobre a mesa, nomeadamente, o copo e a
garrafa térmica, ficando o cenário como mostra a figura 7.2. Onde cada elemento
138 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
constituinte do cenário é posicionado e orientado consoante o referencial de origem
do mundo, W, disposto na base do braço robótico direito.
Figura 7.2: Ilustração do cenário em simulador da Tarefa 3.
7.2.2 Formulação dos Movimentos
A sequência apresentada, anteriormente, para descrever a tarefa de abrir uma garrafa
e entornar o líquido da garrafa no copo, está definida numa sequência geral ou
até standard de movimentos. Obviamente que a Tarefa 3 aplicada ao ARoS tem
outras especificações devido ao modo como é formulado o modelo de planeamento
de movimento. Com isto, esta tarefa é composta pela sequência dos movimentos
apresentados na figura 7.3, em que o movimento 1) consiste em mover o braço
direito do ARoS da sua posição de descanso de forma a este alcançar e agarrar a
garrafa térmica; no movimento 2) o robô transporta a garrafa com o braço-mão
direito até uma posição onde o braço esquerdo possa agarrar a tampa; o seguinte
movimento 3) é para remover a tampa da garrafa, onde o robô terá que rodar
a garrafa e a tampa de modo a desapertar esta; o movimento 4) consiste num
movimento bimanual em que o robô pousa a tampa na mesa e com a outra mão
transporta a garrafa para uma posição mais confortável; o movimento 5) é um
movimento unimanual, pois é quando a mão esquerda alcança e agarra o copo;
o movimento 6) consiste no transporte da garrafa e do copo para uma posição
em que estejam próximos; o movimento 7) é para verter o líquido da garrafa no
copo; o movimento 8) é para parar de verter o líquido no copo, estabilizando a
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
139
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
posição do copo e da garrafa; seguindo-se o movimento 9) para colocar a garrafa
na mesa e por fim o movimento 10) em que o robô oferece o copo a alguém e
retorna com o braço direito (livre) à posição de descanso.
Figura 7.3: Sequência de movimentos planeados para a Tarefa 3.
140 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
A formulação de cada um destes movimentos, de acordo com o procedimento
de planeamento de movimento bimanual síncrono e unimanual é seguidamente
apresentada:
1o Movimento: Neste movimento, o braço direito move-se da sua postura de
repouso a uma postura que permita agarrar a garrafa térmica com o tipo
de grip em full side, ou seja de força. No próximo ponto este tipo de grip
é abordado. Quanto à formulação deste movimento nos seus problemas de
otimização, este apresenta:
• dois problemas do tipo Pa: P1a1 para a seleção da postura final para o
braço direito, θR1f1 ∈ R7, que permita este agarrar a garrafa com o tipo
de grip pretendido; e P1a2 para a seleção de uma postura quase final
(próxima do alvo), θR1f2 ∈ R7;
• um problema do tipo Pb: P1b para a seleção da postura de bounce mais
adequada, θR1b ∈ R9, que permita um movimento livre de colisões da
postura inicial à postura P1a2.
Este movimento é composto por dois movimentos: um movimento composto
(direto+back-and-forth) da postura de repouso à postura definida em P1a2 e
um movimento direto da postura P1a2 à postura definida em P1a1.
2o Movimento: Este movimento de transportar a garrafa com o braço direito e
agarrar a tampa com o esquerdo, em modo full side, é formulado por:
• dois problemas do tipo Pa: P2a1 para selecionar duas posturas finais
para o braço direito e esquerdo, θ2f ∈ R14, e P2a2 para selecionar outras
duas posturas próximas das anteriores, θ2f2 ∈ R14;
• um problema do tipo Pb: P2b para a seleção da postura de bounce mais
adequada, θ2b ∈ R16, que permita um movimento livre de colisões das
posturas anteriores dos braços às posturas definidas em P2a2. Note-se
que neste movimento estão em causa 16 juntas, pois 7 são do braço direito
que faz um movimento de transporte e 9 são respetivas ao braço esquerdo.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
141
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
Este movimento é composto por dois movimentos: um movimento composto
(direto+back-and-forth) das posturas iniciais dos braços (ou anteriores ao
movimento) à postura definida em P2a2 e um movimento direto da postura
P2a2 à postura definida em P2a1.
3o Movimento: Neste movimento ambos os braços têm de trabalhar juntamente
para conseguir desenroscar a tampa da garrafa. Este movimento é dividido em
três movimentos de rotação:
• Rotação 1 - consiste em fazer com que ambos os braços rodem a partir do
eixo vertical (eixo do z) os seus objetos em sentidos opostos, o braço-mão
direita roda a garrafa num sentido contrário ao do braço-mão esquerda que
roda a tampa. Este movimento é composto por um problema do tipo Pa e
Pb, respetivamente: P3a1 para selecionar duas posturas para cada um dos
braços que permitam rodar verticalmente os objetos, θ3f1 ∈ R14, e P3b1
para selecionar as duas posturas de bounce, θ3b1 ∈ R14, que permitam um
movimento bastante preciso, pois não se quer que o robô execute forças
que entortem a garrafa neste movimento.
• Rotação 2 - este movimento de rotação é para permitir que os braços
voltem ao ponto inicial antes da primeira rotação, isto, para permitir
que se prossiga com mais outras rotações. Assim, este movimento conta
com a postura final definida anteriormente por P2a1 e uma postura de
bounce selecionada por P3b2, θ3b2 ∈ R14, que permita que ao longo do
movimento os braços executem um movimento preciso. Note-se que neste
movimento a mão esquerda deve abrir os seus dedos de modo a não tocar
na tampa.
• Rotação 3 - esta rotação 3 é semelhante à primeira rotação onde os
braços-mãos rodam a garrafa e a tampa em sentidos opostos de maneira
a desapertar a tampa. Assim, a postura final é a determinada na rotação
1, definida por P3a1 e é calculada por P3b3 uma postura de bounce,
θ3b3 ∈ R14, que permita um movimento preciso entre os dois braços e os
142 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
seus objetos-alvo.
4o Movimento: o quarto movimento, para colocar a tampa na mesa e a garrafa
num local mais confortável, é definido por:
• dois problemas do tipo Pa: P4a1 para selecionar duas posturas, θ4f1 ∈
R14, que permitam ao braço esquerdo subir com a tampa e ao braço direito
descer com a garrafa, de modo a separar estes e P4a2 para selecionar
duas posturas, θ4f2 ∈ R14, que permitam ao braço direito posicionar a
garrafa num outro local e ao braço esquerdo colocar a tampa na mesa.
• um problema do tipo Pb: P4b para selecionar as posturas de bounce,
θ4b ∈ R14, que permitam aos braços se moverem sem colisões.
5o Movimento: consiste em alcançar e agarrar o copo com a mão esquerda (movi-
mento unimanual) e é composto por:
• três problemas do tipo Pa: P5a1 para selecionar uma postura que permita
ao braço esquerdo largar a tampa na mesa, P5a2 e P5a3 para selecionar
a postura para o braço esquerdo próxima do novo objeto-alvo e final (a
agarrar o copo).
• um problema do tipo Pb: P5b para a postura de bounce, θ5b ∈ R9,
que permita um movimento livre de colisões da postura P5a1 à postura
definida em P5a2.
6o Movimento: movimento de transporte do copo e da garrafa até uma posição
propícia para se proceder ao resto da tarefa (entornar o líquido da garrafa no
copo). Este movimento é composto por:
• dois problemas do tipo Pa: P6a1 e P6a2 para selecionar duas posturas
para o braço esquerdo e direito finais e intermédias, respetivamente.
• um problema do tipo Pb: P6b para a postura de bounce que permita
um movimento livre de colisões da postura inicial (ou anterior a este
movimento) à postura definida em P6a1.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
143
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
7o Movimento: consiste na sequência de dois movimentos diretos que permitam
aos braços posicionar tanto o copo como a garrafa de forma a verter o líquido
da garrafa no copo. Por isso, definem-se dois conjuntos de duas posturas pelos
problemas P7a1 e P7a2.
8o Movimento: este movimento é para parar de verter o líquido no copo, estabili-
zando verticalmente a garrafa e o copo. Por isso define-se apenas um problema
do tipo Pa, P8a1, para selecionar as posturas finais do braço esquerdo e di-
reito. O movimento é calculado através de um movimento direto das posições
anteriores de cada braço a esta final definida por P8a1.
9o Movimento: movimento unimanual para colocar a garrafa na mesa. Consiste no
cálculo do problema P9a1 para selecionar a postura para o braço direito que
permita a este colocar a garrafa na mesa e do problema P9b para a postura
de bounce.
10o Movimento: último movimento que consiste em posicionar a mão direita do
robô na sua posição de repouso e com a mão esquerda oferecer o copo a alguém.
Este movimento é definido por:
• um problema do tipo Pa: P10a1 para selecionar a postura para o braço
esquerdo, θ10f1 ∈ R7, que permita oferecer o copo;
• um problema do tipo Pb: P10b para as posturas de bounce, θ10b ∈ R16,
que permitam um movimento livre de colisões das posturas iniciais dos
braços (ou anteriores a este movimento) às posturas finais definidas em
P10a1 para o braço esquerdo e postura de repouso (já conhecida) para o
braço direito. Note-se que esta postura é definida por 16 juntas, isto é, 9
são respetivas ao braço direito e 7 juntas são do braço esquerdo.
De uma forma mais resumida, a tabela 7.1 apresenta tudo o que foi dito acima
relativamente à implementação de cada um dos dez movimentos constituintes da
Tarefa 3.
144 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
Movimento Braço-Alvo Braço-Tipo de Seleção Seleção PosturaGrip Postura Final de Bounce
1 Alcançar e direito-Garrafa direito-Side P1a1+P1a2 P1bagarrar nj: 7 7 9
2 Transportar direito-Garrafa direito-Side P2a1+P2a2 P2be agarrar esquerdo-Tampa esquerdo-Side nj: 14 14 16
garrafa
3 Remover - - P3a1 P3b1+P3b2+P3b3a tampa - - nj: 14 14 14 14
4 Colocar tampa - - P4a1+P4a2 P4bna mesa - - nj: 14 14 14
5 Alcançar e - - P5a1+P5a2+P5a3 P5bagarrar copo esquerdo-Copo esquerdo-Side nj: 7 7 7 9
6 Transportar copo - - P6a1+P6a2 P6be garrafa - - nj: 14 14 14
7 Entornar líquido - - P7a1+P7a2no copo - - nj: 14 14
8 Posicionar copo - - P8a1e garrafa - - nj: 14
9 Colocar garrafa - - P9a1 P9bna mesa - - nj: 7 7
10 Finalizar direito-Repouso direito-Repouso P10a1 P10bmovimento - - nj: 7 16
Tabela 7.1: Formulação dos movimentos que compõem a Tarefa 3.
7.2.3 Tipos de Grip
Todos os tipos de grip presentes nesta tarefa são de força ou full e do tipo side. O
tipo side grip de precisão já foi, anteriormente, apresentado nas tarefas 1 e 2, no
entanto, o tipo side grip de força permite à mão agarrar de um modo preenchido o
objeto, dependendo unicamente do diâmetro deste. Na figura 7.4 é possível visualizar
a orientação de cada mão consoante o tipo de grip desejado e os seus objetos-alvo,
nas duas fases da tarefa: a primeira fase é correspondente à abertura da garrafa
térmica enquanto a segunda fase é correspondente ao processo de entornar o líquido
da garrafa no copo. A primeira fase é demonstrada na figura 7.4a e é possível verificar
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
145
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
que existe uma rotação dos braços-mãos e seus objetos-alvos em sentidos opostos. A
segunda fase encontra-se ilustrada na figura 7.4b e é possível visualizar a rotação
para inclinar a garrafa térmica e o copo.
(a) Abertura da garrafa em side grip (b) Inclinação do copo e garrafa em side grip
Figura 7.4: Demonstração da orientação (a) das mãos direita e esquerda para a remoção
da tampa e (b) das duas mãos para permitir verter o líquido da garrafa no copo.
Nos dois exemplos demonstrados na figura anterior os eixos coordenados das
mãos encontram-se muito bem orientados com os eixos dos objetos-alvo, isto, para
permitir que os braços executem corretamente os movimentos de rotação ao longo de
toda a tarefa. Por isso, a implementação das restrições de orientação das mãos com
os alvos nos problemas do tipo Pa são mais restritas. Para cada mão escrevem-se
duas equações como as apresentadas na tabela 7.2.
7.3 Desempenho do Planeamento da Tarefa
Neste ponto, são apresentados os resultados do planeamento da tarefa bimanual 3.
Estes resultados foram obtidos usando um computador Intel R© CoreTM i7-2670QM
146 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
Tipo de Grip Restrição Não-Linear
Mão direita - Side Grip‖xR7 (θR,f )− ztarR (θR,f )‖2 ≤ δR1
‖yR7 (θR,f )− xtarR (θR,f )‖2 ≤ δR2
Mão esquerda - Side Grip‖xL18 (θL,f ) + ztarL (θL,f )‖2 ≤ δL1
‖yL18 (θL,f )− xtarL (θL,f )‖2 ≤ δL2
Tabela 7.2: Descrição dos tipos de grip da Tarefa 3
CPU@ 2.20GHz a correr no Windows 7 de 64-bits, com uma placa gráfica NVIDIA
GeForce GT 525M e 4GB de memória RAM. Todos os problemas de otimização do
tipo Pa e Pb, apresentados na tabela 7.1, foram codificados em AMPL e calculados
usando o IPOPT 3.11, fornecido pela toolbox gratuita do MATLAB R©, a OPTI
Toolbox.
Para esta Tarefa 3 composta, essencialmente, por dez movimentos, o sistema de
planeamento de movimentos propõe movimentos unimanuais e bimanuais síncronos,
livres de colisões e semelhantes aos realizados pelos humanos. O resultado de cada
um dos movimentos pode ser visualizado na figura 7.5, onde para além de se poder
ver o traçado das trajetórias dos dedos das mãos do ARoS é possível ver o perfil da
velocidade linear de cada uma das mãos no respetivo movimento. De acordo com
esta figura é possível verificar que o sistema de planeamento de movimento consegue
calcular com sucesso toda a bem definida sequência de ações. De notar que para os
movimentos mais precisos como o de abrir a garrafa e entornar o líquido no copo,
estes têm velocidades pequenas pois devem ser executados pelo robô com um maior
cuidado.
Como nas tarefas anteriores, estabelece-se uma velocidade e aceleração inicial e
final do movimento direto como zero, ou seja, na equação 4.13 do movimento direto é
definido ω0 = 0, ωf = 0, α0 = 0 e αf = 0. Por outro lado, para evitar colisões entre
os braços-mãos do robô com o corpo e obstáculos no cenário, o ARoS é modelado
com cinco esferas em cada braço-mão, desde o pulso até aos dedos como na Tarefa 2
(ver figura 6.13). Obviamente que se poderiam considerar mais esferas, mas como se
pretende um algoritmo rápido e eficiente e visto que com a implementação das esferas
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
147
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
nos braços e mãos desta forma funciona (validado pela tarefa 2), então, opta-se por
continuar a implementar assim os braços do robô.
Quanto à implementação dos problemas de otimização do tipo Pa e Pb, de cada
um dos dez movimentos da Tarefa 3, os valores dos parâmetros descritos no modelo
de otimização (nomeadamente na secção 4.5.2) encontram-se dispostos na tabela 7.3.
Movimento Parâmetros ParâmetrosPa Pb
β δ ζtar ζobs λk T tb λk εtar (t) εobs (t)
Alcançar e P1a1 1 10−5 - 5 1 P1b 1 0.5 1 - 10 a 5agarrar P1a2 1 10−5 - 5 1
Transportar P2a1 1 10−5 - 5 1 P2b 1 0.5 1 30 a 10 20e agarrar P2a2 1 10−5 - 5 1
Remover P3a1 1 10−5 - - 1 P3b1 1 0.5 1 β (t) = 1 δ (t) = 10−4
a tampa P3b2 1 0.5 1 β (t) = 1 δ (t) = 10−4
P3b3 1 0.5 1 β (t) = 1 δ (t) = 10−4
Colocar tampa P4a1 1 10−5 - 5 1 P4b 1 0.5 1 - 10na mesa P4a2 1 10−5 - 5 1
Alcançar e P5a1 1 10−5 - - 1 P5b 1 0.5 1 5 a 10 5 a 0agarrar copo P5a2 1 10−5 - 10 1
P5a3 1 10−5 - 10 1
Transportar copo P6a1 1 10−5 1 1 1 P6b 1 0.5 1 - 10e garrafa P6a2 1 10−5 1 1 1
Entornar líquido P7a1 1 10−5 - 1 1no copo P7a2 1 10−5 - 1 1
Posicionar copo P8a1 1 10−5 - 1 1e garrafa
Colocar garrafa P9a1 1 10−5 - 5 1 P9b 1 0.5 1 - 10 a 20na mesa
Finalizar P10a1 1 10−5 - 5 1 P10b 1 0.5 1 5 a 30 5 a 20movimento
Tabela 7.3: Formulação dos parâmetros dos problemas de otimização da Tarefa 3.
O IPOPT é invocado através da OPTI Toolbox usando os seus parâmetros
por defeito, à exceção da informação das derivadas de segunda ordem, que são
aproximadaa usando um método quasi-Newton BFGS de memória limitada e uma
148 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
tolerância relativa de convergência da função objetivo igual a 10−2. A tabela 7.4
mostra os resultados numéricos para todos os problemas do tipo Pa e Pb da Tarefa
3, onde N é o número de variáveis (ou antes o número de juntas , nj), NT o número
de steps do movimento, Mineq é o número de restrições de desigualdade, Obj é o
valor da função objetivo e CPU é o tempo computacional em segundos.
Movimento Problemas de N NT Mineq Obj CP U Tempo totalOtimização
1 Alcançar e P1a1 7 - 13 0.428 0.60 s0.97 sagarrar P1a1 7 - 13 0.105 0.19 s
P1b 9 20 505 0.062 0.18 s
2 Transportar P2a1 14 - 30 0.084 0.16 s0.71 se agarrar P2a2 14 - 30 0.065 0.14 s
P2b 16 20 845 0.139 0.41 s
3 Remover P3a1 14 - 12 0.608 0.79 s1.22 sa tampa P3b1 14 10 156 0.285 0.43 s
P3b2 14 10 156 0.285 0.48 s 0.48 sP3b3 14 10 156 0.784 1.19s 1.19 s
4 Colocar tampa P4a1 14 - 30 0.160 0.26 s1.17 sna mesa P4a2 14 - 30 0.374 0.54 s
P4b 14 20 584 0.157 0.37 s
5 Alcançar e P5a1 7 - 8 0.294 0.43 s
1.06 sagarrar copo P5a2 7 - 14 0.103 0.17 sP5a3 7 - 14 0.094 0.17 sP5b 9 20 584 0.094 0.29 s
6 Transportar copo P6a1 14 - 30 0.397 0.59 s0.95 se garrafa P6a2 14 - 30 0.129 0.22 s
P6b 14 20 470 0.047 0.14 s
7 Entornar líquido P7a1 14 - 30 0.175 0.28 s0.58 sno copo P7a2 14 - 30 0.193 0.30 s
8 Posicionar copo P8a1 14 - 30 0.192 0.32 s0.32 se garrafa
9 Colocar garrafa P9a1 7 - 14 0.059 0.12 s0.31 sna mesa P9b 7 20 282 0.082 0.19 s
10 Finalizar P10a1 7 - 14 0.068 0.14 s1.02 smovimento P10b 16 20 1000 0.229 0.88 s
Tabela 7.4: Resultados numéricos para os problemas de otimização Pa e Pb da Tarefa 3.
De acordo com os resultados da tabela anterior, é possível afirmar que o IPOPT
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
149
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
chegou a uma solução ótima para cada um dos problemas num tempo menor que 0.9
segundos e o tempo total de cálculo de um movimento completo não ultrapassou os
1.22 segundos. Sendo que o tempo aproximado de espera entre o inicio do planeamento
de movimento e a execução do movimento pelo robô é de 0.97 segundos, o tempo do
primeiro movimento.
7.4 Conclusões
Devido à alta complexidade desta Tarefa 3, esta foi basicamente pré-programada.
Isto é, no caso do movimento de abrir a garrafa térmica o robô executa 3 rotações que
permitem desenroscar a tampa da garrafa, no entanto, este movimento requer que
haja alguma leitura da força que a tampa exerce sobre a mão, de forma a verificar
se esta está ou não solta da garrafa (o que não acontece). O mesmo se aplica ao
movimento de verter o líquido da garrafa no copo, pois este movimento requer que
haja algum feedback por parte do sistema de visão para verificar se o líquido está
realmente a cair no copo.
Contudo, esta tarefa encontra-se apenas na fase inicial, sendo aqui apresentada
a primeira versão da formulação, implementação e simulação da sequência dos seus
movimentos. No entanto, é visto como um grande passo para o início da investigação
e desenvolvimento de tarefas complexas.
Relativamente aos resultados anteriormente apresentados (para esta tarefa) é
possível verificar o sucesso do sistema geral de planeamento de movimentos “human-
like” para uma sequência de diferentes movimentos, unimanuais e bimanuais síncronos
e é possível afirmar que o sistema é suficientemente rápido para permitir que no
futuro se implemente um sistema de re-planeamento em tempo-real. De notar que
este movimento ainda não foi aplicado ao robô real, mas apenas executado em
simulador. O vídeo da execução completa desta tarefa, em simulador pode ser
visualizado no seguinte link:http://marl.dei.uminho.pt/public/videos/ARoS_
bim_syn_task3_sim_2nd.html.
150 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 7 - Validação do Modelo de Planeamento deMovimentos Bimanuais e Unimanuais
(a) Movimento 1 (b) Movimento 2 (c) Movimento 3
(d) Movimento 4(e) Movimento 5(f) Movimento 6(g) Movimento 7
(h) Movimento 8 (i) Movimento 9 (j) Movimento 10
Figura 7.5: Representação da sequência e caraterísticas dos movimentos da Tarefa 3, obtidos
no simulador do ARoS.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
151
Capítulo 8
Conclusões e Trabalho Futuro
Neste capítulo é, inicialmente, feita uma conclusão geral acerca dos resultados obtidos
neste trabalho de dissertação e acerca do cumprimento dos objetivos propostos,
seguido do contributo deste projeto para a comunidade científica. Por último são
descritas algumas sugestões acerca do trabalho futuro.
8.1 Conclusões
O principal objetivo do trabalho apresentado nesta Dissertação residiu no desenvolvi-
mento da extensão do sistema de planeamento de movimentos unimanuais para um
sistema de planeamento de movimentos bimanuais, capaz de gerar no robô antropo-
mórfico ARoS um comportamento dos braços semelhantes aos dos realizados pelos
humanos. Para tal, foi abordada uma área completamente diferente à da robótica,
a da psicologia e neuropsicologia humana, com fim de se estudar o comportamento
de cooperação e coordenação bimanual humana. Consequentemente, graças a este
estudo foi possível desenvolver um procedimento de planeamento de movimento
bimanual síncrono que foi aplicado a duas tarefas de manipulação bimanual de
objetos. Tarefas essas elaboradas e pensadas de forma a possibilitar a validação do
sistema de movimentos bimanuais síncronos. Os resultados apresentados no Capítulo
6, relativos a estas duas tarefas, revelam que o modelo de planeamento de movimento
bimanual foi extendido com sucesso, os movimentos dos braços são sincronizados no
153
Capítulo 8 - Conclusões e Trabalho Futuro
tempo, suaves tal como os dos humanos e livres de colisões. Foi também possível
verificar que a execução dos movimentos dos braços do robô foram muito semelhantes
aos dos observados nas experiências feitas com os alunos. Além do mais, com estas
experiências foi possível visualizar, para a segunda tarefa, o efeito do “end-state
comfort” (efeito mencionado no Estado da Arte) que demonstra a correta opção
na definição e implementação dos movimentos desta segunda tarefa no modelo de
planeamento de movimento aqui desenvolvido.
Para além de movimentos bimanuais síncronos, desenvolveu-se e testou-se neste
trabalho um modelo geral de planeamento de trajetórias, tanto unimanuais como
bimanuais síncronos de forma a permitir à plataforma robótica desempenhar uma
tarefa de manipulação bem mais complexa e centrada num ambiente humano, isto
é, com objetos do dia a dia de uma pessoa como um copo e uma garrafa térmica.
Os resultados para esta terceira tarefa de abrir uma garrafa térmica e deitar o seu
líquido para o copo revelam que com sucesso todos os movimentos foram possíveis,
foram calculados, embora que pré-programados pois o robô abre a garrafa sabendo à
priori qual o número de rotações para desenroscar a tampa e o momento no qual
deve entornar o líquido no copo sem qualquer feedback visual. Contudo é um bom
começo na investigação desta tarefa de complexidade bastante elevada.
O desenvolvimento deste projeto requereu um grande envolvimento e dedicação,
pois para além de se ter que desenvolver o trabalho proposto, foi necessário dedicar
um bom tempo ao estudo de todo o trabalho anteriormente feito que permitia ao
ARoS executar movimentos unimanais e bimanuais assíncronos. Por outro lado,
o facto de se ter que considerar outras áreas como a psicologia e neuropsicologia
humana não foi propriamente fácil pois é uma área completamente diferente.
Quanto às dificuldades encontradas ao longo da implementação do novo modelo
(movimentos bimanuais síncronos) é de realçar que o procedimento de cálculo das
posturas, ou seja, a resolução dos problemas de otimização, são bastante ou até
mesmo muito sensíveis aos conjuntos de valores iniciais para as juntas dos braços
e mãos, vulgarmente chamados de “initial guess”. Ou seja, nem sempre o IPOPT
encontra uma solução com um determinado initial guess, sendo por isso, necessário
154 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 8 - Conclusões e Trabalho Futuro
proceder a alguns ajustes a estes valores iniciais das juntas.
Um outro aspeto importante a salientar, é o facto de que dependendo do
movimento este terá que ter um determinado modelo para o cálculo das suas posturas
finais, intermédias (ou seja, problemas do tipo Pa) e posturas de bounce. Isto porque
o movimento depende de muitos fatores como: a) a forma como a mão ou as mãos
agarram o ou os objetos, b) a forma do objeto, c) se é um movimento espacialmente
dependente sendo necessário verificar a colisão entre os braços, d) se é unimanual ou
bimanual e entre outros.
No entanto, seguidamente são apresentados os objetivos propostos no início do
trabalho e descritos no Capítulo 1, concretamente na secção 1.2.2 e é revelado se
estes foram ou não atingidos:
• Como primeiro objetivo, o estudo do comportamento de coordenação e coo-
peração dos braços humanos pode-se dizer que foi conseguido. Pelo menos
aplicaram-se alguns conceitos observados aquando a execução de certas tarefas
de manipulação bimanual, que se baseia no sincronismo do movimento de
ambos os braços, mesmo quando estes têm objetivos diferentes. Obviamente,
que o ser humano é altamente complexo e o processo subjacente ao controlo
motor dos braços ainda tem muito para ser investigado, como se prova com a
leitura do Estado da Arte referente à manipulação bimanual em humanos;
• Graças ao estudo anterior foi possível se definirem novas tarefas a serem
realizadas pelo robô e consequentemente novos cenários para colocar em prática
os novos movimentos;
• Um outro objetivo deste trabalho era dar mais robustez ao processo de oti-
mização. Por sua vez, este foi conseguido com a utilização da OPTI Toolbox
do MATLAB, que permitiu utilizar o solver IPOPT integrado diretamente no
software desenvolvido em MATLAB R©;
• A extensão do modelo de planeamento de movimento unimanual para bimanual
foi alcançada, essencialmente, com a implementação de ideias do Controlo Motor
Humano no modelo de planeamento de movimento. Assim, a partir da ideia de
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
155
Capítulo 8 - Conclusões e Trabalho Futuro
que os braços se movem em sincronia, isto é, iniciam e acabam o movimento
ao mesmo tempo, foi possível desenvolver um modelo de planeamento de
movimento bimanual síncrono;
• Um movimento bimanual síncrono requer certos e determinados requisitos como
o tempo da execução do movimento ser igual para os dois braços. Mais, o facto
de se estarem ambos a movimentar requer uma restrição ao movimento que
impeça que estes colidam um com o outro. Com isto, a extensão do modelo de
planeamento de movimento contou com a implementação de novas restrições
temporais e espaciais nos problemas de otimização. No entanto, como se pode
ver nos resultados obtidos nos dois Capítulos 6 e 7, os movimentos das tarefas de
manipulação são temporalmente sincronizados e na tarefa 2 pode-se confirmar
o sucesso da restrição espacial que evita que os braços colidam um com o outro;
• Por último, todos os movimentos realizados pelo robô são semelhantes aos dos
realizados pelos humanos, pois as curvas de velocidade e outras caraterísticas
observadas nas trajetórias/movimentos dos braços do robô são semelhantes às
observadas nos movimentos dos braços humanos. Como prova disto têm-se os
resultados obtidos para as tarefas 1, 2 e 3. Contudo, até foram realizados testes
em humanos, em que estes tiveram que desempenhar as mesmas tarefas 1 e 2
com o objetivo de verificar se estes procediam do mesmo modo que o robô.
8.2 Relevância Científica
Em termos científicos este trabalho tem uma grande relevância para a comunidade de
cientistas que se debruçam sobre a área da robótica antropomórfica, mais precisamente
acerca da manipulação. Pois, a área da manipulação bimanual está atualmente em
grande destaque, visto que os robôs humanóides são esperados coexistir, num futuro
próximo, com os humanos (como falado no Capítulo 1).
No entanto, os resultados deste trabalho, nomeadamente, das tarefas 1 e 2
foram apresentados no artigo “Nonlinear optimization for human-like synchronous
movements of a dual arm-hand robotic system”, que foi aceite para ser apresentado
156 Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
Capítulo 8 - Conclusões e Trabalho Futuro
na conferência: International Conference on Numerical Analysis and Applied Mathe-
matics, relacionada com o simpósio: Numerical Optimization and Applications (NOA
2014), em Rhodes na Grécia durante 22 a 28 de Setembro de 2014.
Os resultados da tarefa 3 são também esperados que se apresentem num artigo.
8.3 Trabalho Futuro
Embora se tenham examinado e implementado todos os objetivos do projeto, o tempo
impediu que se melhorassem alguns aspetos no modelo de planeamento de movimento.
Por isso, é de interesse apresentar estes melhoramentos como trabalho que se possa
realizar no futuro, com o objetivo de tornar todo o sistema mais eficiente e robusto.
Como primeiro melhoramento, adicionar à Tarefa 3 um método que permita ao
robô medir a força que a tampa da garrafa térmica exerce sobre a mão robótica, de
modo a permitir verificar se a tampa se encontra separada da garrafa. Por conseguinte
testar todo o movimento no robô real.
Um outro melhoramento no modelo de planeamento de movimento, passa por
dar algum feedback ao sistema:
• Implementando a comunicação do sistema de visão, em tempo real, com o
sistema de planeamento de movimento, de modo a que o sistema de visão possa
fornecer os valores atualizados das posições dos objetos-alvos e dos obstáculos
no cenário. Permitindo, assim, ao modelo de planeamento re-planear novos
movimentos sob mudanças no cenário;
• Recolhendo os valores dos ângulos das juntas dados pelos encoders dos respetivos
motores, a fim de corrigir certos erros que se vão acumulando ao longo dos
movimentos dos braços.
Devido à dificuldade encontrada quanto aos valores da initial guess a usar nos
problemas de otimização, existe a necessidade de se desenvolver um algoritmo que
consoante a informação de como agarrar o objeto-alvo (tipo de grip) e da posição do
objeto-alvo retorne a melhor initial guess a aplicar aos problemas de otimização em
causa.
Manipulação Bimanual em RobôsAntropomórficos: Movimentos Síncronos
157
Bibliografia
Araújo, J. P. F. (2013). From unimanual to bimanual manipulation in the anthropo-
morphic robot aros. Master’s thesis, Universidade do Minho.
Asfour, T., Azad, P., Gyarfas, F., and Dillmann, R. (2008). Imitation learning
of dual-arm manipulation tasks in humanoid robots. International Journal of
Humanoid Robotics, 5(02):183–202.
Asfour, T., Regenstein, K., Azad, P., Schroder, J., Bierbaum, A., Vahrenkamp,
N., and Dillmann, R. (2006). Armar-iii: An integrated humanoid platform for
sensory-motor control. In Humanoid Robots, 2006 6th IEEE-RAS International
Conference on, pages 169–175. IEEE.
Badler, N. I. and Tolani, D. (1996). Real-time inverse kinematics of the human arm.
Center for Human Modeling and Simulation, page 73.
Bicho, E., Erlhagen, W., Louro, L., and Costa e Silva, E. (2011). Neuro-cognitive
mechanisms of decision making in joint action: A human–robot interaction study.
Human Movement Science, 30(5):846–868.
Biryukova, E., Roby-Brami, A., Frolov, A., and Mokhtari, M. (2000). Kinematics
of human arm reconstructed from spatial tracking system recordings. Journal of
Biomechanics, 33(8):985–995.
Bloss, R. (2010). Robotics innovations at the 2009 assembly technology expo.
Industrial Robot: An International Journal, 37(5):427–430.
159
Borst, C., Wimböck, T., Schmidt, F., Fuchs, M., Brunner, B., Zacharias, F., Giordano,
P. R., Konietschke, R., Sepp, W., Fuchs, S., et al. (2009). Rollin’justin-mobile
platform with variable base. In ICRA, pages 1597–1598.
Breazeal, C. (2003). Toward sociable robots. Robotics and Autonomous Systems,
42(3):167–175.
Breteler, M. D. K. and Meulenbroek, R. G. (2006). Modeling 3d object manipulation:
synchronous single-axis joint rotations? Experimental Brain Research, 168(3):395–
409.
Bullock, I. M., Ma, R. R., and Dollar, A. M. (2013). A hand-centric classification
of human and robot dexterous manipulation. Haptics, IEEE Transactions on,
6(2):129–144.
Burgard, W., Cremers, A. B., Fox, D., Hähnel, D., Lakemeyer, G., Schulz, D., Steiner,
W., and Thrun, S. (1999). Experiences with an interactive museum tour-guide
robot. Artificial Intelligence, 114(1):3–55.
Caccavale, F., Chiacchio, P., Marino, A., and Villani, L. (2008). Six-dof impe-
dance control of dual-arm cooperative manipulators. Mechatronics, IEEE/ASME
Transactions on, 13(5):576–586.
Cardoso de Oliveira, S. (2002). The neuronal basis of bimanual coordination: recent
neurophysiological evidence and functional models. Acta psychologica, 110(2):139–
159.
Costa e Silva, E. O. (2011). Reaching, grasping and manipulation in anthropomorphic
robot systems. Ph.D. thesis, Universidade do Minho.
Craig, J. J. (2005). Introduction to robotics: mechanics and control. Pearson/Prentice
Hall Upper Saddle River, NJ, USA:.
Creem, S. H. and Proffitt, D. R. (2001). Grasping objects by their handles: a
necessary interaction between cognition and action. Journal of Experimental
Psychology: Human Perception and Performance, 27(1):218.
160
Cutkosky, M. R. and Howe, R. D. (1990). Human grasp choice and robotic grasp
analysis. In Dextrous robot hands, pages 5–31. Springer.
Dautenhahn, K. (2002). Design spaces and niche spaces of believable social robots.
In Robot and Human Interactive Communication, 2002. Proceedings. 11th IEEE
International Workshop on, pages 192–197. IEEE.
Desmurget, M. and Prablanc, C. (1997). Postural control of three-dimensional
prehension movements. Journal of Neurophysiology, 77(1):452–464.
Diftler, M. A., Mehling, J., Abdallah, M. E., Radford, N. A., Bridgwater, L. B.,
Sanders, A. M., Askew, R. S., Linn, D. M., Yamokoski, J. D., Permenter, F., et al.
(2011). Robonaut 2-the first humanoid robot in space. In Robotics and Automation
(ICRA), 2011 IEEE International Conference on, pages 2178–2183. IEEE.
DiSalvo, C. F., Gemperle, F., Forlizzi, J., and Kiesler, S. (2002). All robots are not
created equal: the design and perception of humanoid robot heads. In Proceedings of
the 4th conference on Designing interactive systems: processes, practices, methods,
and techniques, pages 321–326. ACM.
Duffy, B. R. (2003). Anthropomorphism and the social robot. Robotics and Autono-
mous Systems, 42(3-4):177–190.
Edsinger, A. and Kemp, C. C. (2008). Two arms are better than one: A behavior
based control system for assistive bimanual manipulation. In Recent progress in
robotics: Viable robotic service to human, pages 345–355. Springer.
Elbrechter, C., Haschke, R., and Ritter, H. (2012). Folding paper with anthropo-
morphic robot hands using real-time physics-based modeling. In Humanoid Robots
(Humanoids), 2012 12th IEEE-RAS International Conference on, pages 210–215.
IEEE.
Elsinger, C. L. and Rosenbaum, D. A. (2003). End posture selection in manual
positioning: evidence for feedforward modeling based on a movement choice method.
Experimental Brain Research, 152(4):499–509.
161
Emadi Andani, M. and Bahrami, F. (2012). Comap: A new computational interpre-
tation of human movement planning level based on coordinated minimum angle
jerk policies and six universal movement elements. Human Movement Science,
31(5):1037–1055.
Engelberger, J. F. (1993). Health-care robotics goes commercial: the helpmate
experience. Robotica, 11(06):517–523.
Fitts, P. M. (1954). The information capacity of the human motor system in
controlling the amplitude of movement. Journal of Experimental Psychology,
47(6):381.
Flash, T. and Hogan, N. (1985). The coordination of arm movements: an experimen-
tally confirmed mathematical model. The journal of Neuroscience, 5(7):1688–1703.
Fong, T., Nourbakhsh, I., and Dautenhahn, K. (2003). A survey of socially interactive
robots. Robotics and Autonomous Systems, 42(3):143–166.
Franz, E. A., Zelaznik, H. N., and McCabe, G. (1991). Spatial topological constraints
in a bimanual task. Acta psychologica, 77(2):137–151.
Freivalds, A. (2011). Biomechanics of the upper limbs: mechanics, modeling and
musculoskeletal injuries. CRC press.
Friedman, J. and Flash, T. (2009). Trajectory of the index finger during grasping.
Experimental Brain Research, 196(4):497–509.
Fukuda, T., Michelini, R., Potkonjak, V., Tzafestas, S., Valavanis, K., and Vukobra-
tovic, M. (2001). How far away is artificial man. Robotics Automation Magazine,
IEEE, 8(1):66–73.
Gockley, R., Bruce, A., Forlizzi, J., Michalowski, M., Mundell, A., Rosenthal, S.,
Sellner, B., Simmons, R., Snipes, K., Schultz, A. C., et al. (2005). Designing robots
for long-term social interaction. In Intelligent Robots and Systems, 2005.(IROS
2005). 2005 IEEE/RSJ International Conference on, pages 1338–1343. IEEE.
162
Graziano, M. S., Taylor, C. S., Moore, T., and Cooke, D. F. (2002). The cortical
control of movement revisited. Neuron, 36(3):349–362.
Gribovskaya, E. and Billard, A. (2008). Combining dynamical systems control and
programming by demonstration for teaching discrete bimanual coordination tasks
to a humanoid robot. In Human-Robot Interaction (HRI), 2008 3rd ACM/IEEE
International Conference on, pages 33–40. IEEE.
Guiard, Y. (1987). Asymmetric division of labor in human skilled bimanual action:
The kinematic chain as a model. Journal of Motor Behavior, 19(4):486–517.
Harris, C. M. and Wolpert, D. M. (1998). Signal-dependent noise determines motor
planning. Nature, 394(6695):780–784.
Hughes, C. M. and Franz, E. A. (2008). Goal-related planning constraints in bimanual
grasping and placing of objects. Experimental Brain Research, 188(4):541–550.
Hughes, C. M., Reißig, P., and Seegelke, C. (2011). Motor planning and execution
in left-and right-handed individuals during a bimanual grasping and placing task.
Acta Psychologica, 138(1):111–118.
Ivaldi, F. M., Morasso, P., and Zaccaria, R. (1988). Kinematic networks. Biological
Cybernetics, 60(1):1–16.
Janssen, L., Beuting, M., Meulenbroek, R., and Steenbergen, B. (2009). Combi-
ned effects of planning and execution constraints on bimanual task performance.
Experimental Brain Research, 192(1):61–73.
Janssen, L., Crajé, C., Weigelt, M., and Steenbergen, B. (2010). Motor planning
in bimanual object manipulation: Two plans for two hands? Motor Control,
14(2):240–254.
Janssen, L., Meulenbroek, R. G., and Steenbergen, B. (2011). Behavioral evidence
for left-hemisphere specialization of motor planning. Experimental Brain Research,
209(1):65–72.
163
Kazennikov, O. V. and Wiesendanger, M. (2005). Goal synchronization of bimanual
skills depends on proprioception. Neuroscience Letters, 388(3):153–156.
Kelso, J., Southard, D. L., and Goodman, D. (1979a). On the nature of human
interlimb coordination. Science, 203(4384):1029–1031.
Kelso, J. S., Southard, D. L., and Goodman, D. (1979b). On the coordination of
two-handed movements. Journal of Experimental Psychology: Human Perception
and Performance, 5(2):229.
Kemp, C. C., Edsinger, A., and Torres-Jara, E. (2007). Challenges for robot
manipulation in human environments. IEEE Robotics and Automation Magazine,
14(1):20.
Kemp, C. C., Fitzpatrick, P., Hirukawa, H., Yokoi, K., Harada, K., and Matsumoto,
Y. (2008). Humanoids. Springer Handbook of Robotics, pages 1307–1333.
Kim, H., Miller, L. M., Byl, N., Abrams, G., and Rosen, J. (2012). Redundancy reso-
lution of the human arm and an upper limb exoskeleton. Biomedical Engineering,
IEEE Transactions on, 59(6):1770–1779.
Kim, K., Park, J., Lee, H., and Song, K. (2006). Teleoperated cleaning robots
for use in a highly radioactive environment of the dfdf. In SICE-ICASE, 2006.
International Joint Conference, pages 3094–3099. IEEE.
Lanfranco, A. R., Castellanos, A. E., Desai, J. P., and Meyers, W. C. (2004). Robotic
surgery: a current perspective. Annals of surgery, 239(1):14.
LaValle, S. M. (1998). Rapidly-exploring random trees a new tool for path planning.
Leite, I., Martinho, C., and Paiva, A. (2013). Social robots for long-term interaction:
a survey. International Journal of Social Robotics, 5(2):291–308.
Maciejasz, P., Eschweiler, J., Gerlach-Hahn, K., Jansen-Troy, A., Leonhardt, S., et al.
(2014). A survey on robotic devices for upper limb rehabilitation. Journal of
Neuroengineering and Rehabilitation, 11(3).
164
Maurel, W. (1999). 3d modeling of the human upper limb including the biomechanics
of joints, muscles and soft tissues.
Maurel, W. and Thalmann, D. (1999). A case study on human upper limb model-
ling for dynamic simulation. Computer methods in biomechanics and biomedical
engineering, 2(1):65–82.
Miyamoto, H., Nakano, E., Wolpert, D. M., and Kawato, M. (2004). Tops (task
optimization in the presence of signal-dependent noise) model. Systems and
Computers in Japan, 35(11):48–58.
Mohan, V., Morasso, P., Metta, G., and Sandini, G. (2009). A biomimetic, force-field
based computational model for motion planning and bimanual coordination in
humanoid robots. Autonomous Robots, 27(3):291–307.
Morasso, P. (1981). Spatial control of arm movements. Experimental Brain Research,
42(2):223–227.
Morasso, P. G., Mohan, V., Metta, G., and Sandini, G. (2009). Motion planning and
bimanual coordination in humanoid robots.
Mukai, T., Hirano, S., Nakashima, H., Kato, Y., Sakaida, Y., Guo, S., and Hosoe, S.
(2010). Development of a nursing-care assistant robot riba that can lift a human in
its arms. In Intelligent Robots and Systems (IROS), 2010 IEEE/RSJ International
Conference on, pages 5996–6001. IEEE.
Nakano, E., Imamizu, H., Osu, R., Uno, Y., Gomi, H., Yoshioka, T., and Kawato, M.
(1999). Quantitative examinations of internal representations for arm trajectory
planning: minimum commanded torque change model. Journal of Neurophysiology,
81(5):2140–2155.
Napier, J. R. (1956). The prehensile movements of the human hand. Journal of
Bone and Joint Surgery, 38(4):902–913.
Oyama, A., Konolige, K., Cousins, S., Chitta, S., Conley, K., and Bradski, G. (2009).
Come on in, our community is wide open for robotics research. RSJ.
165
Perrig, S., Kazennikov, O., and Wiesendanger, M. (1999). Time structure of a
goal-directed bimanual skill and its dependence on task constraints. Behavioural
Brain Research, 103(1):95–104.
Perry, J. C., Powell, J. M., and Rosen, J. (2009). Isotropy of an upper limb
exoskeleton and the kinematics and dynamics of the human arm. Applied Bionics
and Biomechanics, 6(2):175–191.
Reif, J. H. (1979). Complexity of the mover’s problem and generalizations extended
abstract. In Proceedings of the 20th Annual IEEE Conference on Foundations of
Computer Science, pages 421–427.
Restivo, S. (2001). Bringing up and booting up: Social theory and the emergence
of socially intelligent robots. In Systems, Man, and Cybernetics, 2001 IEEE
International Conference on, volume 4, pages 2110–2117. IEEE.
Robins, B., Dautenhahn, K., Te Boekhorst, R., and Billard, A. (2005). Robotic
assistants in therapy and education of children with autism: can a small humanoid
robot help encourage social interaction skills? Universal Access in the Information
Society, 4(2):105–120.
Rosenbaum, D. A., Cohen, R. G., Meulenbroek, R. G., and Vaughan, J. (2006).
Plans for grasping objects. In Motor Control and Learning, pages 9–25. Springer.
Rosenbaum, D. A., Loukopoulos, L. D., Meulenbroek, R. G., Vaughan, J., and Engel-
brecht, S. E. (1995). Planning reaches by evaluating stored postures. Psychological
Review, 102(1):28.
Rosenbaum, D. A., Marchak, F., Barnes, H. J., Vaughan, J., Slotta, J. D., and Jor-
gensen, M. J. (1990). Constraints for action selection: Overhand versus underhand
grips.
Rosenbaum, D. A., Meulenbroek, R. G., Vaughan, J., and Jansen, C. (1999). Coordi-
nation of reaching and grasping by capitalizing on obstacle avoidance and other
constraints. Experimental Brain Research, 128(1-2):92–100.
166
Rosenbaum, D. A., Meulenbroek, R. J., Vaughan, J., and Jansen, C. (2001). Posture-
based motion planning: applications to grasping. Psychological Review, 108(4):709.
Sabelli, A. M., Kanda, T., and Hagita, N. (2011). A conversational robot in an
elderly care center: an ethnographic study. In Human-Robot Interaction (HRI),
2011 6th ACM/IEEE International Conference on, pages 37–44. IEEE.
Schaal, S. (2007). The new robotics: towards human centered machines. HFSP
Journal, 1(2):115–126.
Schmidt, R. A. (1975). A schema theory of discrete motor skill learning. Psychological
Review, 82(4):225.
Schmidt, R. A., Zelaznik, H., Hawkins, B., Frank, J. S., and Quinn Jr, J. T.
(1979). Motor-output variability: a theory for the accuracy of rapid motor acts.
Psychological Review, 86(5):415.
Schraft, R. and Schmierer, G. (2000). Service robots products, scenarios, visions. Ak
Peters Series. A K Peters.
Sebanz, N., Bekkering, H., and Knoblich, G. (2006). Joint action: bodies and minds
moving together. Trends in cognitive sciences, 10(2):70–76.
Silva, R. (2008). Design e construcão de um robô antropomórfico. Master’s thesis,
Universidade do Minho.
Smith, C., Karayiannidis, Y., Nalpantidis, L., Gratal, X., Qi, P., Dimarogonas,
D. V., and Kragic, D. (2012). Dual arm manipulation: A survey. Robotics and
Autonomous Systems, 60(10):1340–1353.
Steffen, J., Elbrechter, C., Haschke, R., and Ritter, H. (2010). Bio-inspired motion
strategies for a bimanual manipulation task. In Humanoid Robots (Humanoids),
2010 10th IEEE-RAS International Conference on, pages 625–630. IEEE.
Svinin, M. and Yamamoto, M. (2010). On the motion planning of human-like reaching
movements by a minimum variance model. In TENCON 2010-2010 IEEE Region
10 Conference, pages 933–938. IEEE.
167
Tanaka, F., Cicourel, A., and Movellan, J. R. (2007). Socialization between toddlers
and robots at an early childhood education center. Proceedings of the National
Academy of Sciences, 104(46):17954–17958.
Theorin, A. (2009). To select one hand while using both: neural mechanisms
supporting flexible hand dominance in bimanual object manipulation.
Todorov, E. and Jordan, M. I. (1998). Smoothness maximization along a predefined
path accurately predicts the speed profiles of complex arm movements. Journal of
Neurophysiology, 80(2):696–714.
Tolani, D., Goswami, A., and Badler, N. I. (2000). Real-time inverse kinematics
techniques for anthropomorphic limbs. Graphical Models, 62(5):353–388.
Uno, Y., Kawato, M., and Suzuki, R. (1989). Formation and control of optimal
trajectory in human multijoint arm movement. Biological Cybernetics, 61(2):89–
101.
Vahrenkamp, N., Berenson, D., Asfour, T., Kuffner, J., and Dillmann, R. (2009).
Humanoid motion planning for dual-arm manipulation and re-grasping tasks.
In Intelligent Robots and Systems, 2009. IROS 2009. IEEE/RSJ International
Conference on, pages 2464–2470. IEEE.
Vahrenkamp, N., Do, M., Asfour, T., and Dillmann (2010). Integrated grasp and
motion planning. In Robotics and Automation (ICRA), 2010 IEEE International
Conference on, pages 2883–2888. IEEE.
Wächter, A. and Biegler, L. T. (2006). On the implementation of an interior-point
filter line-search algorithm for large-scale nonlinear programming. Mathematical
Programming, 106(1):25–57.
Wada, Y. and Kawato, M. (2004). A via-point time optimization algorithm for
complex sequential trajectory formation. Neural Networks, 17(3):353–364.
Weigelt, M., Kunde, W., and Prinz, W. (2006). End-state comfort in bimanual object
manipulation. Experimental Psychology, 53(2):143.
168
Weiss, P. and Jeannerod, M. (1998). Getting a grasp on coordination. Physiology,
13(2):70–75.
Zacharias, F., Schlette, C., Schmidt, F., Borst, C., Rossmann, J., and Hirzinger, G.
(2011). Making planned paths look more human-like in humanoid robot manipu-
lation planning. In Robotics and Automation (ICRA), 2011 IEEE International
Conference on, pages 1192–1198. IEEE.
Zhang, W. and Rosenbaum, D. A. (2008). Planning for manual positioning: the
end-state comfort effect for manual abduction–adduction. Experimental Brain
Research, 184(3):383–389.
Zöllner, R., Asfour, T., and Dillmann, R. (2004). Programming by demonstration:
dual-arm manipulation tasks for humanoid robots. In IROS, pages 479–484.
169
top related