Você está na página 1de 100

Resolução da Redundância e Redução da Inércia no Robô

KUKA LWR

Hugo Filipe Duarte Franco

Dissertação para obtenção do Grau de Mestre em

Engenharia Mecânica

Orientador: Prof. Jorge Manuel Mateus Martins

Júri
Presidente: Prof. João Rogério Caldas Pinto
Orientador: Prof. Jorge Manuel Mateus Martins
Vogal: Prof. João Carlos Prata dos Reis

Novembro 2016
ii
Agradecimentos

Em primeiro lugar, agradeço ao meu orientador, Professor Jorge Martins, pelo apoio, dedicação e
esclarecimentos prestados, ao longo da realização deste trabalho.

Gostaria também de agradecer à minha famı́lia por todo o apoio que me deram ao longo do meu
percurso académico, aos meus colegas do Laboratório de Cirurgia Robótica, em especial ao Rui, Pedro
Roios e à Catarina, pela ajuda e trocas de informação que, com toda a certeza, enriqueceram esta tese.

Por fim, gostaria de agradecer a todos os meus amigos, pelo apoio e momentos de descontração
que me providenciaram.

iii
iv
Resumo

Nesta dissertação, a estratégia force feedforward control e uma resolução para redundância são im-
plementadas no KUKA Ligthweight Robot 4+ (LWR). Quando se manuseia o LWR em co-manipulação,
o utilizador interage com a dinâmica do manipulador onde se inclui a fricção das juntas e a inércia que
pode causar fadiga e diminuição de destreza. Foram efetuados testes experimentais, usando o force
feedforward control, onde se verificou uma redução de inércia sentida pelo utilizador em cerca de 48%
na translação e até um máximo de 65% na rotação.
Sendo o KUKA Ligthweight Robot 4+ um robô redundante com 7 graus de liberdade, é possı́vel con-
figurar uma pose de juntas enquanto se trabalha no espaço cartesiano. A redundância foi resolvida
recorrendo a uma variável extra, à qual se designou de ângulo giratório. O utilizador define o ângulo
giratório pretendido, que posteriormente é enviado à cinemática inversa para obter uma pose de juntas
consistente com o ângulo giratório desejado e a pose cartesiana atual. Para além do ângulo giratório, o
utilizador tem de especificar a rigidez e o coeficiente de amortecimento pretendido no espaço de juntas.
A especificação da pose de juntas foi experimentalmente validada, onde se verificou que quanto maior
a rigidez especificada na junta, menor erro é obtido na pose de juntas especificada.

Palavras-chave: Co-manipulação, Force Feedforward Control, Redução de inércia, Cinemática


Inversa, Resolução da Redundância

v
vi
Abstract

In this master’s thesis, force feedforward control strategy and a resolution for the redundancy were
implemented for the KUKA Ligthweight Robot 4+ . When using the robot in co-manipulation, the user
interacts with the dynamics of the manipulator which includes joints friction and inertia of the robotic
manipulator which can reduce the user dexterity and increase fatigue. The feedforward force control
implemented was tested and showed to be able to reduce the felt inertia in about 48 % in translation
and up to 65 % in rotation. Since the KUKA Ligthweight Robot 4+ is a redundant robot with 7 degrees of
freedom, it is possible to specify a joint pose while working in cartesian space. Redundancy has been
solved with an extra variable, the swivel angle. The user sets the desired swivel angle from which it is
sent to inverse kinematics to obtain a consistent joint pose with the desired swivel angle and the current
cartesian pose. In addition to the swivel angle, the user must specify a desired joint stiffness and joint
damping. The specification of joints pose has been experimentally validated, where it was found that the
higher joints stiffness, the smaller the error obtained at the specified swivel angle.

Keywords: Co-manipulation, Force Feedforward Control, Inertia Reduction, Inverse Kinema-


tics, Redundancy Resolution

vii
viii
Conteúdo

Agradecimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Lista de Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Lista de Sı́mbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

Lista de Abreviaturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

1 Introdução 1

1.1 Interação Homem - Robô . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4 Estrutura da Dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Controlo de Manipuladores Robóticos 7

2.1 Controlo de Força . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1 Force Feedforward Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Redundância cinemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 Controlo do espaço nulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Implementação 15

ix
3.1 KUKA Lightweight Robot 4+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.1 KUKA Fast Research Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2 JR3 Force - Torque Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.3 Estratégias de Controlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3.1 Force Feedforward Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3.2 Resolução da Redundância . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Resultados 35

4.1 Redução da inércia aparente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.1.1 Movimento Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.1.2 Influência do Ambiente de Impedância . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.1.3 Limite da Redução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.2 Configuração do Espaço Nulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5 Conclusão 51

5.1 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.2 Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Referências 55

A Gráficos: Posição e Força - Sensor de Força/Binário JR3 A.1

B Gráficos: Posição e Força - Sensor de Força/Binário LWR B.1

C Gráficos: Posição e Força - Ambiente de Impedância C.1

x
Lista de Tabelas

3.1 Frequência de corte e de amostragem para cada filtro [31]. . . . . . . . . . . . . . . . . . 18

3.2 Caracterização do ruı́do do sensor: média e variância . . . . . . . . . . . . . . . . . . . . 19

3.3 Parâmetros DH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4 Amplitude de movimento permitida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.1 Resultados da redução de inércia : Translação . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2 Resultados da redução de inércia : Rotação . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.3 Resultados da redução de inércia : Translação . . . . . . . . . . . . . . . . . . . . . . . . 42

4.4 Resultados da redução de inércia : Rotação . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.5 Resultados: Redução de inércia e de rigidez. . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.6 Erro medido em relação à referência aos t=20s e t=30s. . . . . . . . . . . . . . . . . . . . 49

xi
xii
Lista de Figuras

1.1 YuMi:IRB 14000 [4]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 LWR numa operação de soldadura [5]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 LWR numa operação de pintura [6]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4 da Vinci: Carro do lado do paciente [10]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.5 da Vinci: Consola do Cirurgião [10]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.6 DLR Bi-Manual Haptic Device [11]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.7 Omega 7 [12]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.8 Setup do sistema robótico para biopsias ao cerébro [13]. . . . . . . . . . . . . . . . . . . 5

2.1 Force Feedforward Control [15]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Force Feedforward Control com o meio envolvente compensado [15]. . . . . . . . . . . . 10

2.3 Dispositivo LHIfam [21]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4 Manipulador de 7-GDL Mitsubishi PA-10 [3]. . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.5 Principio da sobreposição das impedâncias [24]. . . . . . . . . . . . . . . . . . . . . . . . 13

3.1 KUKA LWR IV e controlador [27]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2 Arquitectura de Controlo [29]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3 Aplicação dos filtros digitais em cascata. . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.4 Autocorrelação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.5 Bloco Simulink


R
de um sensor JR3 de 12GDL (força e aceleração) [32]. . . . . . . . . . 21

xiii
3.6 Esquema da comunicação entre dispositivos. Adaptado de [13]. . . . . . . . . . . . . . . 21

3.7 Diagrama de Blocos do FRI-xPC server. Adaptado de [13] . . . . . . . . . . . . . . . . . . 22

3.8 Referenciais do TCP e do sensor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.9 Esquema: Implementação da force feedforward control. . . . . . . . . . . . . . . . . . . . 25

3.10 Disposição dos eixos DH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.11 Representação do ângulo giratório. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.12 Esquema da implementação da trajetória . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.1 Configuração do LWR e indicação dos movimentos realizados para os testes. . . . . . . . 36

4.2 Posição e Força exercida pelo utilizador: K = 1. . . . . . . . . . . . . . . . . . . . . . . . 37

4.3 Evolução da redução de inércia na translação. . . . . . . . . . . . . . . . . . . . . . . . . 38

4.4 Rotação e Momento exercida pelo utilizador: K = 2. . . . . . . . . . . . . . . . . . . . . . 39

4.5 Evolução da redução de inércia na rotação. . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.6 Comparação entre o Sensor JR3 e a Estimação pelo LWR. . . . . . . . . . . . . . . . . . 41

4.7 Posição e Força exercida pelo utilizador: K = 1. . . . . . . . . . . . . . . . . . . . . . . . 42

4.8 Evolução da redução de inércia na translação. . . . . . . . . . . . . . . . . . . . . . . . . 43

4.9 Rotação e Momento exercida pelo utilizador: K = 2. . . . . . . . . . . . . . . . . . . . . . 43

4.10 Evolução da redução de inércia na rotação. . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.11 Espectro FFT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.12 Configuração do espaço nulo do LWR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.13 Trajetória do ângulo giratório, α. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.1 Evolução da redução de inércia na translação. . . . . . . . . . . . . . . . . . . . . . . . . 53

A.1 Posição X e Força X exercida pelo utilizador. . . . . . . . . . . . . . . . . . . . . . . . . . A.1

A.1 Posição X e Força X exercida pelo utilizador. . . . . . . . . . . . . . . . . . . . . . . . . . A.2

A.2 Rotação X e Momento X exercida pelo utilizador. . . . . . . . . . . . . . . . . . . . . . . . A.2

xiv
A.2 Rotação X e Momento X exercida pelo utilizador (continuação). . . . . . . . . . . . . . . . A.3

A.3 Posição Y e Força Y exercida pelo utilizador . . . . . . . . . . . . . . . . . . . . . . . . . . A.4

A.3 Posição Y e Força Y exercida pelo utilizador (continuação). . . . . . . . . . . . . . . . . . A.5

A.4 Rotação Y e Momento Y exercida pelo utilizador. . . . . . . . . . . . . . . . . . . . . . . . A.5

A.4 Rotação Y e Momento Y exercida pelo utilizador (continuação). . . . . . . . . . . . . . . . A.6

A.5 Posição Z e Força Z exercida pelo utilizador . . . . . . . . . . . . . . . . . . . . . . . . . . A.7

A.5 Posição Z e Força Z exercida pelo utilizador (continuação). . . . . . . . . . . . . . . . . . A.8

A.6 Rotação Z e Momento Z exercida pelo utilizador. . . . . . . . . . . . . . . . . . . . . . . . A.8

A.6 Rotação Z e Momento Z exercida pelo utilizador (continuação). . . . . . . . . . . . . . . . A.9

B.1 Posição X e Força X exercida pelo utilizador. . . . . . . . . . . . . . . . . . . . . . . . . . B.1

B.1 Posição X e Força X exercida pelo utilizador. . . . . . . . . . . . . . . . . . . . . . . . . . B.2

B.2 Rotação X e Momento X exercida pelo utilizador. . . . . . . . . . . . . . . . . . . . . . . . B.2

B.2 Rotação X e Momento X exercida pelo utilizador (continuação). . . . . . . . . . . . . . . . B.3

B.3 Posição Y e Força Y exercida pelo utilizador . . . . . . . . . . . . . . . . . . . . . . . . . . B.4

B.3 Posição Y e Força Y exercida pelo utilizador (continuação). . . . . . . . . . . . . . . . . . B.5

B.4 Rotação Y e Momento Y exercida pelo utilizador. . . . . . . . . . . . . . . . . . . . . . . . B.5

B.4 Rotação Y e Momento Y exercida pelo utilizador (continuação). . . . . . . . . . . . . . . . B.6

B.5 Posição Z e Força Z exercida pelo utilizador . . . . . . . . . . . . . . . . . . . . . . . . . . B.7

B.5 Posição Z e Força Z exercida pelo utilizador (continuação). . . . . . . . . . . . . . . . . . B.8

B.6 Rotação Z e Momento Z exercida pelo utilizador. . . . . . . . . . . . . . . . . . . . . . . . B.8

B.6 Rotação Z e Momento Z exercida pelo utilizador (continuação). . . . . . . . . . . . . . . . B.9

C.1 Posição X e Força X exercida pelo utilizador. . . . . . . . . . . . . . . . . . . . . . . . . . C.1

C.2 Posição Y e Força Y exercida pelo utilizador . . . . . . . . . . . . . . . . . . . . . . . . . . C.2

C.3 Posição Z e Força Z exercida pelo utilizador . . . . . . . . . . . . . . . . . . . . . . . . . . C.2

xv
xvi
Lista de Sı́mbolos

α Ângulo giratório.

Λ Matriz de massa do manipulador no espaço cartesiano.

µ Matriz de Coriolis/centrifuga do manipulador.

τ Binário de juntas.

D cart Matriz de amortecimento no espaço cartesiano.

dcart Coeficiente de Amortecimento no espaço cartesiano.

Dj Matriz de amortecimento no espaço de juntas.

dj Coeficiente de Amortecimento no espaço de juntas.

Dn Matriz de amortecimento no espaço nulo.

g Matriz contendo os termos gravı́ticos.

J Jacobiano.

K cart Matriz de rigidez no espaço cartesiano.

kj Matriz de rigidez no espaço de juntas.

Kn Matriz de rigidez no espaço nulo.

M Matriz de massa do manipulador no espaço de juntas.

N Matriz de projecção do espaço nulo.

pA
B Posição do referencial B expresso no referencial A.

q, q̇, q̈ Posição, velocidade e aceleração das juntas.

RA
B Matriz de rotação do referencial B expresso no referencial A.

∆x,∆ẋ,∆ẍ Variação da posição, velocidade e aceleração.

Fx ,Fy ,Fz Força no eixo x,y e z respectivamente.

xvii
g Aceleração gravı́tica.

K Ganho do feedforward force control

Mx ,My ,Mz Momento no eixo x,y e z respectivamente.

Ze Admitância do meio envolvente.

Zm Admitância do manipulador/dispositivo.

Zu Admitância do operador.

xviii
Lista de Abreviaturas

DH Denavit-Hartenberg
FFC Force Feedforward Control
FFT Fast Fourier Transform
FRI KUKA Fast Research Interface
GDL Grau de Liberdade
KRL KUKA Robot Language
LWR KUKA Ligthweight Robot 4+
TCP Tool Center Point

xix
xx
Capı́tulo 1

Introdução

1.1 Interação Homem - Robô

Em 1961, o primeiro robô industrial foi vendido. Possuia apenas controlo de posição e fora projetado
para operações que eram perigosas para os operários. Um robô industrial clássico têm como pontos
fortes, uma excelente exactidão na posição, grande repetibilidade, velocidade, robustez e durabilidade.
É excelente e encaixa perfeitamente para um ambiente industrial onde a posição, os movimentos e as
possı́veis colisões são conhecidas a priori [1]. Normalmente estes robôs encontram-se dentro de uma
”jaula” como medida de segurança para os restantes trabalhadores.

Por volta dos anos 50, Raymond Goertz integrou realimentação da força na tele-manipulação robótica,
onde a usou de forma a poder manusear materiais radioativos em segurança. Foi um grande avanço
para tele-manipulação robótica tendo em conta que o primeiro robô industrial ainda não tinha sido in-
ventado [2]. Em tele-manipulação robótica, o operador humano manuseia, por exemplo, um joystick
ou algo semelhante que pode ser visto como um robô, designado por mestre, sendo estes comandos
posteriormente enviados para um lugar remoto onde se encontra um robô, designado por escravo, que
executa os comandos. Os robôs mestre e escravo não precisam de estar muito longe um do outro,
sendo que podem estar na mesma sala, porém é necessário existir separação fı́sica [3].

Durante os anos 70, o sensor de força/momentos de seis eixos foi inventado e poucos anos mais
tarde foi integrado em robôs manipuladores o que despoletou e incentivou a investigação em controlo
de força em sistemas robóticos [2].

Com a motivação de aproximar mais os robôs às pessoas, tirando os robôs das tı́picas ”jaulas” de

1
segurança e a pôr os robôs como assistentes e/ou trabalhar em colaboração com seres humanos, a
evolução dos robôs têm sido notória. Por exemplo o YuMi (figura 1.1) da ABB é um robô manipula-
dor que possui dois braços. Foi projectado para um ambiente industrial com a função de montagem
colaborativa com um operário. Não necessita de barreiras nem jaulas de segurança [4].

Figura 1.1: YuMi:IRB 14000 [4].

O KUKA Lightweight Robot 4+ , ou LWR, é o resultado do trabalho conjunto entre KUKA Roboter
GmbH e o Instituto de Robótica e Mecatrónica do Centro Aeroespacial Alemão (DLR). Este manipula-
dor redundante (7 graus de liberdade) de baixo peso (15 Kg) e com uma razão peso-carga de 1 : 1, não
precisa de uma grande área de trabalho e o seu baixo peso confere-lhe um grau de mobilidade (pode
ser deslocado manualmente) que um manipulador robótico tradicional não possui. Este manipulador
têm sido foco de interesse de muitos investigadores para uso em co-manipulação (e tele-manipulação)
com um operador humano devido às suas caracterı́sticas e ao facto ser possı́vel impor um compor-
tamento complacente via controlo, possibilitando uma interação segura entre o manipulador e o meio
envolvente.
Durante a execução da tarefa em co-manipulação, operador humano movimenta o robô, exercendo
forças no elemento terminal, que deve ter um comportamento complacente. São apresentados exem-
plos de utilização em co-manipulação nas figuras 1.2 e 1.3, onde o LWR é utilizado como ferramenta
do soldador e pelo pintor respectivamente [5, 6].

Figura 1.2: LWR numa operação de soldadura [5]. Figura 1.3: LWR numa operação de pintura [6].

2
Interfaces Hápticas são uma classe de robôs onde os operadores interagem de forma a obter a
sensação de um objeto ou meio envolvente que é simulado através de um computador ou transmitido
por um outro robô, designado como manipulador escravo (exemplo: tele-manipulação). Um dos ob-
jetivos de uma interface háptica é manter transparência da simulação ( ou da tele-manipulação) para
uma grande banda de frequências. Um sistema transparente é aquele que permite ao utilizador sentir
o meio envolvente sem a sensação da dinâmica do manipulador [7].
Esta classe de robôs têm vindo a crescer, devido ao melhoramento das capacidades dos proces-
sadores, que permitem fazer cálculos complexos em menos de um milisegundo para fornecer uma
sensação credı́vel ao utilizador, quer esteja em simulação ou em tele-manipulação. Para se alcançar
uma sensação de suavidade é necessário trabalhar pelo menos entre os 500-1000Hz [8].

Interfaces hápticos têm vindo a ser usados como forma de treinar utilizadores para uma função, por
exemplo em aplicações médicas. Este tipo de dispositivos possuem um canal bidirecional de interação
entre o meio virtual e o utilizador, por exemplo possuindo “feedback” das forças e binários. Em termos
médicos, estes dispositivos têm sido testados e usados em laparoscopia, endoscopia, em procedimen-
tos endovasculares, artroscopia, entre outros [9].

