Controlo de Impedância de Robôs Manipuladores para Aplicações em Cirurgia Ortopédica
José Eduardo da Cunha Feio
Dissertação para obtenção do Grau de Mestre em
Engenharia Mecânica
Júri:
Presidente: Professor José Manuel Gutierrez Sá da Costa
Orientador: Professor José Manuel Gutierrez Sá da Costa
Co-Orientador: Professor Jorge Manuel Mateus Martins
Vogal: Professor Paulo Jorge Sequeira Gonçalves
Setembro – 2008
“Tudo o que uma pessoa pode imaginar, outras poderão torná-la realidade”
Julio Verne
Este trabalho reflecte as ideias dos seus autores que, eventualmente, poderão não coincidir com as do Instituto Superior Técnico.
i
Abstract
The main goal of this work is to develop an impedance control which control the force, the
position and the impact, implemented in a manipulator robot with the aim of implementation in
orthopedic surgery.
At first, some of the main progresses in robotic surgery are introduced as well as the possible
application of this methodology in orthopedic surgery, namely in Total Hip Resurfacing.
Later, the studied force controllers, namely the Impedance Control, some variations of this
method and the respective compliant environment are presented. This strategy of indirect force control
allows the user (surgeon) to execute high-accuracy tasks (for instance, drilling and shaping the
femur’s head) with the aid of the robot, in a controlled environment. Hence, the surgeon has the
possibility to guide the end-effector in its operational space by applying force on it.
However, in the area surrounding the drill zone, the stiffness provided to the end-effector is
high, to keep its orientation. Thus, the surgeon can control the force needs to execute the drilling and
shaping tasks, without needing to adjust the end-effector’s tool while it approaches the bone.
Next, the studied robots where this methodology is implemented are presented. A developed
surgeon-patient interface, using the haptic device Novint Falcon is exhibited.
Finally, the obtained results are illustrated and analysis and conclusions shown. Some future
works which have the intent of giving continuity to this project are proposed.
Keywords: Robotic surgery, Total Hip Resurfacing, Force Control, Impedance Control, Compliant
behavior, Haptic Device
ii
iii
Resumo
O principal objectivo desta tese é desenvolver um controlador de impedância que execute
controlo de força, posição e impacto num robô manipulador com vista à sua aplicação em cirurgias
ortopédicas.
Primeiramente, são introduzidos alguns dos principais avanços na robótica médica e a
possível aplicação da metodologia estudada à cirurgia ortopédica, nomeadamente na aplicação ao
Total Hip Resurfacing.
Posteriormente, são apresentados os controladores de força estudados, nomeadamente o
Controlador de Impedância, algumas variantes do mesmo e respectivo ambiente complacente. Esta
estratégia de controlo indirecto de força permite ao utilizador (cirurgião) executar tarefas de elevada
precisão (furação e torneamento do fémur) com o auxílio do robô, num ambiente controlado. Assim, o
cirurgião tem a possibilidade de manipular o seu elemento terminal, através de aplicação de força
sobre o mesmo. Contudo, numa área próxima da zona de furação, a rigidez conferida ao robô é
elevada, de modo a que este mantenha o seu posicionamento. Assim, o cirurgião tem a possibilidade
de controlar a força com que executa as tarefas de furação e torneamento sem a necessidade de se
preocupar com o ajuste da ferramenta, à medida que se aproxima do osso.
Seguidamente, são apresentados os manipuladores estudados, nos quais se aplicou esta
metodologia de controlo. É também exibida a interface cirurgião-paciente criada com recurso ao
dispositivo háptico Novint Falcon.
Finalmente, são ilustrados os resultados obtidos com a implementação desta metodologia de
controlo aos robôs estudados e são apresentadas as análises e conclusões ao trabalho desenvolvido.
São também propostos alguns trabalhos futuros, que darão continuidade a este projecto.
Palavras-chave: Robótica médica, Total Hip Resurfacing, Controlo de Força, Controlo de
Impedância, Ambiente de complacência, Dispositivo háptico.
iv
v
Agradecimentos
Primeiramente, gostaria demonstrar o meu profundo agradecimento aos coordenadores deste
projecto, Professor Sá da Costa e Professor Jorge Martins por toda a orientação, apoio e dedicação
demonstrada ao longo deste trabalho.
Gostaria também de agradecer à minha família por todo o apoio, quer moral, quer financeiro
que me deram ao longo do meu percurso académico.
Gostaria de agradecer aos meus colegas do Departamento de Engenharia Mecânica em
especial, ao Pedro Pires e Pedro Teodoro, pela ajuda e trocas de informação que, com toda a
certeza, enriqueceram esta tese.
Não menos importante, gostaria de agradecer a todos os meus amigos, dos quais não refiro
nomes para não correr o risco de deixar de fora algum, injustamente.
vi
vii
Índice
Índice de Ilustrações ............................................................................................................................ xi
Índice de Tabelas ................................................................................................................................ xv
Abreviaturas ....................................................................................................................................... xvii
Simbologia ........................................................................................................................................... xix
1. Introdução ...................................................................................................................................... 1
1.1. Robótica Médica ................................................................................................................... 1
1.2. Cirurgia Assistida por Computador (CAC) ........................................................................ 3
1.3. Cirurgia Ortopédica .............................................................................................................. 4
1.4. Cirurgia Assistida por Robôs vs. Cirurgia Convencional ................................................ 8
1.5. Sistema Proposto ............................................................................................................... 10
1.6. Contribuição da Tese ......................................................................................................... 10
1.7. Organização ........................................................................................................................ 11
2. Controladores de Força ............................................................................................................. 13
2.1. Descrição do Problema ..................................................................................................... 13
2.2. Controladores ...................................................................................................................... 14
2.2.1. Compensação Baseada no Modelo Estático (Siciliano & Villani, 1999) ............ 14
2.2.2. Controlo de Indirecto de Força (Siciliano & Villani, 1999) .................................... 15
2.3. Controlador Estudado ........................................................................................................ 21
2.4. Ambiente do Controlo de Impedância ............................................................................. 22
2.5. Ambiente Estudado ............................................................................................................ 24
3. Descrição ..................................................................................................................................... 25
3.1. Robô planar de três Graus de Liberdade........................................................................ 25
3.2. Robô PUMA 560 de seis Graus de Liberdade ............................................................... 27
3.3. Robô Planar experimental de dois graus de liberdade ................................................. 29
3.4. Realidade Virtual................................................................................................................. 31
3.4.1. Realidade Virtual dos Robôs .................................................................................... 31
3.4.2. Modelo de Realidade Virtual do Osso ..................................................................... 32
3.5. Interface Cirurgião-Paciente ............................................................................................. 33
viii
4. Implementação ............................................................................................................................ 37
4.1. Modelação cinemática e dinâmica dos robôs ................................................................ 37
4.2. Implementação do Controlador de Impedância ............................................................. 38
4.3. Implementação do Controlador de Impedância CIPO .................................................. 43
4.4. Implementação Experimental ........................................................................................... 46
4.5. Implementação do Novint Falcon® ................................................................................... 48
4.6. Aspectos práticos de implementação .............................................................................. 51
5. Resultados ................................................................................................................................... 53
5.1. Validação dos modelos ...................................................................................................... 53
5.1.1. Validação do modelo dinâmico do PUMA 560 ....................................................... 53
5.2. Robô Planar de Três Graus de Liberdade ...................................................................... 54
5.2.1. Controlador de Impedância vs. Controlador de Impedância CIPO ..................... 54
5.2.2. Orientação ................................................................................................................... 60
5.2.3. Efeito da Frequência Natural .................................................................................... 61
5.3. Robô Antropomórfico PUMA 560 ..................................................................................... 62
5.3.1. Efeito da Frequência Natural .................................................................................... 65
5.4. Robô Planar de Dois Graus de Liberdade ...................................................................... 66
5.4.1. Modelo de Simulação vs. Modelo Experimental .................................................... 66
5.4.2. Testes Práticos ........................................................................................................... 72
6. Discussão e Conclusões ........................................................................................................... 77
6.1. Discussão ............................................................................................................................ 77
6.2. Trabalhos Futuros............................................................................................................... 78
6.3. Conclusões .......................................................................................................................... 80
Bibliografia ........................................................................................................................................... 81
Anexo A –Quaterniões Unitários na Orientação (Chiaverini & Siciliano, 1999) ....................... 85
Anexo B - Modelos Dinâmicos dos Robôs ..................................................................................... 89
B.1. Modelo Dinâmico do Robô Planar de Três Graus de Liberdade ........................................ 89
B.2. Modelo Dinâmico do Robô Antropomórfico PUMA 560 (Armstrong, Khatib, & Burdick,
1986) ..................................................................................................................................................... 90
Anexo C - Interface Novint-Matlab ................................................................................................... 95
Instalação do Software Development Kit (SDK) ........................................................................ 95
Comunicação entre o Novint e o Matlab/Simulink ..................................................................... 95
Programa de Teste ......................................................................................................................... 96
ix
Incorporação no Simulink .............................................................................................................. 98
x
xi
Índice de Ilustrações
Ilustração 1.1 – Número anual de artigos científicos indexados à pesquisa PubMed, que contêm as
palavras “robô” e “robótica” ..................................................................................................................... 1
Ilustração 1.2 - Manipulador cirúrgico Acrobot® ...................................................................................... 2
Ilustração 1.3 - Prótese Birmingham Hip Resurfacing (Smith&Nephew, 2007) ...................................... 5
Ilustração 1.4 - Inserção do sistema de guiamento e furação do osso (Smith&Nephew, 2007) ............ 5
Ilustração 1.5 - Torneamento da cabeça do fémur (Smith&Nephew, 2007) ........................................... 6
Ilustração 1.6 - Preparação da cabeça do fémur (Smith&Nephew, 2007) .............................................. 6
Ilustração 1.7 - Colagem da prótese ao fémur (Smith&Nephew, 2007) ................................................. 7
Ilustração 1.8 - Planeamento pré-operatório e posição actual da prótese após cirurgia ........................ 7
Ilustração 1.9 - Análise Tensorial de um Fémur a) sem prótese; b) com prótese colocada em
orientação varus c) com prótese colocada em orientação normal e d) com prótese colocada em
orientação valgus .................................................................................................................................... 8
Ilustração 2.1 - Bloco operatório de uma cirurgia convencional ........................................................... 13
Ilustração 2.2 - Esquema do Controlador de Impedância ..................................................................... 19
Ilustração 2.3 - Esquema do Controlador de Impedância CIPO ........................................................... 21
Ilustração 2.4 – Ambiente de complacência atribuído no controlador do Acrobot® .............................. 23
Ilustração 2.5 - Ambiente de Complacência atribuído ao elemento terminal do robô, em função da
DMPF ..................................................................................................................................................... 24
Ilustração 3.1 – Colocação de referenciais segundo o algoritmo de Denavit-Hartenberg, no robô
planar de três graus de liberdade .......................................................................................................... 26
Ilustração 3.2 - PUMA 560 .................................................................................................................... 27
Ilustração 3.3 – Colocação de referenciais do Robô antropomórfico PUMA 560 ................................. 28
Ilustração 3.4 - Robô planar de dois graus de liberdade presente no Laboratório de Controlo
Automação e Robótica do Instituto Superior Técnico ........................................................................... 29
Ilustração 3.5 - Colocação de referenciais sobre as juntas do robô planar, segundo o algoritmo
Denavit-Hartenberg ............................................................................................................................... 30
Ilustração 3.6 - Realidade virtual do robô planar de dois graus de liberdade ....................................... 31
Ilustração 3.7 - Realidade virtual do robô antropomórfico PUMA 560 .................................................. 32
Ilustração 3.8 - Realidade virtual do robô planar experimental de dois graus de liberdade ................. 32
Ilustração 3.9 - Visualização em realidade virtual do fémur estudado .................................................. 33
Ilustração 3.10 - Dispositivo háptico Novint Falcon .............................................................................. 34
Ilustração 3.11 - Interface Cirurgião-Paciente ....................................................................................... 35
Ilustração 4.1 - Modelo cinemático e dinâmico do robô planar de três graus de liberdade, construído
com a toolbox MECANISMO ................................................................................................................. 38
xii
Ilustração 4.2 - Janela principal do Controlador de Impedância aplicada ao robô planar de três graus
de liberdade ........................................................................................................................................... 39
Ilustração 4.3 - Diagrama de blocos constituinte do bloco Impedância da janela principal .................. 40
Ilustração 4.4 – Blocos constituintes do sub-sistema parâmetros geométricos lineares ...................... 41
Ilustração 4.5 – Blocos constituintes do sub-sistema parâmetros geométricos angulares .................. 41
Ilustração 4.6 - Diagrama de blocos constituintes do bloco accel Linear ............................................. 41
Ilustração 4.7 - Comportamento complacente variável com a DMPF, segundo a equação 4.1 ........... 42
Ilustração 4.8 - Diagrama de blocos da compensação dinâmica do robô, bloco dinâmica inversa ..... 43
Ilustração 4.9 - Janela principal do Controlador de Impedância com Controlo Interno de Posição e
Orientação ............................................................................................................................................. 44
Ilustração 4.10 - Diagrama de blocos da Impedância Linear do controlador de impedância CIPO ..... 44
Ilustração 4.11 - Blocos Simulink da toolbox Quaterniões .................................................................... 45
Ilustração 4.12 - Diagrama de blocos do Controlo de Posição do Controlador de Impedância CIPO . 45
Ilustração 4.13 – Ambiente do Controlador de Impedância CIP implementado no robô planar de dois
graus de liberdade ................................................................................................................................. 46
Ilustração 4.14 – Configuração dos parâmetros de integração (Solver) do modelo Simulink .............. 47
Ilustração 4.15 - Configuração dos parâmetros de tempo real (Real-Time Workshop) do modelo
Simulink ................................................................................................................................................. 47
Ilustração 4.16 - Comunicação entre o Simulink (host) e o robô planar de dois graus de liberdade
(target) ................................................................................................................................................... 48
Ilustração 4.17 - Diagrama de blocos da interface Novint-Paciente ..................................................... 50
Ilustração 4.18 - Diagrama de blocos do bloco principal cálculo da parametrização (u, v) .................. 50
Ilustração 4.19 - Realidade Virtual da interface Novint-paciente .......................................................... 51
Ilustração 5.1 - Evolução das juntas do robô antropomórfico PUMA 560 ao longo do tempo, actuado
pela acção gravítica, para os modelos de Corke e MECANISMO ........................................................ 54
Ilustração 5.2 - Resposta do elemento terminal do robô de três graus de liberdade, na ausência de
forças externas, controlado por um Controlador de Impedância .......................................................... 55
Ilustração 5.3 - Resposta do elemento terminal do robô de três graus de liberdade, na ausência de
forças externas, controlado por um Controlador de Impedância CIPO ................................................ 56
Ilustração 5.4 - Resposta do elemento terminal do robô de três graus de liberdade, quando actuado
por uma força de 20 � perpendicular à recta de furação, controlado por um Controlador de
Impedância ............................................................................................................................................ 56
Ilustração 5.5 - Resposta do elemento terminal do robô de três graus de liberdade, quando actuado
por uma força de 20 � perpendicular à recta de furação, controlado por um Controlador de
Impedância CIPO .................................................................................................................................. 57
Ilustração 5.6 - Resposta do elemento terminal do robô de três graus de liberdade, A) controlado por
um Controlador de Impedância, B) controlado por um Controlador de Impedância CIPO, sujeita a uma
compensação dinâmica imperfeita, amostrada a cada segundo de simulação.................................... 58
Ilustração 5.7 - Resposta do elemento terminal do robô ao longo do tempo, quando controlado pelo
Controlador de Impedância, sujeito a perturbação na compensação dinâmica do robô ...................... 59
xiii
Ilustração 5.8 - Resposta do elemento terminal do robô ao longo do tempo, quando controlado pelo
Controlador de Impedância CIPO, sujeito a perturbação na compensação dinâmica do robô ............ 60
Ilustração 5.9 - Resposta da orientação do elemento terminal do robô de três graus de liberdade ao
longo do tempo ...................................................................................................................................... 61
Ilustração 5.10 - Evolução do elemento terminal do robô planar de três graus de liberdade ao longo do
tempo, em função da distância de furação, quando aplicada uma força de 5 � na direcção normal à
recta de furação ..................................................................................................................................... 61
Ilustração 5.11 - Resposta do elemento terminal do robô PUMA, quando controlado por um
Controlador de Impedância CIPO (Variação ao longo da coordenada �) ............................................ 62
Ilustração 5.12 - Resposta do elemento terminal do robô PUMA, quando controlado por um
Controlador de Impedância CIPO (Variação ao longo da coordenada �) ............................................. 63
Ilustração 5.13 - Resposta da orientação do elemento terminal do robô PUMA ao longo do tempo ... 64
Ilustração 5.14 - Variação da posição e orientação do elemento terminal do robô PUMA ao longo do
tempo a) No instante inicial b) ao fim de 3 segundos c) ao fim de 5 segundos d) no instante final da
simulação............................................................................................................................................... 64
Ilustração 5.15 - Resposta do elemento terminal do robô ao longo do tempo, controlado pelo
Controlador de Impedância CIPO, com força de 5 � após atingir regime estacionário ........................ 65
Ilustração 5.16 - Resposta do elemento terminal do robô PUMA 560 ao longo do tempo, em função da
distância ao ponto de furação, quando aplicada uma força de 5 � numa direcção normal à recta de
furação ................................................................................................................................................... 66
Ilustração 5.17 - Resposta do elemento terminal do robô ao longo do tempo, Controlado por um
Controlador de Impedância CIP não actuado por forças externas aplicado Modelo de Simulação ..... 67
Ilustração 5.18 - Resposta do elemento terminal do robô ao longo do tempo, Controlado por um
Controlador de Impedância CIP não actuado por forças externas aplicado ao Modelo Experimental. 67
Ilustração 5.19 - Variação da posição do elemento terminal do robô planar de dois graus de liberdade
ao longo do tempo (ambiente virtual), na ausência de forças externas a) no instante inicial b) ao fim
de 3 segundos c) ao fim de 7 segundos d) no instante final da simulação .......................................... 68
Ilustração 5.20 - Resposta do elemento terminal do robô, quando actuado por uma força de 1 � na
direcção normal à recta de furação aplicado ao Modelo de Simulação ............................................... 69
Ilustração 5.21 - Resposta do elemento terminal do robô, quando actuado por uma força de 1 � na
direcção normal à recta de furação aplicado ao Modelo Real .............................................................. 69
Ilustração 5.22 - Resposta do elemento terminal do robô fazendo variar o ponto de furação ao longo
do tempo A) Modelo de Simulação B) Modelo Real ............................................................................. 70
Ilustração 5.23 - Resposta do robô em função da distância ao ponto de furação quando actuado por
uma força de 15 � na direcção normal à recta de furação A) Modelo de Simulação B) Modelo Real . 71
Ilustração 5.24 - Variação da posição do elemento terminal do robô planar de dois graus de liberdade
ao longo do tempo (ambiente virtual), na presença de uma força constante de 15 �, perpendicular à
direcção de furação e à medida que este se aproxima do ponto de furação a) ao fim de 3 segundos b)
ao fim de 6 segundos c) ao fim de 9 segundos d) no instante final ...................................................... 72
Ilustração 5.25 - Trajectória descrita pelo elemento terminal do robô (segundo a direcção de furação –
eixo �) ao longo do tempo, quando é aplicada força ............................................................................ 73
xiv
Ilustração 5.26 - Trajectória descrita pelo elemento terminal do robô (segundo a direcção
perpendicular à direcção de furação – eixo ) ao longo do tempo, quando é aplicada força .............. 73
Ilustração 5.27 – A) Resposta do elemento terminal do robô sobre a direcção de furação, ao longo do
tempo, quando este colide com uma superfície de contacto; B) força aplicada no elemento terminal do
robô ao longo do tempo, segundo a direcção de furação ..................................................................... 74
Ilustração 5.28 - Força de contacto repercutida no Novint Falcon em função da penetração na
superfície do osso ................................................................................................................................. 75
Ilustração B.1 - Colocação de referenciais segundo o algoritmo Denavit-Hartenberg no robô PUMA
560 ......................................................................................................................................................... 90
Ilustração C.1 – Aplicação FalconTest – V 1.0.exe .............................................................................. 96
Ilustração C.2 - Espaço de trabalho do elemento terminal do Novint Falcon® ..................................... 97
Ilustração C.3 - Exemplo de localização dos ficheiros necessários para compilação .......................... 97
Ilustração C.4 - Diagrama de Blocos de troca de informação entre Novint Falcon® e Matlab .............. 99
xv
Índice de Tabelas
Tabela 1.1 - Manipuladores Cirúrgicos Mais Comuns ............................................................................ 3
Tabela 1.2 – Vantagens e Desvantagens das Cirurgias Convencionais e das Cirurgias Assistidas por
Robôs ...................................................................................................................................................... 9
Tabela 3.1 - Parâmetros Geométricos e Dinâmicos do Robô Planar de Três Graus de Liberdade ..... 25
Tabela 3.2 - Parâmetros Geométricos e Dinâmicos do Robô PUMA 560 ............................................ 28
Tabela 3.3 - Parâmetros Geométricos e Dinâmicos do Robô Planar Experimental de Três Graus de
Liberdade ............................................................................................................................................... 30
Tabela 4.1 – Características Computacionais do Modelo Dinâmico de cada um dos Robôs Estudados,
criados com a toolbox MECANISMO .................................................................................................... 37
Tabela 5.1 - Ganhos atribuídos ao Controlador de Impedância e ao Controlador de Impedância CIPO,
por forma a comparar os seus desempenhos ....................................................................................... 55
Tabela 5.2 - Ganhos atribuídos ao Controlador de Impedância e ao Controlador de Impedância CIPO,
por forma a testar a robustez de ambos os controladores à perturbação da compensação dinâmica do
robô ........................................................................................................................................................ 59
Tabela 5.3 - Ganhos atribuídos à posição do Controlador de Impedância CIPO, por forma a testar o
seu Desempenho no Robô PUMA ........................................................................................................ 62
Tabela 5.4 - Ganhos atribuídos à orientação do Controlador de Impedância CIPO, por forma a testar o
seu Desempenho no Robô PUMA ........................................................................................................ 63
Tabela 5.5 - Ganhos atribuídos aos Controladores de Impedância CIP .............................................. 67
xvi
xvii
Abreviaturas
CAC – Cirurgia Assistida por Computador
CAD – Computer-Aided Design
CAM – Computer-Aided Manufacturing
CIP – Controlador Interno de Posição
CIPO – Controlador Interno de Posição e Orientação
CT – Computed Tomography
DMPF – Distância Mínima ao Ponto de Furação
GDL – Graus de Liberdade
LED – Light-Emitting Diode
NURBS – Non-Uniform Rational B-Splines
PD – Proporcional-Derivativo
SDK – Software Development Kit
TAC – Tomografia Axial Computorizada
USB – Universal Serial Bus �� ≡ �����; �� ≡ �����; ��� ≡ cos��� + ��� ; ��� ≡ sin��� + ��� ; ��� ≡ ������; ��� ≡ ������
xviii
xix
Simbologia
!") – Matriz de Inércia �!", "$ ) – Vector de acelerações de Couriolis �%� – Posição do centro de massa da junta � &!") – Vector de termo gravítico ℎ – Vector de forças aplicadas no elemento terminal do robô ( – Matriz Identidade ) – Matriz Jacobiana do Robô *+ – Matriz de ganhos dissipativos (derivativo) *, – Matriz de ganhos de massa *- – Matriz de ganhos proporcionais . – Matriz nula " – Coordenadas de junta / – Matriz de Rotação 0 – Matriz de Cinemática do robô 1 – Binário nas juntas 2�– Velocidade angular do elemento terminal do robô, no referencial � 23 – Frequência Natural �4 – Posição desejada no espaço cartesiano do elemento terminal do robô �5 – Posição actual no espaço cartesiano do elemento terminal do robô
$ , 6 – Primeira e segunda derivadas da variável 7 – Matriz transposta 89 – Matriz inversa
- – Referente à posição
: – Referente à orientação
; – Referente ao referencial de complacência
4 – Referente ao referencial desejado
5 – Referente ao referencial actual
xx
1
1. Introdução
1.1. Robótica Médica
Ao longo de décadas, a robótica tem vindo a adquirir cada vez mais destaque no dia-a-dia do
Ser Humano. Quer na indústria, nos serviços ou na saúde, é praticamente impossível dissociar a
robótica de qualquer área onde o trabalho forçado e repetitivo seja imperativo. Embora num ambiente
fabril a colaboração de robôs para as mais diversas tarefas tenha sido bem aceite, esta ciência tem
tido uma integração lenta no campo da medicina. Ora pelo cepticismo criado pelos próprios médicos,
ora pelo desconhecimento das potencialidades da robótica, apenas nas últimas duas décadas é que
a aplicação da robótica à medicina tem conhecido um real crescimento. Esse crescimento tem-se
reflectido também a nível académico, onde a quantidade de artigos científicos na área de medicina
que contêm a palavra “robô” ou “robótica” tem aumentado ao longo dos anos, conforme se pode
constatar através da análise da ilustração seguinte (Ilustração 1.1).
Ilustração 1.1 – Número anual de artigos científicos indexados à pesquisa PubMed, que contêm as palavras “robô” e “robótica”
Apenas em 1985 é que a tecnologia robótica surgiu numa aplicação médica, através da
modificação do braço de um robô industrial, por forma a realizar uma biopsia ao cérebro com 0.05 ==
de precisão. Esta aplicação surgiu como “rampa de lançamento” para os primeiros manipuladores
cirúrgicos, como o NeuromateTM (Li, Zamorano, Pandya, A. Perez, Gong, & Diaz, 2002) ou o
Robodoc® (Bargar, Bauer, & Borner, 1998).
2
Hoje em dia, já são conhecidos inúmeros manipuladores cirúrgicos, utilizados nas mais
diversas cirurgias. Em 2005, mais de mil robôs foram utilizados em procedimentos cirúrgicos, tendo
sido investidos mais de 250 milhões de dólares em novos procedimentos. O seu crescimento é
evidente: mais de 100 universidades realizam investigação na área da robótica médica, evidenciando
um crescimento anual de 50% (Cleary & Nguyen, 2001). É, então, intuitivo que muitos dos robôs já
comercializados e aplicados em diversas cirurgias tenham como base uma grande investigação
académica, como o Acrobot® (Barrett, et al., 2007) (Ilustração 1.2), desenvolvido no Imperial College
Institute, ou o Minerva®, que surgiu na Universidade de Lausanne (Glauser, Fankhauser, Epitaux,
Hefti, & Jaccottet, 1995).
Na Tabela 1.1 encontram-se apresentados alguns dos manipuladores cirúrgicos mais
conhecidos e as suas principais características (Stoianovici & Taylor, 2003).
Genericamente, o sistema Acrobot® (Jakopec, Harris, Baena, Gomes, Cobb, & Davies, 2001)
socorre-se de um guiamento manual constrangido, através da manipulação directa de um sensor de
força, que permite ao cirurgião contactar apenas com a região do osso a ser removida. Este sistema
foi concebido para aplicações em cirurgias ao joelho.
(Kwon, et al., 2002) propôs, no sistema Arthrobot®, a inserção de um pequeno robô no fémur
do paciente. Neste sistema, o cirurgião utiliza um dispositivo mecânico por forma a determinar a
posição e orientação desejada do implante manualmente, e socorre-se do robô para determinar a sua
geometria.
No sistema Crigos® (Brandt, et al., 1999), foi concebido um robô de cinemática paralela,
ergonómico, destinado à reconstrução tridimensional do órgão a operar, para uma aplicação precisa
em sistemas de navegação.
(Glauser, Fankhauser, Epitaux, Hefti, & Jaccottet, 1995) concebeu, no sistema MINERVA®,
um sistema de navegação através de sobreposição de imagens raio X, para uma reconstrução
tridimensional do cérebro do paciente. Este sistema é, de facto, similar ao NeuroMateTM (Li,
Zamorano, Pandya, A. Perez, Gong, & Diaz, 2002), onde a navegação e posicionamento das
Ilustração 1.2 - Manipulador cirúrgico Acrobot®
3
ferramentas é realizada através de uma localização e identificação de superfícies com recurso a ultra-
sons.
No sistema ROBODOC® (Taylor, et al., 1994), o cirurgião selecciona o modelo do implante e
o seu tamanho, baseado na análise pré-operativa de imagens CT e, interactivamente, especifica a
posição desejada de cada uma das suas componentes, relativas às coordenadas CT.
Relativamente aos sistemas com guiamento Mestre-Escravo, como o Da Vinci® (Guthart &
Salisbury, 2000) e o Zeus® (Ghodoussi, Butner, & Wang, 2002), são utilizados três robôs escravos.
Um deles apenas possui um endoscópio na sua extremidade, sendo que os restantes manipulam
uma variedade de instrumentos. Alguns destes sistemas reproduzem um feedback de força ao
manipulador Mestre.
Tabela 1.1 - Manipuladores Cirúrgicos Mais Comuns
Sistema Instituição País Ano Guiamento Área Clínica Colocação G.D.L.
Acrobot®
Imperial
College
Reino
Unido
2001 Sinergia Ortopedia Carro no
Chão
3
Arthrobot® KAIST Coreia 2002 Baseado em
Indicadores
Ortopedia Osso 4
CRIGOS® Helmholtz
Inst; TIMC-
IMAG
Alemanha;
França
1997 CAD/CAM Ortopedia Mesa de
operação
6
Minerva® Universidade
de Lausanne
Suíça 1993 Raio-X Neurocirurgia Chão 3
NeuroMateTM Integrated
Surgical
Systems
França;
EUA
1996 Pré-
processamento
de Imagem
Neurocirurgia Carro no
chão
6
Robodoc® Integrated
Surgical
Systems
EUA 1992 Planeamento
baseado em CT
Ortopedia Chão com
alvo no osso
6
Da Vinci®
Intuitive
Surgical
EUA 1999 Mestre-Escravo Laparoscopia Carro no
chão
2x6 +
4
Zeus® Computer
Motion
EUA 1998 Mestre-Escravo Laparoscopia Mesa de
Operação
3
1.2. Cirurgia Assistida por Computador (CAC)
Com base nas premissas evidenciadas na secção anterior, e segundo (Joskowicz & Taylor,
2001) é possível antever que o recurso a um sistema cirúrgico assistido por computador permite
intervenções cirúrgicas mais precisas e menos invasiva quando comparada com as cirurgias
convencionais.
O objectivo dos sistemas CAC prende-se com a integração de um sistema que confira uma
destreza superior, um feedback visual e devolva informação relevante ao cirurgião. É, então, baseado
na recorrente utilização de equipamentos médicos na assistência ao cirurgião em tarefas específicas,
4
que surge este novo paradigma. O objectivo é, pois, complementar e possibilitar novas capacidades
ao cirurgião, sem este nunca perder o controlo, isto é, sem nunca o substituir.
Assim, é possível inferir que os sistemas CAC surgem do paradigma crescente que é a
cooperação humano-computador, que acompanha o cirurgião cada vez mais, em tarefas difíceis e
delicadas. Em alguns casos, o cirurgião terá a tarefa de supervisionar um sistema CAC, que
efectuará uma determinada tarefa num tratamento específico, como a inserção de uma sonda ou a
maquinagem de um osso. Noutros casos, o sistema CAC apenas irá fornecer ao cirurgião a
informação necessária à assistência das tarefas manuais que o cirurgião terá de executar. Exemplos
desta utilização surgem através do recurso a gráficos computacionais que situam o cirurgião no
espaço de trabalho. Por vezes, estes dois modos de utilização surgem combinados.
Deste modo, da perspectiva da engenharia de sistemas, o objectivo pode ser definido em
termos de dois conceitos inter-relacionados:
• Os sistemas cirúrgicos CAD/CAM – transformam imagens pré-operativas e outro tipo de
informações em modelos individuais dos pacientes, fornecem assistência clínica no
desenvolvimento e optimização de um plano optimizado de intervenção, regista os dados pré-
operativos no bloco operatório e utiliza uma variedade de sistemas, como os robôs e a
computação gráfica, para assistir na execução precisa das intervenções planeadas.
• Os sistemas cirúrgicos assistidos por robô – trabalham interactivamente com os
cirurgiões, de forma a estender as capacidades e o alcance das tarefas cirúrgicas. Por vezes,
estes sistemas têm incorporados componentes dos sistemas cirúrgicos CAD/CAM. Estes
sistemas surgem, então, por forma a prover uma execução mais precisa dos procedimentos
médicos, bem como possibilitar um pré-planeamento mais rigoroso.
1.3. Cirurgia Ortopédica
Conforme se pode constatar através da análise da Tabela 1.1, hoje em dia são inúmeros os
robôs manipuladores destinados à ortopedia. Quando comparado com outros procedimentos médicos
em tecidos moles, denota-se que a manipulação de ossos, bem como a sua reconstrução, são tarefas
relativamente fáceis de realizar devido à sua maior rigidez. A navegação através do reconhecimento
de imagem é, consequentemente, uma técnica simples de implementar, o que leva a uma maior
concordância entre o planeamento pré-operativo e o procedimento médico. Nesta Tese, será dado
um maior ênfase às cirurgias à anca, nomeadamente ao procedimento de substituição parcial da
cabeça do fémur (Total Hip Resurfacing).
Por forma a comparar as vantagens e desvantagens da cirurgia ortopédica auxiliada por
robôs em detrimento da cirurgia ortopédica convencional, torna-se necessário o conhecimento dos
passos essenciais levados a cabo pelo cirurgião. Para a realização do Total Hip Resurfacing, o
cirurgião começa por expor o fémur do paciente para que toda a área a remover seja facilmente
5
visualizada. A colocação da prótese (Treacy, McBryde, & Pysent, 2005), apresentada na Ilustração
1.3, pressupõe a furação e torneamento do osso para que a sua fixação ao osso seja perfeita.
Ilustração 1.3 - Prótese Birmingham Hip Resurfacing (Smith&Nephew, 2007)
É essencialmente nesta fase do processo que o recurso à robótica ganha preponderância: a
furação e torneamento do osso são procedimentos que exigem elevada precisão que, por muito
eficaz que seja o cirurgião a realizar este acto, é de todo evidente que um robô pode permitir uma
furação muito mais precisa. A dificuldade inerente em furar ou tornear um “alvo móvel” com diferentes
propriedades estruturais, ortotrópico, por parte de um Ser Humano, é uma tarefa difícil de concluir na
perfeição; qualquer erro pode implicar uma cirurgia mais complexa, levando, em casos extremos, à
necessidade de remoção da cabeça do fémur (Total Hip Replacement). Por outro lado, o recurso a
um manipulador robótico, para além de minimizar o risco de falha aquando da furação e torneamento,
elimina a necessidade de sistemas de guiamento complexos que, por vezes, reduzem a visibilidade
do cirurgião, conforme se podem verificar através das Ilustrações 1.4 e 1.5.
Ilustração 1.4 - Inserção do sistema de guiamento e furação do osso (Smith&Nephew, 2007)
6
Ilustração 1.5 - Torneamento da cabeça do fémur
Finalmente, após a furação e torneamento, a preparação, inserção e colagem da prótese no
fémur são processos relativamente rápido
encontram-se, então, ilustrações destes procedimentos
Ilustração 1.6 - Preparação da cabeça do fémur
A análise da Ilustração 1.8
posicionamento final da prótese, quando se recorre ao sistema de guiamento Acrobot
execução deste procedimento cirúrgico.
Torneamento da cabeça do fémur (Smith&Nephew, 2007)
Finalmente, após a furação e torneamento, a preparação, inserção e colagem da prótese no
relativamente rápidos e sem grandes complicações. Nas figuras seguintes
se, então, ilustrações destes procedimentos (Ilustrações 1.6 e 1.7).
Preparação da cabeça do fémur (Smith&Nephew, 2007)
8 permite, então, comparar o planeamento pré
posicionamento final da prótese, quando se recorre ao sistema de guiamento Acrobot
execução deste procedimento cirúrgico.
broca craneana
(Smith&Nephew, 2007)
Finalmente, após a furação e torneamento, a preparação, inserção e colagem da prótese no
e sem grandes complicações. Nas figuras seguintes
(Smith&Nephew, 2007)
permite, então, comparar o planeamento pré-operatório com o
posicionamento final da prótese, quando se recorre ao sistema de guiamento Acrobot® para a
7
Ilustração 1.7 - Colagem da prótese ao fémur (Smith&Nephew, 2007)
Ilustração 1.8 - Planeamento pré-operatório e posição actual da prótese após cirurgia
A correcta análise da Ilustração 1.8 é fundamental para perceber a necessidade da inclusão
de um manipulador robótico aquando da realização deste tipo de cirurgia. Conforme verificado acima
(Ilustração 1.8), a precisão da furação do osso e da inserção da respectiva prótese é elevada,
existindo quase uma correspondência perfeita entre o planeamento realizado e o resultado final. É,
então, fácil de imaginar que um ligeiro desvio do ponto de furação pode ter resultados catastróficos
como a fractura do osso no imediato ou a promoção de um maior desgaste na anca e fémur, devido à
geração de elevadas tensões. Deste modo, o tempo de vida útil desta prótese (estimado em dez
anos) reduz significativamente, levando a uma cirurgia com um grau de dificuldade superior e mais
dolorosa (Total Hip Replacement). Na figura seguinte (Ilustração 1.9), encontram-se ilustradas
8
algumas análises tensoriais a que um fémur se encontra sujeito, sem prótese e com próteses
colocadas com diferentes orientações, onde mais uma vez é reforçada a ideia de que a orientação da
furação não deve ser descuidada, devido à concentração de tensões geradas sobre o pino da
prótese, que promovem um maior desgaste do osso (Teodoro, Pires, Martins, Sá da Costa, & Rego,
2008).
Ilustração 1.9 - Análise Tensorial de um Fémur a) sem prótese; b) com prótese colocada em orientação varus c) com prótese colocada em orientação normal e d) com prótese colocada em
orientação valgus
1.4. Cirurgia Assistida por Robôs vs. Cirurgia Conv encional
A eficácia da cirurgia ortopédica assistida por manipuladores tem sido estudada ao longo dos
tempos. A avaliação do sistema cirúrgico Robodoc® (Bargar, Bauer, & Borner, 1998) foi efectuada em
1998, de onde (Howe & Matsuoka, 1999) retirou as seguintes conclusões:
• Melhor precisão no encaixe da prótese no osso;
• O risco de complicações reduziu de 16,6% para 11,6%;
• O tempo de cirurgia reduziu significativamente;
• Nas primeiras 10 cirurgias, o cirurgião demorou em média 220 minutos a realizar o
procedimento, sendo que, posteriormente, o seu tempo médio é de 90 minutos;
• Existe a necessidade de colocação de um pino, que serve como origem do referencial e,
existe também a necessidade de “amarrar” a perna do paciente à mesa de operações.
Através da análise da secção anterior é, então, possível retirar algumas ilações acerca dos
pontos fortes e dos pontos fracos da utilização da cirurgia ortopédica assistida por robôs, em
detrimento da cirurgia convencional. Como é obvio, ambos os procedimentos têm as suas vantagens
e desvantagens associadas, sendo que, para a realização de uma cirurgia assistida por robôs em
detrimento da cirurgia convencional implica o conhecimento minucioso de quais as características
9
indispensáveis ao procedimento a efectuar e, quais as características acessórias, que não são tão
importantes para que o desempenho da cirurgia não seja afectado significativamente. Deste modo, a
Tabela 1.2 ilustra este mesmo “confronto”, realçando as possibilidades e limitações de cada uma das
cirurgias.
Tabela 1.2 – Vantagens e Desvantagens das Cirurgias Convencionais e das Cirurgias Assistidas por Robôs
Vantagens Desvantagens
Humanos
Excelente julgamento;
Boa coordenação olhos-mãos;
Possibilidade de integrar múltiplas
informações;
Versatilidade e possibilidade de
improviso;
Facilmente treináveis.
Sujeito a fadiga;
Sujeito a tremores na
movimentação;
Manipulação e destreza limitada
fora da escala natural;
Ocupação de elevado volume de
trabalho;
Precisão geométrica limitada;
Difícil de manter esterilizado;
Sujeito a radiações e infecções.
Robôs
Excelente precisão geométrica;
Não sujeito a fadiga e estável;
Imune a radiação;
Pode ser desenhado para operar
em diferentes escalas de
movimento;
Possibilidade de integrar múltiplos
recursos numéricos ou dados
sensoriais.
Não realiza qualquer julgamento;
Difícil de adaptar a novas situações;
Coordenação limitada entre a visão
e o elemento terminal;
Capacidade limitada de integrar e
interpretar informações complexas;
Procedimento caro.
Através da tabela acima (Tabela 1.2), é então possível retirar algumas consequências
directas e indirectas em relação à utilização de robôs no auxílio à cirurgia. Assim, para uma cirurgia
assistida por robôs manipuladores, é possível enumerar as seguintes vantagens:
• Novas opções de tratamento: transcende a possibilidade humana (e.g. microcirurgia),
possibilitando procedimentos menos invasivos;
• Qualidade: melhoramento na qualidade das técnicas de cirurgia, reduzindo a
necessidade de revisões periódicas do paciente;
• Tempo e custo: reduz o tempo de cirurgia e, consequentemente, o tempo de recobro;
• Menos perdas: os procedimentos cirúrgicos são menos invasivos, uma vez que é
fornecida apenas a informação essencial acerca da zona a operar;
10
• Segurança: Reduz erros e complicações cirúrgicas, minimizando a necessidade de uma
nova intervenção cirúrgica;
• Feedback em tempo real: integra modelos pré-operatórios e imagens em tempo real,
guiando o cirurgião ao longo da sua intervenção;
• Precisão: incremento significativo da precisão nas tarefas de manipulação dos tecidos.
1.5. Sistema Proposto
É então, baseado nas vantagens (e desvantagens, claro está) da utilização da robótica
médica que o projecto em que se enquadra esta Tese se rege, onde se torna necessário implementar
um controlador que execute com precisão, os passos necessários à realização da cirurgia ao fémur.
Assim, neste projecto, desenhou-se um controlador que privilegiasse a precisão de furação e
torneamento, possibilitando um “controlo parcial” dos movimentos do robô por parte do cirurgião.
Comparativamente com o controlador projectado pela Acrobot® (Harris, Jakopec, Davies, & Cobb,
1998), onde o robô é manipulado livremente pelo cirurgião dentro de uma zona de segurança; com o
controlador proposto, o cirurgião tem uma cooperação com o robô, na medida em que é este que o
orienta segundo a direcção de furação pretendida, mantendo uma precisão relevante para este tipo
de procedimentos. Por outro lado, o cirurgião realiza o guiamento do manipulador cirúrgico no sentido
da furação. Assim, a força necessária à furação é da responsabilidade do cirurgião que, desta forma,
consegue manter a coordenação entre a direcção de furação e a força a aplicar.
Com base nestas premissas, estudaram-se alguns controladores que poderiam possibilitar
este tipo de cooperação homem-máquina. Conforme se verificará ao longo da Tese, os controladores
indirectos de força, como o Controlador de Complacência ou o Controlador de Impedância permitem
conferir este comportamento ao braço robótico. Do mesmo modo, foi dado também especial destaque
à interface cirurgião-paciente quer in loco, quer à distância (com recurso a dispositivos hápticos).
Resta referir que as aplicações desenvolvidas para a simulação e controlo dos robôs
estudados foram realizadas com recurso à ferramenta computacional Matlab, em especial ao seu
módulo em diagramas de blocos, Simulink, e respectivas toolboxes.
1.6. Contribuição da Tese
A constante evolução da medicina ao longo dos anos é evidente e salta à vista de todos nós.
O desenvolvimento dos procedimentos aliados a uma forte investigação e desenvolvimento de
técnicas cirúrgicas tem apresentado excelentes resultados práticos, que resultam numa maior
esperança média de vida. Contudo, este é um processo inacabado, com elevado potencial de
evolução. É notório, também, a necessidade de complementação entre a medicina e outras ciências.
Deste modo, entende-se que a Tese “Controlo de Impedância de Robôs Manipuladores para
Aplicações a Cirurgias Ortopédicas” assume uma forte contribuição para a Comunidade Científica em
geral e para o Instituto Superior Técnico em particular, na medida em que desenvolve esta aliança,
entre ciências tão distintas e tão próximas, como a medicina e a engenharia. A aplicação de novas
11
tecnologias ao serviço da saúde pública é e sempre será um tema actual com tendência a expandir-
se e, cada vez mais, a inovar-se e a superar-se.
1.7. Organização
A Tese “Controlo de Impedância de Robôs Manipuladores em Aplicações a Cirurgias
Ortopédicas” encontra-se dividida em seis capítulos:
No Capítulo 2 são apresentadas as diferentes estratégias de controlo estudadas, com
especial foco no Controlo de Impedância que, devido às suas características, foi o controlador
adoptado para controlar os robôs estudados. Na mesma ordem de ideias, são apresentados alguns
aspectos práticos da implementação do Controlo de Impedância, bem como alguns casos especiais.
É também efectuada uma breve descrição do ambiente envolvente ao espaço de trabalho do robô
estudado.
No Capítulo 3 são apresentados os modelos cinemáticos e dinâmicos dos robôs estudados,
bem como os controladores e ambiente adoptados por forma a prover estes mesmos robôs do
comportamento complacente requerido. No final deste capítulo é apresentado o modo como o
utilizador interage com o robô e, consequentemente, com o paciente.
No Capítulo 4 são apresentados os aspectos fulcrais da implementação dos controladores
projectados, quer em simulação, quer experimentalmente, com especial destaque para a
implementação do Controlador de Impedância com Controlador Interno de Posição e Orientação no
robô antropomórfico PUMA 560. São também discutidos alguns aspectos práticos relativos à
modelação do fémur em ambiente virtual, ideal para sistemas de navegação em cirurgia assistida por
robôs.
No Capítulo 5 são apresentadas as validações dos modelos dinâmicos virtuais dos robôs e
são comparados os diferentes modelos para o mesmo robô. De igual modo, são comparados os
diferentes controladores implementados quer em simulação, quer experimentalmente. Na última
secção deste capítulo, são apresentados os resultados relevantes, no que diz respeito à interface
cirurgião-paciente, através do dispositivo háptico Novint Falcon®.
No Capítulo 6 são discutidos os desempenhos dos robôs e dos controladores projectados
bem como o desempenho do dispositivo háptico na manipulação do elemento terminal do robô. São
sugeridos, também, alguns trabalhos futuros que, com certeza enriquecerão este projecto e são
retiradas algumas conclusões acerca da Tese realizada.
12
13
2. Controladores de Força
Neste Capítulo são apresentadas as diferentes estratégias de controlo estudadas, com especial
foco no Controlo de Impedância que, devido às suas características, foi o controlador adoptado para
controlar os robôs estudados. Na mesma ordem de ideias, são apresentados alguns aspectos
práticos da implementação do Controlo de Impedância, bem como alguns casos especiais. É também
efectuada uma breve descrição do ambiente envolvente ao espaço de trabalho do robô estudado.
2.1. Descrição do Problema
Conforme o objectivo da Tese indicia, pretende-se efectuar o controlo de posição, força e impacto de
um robô cirúrgico, com o intuito de realizar cirurgias ortopédicas com a maior precisão e segurança
possível. Assim, antes de se projectar qualquer tipo de controlador, torna-se necessário averiguar
quais as especificações requeridas a este projecto, em especial ao espaço de trabalho existente, bem
como as tarefas que o próprio robô manipulador terá que realizar. Antes de mais, é fundamental
situar o leitor na localização espacial a que o robô se encontra constrangido: num Bloco Operatório.
Conforme se pode constatar na Ilustração 2.1, 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. Seguindo estes pergaminhos, é fácil constatar que, para além das limitações físicas
impostas pela própria logística do Bloco Operatório, é necessário constranger o movimento livre do
robô para um espaço limitado (criando os seus próprios constrangimentos ao movimento em
determinadas direcções), encurtando assim o seu espaço de trabalho.
Ilustração 2.1 - Bloco operatório de uma cirurgia convencional
14
Através desta abordagem, assegura-se que robô apenas pode contactar com o paciente na
zona a operar. Assim, e atendendo às principais características do ambiente que circunda o paciente,
o projecto de um controlador para o robô deve seguir estas premissas.
2.2. Controladores
2.2.1. Compensação Baseada no Modelo Estático (Sici liano & Villani, 1999)
Para certas tarefas de movimento no espaço, a regulação do elemento terminal do robô para
uma posição, ?4 de dimensão [3 � 1], e orientação, /4 de dimensão [3 � 3] desejada, constante,
considera-se suficiente. Nestas situações, não é necessário um conhecimento detalhado da dinâmica
do modelo do manipulador, bastando apenas o conhecimento do seu modelo estático, para que este
possa ser compensado. Tendo como base o modelo dinâmico do robô, definido pela equação
seguinte (Sciavicco & Siciliano, 1996),
1 = !"). "6 + �!", "$ ). "$ + D. "$ + &!") (2.1)
com 1 o vector de dimensão [� � 1] de binários nas juntas, !") a matriz de massas de dimensão [� � �], �!", "$ ) o vector de forças de Couriolis de dimensão [� � 1], D o vector de dimensão [� � 1] de
forças viscosas e de Coulomb desenvolvidas pelos motores das juntas, &!") o vector de dimensão [� � 1] da acção da gravidade sobre cada junta, " o ângulo de junta e � o número de juntas , prova-se
(Siciliano & Villani, 1999) que uma acção de controlo que efectue uma força e um momento
equivalente, definido pelo vector E de dimensão [� � 1] que conduza o elemento terminal do robô até
à sua posição e orientação desejadas, é descrita pela equação seguinte
1 = )7!"). E − *+ . "$ + &!") (2.2)
onde &!") é necessário para compensar os binários estáticos devido à gravidade, )7!")E compensa
os binários de junta resultantes, com ) a matriz Jacobiana do robô, e o termo derivativo − *+ . "$ , com *+ uma matriz de dimensão [� � �] positiva definida, acrescenta um comportamento do tipo
amortecedor ao regime transiente do sistema, dissipando, assim, energia ao sistema.
De facto, este controlador estudado não é uma solução do problema aqui colocado; embora
se pretenda uma compensação para uma referência no espaço, esta não é constante. Na mesma
ordem de ideias, verifica-se que esta estratégia de controlo não fornece ao elemento terminal do robô
qualquer comportamento complacente, quando é actuada uma força externa sobre o robô, o que não
é, de todo, conveniente, pois pretende-se que o próprio cirurgião manipule o elemento terminal do
robô ao longo do seu espaço de trabalho, através da aplicação directa de forças e momentos no seu
elemento terminal.
15
2.2.2. Controlo de Indirecto de Força (Siciliano & Villani, 1999)
Os Controladores Indirectos de Força são estratégias de controlo de movimento que
permitem assegurar um comportamento complacente durante a interacção entre o elemento terminal
do robô e o ambiente que o circunda. Desta classe de controladores são, então, distinguidas duas
estratégias principais:
• Controlo de Complacência – que é associado à força (de resistência ao movimento)
que o elemento terminal do robô tende a desenvolver quando a sua posição é
perturbada;
• Controlo de Impedância – que fornece comandos de posição, quando o elemento
terminal do robô se encontra sujeito a forças externas.
No Controlo de Impedância, conforme referido por (Fernandes, 2002), o robô gera forças,
resultantes dos ganhos do controlador de posição e velocidade, sempre que é desviado da trajectória
pretendida. Os referidos ganhos podem ser ajustados em função das características do ambiente,
que provoca o desvio de trajectória (restrições dinâmicas impostas ao elemento terminal), obtendo-se
uma força de contacto em função do desvio. Correntemente, esta estratégia de controlo é referida em
bibliografia diversa (De Schutter, Bruyninckx, Zhu, & Spong, 1998) por controlo de admitância, pois
quando se usa força como entrada do sistema, para modificar a posição (saída), este assume a forma
de uma admitância. Contudo, manter-se-à a designação de controlo de impedância ao longo da Tese,
uma vez que esta é a designação atribuída pela bibliografia de referência (Siciliano & Villani, 1999).
Controlo de Complacência (Siciliano & Villani, 1999)
Este controlador é a primeira estratégia de controlo indirecto de força estudado, uma vez que
já tem em conta as interacções externas do ambiente sobre o próprio elemento terminal do robô, isto
é, aplica um controlo de força (e momento) através de uma acção de correcção do erro relativo de
posição e orientação do elemento terminal.
Através desta abordagem considere-se então, a posição actual do elemento terminal dada
por �5 = [?57 G57]7 e a posição desejada dada por �4 = [?47 G47]7, com G57e G47 vectores de dimensão [1 � 3] que definem a orientação actual e a orientação desejada, respectivamente, escritas segundo
os ângulos de Euler (Roll, Pitch e Yaw). Nestas condições, o erro pode ser expresso pela equação
seguinte
∆�45 = I∆?45∆G45J (2.3)
com ∆?45 = ?4 − ?5 e ∆G45 definido segundo (Sciavicco & Siciliano, 1996).
De facto, o controlador de compensação baseada no modelo estático, dado na equação (2.2),
não garante o seguimento da referência; recorrendo ao erro definido acima, o vector E da equação
(2.2) passa a ser definido por
16
E = K87!G5). *- . ∆�45 (2.4)
onde
*- = I*-L .. *-MJ (2.5)
e
K = N ( .. /O (2.6)
com *-L e *-M matrizes de dimensão [3 � 3], / a matriz de rotação de dimensão [3 � 3] do elemento
terminal, ( a matriz identidade de dimensão [3 � 3] e . a matriz nula de dimensão [3 � 3]. Então, em regime estacionário, verifica-se a seguinte igualdade
)7 . K87!G5). *- . ∆�45 = )7 . ℎ (2.7)
com ℎ definido por
ℎ = IPQJ (2.8)
e P e Q vectores de dimensão [3�1] que representam a força e os momentos exercidos pelo ambiente
sobre o elemento terminal do robô, respectivamente.
Simplificando a equação (2.7) tem-se finalmente
∆�45 = *-89. K7!G5). ℎ (2.9)
Da equação (2.9) podem-se retirar algumas conclusões relativamente ao comportamento em
regime estacionário do manipulador: através de uma acção de controlo proporcional sobre o erro de
posição e orientação, o sistema comporta-se como uma mola generalizada no que diz respeito à
força e momento ℎ aplicados no elemento terminal do robô. A complacência activa sobre o ambiente
exterior é conseguida, então, consoante uma maior ou menor rigidez da mola *-89.
Um caso particular desta estratégia de controlo tem vindo a ser desenvolvida pela Acrobot®,
denominado Controlo Activo de Constrangimentos, sendo que, a grande diferença para o controlador
de complacência apresentado reside essencialmente na diferente rigidez atribuída ao ambiente, em
consequência da posição no espaço em que o elemento terminal do robô se encontra. A ideia básica
associada a este controlador (Courses & Surveys, 2003), (Davies, Harris, Lin, Hibberd, Middleton, &
Cobb, 1997) consiste no aumento rápido da rigidez do robô à medida que este se aproxima de uma
fronteira pré-definida. Assim, o robô é livre de se movimentar dentro de uma região segura devido à
baixa complacência mecânica associada a esta região. Na fronteira da região segura, o robô torna-se
mais rígido no sentido da fronteira, ao ponto de impedir o movimento para o exterior da zona de
trabalho definida. Por forma a evitar instabilidades na fronteira, a rigidez é aumentada gradualmente
ao longo de uma região de transição, entre a região livre e a fronteira. Além disso, apenas a rigidez
17
na direcção da fronteira é ajustada, por forma a possibilitar o movimento sobre a fronteira de modo a
que o utilizador (entenda-se cirurgião) não tenha de realizar uma força de guiamento, no elemento
terminal do robô, muito elevada.
É de notar a evolução das estratégias de controlo estudadas para o comportamento final
desejado. Embora o Controlo de Complacência seja uma estratégia mais adequada face à proposta
pela estratégia anteriormente estudada (baseada na compensação do modelo estático) uma vez que
lida com as forças aplicadas externamente pelo ambiente, neste caso, pelo cirurgião, a modelação
deste mesmo ambiente nem sempre é uma tarefa fácil, pelo que, não é evidente que o simples ajuste
de ganhos proporcionais, *-M, garanta a complacência desejada numa definida direcção (de notar
que K depende da matriz de rotação – não existe um desacoplamento das equações em termos de
orientação). Pretende-se então, passar de um controlador baseado no comportamento estático do
sistema, para uma estratégia de controlo que tenha em conta os seus efeitos dinâmicos.
Controlo de Impedância (Siciliano & Villani, 1999)
Assim, considere-se, então, um robô manipulador rígido sujeito a forças externas
caracterizado pelo seu modelo dinâmico definido pela equação seguinte
1 = !"). "6 + �!", "$ ). "$ + D. "$ + &!") + )7!"). ℎ (2.10)
Por forma a investigar a interacção entre o elemento terminal do robô e o ambiente é
fundamental analisar o desempenho do esquema de controlo baseado na compensação do modelo
dinâmico dado pela seguinte equação
1 = !"). R + �!", "$ ). "$ + D. "$ + &!") (2.11)
Substituindo (2.11) em (2.10), existindo forças de contacto, ℎ, não nulas tem-se
" 6 = R − 89!"). )7!"). ℎ (2.12)
A equação anterior revela a existência de um termo de acoplamento não linear no que diz
respeito às forças e momentos de contacto. De acordo com o conceito de dinâmica inversa
(Caccavale, Siciliano, & Villani, 1999), define-se R como sendo
R = )89!"). �S − )$!", "$ ). "$ � (2.13)
com S dado por
S = NSLSMO (2.14)
e
SL = ?64 + *+L. ∆?$45 + *-L. ∆?45 (2.15)
18
SM = /!G5)!G6 4 + *+M. ∆G$ 45 + *-M . ∆G45 ) + /$ !G5 , G$ 5). G$5 (2.16)
revelando, então, um comportamento no espaço operacional dado pela seguinte equação
(substituindo (2.15) e (2.16) em (2.13))
∆�645 + *+ . ∆�$45 + *- . ∆�45 = K89!G5). )!"). 89!"))7!"). ℎ (2.17)
A equação (2.17) estabelece uma relação através da impedância activa entre as forças e os
momentos de contacto ℎ e o erro de posição e orientação do elemento terminal ∆�45. Este
comportamento de impedância pode ser atribuído ao sistema mecânico caracterizado pela matriz de
massas, T, definida por
T = )87 . . )89. K (2.18)
pela matriz de amortecimento T. *+ e pela matriz de rigidez T. *-, que permitem especificar o
comportamento mecânico do elemento terminal do robô.
A presença de T mantém o sistema acoplado e não linear. Caso se deseje a linearidade e
desacoplamento dos parâmetros durante a interacção com o ambiente, torna-se necessário medir as
forças e os momentos de contacto, recorrendo a um sensor de força/binário a inserir no elemento
terminal do robô.
Partindo da equação (2.10) e fazendo "6 = R vem
1 = !"). R + �!", "$ ). "$ + D. "$ + &!") + )7!"). ℎ (2.19)
com R determinado pela equação (2.13) e SL e SM definidos agora por SL = ?64 + *,L89!*+L. ∆?$45 + *-L. ∆?45 − P) (2.20)
SM = /!G5)!G6 4 + *,M89!*+M. ∆G$ 45 + *-M . ∆G45 − /7!G5). Q)) + /$ !G5 , G$5). G$5 (2.21)
e *,L e *,M matrizes de ganhos positivos definidos. Nestas condições, assumindo a inexistência de
erros de medida nos sensores de força, tem-se o seguinte sistema de equações para o espaço
operacional:
*,L. ∆?645 + *+L. ∆?$45 + *-L. ∆?45 = P (2.22)
*,M . ∆G6 45 + *+M. ∆G$ 45 + *-M . ∆G45 = /7!G5). Q (2.23)
Verifica-se então que, a adição do termo )7!"). ℎ à equação (2.19) compensa exactamente a
força e os momentos de contacto. De modo a conferir um comportamento complacente ao elemento
terminal do robô, os termos P e /7!G5). Q adicionados às equações (2.20) e (2.21) permitem
caracterizar o elemento terminal com uma impedância linear e desacoplada, quer para as equações
de translação (2.22) quer para as equações de rotação (2.23). Finalmente, pode-se verificar o
esquema do controlador de impedância na Ilustração 2.2.
19
Ilustração 2.2 - Esquema do Controlador de Impedância
Controlo de Impedância Com Controlador Interno de Posição e Orientação (CIPO) (Siciliano & Villani, 1999)
A escolha de parâmetros de impedância (leiam-se ganhos do controlador) que garantem um
comportamento complacente satisfatório durante a interacção, podem tornar-se inadequados para
assegurar um seguimento preciso da posição e orientação desejadas quando o elemento terminal do
robô se movimenta em espaço livre. De facto, tendo em conta o efeito de uma perturbação U e
concatenando as equações (2.22) e (2.23), tem-se
*, . ∆�645 + *+ . ∆�$45 + *- . ∆�45 = K7!G5). ℎ + *,. K89!G5). U (2.24)
com
*, = I*,L .. *,MJ (2.25)
Pelo menos em regime estacionário, uma rejeição da perturbação poderá ser efectivamente
conseguida através da escolha de ganhos baixos para o produto matricial *-89. *,, o que corresponde
a uma acção de controlo rígida com uma massa reduzida no elemento terminal. Este comportamento
poderá eventualmente colidir com o desejo de garantir um comportamento complacente adequado
quando o elemento terminal do robô se encontrar em contacto com um ambiente de elevada rigidez.
Como solução para este problema, propôs-se em (Siciliano & Villani, 1999) a separação do
controlador projectado em dois controladores que lidam, individualmente, com cada uma das fases do
controlo, existindo então:
• Um anel interior, onde a acção de controlo garante a posição e orientação desejada através
de um controlador de posição e orientação Proporcional-Derivativo;
• Um anel exterior, que lida com a impedância do próprio ambiente.
Deste modo, a acção de controlo resultante do controlador de impedância será agora a
entrada do anel interior que altera, assim, a referência a seguir. Através deste método, é comprovada
Controlador de
Impedância
(2.20),(2.21)
RobôDinâmica
Inversa (2.19)
Cinemática
Directa
20
a robustez do sistema de controlo, onde os erros de medição associados aos sensores de força (e à
dinâmica dos robôs) são desacoplados do seguimento da referência de posição e orientação. Por
outras palavras, é realizada uma eficaz rejeição dos erros inerentes à própria medição sensorial.
Contudo, o preço a pagar por esta robustez prende-se com a velocidade de execução tanto do anel
interior como do anel exterior; a estabilidade deste sistema é garantida apenas para o caso em que o
anel interior (de controlo de posição e orientação) seja mais rápido que o anel exterior (do controlo de
impedância). Assim, os pólos associados ao anel interior têm de ser suficientemente rápidos para que
o sistema seja estável. Consequentemente, pode-se afirmar que a largura de banda do anel interior
tem de ser superior à largura de banda do anel exterior para que seja garantida a estabilidade do
sistema.
Deste modo, ao contrário do que foi proposto pelo Controlador de Impedância, onde se
sugeriu o seguimento para um referencial desejado, ?4 e /4, no Controlador de Impedância CIPO
considerou-se um referencial de complacência ?; (vector posição de dimensão [3 � 1]) e /; (matriz de
orientação de dimensão [3 � 3]) e uma impedância mecânica que impõe o comportamento dinâmico
de posição e orientação desejadas, entre os dois referenciais.
Tomando como referência o modelo dinâmico dado pela equação (2.10) e a lei de controlo
(2.19) é possível verificar que a força e os momentos medidos são exactamente compensados.
Então, do ponto de vista de (2.20), no referencial de complacência, para a posição tem-se
SL = ?6; + *+L. ∆?$;5 + *-L. ∆?;5 (2.26)
com ∆?;5 = ?; − ?5. Assim, tem-se então a seguinte equação que caracteriza a impedância de
translação:
*, . ∆?64; + *+ . ∆?$4; + *- . ∆?4; = P (2.27)
Verifica-se, então, que ?; pode ser obtido através da integração sucessiva da equação
anterior, sendo P medido pelo sensor de força/binário.
Para caracterizar a orientação, optou-se pela utilização de quaterniões (Chiaverini & Siciliano,
1999) – apresentados no Anexo A – uma vez que a sua representação não tem singularidades e,
assim, é possível definir todo o espaço operacional.
À semelhança do que foi apresentado na equação (2.26) para a impedância de translação,
para a impedância de rotação tem-se
SM = 2$ ; + *+M. ∆2;5 + *-M. /5 . V;55 (2.28)
onde ∆2;5 = 2; − 25, /5 representa a orientação actual do elemento terminal e V;55 definido de forma
análoga à equação (A.12) do Anexo A.
Assim, a parte rotacional da impedância pode ser descrita pela seguinte equação
21
*,M. ∆ 2$ 4; + *+M. ∆ 24;;; + *′-M. V4; = Q;; (2.29)
onde Q; são os momentos aplicados no referencial de complacência, ∆ 24;; = /;7!24 − 2;), ∆ 2$ 4;; a
sua derivada no tempo e *′-Mdefinido por
*′-M = 2. X7!Y4; , V4;; ). *-M (2.30)
com X7!Y4;, V4;; ) definido de forma similar à equação (A.10) e extraído do vector /4; definido em
(A.11) no Anexo A.
Finalmente, é de notar que /;, 2; e 2$ ; podem ser obtidos através da sucessiva integração de
(2.29).
Na Ilustração 2.3 é possível verificar o diagrama de blocos correspondente a este controlador.
Ilustração 2.3 - Esquema do Controlador de Impedância CIPO
Um caso particular desta estratégia de controlo é proposta por (Albu-Schaffer & Hirzinger,
2002) por forma a lidar com a necessidade de manter elevados ganhos para a matriz de rigidez, no
Controlo de Impedância. Genericamente, este controlador é em tudo similar ao Controlador de
Impedância CIPO, com excepção ao Controlador Interno de Posição e Orientação, que é controlado
no espaço de juntas e não no espaço cartesiano.
Numa situação como a descrita acima, os problemas de estabilidade surgem essencialmente
quando a largura de banda do Controlador de Impedância se aproxima da largura de banda do
controlador de posição e orientação. Assim, para lidar com esta situação, o autor propõe um controlo
de rigidez local, que apenas afecta a vizinhança da última posição do espaço cartesiano. Deste
modo, à compensação dinâmica descrita na equação (2.22) é adicionado um termo de rigidez que
ajuda a manter uma evolução lenta do tempo de amostragem no espaço cartesiano, em contraste
com a rápida resposta do controlador em espaço de juntas.
2.3. Controlador Estudado
Por todas as características apresentadas anteriormente, o controlador que mais se adequa
ao comportamento exigido é o Controlador de Impedância proposto por (Siciliano & Villani, 1999).
Controlador de
Impedância
(2.27),(2.29)
RobôDinâmica
Inversa (2.19)
Cinemática
Directa
Controlador de
Posição
Orientação
(2.26),(2.28)
22
Foram então estudados o Controlador de Impedância implementado num robô planar de três graus
de liberdade e o Controlador de Impedância CIPO implementado no mesmo robô planar e num robô
antropomórfico de seis graus de liberdade. Finalmente, foi implementado experimentalmente este
último controlador no robô planar rígido de dois graus de liberdade presente no Laboratório de
Controlo, Automação e Robótica do Instituto Superior Técnico. Contudo, uma vez que este robô se
movimenta no plano, apenas se conferiu impedância na sua posição.
2.4. Ambiente do Controlo de Impedância
Embora seja possível obter o modelo do manipulador com elevada precisão, a modelação do
ambiente envolvente ao espaço de trabalho do robô controlado é uma tarefa que nem sempre é fácil
(Sciavicco & Siciliano, 1996). A manipulação do elemento terminal é caracterizada, então, pelo
constrangimento ao longo de algumas direcções, que impossibilitam o deslocamento do mesmo. No
caso em estudo, por exemplo, pretende-se uma impedância constante segundo a orientação de
furação do osso, ao passo que na direcção normal, à medida que o elemento terminal do robô se
aproxima do paciente, se pretenda uma impedância crescente, de modo a tornar o ambiente o mais
rígido possível nas proximidades do osso.
Tomando estas premissas como ponto de partida para a modelação do ambiente associado
ao espaço de trabalho do robô, é determinado offline o ponto de furação (por parte do cirurgião, claro
está), bem como a recta de furação1, isto é, a orientação que o elemento terminal deve manter
quando entrar em contacto com o paciente. Deste modo, pretende-se que, na ausência de forças
exteriores, o elemento terminal do robô se encontre exactamente posicionado sobre a recta de
furação, orientado segundo a direcção de furação pretendida. O comportamento complacente
atribuído ao longo do espaço de trabalho evolui com a proximidade ao ponto de furação. Quer-se com
isto dizer que, quanto mais perto o elemento terminal se encontrar do ponto de furação, maior será a
resistência que o ambiente oferece à movimentação do robô, para uma zona afastada da recta de
furação.
Conforme tem sido referido ao longo desta secção, o comportamento complacente evolui à
medida que o elemento terminal progride na direcção tangente à recta de furação, comportando-se
assim, como um sistema massa+mola+amortecedor, onde a frequência natural do sistema, definida
por
23 = Z*-*, (2.31)
é tanto maior, quanto mais próximo o elemento terminal do robô se encontrar do ponto de furação.
Contudo, este comportamento complacente não é necessário ao longo da direcção de furação. Neste
1 A recta de furação de um órgão a operar é em geral, normal ao ponto de furação. Contudo, para efeitos médicos, muitos cirurgiões optam por realizar estas furações a menos de um pequeno ângulo com a normal, conferindo uma melhor aderência da prótese ao osso (Teodoro, Pires, Martins, Sá da Costa, & Rego, 2008).
caso, apenas é aplicado um amortecimento viscoso ao sistema, de modo a que o próprio cirurgião
tenha o controlo da força a aplicar na dire
Em (Courses & Surveys, 2003)
zonas independentes:
• Uma zona I: onde o cirurgião movimenta livremente o elemento terminal do robô sem que
haja qualquer comportamento complacente;
• Uma zona II: sendo uma zona de transição, onde a rigidez e o amortecimento do sistema
aumentam à medida que o elemento terminal do robô se afasta da zona I;
• Uma zona III: coincidente com a fronteira, onde o ambiente tem
elevada que, não é possível para o elemento terminal do robô penetrar para fora desta zona.
Para determinar a complacência a aplicar em cada uma das regiões, o autor
ponto da fronteira mais próximo do elemento termi
mesma fronteira (realizando uma transformação de uma dimensão 2 para uma dimensão 2.5)
longo da direcção de furação e é determinado o vector normal à fronteira nesse ponto mais próximo.
O módulo da complacência determinada é totalmente aplicado sobre essa direcção, não existindo
qualquer comportamento complacente associado a outra direcção. Este ambiente é representado na
Ilustração 2.4.
Ilustração 2.4 – Ambiente de complacência atribuído no controlador do Acrobot
Com a aplicação deste ambiente ao elemento terminal do robô, o cirurgião tem o total
controlo do robô perto da recta de furação, tendo a liberdade de manipular o robô sem qualquer
restrição ao longo de toda a região I. Em contrapartida, numa zona afastada da recta de furação,
torna-se necessário conhecer a fronteira ao pormenor, o que nem
caso, apenas é aplicado um amortecimento viscoso ao sistema, de modo a que o próprio cirurgião
tenha o controlo da força a aplicar na direcção de furação do osso.
(Courses & Surveys, 2003), o autor define uma região de trabalho constituída por três
Uma zona I: onde o cirurgião movimenta livremente o elemento terminal do robô sem que
qualquer comportamento complacente;
Uma zona II: sendo uma zona de transição, onde a rigidez e o amortecimento do sistema
aumentam à medida que o elemento terminal do robô se afasta da zona I;
Uma zona III: coincidente com a fronteira, onde o ambiente tem uma rigidez de tal modo
elevada que, não é possível para o elemento terminal do robô penetrar para fora desta zona.
Para determinar a complacência a aplicar em cada uma das regiões, o autor
ponto da fronteira mais próximo do elemento terminal do robô e executa a expansão cilíndrica d
(realizando uma transformação de uma dimensão 2 para uma dimensão 2.5)
e é determinado o vector normal à fronteira nesse ponto mais próximo.
acência determinada é totalmente aplicado sobre essa direcção, não existindo
qualquer comportamento complacente associado a outra direcção. Este ambiente é representado na
Ambiente de complacência atribuído no controlador do Acrobot
Com a aplicação deste ambiente ao elemento terminal do robô, o cirurgião tem o total
controlo do robô perto da recta de furação, tendo a liberdade de manipular o robô sem qualquer
restrição ao longo de toda a região I. Em contrapartida, numa zona afastada da recta de furação,
se necessário conhecer a fronteira ao pormenor, o que nem sempre é uma tarefa fácil.
23
caso, apenas é aplicado um amortecimento viscoso ao sistema, de modo a que o próprio cirurgião
, o autor define uma região de trabalho constituída por três
Uma zona I: onde o cirurgião movimenta livremente o elemento terminal do robô sem que
Uma zona II: sendo uma zona de transição, onde a rigidez e o amortecimento do sistema
aumentam à medida que o elemento terminal do robô se afasta da zona I;
uma rigidez de tal modo
elevada que, não é possível para o elemento terminal do robô penetrar para fora desta zona.
Para determinar a complacência a aplicar em cada uma das regiões, o autor determina qual o
executa a expansão cilíndrica dessa
(realizando uma transformação de uma dimensão 2 para uma dimensão 2.5) ao
e é determinado o vector normal à fronteira nesse ponto mais próximo.
acência determinada é totalmente aplicado sobre essa direcção, não existindo
qualquer comportamento complacente associado a outra direcção. Este ambiente é representado na
Ambiente de complacência atribuído no controlador do Acrobot®
Com a aplicação deste ambiente ao elemento terminal do robô, o cirurgião tem o total
controlo do robô perto da recta de furação, tendo a liberdade de manipular o robô sem qualquer
restrição ao longo de toda a região I. Em contrapartida, numa zona afastada da recta de furação,
sempre é uma tarefa fácil.
24
2.5. Ambiente Estudado
A solução encontrada para o ambiente em estudo apenas exige o conhecimento do ponto de
furação e a direcção de furação associada. Conhecidos estes parâmetros geométricos, a impedância
atribuída ao ambiente é semelhante à aplicada sobre a região II do ambiente proposto por (Courses &
Surveys, 2003). Nesta situação, qualquer desvio do elemento terminal relativamente à direcção de
furação provoca imediatamente uma impedância no sentido normal a essa mesma direcção de
furação, reposicionando o elemento terminal do robô sobre essa mesma direcção de furação. Esta
impedância é tanto maior, quanto mais perto o elemento terminal do robô se encontrar do ponto de
furação.
Uma vez que o robô se pode movimentar livremente em todo o seu espaço de trabalho,
atribuindo em todo o instante uma impedância ao longo de todo o ambiente, consoante o desvio do
elemento terminal relativamente à direcção de furação, não se torna necessário a definição de uma
fronteira; apenas é necessário conhecer pormenorizadamente o ponto e a direcção de furação.
Deste modo, quando o elemento terminal do robô se encontra próximo do ponto de furação, é
provido ao ambiente uma rigidez de tal modo elevada, para que este apenas seja deslocado da
direcção de furação, quando aplicada uma força elevada. Na Ilustração 2.5 encontra-se apresentado
o ambiente atribuído ao elemento terminal do robô, em função da distância mínima ao ponto de
furação (DMPF), na presença de uma força constante, perpendicular à direcção de furação.
Ilustração 2.5 - Ambiente de Complacência atribuído ao elemento terminal do robô, em função da DMPF
25
3. Descrição
Neste Capítulo são apresentados os modelos cinemáticos e dinâmicos dos robôs estudados,
bem como os controladores e ambiente adoptados por forma a prover estes mesmos robôs do
comportamento complacente requerido. No final deste capítulo é apresentado o modo em como o
utilizador interage com o robô e, consequentemente, com o paciente.
3.1. Robô planar de três Graus de Liberdade
Recordando a secção 2.3 do capítulo anterior, foi adoptado o Controlador de Impedância e o
Controlador de Impedância com Controlo Interno de Posição e Orientação para controlar um robô
planar de três graus de liberdade. Este robô é caracterizado por ter os seus elos rígidos e três juntas
rotóides, paralelas entre si. Considerou-se que o momento de inércia de cada um dos elos pode ser
simplificado e representado pelo momento de inércia de uma barra esbelta, sem perda de
generalidade. Considerou-se igualmente que o centro de massa de cada um dos elos coincide com o
seu centro geométrico, que a sua massa se encontra concentrada no seu centro de massa e que a
dinâmica dos motores em cada uma das juntas não é significativa para a dinâmica de cada um dos
elos, considerando-se apenas que a sua massa está associada à massa do correspondente elo. Na
figura seguinte (Ilustração 3.1) encontram-se ilustrados os parâmetros geométricos do robô
considerado, bem como a escolha de referenciais adoptados para cada uma das juntas. A Tabela 3.1
apresenta, então, os parâmetros geométricos e dinâmicos do robô planar de três graus de liberdade.
Tabela 3.1 - Parâmetros Geométricos e Dinâmicos do Robô Planar de Três Graus de Liberdade
Junta Comprimento
(m)
Massa
(Kg)
1º Momento
(Kg.m)
Momento de
Inércia (Kg.m 4)
Eixo de
Rotação
1 0.5 5 !1.25; 0; 0) ([[ = 0.6 �]
2 0.5 3 !0.75; 0; 0) ([[ = 0.4 �9
3 0.1 1 !0.05; 0; 0) ([[ = 0.1 ��
26
Ilustração 3.1 – Colocação de referenciais segundo o algoritmo de Denavit-Hartenberg, no robô planar de três graus de liberdade
Dos parâmetros apresentados acima, deduziu-se o modelo cinemático do robô em
coordenadas homogéneas (Angeles, 2003), (Sciavicco & Siciliano, 1996) como sendo
0̀ = a�9�`�9�`00−�9�`�9�`00
0010S9�9 + S��9� + S`�9�`S9�9 + S��9� + S`�9�`01 b]
(3.1)
com �� ≡ �����; �� ≡ �����; ��� ≡ cos��� + ���; ��� ≡ sin��� + ���; ���c ≡ cos��� + �� + �c� e ���c ≡sin��� + �� + �c�.
Considerando, então, o modelo dinâmico do sistema apresentado em (2.1), este pode ser
rescrito como sendo
1 = !"). "6 + �!", "$ ) (3.2)
sendo !") a matriz de massas, simétrica e positiva definida de dimensão [3 � 3] e �!", "$ ) um vector
de dimensão [3 � 1] que representa a soma dos parâmetros associados à gravidade, forças de
Couriolis, fricção e forças viscosas. Então, tendo por base o cálculo da energia cinética e energia
potencial de cada um dos elos do robô e aplicando as equações de Lagrange definidas por
UUd eℒ�$� − eℒ�� = 1� (3.3)
com � = 1, … , 3 e 1� a força generalizada associada à coordenada generalizada �� e
ℒ = 0 − h (3.4)
com 0 a energia cinética do elo e h a sua energia potencial, é possível deduzir o modelo dinâmico do
sistema, apresentado no Anexo B.1.
De notar que a matriz de massas !") é uma matriz de dimensão [3 � 3] uma vez que
existem apenas três graus de liberdade associados a este robô. Sendo este um robô planar que se
27
movimenta no plano ��, verifica-se também que as forças aplicadas no elemento terminal são
vectores de dimensão [3 � 1], sendo estas genericamente representadas por
ℎ = i DjDkT[l (3.5)
no espaço cartesiano.
3.2. Robô PUMA 560 de seis Graus de Liberdade
Uma vez que se pretende que o robô cirúrgico possua um espaço operacional tridimensional,
a implementação do Controlador de Impedância com Controlo Interno de Posição e Orientação num
robô antropomórfico de seis graus de liberdade é de todo conveniente por forma a testar todas as
funcionalidades deste controlador. Assim, o robô no qual se implementou a metodologia de controlo
projectada foi o robô antropomórfico PUMA 560 (Fernandes, 2002), ilustrado na figura seguinte
(Ilustração 3.2).
Ilustração 3.2 - PUMA 560
À semelhança do robô de três graus de liberdade, para a implementação do Controlador de
Impedância com Controlo Interno de Posição e Orientação é igualmente necessário o conhecimento
da cinemática e da dinâmica deste robô manipulador. Estes robôs foram sobejamente estudados pelo
que, é possível obter os parâmetros cinemáticos e dinâmicos deste manipulador em literatura diversa
(Armstrong, Khatib, & Burdick, 1986) (Lewis, Dawson, & Abdallah, 2004). Para a simulação deste
robô foi utilizada a toolbox MECANISMO, que recorre à manipulação simbólica para a construção de
modelos eficientes destinados à computação em tempo real. Na Ilustração 3.3 encontra-se
representada a colocação de referenciais sobre as juntas segundo o algoritmo da toolbox
MECANISMO (Martins, 2007).
28
Analogamente ao que foi apresentado na Tabela 3.1 para o robô planar de três graus de
liberdade, a Tabela 3.2 apresenta os parâmetros cinemáticos e dinâmicos do robô PUMA 560 (Corke
P. , 1996), apropriados para utilização no MECANISMO.
Tabela 3.2 - Parâmetros Geométricos e Dinâmicos do Robô PUMA 560
Junta Distância ao
próximo referencial
(m)
Massa
(Kg)
1º Momento (Kg.m) Matriz de Inércia (Kg.m 4) Eixo de
Rotação
1 (-0.15005,0,0) 0 !0; 0; 0) m0 0 00 1.134 00 0 0n []
2 (0;0;04318) 17.4 !−1.3485; 0.1044; 1.1832) m2.9449 0.0081 0.09170.0081 0.7090 −0.00710.0971 −0.0071 0.2350 n [�] 3 (0;0.4318;0.0203) 4.8 !−0.0677; 0.3360; 0) m0.6864 0.0047 00.0047 0.0135 00 0 0.0905n [�] 4 (0;0;0) 0.82 !0; 0.0156; 0) m0.0021 0 00 0.1921 00 0 0.0021n [] 5 (0;0;0) 0.34 !0; 0; 0) m0.1711 0 00 0.0003 00 0 0.0003n [�] 6 (0;0;0) 0.09 !0; 0.0029; 0) m0.0002 0 00 0.1941 00 0 0.0002n []
Ilustração 3.3 – Colocação de referenciais do Robô antropomórfico PUMA 560
Assim, novamente em coordenadas homogéneas, tem-se para a cinemática do robô PUMA
560 (Fu, Gonzalez, & Lee, 1987), 0q] , a seguinte matriz:
0q] = 0̀ . 0q`] (3.6)
29
com
0̀ = a�9��`�9��`−��`0−�9�900
�9��`�9��`��`0S��9�� + S`�9��` − U��9S��9�� + S`�9��` + U��9−S��� − S`��`1 b]
(3.7a)
0q = a�r�s�q − �r�q�r�s�q + �r�q−�s�q0−�r�s�q − �r�q−�r�s�q + �r�q�s�q0
�r�s�r�s�s0Uq�r�sUq�r�sUq�s + Ur1 b` (3.7b)
Finalmente, a dinâmica do robô antropomórfico PUMA 560 (Corke & Armstrong-Helouvry,
1994), (Lewis, Dawson, & Abdallah, 2004) encontra-se ilustrada no Anexo B.2.
3.3. Robô Planar experimental de dois graus de libe rdade
A validação dos controladores projectados é finalmente concretizada com a implementação
experimental dos mesmos num robô real. Assim, dada a necessidade de adoptar um robô rígido que
tivesse incorporado um sensor de força que permitisse testar as funcionalidades dos controladores
projectados e dado que, o robô rígido de dois graus de liberdade (Ilustração 3.4), presente no
Laboratório de Controlo, Automação e Robótica do Instituto Superior Técnico, satisfazia estes
requisitos, este foi uma escolha natural para a implementação experimental do Controlador de
Impedância CIPO.
Ilustração 3.4 - Robô planar de dois graus de liberdade presente no Laboratório de Controlo Automação e Robótica do Instituto Superior Técnico
Contudo, uma vez que este robô apenas possui dois graus de liberdade, foi implementado
somente o controlador interno de posição. Este robô é caracterizado por possuir dois elos rígidos e
um sensor de força no elemento terminal. É de destacar também que, devido ao peso dos motores, o
centro de massa de cada um dos elos do robô (e consequentemente o primeiro momento de inércia)
30
se encontra próximo dos respectivos eixos de rotação. Na Tabela 3.3 são apresentados os
parâmetros geométricos e dinâmicos do robô estudado. A figura seguinte (Ilustração 3.5) ilustra
também a colocação dos referenciais inerciais de cada um dos elos, segundo o algoritmo de Denavit-
Hartenberg. De notar que o eixo do referencial global se encontra sujeito à acção da gravidade.
Tabela 3.3 - Parâmetros Geométricos e Dinâmicos do Robô Planar Experimental de Três Graus de Liberdade
Junta Comprimento
(m)
Massa
(Kg)
1º Momento
(Kg.m)
Momento de
Inércia (Kg.m 4)
Eixo de
Rotação
1 0.4 5 !0.8150; 0; 0) ([[ = 0.25 �]
2 0.3 3 !0.6; 0; 0) ([[ = 0.3 �9
Ilustração 3.5 - Colocação de referenciais sobre as juntas do robô planar, segundo o algoritmo Denavit-Hartenberg
Assim, tem-se a cinemática do robô dada por
0� = a�9��9�00−�9��9�00
0010S9�9 + S��9�S9�9 + S��9�01 b]
(3.8)
E a sua dinâmica pode ser escrita como
N191�O = I=9�%9� + =�S9� + =��%�� + =�S9�%��� =��%�� + =�S9�%���=��%�� + =�S9�%��� =��%�� J t�69�6�u+ =9&�%9�9 + =�&�%9�9 − =�S9�%���!2�$9�$� + �$�)=�&�%��9� + =�S9�%����$9�
(3.9)
onde �%� representa a posição do centro de massa da junta �. Finalmente, é então de referir que o elemento terminal do robô apenas se encontra sujeito a
forças definidas no plano ��, pelo que o vector de forças generalizadas ℎ, vem dado por:
ℎ = IDjDkJ (3.10)
31
3.4. Realidade Virtual
A realidade virtual começou por ser desenvolvida no final dos anos 70 como material de
simulação de voo, para a classe de aviação do Departamento de Defesa dos Estados Unidos, de
modo a que os seus pilotos tivessem a possibilidade de praticar, para que fosse adquirida a
experiência necessária à pilotagem de um avião real (Magadalena, 2002). A mesma analogia pode
ser realizada para os controladores projectados: antes de “arriscar” na implementação dos
controladores directamente nos robôs, é fundamental simular a sua resposta, a priori, recorrendo à
Realidade Virtual e ao modelo dinâmico do próprio robô.
3.4.1. Realidade Virtual dos Robôs
Conforme referido no Capítulo 1, uma vez que o trabalho foi desenvolvido em Simulink
(ferramenta do Matlab) e, dado que este compilador tem uma interface desenvolvida para Realidade
Virtual (MathWorks, 2005), é de todo vantajoso desenvolver os modelos de animação, quer dos robôs
planares, quer do PUMA 560, em simulação. Assim, na aplicação em realidade virtual, é necessário
incorporar o modelo de cada um dos robôs, o controlador projectado e o órgão a operar (neste caso,
o fémur). Desta forma, quanto mais aprofundado for o conhecimento que se tem acerca do
comportamento dinâmico de cada um dos elementos, mais fiel é a aproximação do modelo em
realidade virtual ao mundo real. Contudo, nem sempre é possível reeditar o sistema físico real num
modelo de simulação, pelo que, os resultados obtidos em simulação nem sempre reproduzem, na
íntegra, esse mesmo sistema real.
Deste modo, a figura seguinte (Ilustração 3.6) ilustra o modelo de realidade virtual (Ligos,
1997) criado para representar o robô planar de três graus de liberdade.
Ilustração 3.6 - Realidade virtual do robô planar de dois graus de liberdade
32
Na mesma ordem de ideias, a figura seguinte (Ilustração 3.7) ilustra o modelo fornecido por
(Silva, 2008) do robô PUMA 560.
Ilustração 3.7 - Realidade virtual do robô antropomórfico PUMA 560
Finalmente, por forma a ter uma comparação entre o desempenho real e virtual do robô
planar de dois graus de liberdade, foi criado também um modelo virtual simplificado do mesmo. A sua
visualização é ilustrada na figura seguinte (Ilustração 3.8).
Ilustração 3.8 - Realidade virtual do robô planar experimental de dois graus de liberdade
3.4.2. Modelo de Realidade Virtual do Osso
Relativamente ao fémur estudado, este foi obtido através de uma Tomografia Axial
Computorizada (TAC), que forneceu a localização tridimensional de pontos pertencentes à sua
superfície. Foi, então, necessário manipular estes valores e transformá-los, de modo a compatibilizar
33
este modelo com a realidade virtual do Simulink. Dada a dificuldade de conhecer detalhadamente a
localização de qualquer ponto do fémur (a modelação matemática de superfícies irregulares é tarefa
difícil de concretizar), torna-se então necessário interpolar os pontos conhecidos, por forma a ter um
conhecimento o mais pormenorizado possível da superfície do osso.
Assim, a reconstrução da superfície do osso pode ser realizada através de diferentes
metodologias de engenharia inversa2. A reconstrução de uma superfície a partir de uma nuvem de
pontos é, então, de extrema utilidade. A qualidade da reconstrução da superfície é altamente
condicionada pelo número de pontos disponíveis para essa reconstrução; para superfícies mais
complexas (entenda-se, com geometrias mais irregulares), a quantidade de pontos recolhidos é um
parâmetro fulcral. Alguns pacotes comerciais (incluindo o VR-BuilderTM, cuja interface com o Simulink
se encontra desenvolvida) já têm em si, implementados alguns destes algoritmos de reconstrução.
Dos mais usuais, destacam-se os algoritmos de triangulação de Delaunay e Voronoi (Persson &
Strang, 2004), cujas toolboxes se encontram implementadas no Matlab, as superfícies de Bézier
(Prautzsch & Paluszny, 2005) e as Non-Uniform Rational B-Splines (NURBS) (Ambrosius, 2005), (Eck
& Hoppe, 1996), (Wang, Pottmann, & Liu, 2006).
Para uma questão de visualização, recorreu-se ao software de CAD, VTK e exportou-se o
modelo para o software de realidade virtual do Matlab, VR-Builder™, obtendo-se então a seguinte
visualização para o fémur (Ilustração 3.9).
Ilustração 3.9 - Visualização em realidade virtual do fémur estudado
3.5. Interface Cirurgião-Paciente
A interacção entre o cirurgião e o paciente é um procedimento fulcral para que uma operação
tenha o sucesso desejado. Os pequenos movimentos do paciente e as suas reacções às forças
2 A engenharia inversa é um ramo da engenharia que realiza a reconstrução de superfícies virtuais a partir de modelos reais existentes.
34
aplicadas pelo cirurgião são, assim, situações que podem alterar o rumo de uma cirurgia. Quando
toda esta interacção é repercutida sobre o manipulador cirúrgico, o cirurgião está, inconscientemente,
a depositar total confiança na acção de controlo que o manipulador cirúrgico tomar, sem que o
cirurgião tenha qualquer controlo sobre estas reacções. Toda esta situação é algo que desagrada ao
cirurgião; o médico não pretende que um robô o substitua, querendo este, também, ter a reacção do
paciente, para que lhe possa administrar uma maior ou menor força, para que o possa posicionar
sobre a marquesa de um modo mais conveniente, etc. Assim, surge a necessidade de criar uma
interface viável entre o cirurgião e o paciente, para que este tenha a sensibilidade da força que o robô
está a exercer sobre o paciente (e consequentemente da sua reacção) e que indique a sua
localização espacial relativamente ao paciente. A forma sugerida para realizar esta interface, nesta
Tese, é através de um dispositivo háptico de três graus de liberdade e com realimentação de força
(Rossi, Tuer, & Wang, 2005), (de Pascale, de Pascale, Prattichizzo, & Barbagli, 2004). A inclusão
deste tipo de comandos em telemedicina não é inédita (Eriksson, Flemmer, & Wikander, 2005), pelo
que, a aquisição do dispositivo háptico Novint Falcon (Ilustração 3.10) se torna numa ferramenta de
extrema utilidade nesta Tese.
Ilustração 3.10 - Dispositivo háptico Novint Falcon
O Novint Falcon comunica com o computador através de uma ligação USB 2.0, possuindo
três graus de liberdade, o que permite o deslocamento tridimensional de um objecto e que possibilita
um feedback de força, também no espaço cartesiano. Associando, então, o comando tridimensional
ao elemento terminal do robô, torna-se então possível ter a sensibilidade da força de reacção que o
paciente exerce, em resposta à força praticada pelo cirurgião. De igual modo, o cirurgião tem a
possibilidade de um controlo parcial3 do elemento terminal do robô, através do deslocamento da
extremidade do comando no seu espaço cartesiano, tendo a liberdade de posicionar o elemento
terminal do robô onde lhe for mais conveniente. Obviamente, é necessário realizar uma conversão
(entenda-se uma amplificação de sinal), para passar do referencial local do comando, para o
referencial do robô.
3 Considera-se que o cirurgião tem um controlo parcial do robô, uma vez que o Controlador de Impedância projectado continua a ser executado. Assim, seguindo as premissas evidenciadas no Capítulo 2, aquando da descrição do controlador, o controlo ao longo da direcção de furação é da inteira responsabilidade do cirurgião, sendo que, na direcção normal à recta de furação, o controlo é realizado pelo Controlador de Impedância.
35
Assim, o contacto entre o paciente e o cirurgião tem um elemento comum: o robô
manipulador. Conforme se pode verificar na figura seguinte (Ilustração 3.11), o contacto entre o
paciente e o cirurgião não é realizado directamente, isto é, para que o cirurgião “toque” no paciente,
este tem de manipular o dispositivo háptico que, por sua vez, vai repercutir os seus movimentos no
elemento terminal do robô. Em consequência, a força de resistência realizada pelo paciente vai ser
“sentida” pelo sensor de força do robô, enviando este, posteriormente, um feedback de força para o
dispositivo háptico. Assim, o cirurgião consegue ter a sensibilidade relativamente à força necessária
exercer para efectuar determinadas tarefas, tendo ao mesmo tempo, a sensação da resistência
oferecida pelo paciente. A Ilustração 3.11 apresenta, então, esta mesma interface cirurgião-paciente.
Ilustração 3.11 - Interface Cirurgião-Paciente
Embora esta interface não seja perfeita (não é possível, por exemplo, eliminar a dinâmica do
próprio dispositivo háptico), pode-se inferir que a interface cirurgião-paciente realizada é suficiente
nesta fase do projecto. Outra das limitações do Novint Falcon® prende-se essencialmente com a
impossibilidade do cirurgião não ter a capacidade de controlar a orientação do elemento terminal do
robô; apenas da sua posição. Este tipo de dificuldades podem ser superadas consoante a escolha de
outros dispositivos hápticos que permitam a manipulação da posição e orientação dos sistemas em
todo o espaço cartesiano e cuja dinâmica dos seus motores seja insignificante, face à própria
dinâmica dos sistemas que repercutem.
36
37
4. Implementação
Neste Capítulo são apresentados os aspectos fulcrais da implementação dos controladores
projectados, quer em simulação, quer experimentalmente, com especial destaque para a
implementação do Controlador de Impedância com Controlador Interno de Posição e Orientação no
robô antropomórfico PUMA 560. São também discutidos alguns aspectos práticos relativos à
modelação do fémur em ambiente virtual, ideal para sistemas de navegação em cirurgia assistida por
robôs.
4.1. Modelação cinemática e dinâmica dos robôs
Conforme estudado anteriormente, quer no Capítulo 2, quer no Capítulo 3, o conhecimento do
modelo dinâmico dos robôs é de extrema importância para o projecto dos controladores desenhados.
Embora se tenha desenvolvido matematicamente o modelo de cada um dos robôs utilizados, o
recurso à toolbox MECANISMO (Martins, 2007) apresentou-se como a solução computacional mais
eficiente para simular a dinâmica de cada robô. Esta aplicação recorre à manipulação simbólica (do
software Maple) das equações da cinemática e dinâmica do modelo criado, transformando-as em S-
Functions4 e, após a sua compilação, associando-as a um bloco de Simulink. A criação do modelo
dinâmico de cada um dos robôs estudados exige, então, a manipulação e simplificação das suas
equações dinâmicas. Na Tabela 4.1 encontra-se ilustrado o número de operações efectuadas
(número de variáveis atribuídas e número de equações), aquando da compilação dos modelos na
toolbox MECANISMO.
Tabela 4.1 – Características Computacionais do Modelo Dinâmico de cada um dos Robôs Estudados, criados com a toolbox MECANISMO
Robô Número de operações
Atribuições Equações Somas Produtos
PLANAR 3 G.D.L. 222 6 91 180
PUMA 560 663 12 593 1065
PLANAR 2 G.D.L. 160 4 34 79
A título exemplificativo, é ilustrado na figura seguinte (Ilustração 4.1) o bloco associado ao
modelo cinemático e dinâmico do robô planar de três graus de liberdade.
4 As S-Functions são funções do Matlab que permitem a compilação de código C em compatibilidade com o
diagrama de blocos (Simulink) do Matlab.
38
Ilustração 4.1 - Modelo cinemático e dinâmico do robô planar de três graus de liberdade, construído com a toolbox MECANISMO
As entradas no bloco são as posições e velocidades de junta e o binário nos motores,
obtendo-se à saída, as matrizes que permitem a construção do modelo cinemático e dinâmico do
robô em estudo.
A validação dos modelos dinâmicos dos robôs estudados é um passo fundamental para o
desenvolvimento posterior dos controladores projectados. Embora estes controladores lidem com a
“imperfeição” desta modelação, o conhecimento detalhado do modelo dinâmico do sistema em estudo
é tanto mais importante quanto maior a robustez que se pretende atribuir ao controlador projectado.
Desta forma, a validação dos modelos dinâmicos dos robôs foi abordada de diferentes modos,
consoante o robô em questão5: para o robô PUMA 560 compararam-se as diferentes configurações
das juntas do robô, quando este é apenas actuado pela gravidade, entre o modelo desenvolvido no
MECANISMO e o desenvolvido por (Corke P. , 1996); para o robô planar rígido de dois graus de
liberdade utilizaram-se os parâmetros dinâmicos identificados por (Paris, 2006).
4.2. Implementação do Controlador de Impedância
O Controlador de Impedância foi projectado no robô planar de três graus de liberdade de
modo a que este seja sujeito a um comportamento complacente de posição e orientação quando se o
desvia da direcção de furação. Assim, na Ilustração 4.2 encontra-se apresentada a janela principal da
aplicação em Simulink, que resulta da implementação directa do esquema de controlo apresentado
na Ilustração 2.2 do Capítulo 2.
5 De notar que o robô de três graus de liberdade não foi sujeito a qualquer validação do seu modelo dinâmico, uma vez que este robô foi criado em ambiente virtual, apenas para esta aplicação.
39
Ilustração 4.2 - Janela principal do Controlador de Impedância aplicada ao robô planar de três graus de liberdade
Na janela principal são facilmente identificáveis os diferentes blocos que constituem o robô e
respectivo controlador: ao robô (bloco no topo da janela) são fornecidos os binários das juntas e as
forças externas exercidas pelo cirurgião no elemento terminal do robô; deste, é possível obter, a todo
o instante, a posição e velocidades das próprias juntas. A posição desejada é, então, dada pela
equação da recta de furação. A priori, quando é aplicada uma força, o robô vai desviar-se da recta de
furação com a impedância prescrita. Este cálculo é efectuado no interior do bloco Impedância, na
parte inferior da Ilustração 4.2. Explorando este bloco, são facilmente identificáveis os sub-sistemas
que constituem este bloco principal: há uma distinção inicial entre os cálculos associados à
impedância de translação (blocos no topo da Ilustração 4.3) e a impedância de rotação (blocos na
parte inferior da Ilustração 4.3).
40
Ilustração 4.3 - Diagrama de blocos constituinte do bloco Impedância da janela principal
Realizando o percurso natural das variáveis ao longo destes sub-sistemas é possível concluir
que os primeiros cálculos realizados dentro do bloco Impedância correspondem à determinação dos
parâmetros geométricos lineares e angulares (Ilustrações 4.4 e 4.5). No primeiro, é determinado o
ponto da recta de furação mais próximo do elemento terminal do robô, sendo esta a posição
desejada6 do robô. Para a realização deste cálculo é igualmente necessário conhecer a priori a
posição do ponto de furação e a respectiva direcção de furação (determinados pelo bloco parâmetros
de furação da tela principal) no espaço cartesiano. Numa fase posterior, pretende-se que este bloco
seja substituído por um bloco de visão computacional, que efectue estas medições no espaço
cartesiano, em tempo real, no paciente a operar.
Finalmente, do bloco parâmetros geométricos lineares é possível obter o ponto sobre a recta
de furação mais próximo do elemento terminal, a velocidade tangente e a velocidade normal do
elemento terminal a esta mesma recta (através de simples projecções da velocidade do elemento
terminal sobre a recta) e a distância mínima do elemento terminal ao ponto de furação (DMPF).
Similarmente, em orientação é determinado o erro entre a orientação (e velocidade angular) desejada
e a actual.
Estes parâmetros geométricos determinados serão as entradas dos blocos seguintes (accel
Linear e accel angular respectivamente) onde serão calculadas as impedâncias de traslação e
rotação, isto é, o comportamento complacente que o elemento terminal do robô deve praticar (em
posição e orientação) quando é desviado da recta de furação, em função da sua proximidade ao
ponto de furação. A título exemplificativo, encontram-se apresentado na Ilustração 4.6, os cálculos
realizados no interior do bloco accel Linear (de notar que os cálculos efectuados no interior do bloco
accel angular são similares, pelo que, a sua ilustração acaba por ser redundante).
6 Conforme apresentado nos capítulos anteriores, uma vez que se pretende que o robô se encontre sempre sobre a recta de furação, pretende-se determinar qual é a trajectória mais curta que o elemento terminal do robô deve realizar por forma a atingir esta posição.
41
Ilustração 4.4 – Blocos constituintes do sub-sistema parâmetros geométricos lineares
Ilustração 4.5 – Blocos constituintes do sub-sistema parâmetros geométricos angulares
Ilustração 4.6 - Diagrama de blocos constituintes do bloco accel Linear
42
Conforme se pode concluir através da análise das Ilustrações 4.4 e 4.5, foram distinguidos os
comportamentos de impedância de translação e rotação, por forma a agrupar cálculos da mesma
natureza. Quer-se com isto dizer que, para a parte de controlo de posição foi implementada a
equação (2.15) e para a parte de orientação a equação (2.16).
É, então, de realçar que a impedância associada ao elemento terminal do robô varia com a
sua distância ao ponto de furação. Assim, aos blocos accel Linear chegam os ganhos de impedância
de translação, que variam com a distância referida anteriormente. Uma vez que se pretendia prover o
elemento terminal do robô com uma impedância não-oscilatória, associaram-se às matrizes *,, *+ e *- um coeficiente de amortecimento unitário, fazendo então, com que o elemento terminal se
tornasse cada vez mais rígido (aumentando a frequência natural do sistema) à medida que este se
aproxima do ponto de furação (DMPF). Assim, à medida que o elemento terminal do robô se
aproxima do ponto de furação, a frequência natural do sistema 23 aumenta segundo a equação (4.1),
determinada experimentalmente e definida por
v23 = 25100+,-w8].9 , xTyD > 0.123 = 25 , xTyD ≤ 0.1 | [}SU/�] (4.1)
Esta equação deverá, no futuro, ser “escolhida” pelo cirurgião, de acordo com as suas
preferências, em termos do seu conceito de manipulação, devendo-se apenas garantir a posição e
orientação na proximidade do osso. A implementação desta equação em diagrama de blocos
Simulink encontra-se apresentada na Ilustração 4.7.
Ilustração 4.7 - Comportamento complacente variável com a DMPF, segundo a equação 4.1
Finalmente, dos sub-sistemas accel Linear e accel angular é possível determinar os valores
de S (equação (2.14) do Capítulo 2) e injectar estes valores no bloco dinâmica inversa. Então, o bloco
dinâmica inversa resulta da implementação directa da equação (2.22) do Capítulo 2. Este sub-
sistema é implementado em Simulink, apresentando, finalmente, o aspecto evidenciado na figura
seguinte (Ilustração 4.8).
43
Ilustração 4.8 - Diagrama de blocos da compensação dinâmica do robô, bloco dinâmica inversa
4.3. Implementação do Controlador de Impedância CI PO
Por forma a ter uma base de comparação entre modelos implementados no mesmo robô
desenvolveu-se o Controlador de Impedância CIPO no robô planar de três graus de liberdade. A
estrutura deste modelo é em tudo idêntica à implementada aquando do Controlador de Impedância
descrito anteriormente, exceptuando, como é óbvio, os blocos do sub-sistema Impedância que,
passou a ser implementado em duas fases (Ilustração 4.9):
• Numa primeira fase, existe o Controlador de Impedância propriamente dito,
identificado pelos blocos Impedância Linear e Impedância de Angular, e;
• Um Controlador Interno de Posição e Orientação, que realiza um controlo por
dinâmica inversa no espaço cartesiano do elemento terminal do robô, ajustando o
robô à posição e orientação desejadas, determinadas pelo Controlador de
Impedância.
Conforme é evidenciado no Capítulo 2, aquando da descrição das equações que regem o
comportamento dinâmico desta estratégia de controlo, pode-se constatar que, ao bloco de
Impedância Linear e Impedância Angular são providas as mesmas informações que no bloco
Impedância do controlador descrito anteriormente, isto é, os parâmetros cinemáticos do robô (posição
e orientação do elemento terminal) e do ambiente (ponto e direcção de furação) continuam a ser
entradas destes sub-sistemas. Contudo, existe uma nuance: agora, as posições/orientações,
velocidades e acelerações desejadas são transformadas para um referencial de complacência e
posteriormente injectadas no anel interno de controlo de posição e orientação, conforme evidenciam
as equações (2.27) e (2.29) do Capítulo 2.
44
Ilustração 4.9 - Janela principal do Controlador de Impedância com Controlo Interno de Posição e Orientação
Na Ilustração 4.10 é apresentado o diagrama de blocos que determina a Impedância Linear a
que o elemento terminal do robô será sujeito. Mais uma vez, a ilustração do bloco Impedância
Angular seria redundante, uma vez que as equações são similares.
Ilustração 4.10 - Diagrama de blocos da Impedância Linear do controlador de impedância CIPO
45
Finalmente, resta ainda salientar que se recorreu a uma toolbox de Quaterniões (MathWorks,
2005) – onde são apresentados os seus blocos constituintes na Ilustração 4.11 – para definir a
orientação do elemento terminal do robô, por forma a que a transformação entre o referencial
desejado e o referencial de complacência fosse efectuada sem que existissem singularidades (ao
contrário do que aconteceria se se recorresse a ângulos de Euler para caracterizar a orientação do
elemento terminal do robô). Assim, esta abordagem para caracterizar a orientação do elemento
terminal do robô assume extrema importância aquando da implementação desta estratégia de
controlo no PUMA 560, uma vez que o elemento terminal do robô tem a possibilidade de apresentar
diferentes configurações no espaço cartesiano tridimensional.
Ilustração 4.11 - Blocos Simulink da toolbox Quaterniões
Deste modo, ao Controlador Interno de Posição e Orientação chegam, então, não as
posições, velocidades e acelerações desejadas, mas sim os valores modificados por esta
transformação de complacência. Na figura seguinte (Ilustração 4.12) encontra-se, então, ilustrado o
Controlador de Posição, que resulta da implementação directa em Simulink da equação (2.26) do
Capítulo 2. Novamente, a ilustração da implementação da equação (2.28) é redundante, dado que o
seu diagrama de blocos é similar ao que descreve a Ilustração 4.12. Como consequência destes
blocos, resulta, novamente, a determinação do parâmetro S, que entra directamente na equação da
dinâmica inversa.
Ilustração 4.12 - Diagrama de blocos do Controlo de Posição do Controlador de Impedância CIPO
46
4.4. Implementação Experimental
Conforme tem sido referido ao longo deste trabalho, a implementação experimental do
controlador projectado foi concretizada no robô planar de dois graus de liberdade presente no
Laboratório de Controlo, Automação e Robótica do Instituto Superior Técnico. Uma vez que este robô
possui dois graus de liberdade (e dois graus de mobilidade), apenas se dotou o elemento terminal do
robô de comportamento complacente para a sua posição. Quer-se com isto dizer que, no que diz
respeito à implementação experimental, para qualquer desvio à recta de furação definida, o robô
apenas responde com um comportamento complacente na sua posição. Assim, o controlador
adoptado para prover o elemento terminal com uma dinâmica complacente foi o Controlador de
Impedância com Controlo Interno de Posição7. Na Ilustração 4.13 encontra-se apresentada a janela
principal da aplicação desenvolvida para o robô planar de dois graus de liberdade.
Ilustração 4.13 – Ambiente do Controlador de Impedância CIP implementado no robô planar de dois graus de liberdade
Conforme se verifica na Ilustração 4.13, o esquema do controlador desenvolvido é em tudo
semelhante ao criado aquando da Implementação do Controlador de Impedância CIPO apresentado
na Ilustração 4.9. Contudo, a implementação do controlo de orientação, conforme referido
anteriormente, não foi realizada. Assim, a grande diferença entre os esquemas apresentados
anteriormente e este, reside essencialmente no robô. Nesta abordagem, uma vez que o robô não é
simulado virtualmente, existe a necessidade de realizar a comunicação entre o software (host) e o
robô (target). Esta comunicação é realizada através da toolbox XpcTarget do Simulink do Matlab.
7 O Controlador de Impedância com Controlador Interno de Posição (CIP) é uma simplificação do Controlador de Impedância com Controlador Interno de Posição e Orientação pois para dois graus de liberdade não faz sentido guarnecer o elemento terminal do robô de complacência na orientação, uma vez que o robô não tem graus de liberdade suficientes.
47
Deste modo, o código gerado terá de ser compilado, a priori, para o target, no modo externo do
Simulink.
Na mesma ordem de ideias, é necessário configurar os parâmetros do Simulink para uma
regular comunicação entre o software e o robô. Assim, é necessário alterar o tipo de integração
numérica (“Solver”) para “Fixed Step”, com um tempo de amostragem de 1 milissegundo e o
integrador para “ode3 (Bogacki-Shampine)”. Do mesmo modo, na opção “Real-Time Workshop” é
necessário modificar o sistema de ficheiros target para “xpctarget.tlc” por forma a que a comunicação
e troca de informação entre a aplicação e o robô seja realizada em tempo real. Esta configuração é
apresentada nas Ilustrações 4.14 e 4.15.
Ilustração 4.14 – Configuração dos parâmetros de integração (Solver) do modelo Simulink
Ilustração 4.15 - Configuração dos parâmetros de tempo real (Real-Time Workshop) do modelo Simulink
Na mesmas ordem de ideias, o robô tem associado a si as conversões entre a voltagem
aplicada nos motores e o binário nas juntas, bem como a conversão entre os encoders das juntas e o
seu ângulo de rotação. Finalmente, é associado um bloco que realiza a comunicação entre o sensor
48
de força presente no elemento terminal do robô (cujo cirurgião irá manipular) e o software. Na
Ilustração 4.16 encontra-se apresentado o diagrama de blocos Simulink que realiza esta
comunicação entre o robô e o software.
Ilustração 4.16 - Comunicação entre o Simulink (host) e o robô planar de dois graus de liberdade (target)
4.5. Implementação do Novint Falcon ®
A implementação do dispositivo háptico de três graus de liberdade Novint Falcon nos modelos
Simulink é realizada de forma a promover a interface remota entre o cirurgião e o paciente. Assim, de
modo a testar as funcionalidades deste dispositivo, criou-se uma aplicação em Simulink onde se
simulou a manipulação do elemento terminal de um robô em contacto com o osso do paciente.
Numa primeira fase, pretendeu-se modelar o osso virtualmente, de modo a conhecer, a todo
o instante, a sua posição e orientação. Ao mesmo tempo, pretendeu-se ter um conhecimento do
ponto do osso mais próximo do elemento terminal do robô, de modo a orientar o elemento terminal do
robô segundo a direcção normal mais próxima ao osso. Conforme referido no capítulo anterior, na
secção 3.4.2, o conhecimento que se detém acerca do osso é limitado: são conhecidos pontos
discretos do osso, isto é, uma nuvem de pontos, dificilmente interpolados por equações bem
conhecidas. Assim, a solução parte por parametrizar8 os pontos conhecidos (Praun, Sweldens, &
Schröder, 2001), de forma a ter equações matemáticas que caracterizem o mais
pormenorizadamente possível a superfície do osso. Parametrizada a superfície do osso, existem
então, alguns métodos conhecidos para determinar qual o ponto do osso mais próximo do elemento
terminal do robô, como os algoritmos biológicos de minimização (Carretero & Nahon, 2005) ou
algoritmos de programação quadrática (Keerthi, Shevade, Bhattacharyya, & Murthy, 2000).
8 A parametrização de uma superfície tridimensional corresponde à transformação de coordenadas globais !�, , �), para um referencial local em ℝ�, !�, �), tal que e !�, , �) = P!�, �), onde o seu espaço define toda a superfície.
49
Existem, contudo, alguns problemas associados à parametrização da superfície do osso: a
parametrização recorrendo a superfícies NURBS (Ambrosius, 2005) exige um ordenamento inicial
dos pontos (ao contrário do que se passa com os dados disponíveis - uma nuvem de pontos
aleatórios), o que leva a que a parametrização de superfícies desconhecidas se torne uma tarefa
mais complexa do que aparenta à primeira vista. Assim, sem perda de generalidade, assumiu-se que
a superfície do osso pode ser aproximada a uma elipsóide, onde se conhecem exactamente as
equações matemáticas parametrizadas que descrevem a sua própria superfície.
Conhecendo a parametrização da superfície Φ!�, �), sabe-se, então, que o ponto da
superfície �]!�, �) mais próximo do elemento terminal, ���L é aquele que satisfaz o sistema de
equações dado por:
�eΦ!�, �)e� . ����L − �]!�, �)� = 0eΦ!�, �)e� . ����L − �]!�, �)� = 0| (4.2)
Uma vez modelada a superfície com que o elemento terminal irá contactar, torna-se então
necessário simular a própria força de contacto, no momento em que o elemento terminal do robô
penetra na superfície do osso. Assim, tomando como referência o estudo realizado por (Lankarani &
Nikravesh, 1990), definiu-se uma força de contacto entre o elemento terminal do robô e a superfície
do osso modelada, dada pela lei de Hertz modificada definida como sendo
D3 = *. �3 �1 + 3!1 − ��)4 . �$�$!8)� (4.3)
com D3 o módulo da força em Newton, * a rigidez generalizada, � a penetração na direcção normal, �$ a velocidade de penetração relativa, �$!8) a velocidade inicial de impacto e � o coeficiente de
restituição da superfície de contacto. De notar que esta lei foi determinada experimentalmente por
forma a medir o contacto entre duas superfícies metálicas, pelo que, para o contacto entre uma
superfície metálica e um osso, esta lei apenas reflecte uma aproximação.
Finalmente, a integração do Novint Falcon® com o Simulink do Matlab foi programada em
C++, encontrando-se a sua implementação apresentada no Anexo C. Assim, à semelhança do que foi
realizado aquando da utilização do MECANISMO que construía a cinemática e a dinâmica dos robôs
estudados, também a integração entre o Novint Falcon e o Simulink foi realizada com recurso às S-
Functions do Matlab. Deste modo, associou-se um bloco Simulink a este dispositivo háptico, onde as
suas entradas correspondem à força sentida pelo elemento terminal do robô e as suas saídas as
posições no espaço cartesiano do próprio elemento terminal do robô. Na figura seguinte (Ilustração
4.17) encontra-se, então, ilustrada a janela principal que realiza a interface Novint-Paciente criada em
Simulink.
50
Ilustração 4.17 - Diagrama de blocos da interface Novint-Paciente
Da figura anterior (Ilustração 4.17), é possível distinguir os diferentes sub-sistemas que
caracterizam esta aplicação: os primeiros blocos no topo da janela correspondem à comunicação e
manipulação do Novint Falcon®, cuja saída corresponde ao posicionamento no espaço cartesiano do
elemento terminal do robô e cuja entrada corresponde ao feedback de força sentido, quando o
elemento terminal do robô contacta com o paciente; o bloco à esquerda, LookUp Tables, contém a
parametrização do osso a operar, onde é realizada a conversão entre o espaço ℜ�, !�, �), para o
espaço cartesiano ℜ`, !�, , �); e o bloco cálculo da parametrização !�, �) resulta da implementação
directa das equações (4.2) e (4.3). O diagrama de blocos associado a este bloco encontra-se
ilustrado na figura seguinte (Ilustração 4.18).
Ilustração 4.18 - Diagrama de blocos do bloco principal cálculo da parametrização (u, v)
Para executar esta aplicação, é então necessário executar, a priori, o comando
[x,y,z]=sphere(40) na Command Window do Matlab por forma a “carregar” as lookup-Tables com a
parametrização da elipsóide (neste caso assumiu-se uma elipsóide cujos semi-eixos são iguais e
51
unitários – uma esfera). Finalmente, ao executar esta aplicação, o cirurgião tem a possibilidade de
“chocar” com a superfície do osso, que devolve um feedback de força, sendo esta repercutido no
dispositivo háptico. O ambiente virtual associado a esta aplicação encontra-se representado na
Ilustração 4.19.
Ilustração 4.19 - Realidade Virtual da interface Novint-paciente
4.6. Aspectos práticos de implementação
Geralmente, a implementação experimental de um sistema, seja um controlador aplicado a
um robô ou mesmo uma interface mestre-escravo, não coincide a 100% com a projecção realizada
em modo de simulação. Isto porque se considera, em grande parte, que os sistemas em simulação se
encontram “bem comportados”, onde muito dificilmente se torna possível modelar com exactidão os
atritos existentes, as zonas mortas dos motores ou o ruído associado à leitura de sensores.
Uma das dificuldades associadas à leitura dos sensores, do robô planar de dois graus de
liberdade, prende-se com o facto de estes serem reiniciados a zero sempre que a simulação é
executada. Devido à inversão da matriz Jacobiana, aquando do cálculo da compensação dinâmica,
este problema é sentido, uma vez que qualquer configuração inicial do robô assume uma
configuração singular. Por forma a resolver esta situação tornou-se necessário realizar um offset à
segunda junta do robô (e respectivo encoder), para que o robô inicie a sua trajectória a uma distância
suficiente de uma singularidade.
É também de referir, a elevada zona morta dos motores, isto é, a voltagem mínima que é
necessário fornecer aos motores do robô, para que o elo a que o motor se encontra associado se
movimente. Comparativamente com as simulações, onde a qualquer voltagem não-nula fornecida aos
motores, o robô executa uma trajectória, numa implementação real esta situação não se verifica, pois
os motores têm uma zona morta associada, reproduzindo uma resposta não-linear (por vezes difícil
de simular).
52
Conforme tem sido evidenciado ao longo da Tese, o Controlador de Impedância CIPO
projectado é constituído por diferentes níveis de controlo – um anel exterior e um anel interior – que
possibilitam conferir ao robô o comportamento desejado, ao longo da sua trajectória. A existência
destes dois níveis de controlo pode promover a instabilidade do modelo, quando a localização dos
pólos associados ao anel exterior se aproximam da localização dos pólos do anel interior. Assim, é
necessário manter o anel interior (de controlo de posição e orientação) com uma resposta mais rápida
(frequência natural mais elevada) que o anel exterior (impedância), para que esta violação não seja
consumada. O problema inerente a esta situação resulta quando se pretende prover o elemento
terminal do robô de uma rigidez de tal modo elevada que poderia promover a instabilidade do
sistema. Assim, manteve-se a largura de banda associada ao anel de impedância inferior à largura de
banda do anel de posição, garantindo, desta forma, a estabilidade do sistema.
Resta finalmente referir que os ganhos aplicados em cada um dos robôs foram determinados
experimentalmente, começando por se sintonizar o ganho proporcional do anel interior, até que o
elemento terminal do robô mantivesse uma resposta oscilatória satisfatória em torno da referência,
sendo posteriormente sintonizado o ganho derivativo, por forma a diminuir a oscilação e permitir que
o elemento terminal mantivesse uma resposta com um amortecimento próximo do crítico, evitando
assim, o fenómeno de overshoot. Da mesma forma, foram sintonizados os ganhos do anel exterior,
pelo que, também a função de crescimento da frequência natural da impedância foi determinada
empiricamente, devendo esta ser definida, a posteriori, pelo cirurgião.
53
5. Resultados
Neste Capítulo são apresentadas as validações dos modelos dinâmicos virtuais dos robôs e
são comparados os diferentes modelos para o mesmo robô. De igual modo, são comparados os
diferentes controladores implementados quer em simulação, quer experimentalmente. Na última
secção deste capítulo, são apresentados os resultados relevantes, no que diz respeito à interface
cirurgião-paciente, através do dispositivo háptico Novint Falcon®.
5.1. Validação dos modelos
A validação dos modelos cinemáticos e dinâmicos dos robôs utilizados é uma condição
essencial, por forma a prever o desempenho quer do robô, quer dos controladores projectados.
Assim, a validação do modelo do PUMA 560 foi realizada através da comparação com modelos de
simulação utilizados noutros projectos (Armstrong, Khatib, & Burdick, 1986). O modelo do robô planar
experimental foi identificado por (Paris, 2006).
5.1.1. Validação do modelo dinâmico do PUMA 560
Conforme referido na secção 4.1 do capítulo anterior, o modelo do robô antropomórfico de
seis graus de liberdade PUMA 560 foi criado com recurso à toolbox MECANISMO. Por forma a
validar este modelo, realizou-se a comparação com o modelo de (Corke P. , 1996) ambos sem
qualquer controlador associado, sem fricção nos motores, partindo da mesma posição inicial e
apenas actuados pela gravidade. Deste modo, simulou-se o comportamento de cada um dos modelos
durante 10 segundos, de onde se podem extrair os comportamentos das juntas, apresentados na
Ilustração 5.1 (a azul, o modelo desenvolvido por Corke; a vermelho, o modelo desenvolvido com
recurso à toolbox MECANISMO).
Através da análise da Ilustração 5.1, verifica-se que o erro relativo obtido é reduzido, embora
não nulo (isto é, as trajectórias descritas por cada uma das juntas do robô PUMA, para cada um dos
modelos, não se sobrepõem na sua totalidade) o que pode ser justificado não só devido ao integrador
numérico que cada um dos modelos utiliza para determinar a sua dinâmica, como, também, devido à
propagação de erro existente, quando se recorre à toolbox de Corke. De notar que a toolbox
MECANISMO executa, a priori, uma simplificação simbólica das equações dinâmicas, ao passo que a
toolbox de Corke não executa qualquer simplificação do modelo dinâmico, induzindo então, a
propagação de erros computacionais (mais notório, quando as juntas se encontram próximas de
zero).
54
Por forma a estudar o comportamento dinâmico do robô PUMA, quando controlado pelo
controlador projectado, utilizou-se o modelo desenvolvido com recurso à toolbox MECANISMO, uma
vez que a sua execução em tempo real é realizada de um modo eficaz.
Ilustração 5.1 - Evolução das juntas do robô antropomórfico PUMA 560 ao longo do tempo, actuado pela acção gravítica, para os modelos de Corke e MECANISMO
5.2. Robô Planar de Três Graus de Liberdade
Uma vez projectada a dinâmica e cinemática do robô planar de três graus de liberdade,
começou-se por se comparar as diferentes estratégias de controlo abordadas, por forma a controlar
este robô.
Deste modo, dada uma configuração inicial do elemento terminal do robô (� = 0.78=),
afastada da recta de furação (a � = 0.25=), será medida a resposta transitória que cada um dos
controladores projectados repercutem no robô, até que este atinja a posição e orientação desejadas.
5.2.1. Controlador de Impedância vs. Controlador de Impedância CIPO
Conforme noticiado no Capítulo 2, a grande diferença entre estes dois controladores reside
essencialmente na eficaz rejeição que é realizada aquando da medição sensorial da força e momento
aplicados no elemento terminal do robô, por parte do Controlador de Impedância CIPO, face ao
55
Controlador de Impedância. Por outras palavras, o Controlador de Impedância CIPO demonstra uma
maior robustez na presença de incertezas do modelo, pelo que, o controlador interno de posição e
orientação garante um seguimento para a referência.
Assim, na ausência de forças externas, partindo o robô da mesma configuração e fazendo os
ganhos iguais aos apresentados na Tabela 5.1, é possível verificar através das Ilustrações 5.2 e 5.3,
a evolução da posição do elemento terminal no espaço cartesiano em direcção à recta de furação,
quando controlado por cada um dos controladores estudados.
Tabela 5.1 - Ganhos atribuídos ao Controlador de Impedância e ao Controlador de Impedância CIPO, por forma a comparar os seus desempenhos
Ganhos
Controladores
Controlo de
Impedância
Controlo de
Impedância CIPO *-
Não existe
625. ( *+ 50. ( *,�%L54â3;�� ( *+�%L54â3;�� 50. ( *-�%L54â3;�� 625. (
*+�%L54â3;��_��3�53;��� 25. (
Comparando, então, as respostas apresentadas nas Ilustrações 5.2 e 5.3, é possível
constatar que ambos os controladores produzem respostas similares, pelo que, na ausência de forças
externas, o Controlador de Impedância e o Controlador de Impedância CIPO produzem exactamente
o mesmo efeito sobre o robô (quando a dinâmica do modelo é perfeitamente compensada).
Ilustração 5.2 - Resposta do elemento terminal do robô de três graus de liberdade, na ausência de forças externas, controlado por um Controlador de Impedância
56
Ilustração 5.3 - Resposta do elemento terminal do robô de três graus de liberdade, na ausência de
forças externas, controlado por um Controlador de Impedância CIPO
Na mesma ordem de ideias, aplicou-se uma força constante (20 �) na direcção perpendicular
à recta de furação a ambos os controladores e verificou-se a evolução da posição do elemento
terminal. Nas figuras seguintes (Ilustrações 5.4 e 5.5) encontram-se ilustradas as respectivas
evoluções do elemento terminal do robô, quer para o Controlo de Impedância, quer para o Controlo
de Impedância CIPO.
Ilustração 5.4 - Resposta do elemento terminal do robô de três graus de liberdade, quando actuado por uma força de �� � perpendicular à recta de furação, controlado por um Controlador de
Impedância
57
Ilustração 5.5 - Resposta do elemento terminal do robô de três graus de liberdade, quando actuado por uma força de �� � perpendicular à recta de furação, controlado por um Controlador de
Impedância CIPO
Analisando, então, as respostas das Ilustrações 5.4 e 5.5 é possível constatar que a presença
de uma força de 20 � perpendicular à recta de furação induz ao elemento terminal do robô um
deslocamento de, aproximadamente, 5 �= da recta de furação. Deste modo, novamente se pode
inferir que, quer o Controlador de Impedância, quer o Controlador de Impedância CIPO produzem o
mesmo efeito no elemento terminal do robô, mesmo que, actuado por forças externas.
Assim, pretende-se avaliar a robustez de ambos os controladores quando a compensação
dinâmica do robô não é perfeita. Introduzindo ruído no modelo dinâmico do robô, estudou-se, então, o
desempenho de ambos os controladores, na ausência de forças externas. Deste modo, injectou-se
ruído branco com um tempo de amostragem de 1 segundo e uma potência de 0.1 �, na
compensação dinâmica do controlador e estudou-se o desempenho do elemento terminal do robô,
quando controlado por cada um dos controladores.
Conforme se pode verificar através da análise das Ilustrações 5.6A) e 5.6B), a resposta que o
elemento terminal do robô apresenta quando controlado pelo Controlador de Impedância CIPO
demonstra uma maior eficácia, no que diz respeito à rejeição do ruído, imposto aquando da
modelação dinâmica do próprio modelo, comparativamente com a resposta apresentada pelo robô,
quando controlado pelo Controlador de Impedância. Assim, é também possível verificar um
seguimento da referência (a menos de um erro estacionário induzido pela própria compensação
imperfeita do modelo dinâmico), por parte do Controlador CIPO, assegurado pelo controlador interno.
58
A)
B)
Ilustração 5.6 - Resposta do elemento terminal do robô de três graus de liberdade, A) controlado por um Controlador de Impedância, B) controlado por um Controlador de Impedância CIPO, sujeita a uma
compensação dinâmica imperfeita, amostrada a cada segundo de simulação
Por forma a demonstrar a maior eficácia do Controlador de Impedância CIPO em detrimento
do Controlador de Impedância, no que diz respeito à dificuldade inerente de modelar correctamente a
dinâmica do robô, socorreu-se da teoria por trás dos controladores indirectos de força, apresentada
no Capítulo 2. Conforme foi apresentado na secção 2.2.4 do Capítulo 2, “uma rejeição da perturbação
poderá ser efectivamente conseguida através da escolha de ganhos baixos para o produto matricial *-89. *,, o que corresponde a uma acção de controlo rígida com uma massa reduzida no elemento
terminal”. Assim, atribuíram-se os ganhos apresentados na Tabela 5.2 a cada um dos controladores e
provocou-se uma perturbação (ruído branco de densidade espectral 0.1 � e amostrado a cada 0.5
segundos) na compensação dinâmica do robô. Deste modo, as figuras seguintes (Ilustrações 5.7 e
5.8) ilustram a resposta do elemento terminal do robô ao longo do tempo.
59
Tabela 5.2 - Ganhos atribuídos ao Controlador de Impedância e ao Controlador de Impedância CIPO, por forma a testar a robustez de ambos os controladores à perturbação da compensação dinâmica do
robô
Ganhos
Controladores
Controlo de
Impedância
Controlo de
Impedância CIPO *-
Não existe
10000. ( *+ 200. ( *,�%L54â3;�� 0,1. ( *+�%L54â3;�� 200. ( *-�%L54â3;�� 10000. (
*+�%L54â3;��_��3�53;��� 200. (
Através da análise das Ilustrações 5.7 e 5.8, mais uma vez se verifica que o elemento
terminal do robô produz um seguimento da referência bem mais preciso, quando o robô é controlado
pelo Controlador de Impedância CIPO. De notar que o sistema acaba mesmo por instabilizar, quando
o elemento terminal do robô é controlado pelo Controlador de Impedância. Do mesmo modo se
verifica que o elemento terminal do robô evolui rapidamente para a posição desejada, sobre a recta
de furação, devido à elevada impedância mecânica imposta ao mesmo.
Ilustração 5.7 - Resposta do elemento terminal do robô ao longo do tempo, quando controlado pelo Controlador de Impedância, sujeito a perturbação na compensação dinâmica do robô
60
Ilustração 5.8 - Resposta do elemento terminal do robô ao longo do tempo, quando controlado pelo Controlador de Impedância CIPO, sujeito a perturbação na compensação dinâmica do robô
5.2.2. Orientação
Conforme referido no Capítulo 4, para além da posição do elemento terminal do robô, a sua
orientação também é controlada ao longo do tempo, com recurso ao Controlador de Impedância
CIPO. Deste modo, estudou-se a resposta que o elemento terminal do robô produz, em termos de
orientação e comparou-se esse valor com o seu valor de referência. Assim, este estudo incidiu sobre
o elemento terminal do robô planar de três graus de liberdade, onde se atribuíram os ganhos da
Tabela 5.1 ao Controlador de Impedância CIPO. Deste modo, considerou-se que o robô roda no
sentido positivo do eixo � segundo a regra da mão direita e a sua orientação pode ser determinada
com recurso a quaterniões (Anexo A). Desta forma, pretende-se que o robô se oriente segundo a
direcção de furação (segundo o semi-eixo −), o que se traduz numa referência de [0 0 0 1]7 em
quaterniões. Partindo então, de uma orientação a 0.7 }SU ([0 0 − 0.924 0.383]7 em quaterniões),
mediu-se a resposta que o robô reproduz quando este é controlado com recurso a um Controlador de
Impedância CIPO. Esta resposta é apresentada na Ilustração 5.9.
Através da análise da Ilustração 5.9 é, então, possível constatar que o robô reproduz uma
rápida resposta, na sua orientação. Desta forma, é verificada a evolução da orientação do elemento
terminal do robô para a orientação desejada, de acordo com a impedância mecânica imposta. De
notar que o regime transiente do elemento terminal do robô apresenta a mesma frequência de corte
(velocidade de resposta), quer em posição, quer em orientação. De facto, esta semelhança era
espectável, uma vez que os ganhos atribuídos à impedância, quer em posição, quer em orientação,
são os mesmos.
61
Ilustração 5.9 - Resposta da orientação do elemento terminal do robô de três graus de liberdade ao longo do tempo
5.2.3. Efeito da Frequência Natural
Finalmente, pretende-se estudar o efeito que o ambiente repercute ao robô de três graus de
liberdade, quando é alterada a frequência natural do sistema no anel exterior do Controlador de
Impedância CIPO. Assim estudou-se qual o efeito de aplicar uma força de 5 � na direcção normal à
recta de furação, ao elemento terminal do robô, quando se varia a frequência natural da impedância,
segundo a equação (4.1) do Capítulo 4. A configuração tomada pelo robô ao longo do tempo é
ilustrada na figura seguinte (Ilustração 5.10).
Ilustração 5.10 - Evolução do elemento terminal do robô planar de três graus de liberdade ao longo do tempo, em função da distância de furação, quando aplicada uma força de � � na direcção normal à
recta de furação
62
5.3. Robô Antropomórfico PUMA 560
Para este robô, foram novamente realizadas simulações do desempenho do seu elemento
terminal, partindo este, sempre da mesma configuração no espaço cartesiano (� = −0.71, = 0 e � = 0.15) e, evoluindo para uma posição sobre a recta de furação (segundo o eixo negativo, � = −0.6 e � = 0), orientando-se igualmente, sobre esta. A Tabela 5.3 apresenta os valores atribuídos
aos ganhos do Controlador de Impedância CIPO estudado.
Tabela 5.3 - Ganhos atribuídos à posição do Controlador de Impedância CIPO, por forma a testar o seu Desempenho no Robô PUMA
Ganhos de Posição Controlo de
Impedância CIPO *- 625. ( *+ 50. ( *,�%L54â3;�� ( *+�%L54â3;�� 20. ( *-�%L54â3;�� 100. (
*+�%L54â3;��_��3�53;��� 25. (
Nas figuras seguintes (Ilustrações 5.11 e 5.12) encontra-se ilustrado o desempenho em
posição do robô antropomórfico PUMA 560, segundo os eixos � e �, perpendiculares à direcção de
furação, quando controlado pelo Controlador de Impedância CIPO.
Ilustração 5.11 - Resposta do elemento terminal do robô PUMA, quando controlado por um Controlador de Impedância CIPO (Variação ao longo da coordenada �)
63
Ilustração 5.12 - Resposta do elemento terminal do robô PUMA, quando controlado por um Controlador de Impedância CIPO (Variação ao longo da coordenada �)
Na mesma ordem de ideias, e na ausência de momentos, estudou-se, também, a variação da
orientação do robô, ao longo do tempo. Deste modo, o robô parte com uma orientação em
quaterniões dada por [−0,597 − 0,083 − 0,056 0,796]7, até atingir a orientação desejada ([0 0 0 1]7).
A Tabela 5.4 apresenta os ganhos atribuídos à orientação do Controlador de Impedância CIPO.
Tabela 5.4 - Ganhos atribuídos à orientação do Controlador de Impedância CIPO, por forma a testar o seu Desempenho no Robô PUMA
Ganhos de
Orientação
Controlo de
Impedância CIPO *- 150. ( *+ 15. ( *,�%L54â3;�� ( *+�%L54â3;�� 2. ( *-�%L54â3;�� 1. (
Na Ilustração 5.13, encontra-se apresentada a variação da orientação em termos de
quaterniões. É de notar, então, que o elemento terminal do robô repercute uma resposta mais lenta
para a referência em orientação do que em posição. Este facto deve-se à menor rigidez de orientação
atribuída, no anel exterior do controlador projectado. A Ilustração 5.14 apresenta a evolução em
ambiente virtual do elemento terminal do robô, ao longo do tempo.
64
Ilustração 5.13 - Resposta da orientação do elemento terminal do robô PUMA ao longo do tempo
Verifica-se então que, ao partir de uma posição e orientação afastadas da referência, o robô
executa uma trajectória (em posição e orientação), na ausência de forças externas, para uma posição
sobre a recta de furação e, ao mesmo tempo, orientando-se sobre esta.
a) b)
c) d)
Ilustração 5.14 - Variação da posição e orientação do elemento terminal do robô PUMA ao longo do tempo a) No instante inicial b) ao fim de 3 segundos c) ao fim de 5 segundos d) no instante final da
simulação
65
Na mesma ordem de ideias, foi estudada a evolução do elemento terminal do robô, quando
aplicada uma força externa, numa direcção perpendicular à recta de furação. Na figura seguinte
(Ilustração 5.15) encontra-se ilustrada a resposta do elemento terminal do robô segundo o eixo �,
normal à recta de furação, quando aplicada uma força de 5 � segundo esse mesmo eixo, após o robô
ter sido inicializado (entenda-se, atingido o regime estacionário).
Ilustração 5.15 - Resposta do elemento terminal do robô ao longo do tempo, controlado pelo Controlador de Impedância CIPO, com força de � � após atingir regime estacionário
5.3.1. Efeito da Frequência Natural
Mais uma vez, pretende-se “medir” o efeito que a variação da frequência natural do
controlador (externo) de impedância repercute no elemento terminal do robô, a diferentes distâncias.
Assim, estudou-se a evolução da posição do elemento terminal do robô, na presença de uma força de
5 � normal à recta de furação, quando a rigidez do ambiente é incrementada à medida que o este se
aproxima do ponto de furação, segundo a equação (4.1) apresentada no Capítulo 4. Na figura
seguinte (Ilustração 5.16) encontra-se, então, ilustrada a evolução do elemento terminal do robô, em
função da sua distância ao ponto de furação.
66
Ilustração 5.16 - Resposta do elemento terminal do robô PUMA 560 ao longo do tempo, em função da distância ao ponto de furação, quando aplicada uma força de � � numa direcção normal à recta de
furação
5.4. Robô Planar de Dois Graus de Liberdade
Por forma a verificar o desempenho do Controlador de Impedância CIP no robô planar de dois
graus de liberdade, começou-se por se comparar o desempenho do modelo de simulação e o modelo
experimental do robô.
5.4.1. Modelo de Simulação vs. Modelo Experimental
A comparação entre o desempenho do controlador projectado quer em simulação, quer no
modelo real (experimentalmente) do robô é uma ferramenta poderosa que permite avaliar a robustez
do próprio controlador, analisar experimentalmente os resultados obtidos e verificar se o desempenho
desejado corresponde ao desempenho projectado para um modelo de real. Assim, começou-se por
avaliar o desempenho de cada um dos robôs (real e simulação), quando estes não se encontram
sujeitos à acção de forças externas, para uma recta de furação desviada de 0.4 = da origem do
referencial cartesiano (no sentido negativo), paralela ao eixo horizontal. Deste modo, partindo ambos
os robôs da mesma configuração inicial ( = −0.68), deixou-se o robô atingir o regime estacionário
(sobre a recta de furação). Na Tabela 5.5 encontram-se apresentados os ganhos atribuídos ao
Controlador de Impedância CIP, que controla o modelo de simulação e o modelo real.
Os gráficos ilustrativos do desempenho de ambos os robôs encontram-se representados nas
Ilustrações 5.17 e 5.18.
67
Tabela 5.5 - Ganhos atribuídos aos Controladores de Impedância CIP
Ganhos Controlador Controlo de Impedância
CIP *LL 2250. (
*+ L 16. ( *,�%L54â3;��- 5. (
*+ �%L54â3;��- 10. (
*-�%L54â3;��- 5. (
*+�%L54â3;��_��3�53;��� - 25. (
Ilustração 5.17 - Resposta do elemento terminal do robô ao longo do tempo, Controlado por um Controlador de Impedância CIP não actuado por forças externas aplicado Modelo de Simulação
Ilustração 5.18 - Resposta do elemento terminal do robô ao longo do tempo, Controlado por um Controlador de Impedância CIP não actuado por forças externas aplicado ao Modelo Experimental
68
Através da análise das Ilustrações 5.17 e 5.18 é possível verificar que, conforme esperado, a
simulação não repercute fielmente o comportamento do elemento terminal do robô real. Assim, para
os mesmos ganhos atribuídos a cada um dos modelos, é possível constatar que o regime transiente
de ambos os robôs é similar; contudo, ao atingir o regime estacionário, verifica-se que existe um erro
estacionário de posição – o elemento terminal do robô real não se encontra exactamente sobre a
recta a = −0.4, mas numa posição muito próxima, com um erro na ordem das décimas de
milímetro. De facto, este erro estacionário deve-se à dificuldade inerente na modelação do
comportamento dinâmico do robô real, explicitada na secção 4.6 do Capítulo 4. Na Ilustração 5.19
encontra-se, então, apresentada a evolução do elemento terminal do robô ao longo do tempo em
ambiente virtual, na ausência de forças externas. De notar que o elemento terminal do robô descreve
uma recta vertical, quando este se desloca para uma posição sobre a direcção de furação.
a) b)
c) d)
Ilustração 5.19 - Variação da posição do elemento terminal do robô planar de dois graus de liberdade ao longo do tempo (ambiente virtual), na ausência de forças externas a) no instante inicial b) ao fim
de 3 segundos c) ao fim de 7 segundos d) no instante final da simulação
Deste modo, aplicou-se uma força de 1 � na direcção normal à direcção de furação. A
ilustração das respostas da simulação e do robô real encontram-se apresentadas nas Ilustrações
5.20 e 5.21.
69
Ilustração 5.20 - Resposta do elemento terminal do robô, quando actuado por uma força de � � na direcção normal à recta de furação aplicado ao Modelo de Simulação
Ilustração 5.21 - Resposta do elemento terminal do robô, quando actuado por uma força de � � na direcção normal à recta de furação aplicado ao Modelo Real
Quando é aplicada força ao elemento terminal do robô, após este atingir o regime
estacionário, o robô altera a sua posição de referência, sendo que, o anel externo (de impedância) do
controlador impõe uma trajectória ao elemento terminal do robô. Deste modo é possível inferir que a
aplicação de uma força perpendicular à direcção de furação induz um movimento nesse sentido.
Quando esta força deixa de ser aplicada, o elemento terminal do robô tende, novamente, a
desenvolver uma trajectória para a recta de furação.
Numa situação real, onde o cirurgião tenha que, efectivamente, realizar uma operação, não é
expectável que a direcção de furação se encontre fixa no espaço cartesiano. Assim, fez-se variar o
70
ponto de furação ao longo do tempo e obtiveram-se os resultados apresentados nas Ilustrações
5.22A) e 5.22B).
A)
B)
Ilustração 5.22 - Resposta do elemento terminal do robô fazendo variar o ponto de furação ao longo do tempo A) Modelo de Simulação B) Modelo Real
Através da análise da figura acima (Ilustrações 5.22A) e 5.22B)), é possível verificar o
acompanhamento ao ponto de furação que o elemento terminal do robô efectua, quando este é
deslocado. Embora com um ligeiro atraso na resposta, esta situação comprova a eficiência da acção
de controlo do anel interior de controlo de posição, que desloca o elemento terminal do robô ao longo
do tempo, à medida que este também se movimenta.
Desta forma, fez-se variar a rigidez do elemento terminal do robô ao longo do tempo, em
função da sua distância ao ponto de furação, segundo a equação (4.1) do Capítulo 4. Assim, aplicou-
se uma força de 15� na direcção normal à recta de furação e compararam-se as respostas do robô,
quer para o modelo de simulação, quer para o modelo real, à medida que este se aproxima do ponto
de furação. As respostas do elemento terminal ao longo do tempo são apresentadas nas Ilustrações
5.23A) e 5.23B).
71
A)
B)
Ilustração 5.23 - Resposta do robô em função da distância ao ponto de furação quando actuado por uma força de �� � na direcção normal à recta de furação A) Modelo de Simulação B) Modelo Real
Na Ilustração 5.24 encontra-se, então, apresentada a evolução do elemento terminal do robô
ao longo do tempo em ambiente virtual, na presença de uma força constante de 15 �, perpendicular à
direcção de furação e com uma força de aproximação (paralela à direcção de furação) de 1 �. De
notar que o elemento terminal do robô descreve uma evolução exponencial para a recta de furação, à
medida que a distância ao ponto de furação diminui.
72
a) b)
c) d)
Ilustração 5.24 - Variação da posição do elemento terminal do robô planar de dois graus de liberdade ao longo do tempo (ambiente virtual), na presença de uma força constante de �� �, perpendicular à
direcção de furação e à medida que este se aproxima do ponto de furação a) ao fim de 3 segundos b) ao fim de 6 segundos c) ao fim de 9 segundos d) no instante final
5.4.2. Testes Práticos
Por forma a testar as funcionalidades práticas do Controlador de Impedância CIP projectado,
realizaram-se alguns testes práticos de manipulação do elemento terminal do robô, através da
aplicação de força sobre este. Assim, simulou-se uma situação em que o utilizador aplica forças de
guiamento no elemento terminal do robô, e mediu-se a sua reacção ao longo do tempo. Do mesmo
modo, aplicou-se uma impedância crescente à medida que o robô se aproxima do ponto de furação [ !�, ) = −0.5; −0.4]. É de notar que se considerou uma zona morta para o sensor de força, para
forças aplicadas entre [−10; 10] �(devido ao ruído captado pelo próprio sensor), pelo que, quando as
forças aplicadas se encontram dentro desta gama de valores, o elemento terminal do robô actua
como se não tivessem sido aplicadas forças sobre este. As Ilustrações 5.25 e 5.26 apresentam,
então, a evolução do elemento terminal do robô, quando são aplicadas forças.
73
Ilustração 5.25 - Trajectória descrita pelo elemento terminal do robô (segundo a direcção de furação – eixo �) ao longo do tempo, quando é aplicada força
Ilustração 5.26 - Trajectória descrita pelo elemento terminal do robô (segundo a direcção perpendicular à direcção de furação – eixo �) ao longo do tempo, quando é aplicada força
Através da análise das figuras anteriores, é possível verificar que quando o elemento terminal
do robô se encontra próximo do ponto de furação, este tende em estabilizar-se sobre a recta de
furação ( = −0.4). Do mesmo modo se constata que, quando o elemento terminal do robô é
deslocado no sentido contrário ao ponto de furação, a rigidez do ambiente é diminuída, o que implica
que, para o mesmo valor de forças, este descreve uma trajectória maior.
74
Por forma a testar todas as possibilidades concedidas pela inclusão do Controlador de
Impedância CIP, estudou-se, então, o impacto do elemento terminal do robô com uma superfície
esponjosa. Deste modo, a Ilustração 5.27 apresenta o deslocamento do elemento terminal ao longo
do tempo sobre a direcção de furação, bem como a força aplicada sobre o elemento terminal, sobre
este eixo. De notar que a vermelho, no gráfico superior, se encontra ilustrado o contacto entre o
elemento terminal do robô e a superfície de contacto, onde a superfície esponjosa de desloca
solidária ao elemento terminal; sendo que, no gráfico inferior se encontra, então, ilustrado a azul, a
força de contacto repercutida no elemento terminal do robô, devido à força de restituição da superfície
esponjosa.
Ilustração 5.27 – A) Resposta do elemento terminal do robô sobre a direcção de furação, ao longo do tempo, quando este colide com uma superfície de contacto; B) força aplicada no elemento terminal do
robô ao longo do tempo, segundo a direcção de furação
5.5. Novint
Numa fase final desta Tese pretende-se, finalmente, avaliar o desempenho do dispositivo
háptico na manipulação do elemento terminal do robô e na retroacção da força de contacto sentida
pelo cirurgião, quando o robô contacta com o paciente. Assim, executando o modelo de simulação
apresentado no Capítulo 4 e, uma vez fixado o osso no espaço, manipulou-se o elemento terminal do
robô ao longo do seu espaço operacional de forma a que este contacte com o osso. Deste modo, é
possível obter uma retroacção da força de furação necessária, quando este contacto efectivamente
acontece. Na figura seguinte (Ilustração 5.28) encontra-se ilustrada a variação da força de retroacção,
à medida que o elemento terminal contacta com a superfície do osso.
75
Ilustração 5.28 - Força de contacto repercutida no Novint Falcon em função da penetração na superfície do osso
Através da análise da figura anterior é possível constatar que a força repercutida no
dispositivo háptico Novint Falcon é positiva (no sentido contrário ao movimento) quando existe
penetração, sendo o módulo da força directamente proporcional à penetração (distância negativa) e à
própria velocidade de penetração (variação da distância ao longo do tempo).
76
77
6. Discussão e Conclusões
Neste Capítulo são discutidos os desempenhos dos robôs e dos controladores projectados bem
como o desempenho do dispositivo háptico na manipulação do elemento terminal do robô. São
sugeridos, também, alguns trabalhos futuros que, com certeza enriquecerão este projecto e são
retiradas algumas conclusões acerca da Tese realizada.
6.1. Discussão
O primeiro aspecto a focar neste trabalho prende-se com a validação dos modelos
cinemáticos e dinâmicos dos robôs utilizados. É certo que, mesmo quando o modelo dinâmico de um
robô não é conhecido suficientemente ao pormenor (devido a atritos, por vezes difíceis de modelar), o
modelo cinemático dos robôs toma especial importância quando se trabalha com a matriz Jacobiana
dos robôs, uma vez que, uma má “calibração” cinemática pode induzir erros estacionários
relativamente grandes e, em situações extremas, a um desempenho pouco eficaz por parte dos
controladores projectados. Pode-se então, afirmar que, embora os modelos dinâmicos dos robôs não
se encontrem perfeitamente modelados, o erro associado a esta modelação é pouco influente, dado
que os Controladores de Impedância CIPO projectados “rejeitam” eficazmente esta incerteza.
Esta rejeição, de facto, é notória, quando se comparam os Controladores de Impedância e o
Controlador de Impedância CIPO. A análise dos resultados obtidos e apresentados no Capítulo 5
permitem inferir uma maior robustez na rejeição da perturbação associada ao Controlador de
Impedância CIPO, comparativamente com o Controlador de Impedância. Deste modo, é possível
deduzir que o controlador estudado mais adequado às características especificadas neste projecto
(controlo de força, posição e impacto) é o Controlador de Impedância CIPO.
No que diz respeito à variação da rigidez do elemento terminal, isto é, da diferente
impedância atribuída ao ambiente à medida que o elemento terminal do robô se aproxima do ponto
de furação, verifica-se que esta variação é de extrema utilidade para o cirurgião, uma vez que a
manipulação livre do elemento terminal é tanto mais importante quanto mais afastado este se
encontrar do ponto de furação. Em sentido contrário, uma impedância constante atribuída ao
ambiente não “informa”, de maneira alguma, a distância a que o elemento terminal do robô se
encontra do ponto de furação. Pode-se então afirmar que, para além da precisão de furação conferida
ao robô, a diferente impedância existente ao longo de todo o espaço operacional do robô é uma
ferramenta de extremamente vantajosa para situar o cirurgião sobre a posição relativa que o
elemento terminal do robô assume perante o paciente.
78
A principal limitação de utilizar um robô planar de dois graus de liberdade para a
implementação experimental do controlador projectado prende-se essencialmente com o facto de não
ser possível controlar a orientação do elemento terminal do robô, ao mesmo tempo que se controla a
sua posição. Na mesma ordem de ideias, apenas foi possível testar as funcionalidades do
controlador, experimentalmente, para a manipulação do elemento terminal do robô no plano, o que
não permite extrapolar uma avaliação de desempenho num espaço tridimensional.
Comparando, então, o modelo de simulação aplicado ao robô planar virtual de dois graus de
liberdade, com o modelo experimental aplicado ao robô real, é possível verificar uma semelhança
entre a resposta projectada em simulação e a repercutida pelo elemento terminal do robô real. No
entanto, tal como era espectável, a dificuldade inerente na modelação dinâmica do robô real,
associado a erros de instrumentação (leitura de encoders, zonas mortas dos motores, etc.) fazem
com que ambas as respostas (simulação e experimental) não coincidam exactamente.
É, então, de salientar o eficaz desempenho do robô experimental, quando o seu elemento
terminal é guiado (através da acção de força) ao longo do seu espaço operacional, onde o utilizador
(cirurgião) tem a exacta sensação da impedância crescente à medida que a distância ao ponto de
furação diminui. Deste modo, reconhece-se o êxito atingido na integração do Controlador de
Impedância CIP para controlar o robô planar de dois graus de liberdade.
Finalmente, no que diz respeito à integração do dispositivo háptico Novint Falcon para
manipular o elemento terminal do robô, é salientada a possibilidade que o cirurgião tem em interagir
com o paciente, de um modo indirecto (por vezes a quilómetros de distância), através de um
comando que replica os seus gestos e, ao mesmo tempo, fornece uma sensação de força, ideal para
o conhecimento do comportamento do paciente. Contudo, esta replicação não é perfeita, uma vez
que, o próprio Novint Falcon tem, associada a si, a sua inércia própria, completamente diferente da
do robô, difícil de eliminar.
6.2. Trabalhos Futuros
Desde o projecto do robô à sua implementação e comercialização final, o projecto de
controladores para robôs manipuladores, aplicados a cirurgias ortopédicas cinge-se a uma, entre
muitas tarefas a que um projecto desta envergadura se encontra sujeito. Conforme se pôde constatar
ao longo desta Tese, este não é um projecto acabado; existem, então, múltiplas tarefas a executar,
antes que este projecto seja dado como concluído.
No que diz respeito directamente ao projecto do controlador, a validação experimental do
controlador projectado num robô antropomórfico é um passo importante para a uma avaliação de
desempenho adequada.
Na mesma ordem de ideias, é de todo conveniente elaborar um estudo mais aprofundado
acerca do ambiente de impedância a aplicar. Aconselha-se, então, uma simbiose entre os próprios
cirurgiões e o projectista, de modo a dotar o elemento terminal do robô do comportamento
79
complacente que mais se adequa à cirurgia a efectuar. É de notar que, o ambiente complacente
projectado surge empiricamente, baseado simplesmente em experiências efectuadas, pelo que, este
comportamento pode nem ser o mais adequado numa cirurgia. Assim, propõe-se que seja realizado
um ajuste de ganhos do controlador baseado na experiência e necessidade do cirurgião. Neste
âmbito também, o cirurgião pode necessitar que numa zona afastada do ponto de furação, o
controlador projectado não seja executado, dotando apenas o robô de uma compensação dinâmica,
de modo a que este não se dirija para a recta de furação, ou que, simplesmente seja possível
deslocá-lo através da manipulação directa das suas juntas e não da aplicação de força no elemento
terminal do robô.
Na mesma ordem de ideias, propõe-se, então, o desenvolvimento de um controlador híbrido
que possibilite ao cirurgião a manipulação livre do elemento terminal do robô numa zona afastada do
ponto de furação, actuado por um Controlador de Impedância puro, quer na direcção de furação, quer
noutras direcções; e, numa zona próxima do ponto de furação, dotar o elemento terminal de um
Controlador de Posição e Orientação nas direcções perpendiculares à direcção de furação,
mantendo, nesta, um comportamento de impedância, que garanta ao cirurgião o controlo da força de
penetração do elemento terminal do robô no órgão a operar.
Num Bloco Operatório, por vezes lotado e sem espaço, torna-se necessário o recurso a robôs
mais leves, flexíveis e de dimensões reduzidas. Assim, surge a necessidade da implementação do
controlador projectado num robô com este tipo de características, por forma a avaliar o seu
desempenho e a sua robustez.
Relativamente ao equipamento utilizado, nomeadamente no que diz respeito aos sensores de
força, para cirurgias com este grau de precisão, é necessário o recurso a sensores com uma maior
rejeição de ruído, de modo a evitar deslocamentos indesejáveis, do elemento terminal do robô.
Quanto à interface cirurgião-paciente existem também alguns aspectos que poderão ser
melhorados. A integração do dispositivo Novint Falcon® para uma manipulação em tempo real do
elemento terminal do robô é uma condição essencial, quando se pretende a realização de uma
cirurgia à distância. Conforme tem sido referido ao longo da Tese, o Novint Falcon® é um dispositivo
limitado no que à orientação diz respeito: é possível a manipulação da posição do elemento terminal;
contudo a manipulação da sua orientação não é contemplada. Sugere-se, então, o recurso a um
dispositivo háptico que promova esta manipulação e que, ao mesmo tempo, o efeito da sua inércia
seja quase insignificante.
Por outro lado, o conhecimento da posição e orientação do órgão a operar (neste caso, o
fémur) é uma tarefa que não deve ser descuidada. Uma correcta parametrização da superfície a
operar bem como o conhecimento da sua posição e orientação – conseguida através de um par de
câmaras estéreo, com reconhecimento de padrões, por exemplo – são tarefas que permitem um
desempenho adequado do controlador projectado.
80
6.3. Conclusões
Conforme tem sido referido ao longo da Tese, esta não é, de facto uma solução única para a
realização de cirurgias ortopédicas assistidas por robôs, mas sim, mais uma solução. É de salientar
que, como todas as outras metodologias estudadas ao longo dos anos, também esta possui os seus
prós e contras. A interface cirurgião-paciente apresentada, aliada à impedância diferenciada ao longo
do ambiente e ao controlo, ao longo da direcção de furação, efectuado pelo cirurgião, são
argumentos de peso, que introduzem mais-valias a esta metodologia. Em contrapartida, a
necessidade de uma manipulação do robô sobre o seu elemento terminal, a constante evolução do
sistema para a recta de furação (mais rápida ou mais lentamente, consoante a distância ao elemento
terminal) e a necessidade de sensores de força no elemento terminal do robô, são algumas das
desvantagens deste sistema.
Assim, entende-se que esta Tese tem uma forte contribuição para a Comunidade Científica
em geral e para o Instituto Superior Técnico em particular, não só pela aplicação de técnicas de
controlo e robótica ao serviço da medicina, como pela componente interdisciplinar existente, uma vez
que leva à partilha de conhecimento entre duas áreas distintas como a saúde e a engenharia.
Por tudo isto, entende-se que o Controlador de Impedância CIPO satisfaz os requisitos
propostos para esta Tese (controlo de posição, força e impacto), tendo sido projectado com sucesso,
pelo que se considerou que o trabalho realizado cumpre todos os objectivos propostos.
81
Bibliografia
Albu-Schaffer, A., & Hirzinger, G. (2002). Cartesian Impedance Control Techniques for Torque
Controlled Light-Weight Robots. Proceedings IEEE International Conference on Robotics and
Automation , 657-663.
Ambrosius, F. (2005). Interpolation of 3D Surfaces for Contact Modeling. Twente, Holanda: B.Sc.
Angeles, J. (2003). Fundamentals of Robotic Mechanical Systems: Theory, Methods and Algorithms.
Springer.
Armstrong, B., Khatib, O., & Burdick, J. (1986). The Explicit Dynamic Model and Inertial Parameters of
The PUMA 560 Arm. Proceedings on IEEE International Conference on Robotics and Automation.
Bargar, W., Bauer, A., & Borner, M. (1998). Primary and Revision Total Hip Replacement Using the
Robodoc System . Clinical Orthopaedics and Related Research , (pp. 82-91).
Barrett, A., Davis, B., Gomes, M., Harris, S., Henckel, J., Jakopec, M., et al. (2007). Computer-
Assisted Hip Resurfacing Surgery Using the Acrobot® Navigation System. Proceedings of the
Intitution of Mechanical Engineers, Part H: Journal of Engineering in Medicine (pp. 773-785). Prof Eng
Publishing.
Brandt, G., Zimolong, A., Carrat, L., Merloz, P., Staudte, H., Lavallée, S., et al. (1999). CRIGOS: A
Compact Robot for Image-Guided Orthopedic Surgery. IEEE Transactions on Information Technology
in Biomedicine, (pp. 252-260).
Caccavale, F., Siciliano, B., & Villani, L. (1999). The Role of Euler Parameters in Robot Control. Asian
Journal of Control, (pp. 25-34).
Carretero, J., & Nahon, M. (2005). Solving Minimum Distance Problems with Convex or Concave
Bodies Using Combinatorial Global Optimization Algorithms. IEEE Transactions on Systems, Man and
Cybernetics, Part B, (pp. 1144-1155).
Chiaverini, S., & Siciliano, B. (1999). The Unit Quaternion: a Useful Tool for Inverse Kinematics of
Robot Manipulators. Systems Analysis Modelling and Simulation (pp. 45-60). New Jersey, EUA:
Gordon and Breach Science Publishers, Inc. Newark.
Cleary, K., & Nguyen, C. (2001). State of the Art in Surgical Robotics: Clinical Applications and
Technology Challenges. Computer Aided Surgery, (pp. 312-328).
Corke, P. (1996). A Robotics Toolbox for Matlab. IEEE Robotics and Automation Magazine, (pp. 24-
32).
82
Corke, P., & Armstrong-Helouvry, B. (1994). A search for consensus among model parameters
reported for the PUMA560 robot. Proceedings of IEEE International Conference on Robotics and
Automation, (pp. 1608-1613).
Courses, E., & Surveys, T. (2003). The Hands-On Orthopaedic Robot "Acrobot": Early Clinical Trials of
Total Knee Replacement Surgery. IEEE Transactions on Robotics and Automation , 902-911.
Davies, B., Harris, S., Lin, W., Hibberd, R., Middleton, R., & Cobb, J. (1997). Active Compliance in
Robotic Surgery - The Use of Force Control as a Dynamic Constraint. Proceedings of the Institution of
Mechanical Engineers, Part H: Journal of Engineering in Medicine (pp. 285-292). Prof Eng Publishing.
de Pascale, M., de Pascale, G., Prattichizzo, D., & Barbagli, F. (2004). Tha Haptik Library: A
Component Based Architecture for Haptic Devices Access. Proceedings of Eurohaptics , 44-51.
De Schutter, J., Bruyninckx, H., Zhu, W.-H., & Spong, M. (1998). Force Control: A bird's eye view.
Control Problems in Robotics and Automation. London: Springer-Verlag.
Eck, M., & Hoppe, H. (1996). Automatic reconstruction of B-spline surfaces of arbitrary topological
type. Proceedings of the 23rd annual Conference on Computer Graphics and Interactive Techniques
(pp. 325-334). New York: ACM Press New York.
Eriksson, M., Flemmer, H., & Wikander, J. (2005). A Haptic and Virtual Reality Skull Bone Surgery
Simulator. Proceedings of World Haptics .
Fernandes, S. (2002). Controlo de um Manipulador Robótico - Uma Estratégia Híbrida. Tese de
Mestrado. Instituto Superior Técnico, Universidade Técnica de Lisboa, Portugal.
Fu, K., Gonzalez, R., & Lee, C. (1987). Robotics: Control, Sensing, Vision and Intelligence.
Ghodoussi, M., Butner, S., & Wang, Y. (2002). Robotic Surgery - the transatlantic case. Proceedings
on IEEE International Conference of Robotics and Automation, (pp. 1882-1888).
Glauser, D., Fankhauser, H., Epitaux, M., Hefti, J., & Jaccottet, A. (1995). Neurosurgical Robot
Minerva: First Results and Current Developments. Computer Aided Surgery (pp. 266-272). Informa
Healthcare.
Guthart, G., & Salisbury, J. (2000). The intuitive telesurgery system: Overview and application.
Proceedings on IEEE International Conference of Robotics and Automation (pp. 618-621). San
Francisco: ICRA 2000.
Harris, S., Jakopec, M., Davies, B., & Cobb, J. (1998). Interactive Pre-Operative Selection of Cutting
Constraints, and Interactive Force Controlled Knee Surgery by a Surgical Robot. Proceedings of
MICCAI'98 'Lecture Notes in Computer Science 1496' (pp. 996-1006). Springer Verlag.
Howe, R., & Matsuoka, Y. (1999). Robotics for Surgery. Annual Reviews in Biomedical Engineering
(pp. 211-240). Annual Reviews.
83
Incorporated, N. T. (2007). Haptic Device Abstraction Layer API Reference. Albuquerque, EUA.
Incorporated, N. T. (2007). Haptic Device Abstraction Programmer's Guide. Albuquerque, EUA.
Jakopec, M., Harris, S., Baena, F., Gomes, P., Cobb, J., & Davies, B. (2001). The first clinical
application of hands-on robotic knee surgery system. Comput. Aided Surgery, (pp. 329-339).
Joskowicz, L., & Taylor, R. (2001). Computer-Integrated Surgery and Medical Robotics. Standard
Handbook of Biomedical Engineering and Design.
Katupitiya, J., Radajewski, R., Sanderson, J., & Tordon, M. (1994). Implementation of a PC Based
Controller for a PUMA Robot. Proceedings of 4th IEEE Conference on Mechatronics and Machine
Vision in Practice, (pp. 14-19). Austrália.
Keerthi, S., Shevade, S., Bhattacharyya, C., & Murthy, K. (2000). A Fast Iterative Nearest Point
Algorithm for Support Vector Machine Classifier Design. IEEE Transactions on Neural Networks, (pp.
124-136).
Kwon, D., Lee, J., Yoon, Y., Ko, S., Kim, J., Chung, et al. (2002). The mechanism and the registration
method of surgical robot for hip arthroplasty. Proceeding on IEEE International Conference of
Robotics and Automation, (pp. 1889-2949).
Lankarani, H., & Nikravesh, P. (1990). A Contact Force Model with Hysteresis Damping for Impact
Analysis of Multibody Systems. Journal of Mechanical Design (pp. 369-376). American Society of
Mechanical Engineers.
Lewis, F., Dawson, D., & Abdallah, C. (2004). Robot Manipulator Control: Theory and Practice. CRC
Press.
Li, Q., Zamorano, L., Pandya, A. Perez, R., Gong, J., & Diaz, F. (2002). The Application Accuracy of
the NeuroMate Robot - A Quantitative Comparison with Frameless and Frame-Based Surgical
Location Systems. Comput Aided Surg, (pp. 90-98).
Ligos. (1997). V·Realm™ Builder. User's Guide and Reference. Retrieved Maio 22, 2007, from
http://www.few.vu.nl/~eliens/documents/vrml/V-Realm/
Magadalena. (2002, Setembro 19). Monografias. Retrieved Julho 26, 2008, from
www.monografias.com
Martins, J. (2007). Modelling Identification and Control of Flexible Manipulators - Tese De
Douturamento. Instituto Superior Técnico - Universidade Técnica de Lisboa, Portugal.
MathWorks, I. (2005). MATLAB: The Language of Technical Computing. MathWorks.
Paris, A. (2006). Modeling of the dissipative components and force control of rigid-flexible manipulator.
Master's Thesis. Instituto Superior Técnico, Lisboa.
Persson, P., & Strang, G. (2004). A Simple Mesh Generator in Matlab. SIAM Review , 329-345.
84
Praun, E., Sweldens, W., & Schröder, P. (2001). Consistent Mesh Parametrizations. Proceedings of
the 28th Annual Conference on Computer Graphics and Interactive Techniques (pp. 179-184). New
York, USA: ACM Press New York.
Prautzsch, H., & Paluszny, M. (2005). Métodos de Bézier y B-Splines. Karlsruhe, Alemanha:
Universitaetsverlag Karlsruhe.
Rossi, M., Tuer, K., & Wang, D. (2005). A New Paradigm for the Rapid Development of Haptic and
Telehaptic Applications. Proceendings of 2005 IEEE Conference on Control Applications, (pp. 1246-
1250). Toronto, Canada.
Sciavicco, L., & Siciliano, B. (1996). Modeling and Control of Robot Manipulators. New York: McGraw-
Hill.
Siciliano, B., & Villani, L. (1999). Robot Force Control. Boston: Kluwer Academic Publishers.
Silva, P. (2008). Controlo Visual de Robôs Manipuladores utilizando um Sistema de Visão Estéreo.
Tese de Mestrado. Instituto Superior Técnico - Universidade Técnica de Lisboa, Portugal.
Smith&Nephew. (2007). Birmingham Hip Resurfacing System. Bélgica: Trademark of Smith &
Nephew.
Stoianovici, D., & Taylor, R. (2003). Medical Robotics in Computer-Integrated Surgery. IEEE
Transactions on Robotics and Automation, (pp. 765-781).
Taylor, R., Paul, H., Kazandzides, P., Mittelstadt, B., Hanson, W., Zuhars, F., et al. (1994). An image-
directed robotic system for precise orthopaedic surgery. IEEE Transaction of Robotics and
Automation, (pp. 261-275).
Teodoro, P. (2007). Humanoid Robot: development of a simulation environment for robust walking,
surfing and kicking of an entertainment humanoid robot. Tese de Mestrado. Instituto Superior Técnico,
Universidade Técnica de Lisboa, Portugal.
Teodoro, P., Pires, P., Martins, J., Sá da Costa, J., & Rego. (2008). Resurfaced Femoral Head Finite
Element Analysis - Mapping von Mises distribution in three different prosthesis orientations. To be
published.
Treacy, R., McBryde, C., & Pysent, P. (2005). Birmingham Hip Resurfacing Arthroplasty - A Minimum
Follow-Up of Fiver Years. Journal of Bone & Joint Surgery, British Volume (pp. 167-170). JBJS.
Wang, W., Pottmann, H., & Liu, Y. (2006). Fitting B-spline curves to point clouds by curvature-based
squared distance minimization. ACM Transactions on Graphics (TOG) (pp. 214-238). New York: ACM
Press New York.
85
Anexo A –Quaterniões Unitários na Orientação (Chiaverini & Siciliano, 1999)
A localização de um corpo rígido no espaço, relativamente a um referencial conhecido é
tipicamente descrita por um vector de posição ? de dimensão [3 � 1] e uma matriz de orientação / de
dimensão [3 � 3]. A representação mínima em termos de orientação pode ser obtida através de uma
abordagem recorrendo ao conjunto de três ângulos de Euler, como sendo
/!G) = /j!R)/k!�)/[!E) (A.1)
com /j, /k e /[ matrizes de rotações elementares sobre três eixos independentes de referenciais
sucessivos. O conjunto de ângulos de Euler que correspondem a uma dada matriz de rotação /,
dada por
/ = m}99 }9� }9`}�9 }�� }�`}̀ 9 }̀ � }̀ `n (A.2)
podem ser determinados (Chiaverini & Siciliano, 1999) como sendo
R = �dS�2!−}�`, }̀ `) (A.3a)
� = �dS�2 !}9`, �}99� + }9�� ) (A.3b)
E = �dS�2 !−}9�, }99) (A.3c)
onde �dS�2!�, ) representa o arco-tangente do rácio x/y mas utiliza o sinal de cada um dos
argumentos para determinar a que quadrante os ângulos determinados pertencem.
É, então, de notar que, quando � = ±�/2, apenas é possível determinar a soma ou a
diferença de R e E, isto é
R ± E = �dS�2!}�9, }��) (A.4)
Deste modo, estas configurações são denominadas singularidades. Por forma a ultrapassar a
existência de singularidades, recorreu-se a uma representação de quatro parâmetros, nomeadamente
aos parâmetros de Euler (quaterniões unitários), definidos como
86
� = � 9, �, `, r¡ = �V, Y¡ (A.5)
onde
V = sin ¢2 . } (A.6a)
Y = cos ¢2 (A.6b)
9� + �� + �̀ + r� = 1 (A.6c)
com Y ≥ 0 para ¢ ∈ [−�, �]; Y é a parte escalar do quaternião e V a parte vectorial, sendo que o
quaternião representa a rotação de um ângulo ¢, sobre o vector }.
É, pois, de reparar que uma rotação de – ¢ sobre o vector – } é redundante, pois em termos
de quaterniões, esta descrição é similar a uma rotação de ¢ sobre o vector }. A matriz de rotação /,
definida em (A.2), pode agora ser rescrita como sendo
/!Y, V) = !Y� − V7V). ( + 2VV7 − 2 Y�!V) (A.7)
onde ( corresponde à matriz identidade de dimensão [3 � 3] e �!. ) a matriz de dimensão [3 � 3] de
produtos externos anti-simétrica. Por outro lado, o conjunto de quaterniões unitários pode ser definido
através da matriz de rotação como
Y = 12 ¦/99 + /�� + /`` + 1 (A.8a)
V = 12 a�&�!/`� − /�`)¦/99 − /�� − /`` + 1�&�!/9` − /`9)¦/�� − /99 − /`` + 1�&�!/�9 − /9�)¦/`` − /�� − /99 + 1b (A.8b)
Assim, a relação entre a derivada temporal dos parâmetros de Euler e a velocidade angular 2
é estabelecida pela regra de propagação:
Y$ = − 12 V72 (A.9a)
V$ = 12 X7!Y, V)2 (A.9b)
com
X7!Y, V) = Y. ( − �!V) (A.10)
A representação da orientação de um corpo rígido em termos de quaterniões sugere o cálculo
do erro relativo entre dois referenciais. Assim, considerando o referencial ∑4 e o referencial ∑;, pode
ser escrita a orientação que o segundo referencial produz relativamente ao primeiro como sendo
87
/4; = /;7/4 (A.11)
sendo que, o erro de orientação é definido como
V4;; = Y;V4 − Y4V; − �!V;)V4 (A.12)
que corresponde à parte vectorial do quaternião que pode ser extraída de /4; , segundo a
metodologia de (A.8b).
88
89
Anexo B - Modelos Dinâmicos dos Robôs
B.1. Modelo Dinâmico do Robô Planar de Três Graus d e Liberdade
Por forma a aplicar as metodologias de controlo estudadas ao robô planar de três graus de
liberdade, torna-se essencial o conhecimento da sua dinâmica. Assim, assumindo que o robô planar
de três graus de liberdade se comporta como um pêndulo de três elos, actuado em cada um deles, é
possível determinar as equações dinâmicas que regem o próprio robô, através da aplicação da
equação de Lagrange (equação (3.3) do Capítulo 3). Deste modo, considerou-se que a inércia de
cada um dos motores do robô é ínfima, quando comparada com a inércia associada a cada elo, pelo
que se considerou que a dinâmica do robô se deve apenas ao peso próprio dos seus elos e ao modo
em como estes se encontram ligados entre si. Assim, os parâmetros da equação dinâmica (equação
(3.2) do Capítulo 3) do robô planar de três graus de liberdade (Teodoro, Humanoid Robot:
development of a simulation environment for robust walking, surfing and kicking of an entertainment
humanoid robot. Tese de Mestrado, 2007) vêm dados por
1 = m191�1`n , !") = m¨99 ⋯ ¨9`⋮ ⋱ ⋮¨`9 ⋯ ¨``n � �!", "$ ) = m�9⋮�`n (C.1)
com
¨99 = =9�%9� + =�S9� + =��%�� + =`S9� + =`S�� + =`�%`� + 2=�S9�%���+ 2=`S9S��� + 2=`S��%`�` + 2=`S9�%`��`
(C.2a)
¨9� = =��%�� + =`S�� + =`�%`� + =�S9�%��� + 2=`S��%`�` + =`S9�%`��` (C.2b)
¨9` = =`�%`� + =`S��%`�` + =`S9�%`��` (C.2c)
¨�� = =��%�� + =`S�� + =`�%`� + 2=`S��%`�` (C.2d)
¨�` = =`�%`� + =`S��%`�` (C.2e)
90
¨`` = =`�%`� + =`S��%`�` (C.2f)
�9 = !=9�%9 + =�S9 + =`S9)&�9 + !=��%� + =`S�)&�9� + =`�%`&�9�`− =�S9�%�"$�!2"$9 + "$�)�� − =`S9S�"$�!2"$9 + "$�)��− =`S��%`"$`!2"$9 + 2"$� + "$`)�` − =`S9�%`!"$�+ "$`)!2"$9 + "$� + "$`)��`
(C.3a)
�� = !=��%� + =`S�)&�9� + =`�%`&�9�` + =�S9�%�"$9��� + =`S9S�"$9���+ =`S9�%`"$9���` − =`S��%`"$`!2"$9 + 2"$� + "$`)�` (C.3b)
�` = =`�%`&�9�` + =`S9�%`"$9���` + =`S��%`!"$9 + "$�)��` (C.3c)
B.2. Modelo Dinâmico do Robô Antropomórfico PUMA 56 0 (Armstrong, Khatib, & Burdick, 1986)
O modelo dinâmico do robô antropomórfico PUMA 560 tem vindo a ser estudado ao longo
dos anos por diversos investigadores (Katupitiya, Radajewski, Sanderson, & Tordon, 1994), (Corke &
Armstrong-Helouvry, 1994), tendo sido identificados os parâmetros dinâmicos que caracterizam o
próprio robô. Assim, tomando por base o modelo dinâmico apresentado por (Armstrong, Khatib, &
Burdick, 1986), será apresentada nesta secção o modelo dinâmico do robô PUMA 560 desenvolvido
por (Lewis, Dawson, & Abdallah, 2004). Assim, na figura seguinte (Ilustração B.1) encontra-se
ilustrada o robô estudado, bem como a colocação de referenciais escolhidos por (Lewis, Dawson, &
Abdallah, 2004).
Ilustração B.1 - Colocação de referenciais segundo o algoritmo Denavit-Hartenberg no robô PUMA 560
91
Assim, desenvolvido o modelo dinâmico do robô, é possível determinar os termos da matriz
simétrica !") e do vector �!", "$ ) da equação (3.2). De notar que !") é uma matriz [6 � 6], uma vez
que o robô PUMA 560 é constituído por seis corpos (elos). Analogamente, é facilmente verificável que �!", "$ ) é um vector [6 � 1], definidos por
!") = m¨99 ⋯ ¨9q⋮ ⋱ ⋮¨q9 ⋯ ¨qqn � �!", "$ ) = m�9⋮�qn (C.4)
Substituindo, então, as variáveis pelos parâmetros dinâmicos apresentados na Tabela 3.2 do
Capítulo 3, obtém-se, então, os seguintes termos de dinâmica do robô.
¨99 = 2.57 + 1.38��� + 0.3���` + 0.744����` (C.5a)
¨9� = 0.69�� − 0.134��` + 0.0238�� (C.5b)
¨9` = −0134��` − 0.00397��` (C.5c)
¨9r = ¨9s = ¨9q = 0 (C.5d)
¨�� = 6.79 + 0.744�` (C.5e)
¨�` = 0.333 + 0.372�` − 0.011�` (C.5f)
¨�r = ¨�s = ¨�q = 0 (C.5g)
¨`` = 1.16 (C.5h)
¨`r = −0.00125�r�s (C.5i)
¨`s = −0.00125�r�s (C.5j)
¨`q = 0 (C.5k)
¨rr = 0.2 (C.5l)
¨rs = ¨rq = 0 (C.5m)
¨ss = 0.18 (C.5n)
¨sq = 0 (C.5o)
¨qq = 0.19 (C.5p)
92
�9 = [0.69�� + 0.134��` − 0.0238��]"$�� + [0.1335��` − 0.00379��`]"$ �̀+ [−2.76��� + 0.744���` + 0.6���`− 0.0213!1 − 2���`)]"$9"$�+ [0.744����` + 0.6���` + 0.022����`− 0.0213!1 − 2���`)]"$9"$`+ [−0.0025���`�r�s + 0.00086�r�s− 0.00248����`�r�s]"$9"$r+ [−0.0025!���`�s − ���`�r�s)− 0.00248��!��`�s − ��`�r�s) + 0.000864�r�s]"$9"$s+ [0.267��` − 0.00758��`]"$�"$`
(C.6a)
�� = − 12 [−2.76��� + 0.744���` + 0.6���` − 0.0213!1 − 2���`)]"$9�+ 12 [0.022�` + 0.744�`]"$ �̀+ [0.00164��` − 0.0025��`�r�s + 0.00248���r�s+ 0.00003��`!1 − 2��r)]"$9"$r+ [−0.00215��`�r�s + 0.00248���r�s − 0.000642��`�r]"$9"$s+ [0.022�` + 0.744�`]"$�"$` − 0.00248�`�r�s"$�"$r+ [−0.0025�s + 0.00248!�`�r�s − �`�s)]"$�"$s− 0.00248�`�r�s"$`"$r+ [−0.0025�s + 0.00248!�`�r�s − �`�s)]"$`"$s − 37.2��− 8.4��` + 1.02��
(C.6b)
�` = − 12 [−2.76��� + 0.744���` + 0.6���` − 0.0213!1 − 2���`)]"$9�− 12 [0.022�` + 0.744�`]"$�� − [0.00125�r�s]"$s�− [0.00125�r�s]"$r�+ [−0.0023��`�r�s + 0.00164��`+ 0.0003��`!1 − 2��r)]"$9"$r− [0.0025��`�r�s + 0.000642��`�r]"$9"$s − 0.0025�s"$�"$s− 0.0025�s"$`"$s − 0.0025�r�s"$r"$s − 8.4��` + 0.25��`
(C.6c)
93
�r = 12 [0.0025���`�r�s − 0.00086�r�s + 0.00248����`�r�s]"$9�− 12 [0.00248�`�r�s]"$��+ [0.00164��` − 0.0025��`�r�s + 0.00248���r�s+ 0.0003��`!1 − 2��r)]"$9"$�+ [0.0025��`�r�s − 0.00164��` − 0.0003��`!1 − 2��r)]"$9"$`− 0.000642��`�r"$9"$s + 0.000642�r"$�"$s + 0.000642�r"$`"$s+ 0.028��`�r�s
(C.6d)
�s = 12 [0.0025!���`�s − ���`�r�s) + 0.00248��!��`�s − ��`�r�s)− 0.000864�r�s]"$9�− 12 [0.0025�s − 0.00248��!�`�r�s − �`�s)]"$��+ [0.0026��`�r�s − 0.00248���r�s + 0.000642��`�r]"$9"$�+ [0.0025��`�r�s + 0.000642��`�r]"$9"$`+ 0.000642��`�r"$9"$r − 0.00642�r"$�"$r − 0.00642�r"$`"$r− 0.028!��`�s + ��`�r�s)
(C.6e)
�q = 0 (C.6f)
94
95
Anexo C - Interface Novint- Matlab
A interface Mestre-Escravo é, hoje em dia uma prática recorrente no que diz respeito à
interacção entre um manipulador físico comandado pelo utilizador e um dispositivo (software ou
hardware) que repercutirá como resposta, as solicitações a que o utilizador incutir no próprio Mestre
(Rossi, Tuer, & Wang, 2005).
Para que esta interacção seja perfeita, alguns manipuladores, como é o caso do Novint
Falcon®, facultam a possibilidade de reenvio de força para os seus motores, de modo a que, quando
exista colisão entre o Escravo e qualquer outro dispositivo presente no seu espaço de trabalho, esse
tipo de constrangimento seja sentido pelo utilizador.
É, então, neste âmbito que este trabalho prático se rege, onde se pretende realizar uma
interface Mestre-Escravo entre o manipulador com realimentação de força Novint Falcon® e o
Simulink do Matlab.
Instalação do Software Development Kit (SDK)
Com a instalação do SDK (Incorporated, Haptic Device Abstraction Layer API Reference,
2007), é então possível aceder ao manual de programador do Novint Falcon® e extrair alguns
ficheiros necessários ao funcionamento regular do próprio dispositivo. Deste modo, verifica-se que
todo o código criado para o funcionamento do Novint Falcon® foi escrito em Visual Studio 2005® C++
e, uma vez que este tipo de programação é “aceite” pelo Simulink, em especial, pelas S-Functions, a
sua integração torna-se relativamente fácil.
Assim, foi desenvolvido o ficheiro Novint.cpp, que realiza a comunicação entre o Novint
Falcon® e o Simulink do Matlab.
Comunicação entre o Novint e o Matlab/Simulink
Para proceder à comunicação entre o Novint Falcon® e o Simulink do Matlab torna-se
necessário proceder a alguns passos fundamentais, enumerados de seguida:
• Instalação das Drivers do Novint Falcon® (cd fornecido com o mesmo);
• Instalação do SDK (2007-09-20_Novint_HDAL_SDK_1.1.0_Beta_setup);
• Existe necessidade de incluir algumas classes (Matlabhaptics.h e Matlabhaptics.cpp)
necessárias ao Import para compilação com o ficheiro Novint.cpp, criado para
estabelecer esta comunicação - Estas classes devem estar localizadas na pasta src
do SDK (exemplo, C:\Program
Files\Novint\HDAL_SDK_1.1.0_Beta\examples\Basic\src).
96
Programa de Teste
Numa fase inicial, por forma a testar as funcionalidades do Novint Falcon®, foi necessário
recorrer a uma aplicação disponibilizada pelos fabricantes do manipulador, FalconTest – V 1.0.exe ,
que se encontra na directoria onde as bibliotecas do Novint Falcon® foram instaladas (C:\Program
Files\Novint\Falcon\TestUtilities\FalconTest). Abrindo esta aplicação, uma janela deste tipo será
apresentada ao utilizador (Ilustração C.1).
Ilustração C.1 – Aplicação FalconTest – V 1.0.exe
Deste modo, o utilizador tem a hipótese de testar todas as funcionalidades que o manipulador
dispõe, como movimentação do elemento terminal no espaço, realimentação de força nos motores,
botões e LED’s.
Assim, foi possível concluir que o primeiro elemento do vector posição (coordenada �),
corresponde ao deslocamento na horizontal do elemento terminal, sendo o sentido positivo o lado
direito e o negativo o lado esquerdo; o segundo elemento do vector posição (coordenada ),
corresponde ao movimento do elemento terminal na vertical, sendo o sentido positivo a parte superior
e o negativo a parte inferior; e o terceiro elemento do vector posição (coordenada �), corresponde ao
movimento na horizontal do elemento terminal, sendo o sentido positivo o avanço do elemento
terminal para a frente, e o sentido negativo para trás. Na figura seguinte (Ilustração C.2) encontra-se
uma ilustração das coordenadas do Novint Falcon®.
97
Ilustração C.2 - Espaço de trabalho do elemento terminal do Novint Falcon®
Da mesma forma, as coordenadas do vector força, que alimenta os motores são definidas no
mesmo espaço cartesiano.
Torna-se então necessário, aceder ao código que gere as comunicações entre o software e o
manipulador Novint Falcon® para que, posteriormente, esta comunicação seja estabelecida
recorrendo ao Simulink do Matlab. Assim, recorreram-se a alguns ficheiros presentes na SDK, para
mais facilmente ter acesso às classes que realizam esta comunicação.
Desta forma, a instalação efectuada no computador foi realizada do seguinte modo:
• Criou-se uma pasta em C:\Classes com as pastas Include, Lib e src (Ilustração C.3). Os
ficheiros Matlabhaptics.h e Matlabhaptics.cpp devem ser incluídos na pasta src.
Ilustração C.3 - Exemplo de localização dos ficheiros necessários para compilação
• Verificar que na variável de sistema PATH do Matlab foi adicionado o valor C:\Program
Files\Novint\Falcon\HDAL\bin onde estão presentes todas as bibliotecas .dll necessárias.
• Compilar no Matlab executando o comando, mex Novint.cpp -IC:\Classes\include -
IC:\Classes\src C:\Classes\Lib\hdl.lib
98
Incorporação no Simulink
Conforme referido anteriormente, o Matlab compila código C++ através da integração do
código num bloco específico de Simulink (S-functions) seguido de um mex ao próprio ficheiro
(transformando assim, o código C++ em C, que corresponde ao código de baixo nível com que o
Matlab funciona). Deste modo, o ficheiro Novint.cpp fará a comunicação entre o Novint Falcon® e o
Simulink. A S-Function criada é definida da seguinte forma:
• Número de Entradas: 1 – vector de força [�, , �] em Newton;
• Número de Saídas: 1 – vector de posição [�, , �] em Metro;
• Número de Parâmetros – 0.
No código está presente uma instância da classe HapticsClass importada do ficheiro
matlabhaptics.h e matlabhaptics.cpp.
Métodos utilizados da classe HapticsClass (Incorporated, Haptic Device Abstraction Programmer's
Guide, 2007):
Init – Inicia as comunicações com o hardware Novint e faz o home aos encoders.
synchFromServo – Método que actualiza os valores de encoder. Ao chamar este método a variável
m_positionServo da classe HapticsClass é actualizada com os valores correctos dos encoders.
getPosition – Método de interface da classe HapticsClass para obter a posição actual em
coordenadas (�, , � em metros).
setForce – Método de interface da classe HapticsClass para editar a força dos actuadores segundo
as coordenadas �, , � (�).
uninit – Desliga as comunicações com o hardware Novint.
É de salientar, também, o funcionamento do Manipulador através de Threads, que,
recursivamente, vão sendo chamadas, de modo a efectuar a leitura (quase) contínua dos valores de
força recebidos e, determinar a posição do elemento terminal do Novint.
Assim, após compilada a S-Function, o ficheiro teste.mdl encontra-se criado e pronto a
funcionar. Este tem como principal função testar as comunicações entre o Novint Falcon® e o Matlab,
à medida que a posição do elemento terminal e a força enviada aos motores do Novint variam. O
diagrama de blocos Simulink da aplicação teste.mdl encontra-se ilustrado na figura seguinte
(Ilustração C.4).
99
Ilustração C.4 - Diagrama de Blocos de troca de informação entre Novint Falcon® e Matlab