Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Facolt`
a di Ingegneria
Corso di laurea in Ingegneria Informatica
HAPTIC PLAYBACK:
A NEW APPROACH TO TEACHING OF SENSIMOTOR
SKILLS
TESI DI LAUREA
Matteo Corno
Matricola: 642404
RIASSUNTO
1 Introduzione
Lobiettivo di questo lavoro `e lo studio delle interfacce aptiche, in particolare ci concentreremo sui metodi che permettono di impiegare le interfacce
aptiche nellinsegnamento di compiti manuali che richiedono una interazione
precisa con lambiente. Nel resto del lavoro ci si riferir`a alle interfacce aptiche
con lacronimo HI (haptic interface).
Il termine aptica deriva dal greco haptesthai che significa toccare. In ambito scientifico laptica `e lo studio del senso del tatto e dellinterazione con
lambiente tramite il tatto. Sono due i livelli a cui il senso del tatto fornisce
informazioni. I movimenti ampi e le forze sono percepiti da recettori neuronali
negli arti e nel corpo, mentre i movimenti con frequenze pi`
u alte e ampiezze
minori sono percepiti dai recettori nella pelle e nelle dita. Questi due livelli
sono chiamati rispettivamente kinestetico e tattile.
Il canale tattile permette di ottenere informazioni sul tipo di contatto e sulle
propriet`a fisiche degli oggetti. Le sensazioni di pressione, temperatura, mor` posbidezza, umidit`a e fenomeni di attrito sono elaborate a livello tattile. E
sibile organizzare queste sensazioni in tre funzioni principali: lidentificazione
del materiale, lidentificazione della forma e lidentificazione del movimento.
Il canale kinestetico si riferisce al senso di posizione e movimento di parti
del corpo in associazione alle forze esercitate. I muscoli, tendini e articolazioni
svolgono un ruolo importante in questo tipo di sensazioni.
Il termine aptica viene usato per riferirsi a uno o a entrambi questi canali.
Il senso del tatto `e diverso da tutti gli altri sensi umani. Esso non solo
` un
fornisce informazioni sullambiente ma `e anche un mezzo di interazione. E
canale bidirezionale: quando un artista modella della creta le sue mani fungono
ii
RIASSUNTO
(Continua)
allo stesso tempo da sensori ed attuatori. Maggiori dettagli sullo studio del
senso del tatto e sui vari tipi di HI vengono forniti nel Capitolo 1.
Negli ultimi anni lo studio delle HI si `e dimostrato un settore molto attivo,
sia dal punto di vista accademico che industriale. Questo perche sono molte
le possibili applicazioni delle HI, di seguito elencheremo le pi
u importanti.
Maggiori dettagli e riferimenti bibliografici sono riportati nella Sezione 1.4.
applicazioni delle HI `e stato larricchimento di interfacce grafiche. Stimoli tattili possono essere utilizzati per sottolineare relazioni gerarchiche tra elementi
di un sistema operativo.
Giochi. Le HI sono gi`a una realt`a commerciale nel comparto dellintrattenimento. Lintroduzione del canale tattile pu`o migliorare notevolmente lesperienza di gioco soprattutto nelle simulazioni, dove il senso di immersione pu`o
essere grandemente amplificato.
Multi-media publishing. Le applicazioni multimediali pi`
u comuni includono testo, suono, immagini e video; luso delle HI permetter`a, per esempio,
di realizzare cataloghi multimediali in cui il cliente possa sentire differenti tipi
di materiale.
Supervisione di sistemi complessi. Il senso del tatto pu`o essere usato
per alleggerire e ridurre gli stimoli visivi che giungono ad un operatore di
macchinari. Controlli aptici sono disponibili, ad esempio, su alcune automobili.
Riabilitazione. Le HI possono essere usate per migliorare le condizioni
di lavoro per persone con deficit visivi e nella riabilitazione di feriti o persone
con disabilit`a motorie.
Educazione e addestramento. Sistemi pericolosi o con disponibilit`a limitata (come ad esempio pazienti chirurgici) possono essere simulati usando le
HI per scopo di addestramento. Questo `e il settore su cui si concentra questa
tesi. In particolare il dipartimento di odontoiatria della Universit`a dellIllinois
a Chicago ha in progetto la realizzazione di un laboratorio didattico multiiii
RIASSUNTO
(Continua)
mediale dove studenti al primo anno possano familiarizzare con gli strumenti
del mestiere (trapani, sonde, aspiratori e siringhe). Questo laboratorio non
solo permetterebbe di migliorare la qualit`a dellinsegnamento, ma anche di
abbattere i costi.
2 Obiettivi
Linsegnamento di capacit`a manuali `e spesso un compito difficile e dispendioso. In generale, il metodo pi`
u efficace `e quello di avere un addestratore esperto che interagisca fisicamente con lallievo. Un tale addestramento
`e ovviamente costoso in termini di tempo e comporta un basso rapporto allievo/addestratore. Se fosse possibile avere un sistema capace di mostrare
compiti manuali ad un gruppo di studenti, non solo i costi sarebbero drasticamente tagliati, ma la qualit`a dellinsegnamento ne risulterebbe migliorata.
Sarebbe pi`
u facile per linsegnante valutare i progressi della classe e adattare
le lezioni ai progressi degli studenti.
Le simulazioni aptiche hanno mostrato un grande potenziale come strumenti di insegnamento, particolarmente in quei campi dove laddestramento
tramite metodi tradizionali `e molto costoso, come nel caso della chirurgia.
I sistemi aptici tradizionali sono sistemi di realt`a virtuale che permettono agli utenti di esplorare un ambiente virtuale in cui si possono trovare
e toccare oggetti con diverse propriet`a meccaniche. Dal punto di vista
delladdestranmento questo approccio mostra due difetti. In primo luogo,
pur risultando molto utile per utenti esperti che vogliano tenersi allenati in
una tecnica conosciuta, non `e di aiuto a studenti che necessitino di imparare
un nuova tecnica. I sistemi aptici tradizionali, infatti, non sono stati progettati per comunicare informazioni sul corretto svolgimento di un compito. In
secondo luogo i simulatori aptici spesso si basano su un modello virtuale del
mondo e non sempre questo `e disponibile. Una applicazione molto comune `e
la simulazione di procedure chirurgiche, `e molto difficile ottenere buoni moiv
RIASSUNTO
(Continua)
RIASSUNTO
(Continua)
Questa tesi si concentra principalmente sui problemi relativi alla implementazione di schemi di controllo per lhaptic playback. In questa prospettiva
il problema pi`
u grande che deve essere risolto `e che esiste una relazione di
causalit`a tra posizione e forza. Le due variabili non sono indipendenti e non `e
possibile mostrarle simultaneamente in modo arbitrario e con un solo dispositivo aptico.
3 Stato di Partenza
Come sottolineato in precedenza la maggior parte degli sforzi in passato
si sono concentrati sul concetto di simulazione aptica, una simulazione in cui
lutente pu`o sperimentare e sentire diversi tipi di oggetti con propriet`a fisiche
differenti. Per studiare la stabiliti`a delle HI si `e applicato il concetto di two-port
framework; nei sistemi aptici la stabilit`a `e un aspetto critico perche, non solo
le oscillazioni non previste distraggono lutente, ma possono rivelarsi potenzialmente pericolose. Diversi autori si sono dedicati alla questione; il problema
`e inizialmente investigato da Minsky e collaboratori i quali trovano un limite
superiore al periodo di campionamento T e esplorano gli effetti delle variazioni
dei parametri dellambiente virtuale (che pu`o essere descritto dalla massa, M ,
rigidezza, K, e smorzamento, B) sulla stabilit`a. Il loro lavoro permette di
concludere che il massimo periodo di campionamento T che garantisce la stabilit`a `e linearmente dipendente da 1/K e B in un vasto intervallo e che non `e
influenzato dalla massa dellambiente virtuale, supposto che la massa non sia
maggiore di una soglia specificata. Da queste osservazioni `e facile ricavare che
la stabilit`a `e profondamente influenzata dal periodo di campionamento.
Durante i primi studi del problema, Gillespie propone di modellizzare lutente come un sistema di secondo ordine, lineare e tempo invariante e deriva le
condizioni di stabilit`a sotto questa ipotesi. Lautore propone anche un supervisore del modello dellutente che pu`o tenere in considerazione la natura tempo
vi
RIASSUNTO
(Continua)
RIASSUNTO
(Continua)
tiva sullo stato dellarte e una dettagliata spiegazione dei metodi usati pu`o
essere trovata nel Capitolo 2.
Come sottolineato in precedenza lo scopo finale di questo progetto non `e
quello di simulare un ambiente, bens` quello di insegnare un compito manuale.
Questo `e un obiettivo innovativo e non `e stato possibile trovare in letteratura
una trattazione esaustiva del problema. Nel Capitolo 3 sono presentati i tre
lavori pi`
u rilevanti svolti nel campo. Qui di seguito verranno descritti in breve.
Virtual calligraphy system. Henmi and Yoshikawa hanno sviluppato
un sistema per linsegnamento della calligrafia. Il dispositivo `e costituito da
un braccio robotico al quale `e collegato un pennello. Il sistema pu`o funzionare
in due modalit`a: direct position display e direct force display. In modalit`a
direct position display lo studente impara la posizione verticale del pennello
dal sistema aptico, mentre la forza esercitata `e mostrata su uno schermo in
guisa di un cerchio il cui raggio `e proporzionale alla forza. Lo studente deve
cercare di eguagliare il suo cerchio a un altro cerchio mostrato che rappresenta
la forza desiderata. Il sistema, per correggere lerrore di posizione, esercita
una forza proporzionale allerrore. Dualmente, in modalit`a direct force, lo
studente impara la forza apticamente mentre la posizione attuale e la posizione
desiderata sono mostrate sul display.
Virtual haptic back. Williams e collaboratori hanno realizzato un apparato aptico per il progetto Virtual Haptic Back della Universit`a dellOhio. In
questo caso il sistema si basa su un modello matematico della schiena e anche
in questo caso due modalit`a sono state implementate. La prima modalit`a `e
basata su un controllore PD che controlla la posizione. La seconda modalit`a
`e pi`
u interessante e mostra le differenze tra un sistema basato su un modello
matematico e il concetto di playback.
Fingertip presser. Kikuuwe and Yoshikawa hanno proposto un approccio
innovativo al problema. Lidea perseguita `e quella di mostrare apticamente sia
la forza che la posizione; per ottenere questo scopo un sistema composto da due
viii
RIASSUNTO
(Continua)
RIASSUNTO
(Continua)
RIASSUNTO
(Continua)
target position
visual
display
xd
fd
c
o
n
t
r
o
l
l
e
r
x0
fu
user
xu
fu
fact
haptic
display
xu
requested force
RIASSUNTO
(Continua)
xii
RIASSUNTO
(Continua)
si basa sulle ipotesi di Mussa-Ivaldi; `e importante notare che il nostro obiettivo non `e quello di ottenere un modello rigoroso dal punto di vista delle
scienze cognitive e motorie. In questa tesi ci siamo concentrati su come il
CNS calcoli la forza da richiedere ai muscoli in base agli stimoli esterni. La
scelta fatta di mantenere la causalit`a dellimpedenza segue la scelta comune nel
caso di dispositivi con piccola inerzia. Sotto le ipotesi descritte in precedenza
loperatore `e visto come un controllore che cerca di ridurre la differenza tra
la posizione corrente e la posizione del bersaglio mostrato sullo schermo. Il
controllo si basa su due termini, il termine in retroazione dellerrore di posizione
e il termine in anello aperto che dipende dalla forza esterna, questultimo tiene
conto del meccanismo di adattamento ipotizzato da Mussa-Ivaldi. La funzione
di trasferimento ottenuta pu`o essere scritta come:
Fu (s) = kes (Xu (s) X0 (s)) Fact (s) + sFact (s).
(1)
Il modello dipende da cinque parametri. Nel termine ad anello chiuso, k descrive la rigidit`a e linevitabile ritardo associato alla coordinazione mano
occhio. I rimanenti parametri descrivono il termine di adattamento. Lidea
di fondo `e quella che loperatore tenti di muoversi verso il bersaglio mostrato
esercitando una forza, fu , ottenuta uguagliando la forza esercitata dallesterno,
fact , e aggiungendo una forza proporzionale allerrore di posizione. Il termine
sFact (s) `e dovuto allerrore nelluguagliare la forza. Il termine di adattamento `e modellizzato come un PD, `e ragionevole assumere che se fact varia
lentamente per loperatore sar`a pi`
u semplice uguagliare la forza. Maggiori
dettagli sul modello sono descritti nella Sezione 5.2.
RIASSUNTO
(Continua)
xiv
RIASSUNTO
(Continua)
Leggi di Controllo
Il modello proposto apre nuove possibilit`a; come visto, Henmi, Yoshikawa
e Williams riconoscono limportanza del canale visivo, ma non ne sfruttano a
pieno le potenzialit`a. Nelle loro applicazioni il canale visivo, usato in anello
aperto, mostra la traiettoria che lo studente deve imparare. Una volta modellizzati i meccanismi alla base del controllo motorio il problema pu`o essere
osservato dalla prospettiva dei sistemi di controllo. Se si formula il problema
come un problema di controllo, con riferimento alla Figura 0.2, xu e fu sono
le variabili controllate che devono seguire landamento di xd e fd , mentre x0
e fact sono le variabili di controllo. Formulato il problema in questo modo,
diventa lecito sospettare che una legge di controllo ad anello aperto garantisca
risultati peggiori rispetto ad un sistema di controllo ad anello chiuso.
Inoltre, avendo un modello, `e possibile simulare diverse leggi di controllo e
confrontarne in modo semplice i risultati. Nella Sezione 5.4 vengono quindi
descritti i controllori precedentemente usati in letteratura e viene presentata
una strategia di controllo innovativa. Le leggi di controllo prese in considerazione sono quattro:
Open loop controller. In questo caso sia x0 che fact sono generate in anello
aperto.
` il controllore usato da Henmi and Yoshikawa. E
`
Direct force controller. E
ispirato alla architettura di controllo in forza adottata in robotica industriale.
` una implementazione del direct force controller che
Coupled controller. E
evita luso di costosi sensori di forza.
Crossed controller. Questo controllore si basa sulla innovativa idea di usare
una strategia ad anello chiuso per muovere il bersaglio x0 . Il nome crossed
deriva dal fatto che il bersaglio viene spostato per correggere lerrore
xv
RIASSUNTO
(Continua)
crossed controller offre prestazioni superiori rispetto a tutti gli altri controllori.
Questo `e per`o vero solo se non si considera il ritardo dovuto alla coordinazione
RIASSUNTO
(Continua)
a una trasmissione tra tre motori equipaggiati con encoder e la mano umana.
La posizione nello spazio cartesiano `e tracciata dagli encoder e i motori sono
in grado di esercitare forze nelle tre direzioni cartesiane. La trasmissione della
coppia avviene tramite cavi pretensionati. Alla fine della catena cinematica `e
fissata una penna libera di ruotare attorno ad un polso sferico.
Nel Capitolo 6 le principali caratteristiche del PHANToMTM sono discusse
e approfondite, inoltre vengono ricavati e discussi i modelli cinematici e dinamici. I modelli si sono rivelati necessari a causa della non disponibilit`a di
sensori di forza e dalla poca documentazione fornita dalla Sensable. Come discusso nella Sezione 6.2, il dispositivo `e accompagnato da una libreria chiamata
GHOST. Questa libreria fornisce una API per il controllo del PHANToMTM .
LAPI `e stata sviluppata per essere usata da programmatori senza una approfondita conoscenza delle tematiche dellaptica. La libreria permette di usare
una rappresentazione a grafo dellambiente virtuale, simile a quella usata in
informatica grafica. Da un lato questo permette una progettazione e realizzazione molto veloce di ambienti virtuali anche complessi, ma dallaltro lato la
libreria non `e sufficientemente versatile per i nostri obiettivi; infatti GHOST
impedisce laccesso a basso livello al dispositivo: `e per esempio possibile leggere
xvii
RIASSUNTO
(Continua)
il segnale in arrivo dagli encoder, ma non `e possibile misurare la corrente comandata agli attuatori, ne tanto meno richiedere una coppia ai motori. Inoltre,
come abbiamo visto, il crossed controller e il direct force controller necessitano
della misura della forza esercitata dalloperatore. Non potendo misurare direttamente questa grandezza `e stato necessario sviluppare un metodo di stima.
Il metodo di stima `e basato sul modello dinamico e sul filtraggio dei segnali
provenienti dagli encoder; il PHANToMTM non `e infatti dotato di sensori di
velocit`a. Limplementazione dei metodi di filtraggio e stima, insieme alle loro
limitazioni sono discussi nella Sezione 6.5.
Risultati Sperimentali
Grazie al PHANToMTM `e stato possibile effettuare dei test che permettono di valutare i risultati ottenibili dai metodi tradizionali e dal controllore
sviluppato grazie al framework proposto. Nella Sezione 6.6 vengono descritti
in dettaglio i metodi e i risultati. Per semplificare il compito e non dover considerare problemi relativi alla visualizzazione di un ambiente tridimensionale
su uno schermo bidimensionale, sono stati considerati solo compiti planari. Le
traiettorie desiderate di posizione e forza sono state generate sul piano x y. I
soggetti utilizzati negli esperimenti sono stati gli stessi che hanno partecipato
alla validazione del modello.
Sono stati eseguite due serie di test, la prima serie ha avuto lo scopo di
studiare la sensitivit`a di ciascun controllore ai guadagni, la seconda serie `e
stata usata per analizzare le differenza tra il crossed controller e il direct force
controller.
La prima cosa che si osserva dai test `e che il comportamento visto in simulazione non si riscontra in realt`a; il sistema (dispositivo aptico + operatore),
` per`o possibile osservare
anche con guadagni molti elevati, non si destabilizza. E
che incrementando il guadagno, il sistema si sposta verso linstabilit`a. Questo
fenomeno pu`o essere spiegato considerando il fatto che il modello usato in sixviii
RIASSUNTO
(Continua)
Il crossed controller offre un migliore inseguimento della posizione richiesta rispetto al direct force controller.
xix
RIASSUNTO
(Continua)
5 Aspetti Innovativi
Lo scopo di questo lavoro `e stato quello di ideare, studiare e implementare
un sistema di haptic playback. Nel fare ci`o si `e dimostrato che il two-port
framework, comunemente usato nello studio di sistemi aptici, non `e adeguato
ad affrontare il problema dellhaptic playback. La principale mancanza del
framework tradizionale `e limpossibilit`a di tener conto del canale visivo, che
pu`o essere visto come un flusso di informazioni.
In sintesi i principali contributi e aspetti innovativi di questa tesi sono:
Un nuovo framework per lhaptic playback `e descritto e confrontato con il
framework tradizionale.
Un nuovo modello delloperatore `e proposto. Il modello usato ha il pregio
di essere molto semplice, ma al contempo spiega i principali meccanismi
del controllo motorio. Viene anche dimostrato che il modello proposto `e
coerente con le ipotesi di Mussa-Ivaldi e dati sperimentali effettuati con
soggetti umani sono usati per validare il modello.
Un metodo per lanalisi di stabilit`
a dei sistemi aptici con ritardo viene
descritto in dettaglio e applicato al caso preso in considerazione.
I modelli cinematico e dinamico del PHANToMTM sono ricavati, inoltre
viene presentata una tecnica utile alla stima delle forze in mancanza di
adeguati sensori.
Una nuova strategia di controllo adatta allhaptic playback `e introdotta
e testata. Il crossed controller viene confrontato con altre strategie e
viene mostrato come essa permetta una partecipazione pi`
u attiva dello
studente.
Riteniamo che il contributo pi`
u importante di questa tesi sia il nuovo framework. I risvolti di questo lavoro sono pi`
u lungamente descritto nel Capitolo 7.
xx
ACKNOWLEDGMENTS
Some people made this thesis possible, others made this thesis easier. I
would like to thank them all.
ACKNOWLEDGMENTS
(Continued)
people than I am, la Nucleare for, no matter what Federico says, you have a
nice voice, Michela for being a great friend, Michele for being my spotter, la
ragazza pi
u bella del mondo. . . well for having lost the title, Cippy for having
succeeded where I failed, Simonetta because, after all, the sea is free, Barbara
for guessing my presents and being able to see the clock tower miles away, Mara
for puzzling me, Maddalena for the great vacations, Davide Chiarioni for the
interesting discussions and for listening to my doubts, Davide Ceriani for the
ability to disappear, Lucio for praying for me, sorry, I sold my soul, Fabio and
Miriam for the 19th of August 2004, giacomo for still having the Biology debt
after all these years, Matteo for giacomo actually was in the theater club, Zio
Zetti for the condor is still passing, Ice for not having become a serial killer,
yet, Laura for having withstood me, Giovanni because Caesar became emperor,
Limo for knowing how to use sneakers, Rove for being my desk mate, Prof.
Rossi for having applied the concept of anisotropy to tartan, Prof. Centurelli
for having the power to cause terror with just a die, Prof. Brambilla for still
owing us a pitcher of sangria, Prof. Carla for the great Maths, Prof. Savaresi
for the useful advice, Giulia for her candor, Nicola for Chicago is the windy
city, man! Ru for the soundtrack, Elena for the concert, Atif for the ants,
Anwar for the spice, Kevin for we did not really need a front door, Anders for
being the greatest male roommate ever, Sarah for being the greatest female
roommate ever (I will definitely miss you guys. If you do not come to visit you
will have to face my wrath), Yates family for the great Thanksgiving, Chicago
for the snow and the lake.
(your name here).
ACKNOWLEDGMENTS
(Continued)
Finally I wish to thank Java-Argo (who did not recognize me), Mago g.Antinoo and my very personal, precious and beautiful Annalisa-Penelope. We
may have been apart for a long time, but were we really far away from one
another? I had always brought you with me wherever I went. Thank you for
being with me.
MC
xxiii
TABLE OF CONTENTS
PAGE
CHAPTER
1
INTRODUCTION . . . . . . . . . . . . . .
1.1
Structure and layout . . . . . . . .
1.2
Theoretical background and critical
1.3
What is haptics? . . . . . . . . . .
1.4
Haptic Interfaces . . . . . . . . . .
1.5
Problem statement . . . . . . . . .
1.6
The scientific significance . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
2
4
5
8
10
TWO-PORT FRAMEWORK . . . . . . . . . . .
2.1
Network theory . . . . . . . . . . . . . . .
2.2
Two-port framework . . . . . . . . . . . .
2.3
Passivity . . . . . . . . . . . . . . . . . . .
2.4
Stability of networks . . . . . . . . . . . .
2.5
Two-port framework for haptic interaction
2.5.1
Human operator . . . . . . . . . . . . . .
2.5.2
Virtual environment . . . . . . . . . . . .
2.5.3
Haptic interface . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12
12
13
15
18
22
24
24
25
HAPTIC
3.1
3.2
3.3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
29
30
31
IMPEDANCE CONTROL . . . . . . . . . . . . . . . . . . .
4.1
Introduction . . . . . . . . . . . . . . . . . . . . . . .
4.2
Impedance control . . . . . . . . . . . . . . . . . . .
4.3
Impedance control implementations . . . . . . . . . .
4.4
Application of impedance control to haptic playback
.
.
.
.
.
36
36
36
38
41
A NEW
5.1
5.2
5.3
5.4
5.5
5.6
.
.
.
.
.
.
.
50
50
53
57
62
66
72
PLAYBACK .
Introduction . . .
Theories of motor
Haptic playback .
. . . . .
. . . . .
learning
. . . . .
.
.
.
.
.
.
.
.
FRAMEWORK . . . . . . .
Introduction . . . . . . . . . .
Model of the human operator
User model validation . . . .
Control strategies . . . . . . .
Simulation results . . . . . . .
Stability analysis . . . . . . .
xxiv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . .
. . . . .
analysis
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
TABLE OF CONTENTS
(Continued)
PAGE
CHAPTER
IMPLEMENTATION . . . . . . . . . . . . . . . . . .
6.1
Introduction . . . . . . . . . . . . . . . . . . .
6.2
PHANToM controller . . . . . . . . . . . . . .
6.3
Kinematic model . . . . . . . . . . . . . . . .
6.4
Dynamic model . . . . . . . . . . . . . . . . .
6.4.1
Segment A . . . . . . . . . . . . . . . . . . . .
6.4.2
Segment C . . . . . . . . . . . . . . . . . . . .
6.4.3
Segments B and E . . . . . . . . . . . . . . .
6.4.4
Segments D and F . . . . . . . . . . . . . . .
6.4.5
Segment G . . . . . . . . . . . . . . . . . . . .
6.4.6
Equations of motion . . . . . . . . . . . . . .
6.4.7
Parameter identification and model validation
6.5
Haptic control law implementation . . . . . .
6.5.1
Direct force controller implementation . . . .
6.5.2
Crossed controller implementation . . . . . .
6.6
Experimental results . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
89
89
91
96
102
108
109
111
113
115
115
116
127
131
133
133
xxv
List of Tables
2.1
ELECTRICAL-MECHANICAL PAIRS. . . . . . . . . . . 14
5.1
5.2
PARAMETERS IN SIMULATION. . . . . . . . . . . . . . 66
6.1
6.2
xxvi
LIST OF FIGURES
FIGURE
0.1
0.2
0.3
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
3.1
3.2
4.1
4.2
4.3
4.4
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
6.1
Two-port framework . . . . . . . . . . . . . . . . . . . . . . .
Framework proposto per lhaptic playback. . . . . . . . . . .
PHANToMTM Premium. . . . . . . . . . . . . . . . . . . . .
Immittance mappings. . . . . . . . . . . . . . . . . . . . . . .
Passive interconnections. . . . . . . . . . . . . . . . . . . . .
Terminated two-port network. . . . . . . . . . . . . . . . . .
Two-port network terminated by one-port networks. . . . . .
Activity diagram. . . . . . . . . . . . . . . . . . . . . . . . .
Two-port model for haptic interaction. . . . . . . . . . . . .
Virtual coupling as a part of the haptic interface. . . . . . .
Colgates framework for haptic interaction. . . . . . . . . . .
Virtual calligraphy system. . . . . . . . . . . . . . . . . . . .
Haptic device with fingertip presser. . . . . . . . . . . . . . .
Two-port framework. . . . . . . . . . . . . . . . . . . . . . .
Position-based impedance controller scheme. . . . . . . . . .
Torque-based impedance controller scheme. . . . . . . . . . .
Impedance control applied to haptic display. . . . . . . . . .
Proposed framework. . . . . . . . . . . . . . . . . . . . . . .
One DOF haptic device . . . . . . . . . . . . . . . . . . . . .
User model validation experimental results (I). . . . . . . . .
User model validation experimental results (II). . . . . . . .
A control look at haptic playback . . . . . . . . . . . . . . .
Simulink model of the damped mass and user. . . . . . . . .
Non delayed user: response to double step. . . . . . . . . . .
Delayed user: response to double step. . . . . . . . . . . . . .
Delayed user: crossed controller stability. . . . . . . . . . . .
Block diagram of fact control loop in the crossed controller .
Block diagram of x0 control loop in the crossed controller . .
Block diagram of the simplified model . . . . . . . . . . . . .
Block diagram of the simplified model with no delay. . . . .
Block diagram of the simplified model with delay . . . . . .
Roots locus diagrams for D (s). . . . . . . . . . . . . . . . .
Root locus for N (s) . . . . . . . . . . . . . . . . . . . . . . .
Roots locus diagram for N (s) + T D (s) with KP < k1 . . . .
PAGE
. vii
.
xi
. xvii
. 15
. 17
. 18
. 21
. 23
. 24
. 25
. 26
. 34
. 35
. 37
. 39
. 40
. 43
. 52
. 53
. 60
. 61
. 62
. 67
. 69
. 70
. 71
. 72
. 73
. 74
. 75
. 75
. 78
. 80
. 82
. 83
. 84
. 90
LIST OF FIGURES
(Continued)
PAGE
FIGURE
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
6.19
6.20
6.21
6.22
6.23
6.24
6.25
6.26
6.27
6.28
6.29
6.30
6.31
6.32
6.33
6.34
6.35
6.36
6.37
6.38
6.39
xxviii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
92
94
97
100
104
107
109
110
112
113
113
114
118
120
121
122
123
124
125
126
129
130
132
135
135
136
138
138
139
140
140
141
141
142
143
144
145
146
SUMMARY
The main objective of this thesis is to to develop control strategies to implement haptic playback and to describe the issues involved in using haptics
to teach sensimotor skills. Haptic playback refers to the possibility of simultaneously displaying prerecorded position and force information to one or
more users.
Having devices that can perfectly simulate an environment is not sufficient
in teaching of sensimotor skills. When the trainee is at the beginning of her
learning process, she needs to be guided. The new task must be explained to
the trainee and a way to correct possible errors is needed. These considerations
lead to the concept of haptic playback. The traditional framework used to
model and study haptic systems does not address this problem well. A haptic
playback system must have the possibility to display information about two
elements: the trajectory that needs to be followed and the force that needs to
be exerted. The main problem that has to be solved is that the two dimensions
have a contradictory causality. It is not possible to display an arbitrary force
and an arbitrary position at the same time. A causality relation exists between
the two. Once this fact is acknowledged the first attempt is to control this
relation. This can be done through impedance control. Impedance control
is a general approach in which the robot behaves as a mass-spring-damper
system whose parameters can be specified arbitrarily. Impedance control can
modulate the interaction of the system with the environment in two different
ways: by changing the mass, stiffness and damping factors and by changing
the virtual trajectory. The virtual trajectory can be seen as the point where
one end of a virtual spring is attached, whereas the other end is attached to the
end effector. We propose a novel way to apply this idea to haptic playback.
This idea is based on modulating the impedance and virtual trajectory at
the same time, thus having two different knobs for two different variables.
xxix
SUMMARY
(Continued)
xxxi
CHAPTER 1
INTRODUCTION
1.1
This thesis is organized in seven chapters. The first chapter introduces the
general setting of this work. The definition of haptics is given with a brief
discussion of human sensing. A survey of possible applications of haptics is
presented followed by the statement of the problem and motivations. Chapter
2 is a comprehensive review of the state of the art in haptic research. The twoport framework for haptic systems [3, 6] is presented and stability issues are
discussed [37]. In Chapter 3 the problem of haptic playback [39,75] is defined
and discussed. In Chapter 4, impedance control [36] is proposed as a way
to introduce haptic playback in the traditional haptic interaction framework;
stability conditions are derived. The restrictiveness of this stability conditions
motivates a new framework which is described in Chapter 5. The framework
is described in detail and a reasonable first model for the user is given. The
chapter ends with a study of a new control law which is compared to the
current techniques used in haptic playback. In order to validate and test the
new framework, a haptic system has been developed; the implementation of
the system along with experimental results are presented in Chapter 6. Finally
Chapter 7 outlines the results and the relevance of this thesis and proposes
future work. The Appendix presents the MathematicaT M code used to identify
1
the kinematic and dynamic models of PHANToMTM and to study the stability
of the proposed control law.
1.2
Delayed systems are more difficult to study than non delayed systems and
they need to be treated with different methods.
1.3
What is haptics?
The term haptics originates from the Greek term haptesthai, meaning to
touch. It is defined as the study of sense of touch and interaction with the
external environment via touch. Gibson [24] describes the sense of touch as
[...] the sensibility of the individual to the world adjacent to his
body by the use of his body.
According to this definition there are two forms in which the sense of touch
provides information. Large scale movements and forces are perceived by the
neural receptors in the limbs and body, while higher frequencies and smaller
amplitudes are perceived by the receptors in the skin and fingers. These two
classes of sensory information are called, respectively, kinesthetic (or proprioception) and tactile.
Tactile information refers to the sense of the type of contact with the object as well as some physical properties of the object. It is mediated by the
responses of receptors innervating the skin within and around the contact region. Tactile sensations can communicate a great variety of properties, such
as, pressure, texture, puncture, thermal properties, softness, wetness, frictioninduced phenomena (slip, adhesion) and local features of objects, such as,
shapes and edges. In addition vibrotactile sensations refer to the perception of
vibrating objects which are in contact with the skin. It is possible to organize
this set of sensations in three main functions: identification of material, identification of shape and identification of movement. This distinction appears to
correspond to specific mechanoreceptors and neural codes [24].
Kinesthetic information refers to the sense of position and motion of the
body segments along with the associated forces, conveyed not only by the
sensory receptors in the skin around the joints, joint capsules, tendons and
muscles, but also by neural signals derived from motor commands.
The term haptic is used to represent one, or the other, or both of the
two aspects of the sense of touch. As often happens in classifications, the
boundary between the two classes is not always clear; there are situations in
which a sensation can be assigned to either one of the types, depending on the
characteristics we are interested in.
Touch is different from all other human senses, in that it not only conveys
information regarding the environment but it is also a mean of interaction
with the environment. When an artist molds clay, she uses a light touch to
determine form and pushes to cause a permanent shape deformation. Together,
proprioception and tactile sensations are fundamental to manipulation and
locomotion.
1.4
Haptic Interfaces
Vehicle operation and control rooms. In fast-paced environments haptic communication can be used to alleviate visual load [63]. Haptic controllers
are already available in cars (iDriveTM equipped BMW 7 series).
Engineering. In computer-aided design, designers can experience details
with their hands such as unwanted artifacts [60] and gain a better idea of the
part.
Rehabilitation. Applications include the improvement of working conditions for visually impaired people and better interface to alleviate motor
system impairment [12].
Scientific study of touch. The availability of HIs makes possible the
study of haptic sense in humans allowing the creation of special and computercontrolled stimuli [38].
Education and training. Dangerous systems or systems with very limited availability (e.g. surgery patients) can be simulated using haptics for
training purposes. This is the field on which this thesis is focused.
Looking more into the architecture of a typical haptic system, we see a
Virtual Environment (VE) that is run as a simulation on a computer. This
environment is translated to phenomena, perceptible by humans, by the interfaces.
Research is being done on VEs that support multiple users. In this scenario
HIs become the means of a mediated human to human communication. The
VE becomes the kernel that connects all the single loops made of a human and
the interface. The most sophisticated systems have become known as Fully
Immersive Environments, as they are able to provide illusions for most of
human sensory modalities. The majority of current fully immersive VEs does
not support haptics, but developers have been working with haptics for some
time, and it will not be long until the first commercial or academic version
that support haptics will be released.
A very good and more detailed introduction to haptics can be found in [3]
and [58]. For a survey of haptics and recent developments see [33].
1.5
Problem statement
two quantities. The trajectories that the contact points follow in space and the
forces exerted at the contact points. These two dimensions are both essential
to the task. When that task is taught both of them must be displayed to the
trainee. In the same way as it is possible to video record a subject while performing a task, it is possible, with an adequately instrumented tool, to record
positions and forces exerted by a subject while performing a haptic task. A haptic playback system would then be able to haptically reproduce these recorded
data.
This thesis represents a step toward the development of a new generation
of haptic systems. Using these new systems a group of students will be able to
learn a new task without the need of an expert. When the expert is present they
will be able to haptically interact with her in a shared virtual environment.
This particular kind of haptic systems will be efficient in teaching complex
tasks. The issues involved in this project are mainly two:
Control schemes for haptic playback. With the term haptic playback it is meant a method of displaying pre-recorded force and position
data. Position and force are the two dimensions involved in a sensorimotor task. In manipulation of real objects two elements are involved: the
right force must be exerted in the right position. Haptic playback is the
ability of a haptic system to display information on the position and on
the force simultaneously.
Control framework for collaborative haptic interaction.
The
availability of haptic playback opens the possibility for collaborative haptic interaction, where multiple users can interact with a copy of the same
virtual environment and observe the actions of one of the users through
their haptic interfaces.
10
1.6
11
CHAPTER 2
TWO-PORT FRAMEWORK
2.1
Network theory
The study of stability and control in telerobotics and hence of haptic interfaces is rooted in network theory. Network representations are a natural
and intuitive way of describing the physical interaction between human and
machine, interaction that is crucial in haptic systems.
Linear network theory was originally introduced in the analysis and design
of analog circuits. The fundamental concept of network theory is the port. A
port is a black-box with terminal pairs that can be accessed. At each port
there exist a voltage e and a current i, more generally an effort and a flow.
The network representation of a circuit describes the constraints enforced by
the circuit between these voltages and currents, therefore a network with n
ports, Nn , is completely described by the totality of its admissible signal pairs.
t
(2.1)
13
Human-to-device interaction in haptic display can be characterized in network terms. According to this representation, when holding a manipulandum,
the human operator is not sensing a force and commanding velocity, but she
simply enforces a velocity-force relationship. In the same way as adding a resistor to a network will change the electrical behavior of the circuit, an user
grasping the manipulandum of a HI will change its dynamical properties.
Network theory can easily be extended to a broad range of systems characterized by energetic interactions between elements [20]. It is often easy to find
electrical counterparts to mechanical elements. Table 2.1 shows some basic
electrical elements along with their mechanical counterparts. More complex
networks can be obtained connecting this basic elements. When two electrical elements are connected in series, their combined impedance is additive,
ztotal (s) = z1 (s) + z2 (s), conversely in mechanical systems an additive impedance is obtained connecting elements in parallel.
2.2
Two-port framework
14
mechanical system
capacitor
spring
i(s)
v(s)
+
e(s) =
1
Cs i(s)
e(s)
F (s) = ks v(s)
f (s)
resistor
damper
i(s)
v(s)
+
e(s) = Ri(s)
e(s)
f (s)
F (s) = bv(s)
b
inductor
mass
i(s)
v(s)
+
e(s) = Lsi(s)
e(s)
-
f (s)
F (s) = msv(s)
15
F1
F1
F2
v2
z11 z12
z21 z22
h11 h12
h21 h22
v1
v2
v1
F2
(1)
(3)
v1
v2
v1
F2
y11 y12
y21 y22
g11 g12
g21 g22
F1
F2
F1
v2
(2)
(4)
Figure 2.1. Immittance mappings: impedance (1), admittance (2), hybrid (3), alternate hybrid (4).
2.3
Passivity
the basic concepts of passivity will be introduced in their most general form,
while in the next section these concepts will be applied to networks; for more
details see [43].
16
(2.2)
y = h(x, u)
Definition 2.3.1 ( [43], pp. 236) The system (2.2) is said to be passive if
there exists a continuously differentiable semidefinite function V (x) (referred
to as the storage function) such that
V
uT y V =
f (x, u),
x
Moreover, it is said to be
(x, u) Rn Rp
(2.3)
lossless if uT y = V .
input-feedforward passive if uT y V + uT (u) for some function
.
u 6= 0.
y 6= 0.
In all cases, the inequality should hold for all (x, u).
Intuitively, a passive system is not able to generate energy. If the system is
lossless, it cannot generate energy nor dissipate it. If the system is strictly
17
Theorem 2.3.1 ( [43], pp. 247) Assume that 1 and 2 are passive, then
the inteconnections in Figure 2.2 are also passive from r to y.
1
r
2
(a) feedback interconnection
2
(b) feedforward interconnection
18
2.4
Stability of networks
v1(s)
v2(s)
+
f1(s) N
-
+
f (s)
- 2
f1 (s) NL f2 (s)
+
+
v1 (s)
v2 (s)
19
Theorem 2.4.1 ( [6]) A terminated two-port network, when linear and continuous (discrete), is said to be stable if and only if the corresponding characteristic equation has no roots in the right half s-plane (outside the unit circle
in the z-plane) and only simple roots on the imaginary axis (unit circle).
However, the load is often not known and in these cases it is possible to characterize stability of a given class of loads. The concept of passive two-port
and passive one-port is of particular interest. Applying the general definition
of passivity ( 2.3) to a one-port the following theorem can be stated.
Theorem 2.4.2 ( [6]) A one-port is passive if its impedance, Z(s), is positive
real.
while for two-ports the following holds:
Theorem 2.4.3 The two-port network, NL , with initial energy storage E(0)
is passive if and only if,
Z t
f1 ( )v1 ( ) + f2 ( )(v2 ( )) d + E(0) 0,
0
t 0
(2.4)
20
(2.5)
0.
(2.6)
The stability problem is now reduced to finding under what conditions the
coupled system in Figure 2.3 will remain stable for a passive, but otherwise
arbitrary NL . A special case of the arbitrary passive two-port loading described
above is one which creates no cross-coupling between the ports of N ; in this
case NL can be redrawn as two one-port terminations, as shown in Figure 2.4.
Assume that NL1 and NL2 are passive networks. The stability of such a system
can be described in terms of absolute stability.
Definition 2.4.3 A linear two-port is said to be absolute stable if and only if
there exists no set of passive terminating one-port immittances for which the
system is unstable.
21
v1 (s)
v2 (s)
+
NL1
f1 (s)
-
+
N
f2 (s)
-
NL2
(2.7)
(2.8)
(2.9)
(2.10)
(2.11)
22
Note that both the conditions for passivity (2.5),(2.6) and absolute stability
(2.7),(2.8) require the real parts r11 and r22 above defined to be positive. The
final condition for passivity in theorem 2.4.4 can be rewritten in terms of the
new variables as,
2
r121
(|p12 | |p21 |)2
+
1.
r11 r22
4r11 r22
(2.12)
Applying the same transformations, the last condition for absolute stability in
theorem 2.4.5 becomes
2
r121
1.
r11 r22
(2.13)
2
r121
r11 r22
and y =
||p12 | |p21 ||
.
2 r11 r22
(2.14)
It is easy to note that (2.12) represents the interior of the unit circle x2 +y 2 = 1,
while (2.13) defines the region to the left of the vertical line x = 1. Recalling
that r11 , r22 are positive the relevant part of the xy plane is the first quadrant.
Figure 2.5 shows that a passive network will always be unconditionally stable,
but there are non passive networks which are stable.
2.5
When a human operator interacts with the HI, stability issues become even
more critical. Traditional robotic manipulators operates in very controlled
workspaces that humans are rarely allowed to enter. In industrial environments robotic manipulators are often in cages that automatically disengage
the manipulator if something enters the cage. In this setting an instability
would cause, in the worst case, damage to the manipulator and to the assembly line. The situation in haptic interaction is very different. Not only would
instability disrupt the feel of haptic immersion, but it may be potentially
harmful to the operator. For these reasons in haptic interaction conservative
stability conditions are often sought. It is now clear the importance of the
23
active +
absolutely
stable
active + potentially
unstable
1
passive
0
0
When the goal of the haptic simulation is to provide the human operator
with a realistic sense of haptic presence in a virtual environment, the haptic
system can effectively be represented using the two-port framework [5]. As outlined in Figure 2.6 it is possible to identify three main elements of the systems.
The central element is the haptic interface, a two-port which characterizes the
energy exchange between the human operator and the virtual environment.
The haptic interface is terminated on one side by the human operator and on
the other side by the virtual environment. As it will discussed, the virtual
environment is a digital system, the star superscripts of ve and fe indicate
24
that those variables are discrete, defined only at the sampling time, whereas
quantities without the star superscript are assumed to be continuous.
2.5.1
Human operator
Assuming that the human operator is interacting with the virtual environment, she can be modelled as a relationship between the force fh and the
velocity vh . In this framework the human is therefore considered an element
capable of modulating its impedance, for example changing from a tight grasp
to loose grasp. Under these assumptions, the human operator can be assumed
to be passive, see [37] for a more detailed discussion.
2.5.2
Virtual environment
25
2.5.3
Haptic interface
26
Finally, the most complete representation of the haptic system within the
discussed framework is shown in Figure 2.8. In figure it is possible to recognize
H
fh
z n
ZOH
vh
1
s
E
Figure 2.8. Colgates framework for haptic interaction.
the main elements discussed above: the human operator (H), the haptic device
(D), the virtual coupling (V) and the virtual environment (E). In addition to
these elements there are a zero order holder (ZOH), an optional delay z n which
models the computational delay of the virtual environment and an integrator.
Using this framework, Colgate [55] derived the stability conditions for the
27
general case of nonlinear virtual environment both delayed and non delayed.
With respect to Figure 2.8 assume that the human operator and the haptic
device are -OSP and the virtual coupling is -OSP, furthermore let the virtual
environment exhibit a lack of ISP , meaning that E + is passive. It can be
shown that if the virtual coupling is designed such that
=
(2.15)
the class of nonlinear non-passive virtual environments, E, can be stably displayed. Equation (2.15) can be rewritten as
<
,
+
(2.16)
which shows that the lack of passivity of the virtual environment is compensated by the excess of passivity in the rest of the system. This condition does
not address the issue on how to determine associated with a virtual environment. Assume the virtual environment is expressed as a mapping from
position (), velocity () and acceleration () to force, satisfying the following
assumptions:
1. The nonlinearity is piecewise continuous.
2. The nonlinearity is defined such that inf
(bounded from below in ).
R
0
(, 0, 0)d >
= sup
(2.17)
(2.18)
6=0
= sup
6=0
|(, , 0) (, , )|
.
||
(2.19)
||
= sup
(2.20)
(2.21)
6=0
= sup
6=0
|(, , 0) (, , )|
.
||
(2.22)
(2.23)
28
CHAPTER 3
HAPTIC PLAYBACK
3.1
Introduction
30
day, seven days a week, thus allowing a more efficient way of training. In
order to better understand the issues involved in complex motor skill learning
a short survey on motor learning is presented.
3.2
31
the arrangement of the mechanical contact between the trainer and the trainee
[26].
Indirect contact paradigm. Trainer and trainee grasp different parts of the
handle and there is not direct physical contact between them. Under this
paradigm the trainee feels a superimposition of the dynamics of the object
and of the teacher. It may be difficult to separate the two.
Double contact paradigm. Trainer grasps the trainees hand who in turn
holds the handle of the object. The trainee feels two different contacts,
in this way it is easier to separate the dynamics of the object from the
force exerted by the trainer.
Single contact paradigm. Trainee grasps the trainers hand which in turn
holds the handle of the object. The trainee has only one contact point
with the system and the perceived dynamics is filtered by the trainer.
3.3
Haptic playback
As seen in the previous section there are two different phases in teaching of
a motor task: the first phase that can be influenced by a teacher, and a component strengthening phase which is sole responsibility of the trainee. It is
clear that haptic systems as presented in Chapter 2 can prove themselves very
useful in the second phase: a virtual environment where a surgeon can practice would represent a safe, convenient and efficient solution. Unfortunately,
the utility of a haptic system within the existing framework ends here as the
goal of such systems is to present to the user a realistic haptic exploratory
experience. The two-port framework has another weakness due to the virtual
environment modelling: the system critically depends on a good mathematical
model of the real world. Two problems arise. First, it has already been shown
that complex virtual environments affect the stability because of instability
arising from numerical algorithms; secondly, even if it were possible to solve
32
33
34
robot arm 1
force sensor
robot arm 2
force sensor
virtual paper
Figure 3.1. Virtual calligraphy system.
Later the student is presented with a trajectory to follow. The underlying assumption is that if the trajectory is perfectly followed the student
will feel the same sensation that the expert user felt, giving that the environment is static and deterministic. It is clear that this solution does
not exploit the full potential of haptic systems.
Fingertip presser. Kikuuwe and Yoshikawa [44] proposed a new approach
to the problem and to our knowledge their attempt is the only one which
follows the idea to haptically display both position and force. In order to do so they propose a composite haptic system constituted by a
multilink device used for position control and a fingertip presser. The
system is depicted in Figure 3.2. The finger tip presser is the additional
channel designed to generate a sensation which is equivalent to what the
teacher feels when pushing the surface. This solution is interesting and
innovative, but difficult to implement for more than 1 DOF.
position
control
force
control
virtual
object
Although the cited authors recognize the need for an additional channel
their work is not aimed at obtaining a general framework for haptic playback.
Their results are only applicable to their devices and applications. In contrast,
this thesis is the first step to provide a general framework for haptic playback.
The new framework does not depend on a particular system or application.
35
CHAPTER 4
IMPEDANCE CONTROL
4.1
Introduction
Impedance control
By 1985 industrial robotic manipulators were commonly used in manifacturing plants. They were used mainly for duties such as spray-painting or
36
37
HD
VE
Figure 4.1. Two-port framework.
(4.1)
38
(4.1) can been seen as a function that accepts a velocity (plus its derivative
and integral) and yields a force, thus an impedance. The manipulator impedance depends on its structure and in order to change it the manipulator
needs to be re-engineered. Impedance control allows to actively control the
apparent impedance of the end effector; the apparent impedance is defined as
the impedance of the end effector. This goal can be achieved through a closed
loop modulation of . It is therefore possible to obtain an arbitrary apparent
impedance. The controlled system can be described by:
MD (
x x0 ) + CD (x x 0 ) + KD (x x0 ) = fint ,
(4.2)
where MD , CD and KD are respectively the target inertia, damping and stiffness and x0 is called virtual trajectory.
4.3
There are mainly two different control schemes used to implement impedance control [47], position based impedance control and torque based
impedance control. The position-based solution relies on accurate position
control of the manipulator to achieve the target impedance; the impedance
control is obtained through an outer loop that sets the reference for the inner position control. This feature makes this scheme easily implementable on
available industrial manipulators which are designed to have a high stiffness
and are position controlled. Figure 4.2 illustrates the main elements of the
control system. In this control scheme it is possible to identify the position
controller which sets the torque to track the position reference xe ; sensors
mounted on the manipulator explicitly provide the joint positions, q, and the
interaction force, fint . The joint position is then fed to the direct kinematics block which allows to find the Cartesian coordinates of the end effector
needed as the inner loop feedback signal. The interaction force fint , along
with the virtual trajectory x0 , is used by the impedance control block to find
39
x0
xe
impedance
control
position
control
manipulator
+
environment
fint
q
direct
kinematics
the position reference. Assuming that the target impedance can be written
as MD (
x x0 ) + CD (x x 0 ) + KD (x x0 ) = fint . The impedance controller
force to satisfy
fint = MD xa + CD x a + KD xa
(4.3)
(4.4)
via
(4.5)
Assuming that the position controller can perfectly track the position command:
X(s) = X0 (s) + Xa (s)
(4.6)
(4.7)
but
40
therefore
X(s) X0 (s) = [MD s2 + CD s + KD ]1 Fint (s),
(4.8)
(4.9)
x0
impedance
control
fc
manipulator
dymanics
JT
x
x
x
manipulator
+
environment
q
q
q
direct
kinematic
(4.10)
41
where fact is the joint torque transformed in a generalized force through the
relation fact = J T . The manipulator model can be rewritten as
fint = fact ((x)
x + (x, x)
+ (x))
(4.11)
showing that there is a known relation between the force exerted by the environment and the torque at the joints. If the dynamics is known then it is
possible to compute fact in such a way that the force exerted on the manipulator is equal to an arbitrary fd , in particular,
fact = fint + ((x)
x + (x, x)
+ (x))
(4.12)
is the control law, that can achieve the desired response, at the basis of this
architecture. The impedance control block computes fint from the position of
the manipulator and the virtual trajectory according to the target impedance
(4.2). Once the needed fint has been computed the known dynamics of the
manipulator is added in order to find the force that must be exerted by the
actuators. It is then transformed through the Jacobian and finally sent to
the motors.
Manipulators cannot be controlled to be a perfect position or force source
in real systems. Any impedance control implementation will therefore be an
inaccurate way to provide desired impedances. When taking into account
computational delays, it was shown [47] that there exist stability boundaries
which depend on the computational time T and on the target impedance. For
example, the position-based controlled is better suited for low (with respect
to damping) stiffness, while the torque-based strategies can stably display impedances with great stiffness. For more details on the implementation of impedance controllers see [71] and reference therein.
4.4
42
device then the human operator will be the environment and the virtual environment the controller. This is because the interaction to be controlled is
the one between the human user and the haptic device. Once this change has
been understood, impedance control can be exploited to implement a virtual
teacher. An impedance controlled manipulator can be made to behave as an
arbitrary inertia-spring-damping. One side of the spring would be manipulated by the human operator, whereas the other side would be attached to
the virtual trajectory. If the virtual trajectory is considered to be the desired
trajectory, the trajectory which is being taught, it is easy to understand that
a system with a fixed impedance will exert a force which will attract the user
toward the desired trajectory. Once the position error is small enough the
controller can start modulating the impedance so that the interaction force
is close to the desired force. It is important to underline that the impedance
control provides two control knobs that can be used. The first is the virtual
position x0 and the second is represented by the impedance parameters. This
means more degrees of freedom than those provided by other ways to control
interaction, for example direct force control. This would allow to superimpose
the two techniques proposed by Henmi and Yoshikawa with the virtual calligraphy system (see 3.3). A way to use the added degrees of freedom is to
use the virtual trajectory modulation to correct the user position. Once the
error has been reduced below a threshold the force control can be achieved by
modulating impedance parameters.
In the solution proposed the controller would need to continuously change
the impedance parameters and the virtual trajectory. To our knowledge no
study on the effect of such modulations on the stability of the system has been
done. Effects of the virtual trajectory have been studied by Luo and at. [49],
but they consider the impedance parameters constant. In the remainder of the
chapter some stability results will be discussed.
43
CD (t)
MD (t)
x
x0
KD (t)
x = f (t, x).
(4.13)
f (t, 0) = 0,
t 0.
(4.14)
44
t t0 0.
(4.15)
uniformly stable if, for each > 0, there is = () > 0 independent of t0 , such that (4.15) is satisfied.
(4.16)
V
V
+
f (t, x) 0
t
x
(4.17)
The concept of input-to-state stability will be used as well, but before introducing that concept some auxiliary definitions are needed.
Definition 4.4.2 ( [43], Ch. 4, Pag. 144) Let : [0, a) [0, ) be a con-
Definition 4.4.3 ( [43], Ch. 4, Pag. 145) Let : [0, a) [0, ) [0, )
the mapping (r, s) belongs to class K with respect to r and, for each fixed r,
the mapping (r, s) is decreasing with respect to s and (r, s) 0 as s .
45
(4.18)
Definition 4.4.4 ( [43], Ch. 4, Pag. 175) The system (4.18) is said to be
input-to-state stable if there exist a class KL function and a class K function
such that for any initial state x(t0 ) and any bounded input u(t), the solution
x(t) exists for all t t0 and satisfies
||x(t)|| (||x(t0 )||, t t0 ) +
sup ||u( )||
(4.19)
t0 t
Inequality (4.19) guarantees that for any bounded input u(t), the state x(t)
will be bounded.
Theorem 4.4.2 ( [43], Ch. 4, Pag. 176) Let V : [0, ) Rn R be a
continuously differentiable function such that
(4.20)
V
V
+
f (t, x, u) W3 (x), ||x|| (||u||) > 0
(4.21)
t
x
(t, x, u) [0, ) Rn Rm , where 1 , 2 are class K functions, is a
class K function, and W3 (x) is a continuous positive definite function on Rn .
Having introduced all the tools needed, it is possible to consider the problem of stability of an impedance controlled manipulator with modulated impedance. Without loss of generality a 1 DOF system can be considered. If an
ideal controller is assumed the system will result in
MD (t)(
x(t) x0 (t))+CD (t)(x(t)
46
Consider, at first, fint (t) = 0 and define e(t) , x(t) x0 (t). Then the following
equation is obtained
MD (t)
e(t) + CD (t)e(t)
+ KD (t)e(t) = 0.
(4.23)
The second order differential equation can be written in the state space form;
defining y1 (t) = e(t) and y2 (t) = e(t)
leads to
y 1 (t) = y2 (t)
(4.24)
(4.25)
Since (4.22) describes a mechanical system, the natural choice for the Lyapunov
function is the total (kinetic + potential) energy stored in the system.
1
1
V (~y , t) = KD (t)y12 (t) + MD (t)y22 (t)
2
2
(4.26)
It is now possible to apply theorem 4.4.1 and find the conditions for stability.
The fist condition yields
1
1 max 2
1
1 min 2
KD y1 (t) + MDmin y22 (t) V (~y , t) KD
y1 (t) + MDmax y22 (t),
2
2
2
2
(4.27)
(4.28)
One way to satisfy (4.27) is to impose positiveness to MD (t) and KD (t). The
second condition is more problematic. Condition (4.28) implies that increasing KD or MD may (recall that Lyapunovs stability theorem is sufficient
47
condition) cause instability; it is possible to compensate for this instability increasing the damping factor. The result was predictable: in order to increase
the inertia or stiffness coefficients the controller must inject energy in the system, energy that can be dissipated through damping, which once again has a
stabilizing role. More problems arise if the manipulator is not considered to
be in free motion, f 6= 0. If an interaction force is considered the system can
be studied using input-to-state stability. Proceeding in a similar way as with
the free motion system, the following state space representation is obtained,
y1 (t) = y2 (t)
(4.29)
y2 (t) = MD1 (t)KD (t)y1 (t) MD1 CD (t) MD1 fint (t)y2 (t) (4.30)
where fint is the interaction force. Considering fint as the input of the system
and applying theorem 4.4.2 the following sufficient stability conditions are
derived.
1
1 max 2
KD y1 (t) + MDmax y22 (t)
2
2
1
max
max (KD
, MDmax ) (y12 (t) + y22 (t)) 2 (||~y ||)
2
V (~y , t)
(4.31)
(4.32)
where it was supposed that MD (t) and KD (t) are bounded; it is trivial to prove
that
2 (||~y ||) =
1
max
max (KD
, MDmax ) (||~y ||)2
2
(4.33)
min KD
, MDmin (y12 (t) + y22 (t)) 1 (||~y ||)
2
V (~y , t)
1
2
(4.34)
(4.35)
max
max (KD
, MDmax ) (||~y ||)2 . Conditions (4.32) and (4.35)
only require the boundness of the stiffness and inertia parameters which is a
48
reasonable condition. More problems are posed by the second condition of the
theorem:
1
1
V (~y , t) =
KD (t)y12 + M D (t)y22 +
2
2
2
CD (t)y2 (t) y2 (t)fint (t) W3 (~y ).
(4.36)
It is difficult to derive any rule on how to design a control law from equation
(4.36). Even if it was possible to guarantee, following the same considerations
made for free motion stability, that 1 K D (t)y12 + 1 M D (t)y22 CD (t)y22 (t)
2
that (4.36) would be satisfied for every possible interaction force fint . It is
therefore apparent that the impedance control approach is not robust enough
for haptic playback.
The impedance control approach can indeed be useful to formally show the
problems that arise when the two conflicting goals of displaying the desired
force and position through a haptic interface are pursued. In [25] Gillespie
and Cutkosky assume that a human operator, while haptically exploring an
environment, can be modelled with a second order model; following the same
approach it is possible to extend the model to a human user intent on following
a trajectory x(t). The position of the operator xh (t) can be described by
MH (t)(
xH (t) x(t)) + CH (t)(x H (t) x (t)) + KH (t)(xH (t) x(t)) = fint ,
(4.37)
while the impedance controlled haptic device has the following dynamics
MD (t)(
x(t) x0 (t)) + CD (t)(x(t)
x 0 (t)) + KD (t)(x(t) x0 (t)) = fint . (4.38)
Assuming that the human never breaks contact with the manipulandum,
which is equivalent to imposing xH = x, the coupled system results in
(MH (t) + MD (t)) x(t) + (CH (t) + CD (t)) x(t)
+
(KH (t) + KD (t)) x(t) MH (t)x(t) MD (t)x0 (t)
CH (t)x (t) CD (t)x 0 (t) KH (t)
x(t) KD (t)x0 (t) = 0.
(4.39)
x(t) =
p , x x0
(4.40)
(4.41)
which represents the steady state position error. The steady state force error
can be written as
f = KD (x x0 ) = KD p
f , f fD = KD p fD ,
(4.42)
(4.43)
where fd is the constant desired force. Equations (4.41) and (4.43) show that
the smaller the position error is the greater the force error will be, proving
that using the impedance framework the two goals are indeed in conflict.
49
CHAPTER 5
A NEW FRAMEWORK
5.1
Introduction
51
The proposed framework has been developed specifically for haptic playback applications and it is based on two assumptions, which are reasonable for
this kind of applications.
The system is equipped with a visual representation of the environment,
that has at least two elements: the current position of the user and
a target. The motion of the current position has to be coherent with
the motion of the manipulandum in its workspace, meaning that the
position of the user on screen is a virtual representation of the position
of the manipulandum in the haptic device workspace. A transformation
between the reference frame of the device and the virtual reference frame
of the graphic system must be defined. This transformation should only
allow translations, so that if the manipulandum is moved along a direction
in space the motion shown on the screen will appear to be in the same
direction.
(5.1)
The user is cooperative, meaning that she will try to follow the target
displayed on screen at the best of her capabilities.
(5.2)
The framework proposed in this thesis can be schematically represented as in
Figure 5.1. The main difference from Figure 2.6 traditionally used to represent
haptic task is the human operator, called user in figure. In the framework we
are proposing the user is not considered as a two-port element. It is now
considered as a dynamical systems with three inputs and one output. Even if
not formally correct, since it cannot be represented with an immitance matrix,
the user has the causality structure of a impedance. It accepts a flow and
yields an effort, but it also has two additional inputs. The additional inputs
are:
52
target position
visual
display
xd
fd
c
o
n
t
r
o
l
l
e
r
x0
fu
user
xu
fu
fact
haptic
display
xu
requested force
Figure 5.1. Proposed framework for haptic playback. The visual channel is explicitly
represented.
x0 is the trajectory of the target displayed on screen. The target does not
necessary have be the trajectory which is being taught, but it can be
modulated by the control strategy.
fact is the first haptic input. It is the force that is currently exerted by the
haptic device. This force is defined by the control algorithm.
xu is the second haptic input. It is the position of the manipulandum.
The user has only one output, fu which is a force. In figure the block named
haptic display represents the haptic device itself and the control logic, for
clarity the two parts have been kept together. The system can be seen as
a mechanical system with two external forces, fu and fact . In Figure 5.2 a
53
simple one DOF system is shown. The dynamics of this simple example can
fu
fact
x
Figure 5.2. One DOF haptic device
be written as
m
xu = fact + fu
(5.3)
Many researchers have been trying to model human motor dynamics in different fields [1, 14]. Many results have been aimed at rehabilitation purposes
54
and some results were used in haptic stability analysis. It is obviously very
difficult to write an accurate model of the human. In most cases accurate
models can be obtained only under very constrained and controlled experimental settings, so they can be applied only when those conditions are met.
In literature it is possible to identify two different approaches to the problem.
Some authors focus their attention on a data based identification. For example, in [31] Hasser and Cutkosky propose a lumped second-order model for a
subject holding a haptic knob in a simple pinch grasp. In this kind of approach
the human motor control system is considered a black-box to be identified from
the data. Other authors follow a different approach. They make hypotheses
on how the central nervous system (CNS) controls motion of the limbs and
use experimental data to validate their models. They consider the CNS as a
controller for a mechanical system and use experimental data to validate their
internal model. The work of Mussa-Ivaldi et al. falls under this category. In
particular he focuses on motor learning. In [70] a 2 DOF manipulandum which
is essentially a haptic device is used to generate different kinds of force fields.
The main thesis is that the CNS has an inner model of the dynamics of the
arm, which is constantly updated in an adaptive fashion in order to account for
external force. The haptic device was used to change the dynamics of the arm;
the subjects were asked to move from current point to another point displayed
on a screen and the trajectories were recorded. It was noted that when a force
field was applied, after a small number of trials, the subject connected the
two points with the same trajectory he followed when there was no external
force. It was concluded that the internal representation of the arm dynamics
was changed in order to compensate for the force field. Working with joint
coordinates q, the entire system can be represented by:
D(q, q,
q) + E(q, q,
q) = C(q, q,
t)
(5.4)
55
where D(q, q,
q) represents the dynamics of the arm, E(q, q,
q) represents the
force exerted by the environment (the haptic device) and finally C(q, q,
t) represents the force applied by the muscles. The arm dynamics can be described
as the dynamics of a set of rigid bodies arranged in an open link,
D(q, q,
q) = I(q)
q + G(q, q)
(5.5)
where I is the generalized mass and G accounts for centripetal, Coriolis, friction
and gravitational terms. Consider a control system that is capable of driving
the limb along a desired trajectory q (t) when there is no external force, E = 0.
One way to obtain tracking is to consider the ideal controller to be
C(q, q,
t) = I(q)
q (t) + G(q, q).
(5.6)
This controller simplifies (5.4) to q(t) = q (t). Therefore, if the initial conditions and parameters are identical, i.e. q(0) = q (0) and q(0)
= q (0), the
limb trajectory will track the desired trajectory. This controller is called ideal,
because the parameters are not known. What is really used is thus a controller
which is based on the internal model,
= Iq (t) + G.
(5.7)
It is also important to note that this kind of controller, being an open loop
controller, will not be able to compensate for a difference in initial conditions
or for any perturbations. To overcome this problem the controller is assumed
to be
K q(t) q (t) V q(t)
C(q, q,
t) = Iq (t) + G
q (t)
(5.8)
where K and V are stiffness and viscosity matrices. Consider now the case
E 6= 0, when a force is applied by the haptic device. Experiments show that
after a certain time the subject is still able to follow the desired trajectory.
56
In order to explain this, Mussa-Ivaldi proposes that the internal model, which
the controller is based upon, is modified, obtaining:
+ K q(t) q (t) V q(t)
C(q, q,
t) = Iq (t) + G
q (t) ,
(5.9)
Mussa-Ivaldis approach and is specifically tailored to haptic playback applications. It is based on some assumptions on the CNS, but we do not claim it to
be a rigorous model from the cognitive science results. Once the decision to use
an impedance-like causality scheme was made, the problem was to identify how
the users CNS computes the force to be requested from the muscles. The
choice of an impedance-like causality follows the traditional choice of causality
adopted in literature for low inertia and back-drivable haptic devices [17,56,67].
Under assumptions (5.1), (5.2) and from a control engineering standpoint, the
user is seen as a controller that evolved1 to minimize the discrepancy between
the actual position and the position of the target. The controller consists of
two terms, a closed loop on the position error xu (t) x0 (t) and a feedforward
term based on the external force which models the adaptation mechanism hy-
(5.11)
The model depends on five parameters. In the position feedback term, k describes a stiffness and the inevitable delay involved in the hand-eye coordi1
57
nation [35]. The delay associated with neural transmission has been neglected
and the delay does not affect the adaptation but it is not possible to neglect the
computational delay associated with the visual stimuli. The remainder of the
parameters describe the adaptation term. The underlying idea is that the user
tries to move toward the displayed target matching the displayed force and
adding a force which is proportional to the position error. The term sFact (s)
accounts for an error in matching the displayed force. It is ideally modelled as
a PD term. It is reasonable to assume that if fact changes slowly the user will
be able to match the displayed force more easily, so the error is proportional
to the rate of change of fact . In order to avoid an improper dynamical system
z
the differential term is approximated by s+
F (s), yielding
s+
p act
s + z
Fact (s).
s + p
(5.12)
Experimental setup. The tests described in this chapter and in the rest of
the thesis were run on an experimental setup consisting of a Sensable
PHANToMTM PREMIUM 1.0 haptic device interfaced with a PC running Windows 2000. The personal computer was an Intel Xeon 1500 Mhz
with 1 GB of RAM. The PHANToMTM was equipped with the optional
gimbal encoders and the manipulandum, the actual man-machine point
of contact, was a stylus that resembles a pen. See Chapter 6 for more
details on the haptic device. For safety reasons the equipment was set
so that the supervisor and the subject could disengage the haptic device
at any time during the tests and a software switch was implemented so
that if the force requested from the PHANToMTM was greater than 5
Newtons the test would be interrupted.
58
Human subjects. In order to validate the model and estimate the five parameters, 4 subjects were recruited. The subjects were chosen among right
handed males with no known history of neurological disorder and ranging in age from 23 to 28. All the subjects were familiar with the concept
of haptic simulation and they all had the chance to experiment with a
haptic simulation (in particular ScrapingGL [57]) but had no previous
experience with haptic playback.
Experimental procedure. The subjects were told to sit in front of the screen
and asked to make themselves comfortable. They were told to hold the
stylus and instructed to follow a target clearly marked on the screen.
As a consequence each subject was free to assume any posture he found
comfortable. It is recognized that this choice affects the repeatability of
the experiments, but it also does not limit the results to a very controlled
and artificial setting, weakness that all the previous work suffered from.
The haptic device was placed so that the y axis of the workspace reference frame was vertical, pointing upward, the z axis horizontally pointed
toward the user and the x axis pointed to the right of the user. The
target was initially fixed with no force displayed. After a randomly chosen period of time t the target was moved to the new position x and a
constant force f displayed. Both values were randomly chosen along the
x direction in order to simplify the analysis of the results. Each subject
had two consecutive trials. The results used in the identification and
validation of the model were taken from the second trial.
System identification technique. In order to evaluate the unknown parameters, since we did not have the capability of directly measuring the
exerted force, the haptic device was modeled as a damped mass system.
The parameters of this system were subsequently determined so that the
59
(5.13)
The main purpose of this experiment was to validate the model and
have a rough idea of the values involved. Therefore no effort was put in
the design of a rigorous identification technique; a simple trial and error
technique was implemented. This means that the values proposed for
each experiment are not optimal in any sense. An optimization would
have not been meaningful since the parameters are influenced by a great
number of factors that were not taken in consideration, for example the
position of the shoulder, or the distance from the haptic device.
Experimental results. The results of the identification experiments are reported in Figure 5.3. Each test shows the recorded trajectory, the simulated one and in Table 5.1 the values of the identified parameters are
reported. It is not always possible to get a good matching, but in all
the cases an acceptable matching between the experimental data and the
simulated data was obtained just by tuning the stiffness, the delay and
the adaptation parameters.
subject
64mm
2.7
0.04
2.6
0.3
0.01
16
0.3
31mm
0.87
0.04
2.6
5.2
0.25
0.01
12
0.3
40mm
0.97
0.04
2.6
0.2
0.01
16
0.3
23mm
1.09
0.04
2.6
5.5
0.26
0.01
12
0.3
60
0.07
recorded
simulated
0.06
0.05
x position [m]
0.04
0.03
0.02
0.01
0
0.01
0.02
0.03
4
5
time [s]
(a) Subject 1.
0.01
recorded
simulated
0.005
0
x position [m]
0.005
0.01
0.015
0.02
0.025
0.03
0.035
time [s]
(b) Subject 2.
61
0.05
recorded
simulated
0.04
x position [m]
0.03
0.02
0.01
0.01
4
time [s]
(a) Subject 3.
0.03
recorded
simulated
0.025
x position [m]
0.02
0.015
0.01
0.005
0
0.005
0.01
time [s]
(b) Subject 4.
62
5.4
Control strategies
The proposed framework opens a completely new possibility. Henmi, Yoshikawa and Williams (see 3.3), while recognizing the importance of the visual
channel in haptic playback, did not exploit its full potential. In their applica-
tions the visual feedback is used in an open loop fashion, it displays the desired
trajectory that the user is supposed to learn. Having a model of the user that
describes how the user reacts to changes in x0 opens the path to new possibilities. It is now possible to look at the problem from a control standpoint.
The problem can be formulated as a classical control problem: xu and fu are
target position
visual
display
xd
fd
c
o
n
t
r
o
l
l
e
r
x0
fu
user
xu
fu
fact
haptic
display
xu
requested force
Figure 5.5. The proposed framework: a control theory perspective to haptic playback
63
the controlled variables that should follow the references xd and fd , while x0
and fact are the control variables. It is clear that a solution that uses a closed
loop control only for fact is limited with respect to a control architecture that
utilizes two closed loops.
An advantage of having an user model is that it permits simulations. Simulations are useful to get a better understanding of the situation, to study the
stability of the system and to compare different control laws in a more rigorous
way. In this section the findings with several control laws are reported and
discussed. Four control laws are taken in consideration.
Open loop controller. In this control law x0 and fact are generated in a
open loop fashion. In particular,
x0 (t) = xd (t)
(5.14)
(5.15)
The controller displays the desired trajectory on screen and let the user
follow it while it exerts a force which is opposite to the desired force.
This control law is best suited for back drivable haptic devices with a low
apparent inertia. If the inertia at the end effector is small it means that
the device does not require excessive force to be moved. If the user is
able to follow x0 with no error, she is exerting a force which is opposite
to fact and thus equal to fd . Consider the linear approximation of the
haptic device
m
xu (t) = fact (t) + fu (t),
(5.16)
64
Direct force controller. This controller is the strategy used by Henmi and
Yoshikawa ( 3.3). It is directly inspired by the direct force control architecture used in robotics and it can be described by the following laws:
x0 (t) = xd (t)
(5.17)
fact (t) = fd (t) + KP fu (t) fd (t) +
Z t
+KI
fu () fd ()d ,
(5.18)
where KP > 0 is the proportional gain, and KI > 0 is the gain of the
optional integral term that is used to avoid steady state error. The force
fu is controlled with a PI controller. As in the previous control law,
the target follows the desired trajectory and the controller basically exerts a force which is opposite to the desired one, but adjusted to reduce
errors. This architecture is expected to perform better than the open
loop controller, but it has some disadvantages. It requires a measurement, or estimate of fu . Force sensors are known to be expensive and as
pointed out in [71] direct force control performs well in force regulation,
but poorly in control 2 .
Coupled controller. The coupled controller follows the same idea as direct
force control without having the burden of force sensors. The control law
is
x0 (t) = xd (t)
fact (t) = fd (t) + K xu (t) x0 (t) ,
(5.19)
(5.20)
where K > 0. As in the previous case the target simply follows the desired
trajectory, but the force control law is different. The law is derived from
2
In regulation the goal is to drive the controlled variable to a constant desired value, whereas
65
the user model. Writing the model in a simplified form and dropping the
time dependence, the following expression is obtained,
fu = k(xu x0 ) fact + N
(5.21)
(5.22)
dropping the unknown noise term and substituting the unknown user
stiffness with the project parameter K the control law (5.20) is obtained.
This control law is an attempt to find a compromise between the simplicity of the open loop controller and the improved performance of the
direct force control.
Crossed controller. This control strategy follows the novel idea of using a
closed loop strategy to set the target, x0 . It can be formally described
as:
x0 (t) = xd (t) KP fu (t) fd (t)
fact (t) = fd (t) KF x(t) xd (t)
(5.23)
(5.24)
with KP > 0 and KF > 0. The control for fact is analogous to the law
used in the coupled controller, the difference is in the control of x0 . It
is modulated using the force error, hence the name crossed. Intuitively
the target is used to correct the force error, while the force exerted by
the device corrects the position error. The haptic device will drive the
user along the correct trajectory letting the user actively exerts the force.
This is an important feature of this control law. In the previous control
laws fu was controlled through reaction, meaning that the exact fu was
obtained by exerting the force that the user felt. This can be seen as a
passive way of exerting the force. It conveys the correct haptic feeling to
66
the user, but psychologically the user is not the cause of this force. She
has to rely on an external stimulus. This fact is believed to negatively
affect the learning process. With the crossed controller, the user actively
exerts the force, psychologically she is the cause of the force and therefore
the teaching experience is more effective.
5.5
Simulation results
Before implementing the proposed control laws on the haptic device, they
were tested using the proposed user model. In particular, a system composed
of an one DOF linear damped mass coupled to the user was used. Two different
sets of parameters were tested in simulation. In the first set the users hand-eye
coordination does not introduce any delay; in the second set the user model is
delayed according to the identified parameters. Formally, the model used for
testing was the following:
m
xu + cx u = fu + fact
(5.25)
s + z
Fact (s).
s + p
(5.26)
The numerical values of the parameters used in the simulation are summarized
in Table 5.2. Simulations were run using Simulinkr ; in Figure 5.6 the model
m = 0.04
c = 2.6
k=4
= {0, 0.3}
z = 0.01
p = 16
= 0.3
used for the linear damped mass and user is depicted; the only part which
67
(s+z)
(s+p)
2
Fact
1
x0
Gain2
ZeroPole
1
m.s2+c.s
1
x
Transfer Fcn
Gain1
Transport
Delay
2
Fu
user noise
68
reference but also in noise rejection. The same considerations can be applied
to force tracking. As expected, among the traditional controllers the direct
force controller performs better, it has a slightly slower step response, but a
considerably better noise rejection. From Figure 5.7(a) it is clear that the
crossed controller outperforms all the other control strategies. After testing
the control laws on an ideal user without delay, the delay was introduced.
The results in the delayed case can be seen in Figure 5.8, the gains are left
unchanged. The previous observations about the traditional control laws still
hold, but the outcome for the crossed controller is dramatically different: it is
not plotted because the introduction of the delay makes the system unstable.
In order to stabilize the system the gain of the position loop must be reduced
to KP < 0.25. Figure 5.9 shows the force and position trajectories of the
crossed controlled system with increasing KP . The system is stable, but it is
clearly at the limit of its stability region. According to the model used the only
way to robustly stabilize the system would be to use a small KP . This choice
would make the crossed controller act like the coupled controller, loosing its
advantages. In order to see whether the crossed controller can be used at all,
a more thorough investigation of the problem is needed. The remainder of the
chapter will focus on the instability of the crossed controller and its reasons.
Note that in order to underline the feature of each response different scales
had to be used.
69
0.07
0.06
position [m]
0.05
reference
openloop controller
direct force
coupled controller
crossed
0.04
0.03
0.02
0.01
0
1
5
time [s]
(a) position.
reference
openloop controller
direct force
coupled controller
crossed
2.2
2.1
force [N]
2
1.9
1.8
1.7
1.6
1.5
6
time [s]
10
12
(b) force.
70
0.07
0.06
0.05
reference
openloop controller
direct force
coupled controller
position [m]
0.04
0.03
0.02
0.01
0
0.01
0.02
5
time [s]
(a) position
2.5
reference
openloop controller
direct force
coupled controller
2.4
2.3
2.2
force [N]
2.1
2
1.9
1.8
1.7
1.6
1.5
6
time [s]
10
12
(b) force
71
0.12
0.1
position [m]
0.08
0.06
0.04
reference
crossed KP = 0.21
0.02
crossed K = 0.21
P
crossed K = 0.22
P
crossed K = 0.23
P
crossed KP = 0.24
0.02
10
12
14
time [s]
(a) position
3.5
3
2.5
force [N]
2
1.5
reference
crossed KP = 0.20
crossed K = 0.21
P
0.5
crossed K = 0.22
P
crossed K = 0.23
crossed KP = 0.24
0.5
10
12
14
time [s]
(b) force
Figure 5.9. Delayed user: crossed controller response to double step with different
gains.
72
5.6
Stability analysis
In the previous section it was shown that the introduction of the delay in
the user model destabilizes the crossed controller, but the same delay affects
the performance of the traditional controllers only minimally. In this section
the reasons for this difference will be investigated and discussed. It has been
already pointed out that the main difference between the traditional controller
and the crossed controller is an additional closed loop. The difference is made
clear in Figures 5.10 and 5.11.
Fu
+
+
Xu
H(s)
Fact
kes
Fd
Xd
-
CP (s)
+
+
G(s)
+
-
X0
Figure 5.10. Block diagram of fact control loop in the crossed controller
73
Fu
+
Xu
H(s)
Fact
G(s)
kes
+
-
X0
+
+
CF (s)
Fd
Xd
The figures show the block diagrams for the two control loops in the crossed
controller. Both the traditional direct force controller and the crossed controller have an identical closed loop that computes Fact = CP (s)(Xu Xd ).
From Figure 5.10 it can be noted that there are two closed loops: an intrinsic
delayed loop (marked in darker gray) which represents the user trying to follow
the target and the loop explicitly closed by the controller CP (s) (marked in
lighter gray), this loop is not delayed. Both the traditional controllers and
the crossed controller have the intrinsic delayed loop and the non delayed loop
used by CP (s). The difference lays in the fact that an additional loop is closed
in the case of the crossed controller. It is the loop used by the controller
CF (s) and as can be noted in Figure 5.11 this loop is delayed. It is a known
fact among control theorists that a delayed loop will drive the system toward
instability, and this is what happens in this case. This preliminary analysis
establishes that the cause of instability is the delayed loop. In order to further
analyze the system we will therefore simplify it and focus just on the additional
74
delayed loop. The terms that do not affect stability appreciably are the non
delayed loop and the adaptation terms. Using the one DOF damped mass and
dropping all cited terms the system can be rewritten as
m
xu (t) + cx u (t) = k(xu (t ) x0 (t ))
where x0 (t ) = fd (t ) KP fu (t ) fd (t )
(5.27)
Fd
KP
X0 -
kes
Xu
Fu
1
ms2 +cs
useful to start considering the case with no delay, i.e. = 0. The closed loop
transfer function of the inner loop can be rewritten as
G1 (s) =
k(ms2 + cs)
.
ms2 + cs + k
(5.28)
Substituting G1 in the block diagram the classical closed loop control depicted
in Figure 5.13 is obtained. The scheme is simple enough to allow explicit
computation of the closed loop transfer function, which results in
Hfd fu (s) =
KP k (m s2 + c s)(ms2 + cs + k)
.
(m + KP k m) s2 + (c + KP k c) s + k
(5.29)
75
Fd +
G1 (s)
KP
Fu
G2 (s)
Fd
+
-
KP
X0 +
-
Xu
kes
Fu
1
ms2 +cs
76
k es (m s2 + c s)
m s2 + c s + k es
(5.30)
Solving the outer loop with the loop transfer function KP G2 (s) yields the
delayed closed loop transfer function,
HfDd fu (s) =
(5.31)
It is clear that the transcendental term k es makes the system not amenable
to classical control tools. One possible way to proceed is to substitute the
transcendental term with the Pade approximation3 [51],
es =
1 s /2
1 sT
,
.
1 + s /2
1 + sT
(5.32)
m T k s3 + (k m c T k)s2 + k cs
.
m T s3 + (m + c T )s2 + (c k T )s + k
(5.33)
From (5.33) it is possible to derive the approximated open loop transfer funce2 (s). Solving the loop, the
tion of the system depicted in Figure 5.14, KP G
denominator of the closed loop transfer function can be written as
D(s) + KP N (s) =
m T s 3 + m s 2 + c T s 2 + C s K T s + K M T k K P s3
+k KP m s2 c T k KP s2 + k KP c s
(5.34)
where D(s) and N (s) are respectively the denominator and numerator of
(5.33). The goal is to describe the dependance of the roots of (5.34) on the two
parameters T and KP . In order to do so, it is possible to use a method derived
3
Higher order Pade approximations can be used, but as it will be shown, a second order one is
77
(5.35)
and apply the root locus technique. It has already been pointed out that m,
c and k are positive, therefore the roots of ms2 + cs + k will be stable. The
two loci start from the stable roots of ms2 + cs + k and terminate on the roots
of kms2 + kcs, which are the origin and the stable and real root s = kc .
78
cases have the following two common features: a) a locus ends at the origin
for KP and b) there is no crossing of the imaginary axis. Thus the loci
always remains in the stable region. Recall that, as KP varies, the represented
Root Locus
1
0.8
0.8
0.6
0.6
0.4
0.4
Imaginary Axis
Imaginary Axis
Root Locus
1
0.2
0
0.2
0
0.2
0.2
0.4
0.4
0.6
0.6
0.8
0.8
1
3.5
2.5
2
1.5
Real Axis
0.5
1
3.5
2.5
1.5
Real Axis
0.5
0.5
(5.36)
(5.37)
and let KP start from 0 and increase. When KP = 0, the polynomial (5.36) has
three roots. As expected the roots move from the roots of s(m s2 +c sk), but
when KP =
when KP =
1
k
1+
.
k
79
dynamics as KP reaches and passes the threshold. The abrupt change can be
easily understood considering polynomial (5.36), its roots are:
c c k KP 1 + k KP c2 + c2 kKP 4k m
s1 =
2(m + k KP m)
c c k KP + 1 + k KP c2 + c2 kKP 4k m
s2 =
2(m + k KP m)
(5.38)
(5.39)
In order to show the discontinuity the limit of s1 and s2 can be taken with KP
approaching the threshold from left and from right. Taking the limit from left,
it is obtained that
lim s1
KP k1
c
1 + k KP 4k m
=
lim
2 m KP k1
2(m + k KP m)
c
4k m
1 + k KP
=
lim
2m
2m KP k1 1 + k KP
4k m
1 k KP
c
+j
lim j
=
2m
2m KP k1
1 k KP
4k m
1
c
lim
=
= + 0 j, (5.40)
2m
2m KP k1
1 k KP
similarly,
lim s2 = + + 0 j.
KP k1
(5.41)
c
1 + k KP 4k m
lim + s1 =
lim
2 m KP k1 +
2(m + k KP m)
KP k1
c
4k m
1
=
lim +
2m
2m
1 + k KP
KP k1
4k m
1
c
2
j
lim +
j
=
=
2m
2m KP k1
2m
1 + k KP
and similarly,
lim + s2 =
KP k1
2
+ j .
2m
(5.42)
80
The results from the previous limits are shown in the root locus diagram in
Figure 5.16 It is possible to identify three different intervals for KP :
Root Locus
2.5
2
1.5
Imaginary Axis
1
0.5
0
0.5
1
1.5
2
2.5
5
1
0
Real Axis
KP < k1 . The roots of (5.37) are real, one is stable and the second one
unstable.
1
k
The roots of (5.37) return to the real axis and are stable. This
KP > K.
transition is continuous.
When KP passes
1
k
the roots jump form the real axis to the imaginary axis.
81
When taking into account the dependance on T , it can be seen that, when
a delay is introduced, the system behaves in a completely different way depending on the value of KP . This can be verified by plotting the root loci
of
N (s; KP ) + T D (s; KP ) =
= (ms2 + cs + k) + KP (kms2 + kcs)
+ T s (m s2 + c s k) KP (k m s2 + k c s) .
1
k
(5.43)
sign. What happens is that the negative feedback characteristic equation, that
can be written as
T
Y
Y
(s zi ) + (s pi )
(5.44)
where zi are the roots of D and pi the roots of N the system, becomes a
positive feedback characteristic equation,
T
Y
Y
(s zi ) + (s pi ).
(5.45)
The positive feedback destabilizes the system. The same result can be better
understood from the root locus diagrams obtained for different values of KP .
Recall that as T increases, the loci will depart from the roots of D (s; KP )
and terminate on the roots of N (s; KP ). It may also be useful to recall two
additional rules: a) For negative feedback, segments of the real axis that lie
to the left of an odd number of singularities belong to a locus. b) For positive
feedback, segments of the real axis that lie to the left of an even number of
singularities belong to a locus ( [22] pag. 337).
It is possible to draw the three different classes of root locus diagrams.
Without loss of generality, it is assumed that the parameters are such that the
roots of (5.37) lie on the real axis. The roots locus diagrams are displayed in
Figure 5.17, Figure 5.18 and Figure 5.19.
82
Root Locus
Tcrit
0.6
0.4
Imaginary Axis
0.2
0.2
0.4
Tcrit
0.6
3.5
2.5
1.5
1
Real Axis
0.5
0.5
1.5
Figure 5.17. Roots locus diagram for N (s) + T D (s) with KP < k1 .
value to KP and plotting the diagram. It can be shown that different values
of KP will change the trajectories of the poles, but they will always maintain
the principal feature of each class. Figure 5.17 shows that when KP < k1 , the
system is stable for small values of T and when T increases eventually there
is a value, Tcrit , that destabilizes the system. When KP > k1 , there is always
at least one unstable pole, independently of the value of T , the system will
be unstable. Therefore a necessary condition for the stability of the system is
that KP < k1 , but this condition is only necessary. In order to find a sufficient
condition to ensure stability Tcrit must be found. It is possible to do so using
an exact method derived from the method introduced by Olgac in [61]. The
83
Root Locus
3
Imaginary Axis
3
2
1.5
0.5
0
Real Axis
0.5
1.5
1
k
< KP < K.
n
X
ak (s)ek s
(5.46)
k=0
space, , there are regions where the number of unstable roots of (5.46) is fixed.
In other words the continuity argument states that if is varied continuously,
the position of the roots cannot but vary continuously. If it is known that
for a given the system is stable, the continuity argument implies that in
order for the system to become unstable a pair of imaginary roots must cross
84
Root Locus
0.4
Imaginary Axis
0.2
0.2
0.4
0.6
2.5
1.5
1
0.5
Real Axis
0.5
Figure 5.19. Roots locus diagram for N (s) + T D (s) with KP > K.
1 Ts
1 + Ts
R+ , T R,
(5.47)
when defined only for s = j, w R, is an exact substitution, not an approximation. The mapping condition for (5.47) can be derived as,
=
2
tan1 (T ) l l = 0, 1, 2, . . .
(5.48)
85
(5.50)
bk s k = 0
(5.51)
k=0
where bk = bk (a, T ). Note that the roots of (5.51) on the imaginary axis
coincide exactly with the roots of (5.46). If the values of T that cause a pair of
roots of (5.51) to be on the imaginary axis are found, then the infinitely many
s that cause a crossing in (5.46) can be computed from the mapping (5.48).
These coincident imaginary roots are determined applying the Routh-Hurwitz
criterion. The Routh-Hurwitz criterion states that the number of unstable
roots equals the Number of Sign changes (NS) in the Routh array. In this
particular case, NS is parametrized with T , because the Routh array contains
bk terms which depend on T . Therefore the Routh array consists of rational
functions, i (T ), that depend on T. The zeros, k , of these functions, i (T ),
can be calculated. Sign changes will only occur only when T = k . Only when
T = k the characteristic equation (5.51) possesses one pair of imaginary roots
(wk j). The method can be thus schematically represented as
generates
generates
T = k k kl
(5.52)
k = 1, 2, . . . , m l = 0, 1, 2, . . . , .
For each k there are infinitely many time delays kl periodically distributed.
The periodicity of kl is an immediate consequence of the mapping (5.48). As
reaches one of the infinite values of kl the characteristic equation (5.46)
86
roots, defined as
"
RT=k = sgn Re
=kl
!#
ds
d s=k j
(5.53)
=kl
k = 1, . . . , m l = 0, 1, . . . , ,
indicates the direction of crossing. If RT= +1, the roots are crossing the
imaginary axis from the stable semiplane to the unstable semiplane, conversely
if RT= 1, the roots are moving toward the unstable semiplane. RT can be
proved to be independent of kl , but of course it depends on k meaning that for
all the s deriving from the same k the root tendency will be the same. For
a complete prove of this proposition see [61]. In short the roots of (5.46) cross
the imaginary axis at m locations, k j, k = 1, . . . , m for infinitely many delays,
kl , k = 0, 1, . . . , m, l = 0, 1, . . . , . The root tendencies at these points are
independent of the corresponding delay. It is possible to formulate the method
in a sequence of steps:
1. Transform the characteristic equation into the form (5.51), using transformation (5.47).
2. Build the Routh array starting from (5.51) and find all the m values of
that make one of the terms of the array to 0.
3. From Tc obtain [wck , {k }] for k=1,. . . , m.
4. Form a table of kl , k = 1, . . . , m , l = 0, 1, . . . , and RT in ascending
order of kl .
87
6. Consider the smallest kl > 0 and assess the number of unstable roots at
= kl + with 0 < 1. The number of unstable roots is determined
using the number of unstable roots at = kl and the root tendency.
(5.54)
1
k
does not hold. If the continuity argument held also for characteristic equations
of the form of equation (5.54) then it would be possible to find enough small a
that does not destabilize the system for any KP . It has been shown that for
KP >
1
k
above to equation (5.54), first it must be ensured that the continuity argument
holds, meaning that it is possible to introduce a delay = with 1 without
destabilizing the system. Once this is has been ensured, the method can be
applied. It is possible to unify all the previous results in the following theorem.
Theorem 5.6.1 The crossed controller described by
x0 (t) = xd (t) KP fu (t) fd (t)
xu (t) xd (t)
(5.55)
(5.56)
s + z
Fact (s),
s + p
(5.57)
KP <
(5.58)
(5.59)
where crit is the first value of the delay that causes a crossing of the imaginary
axis. crit depends on KP .
For example, using the parameters in Table 5.2 and the algorithm listed in
Appendix the conditions are found to be KP < 0.25 and for KP = 0.24 a limit
of < 0.642 s is computed.
In conclusion, in this section some considerations on the stability of the
crossed control law have been made; sufficient and necessary conditions for
the stability have been found. In particular, a limit for the gain of the loop
used to set x0 has been found. This limit has been shown to be inversely
proportional to the stiffness of the user, and does not depend on the amount
of delay. If the gain is above the limit, the system is unstable. If it is below the
limit, the system stability will depend on the amount of delay. The amount
of the delay thus affects the stability as expected. It is important to note
that this conditions have been derived under the assumption of a known user
model. Since the model of the user is not perfect, these conditions must be
taken as guidelines for designing the controller. Further discussion can be
found in Chapter 6 where experimental results are presented.
88
CHAPTER 6
IMPLEMENTATION
6.1
Introduction
90
91
PHANToM controller
92
HAPTIC DEVICE
f
interface
tool
x
xu
fu
user
transmission
linkages
motors
encoders
current
servo amp
D/A converter
sensed
angles
desired
torque
forward
kinematics
transpose
jacobian
fd
desired
force
sensed x
position
GHOST
HAPTIC CONTROLLER
93
the transpose of the Jacobian is used. The motors are DC brush motors and
the currents are controlled using a Pulse Width Modulation (PWM). Which
is adequate for most applications. The main disadvantage is that the PWM
power drive increases motor overheating as compared to a linear drive. The
heat dissipation in a motor is given by I 2 R, where I is the motor current and R
is the resistance of the windings, therefore the heat dissipation ratio of PWM
power drive to linear power drive is:
2
Imax
Duty Cycle R
1
=
2
(Imax Duty Cycle) R
Duty Cycle
For example, at
1
4
(6.1)
sipation 4 times greater than a linear power drive. To monitor the motor
temperature, an internal temperature model is implemented. When the estimated temperature reaches a certain threshold the motors are automatically
disengaged. The PWM has the effect of decreasing the span of time over which
a constant force can be exerted. Attached to the motors there are encoders
with (according to Sensable specifications) 4000 counts per revolution. This
resolution allows a position precision of 0.03 mm at the center of the workspace,
which is adequate for most applications. The lack of velocity sensors causes
the need to compute the velocities and accelerations through numerical differentiation. The high resolution in position is not enough to guarantee an
adequate level of velocity granularity at the haptic sampling rate of 1 kHz. In
fact
v =
0.03 mm
x
=
= 30 mm/s.
t
0.001 s
(6.2)
94
it is stated that the technique used is moving averaging over 100 samples. Experimental results seem to disprove this assumption. Tests were run recording
the Cartesian position and velocity. Then the measured position was filtered
with a moving averaging filter with different windows and the signals delayed
accordingly to compensate for the filtering delay. The results are plotted in
Figure 6.3. Since it is impossible to establish exactly how velocities and accel-
150
moving average, window 25 samples
moving average, window 50 samples
moving average, window 100 samples
PHANToM I/O
155
160
165
170
175
180
185
190
2.95
3.05
3.1
3.15
3.2
3.25
3.3
erations are estimated, new filters were developed. In accordance with what
was proposed in [16], moving averaging filters were adopted. For a complete
95
96
Because of the limited low level access provided by GHOST, it was decided
to use only the essential features provided by the library and implement all
the needed functions. This choice will make it easier to port the code to more
adequate low level controllers if they become available. The only used GHOST
functions are the ones needed to:
manage and synchronize the haptic control loop with the graphic visualization loop
Kinematic model
MKS: meter-kilogram-second.
97
l1
3
y
y
2
1
l2
x
x
z
z
Spatial and Tool Frames
Figure 6.4. Initial configuration of the manipulator.
98
0 1 0
iT
1 0 0
0 0 l1
(6.3)
iT
0 l2 l1
(6.4)
iT
(6.5)
iT
(6.6)
"
i qi
i
i = 1, 2, 3.
(6.7)
As it can be easily seen from the side and top view illustration in Figure 6.5,
the forward kinematic map is given by:
gst () =
"
R()
0
p()
0
(6.8)
where
R() = e 1 1 e 3 3 I33
(6.9)
and
0
0
I33
l2
0 R() l2
+
.
0
0
0
0 0 0 1
1
0
(6.10)
H is used to convert homogeneous coordinates into Euclidean coordinates.
Note that because of the four bar linkage the generalized coordinate 2 does
1 2 2 2
p() = H e e
99
not influence the orientation of the Tool frame. Solving for the exponentials,
gst () can be written as:
gst () =
2
6
6
6
6
6
4
cos (1 )
sin (1 ) sin (3 )
cos (3 ) sin (1 )
cos (3 )
sin (3 )
l2 l2 (cos (3 ) + l1 sin (2 ))
sin (1 )
cos (1 ) sin (3 )
cos (1 ) cos (3 )
3
77
77
75
(6.11)
where l1 = l2 = 0.1397 are the lengths of the links. Another important element of the
kinematics is the Jacobian. The Jacobian allows to compute the Cartesian velocity of
the Tool frame from the joint velocities and allows to transform generalized forces at
the end effector into torques at the joints. The Spatial Jacobian of the manipulator
is given by
s
Jst
() =
...
l1
0
0
0
1
0
gst 1
i gst
...
l1 sin(1 ) sin(2 )
(6.12)
sin(1 )(l2 + l1 sin(2 ))
l1 (cos(1 ) cos(2 ))
0
cos(1 )
0
0
l1 cos(2 )
(6.13)
sin(1 )
where the operator extracts the 6-dimensional vector which parameterizes a twist.
Similarly the Body Jacobian is calculated by
i
h
b
1 gst
Jst
() =
.
.
.
...
gst
i
l1 cos(2 ) + l2 sin(3 )
0
0
0
l
cos(
)
0
1
2
3
0
l
sin(
)
l
1
2
3
2
=
.
0
0
1
cos(3 )
0
0
sin(3 )
0
0
(6.14)
(6.15)
100
3
Four bar
linkage
z
x
Tool Frame
y
z
Spatial Frame
x
y
Tool Frame
x
y
Spatial Frame
The Spatial and Body Jacobians allow to compute the spatial velocity and body
velocity of the end effector once the velocity of the joints is known. For example, for
the spatial velocity we have
S
VstS (t) = Jst
()
(6.16)
101
T
T
(6.17)
Note that the spatial velocity does not show in an immediate way the velocity of
the origin of the Tool frame, pst .
The kinematics has been derived without taking into consideration the gimbal.
Without the gimbal the orientation of the Tool frame is the same as the orientation
of the last link. The choice of not to consider the stylus orientation in the kinematic
model was motivated by the fact that the last three joints are passive, no torque can
be applied to them. The orientation of the Tool frame can be considered free.
The haptic playback problem as we stated it addresses only position tracking, not
orientation. The spatial and body velocities are therefore more than what is needed.
For these reasons it is convenient to define a simplified version of the Jacobian that
allows to write:
v
(6.18)
where p st (t) is the end effector velocity in the spatial frame. The simplified version
of the Jacobian is simply obtained differentiating (6.10), obtaining,
p()
=
0
sin(1 )(l1 cos(2 ) + l2 sin(3 ))
v
Jst
() =
l1 sin(1 ) sin(2 )
l1 cos(2 )
l2 cos(3 ) sin(1 )
l2 sin(3 )
(6.19)
The simplified Jacobian allows to correctly compute the relation between force at
the end effector and torques at the joints. Using the principle of virtual work it can
be easily shown that
v
= (Jst
())T f,
(6.20)
where is the vector of joint torques and f is a Cartesian force at the end effector.
102
6.4
Dynamic model
dt i i
i = 1, 2, 3
(6.21)
where
L=T V
(6.22)
is the Lagrangian given by the difference between the kinetic energy and the potential energy and i is a generalized force at joint i. In order to find the dynamic
model, the kinetic and potential energy of the manipulator are needed. The kinetic
and potential energy are functions of the joint angles and velocities. They can be
computed as the sum of the energies of each link. This, in turn, requires a model
of the mass distribution of the links. Since each link is modelled as a rigid body,
its kinetic and potential energy can be defined in terms of its total mass and its
moment of inertia about the center of mass. The mass of a rigid body is given by
Z
(r)dV,
(6.23)
m=
V
where V is the volume occupied by the rigid body and is the density. The center
of mass of the body is defined as
1
r=
m
(r)rdV.
(6.24)
p + Rr
(6.25)
103
and the kinetic energy of the object is given by the following volume integral:
1
T =
2
2
(r)
p + Rr
dV.
(6.26)
+ kRrk
2 dV.
(r) kpk
2 + 2pT Rr
(6.27)
The first term of (6.27) gives the translational kinetic energy. The second term
vanishes because the body frame is placed at the center of mass. The last term can
be cast [59] into:
1
2
1
T (Rr)dV
(r)(Rr)
= T I,
2
(6.28)
where R3 is the body angular velocity. The symmetric matrix I R33 , defined
by
I=
Iyx Iyy
Izx Izy
Iyz
,
Izz
(6.29)
The total kinetic energy of the object can be written as the sum of the translational term and the rotational term,
T
=
=
1
1
mkpk
2 + T I
2
1 b T mI 0 b 1 b
(V )
V , (V )M (V b ),
2
2
0 I
(6.30)
(6.31)
where V b is the body velocity and M is called the generalized inertia matrix. The
matrix M can be proved to be symmetric and positive definite.
In the remainder of this section inertial properties of a linkage of rigid bodies
will be computed. It is useful to review some properties of reference frames transformations. Consider the situation depicted in Figure 6.6 where two rigid objects m1
and m2 are rigidly connected so that a constant rigid transformation between the
104
p1
p
p2
m2
m1
~v1
~v
~v2
spatial frame
two objects can be defined. This transformation allows to consider the two objects
as a single object. The center of mass of the compound object can be found by
~v =
1
(m1~v1 + m2~v2 ).
m1 + m2
(6.32)
Suppose that the generalized inertia matrices of the two objects around their Centers
of Mass (COM) are known. The generalized inertia matrix around the global COM
can then be computed using the adjoint transformation. The kinetic energy of the
compound object can be written as:
T =
T
T
1
1
VpB1 M1p1 VpB1 +
VpB2 M2p2 VpB2 ,
2
2
(6.33)
where VpiB is the body velocity of the object i with respect to the frame centered at
p
its center of mass and Mi j is the generalized body inertia matrix of ith object with
respect to the pj frame. Since there is a constant rigid transformation between the
two objects, the body velocities with respect to the global COM ought to be equal
and in particular the following relations hold:
VpB1 = Adgp1 ,p VpB
(6.34)
(6.35)
105
where gpi ,p is the rigid transformation from the reference pi to the reference p and
Adgp1 ,p is the related adjoint transformation. Recalling that the kinetic energy is
invariant with respect to the reference frame:
T
=
=
+
T
1
VpB1 M1p1 VpB1 +
2
T
T
1
Adgp1 ,p
VpB
2
T
T
1
Adgp2 ,p
VpB
2
T
1
VpB2 M1p2 VpB2
2
(6.36)
(6.37)
T
T
M2p Adgp2 ,p .
(6.38)
(6.39)
Usually each joint is driven by an actuator and in general the following torque
contributions appear
i = i + f i ei
(6.40)
where i is the driving generalized force (usually a torque) at the joint, f i is the
force due to joint friction and ei is the torque caused by the external force and
moment exerted by environment on the end effector2 .
2
For consistency with Chapter 5, the sign convention adopted here is different from the conven-
tion usually adopted in robotics. In robotics usually we are interested in the force that the end
effector exerts on the environment (the user), in haptic playback the interest is on the force exerted
by the environment on the end effector.
106
Joint frictions are difficult to model accurately often a simplified linear model
is used but more complex, non linear model can account for Coulomb friction and
Stribeck effects.
e can be determined using the principle of virtual work obtaining
e = (J b )T f b
(6.41)
e = (J s )T f s ,
(6.42)
where f b is the external wrench expressed in Tool frame and fs is the same wrench
expressed in Spatial frame. For a more detailed discussion on manipulator dynamics
see [59].
The above discussion can be applied to PHANToMTM . To simplify the analysis,
the manipulator has been divided in segments (A through G) as shown in Figure 6.7.
For each of the segments, rotation matrix and position vector of the rigid body transformation between the body and spatial frames are computed and used to obtain
the kinetic and potential energy of the segments. Finally the inertial parameters
of interest are calculated. The approach followed in evaluating the parameters of
interest is a crossover between a measurement based approach and an identification
approach. For those segments where precise measurements are available and that
can be approximated by geometrical primitives, the inertial parameters have been
explicitly computed. When it was not possible to obtain reliable measurements the
parameters have been left unknown and subsequently identified from experimental
data.
Note that, in order to simplify computations, the spatial frame used in the
formulation of the dynamics is different from the spatial frame used to derive the
107
D
Spatial Frame
x
C
1
G
A
kinematic model. Due to this change of coordinates the vectors, points and twists
are redefined as follows:
1 =
2 = 3 =
q1 = q2 = q3
i
0 1 0
iT
(6.43)
iT
1 0 0
h
iT
=
0 0 0
i qi
,
=
i
(6.44)
(6.45)
i = 1, 2, 3.
(6.46)
108
Premium 1.5 are Maxon RE-025-055035, but such model was not found in Maxon
catalogue. Because of these difficulties in obtaining data, it has been decided not to
measure the inertias of the motors, but to identify them.
Prior to discussing the different segments, it may be useful to summarize the
approach used. Each segment (or group of segments) is decomposed in a set of
geometric primitives (spheres, cylinders, boxes, etc.). For each primitive the task
of finding the center of mass and the generalized inertia matrix around its center of
mass is trivial. Once all COMs and inertia matrices have been found, the center of
mass of the segment is found and the segment generalized inertia matrix computed.
We now describe each segment. For more details on the computation we refer the
reader to the Appendix.
6.4.1
Segment A
The rigid body rotation and the translation between the body frame of segment
A and the spatial frame (Figure 6.8) are given by
Ra () = e 1 1 e 3 3 I33
(6.47)
and
1 2 2 2
e
pa () = H e
I33
0
l2
0 R() l7
. (6.48)
+
0
0
0
0
1
0 1
where
Va () = ma gpay ()
1 s T
Ta () =
(va ) Ma vas + (ab )T Ia ab ,
2
vas = pa
ab =
RaT R a .
(6.49)
(6.50)
(6.51)
(6.52)
109
y
x
y
Spatial Frame
l7
A Frame
l1
Segment A is approximated as a hollow aluminium cylinder with internal diameter 3 mm, outer diameter 6.5 mm and length 10.13 cm. Attached to it, the gimbal
encoders are approximated as a box of 19 50 36 mm. The results are
l7
Ma
6.4.2
0.0588
0.0305
0
=
0.0305
0.0305
1.3333 10
3.3163 10
(6.53)
0
1.1486 105
(6.54)
Segment C
The rigid body transformation between the body frame of segment C and the
spatial frame (Figure 6.9) is given by:
Rc () = e 1 1 e 2 3 I33
(6.55)
110
and
1 2 2 2
e
pc () = H e
l3
0 R() l1 /2
+
. (6.56)
0
0
0
0 1
1
0
I33
0
y
Spatial Frame
l3
x
x
C Frame
z
l1 /2
Vc () = mc gpcy ()
1 s T
s
b T
b
Tc () =
(vc ) Mc vc + (c ) Ic c ,
2
(6.57)
(6.58)
where
vcs = pc
cb =
RcT R c .
(6.59)
(6.60)
111
Segment C is approximated as a hollow aluminium cylinder with internal diameter 7.35 mm, outer diameter 10.4 mm and length 15.1 cm. These values yield
l3
Mc
6.4.3
0.032
0.0177
0
=
0.0177
0.0177
3.3727 10
3.3727 10
(6.61)
0
3.5794 107
(6.62)
Segments B and E
The rigid body rotation between the body frame of segment BE and the spatial
frame (Figure 6.10) is given by
Rbe () = e 1 1 e 2 3 I33
while the translation is
.
pbe () = Rbe
0
l5
(6.63)
(6.64)
(6.65)
(6.66)
where
s
vbe
= pbe
b
T
be
=
Rbe
Rbe .
(6.67)
(6.68)
112
Spatial Frame y
x
x
BE Frame
z
l5
l5 = 0.026804
(6.69)
0.3811
0
0
0
0
0
0
0.3811
0
0
0
0
0
0
0.3811
0
0
0
Mc =
0
0
0
Ibexx
0
0
0
0
0
0
2.4678 10
0
5
0
0
0
0
0
7.8781 10
(6.70)
Note that the position of the center of mass of segment BE is opposite to what
depicted in Figure 6.10.
113
counterweight
big
plate
small
plate
cylinder
motor
6.4.4
Segments D and F
The rigid body rotation between the body frame of segment DF and the spatial
frame (Figure 6.12) is given by
Rdf () = e 1 1 e 2 3 I33 ,
while the translation is
pdf () = Rdf
l6 .
0
y
x
DF Frame
y
z
x
z
l6
Spatial Frame
(6.71)
(6.72)
114
(6.73)
(6.74)
where
s
vdf
b
df
= pdf
T
=
Rdf
Rdf .
(6.75)
(6.76)
Segment DF is composed of two aluminium rods, two steel rods and a motor. In
Figure 6.13 a simplified drawing of segment DF is shown. For detailed measurements
motor
steel rod
y
aluminium
rod
aluminium
rod
steel rod
115
refer to Appendix. Once again it has not been possible to derive the inertia around
the x axis. It was therefore left as the parameter Idf xx for identification.
l6 = 0.0362152
(6.77)
0.1590
0
0
0
0
0
0
0.1590
0
0
0
0
0
0
0.1590
0
0
0
Mc =
0
0
0
Idf xx
0
0
0
0
0
0
3.4886
10
0
4
0
0
0
0
0
1.0909 10
(6.78)
6.4.5
Segment G
The base can only rotate around the y axis of the spatial frame. Its potential
energy is zero and its kinetic energy is given by
1
Tbase = 1 Ibaseyy 1
2
(6.79)
6.4.6
Equations of motion
(6.80)
2
66
4
M11
M22
M23
M32
M33
d L
dt i
3 2
77 66 1
5 + 4 2
3
L
= i + (J T ()fu )i ,
i
3 2
32
C
C
C
77 66 11 12 13 77 66 1
5 + 4 C21 0 C23 5 4 2
C31
C32
C33
i = 1, 2, 3.
3 2
77 66
5+4
0
N2
N3
3 2
77 66
5=4
(6.82)
1
2
3
3
2
77 T 66
5+J 4
f1
f2
3
77
5
f3
(6.83)
116
where
M11
=
+
+
+
8
1
8
1
8
1
8
1
M23
M32
M23
M33
C11
cos(22 )
cos(23 ) + l1 (2l7 ma + l3 mc ) cos(2 ) sin(3 ))
4(Ibexx + Icxx + l1 ma ) + l1 mc
4
1
4
1
M22
l1 (2l7 ma + l3 mc ) sin(2 3 )
2
2
2 sin(2 ) (4Ibeyy 4Ibezz + 4Icyy 4Iczz + 4l1 ma + l1 mc ) cos(2 ) + 2l1 (2l7 ma + l3 mc ) sin(3 ) 2
2
2
2 cos(3 ) 2l1 (2l7 ma + l3 mc ) cos(2 ) + (4Iayy + 4Iazz 4Idf yy + 4Idf zz + 4l7 ma + 4l3 mc ) sin(3 ) 3
C12
C13
C21
C23
C31
C32
C33
N1
N2
1
8
1
2
(4Ibeyy 4Ibezz + 4Icyy 4Iczz + l1 (4ma + mc )) sin(22 ) + 4l1 (2l7 ma + l3 mc ) sin(2 ) sin(3 ) 1
2
2
4l1 (2l7 ma l3 mc ) cos(2 ) cos(3 ) (4Iayy + 4Iazz 4Idf yy + 4Idf zz + 4l7 ma + 4l3 mc ) sin(23 ) 1
8
C12
l1 (2l7 ma + l3 mc ) cos(2 3 )3
2
C13
1
2
k
1
2
1
2
l1 (2l7 ma + l3 mc ) cos(2 3 )2
(6.84)
The element C33 is a viscous term added based on experimental results.
6.4.7
GHOST does not allow to directly command the motor winding currents nor
torques at the joints. For this reason traditional identification techniques are not
easily applied. The most common method is based on the concept of regressor : the
dynamic model of the manipulator (6.83) can be cast into a linear form in a suitable
vector, , of dynamic parameters as
Y (, q,
q) = + J T ()f.
(6.85)
The matrix Y is termed regressor of the dynamic model. This model, being linear
in the parameters is easily identified from recordings of the joint positions obtained
117
118
x 10
3.5
3
power
2.5
2
1.5
1
0.5
0
0.5
100
200
300
frequency [Hz]
400
500
Figure 6.14. Power spectrum of the output 1 (t) with input f = 0.2 sin(150t).
4. j is increased and the test repeated to obtain enough points to plot a Bode
diagram.
The diagrams shown in Figures 6.15-6.17 are computed with A = 0.1 N and j is
incremented in steps of 25 rad/sec. They show the gain in dB as a function of the
frequency on a semilogarithmic plot. It is easy to notice that at low frequencies the
joints behave like a double integrator or I = f with a slope of 40 dB/decade. For
comparison the Bode diagram of the approximating double integrator Bode diagram
in shown. The following facts can be learnt from the diagrams:
119
Joint 1 and 2 behave in a similar way, while the third joint is somewhat lighter.
The approximating double integrator in the first two cases has I = 1.35 104
while for the third link I = 7.56 105 . This is an expected result: the
third joint drives only the third link, while the first joint drives the entire
manipulator.
At high frequencies all the three diagrams look similar. They all have a dip at
200 rad/sec and a resonance at 300 rad/sec. Since the bodies that the three
joints move are very different, this similar behavior cannot be attributed to
the mechanical structure. Recall that the input fi = A sin(j t) is requested to
a controller, the computed response is not just the frequency response of the
mechanical system, but it is the response of a system consisting of the mechanical structure, the controller and the amplifiers. It is reasonable to conclude
that the controller and actuator dynamics are negligible at low frequencies,
but the diagrams show that they are dominant at high frequencies.
The experimental frequency response can be used to identity the unknown inertial
parameters. Consider the first joint. The experimental frequency response suggests
a system of the type
I = f
(6.86)
while (6.83), linearized around the center of the workspace with joint 2 and 3 kept
fixed, becomes
M11 1 + C11 1 = 1 .
(6.87)
Using the fact that in the configuration under consideration 1 = l1 f1 and neglecting
C11 , the above expression can be cast into
M11 1 = l1 f1
M11
1 = f1
l1
(6.88)
(6.89)
120
10
10
20
30
1
10
10
frequency[rad/s]
10
(6.90)
(6.91)
(6.92)
121
30
20
10
0
10
20
30
40
1
10
10
frequency [rad/s]
10
of the third joint. For these reasons the coefficient is identified with a heuristic
technique of trial and error. The final value of k, is set to
k = 0.007
N.s
m
(6.93)
The above identified values are validated by comparison of the joint trajectories
obtained by simulation with recorded trajectories for four different force conditions.
In Figure 6.18 the results of the first experiment are shown. The end effector is
initially kept at the center of the workspace and then let go with no torque requested
from the motors and no external force applied. The manipulator is not perfectly
statically compensated therefore the joints will move to a new equilibrium position.
As it can be easily seen the simulated trajectories closely follow the real ones up
to 0.5 seconds. It is important to point out that, even though it is not displayed
in figure, the equilibrium condition predicted by the model is not the real one.
This is due to the fact that the real equilibrium configuration is determined by the
122
10
10
20
30
1
10
10
frequency [rad/s]
10
constrained movements of the joints. The kinematic and dynamic models assume
the links to be ideal links that can penetrate each other. In reality when one link
touches another link there are reaction forces that are not modelled. These reaction
forces determine the real equilibrium configuration. The remaining three tests are
done in a similar way. The manipulator is initially placed at its initial configuration
and then a constant force is requested from the control system. Figures 6.19-6.21
show the results, with the simulated trajectory plotted along with the recorded one.
It can be seen that in this case the model is less reliable, but it still offers a good
match especially during the initial phase of the motion. The performance in the case
when force is applied can be attributed to unmodelled dynamics of the controller
and to ignoring viscous friction. When a force is applied the velocities involved are
larger hence a greater influence of viscous term is expected. We conclude that the
dynamic model is acceptable.
123
10.2
x 10
angle [rad]
recorded
simulated
10
9.8
9.6
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
angle[rad]
0.8
0.6
0.4
0.2
0
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
angle [rad]
1
recorded
simulated
0.5
0.5
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
124
joint 1 f = 0.1
x
recorded
simulated
angle [rad]
0
0.5
1
1.5
2
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
joint 2 fx = 0.1
0.6
recorded
simulated
angle [rad]
0.4
0.2
0
0.2
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
joint 3 fx = 0.1
angle [rad]
1.5
recorded
simulated
1
0.5
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
125
joint 1 f = 0.1
angle [rad]
x 10
recorded
simulated
1.5
2
2.5
0
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
joint 2 f = 0.1
y
angle [rad]
4
recorded
simulated
3
2
1
0
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
joint 3 f = 0.1
y
angle [rad]
1.5
recorded
simulated
1
0.5
0
0.5
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
Figure 6.20. Joint trajectories, fy = 0.1. Note the smaller scale of the first joint
subplot.
126
joint 1 f = 0.1
20
x 10
recorded
simulated
angle [rad]
15
10
5
0
0
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
joint 2 f = 0.1
z
angle [rad]
0.8
recorded
simulated
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
joint 3 f = 0.1
z
angle [rad]
0.8
recorded
simulated
0.6
0.4
0.2
0
0.1
0.2
0.3
0.4
0.5
time [s]
0.6
0.7
0.8
0.9
Figure 6.21. Joint trajectories, fz = 0.1. Note the smaller scale of the first joint
subplot.
127
6.5
In Chapter 5 several control laws for haptic playback were discussed. In this
section the details of the implementation of the direct force controller and crossed
controller are discussed. The main problem that one has to solve to implement these
laws on the PHANToMTM is that both require a measurement of the user force, fu .
The device is not equipped with force sensors, therefore a force estimation method
was devised. In the previous section the dynamic model of the manipular has been
derived as
+ N () = act + J v ()T fu .
M () + C(, )
st
(6.94)
(6.95)
(6.96)
(6.97)
All the elements on the right-hand side of equation (6.97) are known so equation
(6.97) can be used to evaluate fu . Once the position, velocity and acceleration
vectors are known, equation (6.97) can be treated as an algebraic relation to compute
fu . Equation (6.97) can be efficiently computed online; the most computationally
complex operation is the inverse of the Jabobian. The inverse can be computed
symbolically offline so that at run time the only operations needed are substitutions,
multiplications and sums. The above equation holds only when the end effector is far
from workspace boundaries. As already pointed out, when the end effector reaches
the limit of the workspace reaction forces arise. These forces are not modelled by
(6.97). It is furthermore important to verify that the equation is always defined. This
is guaranteed by the use of the simplified Jacobian and by the fact that no singular
128
While this method of evaluating an interaction force suffers from many defects,
from inevitable modelling errors to the double differentiation of a position signals to
obtain accelerations, it is believed that with the available equipment this is the only
way to test the proposed controllers. In particular the errors in the force evaluation
are mainly due to the lack of velocity and acceleration measurements. This suggests
that the modelling errors shown in the previous section are acceptable, since the
errors due to modelling are negligible compared to the errors caused by position
differentiation (which is the bottleneck of the system). Despite all these errors and
approximations, the results are still viable because of the overall low inertia of the
+
haptic device. The low inertia guarantees that the term J()1 M () + C(, )
N () will always be smaller than fact when fact 6= 0, making the latter the driving
term of the force estimation. This means that higher precision is achievable when
larger forces are applied. This idea is well demonstrated by the following plots.
Figure 6.22 is useful to evaluate estimation of static forces. To obtain the plot,
forces were requested from the controller so that the end effector would be kept
at pst = [ 0 0 40 ]T , but null forces were fed to the algorithm. In this way the
algorithm attributed the force exerted through the actuators to the environment. A
perfect force estimate would return the force needed to maintain the end effector in
position. As it can be seen in figure the force estimation is not perfect. For example,
along the y axis the algorithm returns a force fy = 0.015, when the force needed
to maintain the end effector in position is fy = 0.1. This yields a relative error of
85%. The precision of the estimation method improves when the forces applied are
greater. Figure 6.23 illustrates the results of a test in which a force of 1 N was
requested from the actuators and the human operator moved the manipulandum.
In this case no rigorous statement on the force estimation error can be done, but
heuristically it is possible to state that the force exerted by the human operator
should be equal and opposite to the force exerted by the actuators plus a term
which represents the dynamics of the manipulator. The last term is expected to be
129
force [N]
fx
0.05
fu(x)
fact(x)
0
0.05
10
0.05
0
0.05
0.1
fu(y)
fact(y)
0
10
time [s]
fz
0.2
force [N]
force [N]
time [s]
fy
fu(z)
fact(z)
0.1
0
6
time [s]
10
130
small because of the low apparent inertia of the device. This expected features are
indeed noticed in figure. The acceleration has been added in order to show the fact
that the dynamics of the device is mainly determined by the inertial term.
15
fu(x)
10
fact(x)
1 doubledot
force [N]
10
15
10
12
14
16
18
20
time [s]
Equation (6.97) was derived in continuous time, but recall the device controller
is a digitalized controller with a 1 kHz sampling rate. The equation in discrete time
can be rewritten as
fu (ti ) = fact (ti ) + Dyn(ti ),
(6.98)
131
where for simplicity the dynamic of the manipulator has been summarized in the
term Dyn.
6.5.1
When implementing the direct force controller the computational delay must be
accounted for, yielding
fact (ti+1 ) = fd (ti ) + k(fu (ti ) fd (ti )).
(6.99)
The actuator force fact at time ti+1 ought to be computed using the data at time t.
Substituting (6.98) into the previous equation the following expression is obtained:
fact (ti+1 ) = fd (ti ) + k(fact (ti ) + Dyn(ti ) fd (ti )) (6.100)
fact (ti+1 ) + kfact (ti ) = fd (ti ) + k(Dyn(ti ) fd (ti )).
(6.101)
From (6.101), it is apparent that to ensure stability, k must be less than 1, or the
system will have a pole outside the stability region.
It is possible to increase the stability limit by modifying the implementation of
the control law. Consider again equation (6.100). If the force error is small with
respect to the desired force it can be assumed that fact fd . This substitution
transforms (6.100) into
fact (ti+1 ) = fd (ti ) + kDyn(ti ).
(6.102)
Equation (6.102) is the control law implemented in our system. Using the modified
control law allows to increase the gain, but a limit is still present. The new stability
limit depends on how firmly the user is holding the manipulandum. The cause of
this instability is to be attributed to the acceleration estimation technique. Recall
that the term Dyn(t) is mainly determined by the acceleration and recall that the
acceleration is obtained by a double differentiation and filtering of an already delayed
position signal. Adding the delays due to the two filters a delay of the duration of
the averaging window is obtained. This delay must be added to the unknown delay
of the position signal introduced by GHOST. This causes a delay in the estimation
132
constraint
and the behavior of the system observed without interference of the human operator.
Unstable oscillations have been observed, but the oscillations were indeed stabilized
by the presence of the constraint. The test was repeated with different averaging
windows. Changing the length of the windows allows to affect the delay direclty. The
results are reported in Table 6.1. The table clearly shows a correlation between the
delay and the frequency of oscillations; the longer the delay, the lower the frequency
is. No dependence of the frequency on the gain was observed.
133
50
5.25
100
150
200
1.5
300
0.65
6.5.2
The implementation of the crossed controller poses fewer difficulties than the
direct force controller. This is mainly due to the fact that the force to be requested
is computed from the position signal. The position of the end effector is directly
measured by sensors and it is affected by a short delay. In the crossed controller the
force is used to control x0 . As it will be discussed shortly, x0 , being filtered by the
user, is less prone to trigger instability.
6.6
Experimental results
In this section the experimental results obtained with the implemented control
laws are presented and discussed. The implementation used has been already discussed. Prior to describing each test, the general set-up is defined. With the goal to
simplify the task and not to have to consider visualization issues due to the reduction of a three dimensional space to a planar representation, only planar tasks were
considered. The desired trajectories and forces are generated on the plane x y. To
make sure that forces and movements along the z direction would not invalidate the
result, the device was kept in a configuration at the limit of the workspace, namely
1 = /2 and the first joint was mechanically locked. This solution helps the human subject decouple the z direction from the other directions. The subjects used
134
in these tests were the same used in the model validation experiments: four right
handed males with no known history of neurological disorder and ranging in age
from 23 to 28. All the subjects were familiar with the concept of haptic simulation,
but had no previous experience with haptic playback, except for the experience they
had from the first set of experiments. In all the experiments described in this thesis,
the equipment was set so that the supervisor and the subject could disengage the
haptic device at any time during the tests and a software switch was implemented
so that if the force requested to the device was greater than 5 N the test would be
automatically interrupted.
In Chapter 5 it has been seen that in simulation, with the proposed model of
the human user, the crossed controller can go unstable when the gain KP is greater
than a threshold which is inversely proportional the users stiffness. The first thing
that experiments show is that this behavior does not manifest itself. Figure 6.25
and Figure 6.26 show the Cartesian position trajectories resulting from two different
tests. The subject was asked to track a target displayed on screen. The desired
trajectory was a two dimensional cubic with fixed initial point, but random final
point and parameters. The trajectory is randomly generated to minimize learning of
a specific task that would invalidate the comparison between the two controllers. In
this phase of the research the focus in on the tracking performance of the controllers,
not on their teaching potentials. In the first test the gain KP = 10 was used, while
in the second KP = 30. In both cases KF = 0.5 and fd = [1, 0, 0]T . The circular
marks in the plots indicate the target initial points.
above the expected stability limit, but the trajectories continue to be stable. The
difference between the two experiments is that when the gain is greater, x0 is closer
to instability. In simulation the instability is due to x0 . The higher the gain is, the
more unstable the target, x0 , is. This is true in simulations and in experimental tests,
but the difference is that the user model used in simulation is time-invariant. The
user always exerts a force proportional to the error, independently of the situation.
The more abruptly the target moves the higher the force exerted by the user is.
135
position
20
Xu
X
10
y direction [mm]
10
20
30
40
50
60
25
20
15
10
10
15
x direction [mm]
Figure 6.25. Position tracking of a human subject with crossed controller, KP = 10,
KF = 0.5.
position
0
X
10
y direction [mm]
20
30
40
50
60
70
80
40
30
20
10
10
20
30
40
x direction [mm]
Figure 6.26. Position tracking of a human subject with crossed controller, KP = 30,
KF = 0.5.
136
This behavior not only triggers the instability, but sustains it. The user provides
the excess of energy that causes the instability. This instability is different from
the instability studied in Section 2.5. In the framework discussed in Chapter 5 the
user acts as a non-passive elements. In a real experiment the user is continuously
changing and adapting to the situation. She will never voluntarily inject enough
energy in the system to sustain an instability. This is why in real experiments an
unstable behavior is rarely observed. A proof of this statement can be found in the
very first test with the crossed controller. Figure 6.27 shows the first 2 seconds of a
test with the crossed controller. During this short interval the subject had no time
position
45
Xu
Xd
X0
y direction [mm]
50
55
60
3
1
2
3
x direction [mm]
to change his behavior to compensate for instability and the system exhibits that
instability.
137
The proposed user model can account for this behavior by considering a timevarying stiffness k. In this way the simple structure of the model is preserved.
Increased complexity of the behavior stems from the ability of the user to quickly
adopt a different attitude. Instead of simply reacting to a moving target the user
may be able to process the target movements to obtain an internal desired force.
This reference can be then used by the CNS to implement a force control, in which
the user exerts fu , trying to exert the force she thinks is the exact force. This model
is more complex than the one proposed, and the advantages of using such a complex
model are uncertain. A rigorous investigation of these issues is left for future work.
It is important to note that the framework proposed in this thesis can be used with
a model of arbitrary complexity.
The crossed controller has two parameters KP and KF . It has been seen how
KP influences the movement of the target x0 . From Figures 6.25 and 6.26 it can
be seen that position tracking is not affected by KP . This is because the crossed
controller implements a position control that depends mainly on KF . So KP is
expected to mainly influence force tracking. Figures 6.28 and 6.29 show the exerted
force (and the desired force for reference) from the two tests.
It can be observed
that force tracking is better with KP = 10, because with KP = 30 x0 moved too
violently and therefore the user experienced difficulties in following the target. The
second parameter involved in the crossed controller is KF . Recall that in the crossed
controller:
fact (t) = fd (t) KF x(t) xd (t) ,
(6.103)
so KF is basically a stiffness. It is subject to the limitations that affect the rendering of a virtual wall. There is a maximum value of the stiffness that guarantees
stability. As discussed in Chapter 2 the value of the maximum realizable stiffness
depends mainly on the sampling frequency and the damping of the device. For the
PHANToMTM the suggested maximum stiffness is 0.6 N/mm [69]. If this value is
exceeded chattering may occur. The highest the stiffness is, the better the tracking
138
force x axis
1.2
F
0.8
F [N]
0.6
0.4
0.2
0.2
10
15
20
25
time [s]
Figure 6.28. Force tracking of the human user with crossed controller, KP = 10,
KF = 0.5.
force x axis
F
1.8
1.6
1.4
F [N]
1.2
1
0.8
0.6
0.4
0.2
0
0.2
10
15
20
25
time [s]
Figure 6.29. Force tracking of the human user with crossed controller, KP = 30,
KF = 0.5.
139
of the desired trajectory will be. The solution is to use the highest stiffness that
guarantees stability.
The same parameter sensitivity analysis can be carried out for the direct force
controller. The direct force controller depends only on one parameter, KP . In the
following plots the force and position trajectories resulting from a test similar to the
one executed for the crossed controller are reported. In the first test KP = 0.5 is
used and in the second KP = 2.5.
position
10
X
20
y direction [mm]
30
40
50
60
70
80
20
10
0
10
x direction [mm]
20
30
Figure 6.30. Position tracking of the human user with direct force controller, KP =
0.5.
that both position and force tracking are better with a low KP . A more exhaustive
analysis reveals that the difference between the two cases is to be attributed to
different trajectories and other contingent differences in the tests. In fact, looking
at the control action plots in Figures 6.34 and 6.35 reveals that the control actions
in the two cases are comparable in magnitude.
140
position
10
X
y direction [mm]
10
20
30
40
50
60
60
50
40
30
20
x direction [mm]
10
10
Figure 6.31. Position tracking of the human user with direct force controller, KP =
2.5.
force x axis
1.01
F
1.008
1.006
1.004
F [N]
1.002
1
0.998
0.996
0.994
0.992
0.99
10
15
20
25
time [s]
Figure 6.32. Force tracking of the human user with direct force controller, KP = 0.5.
141
force x axis
1.01
F
1.008
1.006
1.004
F [N]
1.002
1
0.998
0.996
0.994
0.992
0.99
10
15
20
25
time [s]
Figure 6.33. Force tracking of the human user with direct force controller, KP = 2.5.
act
F [N]
1.05
1.1
1.15
10
15
20
25
time [s]
142
1.02
act
1.04
F [N]
1.06
1.08
1.1
1.12
1.14
0
10
15
20
25
time [s]
because of the poor acceleration estimate the gain has a limited stability range and
therefore the control action of the direct force controller is limited.
Once the main discrepancy between experimental and simulated results is explained and the parameter sensitivity has been studied, a comparison between the
two haptic controllers can be carried out. In order to compare the two strategies
the following protocol was designed. The subjects were asked to sit comfortably
in front of the system and grab the stylus. No instructions were given on how the
stylus should be held. The subjects were instructed to follow a target shown on
the screen and the target was displayed before the tests so that they would be able
to recognize it. Four different testing conditions were devised. The four conditions
were obtained by combination of two features: the control strategy used and the
desired force. The control strategies were the direct force controller and the crossed
controller. Two different force trajectories were used, in the first case the desired
143
force was constant and equal to fd = [1, 0, 0]T , whilst in the second case the desired
force was given by
fd =
0.5 sin(t)
0.5 cos(t)
(6.104)
Each subject had five consecutive trials for each condition. Each trial lasted 25
seconds. Between the sets of trials the subject were given the chance to rest for a
minute.
Figures 6.36-6.39 summarize the results of the tests. Each figure represents the 5
trials for a given testing condition for all the subjects. For each trial the average and
standard deviation of the position error and force error are plotted. The errors are
computed as the magnitude of the two-dimensional vector given by the difference
between the desired value and the real value. The average is computed over the
25 seconds of the trial.
10
0.09
subject 1
subject 2
subject 3
subject 4
0.08
0.07
error [N]
error [mm]
0.06
0.05
0.04
subject 1
subject 2
subject 3
subject 4
3
trial
0.03
3
trial
to what is expected, there is no relevant difference between errors when the task
144
8
0.085
subject 1
subject 2
subject 3
subject 4
0.075
0.07
0.065
4
error [N]
error [mm]
subject 1
subject 2
subject 3
subject 4
0.08
0.06
0.055
2
0.05
1
0.045
0.04
3
trial
3
trial
is to exert a constant force or when the task is to follow a more complex force
trajectory. One would expect the task of exerting a force with sinusoidal components
in two directions to be more complex and therefore to yield greater errors. This fact
couldnt be observed in the executed experiments. The main characteristic that
can be observed from these tests is that the direct force controller offers a better
force tracking with respect to the crossed controller. In trials executed under the
teaching of the direct force controller, the mean of the force error never reached
the value of 0.1 N and the standard deviation was around 0.01 N. This result was
expected from the considerations made on the force estimation. Thanks to the
low inertia of the manipulator, when the actuators are exerting a force, fact , the
user has to move the manipulandum with a very high acceleration in order for the
force estimate to be significantly different from fact . The crossed controller offers
a better position tracking. The crossed controller position errors had an average
which ranged for one half to one forth of the position error in test run with the
direct force controller, whilst the standard deviation of the same error reaches one
tenth of the standard deviations seen with the direct force controller. The trade
off between force tracking and position tracking pointed out in Chapter 4 for the
145
1.2
subject 1
subject 2
subject 3
subject 4
2.5
subject 1
subject 2
subject 3
subject 4
2
0.8
0.6
error [N]
error [mm]
1.5
0.4
0.5
0.2
0
0.5
3
trial
0.2
3
trial
impedance control affects also the implemented controllers. Another expected fact
that has been confirmed by these experiments is that with the crossed controller
there is a change in the user model that guarantees stability. Figure 6.38 shows
the first five trials executed by each subject with the crossed controller. It can be
seen that the standard deviations of the position errors are great in the first trials
and rapidly drop in the second attempts. This is due to the fact that by the end
of the first trial all the subjects realized that the target movement depends on
my actions (as stated by the subjects) and adapt themselves, thus changing the
internal controller they used to follow the target. Table 6.2 lists the numerical values
of the variance of the position error for easier comparison. Only in one case there is
no significant difference between the variance of the first and second trials. In that
case the subject adaptation was quicker.
Even though the tests were not designed to evaluate teaching capabilities of the
two algorithms in both cases a certain degree of learning can be detected. Especially
in the position tracking, where more reliable measurements are available, a decreasing trend of the error can be observed over the 5 trials. It is important to recognize
that this trend does not necessary imply a skill acquisition. The fact that the user
146
1.4
0.8
subject 1
subject 2
subject 3
subject 4
1.2
subject 1
subject 2
subject 3
subject 4
0.7
0.6
1
error [N]
error [mm]
0.5
0.8
0.4
0.6
0.3
0.4
0.2
0.2
0.1
3
trial
3
trial
Subject 1
Subject 2
Subject 3
Subject 4
Test 1
0.04277
3.0106
0.1644
1.021
Test 2
0.0677
0.0920
0.0458
0.314
can follow the trajectory indicated by a target does not necessary mean that the
user has acquired the ability to perform the task autonomously. This is one of the
most debated issues among teachers: how much should the teacher (in this case the
haptic system) interfere with the pupil? If the actions of the trainer are too invasive
the trainee may become dependent on the trainer. This issue is not and could not
be addressed in this thesis which is focused on the engineering of the system. Nevertheless an intuitive difference between the two strategies is worth discussing. The
crossed controller is believed to be less intrusive. If the user perfectly follows the
desired trajectory, xd , the haptic device is not felt. A force is felt only as a reaction
force to a user action. The user, trying to follow the target, x0 , exerts the force.
This does not happen with the direct force controller, the user always feels the force.
In the latter case if the user is able to follow the trajectory with no errors, she feels
the correct force, but she is not the cause of that force. The correct feeling is due
to a reaction to an external force. This external force will not be present when the
task is autonomously performed.
147
CHAPTER 7
This thesis is the result of a year long research at the Computer Vision and
Robotic Laboratory, at the University of Illinois at Chicago. It describes the entire
process that was followed to address the problem of haptic playback. The main
objective of this research is to rigorously describe the issues involved in using haptics
to teach sensimotor skills and to develop control strategies suitable for haptic
playback.
The work started with a literature survey. The goals of this survey were to gain
the theoretical knowledge needed to work in haptics and to understand what had
been achieved in haptic playback. As discussed in early chapters, the theoretical
foundations of haptics have been laid down by the work of such authors as Colgate,
Addams, Hannaford and Gillespie. They discussed the basic problems involved in
haptics both from the theoretical and implementation standpoints. Their work resulted in a complete and concise framework, that allows to efficiently study the
problem. One of the assumptions which this framework is based upon is that the
main goal of a haptic simulation is to simulate an environment. The resulting framework is strictly focused on this kind of system. The concept of virtual environment
arises as an environment inhabited by objects and rules to compute reaction forces
when touched by a probe.
148
149
150
151
correct force in a real task when the force is actively exerted as happens in the
crossed controller.
This thesis opens the path to new interesting possibilities and further developments. The main directions for future works possibilities are:
Deriving more complex and complete user models. Note that a different model
can be easily integrated into the proposed framework. The development of
more rigorous models requires intensive work with human subjects. The search
for better models can lead to a better understanding of the human nervous
system. In deriving user models two different paths can be undertaken. The
approach followed in this thesis can be continued to derive more specialized and
precise models. Specialized models allow to obtain specific and precise results
about the performance of the haptic playback system, but these results are
limited by the assumptions used to derive the model. The second approach
is to search for a general theory that would allow to study the stability of
the haptic system without having to rely on limiting assumptions. The aim
is to be able to work with general assumptions as it is possible to do with
passivity in the traditional framework. While this approach does not impose
limiting constraints on the applications, it can only provide for general stability
conditions. It is clear that there is a tradeoff that has to be evaluated.
During the implementation of the control strategies difficulties have been
met due to the device. It is advisable, for further research, to redesign the
PHANToMTM controller and equip it with velocity, acceleration, and force
sensors. The results of the modelling presented in this thesis can be used
to design model based control algorithms. These modifications of the device
would allow to substantially improve the haptic playback controllers.
In the testing of the performance discussed in the last chapter the point of
view adopted was the one of the control engineer. The focus was on tracking.
Another point that should be addressed in future work is the evaluation of the
152
APPENDICES
153
154
Appendix A
SOURCE CODE
155
Appendix A (Continued)
LTI_final.nb
Rekasius[a]
This function executes the Rekasius substitution to convert the CE
Inputs:
a is the list of the trascendental coefficients as returned by CE[A_,B_]
Output:
a list of 2n elements where the first one is the element associated to the \
lowest power of s
156
Appendix A (Continued)
LTI_final.nb
Rekasius#a_' :
Module#rek, ce, n, k, b, tmp, tmp2, tmp3,
rek 0;
n Length#a' 1;
b
Range#2 n 1';
For#k 0, k n, k ,
rek rek +a##k 1''
+1 T s/ ^ +n k /
+1 T s/ ^ k/;
';
rek Expand#rek';
+
Print#rek';
/
b
CoefficientList#rek, s';
b
'
Routh[poli,H]
This function returns the symbolic Routh Matrix RA for polynomial poli(s).
Inputs:
poli is a list of coefficient starting from the lowest order
Output:
The entire Ruth Matrix
The following special cases are considered:
1) zero first elements
2) rows of zeros.
All zero elements appearing in the first column are replaced with the symbolic variable H which can be later substituted with
positive and negative small numbers When a row of zeros is found,the auxiliary polynomial is used.
Routh#poli_, H_' :
Module#rows, coeff, index, RA, i, a, b, invpoli, temp1, temp2, column, z,
coeff Length#poli'; +
degree of the polynomial
/
invpoli
Take#poli, coeff, 1, 1';
RA
Table#0, coeff, Ceiling#coeff s 2'';
+
assemble first two rows
/
For#i 1, i coeff, i ,
RA##2 Mod#i, 2', Ceiling#i s 2''' invpoli##i'';
';
rows
coeff 2;
index
Table#0, rows';
For#i 1, i rows, i ,
index##rows i 1'' Ceiling#i s 2';
';
For#i 3, i coeff, i ,
+
Print#"working on row ", i';
Print#TableForm#RA'';
/
column Length#RA##i 1''';
+
Print#"checking row " , RA##i1'' , " againt " , Table#0,column'';
/
If#RA##i 1'' m Table#0, column',
+
then
/
Print#"using auxiliary polynomy ! at least marginally stable"';
a coeff i 2;
157
Appendix A (Continued)
LTI_final.nb
'
3
b Ceiling#a s 2' Mod#a, 2' 1;
temp1
Take#RA, i 2, 1, b'##1'';
temp2
Range#a, 0, 2';
RA##i 1''
temp1 temp2,
+
else
/
+
Print#"row is different from a zero row, checking if its first element is 0"';
Print#RA##i1,1'', " ",0';
/
If#RA##i 1, 1'' m 0,
+
then
/
RA##i 1, 1'' H;
Print#"first element 0 ! at least marginally stable"';
',
+
unknown
/
+
Print#"symbolic first row ! leave symbol and check first element"';
/
If#RA##i 1, 1'' m 0,
+
then
/
RA##i 1, 1'' H;
Print#"first element 0 ! at least marginally stable"';
'
';
For#j 1, j index##i 2'', j ,
RA##i, j''
+Det#RA##i 2, 1'', RA##i 2, j 1'', RA##i 1, 1'', RA##i 1, j 1'''/ s
RA##i 1, 1'';
';
';
RA
RouthArray[RM]
Returns the symbolic Routh Array RA from the RouthMatrix RM
RouthArray#RM_' : Module#, RA
RM##All, 1''
NS[RA,t]
Returns the number of sign changes in a Rought Array as a function of t
Inputs:
RA is the Rought Array as returned by RouthArray
t is the transformed delay
Output:
a number representing the number of Sign changes
158
Appendix A (Continued)
LTI_final.nb
NS#RA_, t_' :
Module#istRA, n, count, prev,
istRA RA s. T t;
count 0;
n Length#istRA';
prev
Sign#istRA##1''';
For#i 2, i n, i ,
If# Sign#istRA##i''' prev,
+
then
/
count;
prev Sign#istRA##i'''';
';
Return#count'
'
Already[list,elem,H]
Returns true if there is an element in the list which is equal to elem with a tollerance of H. This function is a utility function
Already#list_, elem_, H_' :
Module#n,
n Length#list';
For#i 0, i n, i ,
If#+Abs#list##i'' elem' H/, Return#True'' ;
';
Return#False';
'
Crossing[RA,H]
Returns the values T_ck for which a couple of characteristic roots crosses the imaginay axis
Inputs:
RA is the Rought Array expressed with T as a parameter
H is the tolerance with which a new solution is not reapeated in the returned list
Output:
the T_c list as described in (13). Each element of the list is the value of the transformed delay that that causes a crossing of
the imaginary axis of a pair of roots of CE. Only real Tck are returned
159
Appendix A (Continued)
LTI_final.nb
Crossing#RA_, H_' :
Module#rt, n, i, tmp, n1, new, j,
n Length#RA';
rt Table#0, 0';
For#i 1, i n, i ,
tmp Solve#Numerator#RA##i''' m 0, T';
n1
Length#tmp';
For#j 1, j n1, j ,
Clear#T';
new
T s. tmp##j'';
If# + Already#rt, new, H' / +Im#new' m 0/,
rt Append#rt, new';
';
';
';
Return#rt';
'
omega[b,Tck,H]
Returns the values Zck for which a couple of
characteristic roots croos the imaginay axis given the Tck
Inputs:
b is a list containing the coefficients of the extended CE
T is a list with the value of T for which a couple of roots crosses the imaginary axis
H is the value that the imaginay part of a root must have in order to be considered real
Output:
an array made of two columns. The firt column is constituted by the values of Tck ,
each row element of
the second column is the Zck associated to the Tck of that row
160
Appendix A (Continued)
LTI_final.nb
Tau[Tw]
Returns the values of Wck , the smallest value corresponding to each one of the Tck
Inputs:
Tw is the table of T and Z's as returned by omega[]
It returns a table with three columns, the columns are : Tc Zc Wc
Tau#Tw_' :
Module#n, i, tmp1, o, period, sol,
n Length#Tw';
sol Table#0, 0';
For#i 1, i n, i ,
o Tw##i, 2'';
period
Tw##i, 1'';
tmp1 +2 s o /+ArcTan#o period'/;
If#tmp1 0,
tmp1 tmp1 +2 s o / Pi;
';
sol Append#sol, period, o, tmp1';
';
Return#sol';
'
RT[a,table]
Returns the Root Tendency for the roots of the system described by a crossing table.
Inputs:
161
Appendix A (Continued)
LTI_final.nb
Rearrange[table]
Returns the Table showing stability regions as shown in the paper by Olgac: W, RT, Z,
Rearrange#table_' :
Return#Sort#
Transpose#total##All, 3'', total##All, 4'', total##All, 2'', total##All, 1''''';
CE#A, B'
Rekasius#a'
The number of sign chances can be plotted as follow. The plot shows the number of sign changes as a function of T
162
Appendix A (Continued)
LTI_final.nb
RM Routh#b, H';
RA
RouthArray#RM';
Plot#NS#RA, t', t, 0.6, 0.7'
5
4
3
2
1
-0.6
-0.4
-0.2
0.2
0.4
0.6
hGraphicsh
The stability properties of the system can be summarized in the following table
Ts Crossing#RA, 0.003';
sol
omega#b, Ts , 0.04 ' ;
final Tau#sol';
total
RT#a, final';
stability
Rearrange#final';
TableForm#stability'
0.162346
0.185906
0.221983
0.222274
0.872481
0.878076
7.2105
1
1
1
1
1
1
1
3.0352
2.91239
15.5032
15.501
2.11099
2.10404
0.840448
0.0828561
0.0952922
0.426981
0.421312
0.623269
0.629049
0.1333
The method is applied to the system discussed in Chapter 5, with the numerical values indentified in section 5.6.
163
Appendix A (Continued)
LTI_final.nb
4.36546
1.26436
164
Appendix A (Continued)
appendix-B.nb
Mass cylinder
MassCyl#r_, L_, rho_' :
Pi r ^ 2 L rho
Inertia of a Rectangular Bar, the parameter are given in the order so that the last legth is the in the direction of the axis
around which the inertia is wanted
InBox#l1_, l2_, l3_, rho_' : +1 s 12/
rho
l1
l2
l3
+l1 ^ 2 l2 ^ 2/
165
Appendix A (Continued)
appendix-B.nb
Inertia transformation it takes the transformation from the COM reference frame of the object in which Mold is written to
the new reference frame and transform the generalized inertia into the new coordinate system. Remember that g_ab is the
matrix that describes the new reference in the old coordinates
InertiaTrans#g_, Mold_' :
Segment A
Segment A is made of
* aluminium link
* encoders which are modelled as a box
Link data
r 0.003 s 2;
R 0.0065 s 2;
L 0.1013;
rho 2570;
Box data
x
y
z
0.019;
0.05;
0.036;
0.0305;
MassHol#R, r, L, rho'
m1, 0, 0, 0, 0, 0,
0, m1, 0, 0, 0, 0,
0, 0, m1, 0, 0, 0,
0, 0, 0, InHolShort#R, r, L, rho', 0, 0,
0, 0, 0, 0, InHolLong#R, r, L, rho', 0,
0, 0, 0, 0, 0, InHolShort#R, r, L, rho';
0.00679867
166
Appendix A (Continued)
appendix-B.nb
m2 mtot m1;
rhob m2 s +x
y
z/;
H2
m2, 0, 0, 0, 0, 0,
0, m2, 0, 0, 0, 0,
0, 0, m2, 0, 0, 0,
0, 0, 0, InBox#y, z, x, rhob', 0, 0,
0, 0, 0, 0, InBox#x, z, y, rhob', 0,
0, 0, 0, 0, 0, InBox#x, y, z, rhob';
+L s 2
m1 +L y s 2/m2/ s mtot
0,
1,
0,
0,
0,
0,
1,
0,
0,
ycom L s 2,
0,
1;
0,
1,
0,
0,
0,
0,
1,
0,
0,
ycom +L y s 2/,
0,
1;
0.109437
0.0305
0.
0.
0.
0.
4.87891 1019
L
M
M
M
M
0.
0.0305
0.
0.
0.
0.
M
M
M
M
M
M
0.
0.
0.0305
4.87891 1019
0.
0.
M
M
M
M
M
M
0.
0.
4.87891 1019 0.0000435685
0.
0.
M
M
M
M
M
M
0.
0.
0.
0.
3.31631 106
0.
M
M
M
M
19
0.
0.
0.
0.
0.0000417217
N 4.87891 10
Segment B_E
\
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
^
167
Appendix A (Continued)
appendix-B.nb
0.0063;
0.01635;
0.0127;
0.0127;
0.0189;
0.0404;
0.0127;
0.0156;
motor dimensions
m4
lm
rm
0.13;
xbp;
+25 s 2/
10 ^ 3;
counterweight dimensions
Ust 7850;
side 0.0353;
rh +25 s 2/
10 ^ 3;
HOLLOW CYLINDER
hollow cylinder mass
m1
0.011459
168
Appendix A (Continued)
appendix-B.nb
5
0, 0, lhc s 2 zsp zoff
com1
0, 0, 0.0742
generalized inertia of the hollow cylinder with respect to its center of mass
H1
m1, 0, 0, 0, 0, 0,
0, m1, 0, 0, 0, 0,
0, 0, m1, 0, 0, 0,
0, 0, 0, InHolShort#Rhc, rhc, lhc, Uall', 0, 0,
0, 0, 0, 0, InHolShort#Rhc, rhc, lhc, Uall', 0,
0, 0, 0, 0, 0, InHolLong#Rhc, rhc, lhc, Uall';
SMALL PLATE
small plate mass
m2
0.00838305
0, 0, 0.01575
m2, 0, 0, 0, 0, 0,
0, m2, 0, 0, 0, 0,
0, 0, m2, 0, 0, 0,
0, 0, 0, InBox#ysp, zsp, xsp, Uall', 0, 0,
0, 0, 0, 0, InBox#xsp, zsp, ysp, Uall', 0,
0, 0, 0, 0, 0, InBox#ysp, xsp, zsp, Uall';
BIG PLATE
big plate mass
m3
0.0220111
0, 0, 0.0015
169
Appendix A (Continued)
appendix-B.nb
6
m3, 0, 0, 0, 0, 0,
0, m3, 0, 0, 0, 0,
0, 0, m3, 0, 0, 0,
0, 0, 0, InBox#ybp, zbp, xbp, Uall', 0, 0,
0, 0, 0, 0, InBox#zbp, xbp, ybp, Uall', 0,
0, 0, 0, 0, 0, InBox#xbp, ybp, zbp, Uall';
H3
MOTOR
motor center of mass
com4
0, 0, 0.03815
COUNTERWEIGHT
the counterweight is divided into a stell cube and a cylinder with a negavite density
masses
m5
m6
Ust
side^ 3
MassCyl#rh, side, Ust'
0.345298
0.136024
0, 0, 0.033
0, 0, 0.03815
counterweight generalized inertia around its center of mass. The counterweight is decomposed as a steel cube and a hole
with negative density.
170
Appendix A (Continued)
appendix-B.nb
+
cube
/
H5 m5, 0, 0, 0, 0, 0,
0, m5, 0, 0, 0, 0,
0, 0, m5, 0, 0, 0,
0, 0, 0, InBox#side, side, side, Ust', 0, 0,
0, 0, 0, 0, InBox#side, side, side, Ust', 0,
0, 0, 0, 0, 0, InBox#side, side, side, Ust';
+
hole with negative density
/
H6 m6, 0, 0, 0, 0, 0,
0, m6, 0, 0, 0, 0,
0, 0, m6, 0, 0, 0,
0, 0, 0, InCylLong#rh, side, Ust', 0, 0,
0, 0, 0, 0, InCylShort#rh, side, Ust', 0,
0, 0, 0, 0, 0, InCylShort#rh, side, Ust';
0, 0, 0.026804
0.026804
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, l5 com1##3'',
0, 0, 0, 1;
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, l5 com2##3'',
0, 0, 0, 1;
from motor
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, l5 com3##3'',
0, 0, 0, 1;
171
Appendix A (Continued)
appendix-B.nb
g4
8
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, l5 com4##3'',
0, 0, 0, 1;
from counterweight
g5
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, l5 com5##3'',
0, 0, 0, 1;
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, l5 com6##3'',
0, 0, 0, 1;
0.381127
0.
0.
0.
2.60209 1018
0.
L
\
]
M
M
]
]
M
]
M
]
M
0.
0.381127
0.
2.60209 1018
0.
0.
]
M
M
]
M
]
M
]
M
]
0.
0.
0.381127
0.
0.
0.
M
]
M
]
M
]
M
]
M
]
18
M
]
0.
2.60209 10
0.
0.000230134 Imot
0.
0.
M
]
M
]
M
]
M
]
M
]
18
M
]
2.60209 10
0.
0.
0.
0.00024678
0.
M
]
M
]
M
]
0.
0.
0.
0.
0.
0.000078781
N
^
Segment D_F
0.0508;
0.0519;
172
Appendix A (Continued)
appendix-B.nb
0.0135;
offsets of the origin from the low right angle of the structure
xoff
yoff
dista s 2;
0.0322;
0.0066;
0.0519;
0.0071;
0.0508;
0.0025;
ALUMINIUM RODS
mass
m1
Uall xa ya za;
center of mass
com1
com2
generalized inertia
H1
m1, 0, 0, 0, 0, 0,
0, m1, 0, 0, 0, 0,
0, 0, m1, 0, 0, 0,
0, 0, 0, InBox#za, ya, xa, Uall', 0, 0,
0, 0, 0, 0, InBox#xa, za, ya, Uall', 0,
0, 0, 0, 0, 0, InBox#xa, ya, za, Uall';
STEEL RODS
mass
m3
center of mass
com3
com4
173
Appendix A (Continued)
appendix-B.nb
10
generalized inertia
H3
m3, 0, 0, 0, 0, 0,
0, m3, 0, 0, 0, 0,
0, 0, m3, 0, 0, 0,
0, 0, 0, InCylShort#rs, ls, Ust', 0, 0,
0, 0, 0, 0, InCylShort#rs, ls, Ust', 0,
0, 0, 0, 0, 0, InCylLong#rs, ls, Ust';
MOTOR
motor mass
m5
0.13;
m5, 0, 0, 0, 0, 0,
0, m5, 0, 0, 0, 0,
0, 0, m5, 0, 0, 0,
0, 0, 0, Imot, 0, 0,
0, 0, 0, 0, InCylShort#rm, lm, dens', 0,
0, 0, 0, 0, 0, InCylShort#rm, lm, dens';
0., 0.0362152, 0
0.0362152
1, 0, 0, xoff,
0, 1, 0, l6 com1##2'',
0, 0, 1, 0,
0, 0, 0, 1;
174
Appendix A (Continued)
appendix-B.nb
g2
11
1, 0, 0, xoff,
0, 1, 0, l6 com2##2'',
0, 0, 1, 0,
0, 0, 0, 1;
1, 0, 0, 0,
0, 1, 0, l6 com3##2'',
0, 0, 1, 0,
0, 0, 0, 1;
1, 0, 0, 0,
0, 1, 0, l6 com4##2'',
0, 0, 1, 0,
0, 0, 0, 1;
from motor
g5
1, 0, 0, 0,
0, 1, 0, l6 com5##2'',
0, 0, 1, 0,
0, 0, 0, 1;
\
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
^
175
CITED LITERATURE
[1] W. Abend, E. Bizzi, and P. Morasso. Human arm trajectory formation. Brain,
2(105), 1997.
[2] J. A. Adams. A closed-loop theory of motor learning. Journal of Motor Behavior, 3(2):111149, 1971.
[3] R. Adams and B. Hannaford. Control law design for haptic interfaces to virtual
reality. IEEE Transactions on Control Systems Technology, 10(1):313, January
2002.
[4] R. Adams, D. Klowden, and B. Hannaford. Stable haptic interaction using
the excalibur force display. In IEEE International Conference on Robotics and
Automation, volume 1, pages 770775, San Francisco, CA, April 2000.
[5] R. J. Adams and B. Hannaford. A two-port framework for the design of unconditionally stable haptic interfaces. In IEEE/RSJ International Conference
on Intelligent Robots and Systems, pages 12549, Victoria, B.C., 1998.
[6] R. J. Adams and B. Hannaford. Stable haptic interaction with virtual environments. IEEE Transactions on Robotics and Automation, 15(3):465474, 1999.
[7] R. J. Adams, M. R. Moreyra, and B. Hannaford. Stability and performance
of haptic displays: Theory and experiments. In Proceedings of the Fifth Annual Symposium on Haptic Interfaces for Virtual Environment and Teleoperator
Systems, pages 227234, Anaheim, CA, November 1998.
[8] R. J. Anderson and M. W. Spong. Asymptotic stability for force reflecting
teleoperators with time delay. Int. Journal of Robotics Research, 11(2):135
149, 1992.
[9] W. D. Atkinson, K. E. Bond, G. L. Tribble, and G. L. Wilson. Computing with
feeling. Computer and Graphics, 1977.
[10] N. Ayache, S. Cotin, H. Delingette, J. M. Clemente, Y. Russier, and
J. Marescaux. Simulation of endoscopic surgery. Minimally Invasive Therapy
& Allied Technologies, 7(2):7177, 1998.
[11] J. Batter and F. P. Brook. Grope-1: A computer display for the sense of feel.
Information processing, proc. IFIP Congress, 71:759763, 1972.
[12] M. Bergamasco and C. A. Avizzano. Virtual environment technology in rehabilitation. In Proc. of IEEE-RSJ-SICE Ro-Man, 1997.
176
177
[25] B. Gillespie and M. Cutkosky. Stable user-specific rendering of the virtual wall.
In Proceedings of the ASME International Mechanical Engineering Conference
and Exposition, volume 58, pages 397406, 1996.
[26] B. Gillespie, S. OModhrain, P. Tang, C. Pham, and D. Zaretsky. The virtual teacher. In Proceedings of the ASME IMECE, volume 64, pages 171178,
Anaheim, CA, 1998.
[27] R. C. Goertz. Fundamentals of general-purpose remote manipulators. Nucleonics, 10(2):3642, 1952.
[28] B. Hannaford. A design framework for teleoperators with kinesthetic feedback.
IEEE Transactions Robotics and Automation, 5(4):426434, 1989.
[29] B. Hannaford and J. Ryu. Time domain passivity control of haptic interfaces.
In Proc. IEEE Intl. Conference on Robotics and Automation, pages 18631869,
Seoul, May 2001. ISBN 0-7803-6576-3.
[30] B. Hannaford and J. Ryu. Time domain passivity control of haptic interfaces.
IEEE Transactions on Robotics and Automation, 18:110, February 2002.
[31] C. J. Hasser and M. R. Cutkosky. System identification of the human hand
grasping a haptic knob. In Proceedings of the 10th Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems table of contents,
page 40, Orlando, 2002.
[32] S. S. Haykin. Active Network Theory. Addison-Wesley, 1970.
[33] V. Hayward, O. R. Astely, M. Cruz-Hernandez, D. G., and G. Robles-De-LaTorre. Haptic interfaces and devices. In Sensor Review, volume 24, 2004.
[34] J. Henmi and T. Yoshikawa. Virtual lesson and its application to virtual calligraphy system. In ICRA, pages 12751280, 1998.
[35] R. A. Hess. Unified theory for aircraft handling qualities and adverse aircraftpilot coupling. Journal of Guidance, Control and Dynamics, 20(6), 1997.
[36] N. Hogan. Impedance control: An approach to manipulation: Part i - theory,
part ii - implementation, part iii - applications. ASME Journal of Dynamic
Systems, Measurement and Control, 107:124, 1985.
[37] N. Hogan. Multivariable mechanics of the neuromuscular system. Proc. IEEE
Annual Conference of Engineering in Medicine and Biology Society, pages 594
598, 1996.
178
179
[52] T. Massie and J. K. Salisbury. The phantom haptic interface: A device for
probing virtual objects. In Proc. ASME Winter Annual Meeting: Symposium on
Haptic Interfaces for Virtual Environment and Teleoperator System., Chicago,
1994.
[53] T. H. Massie. Initial Haptic Exploration with the PHANToM: Virtual Touch
Through Point Interaction. PhD thesis, Massachusetts Insitute of Technology,
1996.
[54] B. E. Miller, J. E. Colgate, and R. A. Freeman. Passive implementation for
a class of static nonlinear environments in haptic display. In Proc. IEEE Intl.
Conference on Robotics and Automation, pages 2937 2942, Detroit, MI, USA,
1999.
[55] B. E. Miller, J. E. Colgate, and R. A. Freeman. Guaranteed stability of haptic
systems with nonlinear virtual environments. IEEE Transactions Robotics and
Automation, 16(6):712719, 2000.
[56] M. Minsky, M. Ouh-Young, O. Steele, F. P. Brooks Jr., and M. Behensky.
Feeling and seeing: Issues in force display. In Computer Graphics, volume
24(2), pages 235243. ACM, 1990.
[57] L. Montanari. Haptic rendering of a virtual tooth: State of the art, issues,
solutions and techniques. Masters thesis, University of Illinois at Chicago,
2003.
[58] H. B. Morgenbesser and M. A. Srinivasan. Force shading for shape perception
in haptic virtual environments. Technical Report 606, RLE at MIT, Cambridge,
MA, December 1996. also in: Fifth Annual Symposium on Haptic Interfaces
for Virtual Environment and Teleoperator Systems.
[59] R. M. Murray, Z. Li, and S. S. Sastry. A Mathematical Introduction to Robotic
Manipulation. CRC Press, 1993.
[60] A. Nahvis, D. Nelson, J. M. Hollerbach, and D. E. Johnson. Haptic manipulation of virtual mechanism from mechanical CAD design. In Proc. IEEE Int.
Conf. on Robotics and Automation, pages 375380, 1998.
[61] N. Olgac and R. Sipahi. An exact method for the stability analysis of timedelayed linear time-invariant systems. IEEE Transactions on Automatic Control, 47(5):793874, 2002.
[62] D. K. Pai, K. van den Doel, D. L. James, J. Lang, J. E. Lloyd, J. L. Richmond, and S. H. Yau. Scanning physical interaction behavior of 3d objects.
In SIGGRAPH 01: Proceedings of the 28th annual conference on Computer
180
graphics and interactive techniques, pages 8796, New York, NY, USA, 2001.
ACM Press.
[63] J. Payette, V. Hayward, C. Ramstein, and D. Bergeron. Evaluation of forcefeedback (haptic) computer pointing device in zero gravity. In Proc. 5th Annual
Symposium of Haptic Interfaces for Virtual Environment and Teleoperated Systems, ASME, DSC, volume 58, pages 547453, 1996.
[64] M. Pelletier and M. Doyon. On the implementation and performance of impedance control on position controlled robots. In Proc. IEEE/CNF Int. Conf.
on Robotics and Automation, pages 12251233, San Diego, CA, 1994.
[65] R. Playter and M. Raibert. A virtual surgery simulator using advanced haptic
feedback. Minimally Invasive Therapy, 6(2), 1997.
[66] J. Ryu, D. Kwon, and B. Hannaford. Stable teleoperation with time domain
passivity control. In International Conference on Robotics and Automation,
pages 32603265, Washington, DC, May 2002.
[67] S. Salcudean and T. Vlaar. On the emulation of stiff walls and static friction with a magnetically levitated input/output device. In Dynamics Systems
and Control, volume 55, pages 123130, Chicago, IL, November 1994. ASME.
Proceedings of the Third Annual Symposium on Haptic Interfaces for Virtual
Environment and Teleoperator Systems.
[68] R. A. Schmidt. A schema theory of discrete motor skill learning. Psychological
Review, 82(24):225260, 1975.
c GHOST SDK Programmers Guide, version 4.0
[69] SensAble Technologies, Inc
.
edition.
[70] R. Shadmehr and F. A. Mussa-Ivaldi. Adaptive representation of dynamics
during learning of motor task. Journal of Neuroscience, 14:32083224, May
1994.
[71] B. Siciliano and L. Villani. Robot Force Control. Kluwer Academic Publisher,
1999.
[72] T. Sohmura, H. Hojo, N. Nakajima, K. Wakabayashi, M. Nagao, S. Iida,
T. Kitagawa, M. Kogo, T. Kojima, K. Matsumura, T. Nahamura, and
J.Takahashi. Prototype of simulation of orthognathic surgery using a virtual
reality haptic device. International Journal of Oral and Maxillofacial Surgery,
8(33):740750, 2004.
181