Na realidade, já existem aplicações de robótica em medicina. A primeira cirurgia robótica foi efetuada
em 1985. Foi utilizado um Puma 560 para uma biopsia ao cérebro. O desenvolvimento de robôs
cirúrgicos tele-manipulados tem vindo a crescer na área de cirurgia minimamente invasiva desde que
em 1988 foi documentada a primeira cirurgia laparoscópica utilizando um sistema robótico [10].
Hoje em dia, o sistema robótico da Vinci (figura 1.4 e 1.5), é o atual estado da arte em sistemas de
tele-manipulação para cirurgias minimamente invasivas. Este é composto por duas partes: o carro do
lado do paciente (figura 1.4), composto por quatro braços robóticos, e a consola do cirurgião (figura
1.5). Um dos quatro braços robóticos segura a câmara e é guiado por pedais enquanto os restantes
são controlados através de controlos manuseados pelas mãos do cirurgião [10].

Figura 1.4: da Vinci: Carro do lado do paciente [10]. Figura 1.5: da Vinci: Consola do Cirurgião [10].

O dispositivo DLR Bi-Manual Haptic Device [11], projetado pela DLR (Fig.1.6), é composto por dois
LWRs que são montados atrás do utilizador de forma a que o espaço de trabalho do robô e do braço hu-
mano sejam máximos. Este dispositivo apareceu da necessidade que muitas das soluções comerciais

3
de interfaces hápticas (Fig.1.7) serem essencialmente sistemas desktop com um espaço de trabalho
limitado ou de capacidades de força limitadas. Este dispositivo em particular é usado em aplicações
como simulação de montagem de peças, tele-manipulação de robôs entre outros.

Figura 1.6: DLR Bi-Manual Haptic Device [11]. Figura 1.7: Omega 7 [12].

1.2 Motivação

Os sistemas robóticos estão a evoluir no sentido de terem grandes capacidades sensoriais que per-
mitam vantagens em ambientes não estruturados. A combinação de sensores permite que o robô tenha
um comportamento complacente com o operador através do controlo de impedância. Neste tipo de con-
trolo é possı́vel o operador manusear a ferramenta montada no elo terminal do robô manipulador.
Ao manusear a ferramenta, o operador, interage com a dinâmica do manipulador onde se inclui fricção
das juntas e a inércia do manipulador robótico. Estes factores podem reduzir a destreza e aumentar a
fadiga do operador ao longo do tempo. É desejável que os fatores referidos sejam reduzidos ao máximo
para uma melhor colaboração entre robô-Homem.

Os robôs, à medida que os anos passaram, tornaram-se mais complexos de forma a fornecer
soluções para as mais variadas tarefas. Num robô redundante, ou seja, com mais graus de liber-
dade do que os necessários para a tarefa, é possı́vel realizar tarefas múltiplas. Por norma, uma tarefa
secundária costuma ser evitar obstáculos no caminho do manipulador, porém também pode ser restrin-
gir movimento de juntas enquanto o espaço cartesiano fica livre. Por exemplo um bloco operatório é um
espaço lotado, onde o cirurgião e os seus auxiliares operam as suas ferramentas num espaço reduzido,
da forma mais precisa possı́vel. Neste caso é necessário constranger o movimento livre do robô para
um espaço limitado.

O Laboratório de Cirurgia Robótica no Instituto Superior Técnico, ao longo dos anos, tem estado en-
volvido em projectos que conectam engenharia a medicina. Estes projetos vão desde desenvolvimento
de software, como desenvolvimento de hardware.

4
Os objectivos desta dissertação têm como função contribuir como uma mais valia para outros pro-
jectos do Laboratório de Robótica Cirúrgica.
Na dissertação de Pedro Roios, “A Co-manipulation Robotic System for Brain Biopsies” [13], foi desen-
volvida uma solução robótica envolvendo o LWR e o Polaris Spectra, com o objetivo de realizar biopsias
ao cérebro onde é necessário atingir pontos no cérebro com precisão. O posicionamento do robô é
realizado por co-manipulação entre o cirurgião e o robô através de um ambiente de impedância.
Sendo que o neurocirurgião apenas está habituado à agulha, é importante que o cirurgião não sinta o
robô, nem que o mesmo interfira durante o movimento.

Figura 1.8: Setup do sistema robótico para biopsias ao cerébro [13].

Uma outra dissertação, ainda a decorrer, consiste no desenvolvimento de um sistema robótico para
reabilitação musculosquelética do ombro. O fisioterapeuta realiza o exercı́cio de reabilitação com o
robô, dentro de um ambiente virtual de impedância, evitando assim desviar-se da trajectória. Tendo
o LWR sete graus de liberdade é necessário manter uma configuração de juntas enquanto o fisiotera-
peuta realiza o exercı́cio, sendo isso só possı́vel controlando o espaço nulo. Quando o fisioterapeuta
realiza o exercı́cio com o robô fica sujeito à inércia do braço do paciente e à inércia do robô, sendo por
isso necessário reduzir a inércia deste último permitindo um alivio de carga para o fisioterapeuta.

1.3 Objetivos

O presente trabalho tem como objeto de estudo o manipulador robótico KUKA Lightweight Robot
+
4 (LWR), existente no Laboratório de Cirurgia Robótica do Instituto Superior Técnico. Os objetivos
principais passam por implementar estratégias que :

• Reduzam a inércia aparente do KUKA Lightweight Robot 4+

• Resolvem a redundância, de modo a possibilitar especificar uma configuração de juntas para o


espaço nulo

5
1.4 Estrutura da Dissertação

A presente dissertação encontra-se dividida em 5 capı́tulos:

Capı́tulo 2

É abordado o controlo de força em robôs manipuladores. Apresenta-se a estratégia de controlo


usada nesta dissertação. Por fim, abordam-se robôs manipuladores redundantes e técnicas de con-
trolo associadas a estes.

Capı́tulo 3

Expõe-se as principais caracterı́sticas do KUKA Lightweight Robot 4+ e do sensor de força a utilizar.


É brevemente descrito a interação entre os equipamentos e o MATLAB
R
/Simulink
R
. Por fim aborda-se
a implementação da estratégia de controlo e a resolução da redundância.

Capı́tulo 4

O comportamento do robô manipulador é aproximado a um sistema de massa-amortecedor através


de uma equação diferencial de 2o grau utilizando o método dos mı́nimos quadrados. É comparado o
comportamento do robô manipulador com a estratégia de controlo chamada force feedforward control
(FFC) e sem esta, de forma a quantificar a redução efectiva da inércia sentida. Apresenta-se também
resultados relativos à configuração do espaço-nulo.

Capı́tulo 5

As principais conclusões desta dissertação são apresentadas, bem como sugestões relativas a
futuros trabalhos a realizar.

6
Capı́tulo 2

Controlo de Manipuladores Robóticos

Neste capitulo é brevemente apresentado o controlo de força em robôs manipuladores, faz-se a


exposição da estratégia de controlo chamada force feedforward control (FFC) que vai ser a estratégia
usada nesta dissertação. Robôs manipuladores redundantes e o controlo do espaço nulo são aborda-
dos neste capı́tulo.

2.1 Controlo de Força

Controlo de força em sistemas robóticos tem vindo a crescer desde há três décadas atrás. O inte-
resse neste tipo de controlo é motivado pelo desejo de providenciar aos sistemas robóticos grandes
capacidades sensoriais, que permitam operar autonomamente no ambiente não estruturado [3].

Para uma interação entre o robô manipulador e o meio envolvente bem sucedida usando controlo de
posição é necessário uma modelação precisa do robô manipulador, tanto cinemática como dinâmica,
e do meio envolvente. Modelos de robôs manipuladores são atualmente obtidos com uma boa pre-
cisão, porém obter um modelo do meio envolvente é extremamente complicado, devido a uma infinita
gama de possibilidades que teriam de ser consideradas. Por exemplo, erros do planeamento poderiam
provocar o aumento de forças e momentos de contacto, causando o desvio do elemento terminal da
desejada trajetória. Por outro lado o controlo de posição tentaria reduzir estes desvios o que pode levar
à saturação dos atuadores. Para evitar a situação descrita é necessário que o robô manipulador tenha
um comportamento complacente durante a interação [3].

Um comportamento complacente do robô manipulador pode ser obtido através de controlo indireto

7
de força ou através do controlo direto de força. No controlo indireto de força, o controlo é conseguido
sem a realimentação explı́cita das forças ou momentos de contacto. A este tipo de controlo pertence
o controlo de impedância e de admitância onde o desvio do elemento terminal da trajetória desejada,
devido à interação com o meio envolvente, é relacionada com as forças (ou momentos) de contacto via
impedâncias/admitâncias mecânicas com parâmetros ajustáveis. Assim é possı́vel ao robô manipula-
dor ter um comportamento equivalente a um sistema massa-mola-amortecedor (equação 2.1). Neste
trabalho, é definindo como uma impedância quando a força é a entrada do sistema e a posição é a
saı́da, enquanto uma admitância a força é a saı́da do sistema e a posição é a entrada.

f = M cart ∆ẍ + D cart ∆ẋ + K cart ∆x (2.1)

A equação 2.1 representa um sistema massa-mola-amortecedor no espaço cartesiano. As matrizes


M cart , D cart e K cart são matrizes positivas definidas que representam a inércia, amortecimento e ri-
gidez respetivamente.
Neste tipo de controlo não é necessário medições das forças e momentos de contacto, porém se estas
medições estiverem disponı́veis ( através de sensores de força/binário), podem ser usadas de forma a
que a estrutura de controlo tenha um comportamento linear e desacoplado [3].

O controlo direto de força requer um modelo explı́cito do meio envolvente ou do objeto de contacto. O
utilizador terá que especificar a trajetória desejada e as forças e momentos de contacto desejado con-
sistente a respeitar os constrangimentos impostos pelo meio envolvente. Uma das estratégias muito
utilizadas no controlo direto de força é o controlo hı́brido de força e posição. Esta estratégia visa a
controlar a posição do robô manipulador nas direções não constrangidas pelo meio envolvente e as
forças e momentos de contacto nas direções constrangidas [3].
Como vai ser descrito posteriormente, o LWR, já têm embebido a opção de controlo por impedância no
seu controlador, o qual vai ser usado neste trabalho.

2.1.1 Force Feedforward Control

Em co-manipulação, o operador humano guia o robô manipulador ao aplicar forças no manipulador,


normalmente no elemento terminal, onde este deve ter um comportamento complacente. O compor-
tamento complacente é alcançado por controlo de impedância que permite impôr ao manipulador uma
dinâmica semelhante a um sistema mecânico de segunda ordem (massa-mola-amortecedor) [3, 14].

Normalmente a impedância nos robôs manipuladores é mais alta do que a impedância ideal para
uma boa cooperação com operadores humanos [14], e mesmo trabalhando em compensação gravı́tica

8
do robô (mas em controlo de impedância, ou seja, K cart = 0), o operador poderá sentir dificuldades
em executar alguns movimentos e após algum tempo, irá ficar cansado durante a sua utilização. Por
essa mesma razão, a inércia sentida pelo utilizador deve ser reduzida.

Em [15] o autor apresenta várias estratégias de controlo que têm o objetivo de reduzir a inércia
sentida pelo utilizador. Force feedforward control (FFC) é uma das estratégia de controlo que consiste
em adicionar um sensor de força que mede a força exercida pelo utilizador sobre o dispositivo, amplifica-
a por um ganho K e no fim é enviada para os actuadores.
Force feedforward control não é uma estratégia totalmente nova, e é amplamente aplicada em tele-
manipulação ( por exemplo em [16, 17] ) e em exoesqueletos ( por exemplo em [18, 19] ).
Na figura 2.1 é apresentado o diagrama de blocos desta arquitetura de controlo, onde o operador é
representado pela admitância Zu , o meio envolvente pela admitância Ze e o dispositivo pela admitância
Zm . A função transferência correspondente ao diagrama de blocos encontra-se na equação 2.2.

Figura 2.1: Force Feedforward Control [15].

X(s) 1
= Zm (s) Ze (s)
(2.2)
F (s) Zu (s) + +
1+K 1+K

A inércia sentida pelo utilizador vai ser reduzida cerca de 1+K, porém mantendo a arquitetura apresen-
tada na figura 2.1, o meio envolvente também vai ser reduzido por 1+K. Para manter o meio envolvente
sem nenhuma alteração, este deve ser multiplicado por 1+K, tendo no final uma arquitetura de controlo
semelhante como apresentada na figura 2.2 com a função de transferência correspondente apresen-
tada na equação 2.3.

9
Figura 2.2: Force Feedforward Control com o meio envolvente compensado [15].

X(s) 1
= Zm (s)
(2.3)
F (s) Zu (s) + + Ze (s)
1+K

Observando esta estratégia de controlo, será expectável projetar o K o maior possı́vel, porém o sistema
poderá tornar-se instável. Em [15], são indicados outras fontes de instabilidade tais como o sensor de
força e as suas medições que devem ser propriamente filtradas. Isto leva a projetar um valor de ganho
moderado e representa o limite desta estratégia de controlo.
Para além das limitações acima anunciadas, se observamos as equações 2.2 e 2.3, a dinâmica do
operador humano está acoplada à dinâmica do manipulador e portanto a estabilidade depende deste
acoplamento. Mesmo que os sistemas sejam estáveis separadamente, quando juntos podem tornar-se
instáveis. O sistema também pode ficar instável quando na interação é tentado impor uma dinâmica
que é significativamente diferente da dinâmica intrı́nseca do hardware [14].

Esta estratégia já foi aplicada anteriormente no LWR [11, 20], onde se conseguiu uma redução de
cerca 33 % da inércia translacional e 25 % da inércia rotacional.

No dispositivo LHIfam [21] (figura 2.3) a mesma estratégia é utilizada para reduzir a inércia sentida
numa direcção. Em movimento livre, a inércia foi reduzida até 3 vezes na direcção x.
Em [21] são analisados vários aspectos que podem afetar o valor K. É apresentada a equação 2.4,
onde K w representa o pior valor máximo do ganho. Quanto maior for a massa humana (mh ) mais baixo
será o valor de K. No pior caso, deveria ser possı́vel reduzir a inércia para metade sem que qualquer
instabilidade ocorra. A mesma equação indica o que já foi referido em relação à estabilidade, para um
dado K, o sistema pode ser estável ou instável dependendo de como o utilizador agarra o sistema.

m
Kw = 1 + (2.4)
mh

Esta análise e implementação apenas foi feita na direção x sem que os autores tenham realizado testes
de como a estabilidade seria afetada, por exemplo pelo acoplamento do movimento, caso existisse

10
redução de inércia em todos graus de liberdade.

Figura 2.3: Dispositivo LHIfam [21].

A passividade tem sido usada para garantir estabilidade, sendo muito usada em tele-manipulação
[3]. Considera-se um sistema estável quando a energia é dissipada invés de gerada. Diz-se que um
sistema é passivo se não produzir energia. Dois sistemas passivos podem ser combinados para formar
um terceiro. Se excluı́mos o operador humano e assumindo que o robô está em contacto com um meio
envolvente passivo podemos garantir estabilidade sem ter um modelo explı́cito do meio envolvente [3].
Quando o operador humano está envolvido, o operador injecta energia no sistema e poderá causar
perda de passividade. Segundo [14, 22] reduzir inércia mais do que 50% o sistema perde passividade
e instabilidade poderá acontecer, porém afirma também que passividade pode ser, em muitos casos,
conservativa e este valor pode ser ultrapassado. Esta afirmação vem reforçar o que foi afirmando em
[21] onde poderia reduzir a inércia para metade no pior dos casos.

2.2 Redundância cinemática

Redundância cinemática ocorre num robô manipulador quando este tem um número de graus de
liberdade (GDL) maior do que aqueles necessários para executar uma dada tarefa.

Para uma dada tarefa, o elemento terminal para seguir uma dada trajectória, geralmente são ne-
cessários seis GDL, três para a posição e os restantes para a orientação. Isto faz com que qualquer
robô manipulador com mais de seis GDL seja automaticamente considerado como um manipulador re-
dundante. Porém um manipulador de seis ou menos GDL pode ser redundante caso a tarefa a executar
não necessite de todos os GDL que o manipulador oferece. Sendo assim a redundância é um conceito
relativo à tarefa a executar [3, 23].

11
Figura 2.4: Manipulador de 7-GDL Mitsubishi PA-10 [3].

A redundância permite aumentar a destreza destes manipuladores possibilitando movimentos mais


complexos, tais como evitar obstáculos, singularidades e limites de juntas. Apesar destas vantagens,
aumentar o número de graus de liberdade aumenta a complexidade do mesmo, o que leva a existir uma
necessidade de algoritmos de controlo e de resolução da cinemática inversa mais complexos.

Existe uma classe, dentro dos manipuladores redundantes, chamada de manipuladores hiper-redundantes.
Manipuladores hiper-redundantes são manipuladores cujos os graus de liberdades excedem os no de
GDL necessários para a tarefa por uma grande diferença.

2.2.1 Controlo do espaço nulo

No caso de manipuladores redundantes, as coordenadas do elemento terminal apenas parcialmente


especificam a configuração do robô. É possı́vel com os graus de liberdades restantes permitir movi-
mentos do espaço nulo enquanto o elemento terminal está a realizar outra tarefa.

Uma das formas de resolver a redundância é aumentar as coordenadas do espaço operacional x por
r variáveis auxiliares, cujo r é determinado por r = n − m, onde n é número de juntas e m é o número
de graus de liberdade necessários. Estas variáveis adicionais são denominadas como as variáveis do
espaço nulo.
Este aumento de variáveis pode ser feito a nı́vel da posição, a partir das coordenadas do espaço nulo.
A esta abordagem é chamada de Task Augmentation Method. O aumento pode ser feito a nı́vel das
velocidades através das velocidades do espaço nulo, sendo esta abordagem designada por Joint Space
Decomposition Method.

Uma das simples maneiras de controlar os movimentos do espaço nulo é o principio da sobreposição
das impedâncias (figura 2.5). Este método é simples de implementar já que não se baseia na construção
explicita das coordenadas do espaço nulo [24]. O princı́pio da sobreposição das impedâncias permite

12
facilmente combinar diferentes comportamentos das impedâncias. Esta sobreposição é feita ao adicio-
nar os binários de juntas das diferentes impedâncias (equação 2.5).

τ = τc + τn (2.5)

Figura 2.5: Principio da sobreposição das impedâncias [24].

Quanto ao τ c é obtido através do controlador de impedância cartesiana (equações 2.6 e 2.7) en-
quanto o τ n provém da impedância do espaço nulo. Na equação 2.6, g(q) designa a matriz contendo
os termos gravı́ticos, J (q)T é o jacobiano transposto do manipulador e F τ é a força calculada pela lei
de controlo de impedância. Na equação 2.7, Λ(q) é a matriz de massa cartesiana, µ(q, q̇) é a matriz
que contém os termos de Coriolis e centrı́fugo, e por fim K d e D d são as matrizes de rigidez e amorte-
cimento desejadas no espaço cartesiano.

τ c = g(q) + J (q)T F τ (2.6)

F τ = Λ(q)ẍd + µ(q, q̇)ẋd − K d x̃ − D d x̃˙ (2.7)

O comportamento desejado no espaço nulo é caracterizado (equação 2.8), no espaço de juntas,


pelas matrizes simétricas e positivas definidas K n ∈ Rn×n e D n ∈ Rn×n que representam respectiva-
mente a rigidez e o amortecimento desejado. É necessário escolher também a posição de equilı́brio
desejada, q d,0 [24, 25].

τ 0 = −D n q̇ − K n (q − q d,0 ) (2.8)

Para garantir estabilidade no movimento do espaço nulo como no movimento no espaço operacional,
a posição de equilı́brio, q d,0 , terá de ser consistente com a posição de equilı́brio no espaço cartesiano.
Para haver desacoplamento cinemático da impedância no espaço de junta, da impedância do espaço
cartesiano, a equação 2.8 não pode ser aplicada directamente pois iria afectar o comportamento da

13
impedância cartesiana desejada, portanto é necessário projectar o binário τ 0 através de uma matriz de
projecção, N (q) (equação 2.9) [24].

τ n = N (q)τ 0 (2.9)

• Projecção Estática

Considere-se uma matriz V (q) denominado aniquilador esquerdo (ou, em inglês, left annihila-
tor ) do J T (q), ou seja V (q)J T (q) = 0. Sendo assim a matriz de projecção pode ser

N 1 = V (q)T V (q) (2.10)

A matriz V (q) pode ser calculada via decomposição em valores singulares de J [25].

• Projecção Dinâmica

Deve-se notar que projecção N 1 é feita com base na cinemática do manipulador, não tendo em
conta a dinâmica deste. Tendo em conta este facto, não é suficiente uma projecção estática para
garantir que a impedância cartesiana e do espaço nulo não interajam [24].

De forma a ser considerada a dinâmica, a condição presente na equação 2.11, onde M (q) repre-
senta a matriz de massas do manipulador no espaço de juntas, é suficiente para um mapeamento
consistente às equações do movimento.

J (q)M (q)−1 N (q) = 0 (2.11)

A seguinte matriz de projecção satisfaz essa condição,

N 2 = M (q)V (q)T V (q) (2.12)

que não é mais que o produto entre a matriz da projecção estática, N 1 , e a matriz de massa do
manipulador no espaço de juntas [25].
Ainda existe outra projecção dinâmica (equação 2.13) que tem a vantagem ser formulada no
espaço operacional [25].

N 3 = I − J (q)T Λ(q)J (q)M (q)−1 (2.13)

14
Capı́tulo 3

Implementação

Neste capitulo é apresentado o KUKA Lightweight Robot 4+ (LWR), o sensor de força e a forma como os
equipamentos comunicam com o MATLAB
R
/Simulink
R
. É explicado como a implementação do Force
Feedforward Control e a resolução da redundância são realizadas.

3.1 KUKA Lightweight Robot 4+

O KUKA Lightweight Robot 4+ ,ou LWR, (figura 3.1) é o resultado da investigação conjunta entre
KUKA Roboter GmbH e o Instituto de Robótica e Mecatrónica do Centro Aeroespacial Alemão (DLR).
O seu desenvolvimento foi motivado devido à missão espacial 1993 ROTEX onde se demonstrou que
um robô manipulador no espaço poderia funcionar tanto por tele-manipulação a partir da Terra como
autonomamente no espaço. Nesta missão espacial, surgiu a necessidade de robôs de baixo peso para
que os astronautas pudessem treinar na Terra [26].

As principais caracterı́sticas do LWR são : conseguir suportar o seu próprio peso, ser cinemáticamente
redundante (i.e sete GDL), um peso total inferior a 15 Kg com um alcance até 1.5m e um elevado de-
sempenho dinâmico.
Possui sensores de força/binário (extensómetros), sensores de posição dos motores (enconders mag-
neto -resistivos) e sensores de posição dos elos (potenciómetros) sendo que estes apenas são utiliza-
dos por razões de segurança (sensores redundantes).
Os sensores de binário encontram-se em cada junta, acoplados à Harmonic Drive, sendo os erros da
medição menores que 0.5% e possuem um filtro passa-baixo a 600Hz [1].
A combinação de sensores de posição e de binário permite a implementação de controlo de posição
mas também controlo de impedância. Mais detalhes sobre a implementação do controlo de impedância
podem ser encontrados em [1, 28].

15
Figura 3.1: KUKA LWR IV e controlador [27].

O controlo a nivel das juntas é implementado a 3KHz num sistema de processamento de sinal em
cada junta, enquanto a dinâmica do robô e o controlo cartesiano são calculados num computador cen-
tral a 1KHz [1, 29].

Figura 3.2: Arquitectura de Controlo [29].

A interação entre o programador e o LWR pode ser realizada através da consola do controlador
usando KUKA Robot Language (KRL) ou através do KUKA Fast Research Interface (FRI). Nesta tese
foi usado o FRI.

16
3.1.1 KUKA Fast Research Interface

O Fast Research Interface (FRI) é uma interface de comunicação de baixo nivel que permite o acesso
ao controlador do LWR através de um computador externo e às suas variáveis em tempo real. O tempo
de amostragem pode ser escolhido pelo utilizador dentro de um intervalo de 1 a 100 ms. A comunicação
é realizada através da comunicação UDP entre o computador host e o controlador KRC [27, 30].

As leis de controlo usadas pelo FRI são apresentadas em baixo.

• Controlo de posição de juntas


q d = q msr (3.1)

Controlo básico de controlo de posição de juntas, com erro estático de posição nulo. A única
variável possı́vel de alterar é a posição desejada, q d , de cada junta.

• Controlo de impedância de juntas

A lei de controlo é :

τ cmd = kj (q d − q msr ) + D j (dj ) + f dynamics + τ d (3.2)

Nesta lei de controlo é possı́vel alterar a posição desejada de cada junta, q d , definir uma mola
virtual para cada junta com uma rigidez kj e ainda é possı́vel enviar binários para cada junta, τ d .
Na lei de controlo ainda existe uma termo compensatório vindo do modelo dinâmico, f dynamics ,
e um termo que define o amortecimento em cada junta, D j (dj ). No amortecimento apenas é
possı́vel alterar o valor do coeficiente de amortecimento, dj . Informações sobre como é realizado
esta matriz de amortecimento podem ser encontradas em [25].

• Controlo de impedância cartesiano

A lei de controlo é dada por :

τ cmd = J T (K cart (X d − X msr ) + F cmd ) + D cart (dcart ) + f dynamics (3.3)

Na lei de controlo cartesiana é possı́vel definir molas virtuais com uma dada rigidez, K cart nas
três direções cartesianas ( x, y, z) e as suas respetivas rotações. Ainda é possı́vel definir uma
posição e orientação desejada no espaço operacional através da variável X d e enviar forças e
momentos de contacto através da variável F cmd . Estes termos são multiplicados pelo jacobiano
transposto, J T , de forma a obter os respectivos binários. A isto ainda é somado a matriz de amor-
tecimento D cart (dcart ), sendo apenas possı́vel definir o coeficiente de amortecimento, dcart , no

17
espaço cartesiano. Por fim, a compensação do modelo dinâmico, f dynamics , é adicionada.

Mais informações sobre o FRI e o seu funcionamento podem ser encontradas em [13, 30].

3.2 JR3 Force - Torque Sensor

Para a medição de forças e momentos de contacto entre o operador e o robô manipulador vai ser
utilizado um sensor de força/binário montado no elemento terminal do LWR.

O sensor JR3 é um sensor de 6 GDL que mede forças e momentos a altas larguras de banda de
frequência. O sistema JR3 devolve medições filtradas e desacopladas a uma frequência de 8kHz.
O sensor contém filtros passa-baixo digitais em cascata ( figura 3.3, onde fs é a frequência de amos-
tragem ). Cada filtro tem uma frequência de corte de 1/4 do filtro anterior. A frequência de corte do filtro
é 1/16 da frequência de amostragem para esse mesmo filtro [31, 32].

Filtro Frequência de corte [Hz] Frequência de amostragem(fs ) [Hz]


1 500 8000
2 125 2000
3 31,25 500
4 7,81 124,96
5 1,95 31,2
6 0,49 7,84

Tabela 3.1: Frequência de corte e de amostragem para cada filtro [31].

A aplicação de um filtro têm como consequência um atraso. O atraso causado pelo filtro é dado
aproxidamente por :
1
Atraso ∼
= (3.4)
F requência de corte

Na tabela 3.2 apresenta-se a média e a variância do ruı́do do sensor. Como se pode observar os
valores da média não variam muito entre os filtros. Quanto aos valores relativos à variância, estes
para além de serem muito pequenos, vão diminuindo (com algumas excepções, como acontece nas
medições obtidas pelo filtro 6) à medida que os filtros são aplicados. Na figura 3.4 são apresentadas
as autocorrelações normalizadas da força na direção x com vários filtros ( as outras medições contém
autocorrelações idênticas). Tendo em conta que a autocorrelação mostra se existe correlação entre o
sinal no instante t1 com o instante t1 + τ , é natural, sendo os filtros aplicados em cascata, o sinal ser
cada vez mais correlacionado. Para o ruı́do sem filtro, a autocorrelação é essencialmente uma função
delta de Dirac na origem, sendo assim possı́vel assumir como sendo ruı́do branco.

18
Dados 𝐹0
adquiridos a
8kHz 𝑓𝑠 = 8 000 𝐻𝑧

𝑓𝑠 = 8 000 𝐻𝑧 𝐹1
Filtro 1
𝑓𝑠 = 8 000 𝐻𝑧

𝑓𝑠 = 2 000 𝐻𝑧 𝐹2
Filtro 2
𝑓𝑠 = 2 000 𝐻𝑧

𝑓𝑠 = 500 𝐻𝑧 𝐹3
Filtro 3
𝑓𝑠 = 500 𝐻𝑧

𝑓𝑠 ≅ 125 𝐻𝑧 𝐹4
Filtro 4
𝑓𝑠 ≅ 125 𝐻𝑧

….

Figura 3.3: Aplicação dos filtros digitais em cascata.

Fx Fy Fz Mx My Mz
µ 0.0048 0.0047 -0.0096 -0.0024 0.0057 -0.0072
F0
σ2 2.5050e-04 2.4318e-04 0.0022 1.0644e-04 8.7618e-05 1.0164e-04
µ 0.0048 0.0047 -0.0099 -0.0023 0.0058 -0.0072
F1
σ2 7.1214e-05 7.4045e-05 0.0012 3.9913e-05 3.3161e-05 3.4955e-05
µ 0.0048 0.0048 -0.0099 -0.0023 0.0057 -0.0072
F2
σ2 3.7089e-05 4.0826e-05 4.6471e-04 1.6961e-05 1.5151e-05 1.2964e-05
µ 0.0047 0.0049 -0.0098 -0.0022 0.0058 -0.0072
F3
σ2 2.5889e-05 2.6862e-05 2.0056e-04 9.2864e-06 9.3030e-06 5.7955e-06
µ 0.0044 0.0051 -0.0098 -0.0020 0.0058 -0.0073
F4
σ2 1.6474e-05 2.0243e-05 1.4562e-04 6.2739e-06 5.7723e-06 3.4501e-06
µ 0.0040 0.0053 -0.0102 -0.0017 0.0057 -0.0075
F5
σ2 9.6962e-06 1.7855e-05 1.5058e-04 4.6348e-06 4.6218e-06 1.2504e-06
µ 0.0049 0.0051 -0.0030 -0.0023 0.0062 -0.0069
F6
σ2 2.6883e-05 3.8347e-05 5.1638e-04 1.6558e-05 1.1303e-05 5.1595e-06

Tabela 3.2: Caracterização do ruı́do do sensor: média e variância

Um bloco de Simulink
R
(figura 3.5) foi desenvolvido para os sensores JR3, que permite, numa ar-
quitectura xPC-Target, a comunicação entre a placa de dois canais PCI-BUS (instalada no computador
Target) e o computador host.
O bloco permite escolher o filtro a aplicar para cada força ou momento a medir. Para além de permitir
que medições de força ou momentos desejamos obter, para caso de usarmos um sensor de 12 GDL,
permite obter também as acelerações medidas. Para alterar o sensor a usar, apenas é necessário
mudar o número de série. Mais detalhes estão disponı́veis em [32].

19
1 1

0.8 0.8

0.6 0.6
Autocorrelação

Autocorrelação
0.4 0.4

0.2 0.2

0 0

-0.2 -0.2
0 2000 4000 6000 8000 10000 12000 14000 0 2000 4000 6000 8000 10000 12000 14000
Lags Lags

(a) Sem filtro. (b) Filtro 1.

1 1

0.8 0.8

0.6 0.6
Autocorrelação

Autocorrelação
0.4 0.4

0.2 0.2

0 0

-0.2 -0.2
0 2000 4000 6000 8000 10000 12000 14000 0 2000 4000 6000 8000 10000 12000 14000
Lags Lags

(c) Filtro 2. (d) Filtro 3.

1 1

0.9
0.8
0.8

0.7
0.6
Autocorrelação

Autocorrelação

0.6

0.4 0.5

0.4
0.2
0.3

0.2
0
0.1

-0.2 0
0 2000 4000 6000 8000 10000 12000 14000 0 2000 4000 6000 8000 10000 12000 14000
Lags Lags

(e) Filtro 4. (f) Filtro 5.

0.9

0.8

0.7
Autocorrelação

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2000 4000 6000 8000 10000 12000 14000
Lags

(g) Filtro 6.

Figura 3.4: Autocorrelação.

20
Figura 3.5: Bloco Simulink
R
de um sensor JR3 de 12GDL (força e aceleração) [32].

3.3 Estratégias de Controlo

Nesta tese, o MATLAB


R
/Simulink
R
é usado para interagir com o LWR utilizando o FRI. A figura 3.6
ilustra a montagem experimental e a sua comunicação.

Figura 3.6: Esquema da comunicação entre dispositivos. Adaptado de [13].

21
Esta montagem foi inicialmente desenvolvida em [33] e posteriormente foi aplicada em [13], onde
mais funcionalidades foram adicionadas.

O FRI-xPC server foi implementado com Simulink Real-Time no ”host pc” (figura 3.6), que depois
de ser compilado em C é enviado como uma aplicação independente para um sistema em tempo real
com real-time Kernel fornecido pela MathWorks.

O FRI-xPC server desenvolvido em [13] é constituı́do por 4 blocos, que se ilustram na figura 3.7.

Figura 3.7: Diagrama de Blocos do FRI-xPC server. Adaptado de [13]

O bloco FRI receive, como o nome indica, recebe via UDP as informações provenientes do FRI e
sempre que um novo pacote é recebido, activa os restantes blocos.
O bloco FRI transmit é onde as informações são enviadas para FRI. Neste bloco existe algumas
interpolações para as posições de juntas e para a pose cartesiana do referencial da ferramenta montada
no LWR (TCP) no caso de estas informações serem obtidas de algum dispositivo com uma frequência
de amostragem mais baixa que a necessária para o FRI. Estas interporlações podem ser consultadas
em [13].
O bloco Main Controller é uma máquina de estados que controla as acções do FRI-xPC e por fim Re-
searcher’s Program é onde esta dissertação vai incidir. Este bloco é responsável por calcular todas
as posições e orientações dos movimentos, definir as rigidez das molas virtuais, os coeficientes do
amortecimento e as forças que posteriormente serão enviadas ao LWR. Também o modo de controlo é
definido neste bloco. Os modos de controlo disponı́veis são o Controlo de posição de juntas, Controlo
de impedância de Juntas e o Controlo de impedância Cartesiano.
Como esta dissertação não passou por desenvolver esta comunicação entre dispositivos, apenas foi
apresentada muito resumidamente. Mais detalhes podem ser encontrados em [13, 33].

22
3.3.1 Force Feedforward Control

Anteriormente foi apresentada a estratégia de controlo chamada Force Feedforward Control (FFC).
Foi esta a estratégia utilizada para reduzir a inércia aparente do robô manipulador LWR.
Foi utilizado um sensor de força/binário JR3, apresentado na secção 3.2, com capacidade de 100N nas
direcções x e y e de 200N na direcção z. Foi escolhido o filtro 3, com uma frequência de corte de
cerca de 31Hz. O filtro a seguir, com uma frequência de corte mais baixa (de 7,81Hz) causava o LWR
entrar em oscilação. Este comportamento oscilatório pode ser causado devido à frequência de corte do
filtro ser mais baixa do que a largura de banda mecânica do LWR, que de acordo com [27] poderá ser
de aproximadamente 10Hz. Também de acordo com [21, 34], o espectro de potência da mão humana
alcança cerca de 10Hz. Portanto usar um filtro com frequência de corte de 31Hz é adequado.

O sensor de força foi montado no elemento terminal do robot, como a figura 3.8 mostra. Este mede
as forças e momentos no centro do sensor, porém ao definir a ferramenta no LWR, a superfı́cie do
sensor é escolhida para ter o referencial da ferramenta (TCP), e consequentemente é necessário fazer
uma transformação de coordenadas.

Figura 3.8: Referenciais do TCP e do sensor.

A equação 3.5 é aplicada para efetuar a transformação de coordenadas entre o referencial do


sensor,(XY Z)s e o referencial da ferramenta do LWR, (XY Z)tool .
    
M 1 0 0 0 −b 0 Mx
 x   
−1 −b
    
 My  0 0 0 0 My 
    
    
 Mz  0 0 1 0 0 0 Mz 
 
  =

 
  (3.5)
 Fx  0 0 0 1 0 0  Fx 
    
−1
    
 Fy  0 0 0 0 0  Fy 
    
Fz 0 0 0 0 0 0 Fz
tool s

23
Ao inicializar o sensor, este realiza a remoção de offsets para caso haja algum equipamento mon-
tado em cima não afete as medições. Na maioria dos casos, isto é adequado e suficiente. Neste caso o
operador vai estar em co-manipulação com o robô, portanto o sensor irá variar a sua posição ao longo
do tempo causando que a remoção de offsets do sensor afete as medições.

Para compensar a remoção de offsets do sensor, temos de ter em conta as forças exercidas sobre
o sensor. O sensor irá sofrer forças gravı́ticas causadas pelo peso próprio da ferramenta montada.
Acrescido a isso, ainda há um “peso próprio” do sensor. Este “peso próprio” não é igual ao peso do
sensor mas é devido, possivelmente, a alguns componentes electrónicos internos. O valor foi determi-
nado experimentalmente e posteriormente afinado durante as experiências.
Na equação 3.7 é calculado as forças (F s ) que actuam sobre o sensor, onde mtool é a massa da fer-
ramenta montada e g s é o vector da aceleração gravı́tica expressa no referencial da ferramenta (tool),
cujo o cálculo é realizado na equação 3.6, onde Rbase
tool é a matriz de rotação do referencial da ferra-

menta expresso no referencial na base e g é a constante da aceleração gravı́tica na Terra. Para além
das forças, também se realiza a compensação dos momentos (M s ) que são calculados na equação
3.8, onde ctool
g é o centro de gravidade da ferramenta expresso no referencial da ferramenta. Por fim,
na equação 3.9, as forças e momentos calculados são subtraı́dos às forças e momentos medidos ex-
pressos no referencial da ferramenta (F tool e M tool respectivamente) .
 
0
 
g s = Rbase T 
· 0  (3.6)

tool
 
−g

F s = mtool g s (3.7)

M s = ctool
g × Fs (3.8)

     
F F tool Fs
 = −  (3.9)
M M tool Ms

Após a compensação dos offsets ao sensor, o FFC é facilmente implementado. As forças e mo-
mentos são multiplicados por ganho K que depois são enviadas para o LWR via FRI. Antes das forças
serem multiplicadas é aplicado um limitador mı́nimo onde apenas as forças maiores que 1N são acei-
tes. O valor foi decidido após algumas experiências, além da forma como o utilizador tem de agarrar no
elemento terminal, é praticamente impossı́vel exercer forças menores de 1N. A figura 3.9 apresenta um
esquema de como é realizada a implementação do FFC.

24
𝑹𝑏𝑎𝑠𝑒
𝑡𝑜𝑜𝑙
Guarda

𝒈𝑠 𝑭𝑠 𝑖
Eq. 3.6 𝑭𝑠 𝑴𝑠𝑖
𝑴𝑠 −
𝑚 Eq.3.7 +
Eq.3.8
𝑐𝑔
𝑭𝑠
𝑴𝑠

𝑭𝑡𝑜𝑜𝑙 𝑭
𝑴𝑡𝑜𝑜𝑙 −
Transformação + 𝑴 Se
𝑲
de coordenadas F<1 →F=0
Eq.3.5

Figura 3.9: Esquema: Implementação da force feedforward control.

3.3.2 Resolução da Redundância

O espaço nulo do LWR foi desenhado como foi apresentado no Capitulo 2, i.e, sobreposição de
impedâncias. Sendo assim é necessário, para o controlador do espaço nulo, enviar a configuração de
juntas consistentes com a pose cartesiana do LWR, juntamente com um valor de rigidez para a mola
virtual em cada uma das juntas e um valor para coeficiente do amortecimento desejado para cada
junta.
Para podermos enviar configuração de juntas consistente com a posição cartesiana, precisamos de
realizar a cinemática inversa do LWR.

Cinemática inversa

Na figura 3.10 apresenta-se os eixos coordenados de acordo com a convenção Denavit-Hartenberg


(DH) e na tabela 3.3 apresenta-se os parâmetros DH.

25
Juntas d(m) ϑ(rad) a(m) α(rad)
π
1 0 ϑ1 0 2

2 0 ϑ2 0 − π2
3 0.4 ϑ3 0 − π2
π
4 0 ϑ4 0 2
π
5 0.39 ϑ5 0 2

6 0 ϑ6 0 − π2
7 0.078 ϑ7 0 0

Tabela 3.3: Parâmetros DH.

Figura 3.10: Disposição dos eixos DH.

Começamos por aplicar desacoplamento cinemático do manipulador para separar a cinemática in-
versa do braço e do pulso. Apesar disso ainda temos um GDL a mais, que vai ser resolvido ao especi-
ficar a posição do cotovelo através da introdução de uma variável que se designou de ângulo giratório,
α.

Considerando os eixos coordenados definidos na figura 3.10 temos que a posição do ombro, ps , a
posição do cotovelo, pel e a posição do pulso, pw , respeitam as seguintes igualdades:

h iT
ps = p0 = p1 = p2 = 0 0 0 (3.10)

pel = p3 = p4 (3.11)

pw = p5 = p6 (3.12)

A posição do pulso é facilmente calculada através da equação

pw = patual − ae · d7 (3.13)

26
Figura 3.11: Representação do ângulo giratório.

onde patual é a posição atual recebida do LWR via FRI expressa no referencial da base, ae denota a
terceira coluna da matriz rotação (Rbase
tool ) atual recebida do LWR via FRI e por fim d7 diz respeito ao

parâmetro DH da junta 7 apresentado na tabela 3.3.


Observa-se que a posição do ombro, ps , é função do ϑ1 e ϑ2 , a posição do pulso, pw , é função do ϑ1 ,
ϑ2 , ϑ3 e ϑ4 . As restantes juntas apenas afetam a orientação.

O ângulo giratório desejado, αd , será definido pelo utilizador e funciona como uma entrada para o
algoritmo. O αd é representado na figura 3.11 e considera-se que é zero quando o triângulo formado
pelo ombro, cotovelo e pulso forma um plano que contém z 0 . Uma rotação positiva é considerada
quando o plano roda sobre o vector do ombro ao pulso segundo a regra da mão direita ( na figura 3.11
está representada uma rotação negativa).

Começa-se pela definição da posição do cotovelo, pel . Introduz-se o referencial coordenado do α


definido por
h i
Rsw = xsw y sw z sw (3.14)

com
pw
y sw = (3.15)
kpw k
y sw × z 0
xsw = (3.16)
k y sw × z 0 k

z sw = xsw × y sw (3.17)

Para calcular a projecção da posição do cotovelo, psw segundo pw recorre-se à lei dos cossenos:

kpw k2 + d23 − d25


psw = d3 cos(β) = (3.18)
2kpw k

27
Sendo assim a posição do cotovelo fica definida como
   
pel x
rsw sin(αd )
   
pel = Rsw   = pel y  (3.19)
   
psw
   
rsw cos(αd ) pel z

onde rsw é o raio da rotação dada por :

q
rsw = d23 − p2sw (3.20)

• Cálculo de (ϑ1 ,ϑ2 )

A posição do cotovelo pode ser obtida através da cinemática direta e encontra-se na equação
 
−d3 cos(ϑ1 ) sin(ϑ2 )
 
pel = −d3 sin(ϑ1 ) cos(ϑ2 ) (3.21)
 
 
d3 cos(ϑ2 )

Tendo em conta que


pel z
cos(ϑ2 ) = (3.22)
d3
p
sin(ϑ2 ) = ± 1 − cos2 (ϑ2 ) (3.23)

conseguimos obter as duas soluções possı́veis para ϑ2 , (ϑ2I , ϑ2II ).

p
ϑ2I = Atan2( 1 − cos2 (ϑ2 ), cos2 (ϑ2 )) (3.24)

p
ϑ2II = Atan2(− 1 − cos2 (ϑ2 ), cos2 (ϑ2 )) (3.25)

Quanto a ϑ1I e ϑ1II pode ser obtida por:

ϑ1I = Atan2(−pel y , pel x ) (3.26)

ϑ1II = Atan2(pel y , pel x ) (3.27)

• Cálculo de (ϑ3 ,ϑ4 )

Com ϑ1 , ϑ2 calculados é possı́vel obter a posição do pulso expresso no referencial 2 (2 pw ):


 
d5 cos(ϑ3 ) sin(ϑ4 )
 
2 T
pw = R02 p5 =  d5 sin(ϑ3 ) sin(ϑ4 )  (3.28)
 
 
d5 cos(ϑ4 ) + d3

28
Tendo em conta que sabemos 2 pw numericamente, obtemos:

2
pw z − d3
cos(ϑ4 ) = (3.29)
d5
p
sin(ϑ4 ) = ± 1 − cos2 (ϑ4 ) (3.30)

As duas soluções para ϑ4 são:

p
ϑ4I = Atan2( 1 − cos2 (ϑ4 ), cos(ϑ4 )) (3.31)

p
ϑ4II = Atan2(− 1 − cos2 (ϑ4 ), cos(ϑ4 )) (3.32)

Dependendo do sinal de sin(ϑ4 ) vamos ter duas soluções para ϑ3

ϑ3I = Atan2(2 pw y ,2 pw x ) (3.33)

ϑ3II = Atan2(−2 pw y , −2 pw x ) (3.34)

Concluindo, para um dado ângulo giratório, α, existem quatro conjuntos possı́veis de soluções.

(ϑ1I , ϑ2I , ϑ3I , ϑ4I )

(ϑ1I , ϑ2I , ϑ3II , ϑ4II )

(ϑ1II , ϑ2II , ϑ3I , ϑ4I )

(ϑ1II , ϑ2II , ϑ3II , ϑ4II )

• Cálculo de (ϑ5 ,ϑ6 ,ϑ7 )


É possı́vel agora calcular as juntas respetivas do pulso a partir de
 
r r12 r13
 11 
T
R74 = R04 Ratual = r21 (3.35)
 
r22 r23 
 
r31 r32 r33

e tendo em conta que


 
c c c − s5 s7 −c5 c6 s7 − s5 c7 −c5 s6
 5 6 7 
7
R4 = c6 c7 s5 + c5 s7 −c6 s7 s5 + c5 c7 −s5 s6  (3.36)
 
 
c7 s6 −s7 s6 c6

é possı́vel obter as duas soluções possı́veis. Caso ϑ6 ∈]0, π[ temos:

ϑ5I = Atan2(−r23 , −r13 ) (3.37)

29
q
2 + r2 , r )
ϑ6I = Atan2( r31 (3.38)
32 33

ϑ7I = Atan2(−r32 , r31 ) (3.39)

Caso ϑ6 ∈] − π, 0[ temos:
ϑ5II = Atan2(r23 , r13 ) (3.40)
q
ϑ6II = Atan2(− r312 + r2 , r ) (3.41)
32 33

ϑ7II = Atan2(r32 , −r31 ) (3.42)

Existe várias situações em que pode ocorrer uma singularidade. Quando o pulso está em cima do
z 0 , o ângulo giratório, α, torna-se indefinido e ϑ1 pode tomar qualquer valor. Outra singularidade ocorre
quando o manipulador está totalmente esticado, ou seja o pulso e o cotovelo estão na mesma linha.
Este tipo de singularidade denomina-se uma singularidade de fronteira.
Quando o cotovelo se encontra na mesma linha que z 0 ocorre outra singularidade, já que ϑ1 pode tomar
qualquer valor. Por fim temos a singularidade do pulso quando z 4 e z 6 estão alinhados.
O algoritmo implementado, ao detetar as singularidades anunciadas acima vai retornar o valor atual da
junta adequada para resolver a singularidade. Foi escolhida esta estratégia de lidar com as singulari-
dades por simplicidade.

Numa situação normal, sem singularidades, o algoritmo tem de escolher entre duas soluções exis-
tentes. Para fazer esta escolha, primeiro irá verificar se alguma solução não respeita os limites das
juntas (tabela 3.4). Caso alguma solução não respeite os limites das juntas, é descartada e automati-
camente é escolhida a outra solução.

Juntas Amplitude do movimento


1 ±170 deg
2 ±120 deg
3 ±170 deg
4 ±120 deg
5 ±170 deg
6 ±120 deg
7 ±170 deg

Tabela 3.4: Amplitude de movimento permitida

Caso os limites de junta sejam respeitados, será escolhida a solução mais próxima do valor atual
das juntas.

Toda a cinemática inversa foi construı́da tendo em conta os eixos coordenados apresentados na
figura 3.10, onde z 0 se encontra no ombro e o z 7 se encontra no elemento terminal do LWR. O facto

30
do último eixo coordenado estar presente no elemento terminal do LWR vai afetar a cinemática inversa
quando definimos uma ferramenta no controlador do LWR.
Por uma questão de simplicidade, a ferramenta a usar continua a ser definida no controlador do LWR,
no entanto é necessário calcular a matriz rotação e o vector posição do elemento terminal (R07 e p07
respetivamente) a partir do referencial da ferramenta dado pelo FRI. Após a ferramenta ser definida
no controlador, obtemos seis parâmetros que caracterizam a ferramenta. Temos o X, Y, Z que são
distâncias em relação ao elemento terminal do LWR e A, B, C que corresponde às rotações, neste caso
à rotação ZYX (R78 ). Do FRI é possı́vel obter a matriz rotação Rbase 0
tool , ou seja, a matriz rotação R8 , e

consequentemente é possı́vel obter a matriz rotação R07 através da equação 3.43.

T
R07 = R08 R78 (3.43)

Quanto à posição, apenas vamos subtrair X, Y da ferramenta (equação 3.44).

h i
p07 = p08 − |X| |Y | 0 (3.44)

Quanto à componente Z vamos incorporar no parâmetro d7 . Desta forma não é necessário realizar
mais alterações à cinemática inversa.

Trajetória do espaço nulo

Como foi referido na cinemática inversa, é necessário introduzir o ângulo giratório desejado, αd , a
partir do qual se resolve a cinemática inversa.
Foi projetada uma trajetória para o ângulo giratório onde o utilizador define o ângulo giratório desejado
e o tempo que demora a completar.
Foi usado um polinómio cúbico para o movimento (equação 3.45), do qual resulta um perfil parabólico
para a velocidade (equação 3.46) e um perfil linear para a aceleração (equação 3.47).

q(t) = a3 t3 + a2 t2 + a1 t + a0 (3.45)

q(t) = 3a3 t2 + 2a2 t + a1 (3.46)

q(t) = 6a3 t + 2a2 (3.47)

O utilizador pode alterar o ângulo giratório e/ou o tempo final (tf ) da trajetória durante a sua execução.
Sempre que existe esta alteração os coeficientes a0 , a1 , a2 , a3 são recalculados, assumindo que velo-
cidade do ângulo giratório final (α˙f ) é igual a zero, através das seguintes expressões:

a0 = αi (3.48)

31
a1 = α̇i (3.49)

2(αi − αd ) + tf α̇i
a3 = (3.50)
t3f

−α̇i − 3a3 t2f


a3 = (3.51)
2tf

Para a calcular a velocidade inicial do ângulo giratório, α̇i , é utilizado diferença finitas (equação 3.52)
entre o ângulo giratório real no instante anterior (αr k−1 ) e o ângulo giratório real do instante a calcular
(αr k ).
αr k − αr k−1
α̇ik = (3.52)
∆T

Para o cálculo do αr , é utilizada a equação 3.21 para determinar a posição real do cotovelo. Relem-
brando a equação 3.19, conseguimos obter αr através da seguinte equação:

αr = Atan2(pel x , pel z ) (3.53)

O ângulo giratório proveniente da trajetória entra na cinemática inversa, de onde se obtém a configuração
de juntas que posteriormente é enviada para o LWR. Para poder alterar a configuração de juntas en-
quanto se está no modo de impedância cartesiana é necessário fixar o elo terminal, que por sua vez
poderá ser realizado ativando uma flag. A figura 3.12 ilustra a implementação da trajetória do espaço
nulo que foi acabada de explicar.

𝐴
𝐵
𝑓𝑙𝑎𝑔
𝐶
𝑋
Cálculo de
𝑌 𝑹07
𝛼𝑑 𝛼𝑑 𝑹𝑏𝑎𝑠𝑒
𝑡𝑜𝑜𝑙 𝒑07
𝑢 𝒑𝑏𝑎𝑠𝑒
𝑡𝑜𝑜𝑙
𝑢𝑘 ≅ 𝑢𝑘−1
𝑡𝑓 𝑡𝑓
𝑹07
𝑎0 𝒑07
𝑎1
Calcular 𝑍
Coeficientes 𝑎2
𝛼𝑟 = 𝛼𝑖 𝑞𝑁𝑢𝑙𝑙𝑠𝑝𝑎𝑐𝑒
𝑎3 Trajetória
𝛼 Cinemática Inversa
𝛼𝑟

𝑡 𝑞𝑎𝑐𝑡𝑢𝑎𝑙

𝛼𝑟 , 𝛼𝑟

Figura 3.12: Esquema da implementação da trajetória

32
Co- Manipulação

A ideia de uma trajetória para o ângulo giratório foi feita com base a ser um preliminar para depois
usar o LWR em co-manipulação enquanto mantinha um certo ângulo giratório. A trajetória evita assim
uma mudança brusca da configuração de juntas ao alterar o ângulo giratório desejado, conferindo uma
maior segurança ao utilizador.
Após terminar a trajetória, a configuração de juntas que é enviada é sempre correspondente ao ângulo
giratório desejado, i.e, tentará manter o ângulo giratório mesmo que o LWR seja movimentado em co-
manipulação.

Quando a trajetória acaba, o elemento terminal deixa de ter a posição ( e orientação ) fixa. Verificou-
se que devido ao estar a tentar manter o ângulo giratório prescrito, o LWR, quando ninguém o estava
a usar em co-manipulação, começava a mover-se sozinho. Este movimento é causado pela calibração
do LWR, que por sua vez pode causar um desacoplamento não perfeito entre o espaço nulo e o espaço
cartesiano. Realizou-se uma nova calibração porém apenas reduziu a amplitude do movimento mas
não eliminou totalmente.
Para resolver esta situação, recorreu-se ao sensor de força JR3. Quando o utilizador está a usar o LWR
em manipulação gera forças que são medidas pelo sensor de força JR3. Quando estas forças existem,
i.e alguém está a manusear no elemento terminal, a configuração de juntas que é enviada ao LWR é
a correspondente que permite ter o ângulo giratório prescrito. Caso contrário a configuração de juntas
atual é enviada.

33
34
Capı́tulo 4

Resultados

O comportamento do robô manipulador é aproximado a um sistema massa-amortecedor através de


uma equação diferencial de 2o grau utilizando o método dos mı́nimos quadrados. É comparado o
comportamento do robô manipulador usando force feedforward control (FFC) e sem este, de forma a
estimar a redução efectiva da inércia sentida. São efetuados testes usando num caso o sensor de
força/binário JR3 e no outro a estimação de forças e momentos fornecida pelo KUKA lightweight Robot
4+ . Apresentam-se também resultados relativos à configuração do espaço-nulo.

4.1 Redução da inércia aparente

Para validar a redução efetiva sentida pela aplicação da estratégia force feedforward control, foram
efetuados testes experimentais com o LWR. Estes testes consistiram em realizar movimentos osci-
latórios em cada direção, em quais eram medidos a posição e a força/momento exercida pelo utilizador
sobre o robô. A configuração do LWR com a indicação dos movimentos realizados nos testes encontra-
se na figura 4.1. Para o teste na translação y, foi necessário alterar a configuração do LWR pois com
a configuração anterior não era possı́vel obter dados no domı́nio de validade das equações estudadas.
Supõe-se que esse facto ocorra devido a não linearidades presentes nas juntas, especialmente a junta
3 a qual era mais afetada por este movimento. Os testes foram realizados com uma frequência de
amostragem do LWR de 500Hz.
Após as experiências, sendo que o LWR comporta-se como um sistema massa-mola-amortecedor
(equação 4.1), os dados obtidos foram aproximados através do método dos mı́nimos quadrados. Sendo
que o LWR apenas tem sensor de posição, a aceleração e velocidade foram obtidas através da derivação
da posição. Para evitar a amplificação de ruı́do, os dados referentes à posição foram aproximados por
splines cúbicas, e posteriormente a velocidade e aceleração foram obtidas através da derivação das

35
splines.
f = mẍ + β ẋ + K cart (x − x0 ) (4.1)

(a) Translação x e z. (b) Translação y.

(c) Configuração para Rotação. (d) Rotação.

Figura 4.1: Configuração do LWR e indicação dos movimentos realizados para os testes.

36
4.1.1 Movimento Livre

Foram efectuados testes, sem aplicação de uma rigidez nas molas virtuais, i.e K cart = 0. Neste caso,
o comportamento do LWR é semelhante como estivesse em compensação gravı́tica porém continua a
ter uma componente de amortecimento (β). Sendo assim os dados vão aproximar-se à equação 4.2,
que por sua vez representa o Zm , presente no diagrama de blocos apresentado na figura 2.2.

f = mẍ + β ẋ (4.2)

Os testes foram realizados, tendo sido especificado, para a configuração do espaço nulo, um αd = 0
com uma rigidez nas molas virtuais de kj = 250N/m e com um coeficiente de amortecimento nas
juntas de dj = 1. No espaço cartesiano foi definido dcart = 1. Foram efetuados dois testes diferentes,
um usando o sensor JR3 e o outro usando a estimação de forças e momentos fornecida pelo LWR.

Sensor de Força/Binário JR3

A figura 4.2 mostra a variação de posição cartesiana do elemento terminal (neste caso no eixo x) e
a força exercida pelo utilizador quando K = 1. Os restantes gráficos, para K = 0, K = 0.25, K = 0.5,
K = 0.75 e K = 1 (translação em y e z) encontram-se no Anexo A.

Posição X : K = 1 Força X : K = 1
-0.1 15
Estimada
Medida
-0.15 10

-0.2 5
Fx [N]
X [m]

-0.25 0

-0.3 -5

-0.35 -10

-0.4 -15
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(a) Posição X: K = 1 (b) Força X : K = 1

Figura 4.2: Posição e Força exercida pelo utilizador: K = 1.

A estratégia force feedforward control foi testada com diferentes ganhos de forma a estudar a
evolução da redução de inércia sentida à medida que o valor dos ganhos vai aumentando. A tabela
4.1 mostra os resultados obtidos.

Como se pode observar pela tabela 4.1, quanto maior é o ganho, maior é a redução de inércia e

37
Translação K f = mẍ + bẋ Rmse [N] Erro† [%] Redução [%]
0 11.894ẍ + 23.086ẋ 2.382 13.60%
0.25 10.509ẍ + 17.803ẋ 2.775 12.71% 11.6%
x 0.5 8.682ẍ + 16.863ẋ 2.048 12.40% 27.01%
0.75 7.545ẍ + 12.153ẋ 1.441 9.89% 36.56%
1 6.294ẍ + 8.777ẋ 1.064 8.76% 47.08%
0 13.152ẍ + 24.873ẋ 3.499 10.52%
0.25 11.620ẍ + 15.480ẋ 2.917 8.82% 11.7%
y 0.5 9.687ẍ + 11.618ẋ 2.149 7.00% 26.35%
0.75 7.979ẍ + 10.277ẋ 2.139 8.53% 39.33%
1 6.783ẍ + 8.567ẋ 1.247 5.81% 48.43%
0 5.300ẍ + 18.537ẋ 1.240 11.28%
0.25 4.949ẍ + 12.099ẋ 1.428 8.66% 6.62%
z 0.5 4.432ẍ + 10.031ẋ 0.849 5.96% 16.38%
0.75 3.473ẍ + 8.045ẋ 1.295 11.06% 34.47%
1 2.754ẍ + 6.986ẋ 1.292 16.56% 48.04%

Erro relativo do root-mean-square-error (Rmse) ao valor máximo absoluto da força medida.

Tabela 4.1: Resultados da redução de inércia : Translação

Redução da inércia aparente: Direcção X Redução da inércia aparente: Direcção Y


50 50
Redução Teórica Redução Teórica
45 Redução Experimental: Sensor JR3 45 Redução Experimental: Sensor JR3

40 40

35 35
Redução [%]

Redução [%]

30 30

25 25

20 20

15 15

10 10

5 5

0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
K K

(a) Translação no eixo X (b) Translação no eixo Y

Redução da inércia aparente: Direcção Z


50
Redução Teórica
45 Redução Experimental: Sensor JR3

40

35
Redução [%]

30

25

20

15

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
K

(c) Translação no eixo Z

Figura 4.3: Evolução da redução de inércia na translação.

amortecimento sentido pelo utilizador. Os testes efectuados nas direcções x e y foram muito semelhan-
tes, e por essa razão os valores deram muitos próximos. É de realçar também que os movimentos em
x e y, todo o LWR se movia enquanto que em z apenas só parte se movia. Por essa razão, os valores
da massa são muito superiores em x e y do que em z. Observamos que, quando K = 0.25 a redução
fica aquém do que era esperado atingido apenas 11% (eixo x e y ) e 7% (eixo z) enquanto deveria estar

38
próximo de uma redução de 20%. No eixo z, os ganhos K = 0.25 e K = 0.5 ficam bastante abaixo do
desempenho esperado e dos outros eixos (figura 4.3).

O mesmo tipo de teste efectuado para a translação foi realizado para a rotação (figuras 4.1(c) e
4.1(d)). O utilizador aplicou momentos de forma a que a orientação oscilasse à volta de um ponto fixo.
Para a medição da variação na orientação, a matriz de rotação foi transformada para a representação
vector-ângulo (equações 4.3 e 4.4). Na figura 4.4 mostra-se a variação do ângulo e o momento exercido
pelo utilizador quando K = 2. Os restantes gráficos, para K = 0, K = 0.25, K = 0.5, K = 0.75, K = 1,
K = 1.5 e K = 2 (rotação em y e z) encontram-se no Anexo A.
r11 + r22 + r33 − 1
ϑ = cos−1 ( ) (4.3)
2
 
r r12 r13
 11   
R(ϑ, r) = r21 r32 − r23
 
r22 r23 
  1  
r= r13 − r31  (4.4)
 
r31 r32 r33 2 sin(ϑ)  
r21 − r12

Rotação X : K = 2 Momento X : K = 2
-1.4 0.8
Estimada
0.6 Medida
-1.5

0.4
-1.6

0.2
Ângulo [rad]

Mx [Nm]

-1.7
0
-1.8
-0.2

-1.9
-0.4

-2 -0.6

-2.1 -0.8
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo[s] Tempo[s]

(a) Rotação X: K = 2 (b) Momento X :K = 2

Figura 4.4: Rotação e Momento exercida pelo utilizador: K = 2.

Como para a translação, na rotação foi também efectuado testes com diferentes ganhos para estu-
dar a evolução da redução de inércia. A tabela 4.2 apresenta os resultados desses testes.
Observa-se que à medida que o K aumenta, a redução aumenta. Em todos os eixos com o K = 0.25,
a redução foi superior à teórica. O mesmo aconteceu quando K = 1 na rotação em torno de x (figura
4.5(a)).

39
Rotação K M = I ϑ̈ + bϑ̇ Rmse [N] Erro† [%] Redução [%]
0 0.0679ϑ̈ + 0.4397ϑ̇ 0.3353 13.78%
0.25 0.0493ϑ̈ + 0.3727ϑ̇ 0.3888 17.38% 27.39%
0.5 0.0495ϑ̈ + 0.3884ϑ̇ 0.2801 13.47% 27.10%
x 0.75 0.0397ϑ̈ + 0.2697ϑ̇ 0.2133 14.95% 41.53%
1 0.0315ϑ̈ + 0.2238ϑ̇ 0.2442 18.32% 53.61%
1.5 0.0280ϑ̈ + 0.1373ϑ̇ 0.1551 16.48% 58.76%
2 0.0237ϑ̈ + 0.1136ϑ̇ 0.0952 12.04% 65.10%
0 0.0606ϑ̈ + 0.3356ϑ̇ 0.2126 12.36%
0.25 0.0450ϑ̈ + 0.2234ϑ̇ 0.2052 13.88% 25.74%
0.5 0.0397ϑ̈ + 0.1666ϑ̇ 0.2074 15.21% 34.49%
y 0.75 0.0414ϑ̈ + 0.2798ϑ̇ 0.2249 14.95% 31.68%
1 0.0367ϑ̈ + 0.2090ϑ̇ 0.1356 10.78% 39.44%
1.5 0.0325ϑ̈ + 0.2256ϑ̇ 0.1231 10.34% 46.37%
2 0.0267ϑ̈ + 0.1495ϑ̇ 0.0971 10.96% 55.94%
0 0.0848ϑ̈ + 0.6172ϑ̇ 0.1699 6.78%
0.25 0.0603ϑ̈ + 0.3696ϑ̇ 0.1342 6.05% 28.89%
0.5 0.0586ϑ̈ + 0.2832ϑ̇ 0.1496 7.37% 30.90%
z 0.75 0.0511ϑ̈ + 0.2632ϑ̇ 0.0938 4.59% 39.74%
1 0.0463ϑ̈ + 0.2160ϑ̇ 0.1217 6.42% 45.40%
1.5 0.0387ϑ̈ + 0.1758ϑ̇ 0.0808 4.32% 54.36%
2 0.0332ϑ̈ + 0.1405ϑ̇ 0.1868 12.67% 60.85%

Erro relativo do root-mean-square-error (Rmse) ao valor máximo absoluto da força medida.

Tabela 4.2: Resultados da redução de inércia : Rotação

Redução da inércia aparente: Direcção X Redução da inércia aparente: Direcção Y


70 70
Redução Teórica Redução Teórica
Redução Experimental: Sensor JR3 Redução Experimental: Sensor JR3
60 60

50 50
Redução [%]

Redução [%]

40 40

30 30

20 20

10 10

0 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
K K

(a) Rotação no eixo X. (b) Rotação no eixo Y.

Redução da inércia aparente: Direcção Z


70
Redução Teórica
Redução Experimental: Sensor JR3
60

50
Redução [%]

40

30

20

10

0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
K

(c) Rotação no eixo Z.

Figura 4.5: Evolução da redução de inércia na rotação.

40
Sensor de Força/Binário LWR

O LWR está equipado com sensores de binário localizados após a caixa de redução Harmonic Drive
de cada junta. Estes sensores juntamente com o modelo dinâmico interno do robô fornecem uma
estimação das forças e momentos de reação a que o TCP está sujeito. Para uma boa estimação é ne-
cessário o LWR ter os sensores calibrados com precisão. Na figura 4.6 é feita uma comparação entre
a estimação fornecida pelo LWR com as forças medidas pelo sensor JR3. Como se pode observar nal-
guns casos existe uma pequena diferença de amplitudes, porém o mais preocupante é o valor residual
que a estimação dá. Este valor residual é preocupante pois pode causar o LWR se movimentar sem
acção do utilizador.

Força X: K = 0.75 Força Y: K = 0.75


30 40
Sensor JR3
Estimação LWR
20 30

20
10

10
Força [N]

Força [N]

0
0
-10
-10

-20
-20

-30 -30
Sensor JR3
Estimação LWR

-40 -40
0 2 4 6 8 10 12 0 1 2 3 4 5 6 7 8 9 10
Tempo [s] Tempo [s]

(a) Força X. (b) Força Y.

Força Z: K = 0.75
20

15

10

5
Força [N]

-5

-10

-15
Sensor JR3
Estimação LWR
-20
0 1 2 3 4 5 6 7 8 9
Tempo [s]

(c) Força Z.

Figura 4.6: Comparação entre o Sensor JR3 e a Estimação pelo LWR.

O mesmo teste efectuado com o sensor JR3, foi efectuado usando apenas as estimações das forças
e dos momentos fornecidas pelo LWR. A figura 4.7 mostra a variação de posição e de força no eixo x
quando K = 1. Os restantes gráficos, para K = 0, K = 0.25, K = 0.5, K = 0.75 e K = 1 (translação
em y e z) encontram-se no Anexo B. Na tabela 4.3 apresenta-se os resultados dos testes.

41
Posição X : K = 1 Força X: K = 1
0.45 25
Estimada
0.4 20 Medida

15
0.35

10
0.3
5

Fx [N]
X [m]

0.25
0
0.2
-5

0.15
-10

0.1 -15

0.05 -20
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(a) Posição X: K = 1 (b) Força X : K = 1

Figura 4.7: Posição e Força exercida pelo utilizador: K = 1.

Direcção K f = mẍ + bẋ Rmse [N] Erro† [%] Redução [%]


0 10.59ẍ + 30.69ẋ 2.224 8.74%
0.25 9.69ẍ + 21.04ẋ 2.373 8.01% 8.49%
x 0.5 8.01ẍ + 14.61ẋ 1.500 5.80% 24.45%
0.75 7.54ẍ + 12.43ẋ 1.535 5.98% 28.84%
1 6.42ẍ + 9.60ẋ 1.568 7.30% 39.42%
0 10.03ẍ + 28.01ẋ 1.699 6.42%
0.25 9.27ẍ + 16.73ẋ 1.978 8.68% 7.58%
y 0.5 8.20ẍ + 14.44ẋ 1.571 7.23% 18.25%
0.75 6.84ẍ + 11.74ẋ 1.475 7.84% 31.80%
1 6.23ẍ + 11.23ẋ 1.522 6.97% 37.89%
0 5.02ẍ + 20.90ẋ 0.904 6.48%
0.25 4.39ẍ + 14.50ẋ 0.967 8.75% 12.55%
z 0.5 3.62ẍ + 10.10ẋ 0.746 7.56% 27.89%
0.75 3.28ẍ + 8.88ẋ 0.670 7.66% 34.66%
1 3.16ẍ + 7.27ẋ 0.617 7.30% 37.05%

Erro relativo do root-mean-square-error (Rmse) ao valor máximo absoluto da força medida.

Tabela 4.3: Resultados da redução de inércia : Translação

Podemos observar pela tabela 4.3 e pela figura 4.8 que a redução de inércia atinge um máximo de
37%-39% enquanto deveria estar próximo dos 50%. O desempenho, utilizando a estimação de forças,
fica aquém do esperado.

Para além das forças, os momentos estimados pelo LWR foram testados. Foi usada a representação
vector-ângulo, tal como foi efetuada nos testes com o sensor JR3. A figura 4.9 apresenta a variação do
ângulo e do momento aplicado pelo utilizador no eixo x com K = 2. Os restantes gráficos, para K = 0,
K = 0.25, K = 0.5, K = 0.75, K = 1, K = 1.5 e K = 2 (rotação em y e z) encontram-se no Anexo B.
Os resultados dos testes realizados estão apresentados na tabela 4.4.

42
Redução da inércia aparente: Direcção X Redução da inércia aparente: Direcção Y
50 50
Redução Teórica Redução Teórica
45 Redução Experimental: Estimação LWR 45 Redução Experimental: Estimação LWR

40 40

35 35
Redução [%]

Redução [%]
30 30

25 25

20 20

15 15

10 10

5 5

0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
K K

(a) Translação no eixo X (b) Translação no eixo Y

Redução da inércia aparente: Direcção Z


50
Redução Teórica
45 Redução Experimental: Estimação LWR

40

35
Redução [%]

30

25

20

15

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
K

(c) Translação no eixo Z

Figura 4.8: Evolução da redução de inércia na translação.

Rotação X : K = 2 Momento X : K = 2
-1.5 0.8
Estimada
-1.6 0.6 Medida

-1.7
0.4

-1.8
0.2
Ângulo [rad]

Mx [Nm]

-1.9
0
-2
-0.2
-2.1

-0.4
-2.2

-2.3 -0.6

-2.4 -0.8
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(a) Rotação X: K = 2 (b) Momento X :K = 2

Figura 4.9: Rotação e Momento exercida pelo utilizador: K = 2.

Como se pode ver pela Tabela 4.4 e pela figura 4.10, os resultados ficam muito abaixo do esperado.
Na rotação y com K = 0.25, não existe redução e na rotação z, com o mesmo ganho, ultrapassa
o valor teórico. Com um K = 2, o valor de redução sentida deveria aproximar-se dos 67% porém
o melhor resultado foi 48% no eixo z, enquanto nos eixos x e y ficam por valores de 36% e 39%
respectivamente. Observa-se que tanto na rotação em x como em y com K = 0.25, K = 0.5 e K = 0.75
existe uma redução pouco notória.

43
Rotação K M = I ϑ̈ + bϑ̇ Rmse [N] Erro† [%] Redução [%]
0 0.0450ϑ̈ + 0.4673ϑ̇ 0.0919 7.53%
0.25 0.0437ϑ̈ + 0.3737ϑ̇ 0.0800 7.39% 2.89%
0.5 0.0410ϑ̈ + 0.3356ϑ̇ 0.0827 8.38% 8.89%
x 0.75 0.0388ϑ̈ + 0.2872ϑ̇ 0.0827 9.50% 13.78%
1 0.0354ϑ̈ + 0.2527ϑ̇ 0.0435 5.81% 21.33%
1.5 0.0298ϑ̈ + 0.2123ϑ̇ 0.0852 12.70% 33.78%
2 0.0286ϑ̈ + 0.1725ϑ̇ 0.1179 16.63% 36.44%
0 0.0754ϑ̈ + 0.8867ϑ̇ 0.1303 9.86%
0.25 0.0776ϑ̈ + 0.6972ϑ̇ 0.0813 7.42% -
0.5 0.0740ϑ̈ + 0.5585ϑ̇ 0.0827 8.04% 1.86%
y 0.75 0.0680ϑ̈ + 0.4581ϑ̇ 0.0572 6.45% 9.81%
1 0.0603ϑ̈ + 0.4086ϑ̇ 0.0777 8.26% 20.03%
1.5 0.0530ϑ̈ + 0.2861ϑ̇ 0.0614 8.87% 29.71%
2 0.0454ϑ̈ + 0.2661ϑ̇ 0.0690 9.95% 39.79%
0 0.0599ϑ̈ + 0.5492ϑ̇ 0.1466 11.84%
0.25 0.0419ϑ̈ + 0.3354ϑ̇ 0.1346 10.89% 31.22%
0.5 0.0395ϑ̈ + 0.2573ϑ̇ 0.1644 14.82% 34.06%
z 0.75 0.0356ϑ̈ + 0.2127ϑ̇ 0.2402 19.19% 40.57%
1 0.0374ϑ̈ + 0.1808ϑ̇ 0.0615 5.45% 37.56%
1.5 0.0268ϑ̈ + 0.1830ϑ̇ 0.2880 29.85% 55.26%
2 0.0312ϑ̈ + 0.1396ϑ̇ 0.0464 6.80% 47.91%

Erro relativo do root-mean-square-error (Rmse) ao valor máximo absoluto da força medida.

Tabela 4.4: Resultados da redução de inércia : Rotação

Redução da inércia aparente: Direcção X Redução da inércia aparente: Direcção Y


70 70
Redução Teórica Redução Teórica
Redução Experimental: Estimação LWR Redução Experimental: Estimação LWR
60 60

50 50
Redução [%]

Redução [%]

40 40

30 30

20 20

10 10

0 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
K K

(a) Rotação no eixo X. (b) Rotação no eixo Y.

Redução da inércia aparente: Direcção Z


70
Redução Teórica
Redução Experimental: Estimação LWR
60

50
Redução [%]

40

30

20

10

0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
K

(c) Rotação no eixo Z.

Figura 4.10: Evolução da redução de inércia na rotação.

44
4.1.2 Influência do Ambiente de Impedância

Os testes anteriores foram efetuados sem qualquer rigidez nas molas virtuais e a posição enviada ao
controlador interno era sempre a atual. Essa situação era equiparada ao LWR estar em compensação
gravı́tica. Nesta secção estuda-se a influência que a aplicação do FFC tem sobre o ambiente de im-
pedância. Os testes foram realizados com a configuração apresentada na figura 4.1. Os gráficos
contendo a variação da posição e a força exercida nestes testes estão no Anexo C.

Tendo em conta que a inércia é reduzida por 1 + K, a componente do amortecimento e da rigidez


também deve ser reduzida por 1 + K. Para averiguar, foram efetuados testes semelhantes ao dos
movimentos livres, porém foi fixa uma posição inicial, xo , que era sempre enviada para o LWR. A rigidez
h i h i
usada foi K cart = 300 300 300 2 2 2 , sendo K cart = kx ky kz krotz kroty krotx . Para
além da rigidez, o coeficiente de amortecimento cartesiano foi de 1. Aos dados obtidos, estes foram
aproximados por mı́nimos quadrados à equação 4.5.

f = mẍ + β ẋ + K cart (x − x0 ) (4.5)

Redução
Direcção K f = mẍ + bẋ + Kcart (x − x0 ) Rmse [N] Erro† [%] Massa [%] Amortecimento [%] Rigidez [%]
0 15.32ẍ + 110.57ẋ + 300.07(x − x0 ) 3.36 6.02%
x
1 8.23ẍ + 52.37ẋ + 136.29(x − x0 ) 1.48 4.71% 46.28% 52.64% 54.58%
0 10.72ẍ + 113.11ẋ + 252.36(x − x0 ) 2.37 4.85%
y
1 5.44ẍ + 54.90ẋ + 103.57(x − x0 ) 1.11 3.61% 49.25% 51.46% 58.96%
0 5.23ẍ + 83.87ẋ + 358.36(x − x0 ) 2.18 3.66%
z
1 2.70ẍ + 43.66ẋ + 152.65(x − x0 ) 1.37 4.02% 48.37% 47.94% 57.40%

Erro relativo do root-mean-square-error (Rmse) ao valor máximo absoluto da força medida.

Tabela 4.5: Resultados: Redução de inércia e de rigidez.

Na tabela 4.5 apresenta-se os resultados respectivos aos testes efectuados. Com um K = 1 é de


esperar uma redução de 50% em todas as componentes. Em termos de massa sentida é alcançado va-
lores próximos de 50%, em termos de amortecimento na translação x e y o valor teórico é ultrapassado
por pouco, sendo que é admissı́vel dizer que a redução foi, sensivelmente de 50%. Quanto à rigidez,
esta é fortemente afectada tendo reduções na ordem 55% a 59%. Tendo em conta a redução obtida na
rigidez, para que o utilizador sinta a rigidez desejada, é necessário multiplicar a rigidez desejada por
1 + K.
Na translação no eixo z, a rigidez estimada com K = 0 é superior à rigidez especificada. Esta estimação
é superior devido à configuração do LWR escolhida no teste (figura 4.1(a)), que dificulta o movimento
neste eixo e facilita a permanência na posição inicial.

45
4.1.3 Limite da Redução

Como se pode observar a partir dos resultados apresentados nas tabelas 4.1, 4.2, 4.3, 4.4 foram
escolhidos ganhos máximos diferentes para a translação e para rotação, sendo que estes são K = 1
e K = 2 respetivamente. A escolha de ganhos diferentes foi devido à ocorrência de vibrações a partir
daquele valor. Foi testado aplicar outros filtros, para além dos filtros embebidos do sensor, de forma a
tentar resolver o assunto porém nenhum com sucesso.

Na figura 4.11 encontra-se o espectro da fast fourier transform (FFT) de um binário de uma das
juntas que mostra um pico aos 12-13Hz. No outro LWR (com frequência de amostragem de 1KHz),
de uma geração diferente, estas vibrações também ocorreram. Também utilizando a estimação da
forças/momentos, invés das medições do sensor JR3, as vibrações ocorreram.
Uma possı́vel razão para a ocorrência de vibrações poderá ser que a dinâmica imposta seja muito di-
ferente da dinâmica intrı́nseca do hardware, tendo assim atingido o limite desta técnica de controlo. É
também possı́vel que estas vibrações, variem com a configuração do LWR já que matriz de amorteci-
mento depende da matriz de massas e esta depende da configuração do LWR.

Signal:Fx
5696-by-1 real FFT Spectrum Estimate
Fs = 500
0

Parameters
-10
Method FFT

Nfft 1024 -20

-30

-40

-50

-60

-70
0 50 100 150 200 250
Frequency
nherit from Marker 1 x: 12.695313 Marker 2 x: 166.50391 dx: 153.80859

y: -5.372633 y: -56.572072 dy: -51.199439


Revert Apply
Figura 4.11: Espectro FFT.

4.2 Configuração do Espaço Nulo

O LWR, utilizando o seu controlador interno, aplica o princı́pio da sobreposição das impedâncias. Uti-
liza os binários provenientes das leis de controlo do FRI, onde apenas os seus parâmetros podem ser
alterados. Nas equações 4.6 e 4.7 é apresentado de novo as leis de controlo do FRI. Como encontra-
mos a trabalhar em Controlo de impedância cartesiana, os termos f dynamics e τ d presente na equação
4.7 não são aplicáveis, pois já é realizado a compensação dinâmica (f dynamics ) e são enviadas forças
(F cmd ) invés de binários (τ d ). Sendo assim, para alterar a configuração do espaço nulo, o utilizador

46
deve especificar o ângulo giratório, α, a rigidez (kj ) e o coeficiente de amortecimento (dj ) nas juntas.
Quanto à configuração de juntas desejada, (q d ), é a configuração que se obtém da cinemática inversa.

τ cart = J T (K cart (X d − X msr ) + F cmd ) + D cart (dcart ) + f dynamics (4.6)

τ joint = kj (q d − q msr ) + D j (dj ) + f dynamics + τ d (4.7)

Foi planeada uma trajetória para o ângulo giratório, α, que inicia com um α = 0 rad (figura 4.12(a)) e
acaba com um ângulo giratório desejado αd = 1rad (figura 4.12(b)). Foi testada a mesma trajetória para
diferentes valores de rigidez das molas das juntas, de modo a descobrir a sua influência na capacidade
de o LWR conseguir seguir o planeamento da trajetória. A trajetória planeada foi durante 20s, porém
após esse tempo foi deixado o elemento terminal fixo e a referência final era constantemente enviada,
de modo a aperceber se o LWR conseguiria alcançar a referência eventualmente.

(a) Configuração inicial com α = 0 (b) Configuração final com α = 1

Figura 4.12: Configuração do espaço nulo do LWR.

Na figura 4.13(a) é fácil de concluir que o LWR não consegue seguir o planeamento de trajetória na
perfeição, porém observa-se que quanto maior a rigidez, menor é o erro de seguimento. Esse resultado
era o esperado, já que quanto maior o valor de kj mais rı́gido é o LWR.

Nas figuras 4.13(b) e 4.13(c) é amplificado o inı́cio e o fim da trajetória, respectivamente. É fácil de
constatar na figura 4.13(b) que, a trajetória com kj = 50 é a mais lenta a começar a ascensão e na
figura 4.13(c) observamos que é a que maior erro apresenta no fim. Ao observar a figura 4.13 pode-se

47
concluir que as trajetórias com kj = 500, kj = 1000 e kj = 2000 têm comportamentos semelhantes.

0.8
Referência
kj = 50
kj = 100
Ângulo giratório [rad]

0.6 kj = 250
kj = 500
kj = 1000
kj = 2000
0.4

0.2

-0.2
0 5 10 15 20 25 30
Tempo [s]

(a) Resposta à trajetória com várias rigidez de juntas, kj .

0.14
Referência 1
0.12 kj = 50
kj = 100
0.1 kj = 250
0.95
kj = 500
0.08 kj = 1000
Ângulo giratório [rad]

Ângulo giratório [rad]

kj = 2000
0.9
0.06
Referência
0.04 0.85
kj = 50
kj = 100
0.02 kj = 250
0.8
kj = 500
0 kj = 1000
kj = 2000
-0.02 0.75

-0.04
0.7
-0.06

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 18 20 22 24 26 28 30


Tempo [s] Tempo [s]

(b) Amplificação da zona do inicio da trajetória. (c) Amplificação da zona do fim da trajetória.

Figura 4.13: Trajetória do ângulo giratório, α.

A trajetória acabou aos 20s tendo sido apresentado mais 10s onde apenas é enviado constante-
mente o valor final de α. Na tabela 4.6 é apresentado o erro de quando a trajetória acaba (t=20s) e
após 10s de enviar o valor constante (t=30s). Tirando o caso do kj = 250 ( apesar disso, neste caso
o erro diminui ao longo do tempo) o erro foi diminuindo à medida que a rigidez foi aumentando, sendo
que nos casos da rigidez mais alta o erro é praticamente nulo.

48
kj [N/m] α (t=20s) α (t=30s) Erro(t=20s) Erro (t=30s)
50 0.9637 0.9736 0.0363 0.0264
100 0.9810 0.9880 0.0190 0.0120
250 0.9782 0.9833 0.0218 0.0167
500 0.9926 0.9978 0.0074 0.0022
1000 0.9945 0.9989 0.0056 0.0011
2000 0.9948 0.9994 0.0052 0.0006

Tabela 4.6: Erro medido em relação à referência aos t=20s e t=30s.

49
50
Capı́tulo 5

Conclusão

As principais conclusões desta dissertação são apresentadas neste capı́tulo, bem como sugestões
relativas a futuros trabalhos a realizar.

5.1 Conclusão

Este trabalho tinha como objetivo reduzir inércia aparente do LWR e implementar uma resolução da
redundância de forma a possibilitar especificar uma configuração de juntas enquanto o espaço carte-
siano permanece livre. Para a resolução da redundância, foi necessário a introdução de uma variável
extra que foi chamada de ângulo giratório, α, a partir da qual a cinemática inversa é resolvida. Sendo
assim o utilizador introduz o ângulo giratório pretendido e o LWR assume a configuração de juntas cor-
respondente. Para assumir a configuração de juntas pretendida é necessário especificar uma rigidez
no espaço-nulo, já que este se comporta como uma impedância. Verificou-se que quanto maior essa
rigidez, menor é o erro do ângulo giratório. No entanto, quanto maior for a rigidez, menos complacente
o LWR será.

Para a redução de inércia, foi montado um sensor de força/momento JR3 no elemento terminal do
LWR. Foi aplicado force feedforward control que se baseia em obter as medições das forças e mo-
mentos exercidos pelo utilizador ao robô, multiplicar por um certo valor e por fim enviar ao robô. O
LWR fornece uma estimação das forças e momentos exercidos pelo utilizador, com base nos sensores
montados nas juntas e no modelo do manipulador. Para esta estimação ser o mais precisa possı́vel, foi
efetuada uma calibração. Apesar do LWR ter sido calibrado, esta estimação não foi a melhor sendo que
por vezes, quando o K > 0.75, na translação, e K > 1, na rotação, dava a sensação que ao manusear
o LWR, este se movia sozinho. Para um bom manuseamento do LWR deve haver uma boa medição das
forças/momentos de forma a que ao aplicar FFC, o movimento continue a ser mais o natural possı́vel.

51
Para além disso por vezes a estimação tinha um valor residual suficientemente grande para quando
multiplicada pelo ganho o LWR começar a movimentar sem acção do utilizador.

Foram realizados dois testes iguais com o LWR em movimento livre, onde num foram utilizadas as
medições das forças/momentos do JR3 e no outro foram utilizadas as estimação fornecida pelo LWR.
A redução de inércia é superior quando é usado o sensor JR3, sendo que consegue atingir os 48% na
translação e entre 55% a 65% na rotação enquanto que a estimação das forças/momentos consegue-
nos obter uma redução entre 37% e 40% na translação e 36% a 55% na rotação (ver figura 5.1). Esta
diferença entre valores de redução, para além de poder ser justificada as forças e momentos terem
sido mal estimados, poderá estar relacionado com a baixa largura de banda na estimação de força e
momentos pelo LWR, que segundo [27] é por volta dos 10Hz. É importante também referir que com
a introdução do FFC foi possı́vel desacoplar a rotação da translação, sendo que antes era muito difı́cil
fazer uma rotação pura num dos eixos.

No movimento livre, os dados foram aproximados a um sistema massa-amortecedor e sendo que


estamos a aplicar FFC tanto o termo da inércia como da viscosidade (amortecimento) devia ter sido
reduzido 1 + K. É fácil de ver nos resultados que grande parte das vezes o termo da viscosidade sofre
uma maior redução do que era suposto. Não foi tomado especial atenção a isso no capı́tulo dos Resul-
tados devido a como o amortecimento é projetado. A matriz de amortecimento é calculada em função
da matriz de massas, da matriz de rigidez desejada e pelo erro de posição, velocidade e aceleração
(mais promenores podem ser encontrados em [25]) e nesse teste não foi aplicada nenhuma rigidez e a
posição enviada ao LWR era sempre a atual.
Foram também efetuados testes com um K cart diferente de zero, de forma a entender como o FFC
afectaria o ambiente de impedância. Sendo expectável uma redução de cerca 50% (K = 1) tanto na
massa como no amortecimento e na rigidez, este foi alcançado na massa e no amortecimento enquanto
na rigidez este valor foi ultrapassado. A equação do sistema massa-mola-amortecedor não contempla
não linearidades, o que pode explicar que na rigidez o valor teórico da redução tenha sido ultrapassado
por uma grande diferença. Apesar de em x e y, o amortecimento ter ultrapassado o valor teórico por
uma pequena diferença, também pode evidenciar a presença de não linearidades que foram compen-
sadas. De qualquer forma tendo em conta os resultados, quando trabalhar com rigidez, estas devem
ser compensadas de forma o utilizador sentir rigidez desejada. Neste teste não foi possı́vel avaliar
a influência na rigidez de rotação, já que não foi possı́vel aproximar os dados obtidos à equação de
2o ordem. Nos testes em movimento livre, também houve ocasiões em que a redução foi superior à
teórica.

Na estratégia FFC foram escolhidos ganhos máximos diferentes para a translação e para rotação,
sendo que estes são K = 1 e K = 2 respetivamente. A escolha de ganhos diferentes foi devido à

52
ocorrência de vibrações a partir deste valor. Foi verificado que a rotação não era tão facilmente afetada
por vibrações como a translação. A razão de ocorrência de vibrações não foi apurado.

Redução da inércia aparente: Direcção X Redução da inércia aparente: Direcção X


50 70
Redução Teórica Redução Teórica
45 Redução Experimental: Sensor JR3
Redução Experimental: Sensor JR3
60 Redução Experimental: Estimação LWR
Redução Experimental: Estimação LWR
40

35 50
Redução [%]

Redução [%]
30
40
25
30
20

15 20

10
10
5

0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
K K

(a) Translação no eixo X (b) Rotação no eixo X.

Redução da inércia aparente: Direcção Y Redução da inércia aparente: Direcção Y


50 70
Redução Teórica Redução Teórica
45 Redução Experimental: Sensor JR3
Redução Experimental: Sensor JR3
60 Redução Experimental: Estimação LWR
Redução Experimental: Estimação LWR
40

35 50
Redução [%]

Redução [%]

30
40
25
30
20

15 20

10
10
5

0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
K K

(c) Translação no eixo Y (d) Rotação no eixo Y.

Redução da inércia aparente: Direcção Z Redução da inércia aparente: Direcção Z


50 70
Redução Teórica Redução Teórica
45 Redução Experimental: Sensor JR3 Redução Experimental: Sensor JR3
60 Redução Experimental: Estimação LWR
Redução Experimental: Estimação LWR
40

35 50
Redução [%]

Redução [%]

30
40
25
30
20

15 20

10
10
5

0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
K K

(e) Translação no eixo Z (f) Rotação no eixo Z.

Figura 5.1: Evolução da redução de inércia na translação.

53
5.2 Trabalho Futuro

Esta dissertação tinha como objetivos contribuir com funcionalidades para outros projetos do Labo-
ratório de Cirurgia Robótica, sendo o passo mais natural para o futuro, a integração da redução de
inércia e da resolução da redundância nesses mesmo projetos.

Na configuração do espaço nulo foi implementada uma solução simples para lidar com as singula-
ridades. Deve ser desenvolvido um algoritmo mais robusto que evite que o LWR entre numa singulari-
dade e evite colisões com objectos e/ou pessoas.

Devem ser averiguadas as vibrações causadas quando o ganho da FFC atinge valores altos e
formas de resolver estas vibrações.

54
Referências

[1] A. Albu-Schäffer, S. Haddadin, C. Ott, A. Stemmer, T. Wimböck, and G. Hirzinger. The DLR
lightweight robot: design and control concepts for robots in human environments. Indus-
trial Robot: An International Journal, 34(5):376–385, 2007. ISSN 0143-991X. doi: 10.1108/
01439910710774386.

[2] A. Owen-Hill. A brief history of robotic force torque sensors, 2016. URL http://robohub.org/
robotic-force-torque-sensors-a-brief-history/.

[3] B. Siciliano and O. Khatib. Handbook of Robotics. 2008. ISBN 9783540239574.

[4] P. Crowther. YuMi


R – IRB 14000 Overview. (April), 2015.

[5] M. S. Erden and A. Billard. End-point Impedance Measurements at Human Hand during Interactive
Manual Welding with Robot*. IEEE International Conference on Robotics & Automation (ICRA),
2014.

[6] M. S. Erden and A. Billard. End-Point Impedance Measurements Across Dominant and Nondomi-
nant Hands and Robotic Assistance with Directional Damping. IEEE Transactions On Cybernetics,
pages 1–12, 2014.

[7] S. T. McJunkin, Y. Li, and M. K. O’Malley. Human-Machine Admittance and Transparency Adapta-
tion in Passive User Interaction with a Haptic Interface. Proceedings of the First Joint Eurohaptics
Conference and Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Sys-
tems, pages 283 – 289, 2005. doi: 10.1109/WHC.2005.76.

[8] P. Guide. Haptic Device Abstraction Layer ( HDAL ) Programmer ’ s Guide. 2008.

[9] T. R. Coles, D. Meglan, S. Member, and N. W. John. The Role of Haptics in Medical Training
Simulators : A Survey of the State of the Art. IEEE Transactions On Haptics, 4(1):51–66, 2011.

[10] K. C. Curley. An Overview of the Current State and Uses of Surgical Robots. Operative Techniques
in General Surgery, 7:155–164, 2005. doi: 10.1053/j.optechgensurg.2005.10.002.

[11] T. Hulin, K. Hertkorn, P. Kremer, S. Schätzle, J. Artigas, M. Sagardia, F. Zacharias, and C. Preusche.
The DLR bimanual haptic device with optimized workspace. Proceedings - IEEE International

55
Conference on Robotics and Automation, pages 3441–3442, 2011. ISSN 10504729. doi: 10.1109/
ICRA.2011.5980066.

[12] F. D. Omega7. Omega 7 Specifications. URL http://www.forcedimension.com/products/


omega-7/specifications.

[13] P. Roios. A Co-manipulation Robotic System for Brain Biopsies. Dissertação de Mestrado em
Engenharia Mecânica, Instituto Superior Tecnico, 2016.

[14] F. Ficuciello, A. Romano, L. Villani, and B. Siciliano. Cartesian Impedance Control of Redundant
Manipulators for Human-Robot Co-Manipulation. IEEE/RSJ International Conference on Intelligent
Robots and Systems, pages 2120–2125, 2014.

[15] J. Gil and E. Sanchez. Control algorithms for haptic interaction and modifying the dynamical beha-
vior of the interface. International conference on Enactive Interfaces, 2005.

[16] A. Frisoli, E. Sotgiu, C. Avizzano, D. Checcacci, and M. Bergamasco. Force-based impedance


control of a haptic master system for teleoperation. Sensor Review, 24(1):42–50, 2004. ISSN
0260-2288. doi: 10.1108/02602280410515815.

[17] V. M. Hung and T. Q. Trung. Modeling and Impedance Control of a 6-DOF Haptic Teleoperation
System. International Conference on Control, Automation and Information Sciences, pages 134–
139, 2013.

[18] M. Bergamasco, B. Allotta, L. Bosio, L. Ferretti, G. M. Parrini, GPrisco, F. Salsedo, and G. Sartini.
An Arm Exoskeleton System for Teleoperation and Virtual Environments Applications. Proceedings
of the 1994 IEEE International Conference on Robotics and Automation, pages 1449–1454, 1994.

[19] T. Hulin, C. Alessandro, B. Vodermayer, and R. Riener. Evaluation of Force Feedforward Control
for Actuators with Limited Dynamics and Time Delay. STAMAS Workshop - Smart technology for
artificial muscle applications in space, Madrid, Spain, 2015.

[20] T. Hulin, M. Sagardia, J. Artigas, S. Schaetzle, P. Kremer, and C. Preusche. Human-Scale Bimanual
Haptic Interface. 5th International Conference on Enactive Interfaces, 2008.

[21] J. J. Gil, Á. Rubio, and J. Savall. Decreasing the Apparent Inertia of an Impedance Haptic by Using
Force Feedforward. IEEE Transactions on Control Systems Tecnhology, 17(4):833–838, 2009.

[22] Colgate and N. Hogan. Robust control of dynamically interacting systems, 1988.

[23] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo. Robotics: Modeling,Planning and Control. Sprin-
ger, 2009. ISBN 9781846286414.

[24] C. Ott. Cartesian Impedance Control of Redundant and Flexible-Joint Robots, volume 49. Springer,
2008. ISBN 9783540692539.

56
[25] A. Albu-Schäffer. Cartesian Impedance Control of Redundant Robots : Recent Results with the
DLR-Light-Weight-Arms. Proceedings of the 2003 IEEE International Conference on Robotics and
Automation, 2003.

[26] R. Koeppe and A. Beyer. The KUKA-DLR Lightweight Robot arm - A new reference platform for
robotics research and manufacturing. Proceedings for the joint conference of ISR 2010 (41st In-
ternationel Symposium on Robotics) and ROBOTIK 2010 (6th German Conference on Robotics),
2010.

[27] G. Schreiber, A. Stemmer, and R. Bischoff. The Fast Research Interface for the KUKA Lightweight
Robot. pages 15–21.

[28] A. Albu-schäffer and C. Ott. A Unified Passivity-based Control Framework for Position, Torque and
Impedance Control of Flexible Joint Robots. The International Journal of Robotics Research, 2007.
doi: 10.1177/0278364907073776.

[29] A. Albu-sch. Cartesian Impedance Control Techniques for Torque Controlled Light-Weight Robots.
Proceedings - IEEE International Conference on Robotics and Automation, pages 657–663, 2002.

[30] K. S. Tecnology. KUKA.FastResearchInterface 1.0. pages 1–57, 2011.

[31] JR3. JR3 ForceSensor Receivers: Software and Installation Manual. 95776(530).

[32] Manual. JR3 PCI-BUS Receiver Device Driver.

[33] L. Zlajpah. FRI-xPC server for KUKA FRI controller. Ljubljana, Slovenia, 2014.

[34] D. A. Lawrence, L. Y. Pao, M. A. Salada, and A. M. Dougherty. Quantitative Experimental Analysis


of Transparency. Proc.fifth Annual Symposium on Haptic Interfaces for Virtual Environment and
Teleoperator Systems, 1996.

57
58
Anexo A

Gráficos: Posição e Força - Sensor de


Força/Binário JR3

Posição X : K = 0 Força X : K = 0
-0.1 20
Estimada
-0.12 15 Medida

-0.14
10

-0.16
5
-0.18
0
Fx [N]
X [m]

-0.2
-5
-0.22
-10
-0.24

-15
-0.26

-0.28 -20

-0.3 -25
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Tempo[s] Tempo[s]

(a) Posição X: K = 0 (b) Força X : K = 0

Posição X : K = 0.25 Força X : K = 0.25


-0.1 20
Estimada
15 Medida

-0.15
10

5
-0.2
Fx [N]
X [m]

-0.25
-5

-10
-0.3
-15

-0.35 -20
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(c) Posição X: K = 0.25 (d) Força X : K = 0.25

Figura A.1: Posição X e Força X exercida pelo utilizador.

A.1
Posição X : K = 0.5 Força X : K = 0.5
-0.12 20
Estimada
-0.14 Medida
15
-0.16
10
-0.18
5
-0.2

Fx [N]
X [m]

-0.22 0

-0.24
-5
-0.26
-10
-0.28
-15
-0.3

-0.32 -20
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(a) Posição X: K = 0.5 (b) Força X : K = 0.5

Posição X : K = 0.75 Força X : K = 0.75


-0.05 15
Estimada
Medida
10
-0.1

5
-0.15

Fx [N]
X [m]

-0.2
-5

-0.25
-10

-0.3 -15
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(c) Posição X: K = 0.75 (d) Força X : K = 0.75

Figura A.1: Posição X e Força X exercida pelo utilizador.

Rotação X : K = 0 Momento X : K = 0
-1.4 2
Estimada
1.5 Medida
-1.6
1

-1.8 0.5
Ângulo [rad]

Mx [Nm]

0
-2
-0.5

-2.2 -1

-1.5
-2.4
-2

-2.6 -2.5
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(e) Rotação X: K = 0 (f) Momento X :K = 0

Rotação X : K = 0.25 Momento X : K = 0.25


-1.5 1.5
Estimada
-1.6 Medida
1
-1.7
0.5
-1.8
0
Ângulo [rad]

-1.9
Mx [Nm]

-2 -0.5

-2.1
-1
-2.2
-1.5
-2.3
-2
-2.4

-2.5 -2.5
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo[s] Tempo[s]

(g) Rotação X: K = 0.25 (h) Momento X :K = 0.25

Figura A.2: Rotação X e Momento X exercida pelo utilizador.

A.2
Rotação X : K = 0.5 Momento X : K = 0.5
-1.4 2
Estimada
-1.5 1.5 Medida

-1.6
1

-1.7
0.5
Ângulo [rad]

-1.8

Mx [Nm]
0
-1.9
-0.5
-2
-1
-2.1

-1.5
-2.2

-2.3 -2

-2.4 -2.5
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(a) Rotação X: K = 0.5 (b) Momento X :K = 0.5

Rotação X : K = 0.75 Momento X : K = 0.75


-1.5 1.5
Estimada
-1.6 Medida
1

-1.7

0.5
-1.8
Ângulo [rad]

Mx [Nm]
-1.9 0

-2
-0.5

-2.1

-1
-2.2

-2.3 -1.5
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo[s] Tempo[s]

(c) Rotação X: K = 0.75 (d) Momento X :K = 0.75

Rotação X : K = 1 Momento X : K = 1
-1.5 1
Estimada
-1.6 Medida

0.5
-1.7

-1.8
Ângulo [rad]

0
Mx [Nm]

-1.9

-0.5
-2

-2.1
-1
-2.2

-2.3 -1.5
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo[s] Tempo[s]

(e) Rotação X: K = 1 (f) Momento X :K = 1

Rotação X : K = 1.5 Momento X : K = 1.5


-1.3 1
Estimada
-1.4 0.8 Medida

-1.5 0.6

-1.6 0.4
Ângulo [rad]

-1.7 0.2
Mx [Nm]

-1.8 0

-1.9 -0.2

-2 -0.4

-2.1 -0.6

-2.2 -0.8

-2.3 -1
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(g) Rotação X: K = 1.5 (h) Momento X :K = 1.5

Figura A.2: Rotação X e Momento X exercida pelo utilizador (continuação).

A.3
Posição Y : K = 0 Força Y : K = 0
-0.1 40
Estimada
30 Medida

-0.15
20

10
-0.2

Fy [N]
Y [m]

-0.25
-10

-20
-0.3
-30

-0.35 -40
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo[s] Tempo[s]

(i) Posição Y: K = 0 (j) Força Y : K = 0

Posição Y : K = 0.25 Força Y : K = 0.25


-0.1 40
Estimada
30 Medida
-0.15

20

-0.2
10

Fy [N]
Y [m]

-0.25 0

-10
-0.3

-20

-0.35
-30

-0.4 -40
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Tempo[s] Tempo[s]

(k) Posição Y: K = 0.25 (l) Força Y : K = 0.25

Posição Y : K = 0.5 Força Y : K = 0.5


-0.1 40
Estimada
30 Medida
-0.15

20

-0.2
10
Fy [N]
Y [m]

-0.25 0

-10
-0.3

-20

-0.35
-30

-0.4 -40
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Tempo[s] Tempo[s]

(m) Posição Y: K = 0.5 (n) Força Y : K = 0.5

Posição Y : K = 0.75 Força Y : K = 0.75


-0.15 30
Estimada
Medida
20
-0.2

10
-0.25
Fy [N]
Y [m]

-0.3
-10

-0.35
-20

-0.4 -30
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo[s] Tempo[s]

(o) Posição Y: K = 0.75 (p) Força Y : K = 0.75

Figura A.3: Posição Y e Força Y exercida pelo utilizador

A.4
Posição Y : K = 1 Força Y : K = 1
-0.15 20
Estimada
15 Medida

-0.2
10

5
-0.25
0

Fy [N]
Y [m]

-5
-0.3
-10

-15
-0.35

-20

-0.4 -25
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo[s] Tempo[s]

(a) Posição Y: K = 1 (b) Força Y : K = 1

Figura A.3: Posição Y e Força Y exercida pelo utilizador (continuação).

Rotação Y : K = 0 Momento Y : K = 0
2.2 2
Estimada
2.1 Medida
1.5

2
1

1.9
Ângulo [rad]

My [Nm]
0.5
1.8
0
1.7

-0.5
1.6

1.5 -1

1.4 -1.5
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(c) Rotação Y: K = 0 (d) Momento Y :K = 0

Rotação Y : K = 0.25 Momento Y : K = 0.25


2.2 1.5
Estimada
2.1 Medida

1
2

1.9
Ângulo [rad]

0.5
My [Nm]

1.8

0
1.7

1.6
-0.5
1.5

1.4 -1
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(e) Rotação Y: K = 0.25 (f) Momento Y :K = 0.25

Rotação Y : K = 0.5 Momento Y : K = 0.5


2.5 1.5
Estimada
2.4 Medida

2.3 1

2.2
Ângulo [rad]

2.1 0.5
My [Nm]

1.9 0

1.8

1.7 -0.5

1.6

1.5 -1
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(g) Rotação Y: K = 0.5 (h) Momento Y: K = 0.5

Figura A.4: Rotação Y e Momento Y exercida pelo utilizador.

A.5
Rotação Y : K = 0.75 Momento Y : K = 0.75
2.1 2
Estimada
2 Medida
1.5

1.9
1
1.8
Ângulo [rad]

My [Nm]
1.7 0.5

1.6 0

1.5
-0.5
1.4

-1
1.3

1.2 -1.5
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(a) Rotação Y: K = 0.75 (b) Momento Y :K = 0.75

Rotação Y : K = 1 Momento Y : K = 1
2.2 1.5
Estimada
2.1 Medida

1
2

1.9
Ângulo [rad]

0.5

My [Nm]
1.8

1.7
0
1.6

1.5
-0.5

1.4

1.3 -1
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(c) Rotação Y: K = 1 (d) Momento Y :K = 1

Rotação Y : K = 1.5 Momento Y : K = 1.5


2.1 1.5
Estimada
2 Medida
1
1.9

1.8 0.5
Ângulo [rad]

My [Nm]

1.7
0
1.6

1.5 -0.5

1.4
-1
1.3

1.2 -1.5
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Tempo[s] Tempo[s]

(e) Rotação Y: K = 1.5 (f) Momento Y :K = 1.5

Rotação Y : K = 2 Momento Y : K = 2
2 1
Estimada
1.9 0.8 Medida

1.8 0.6

1.7 0.4
Ângulo [rad]

My [Nm]

1.6 0.2

1.5 0

1.4 -0.2

1.3 -0.4

1.2 -0.6

1.1 -0.8
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo[s] Tempo[s]

(g) Rotação Y: K = 2 (h) Momento Y :K = 2

Figura A.4: Rotação Y e Momento Y exercida pelo utilizador (continuação).

A.6
Posição Z : K = 0 Força Z : K = 0
-0.7 15
Estimada
-0.72 Medida
10
-0.74

-0.76 5

-0.78

Fz [N]
Z [m]

0
-0.8

-0.82 -5

-0.84
-10
-0.86

-0.88 -15
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo[s] Tempo[s]

(i) Posição Z: K = 0 (j) Força Z : K = 0

Posição Z : K = 0.25 Força Z : K = 0.25


-0.7 15
Estimada
-0.72 Medida
10
-0.74

-0.76
5
-0.78

Fz [N]
Z [m]

-0.8 0

-0.82
-5
-0.84

-0.86
-10
-0.88

-0.9 -15
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo[s] Tempo[s]

(k) Posição Z: K = 0.25 (l) Força Z : K = 0.25

Posição Z : K = 0.5 Força Z : K = 0.5


-0.7 15
Estimada
-0.72 Medida
10
-0.74

-0.76
5
-0.78
Fz [N]
Z [m]

-0.8 0

-0.82
-5
-0.84

-0.86
-10
-0.88

-0.9 -15
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(m) Posição Z: K = 0.5 (n) Força Z : K = 0.5

Posição Z : K = 0.75 Força Z : K = 0.75


-0.7 10
Estimada
Medida

-0.75 5

-0.8 0
Fz [N]
Z [m]

-0.85 -5

-0.9 -10

-0.95 -15
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(o) Posição Z: K = 0.75 (p) Força Z : K = 0.75

Figura A.5: Posição Z e Força Z exercida pelo utilizador

A.7
Posição Z : K = 1 Força Z : K = 1
-0.65 8
Estimada
6 Medida
-0.7

-0.75
2

Fz [N]
Z [m]

-0.8 0

-2
-0.85

-4

-0.9
-6

-0.95 -8
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Tempo[s] Tempo[s]

(a) Posição Z: K = 1 (b) Força Z : K = 1

Figura A.5: Posição Z e Força Z exercida pelo utilizador (continuação).

Rotação Z : K = 0 Momento Z : K = 0
1.3 3
Estimada
1.2 Medida
2

1.1

1
1
Ângulo [rad]

Mz [Nm]
0.9 0

0.8
-1

0.7

-2
0.6

0.5 -3
0 1 2 3 4 5 6 0 1 2 3 4 5 6
Tempo[s] Tempo[s]

(c) Rotação Z: K = 0 (d) Momento Z :K = 0

Rotação Z : K = 0.25 Momento Z : K = 0.25


2.2 2.5
Estimada
2 2 Medida

1.5
1.8

1
1.6
Ângulo [rad]

0.5
Mz [Nm]

1.4
0
1.2
-0.5
1
-1

0.8
-1.5

0.6 -2

0.4 -2.5
0 1 2 3 4 5 6 0 1 2 3 4 5 6
Tempo[s] Tempo[s]

(e) Rotação Z: K = 0.25 (f) Momento Z :K = 0.25

Rotação Z : K = 0.5 Momento Z : K = 0.5


1.5 2.5
Estimada
2 Medida

1.5

1 1
Ângulo [rad]

Mz [Nm]

0.5

0.5 -0.5

-1

-1.5

0 -2
0 1 2 3 4 5 6 0 1 2 3 4 5 6
Tempo[s] Tempo[s]

(g) Rotação Z: K = 0.5 (h) Momento Z: K = 0.5

Figura A.6: Rotação Z e Momento Z exercida pelo utilizador.

A.8
Rotação Z : K = 0.75 Momento Z : K = 0.75
1.4 2.5
Estimada
1.3 2 Medida

1.2
1.5

1.1
1
Ângulo [rad]

Mz [Nm]
0.5
0.9
0
0.8
-0.5
0.7

-1
0.6

0.5 -1.5

0.4 -2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Tempo[s] Tempo[s]

(a) Rotação Z: K = 0.75 (b) Momento Z :K = 0.75

Rotação Z : K = 1 Momento Z : K = 1
1.8 2
Estimada
1.6 1.5 Medida

1.4
1

1.2
0.5
Ângulo [rad]

Mz [Nm]
1
0
0.8
-0.5
0.6

-1
0.4

0.2 -1.5

0 -2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Tempo[s] Tempo[s]

(c) Rotação Z: K = 1 (d) Momento Z :K = 1

Rotação Z : K = 1.5 Momento Z : K = 1.5


1.8 2
Estimada
1.5 Medida
1.6

1
1.4

0.5
Ângulo [rad]

Mz [Nm]

1.2
0
1
-0.5

0.8
-1

0.6 -1.5

0.4 -2
0 1 2 3 4 5 6 0 1 2 3 4 5 6
Tempo[s] Tempo[s]

(e) Rotação Z: K = 1.5 (f) Momento Z :K = 1.5

Rotação Z : K = 2 Momento Z : K = 2
1.6 1.5
Estimada
Medida
1.4
1

1.2
0.5
Ângulo [rad]

Mz [Nm]

1
0
0.8

-0.5
0.6

-1
0.4

0.2 -1.5
0 1 2 3 4 5 6 0 1 2 3 4 5 6
Tempo[s] Tempo[s]

(g) Rotação Z: K = 2 (h) Momento Z :K = 2

Figura A.6: Rotação Z e Momento Z exercida pelo utilizador (continuação).

A.9
A.10
Anexo B

Gráficos: Posição e Força - Sensor de


Força/Binário LWR

Posição X : K = 0 Força X: K = 0
0.4 30
Estimada
Medida
0.35 20

0.3 10
Fx [N]
X [m]

0.25 0

0.2 -10

0.15 -20

0.1 -30
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(a) Posição X: K = 0 (b) Força X : K = 0

Posição X : K = 0.25 Força X: K = 0.25


0.45 40
Estimada
Medida
0.4 30

0.35 20

0.3 10
Fx [N]
X [m]

0.25 0

0.2 -10

0.15 -20

0.1 -30
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(c) Posição X: K = 0.25 (d) Força X : K = 0.25

Figura B.1: Posição X e Força X exercida pelo utilizador.

B.1
Posição X : K = 0.5 Força X: K = 0.5
0.5 30
Estimada
Medida
0.45
20

0.4
10

0.35

Fx [N]
X [m]

0
0.3

-10
0.25

-20
0.2

0.15 -30
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Tempo[s] Tempo[s]

(a) Posição X: K = 0.5 (b) Força X : K = 0.5

Posição X : K = 0.75 Força X: K = 0.75


0.45 30
Estimada
Medida
0.4
20

0.35
10

0.3

Fx [N]
X [m]

0
0.25

-10
0.2

-20
0.15

0.1 -30
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(c) Posição X: K = 0.75 (d) Força X : K = 0.75

Figura B.1: Posição X e Força X exercida pelo utilizador.

Rotação X : K = 0 Momento X : K = 0
-1.5 1.5
Estimada
-1.6 Medida
1

-1.7

0.5
-1.8
Ângulo [rad]

Mx [Nm]

-1.9 0

-2
-0.5

-2.1

-1
-2.2

-2.3 -1.5
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(e) Rotação X: K = 0 (f) Momento X :K = 0

Rotação X : K = 0.25 Momento X : K = 0.25


-1.5 1
Estimada
-1.6 Medida

0.5
-1.7

-1.8
Ângulo [rad]

0
Mx [Nm]

-1.9

-2
-0.5
-2.1

-2.2
-1

-2.3

-2.4 -1.5
0 5 10 15 0 5 10 15
Tempo[s] Tempo[s]

(g) Rotação X: K = 0.25 (h) Momento X :K = 0.25

Figura B.2: Rotação X e Momento X exercida pelo utilizador.

B.2
Rotação X : K = 0.5 Momento X : K = 0.5
-1.5 1
Estimada
0.8 Medida
-1.6
0.6
-1.7
0.4
-1.8
Ângulo [rad]

0.2

Mx [Nm]
-1.9 0

-0.2
-2
-0.4
-2.1
-0.6
-2.2
-0.8

-2.3 -1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Tempo[s] Tempo[s]

(a) Rotação X: K = 0.5 (b) Momento X :K = 0.5

Rotação X : K = 0.75 Momento X : K = 0.75


-1.5 1
Estimada
-1.6 0.8 Medida

0.6
-1.7

0.4
-1.8
Ângulo [rad]

0.2

Mx [Nm]
-1.9
0
-2
-0.2
-2.1
-0.4

-2.2
-0.6

-2.3 -0.8

-2.4 -1
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(c) Rotação X: K = 0.75 (d) Momento X :K = 0.75

Rotação X : K = 1 Momento X : K = 1
-1.6 0.8
Estimada
-1.7 0.6 Medida

-1.8 0.4

-1.9 0.2
Ângulo [rad]

Mx [Nm]

-2 0

-2.1 -0.2

-2.2 -0.4

-2.3 -0.6

-2.4 -0.8
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(e) Rotação X: K = 1 (f) Momento X :K = 1

Rotação X : K = 1.5 Momento X : K = 1.5


-1.6 0.8
Estimada
-1.7 0.6 Medida

-1.8 0.4

-1.9 0.2
Ângulo [rad]

Mx [Nm]

-2 0

-2.1 -0.2

-2.2 -0.4

-2.3 -0.6

-2.4 -0.8
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Tempo[s] Tempo[s]

(g) Rotação X: K = 1.5 (h) Momento X :K = 1.5

Figura B.2: Rotação X e Momento X exercida pelo utilizador (continuação).

B.3
Posição Y : K = 0 Força Y: K = 0
-0.1 30
Estimada
Medida
-0.15
20

-0.2
10

-0.25

Fy [N]
Y [m]

0
-0.3

-10
-0.35

-20
-0.4

-0.45 -30
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(i) Posição Y: K = 0 (j) Força Y : K = 0

Posição Y : K = 0.25 Força Y: K = 0.25


-0.1 25
Estimada
20 Medida
-0.15
15

-0.2 10

5
-0.25

Fy [N]
Y [m]

0
-0.3
-5

-0.35 -10

-15
-0.4
-20

-0.45 -25
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(k) Posição Y: K = 0.25 (l) Força Y : K = 0.25

Posição Y : K = 0.5 Força Y: K = 0.5


-0.1 25
Estimada
20 Medida
-0.15
15

-0.2 10

5
-0.25
Fy [N]
Y [m]

0
-0.3
-5

-0.35 -10

-15
-0.4
-20

-0.45 -25
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(m) Posição Y: K = 0.5 (n) Força Y : K = 0.5

Posição Y : K = 0.75 Força Y: K = 0.75


-0.1 20
Estimada
15 Medida
-0.15

10
-0.2

5
-0.25
Fy [N]
Y [m]

0
-0.3
-5

-0.35
-10

-0.4 -15

-0.45 -20
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(o) Posição Y: K = 0.75 (p) Força Y : K = 0.75

Figura B.3: Posição Y e Força Y exercida pelo utilizador

B.4
Posição Y : K = 1 Força Y: K = 1
-0.15 25
Estimada
20 Medida
-0.2

15
-0.25
10

-0.3 5

Fy [N]
Y [m]

-0.35 0

-5
-0.4
-10

-0.45
-15

-0.5 -20
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(a) Posição Y: K = 1 (b) Força Y : K = 1

Figura B.3: Posição Y e Força Y exercida pelo utilizador (continuação).

Rotação Y : K = 0 Momento Y : K = 0
2.55 1.5
Estimada
2.5 Medida
1
2.45

2.4 0.5
Ângulo [rad]

My [Nm]
2.35
0
2.3

2.25 -0.5

2.2
-1
2.15

2.1 -1.5
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(c) Rotação Y: K = 0 (d) Momento Y :K = 0

Rotação Y : K = 0.25 Momento Y : K = 0.25


2.6 1.5
Estimada
2.55 Medida

2.5 1

2.45
Ângulo [rad]

2.4 0.5
My [Nm]

2.35

2.3 0

2.25

2.2 -0.5

2.15

2.1 -1
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(e) Rotação Y: K = 0.25 (f) Momento Y :K = 0.25

Rotação Y : K = 0.5 Momento Y : K = 0.5


2.6 1.5
Estimada
2.55 Medida

2.5 1

2.45
Ângulo [rad]

2.4 0.5
My [Nm]

2.35

2.3 0

2.25

2.2 -0.5

2.15

2.1 -1
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(g) Rotação Y: K = 0.5 (h) Momento Y: K = 0.5

Figura B.4: Rotação Y e Momento Y exercida pelo utilizador.

B.5
Rotação Y : K = 0.75 Momento Y : K = 0.75
2.6 1
Estimada
2.55 0.8 Medida

0.6
2.5

0.4
2.45
Ângulo [rad]

0.2

My [Nm]
2.4
0
2.35
-0.2
2.3
-0.4

2.25
-0.6

2.2 -0.8

2.15 -1
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(a) Rotação Y: K = 0.75 (b) Momento Y :K = 0.75

Rotação Y : K = 1 Momento Y : K = 1
2.6 1
Estimada
2.55 0.8 Medida

2.5 0.6

2.45 0.4
Ângulo [rad]

2.4 0.2

My [Nm]
2.35 0

2.3 -0.2

2.25 -0.4

2.2 -0.6

2.15 -0.8

2.1 -1
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(c) Rotação Y: K = 1 (d) Momento Y :K = 1

Rotação Y : K = 1.5 Momento Y : K = 1.5


2.7 0.8
Estimada
0.6 Medida
2.6

0.4

2.5
0.2
Ângulo [rad]

My [Nm]

2.4 0

-0.2
2.3

-0.4

2.2
-0.6

2.1 -0.8
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(e) Rotação Y: K = 1.5 (f) Momento Y :K = 1.5

Rotação Y : K = 2 Momento Y : K = 2
2.6 0.8
Estimada
2.55 Medida
0.6
2.5
0.4
2.45
0.2
Ângulo [rad]

2.4
My [Nm]

2.35 0

2.3
-0.2
2.25
-0.4
2.2
-0.6
2.15

2.1 -0.8
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(g) Rotação Y: K = 2 (h) Momento Y :K = 2

Figura B.4: Rotação Y e Momento Y exercida pelo utilizador (continuação).

B.6
Posição Z : K = 0 Força Z: K = 0
-0.7 15
Estimada
-0.72 Medida
10
-0.74

-0.76
5
-0.78

Fz [N]
Z [m]

-0.8 0

-0.82
-5
-0.84

-0.86
-10
-0.88

-0.9 -15
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(i) Posição Z: K = 0 (j) Força Z : K = 0

Posição Z : K = 0.25 Força Z: K = 0.25


-0.7 15
Estimada
-0.72 Medida

-0.74 10

-0.76

-0.78 5

Fz [N]
Z [m]

-0.8

-0.82 0

-0.84

-0.86 -5

-0.88

-0.9 -10
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Tempo[s] Tempo[s]

(k) Posição Z: K = 0.25 (l) Força Z : K = 0.25

Posição Z : K = 0.5 Força Z: K = 0.5


-0.7 10
Estimada
-0.72 8 Medida

-0.74 6

-0.76 4

-0.78 2
Fz [N]
Z [m]

-0.8 0

-0.82 -2

-0.84 -4

-0.86 -6

-0.88 -8

-0.9 -10
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Tempo[s] Tempo[s]

(m) Posição Z: K = 0.5 (n) Força Z : K = 0.5

Posição Z : K = 0.75 Força Z: K = 0.75


-0.65 10
Estimada
8 Medida

-0.7
6

4
-0.75
2
Fz [N]
Z [m]

0
-0.8
-2

-4
-0.85

-6

-0.9 -8
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Tempo[s] Tempo[s]

(o) Posição Z: K = 0.75 (p) Força Z : K = 0.75

Figura B.5: Posição Z e Força Z exercida pelo utilizador

B.7
Posição Z : K = 1 Força Z: K = 1
-0.65 10
Estimada
8 Medida

-0.7
6

4
-0.75
2

Fz [N]
Z [m]

0
-0.8
-2

-4
-0.85

-6

-0.9 -8
0 5 10 15 0 5 10 15
Tempo[s] Tempo[s]

(a) Posição Z: K = 1 (b) Força Z : K = 1

Figura B.5: Posição Z e Força Z exercida pelo utilizador (continuação).

Rotação Z : K = 0 Momento Z : K = 0
3 1.5
Estimada
2.9 Medida
1
2.8

2.7
0.5
Ângulo [rad]

2.6

Mz [Nm]
2.5 0

2.4
-0.5
2.3

2.2
-1
2.1

2 -1.5
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(c) Rotação Z: K = 0 (d) Momento Z :K = 0

Rotação Z : K = 0.25 Momento Z : K = 0.25


3.2 1.5
Estimada
Medida
3 1

2.8 0.5
Ângulo [rad]

Mz [Nm]

2.6 0

2.4 -0.5

2.2 -1

2 -1.5
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(e) Rotação Z: K = 0.25 (f) Momento Z :K = 0.25

Rotação Z : K = 0.5 Momento Z : K = 0.5


3.2 1.5
Estimada
Medida
3
1

2.8
Ângulo [rad]

0.5
Mz [Nm]

2.6

0
2.4

-0.5
2.2

2 -1
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(g) Rotação Z: K = 0.5 (h) Momento Z: K = 0.5

Figura B.6: Rotação Z e Momento Z exercida pelo utilizador.

B.8
Rotação Z : K = 0.75 Momento Z : K = 0.75
3.2 1.5
Estimada
Medida
3
1

2.8
0.5
Ângulo [rad]

Mz [Nm]
2.6
0
2.4

-0.5
2.2

-1
2

1.8 -1.5
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Tempo[s] Tempo[s]

(a) Rotação Z: K = 0.75 (b) Momento Z :K = 0.75

Rotação Z : K = 1 Momento Z : K = 1
3.2 1.5
Estimada
Medida
3
1

2.8
0.5
Ângulo [rad]

Mz [Nm]
2.6
0
2.4

-0.5
2.2

-1
2

1.8 -1.5
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Tempo[s] Tempo[s]

(c) Rotação Z: K = 1 (d) Momento Z :K = 1

Rotação Z : K = 1.5 Momento Z : K = 1.5


3.2 1
Estimada
3.1 0.8 Medida

0.6
3

0.4
2.9
Ângulo [rad]

0.2
Mz [Nm]

2.8
0
2.7
-0.2
2.6
-0.4

2.5
-0.6

2.4 -0.8

2.3 -1
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Tempo[s] Tempo[s]

(e) Rotação Z: K = 1.5 (f) Momento Z :K = 1.5

Rotação Z : K = 2 Momento Z : K = 2
3.2 0.8
Estimada
0.6 Medida
3

0.4

2.8
0.2
Ângulo [rad]

Mz [Nm]

2.6 0

-0.2
2.4

-0.4

2.2
-0.6

2 -0.8
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
Tempo[s] Tempo[s]

(g) Rotação Z: K = 2 (h) Momento Z :K = 2

Figura B.6: Rotação Z e Momento Z exercida pelo utilizador (continuação).

B.9
B.10
Anexo C

Gráficos: Posição e Força - Ambiente


de Impedância

Posição X : K = 0 Força X : K = 0
0.35 60
Estimada
50 Medida

0.3 40

30

0.25 20
Fx [N]
X [m]

10

0.2 0

-10

0.15 -20

-30

0.1 -40
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Tempo[s] Tempo[s]

(a) Posição X: K = 0 (b) Força X : K = 0

Posição X : K = 1 Força X : K = 0
0.4 60
Estimada
50 Medida
0.35
40

30
0.3
20
Fx [N]
X [m]

0.25 10

0
0.2
-10

-20
0.15
-30

0.1 -40
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Tempo[s] Tempo[s]

(c) Posição X: K = 1 (d) Força X : K = 1

Figura C.1: Posição X e Força X exercida pelo utilizador.

C.1
Posição Y : K = 0 Força Y : K = 0
-0.12 30
Estimada
-0.14 20 Medida

-0.16
10

-0.18
0
-0.2

Fy [N]
Y [m]

-10
-0.22
-20
-0.24

-30
-0.26

-0.28 -40

-0.3 -50
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Tempo[s] Tempo[s]

(a) Posição Y: K = 0 (b) Força Y : K = 0

Posição Y : K = 1 Força Y : K = 1
-0.1 15
Estimada
10 Medida

-0.15 5

-0.2 -5

Fy [N]
Y [m]

-10

-0.25 -15

-20

-0.3 -25

-30

-0.35 -35
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(c) Posição Y: K = 1 (d) Força Y : K = 1

Figura C.2: Posição Y e Força Y exercida pelo utilizador

Posição Z : K = 0 Força Z : K = 0
-0.6 30
Estimada
-0.62 20 Medida

-0.64 10

-0.66 0

-0.68 -10
Fz [N]
Z [m]

-0.7 -20

-0.72 -30

-0.74 -40

-0.76 -50

-0.78 -60
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Tempo[s] Tempo[s]

(a) Posição Z: K = 0 (b) Força Z : K = 0

Posição Z : K = 1 Força Z : K = 1
-0.6 15
Estimada
-0.62 10 Medida

-0.64 5

-0.66 0

-0.68 -5
Fz [N]
Z [m]

-0.7 -10

-0.72 -15

-0.74 -20

-0.76 -25

-0.78 -30

-0.8 -35
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Tempo[s] Tempo[s]

(c) Posição Z: K = 1 (d) Força Z : K = 1

Figura C.3: Posição Z e Força Z exercida pelo utilizador

C.2

Você também pode gostar