Anda di halaman 1dari 214

POLITECNICO DI MILANO

Facolt`
a di Ingegneria
Corso di laurea in Ingegneria Informatica

HAPTIC PLAYBACK:
A NEW APPROACH TO TEACHING OF SENSIMOTOR
SKILLS

Relatore: Prof.ssa Giuseppina Gini

Correlatore: Prof. Milos Zefran

TESI DI LAUREA
Matteo Corno
Matricola: 642404

ANNO ACCADEMICO 2004-2005

When all men think alike, no one thinks very much.


Walter Lippmann

Were surrounded. That simplifies the problem.


Lewis B. Chesty Puller, USMC

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.

Sistemi di input per interfacce grafiche. Storicamente una delle prime

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)

delli matematici di tessuti organici e quando disponibili risultano comunque


computazionalmente pensanti.
Le precedenti considerazioni ci hanno portato al concetto di haptic playback
(riproduzione aptica):
Definizione (Haptic Playback) Lhaptic playback `e un metodo che consiste nel mostrare informazioni pre-registrate di posizione e forza. Quando un
compito richiede interazione con lambiente, esso pu`o essere descritto da due
quantit`a: le traiettorie che i punti di contatto seguono nello spazio e le forze
esercitate ai suddetti punti di contatto. Queste due dimensioni sono entrambe
necessarie al compito. Quando il compito `e insegnato, entrambe le informazioni
devo essere correttamente mostrate allo studente. Allo stesso modo in cui `e
possibile video registrare un soggetto intento nellesecuzione di un compito
e rivedere la registrazione pi`
u volte, si vorrebbe essere in grado di registrare
posizione e forza mentre un soggetto compie linterazione e successivamente
mostrare le informazioni ad un numero arbitrario di studenti.
Questa tesi rappresenta un passo avanti verso lo sviluppo di una nuova generazione di sistemi aptici. Usando questi nuovi sistemi, un gruppo di studenti
sar`a in grado di imparare una tecnica senza la necessit`a di un esperto e, qualora
lesperto fosse presente, di interagire con linsegnante in un ambiente virtuale
condiviso. Questo nuovo tipo di sistema sar`a utile nellinsegnamento di compiti
manuali complessi.
I problemi coinvolti in questo progetto sono principalmente due:
` necessario sviluppare
Schemi di controllo per lhaptic playback. E
strategie di controllo per limplementazione dellhaptic playback.

Framework di controllo per interazione aptica collaborativa. La


capacit`a di ottenere lhaptic playback apre la via alla interazione aptica collaborativa, dove pi`
u utenti possono interagire con una copia dello
stesso ambiente virtuale e osservare le azioni degli altri utenti.
v

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)

` il fatto che lutente sia intrinsecamente tempo-variante


variante del modello. E
che rappresenta la maggiore difficolt`a nel garantire interfacce stabili.
Unalternativa allutilizzo di modelli espliciti `e introdotta da Colgate e collaboratori. Essi applicano il concetto di passivit`a al display aptico. I loro
risultati, inizialmente ristretti ad ambienti virtuali lineari, evidenziano il ruolo
principale che lo smorzamento gioca nel garantire la stabilit`a; lanalisi pu`o
essere estesa ad ambienti non lineari e con ritardi.
Come gi`a sottolineato la maggior parte del lavoro nelle interfacce aptiche
si basa sul two-port framework. In questo framework il sistema aptico `e
rappresentato come un circuito costituito da tre elementi: lutente umano,
linterfaccia aptica e lambiente virtuale. Ai fini della nostra ricerca `e importante considerare che il two-port framework `e stato sviluppato assumendo che
lobiettivo del sistema aptico nel suo complesso sia quello di simulare un ambiente. La Figura 0.1 descrive schematicamente il two-port framework. Le con-

Figura 0.1. Two-port framework

dizioni di stabilit`a ottenute utilizzando questo framework si basano sullipotesi


di passivit`a. Se lutente `e considerato passivo (come suggerito da Hogan), allora `e possibile trovare condizioni che garantiscono lassenza di oscillazioni per
un vasto insieme di ambienti virtuali non lineari. Una presentazione pi`
u esausvii

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)

dispositivi aptici `e stato sviluppato. La pressione esercitata sul dito dellutente


viene usata come canale aggiuntivo per insegnare la forza.
Sebbene in tutti lavori visti viene riconosciuta la necessit`a di un canale
aggiuntivo da affiancarsi a quello aptico, non viene presentato un framework
per affrontare il problema. I risultati degli autori citati sono principalmente
concentrati su un particolare dispositivo e una particolare applicazione. Il
nostro obiettivo `e quello di fornire un framework generale per lhaptic playback.
Il nostro framework non si applica solo a un particolare caso.
Per meglio comprendere le tematiche dellinsegnamento, nella Sezione 3.2

vengono descritte le principali teorie sullapprendimento di capacit`a motorie.


4 Metodo

Il two-port framework introdotto nel Capitolo 2 non `e adatto a trattare


applicazioni haptic playback. Lambiente virtuale simula un ambiente reale
con la sua dinamica e, come gi`a evidenziato, questo `e utile solo al perfezionamento di una tecnica. Nel Capitolo 4 valutiamo la possibilit`a di adattare
il two-port framework al nuovo obiettivo. Fondamentalmente, lidea `e quella
di considerare un ambiente virtuale arricchito e includere in esso la dinamica
`
di un insegnante virtuale che corregge la posizione e la forza esercitata. E
ovviamente estremamente difficile implementare un insegnante virtuale basandosi sul comportamento di insegnanti reali. Si pu`o pensare di ovviare a questo
problema ricorrendo al controllo di impedenza. Lambiente virtuale arricchito
deve essere in grado di controllare la posizione del soggetto e la forza esercitata,
in altre parole deve essere in grado di controllare linterazione. Un modo di
controllare linterazione `e appunto il controllo di impedenza. La prima parte
del Capitolo 4 `e dedicata alla descrizione dei fondamenti del controllo di impedenza; nella Sezione 4.4 viene descritto come il controllo di impedenza,
usualmente utilizzato in robotica industriale, possa essere applicato allhaptic

playback. Nella stessa sezione si ricavano le condizioni di stabilit`a del sistema.


ix

RIASSUNTO

(Continua)

Sfortunatamente lapproccio dellambiente virtuale arricchito non garantisce


condizioni di stabilit`a sufficientemente ampie. Si `e quindi giunti alla conclusione che il two-port framework non sia applicabile al problema considerato e
la ricerca di un nuovo framework `e iniziata.
Un Nuovo Framework
Il nuovo framework viene introdotto nel Capitolo 5. Il principale difetto del
two-port framework `e che non offre nessun canale per comunicare allutente
il corretto comportamento. Il framework proposto introduce un nuovo canale
nel modello; questo nuovo canale `e costituito dagli stimoli visivi provenienti da
uno schermo o da altro dispositivo. La maggior parte delle simulazioni aptiche
gi`a presenta questa caratteristica, ma essa non `e presa esplicitamente in considerazione nel two-port framework. La rappresentazione visiva dellambiente
virtuale ha un ruolo importantissimo nel senso di immersione, anche nelle simulazioni. Henmi e Yoshikawa riconoscono limportanza del canale visivo, ma
esso, nei loro lavori, non viene evidenziato esplicitamente.
Il framework che proponiamo `e stato sviluppato per le applicazioni di haptic
playback cercando di non vincolarlo a particolari dispositivi o sistemi; esso
necessita di due ipotesi, che risultano essere di facile accettazione. Esse sono:
Il sistema `e in grado di fornire una rappresentazione visiva dellambiente
virtuale. Il display deve essere in grado di mostrare almeno due elementi:

la posizione attuale e un bersaglio. Il movimento della posizione corrente


deve essere ovviamente coerente con il movimento del dispositivo aptico
nel suo spazio di lavoro.
Lutente deve cooperare con il sistema, ovvero ipotizziamo che lutente
sappia che deve seguire il bersaglio mostrato e che lo faccia al meglio delle
sue capacit`a.

RIASSUNTO

(Continua)

Il framework proposto `e introdotto e descritto in dettaglio nella Sezione 5.1


e schematicamente mostrato nella Figura 0.2. La principale differenza dal

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

Figura 0.2. Framework proposto per lhaptic playback.

framework tradizionale `e il modello dellutente. Lutente `e modellizzato come


un sistema dinamico con tre ingressi e una uscita. Sinteticamente, gli ingressi
sono:
La traiettoria del bersaglio mostrata sullo schermo.
La forza attualmente esercitata dal dispositivo aptico.
La posizione attuale del dispositivo.
xi

RIASSUNTO

(Continua)

Dal punto di vista aptico, lutente ha la causalit`a di una impedenza, ma ha due


ingressi addizionali. Lutente ha solo una uscita, la forza esercitata dallutente.
Questo framework permette di studiare il problema dellhaptic playback
dal punto di vista della teoria del controllo; ha per`o due implicazioni: (1) non
`e pi`
u possibile studiare il sistema ricorrendo al formalismo dei circuiti e (2) il
concetto di passivit`a non `e direttamente applicabile. Poich`e il formalismo dei
circuiti e la passivit`a non sono pi`
u applicabili, strumenti pi`
u generali devono
essere usati; di conseguenza un modello esplicito dellutente `e necessario.
Il Modello dellOperatore
Molti ricercatori in differenti campi si sono dedicati alla dinamica e al con` ovviamente molto difficile ottenere un modello che
trollo degli arti umani. E
descriva accuratamente come il sistema nervoso centrale controlli gli arti, per
questo motivo lapproccio seguito in letteratura `e stato quello di vincolare
fisicamente i soggetti il pi`
u possibile, ad esempio immobilizzando le spalle,
riducendo cos` i gradi di libert`a coinvolti.
In letteratura `e possibile identificare due tipi di approccio al problema: alcuni autori effettuano una identificazione a scatola chiusa del modello, mentre
altri formulano ipotesi su come il sistema nervoso centrale (CNS) controlli gli
arti. Per esempio Hasser and Cutkosky propongono un modello a parametri
concentrati di secondo ordine; in questo tipo di approccio il sistema di controllo
motorio umano `e considerato un sistema a scatola chiusa da identificare. Nel
secondo approccio, invece, vengono fatte ipotesi sul funzionamento del CNS,
che viene considerato alla stregua di un controllore di un sistema meccanico e i
dati sperimentali sono usati per validare il modello. In particolare Mussa-Ivaldi
segue questo secondo approccio nei suoi lavori dedicati allapprendimento motorio. In uno dei suoi esperimenti un manipolatore a due gradi di libert`a `e usato
per generare differenti tipi di campi di forze. La tesi degli autori `e che il CNS

xii

RIASSUNTO

(Continua)

ricorra ad un modello interno della dinamica del braccio che `e costantemente


tenuto aggiornato. Per maggiori dettagli consultare la Sezione 5.2.

Lapproccio che abbiamo seguito per ottenere un modello per loperatore

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.

Una volta proposto il modello si `e dovuto procedere con la validazione

dello stesso. Si `e cos` verificato che il modello `e ragionevole e si sono stimati


xiii

RIASSUNTO

(Continua)

gli intervalli di variabilit`a dei parametri. Per validare il modello si `e usato un


sistema costituito da un dispositivo aptico Sensable PHANToMTM PREMIUM
1.0 interfacciato ad un PC con sistema operativo Windows 2000. Per stimare
i cinque parametri, quattro soggetti sono stati reclutati. I soggetti sono stati
scelti tra uomini destrorsi senza disturbi neurologici, let`a dei soggetti varia
dai 23 ai 28 anni. Si riconosce che quattro soggetti non sono una campione
statisticamente rilevante; bisogna ricordare che lobiettivo non `e quello di ottenere un modello che descriva accuratamente il sistema nervoso centrale, ma
piuttosto un modello che permetta di spiegare e dare una prima formalizzazione dei meccanismi coinvolti. Tutti i soggetti utilizzati erano familiari con
i concetti della simulazione aptica, ma nessuno aveva esperienza con il concetto di haptic playback. Ai soggetti `e stato chiesto di sedersi in fronte a uno
schermo e di afferrare lend effector del dispositivo aptico. I soggetti erano
liberi di assumere la posizione a loro pi`
u comoda; questo da un lato compromette la ripetibilit`a degli esperimenti, ma dallaltro permette di ottenere
risultati che possono essere applicati a un pi`
u vasto insieme di condizioni possibili. Il bersaglio `e inizialmente tenuto in posizione, successivamente, a un
tempo casualmente determinato esso viene mostrato in una nuova posizione
(anchessa casualmente determinata) e simultaneamente viene esercitata una
forza dal dispositivo aptico. La traiettoria seguita dal soggetto `e registrata per
tutta la durata dellesperimento. La tecnica di identificazione dei parametri
viene descritta nella Sezione 5.3; non avendo la possibilit`a di misurare direttamente la forza esercitata il dispositivo aptico `e stato modellizzato come una
massa smorzata, aggiungendo cos` altri due parametri al sistema. I risultati
ottenuti dalla validazione sono comunque promettenti e mostrano che il modello, pur nella sua semplicit`a, `e in grado di catturare i principali meccanismi
in gioco.

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)

di forza, mentre la forza esercitata dal dispositivo `e usata per guidare


loperatore lungo la traiettoria corretta.
Come ipotizzato, le simulazioni descritte nella Sezione 5.4 mostrano che il

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

occhio-mano. I promettenti risultati del crossed controller vengono invalidati


dalla presenza del ritardo: se il ritardo viene considerato le prestazioni dei controllori tradizionali non ne risentono, ma il crossed controller diviene instabile.
Nella Sezione 5.6 confrontiamo i metodi tradizionali con il crossed controller

e investighiamo le cause della instabilit`a. La causa pu`o essere identificata nel


fatto che il secondo anello che viene chiuso `e ritardato; `e fatto noto che un
anello chiuso ritardato mini la stabilit`a di un sistema. Per meglio comprendere il problema, introduciamo un nuovo metodo per lo studio di sistemi lineari
con presenza di ritardi. Il metodo descritto `e ispirato a un metodo presente
in letteratura, ma viene esteso a sistemi diversi da quelli descritti nellarticolo. Grazie a questo metodo `e possibile ottenere una condizione necessaria
e sufficiente per la stabilit`a del crossed controller. Il metodo usato e le condizioni ottenute sono articolate per cui si rimanda al testo in inglese per una
pi`
u approfondita comprensione.
Implementazione
Studiati e compresi i risultati delle simulazioni si `e proceduto a implementare le leggi di controllo. Nel fare ci`o `e stato necessario superare alcune limitazioni dellattrezzatura usata. In particolare faremo riferimento al
PHANToMTM Premium della SensAble Technologies, Inc (Woburn, MA) visibile in Figura 0.3, questo dispositivo `e uno dei pi`
u comuni ed `e stato utilizzato
con successo in molte applicazioni. Le caratteristiche principali del dispositivo
sono una vasta area di lavoro, bassa inerzia apparente dellend effector, bassi at` possibile pensare al PHANToMTM come
triti e altra precisione di posizione. E
xvi

RIASSUNTO

(Continua)

Figura 0.3. PHANToMTM Premium.

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)

mulazione `e tempo invariante. Secondo il modello loperatore esercita sempre


una forza proporzionale allerrore, indipendentemente dalla situazione. Se il
bersaglio si muove improvvisamente loperatore, secondo il modello, esercite` questo il comportamento che non solo scatena, ma
r`a una forza notevole. E
sostiene linstabilit`a: `e loperatore a fornire una sovrabbondanza di energia.
Nella realt`a loperatore continua a modificare il suo comportamento adattandosi alla situazione. Nella sezione citata viene brevemente discusso come il
modello possa essere modificato per accomodare questo comportamento.
Per poter valutare le differenze tra le due strategie, il seguente protocollo
`e stato ideato. Ai soggetti sono state presentate quattro differenti condizioni
ottenute dalla variazione di due fattori: la strategia di controllo usata e la
forza richiesta. Due tipi diversi di traiettorie di forza sono stati usati; nel
primo caso la forza richiesta `e stata mantenuta costante, mentre nel secondo
caso si `e usata una sinusoide bidimensionale. Ciascun soggetto ha affrontato
cinque test consecutivi per ogni condizione. Sintetizzando le considerazione
ricavate da questi esperimenti si nota che:
Il tipo di forza richiesta non influisce significativamente sugli errori.
Il direct force controller offre un migliore inseguimento della forza ri-

chiesta rispetto al crossed controller (fatto imputabile al metodo di stima


della forza).

Il crossed controller offre un migliore inseguimento della posizione richiesta rispetto al direct force controller.

Con lutilizzo del crossed controller loperatore svolge un ruolo pi`


u attivo
nellesercitare la forza 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.

My gratitude goes to Milos Zefran


without whom this work would not have
been possible. His trust, encouragements and financial support are what this
thesis nourished on. My advisors help and support were always precious. His
advices were always well accepted during the year and a half I spent working
at CVRL.
I would like to thank the members of my committee: Dr. Roland Priemer
and Dr. Dan Schonfeld for reviewing this material and for their suggestions.
Among the people that made this thesis possible I cannot but mention
my parents and my family: Carla, Giorgio and Marcello. Thanks for all your
support and useful teachings. I am grateful to my brother for helping me when
I moved and for other fraternal things, increasing my pain threshold among
them.
I would also like to thank the guys at CVRL: Panos, Carlos, Max, Shangming and Goubiao. It was enjoyable and interesting to talk with you. I wish
you best luck.
With graduation an important chapter of ones life comes to an end, I would
like to acknowledge all the people who influenced my life so far. Take a deep
breath, here they come, Gaia for. . . well for being Gaia and sometimes me too
and for the kites, Elena and Fabio for being the best friends and classmates one
can wish for, Federico for constantly reminding me that there are more curious
xxi

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).

I would also like to thank

The people at the Studesk 2 at Politecnico di Milano proved that one


can get wonderful things out of other peoples mistakes and I should thank
them too.
xxii

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

CONCLUSIONS AND FINAL REMARKS . . . . . . . . . 148


APPENDICES . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
CITED LITERATURE . . . . . . . . . . . . . . . . . . . . . . 175

xxv

List of Tables
2.1

ELECTRICAL-MECHANICAL PAIRS. . . . . . . . . . . 14

5.1

IDENTIFIED SUBJECTS PARAMETERS. . . . . . . . . 59

5.2

PARAMETERS IN SIMULATION. . . . . . . . . . . . . . 66

6.1

OSCILLATION FREQUENCIES. . . . . . . . . . . . . . . 133

6.2

POSITION ERROR VARIANCES. . . . . . . . . . . . . . 146

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 . . . .

Roots locus diagram for N (s) + T D (s) with k1 < KP < K.


. . .
Roots locus diagram for N (s) + T D (s) with KP > K.
TM
PHANToM
Premium. . . . . . . . . . . . . . . . . . . . .
xxvii

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

PHANToMTM haptic interface controller. . .


Moving average filter: effect of window size. .
Initial configuration of the manipulator. . . .
Side and top views. . . . . . . . . . . . . . .
Transforming generalized inertia matrices. .
Segments used in dynamics analysis. . . . . .
Segment A. . . . . . . . . . . . . . . . . . . .
Segment C. . . . . . . . . . . . . . . . . . . .
Segment BE. . . . . . . . . . . . . . . . . . .
Segment BE decomposition. . . . . . . . . .
Segment DF. . . . . . . . . . . . . . . . . . .
Segment DF decomposition. . . . . . . . . .
Power spectrum. . . . . . . . . . . . . . . . .
Bode diagram, joint 1. . . . . . . . . . . . . .
Bode diagram, joint 2. . . . . . . . . . . . . .
Bode diagram, joint 3. . . . . . . . . . . . . .
Joint trajectories with no force applied. . . .
Joint trajectories, fx = 0.1. . . . . . . . . .
Joint trajectories, fy = 0.1. . . . . . . . . . .
Joint trajectories, fz = 0.1. . . . . . . . . . .
Static force evaluation. . . . . . . . . . . . .
Dynamic force evaluation. . . . . . . . . . . .
Filtering triggered stability test. . . . . . . .
Position C.C., KP = 10, KF = 0.5. . . . . . .
Position C.C., KP = 30, KF = 0.5. . . . . . .
First experience with crossed controller. . . .
Force C.C., KP = 10, KF = 0.5. . . . . . . .
Force C.C., KP = 30, KF = 0.5. . . . . . . .
Position D.C., KP = 0.5. . . . . . . . . . . .
Position D.C., KP = 2.5. . . . . . . . . . . .
Force D.C., KP = 0.5. . . . . . . . . . . . . .
Force D.C., KP = 2.5. . . . . . . . . . . . . .
Control action direct controller, KP = 0.5. .
Control action direct controller, KP = 2.5. .
Direct force control and constant force. . . .
Direct force control and sinusoidal force. . .
Crossed controller and constant force. . . . .
Crossed controller and sinusoidal force. . . .

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)

This system would require to continuously change the impedance parameters


and virtual trajectory. In literature the stability of such a system has never
been studied. We derive stability conditions and discuss why they are too
constraining to be used in haptic playback. Moreover impedance control is
used to formally explain the main problem in haptic playback: the conflicting
causality between force and position displaying.
While studying how to use impedance control in haptic playback, it became
clear that something was indeed missing. Previous work has been done in haptic playback and some research applications have been devised and tested, but
all the devised applications, although using it, did not address the importance
of the visual channel. A visual feedback channel is present most of the times,
but this thesis is the first to explicitly address it. The absence of an explicit
model for visual feedback is clear in the traditional framework, where the user
is modelled as an impedance. The visual feedback offers a way to add a degree of freedom useful in displaying the two dimensions of haptic playback
simultaneously.
Having recognized the importance of the visual feedback the foundations for
a new framework have been laid. This new framework is believed to be the
main contribution of this thesis. It provides a new perspective on the problem
and allows a better formalization of the previous attempts of designing a haptic
playback system. The framework we propose relies on an explicit model of the
user. A user model is derived and validated by experimental results. The pros
and cons of the model are discussed. A simple model as the one proposed
cannot capture all the features of such a complex system as human motor
control. Nevertheless the model is useful to gain a better understanding of
the problems involved. Eventually it provided the starting point to devise a
novel control strategy, called crossed controller. Prior to proceeding with
the implementation of a prototype for haptic playback, the stability of the
crossed controller is studied.
xxx

The implementation of the prototype is affected by the limited availability


of sensors and by the lack of low level control over the PHANToMTM , the
haptic device available for testing. A method to estimate the interaction
force is developed and discussed. This method is not considered an alternative
to direct measurement of the force, but it is the only possible choice to test
the proposed algorithm. During the process of implementation the dynamic
and kinematic models of the PHANToMTM are derived.
The last section of this thesis focuses on the testing of the proposed control
strategies on human subjects. The crossed controller is tested against the
direct force controller, which is the controller used in previous works. These
experiments allowed to learn more on how a human subject performs tracking
tasks. The tests also expose some weakness of the proposed user model and
of the direct force control. In particular, it is shown that the lack of force
sensors heavily affects the performance of the direct force controller. The
most important conclusion drawn by these tests is that, even if the crossed
controller has worse force tracking capabilities than the direct force control,
it has some mayor advantages. It better controls the position, and allows to
experience the force in an active way, whereas with the direct force control the
user experiences the force in a passive way.
All this achievements are believed to be useful in the realization of a new
type of haptic devices. A teaching system where several users can share the
same virtual environment and haptically interact with a single teacher. Thanks
to this system a single trainer could teach a complex sensimotor task to several
trainees at the same time.

xxxi

CHAPTER 1

INTRODUCTION

1.1

Structure and layout

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

Theoretical background and critical analysis

Chapter 2 is designed to provide the theoretical background that has to


be mastered in order to understand what are the issues involved in the study
and development of haptic systems. The following is a list of bibliographic
references that can help to facilitate the comprehension of the work.

Two-port framework [3, 6, 8, 28]


The two-port framework, commonly used in circuit theory, is an efficient
way to describe energy flow between systems. It is possible to link energy
to stability of physical systems, therefore the two-port framework can be
easily used to study stability of haptic systems. The use of two-port
models for haptic systems is directly derived from the use of two-port
models in bilateral teleoperation. A general two-port is a black-box
which captures the relationship between efforts and flows. Depending on
the nature of the system, efforts may be forces (in mechanical systems) or
differences of potential (in electrical systems), in the same fashion flows
are velocities in mechanical systems and currents in electrical domain.
Given a two-port sub-system the relations between the various quantities
are represented by immittance matrices. There are four different types of
immittance: impedance, admittance, hybrid or alternate hybrid. Which
form is used depends on the causality between the variables. Theoretically each form is equivalent to all the others, but the transformation into
a form that corresponds to a different causality may not be meaningful
or may lead to a loss of physical motivation.

Stability [37, 43]


Haptic systems present some interesting issues regarding their stability;
these issues will be discussed. Unconditional stability and passivity are
defined and discussed. The differences between the real (continuous)
world and a simulated (discrete) one are highlighted. The laws that describe physical phenomena do not adapt well to being discretized, as they
no longer describe accurately the phenomenon and may loose fundamental properties such as passivity.
Passivity [29, 30, 43, 54, 66]
One of the most popular methods to study stability of haptic systems
is based on the concept of passivity, which directly relates to energy
exchanges between systems. It is a conservative method, but it allows
a robust stabilization of the interaction, which is particularly important
when dealing with haptic systems where instability can cause harm to
the user.
Impedance control [15, 36, 47, 64, 71]
In 1985 Hogan introduced a new paradigm in robot control called impedance control. Prior to his work, there were two accepted paradigms:
position control and force control. Hogan opened a third way through interaction control. Impedance control allows the control of robots so that
they behave as a wanted impedance, i.e. a relation that accepts a flow
and yields an effort, this paradigm can be extended to haptic simulation
because virtual environments can be modelled as impedances.
Control of delayed systems [46, 51, 61]
Delays play an important role in haptic systems. They may arise because
of the time needed for computation, the need for filtering of data or even
the delay that every human user has when responding to external stimuli.

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

Haptic Interfaces (HIs) are interface systems composed of hardware and


software. HIs are peculiar in that they are truly bidirectional. Unlike traditional interfaces that are easily characterized either as input interfaces (for
example mice and keyboards) or as output interfaces (screens, sound cards),
an HI works both as an input device and an output device. Therefore the main
characteristic of HI is not the use of the touch channel, but bidirectionality.
For example, according to this definition, a pin-based tactile array cannot be
considered an HI.
The history of the haptic interface starts in the 1950s when a master-slave
system was proposed by Goertz [27]. HIs were established out of the field of
teleoperation which was employed in the remote manipulation of radioactive
materials. GROPE [11] was one of the first project using HIs. It was aimed to
develop real-time simulation of molecular docking forces. Atkinson et al. [9]
proposed a design for a point interaction device based on a system of strings

which could be tightened to generate forces on a manipulandum grasped by


the user. Atkinson et al. also recognized the importance of active manual
exploration in the process of touching. During the past decade more general
purpose devices have been developed. Kim and Bejczy [45] replaced robot slave
of teleoperation with simulated couterparts using the Salisbury/JPL interface.
A few years later, the first HIs became commercially available, among them
there were the Touch Master, the SAFIRE Master [23] and the Impulse Engine
[40], followed by the PHANToMTM [53], probably one of the most widely
employed devices in the field.
Although HIs emerged from the field of teleoperation, they soon found applications in many other fields. Some of the possible applications have already
reached the public, while others are still research topics. A short survey of
possible applications is presented.
Force-reflecting input devices for use with graphical user interfaces. One of the first research applications of HIs was the enhancement of
existing graphical user interfaces. Elements of these GUIs can be rendered
mechanically. In this context haptic cues may be used to represent topological
relationships in terms of importance between different elements of an operating
system [42].
Games. The sense of user immersion in a game can be greatly enhanced
by the use of force feedback. Dexterity games can be infinitely programmable
and educational games can better illustrate concepts in Physics. In this field
force feedback has been a commercial reality for several years.
Multi-media publishing. Current multi-media applications include text,
sound, images and video; with the use of HIs it will be possible to create
online catalogues that allow users to feel the difference between several kinds
of materials.
Scientific discovery. One of the first applications of HIs was a molecule
docking simulator [11]. HIs can be a powerful aide to the scientist.

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

Teaching a sensorimotor skill is often a difficult and expensive task. In


general, the most effective way to teach an interaction task requires an expert
trainer who physically interacts with the trainee [26]. However, such training
is time consuming and requires a low trainee/trainer ratio. If we had a system
capable of showing a complex task to a group of students, not only would the
cost be drastically cut, but the quality of teaching could improve. Furthermore
it would be easier for the trainer to evaluate the improvements of the class and
adapt the pace of the course to the students.
In the past few years haptic simulators have shown great potential in teaching sensimotor skills, especially in those fields where the training through traditional method is expensive, such as medical training (for example [10, 13, 21,
65, 7274]). Traditional haptic systems are virtual reality systems that allow
users to explore a virtual environment; from the training standpoint this approach has two major deficiencies. While it is very useful for proficient users
who want to practice a known technique, it is of no help to new students that
need to learn a task anew. In fact this kind of system was not designed to
haptically convey information about the correct way to perform a task. The
second issue is that haptic simulators usually rely on virtual models of the
world. For example, one important application is medical training, a domain
where good mathematical models of tissues are rare, and if available they are
computationally demanding. All these considerations lead to the concept of
haptic playback:
Definition 1.5.1 (Haptic playback) Haptic playback is a method of displaying prerecorded information of position and force. When a task that requires interaction with the environment is performed, it can be described by

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.

This thesis is focused mainly on the issues regarding the implementation


of control laws for haptic playback.

10

1.6

The scientific significance

The purpose of this work is to demonstrate that the two-port framework


commonly used to study haptic systems is not adequate to deal with haptic
playback; while it provides a powerful way to guarantee stability, it does not
provide any mean to take into account the playback feature.
The two-port framework fails because it does not take into consideration an
important part of haptic simulations: visual feedback. Due to this limitation
the need for a new framework arises. As it will be thoroughly discussed, in the
two-port framework the user is modelled as a physical system with one input
and one output; in particular it is assigned an impedance causality. This is
rarely the case. In real world most haptic systems are provided with a visualization system that provides a visual representation of the virtual environment.
Therefore there is an additional channel that must be taken into consideration, the user is not limited to touch, but she can also see. No energy flow
is associated with this channel. It is convenient to see the visual channel as
an information flow. The new framework presented in this thesis is capable
of taking into account the additional channel and the haptic playback system
devised is able to perform better than the previous haptic playback systems
presented in the literature.
Summarizing, the main contributions of this thesis are:
A new framework for haptic playback is described, it is compared to the
previous existing work and conclusion are drawn.
A new model for the user is proposed. The model that is derived is very
simple, but nevertheless it can explain the behavior of the user of the
haptic system. It is shown how the proposed model is coherent with the
findings of Mussa-Ivaldi et al. [70] and experimental data is presented to
validate the model.

The kinematic and dynamic models of the PHANToMTM are derived. A


technique to overcome the lack of force sensors is outlined and experimental results presented. One of the difficulties encountered in this work
R the
is related to the control software of the PHANToMTM . GHOST ,

commercially available library for controlling the device, is very useful to


design high level applications, but it lacks the low level features needed
to implement new controllers. Possible improvements of the device are
proposed and discussed.

A new controller suitable for haptic playback is presented and tested. A


comparison with other controllers for haptic playback is presented.
It is believed that the most important conceptual contribution of this work
is a new framework, a framework that accounts for the information channel due
to the visual feedback. Once this new framework is accepted, better and more
complete models of the user can be devised and better performance achieved.
This work started as an attempt to include the haptic playback feature
in the existing two-port framework. However it soon became clear that the
existing framework could not model the new application, so we had to find
an alternative framework. We looked at impedance control because of its
interesting feature of controlling the interaction. Soon the problem of the
additional channel arose and the attention was then shifted to the need of a
model of the user that would be simple but at the same time could explain
the main features of human behavior. Finally those findings where used to
develop and test a prototype for haptic playback.

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

{[ek , ik ]tf0 , k = 1, 2, ..., n]} = Nn

(2.1)

This representation is the most compact characterization of a network. In


control engineering systems are often characterized by a transfer function.
When dealing with transfer functions signals are characterized by being input
signals or output signals. No such differentiation is made in network theory, a
network is simply a relationship.
12

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

As explained in Adams and Hannaford [3, 6] networks with two pairs of


accessible terminals (two-ports), are particularly useful in describing energy
flown between a human operator and a remote or virtual environment. In
the same way that electrical two-ports enforce a relationship between the currents and voltages at the accessible ports; mechanical two-ports implement
constraints between velocities and forces : v1 ,v2 , f1 and f2 . The negative
sign on v2 is necessary to maintain consistency in the notion of flow between
electrical and mechanical systems. Two-port systems can be represented in a
compact way thanks to the use of the immittance matrix.

Definition 2.2.1 A matrix P which maps an input u to an output y is said


to be an immittance matrix if y T u = f1 v1 + f2 (v2 )

14

Table 2.1. Electrical elements and mechanical counterparts.


electrical system

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

According to definition 2.2.1, there are four possible arrangements of inputs


and outputs which correspond to four types of immittance matrices; they are
shown in Figure 2.1. In general immittance matrices are frequency dependent.
For a particular network, one or more of these forms may not exist. For
example, if the impedance matrix is singular the admittance matrix (which
is its inverse) does not exist. More on the two-port framework can be found
in [6].

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

Passivity is a powerful method to study stability of linear and nonlinear


systems. It is particularly well suited for studying stability of teleoperation
systems [8] and of networks, as it will become clear in 2.4. In this section

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

Consider the dynamical system represented by the state model:


x = f (x, u)

(2.2)

y = h(x, u)

where f : Rn Rp Rn is locally Lipschitz, h : Rn Rp Rn is continuous,

f (0, 0) = 0 and h(0, 0) = 0.

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
.

input-strictly passive if uT y V + uT (u) and uT (u) >


0,

u 6= 0.

input-feedback passive if uT y V + y T (y) for some function .


output-strictly passive if uT y V + y T (y) and y T (y) >
0,

y 6= 0.

strictly passive if uT y V + (x) for some positive definite function

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

passive, it dissipates energy. Of particular interest in following sections will be


the concepts of input passivity (ISP) and output passivity (OSP). A system
which is ISP allows a certain amount of feedforward without losing passivity
whereas a OSP allows a certain amount of feedback. The allowed amounts are
specified in terms of the functions and . In both cases the property can be
see as an overabundance of passivity.
Passivity is particularly useful to study stability because if the system is
passive and the storage function is positive definite, the origin becomes a stable
equilibrium point and the storage function can be used as a Lyapunov function.
Moreover it can be shown that interconnections of passive systems are passive
systems.

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

Figure 2.2. Passive interconnections.

18

2.4

Stability of networks

As seen in the previous section stability can be related to the concept of


energy. If for a system one can define a notion of energy, then the stability of
that system can be analyzed through the energy. For example, when perturbed
from equilibrium the energy of the system can increase, decrease or remain constant; from this characteristic is possible to derive stability properties. When
dealing with two-port networks the energy behavior is an open-ended question; in order to evaluate a two-port system stability, one must first decide
how these parts are terminated. Figure 2.3 shows a linear time-invariant twoport, N , loaded with a second two-port, NL . The stability of the system can
now be defined in terms of the roots of the closed-loop characteristic equation
resulting from the termination of N by a particular NL .

v1(s)

v2(s)

+
f1(s) N
-

+
f (s)
- 2

f1 (s) NL f2 (s)
+
+

v1 (s)

v2 (s)

Figure 2.3. Terminated two-port network.

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)

for all admissible forces (f1 , f2 ) and velocities (v1 , v2 ).

As seen, intuitively this means that NL is incapable of delivering energy beyond


that which has been previously provided. It is a passive absorber of energy.
Colgate [18] showed that the positive realness of the immittance matrix is
necessary and sufficient for the passivity of the linear network N .
Definition 2.4.1 ( [50]) Let Z(s) be a complex-valued function of a complex
variable; it is said to be positive real (PR) if
Z(s) is real whenever s is real
(Z(s)) 0 whenever (s) 0
The definition can be extended to matrices as follows,

20

Definition 2.4.2 ( [50]) An n n matrix Z(s) of functions of a complex


variable is called positive real if

Z(s) has elements which are analytic for (s) 0


Z (s) = Z(s) for (s) 0
Z T (s ) + Z(s) is nonnegative definite for (s) 0
where the asterisk denotes matrix complex conjugation.
The following theorem gives a sufficient and necessary condition for the positive
realness of an immittance matrix.
Theorem 2.4.4 ( [6]) The two-port immittance matrix P is positive real if
and only if P has no poles in the right half s-plane, only simple poles on the
imaginary axis and,
Re(p11 ) 0, Re(p22 ) 0


p21 + p12 2

0,
Re(p11 )Re(p22 )

2

(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

Figure 2.4. Two-port network terminated by one-port networks.

Llewellyns stability criteria [48] provides necessary and sufficient conditions


for absolute stability:
Theorem 2.4.5 A network characterized by the two-port immittance matriz
P is absolutely stable if and only if P has no poles in the right half s-plane,
only simple poles on the imaginary axis, and
Re(p11 ) 0
2Re(p11 )Re(p22 ) |p12 p21 | + Re(p12 p21 )

(2.7)
(2.8)

Together, these two inequalities imply Re(p22 ) 0.


Conversely,
Definition 2.4.4 A two-port network is potentially unstable if it is not absolutely stable
Using a stability-activity diagram [32] it is easy to compare the passivity
and unconditional stability for N . It is useful to define some intermediate
variables,
r11 = Re(p11 )
r22 = Re(p22 )

r121 = Re ( p12 p21 ) .

(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)

Using the following transformations,


x=

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

Two-port framework for haptic interaction

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

Figure 2.5. Activity diagram.

concept of unconditional stability introduced in 2.4: the HI must be stable

whether the operator holds the manipulandum firmly or breaks contact.

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

Figure 2.6. Two-port model for haptic interaction.

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

The virtual environment is a computer simulation of a real environment


and therefore it is application dependent. Virtual environments are what differentiate haptic systems from teleoperation systems. Teleoperation systems
interact with a physical real world that obeys laws of conservation of energy, so
instability in these systems is difficult to trigger (unless time delay is present).
Virtual simulations of real environments are prone to instability because they
are digital simulations. It is often difficult to formulate numerical integration
routines for complex systems. For this reason virtual environments are more

25

problematic and it is difficult to ensure a passive virtual environment. Luckily,


experience has shown that absolutely stable haptic interfaces are robust when
coupled to virtual environments which are almost passive [7].

2.5.3

Haptic interface

In early implementations the haptic interface consisted of the haptic device.


A hardware device and the logic used to control its actuators. The actual
control laws were embedded in the virtual environment. It soon became clear
that this was not the best choice, for the virtual environment designer needed
to know what haptic device the VE was designed for. This problem is solved
by the introduction of the virtual coupling as a part of the haptic interface [19].
Within this framework, the control engineer must design the virtual coupling to
guarantee the absolute stability of the haptic interface. With the introduction
of the virtual coupling, the virtual environment became independent of the
haptic device. This simplifies the design of virtual environments. (Figure 2.7).

Figure 2.7. Virtual coupling as a part of the 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 >

3. The parameters , and defined below are finite.


For nondelayed environments
(b, 0, 0) (a, 0, 0)
ab
a6=b
(, 0, 0) (, , 0)
= sup

= sup

(2.17)
(2.18)

6=0

= sup

6=0

|(, , 0) (, , )|
.
||

(2.19)

For delayed environments


(a, 0, 0) (b, 0, 0)
ab
a6=b
|(, 0, 0) (, , 0)|
= sup

||
= sup

(2.20)
(2.21)

6=0

= sup

6=0

|(, , 0) (, , )|
.
||

(2.22)

Under the previous conditions results to be bounded by


1
2
T + + ,
2
T

(2.23)

Equations (2.15), (2.23) provide some useful information and indications on


how to develop a virtual coupling. The higher the passivity gap exhibited by
the virtual environment is, the more excess of passivity by the virtual coupling
is requested. This is usually achieved by increasing the virtual damping. However, as a consequence, the realistic representation of the virtual environment
is affected. This mathematically justifies a well known experimental result: in
order to stably achieve high stiffness a high damping in the virtual coupling is
required.

28

CHAPTER 3

HAPTIC PLAYBACK

3.1

Introduction

Effective motor skill training is becoming an important issue, especially


in the area of medicine, where new technologies and techniques are being introduced at a fast pace. Laparoscopic, endoscopic and arthroscopic surgeries
have emerged in the past few years and surgeons have had short time to master these new techniques. The more technologies are available to surgeons the
more difficult and expensive the training is. Surgeons today are requested to
be proficient in a variety of different techniques, involving a great number of
different tools. This scenario makes effective and efficient training with a variety of different tools paramount for fields like surgery. Transferring motor skills
through conventional media (textbooks or videotapes) is very difficult. Motor
skills are linguistically difficult to describe and involve invisible elements such
as haptic sensations. The most effective way to teach motor skills is through
physical guidance by an instructor. This approach is expensive and inefficient
because it necessarily requires a low trainee-to-trainer ratio, an instructor can
teach to only a small number of students. Haptic systems have shown themselves to be a potentially revolutionary tool in this field. For at least part of
the training, haptic systems will allow to substitute the expensive and singletasking human trainer with a cheaper machine available twenty four hours a
29

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

Theories of motor learning

Several psychological theories of motor learning have been introduced so far.


Some of them focus on the low level aspects of learning, while others attempt to
give a high level description of the elements that affect learning. The two most
recognized low level theories have been introduced respectively by Adams [2]
and Schmidt [68]. Adams theory is based on a closed-loop mechanism used
to correct errors. In order to correct errors two states are needed, Adams
calls them perceptual trace and memory trace. Translated in control jargon,
the perceptual trace is the reading of the sensors, while the memory trace
is the sequence of commands to the actuators that allows to achieve that
motion. Schmidt proposed a Schema Theory which is also based on two states,
a recall memory used in production of the motion and recognition memory
used in evaluation. Learning is explained by the theory as follows: given the
initial condition and the desired outcome, the recognition schema generates
a sequence of expected sensory sensations and the recall schema generates a
motor program to achieve those sensations. The outcome of the motion is
finally used to refine both schemas. More useful information on the design of
a haptic virtual teacher are given by a higher level approach. Keele [41] claims
that there are three major mechanisms by which learning takes place: method
selection, chunking and component strengthening. Teachers can be involved
only in the first two phases; a trainer can show which is the better method to
perform a task and help dividing the task in sub-tasks. The third mechanism
relies on practice.
It is also useful to look at what techniques real trainers use in real world
training. It is possible to identify three different paradigms characterized by

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

numerical instabilities, the problem of obtaining a good model would remain.


For example, creating a realistic haptic model for organic tissues has proved
to be exceedingly difficult.
The concept of haptic playback extends the haptic framework in a way
that allows to address both problems. Haptic playback is the ability to simultaneously display to a human operator the information on both position and
force. Each motor skill which implies interaction with an environment has two
different dimensions: position and force. In order to successfully complete a
task, a trajectory in space must be followed and a certain force must be exerted at each time instant. To master a new task a trainee must be able to
correctly reproduce the two elements. A good example is a lumbar puncture,
a very delicate medical procedure, where the medic needs to exert a controlled
force in order to pierce the membrane of the dura which is located at a given
distance from the skin. Assume that the force and position data of an expert
performing the task are recorded, either during a real task execution using
tracking devices and force sensors or while interacting with a virtual reality
simulator. A haptic playback system would be able to reproduce that data
to a trainee who, in this way, can get acquainted with the procedure before
moving on to practice on his or her own.
Haptic playback has been first proposed in [75] and several schemes have
been proposed to simultaneously display force and position trajectories. It has
been recognized that it is impossible to haptically display both the force and
position information at the same time with one haptic device; consequently
many authors have focused on haptically displaying one of the two trajectories and providing information on the other through a different channel. The
most natural channel to convey information is obviously a visual representation. Several attempts have been made in this direction. The most relevant
achievements can be summarized by the following systems.

33

Virtual calligraphy system. Henmi and Yoshikawa [34] designed a haptic


system to teach calligraphy. The haptic device used is composed of two
three-joint miniature robots arm and an aluminium pipe, mimicking a
brush, connecting the tips of the two arms. A schematic representation
can be seen in Figure 3.1. The authors devised two different methods a
direct position display method and a direct force display method. In direct
position display the student learns the vertical brush position from the
haptic system and the force exerted is displayed on screen using a circle
with the radius proportional to the amplitude of the force. The student
will then try to match a target circle while being driven along the correct
path. The haptic display exerts a force proportional to the position error
to correct that error. In contrast, in direct force display the student
learns the correct force haptically, while the correct and actual positions
are displayed on screen. In this solution to haptically display a force a
direct force control algorithm common in robotics is employed, see for
example [71].
Virtual haptic back. Williams et al. [39] designed a haptic playback system
for the Virtual Haptic Back Project developed at Ohio University. The
goal of this project is to obtain a haptic simulation of the human body
to assist students in learning palpatory techniques. The project relies
on a mathematical model of the human back, therefore it does not fall
under the definition of haptic playback as intended in this thesis. Nevertheless it is interesting to consider the differences between a model based
playback system and a recorded data based solution of the problem. A
two-mode playback system was developed, mode 1 is simply based on a
PD controller and it conveys only position information; mode 2 is more
interesting and shows the differences between the two paradigms. In this
mode an expert user performs the task and only the position is recorded.

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

Figure 3.2. Haptic device with fingertip presser.

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

The two-port framework for haptic interaction presented in Chapter 2 and


depicted in Figure 4.1 is not suitable for haptic playback applications. The
virtual environment only simulates a real environment with its dynamics and,
as already pointed out, this is useful only for advanced training. The framework
can be adapted to haptic playback. The basic idea is to consider an augmented
virtual environment to include the dynamics of a virtual teacher that corrects
position and force errors of the trainee. It is extremely difficult to implement
a virtual teacher based on a real teacher behavior. Nevertheless the idea of
augmenting the virtual environment can be realized. The augmented virtual
environment should be able to control position of the manipulandum and force
exerted by the user, in other words it should be able to control the interaction.
A way to control interaction is through impedance control, a paradigm derived
from robotics. In this chapter the technique, first introduced by Hogan in
1985 [62], will be explained and its applications to haptic playback discussed.
4.2

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.

welding, applications that do not require the manipulator to do work on the


environment. For this type of applications, position control is adequate. In
order to use robots in more complex tasks, that require work to be done on
the environment (such as drilling or bending), a different control strategy is
required. It is known that position controlled robots suffer from the so called
contact instability: often a position controlled manipulator cannot engage contact with a surface without triggering a heavy chattering. A general solution
to this problem was proposed by Hogan [45] under the name of 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.
A manipulator can be represented by the following dynamic system (more on
robot modelling in Chapter 6)
M (q)
q (t) + C(q, q)
q + N (q) = J T (q)fint ,

(4.1)

where, q is the joint space coordinate of the manipulator, M , C and N are


respectively the inertia matrix, Coriolis matrix and gravitational field vector,
is the torque provided by the actuators, J is the manipulator Jacobian and fint
is the force exerted by the manipulator on the environment. If = 0 equation

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

Impedance control implementations

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

inner position control loop

x0

xe

impedance
control

position
control

manipulator
+
environment

fint
q

direct
kinematics

Figure 4.2. Position-based impedance controller scheme.

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

creates the position adjustment vector xa by filtering the measured interaction

force to satisfy
fint = MD xa + CD x a + KD xa

(4.3)

Xa (s) = [MD s2 + CD s + KD ]1 Fint (s).

(4.4)

via

The adjustment xa is added to the virtual trajectory x0 to generate the overall


position command xe :
xe = x0 + xa .

(4.5)

Assuming that the position controller can perfectly track the position command:
X(s) = X0 (s) + Xa (s)

(4.6)

Xa (s) = [MD s2 + CD s + KD ]1 Fint (s)

(4.7)

but

40

therefore
X(s) X0 (s) = [MD s2 + CD s + KD ]1 Fint (s),

(4.8)

whose Laplace inverse transform can be written as


MD (
x x0 ) + CD (x x 0 ) + KD (x x0 ) = fint

(4.9)

which is the target impedance. It is therefore shown that assuming a perfect


position controller the target impedance can be achieved.
In the torque-based approach the mechanism is treated as a force actuator [36]; positions are sensed and environmental forces, fint , are computed from
the virtual trajectory x0 and the actual trajectory. Figure 4.3 shows one of the
possible implementations of this idea. Equation (4.1) describes the manipula-

x0

impedance
control

fc

manipulator
dymanics

JT

x
x
x

manipulator
+
environment

q
q
q
direct
kinematic

Figure 4.3. Torque-based impedance controller scheme.

tor dynamics in joint coordinates. Using the direct kinematics, x = L(q), it is


possible to write the model in Cartesian coordinates (a detailed derivation of
the model can be found in [59]), obtaining
(x)
x + (x, x)
+ (x) = fact fint ,

(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

Application of impedance control to haptic playback

In order to adapt the impedance control to haptic playback the perspective


must be slightly changed. If the manipulator is considered to be the haptic

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)

Figure 4.4. Impedance control applied to haptic display.

The following results are based on Lyapunov stability theory, it is therefore


useful to present a summary of the main results of Lyapunov stability for
nonlinear and nonautonomous systems. For more details an excellent reference
on nonlinear systems is [43].
Consider the nonautonomous system

x = f (t, x).

(4.13)

The origin is an equilibrium point for (4.13) at t = 0 if

f (t, 0) = 0,

t 0.

(4.14)

Definition 4.4.1 ( [43], Ch. 4, Pag. 149) The equilibrium point x = 0 of


(4.13) is

44

stable if, for each > 0, there is (, t0 ) > 0 such that


||x(t0 )|| < ||x(t)|| < ,

t t0 0.

(4.15)

uniformly stable if, for each > 0, there is = () > 0 independent of t0 , such that (4.15) is satisfied.

unstable if it is not stable.

Theorem 4.4.1 ( [43], Ch. 4, Pag. 151) Let x = 0 be an equilibrium point


for (4.13) and D Rn be a domain containing x = 0. Let V : [0, ) D R

be a continuously differentiable function such that

W1 (x) V (t, x) W2 (x)

(4.16)

V
V
+
f (t, x) 0
t
x

(4.17)

t 0 and x D, where W1 (x) and W2 (x) are continuously positive definite


functions on D. Then, x = 0 is uniformly stable.

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-

tinuous function, it is said to belong to class K if it is strictly increasing and

(0) = 0. It is said to belong to class K if a = and (r) 0 as r .

Definition 4.4.3 ( [43], Ch. 4, Pag. 145) Let : [0, a) [0, ) [0, )

be a continuous function, it is said to belong to class KL if, for each fixed s,

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

It is now possible to define input-to-state stability for the following system,


x = f (t, x, u)

(4.18)

where f : [0, ) Rn Rm Rn is piecewise continuous in t and locally

Lipschitz in x and u. The input u(t) is a piecewise continuous, bounded


function of t for all t 0.

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

1 (||x||) V (t, x) 2 (||x||)

(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 .

Then, the system (4.18) is input-to-state stable.

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)

x 0 (t))+KD (t)(x(t)x0 (t)) = fint (t) (4.22)

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)

y 2 (t) = MD1 (t)KD (t)y1 (t) MD1 CD (t)y2 (t)

(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)

while from the second condition we derive


V
V
V (~y , t) =
+
f (~y , t)
t
y
1
1
=
KD (t)y12 + M D (t)y22 +
2
h2
i
+
y1 KD (t) y2 MD (t)
"
#
y2 (t)

MD1 (t)KD (t)y1 (t) MD1 CD (t)y2 (t)


1
1
=
KD (t)y12 + M D (t)y22 CD (t)y22 (t) 0
2
2

(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)

is a class K function. Similarly


1 min 2
1
KD y1 (t) + MDmin y22 (t)
2
2

1
min

min KD
, MDmin (y12 (t) + y22 (t)) 1 (||~y ||)
2

V (~y , t)

where 1 (||~y ||) =

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

W2 (~y ) with W2 semipositive definite, it would not be possible to guarantee

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)

If x0 is constant at steady state, we get


KH x + KD x0
KH + KD
KH
(
x x0 )
=
KH + KD

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

In the previous chapters it was shown that the framework proposed by


Colgate et al. is not adequate to study haptic playback applications. The
original framework does not offer any mean to haptically convey the correct
behavior and in the extended framework, where a virtual teacher is embedded in the virtual environment, the two goals of force tracking and position
tracking are in conflict. In this chapter a new framework is proposed. This
new framework relies on the presence of an additional channel that allows a
flow of information. This additional channel, indeed present in most of the
previous applications but never explicitly addressed, allows to study teaching
applications. The additional channel is the visual information about the environment coming from the screen, or other graphical display. Most haptic
simulations have this feature, but this feature is not taken into account in the
classical model. If the human operator is seen as a relationship between force
and velocity, it means that the visual feedback is not used by the user. This is
obviously false. Visual representation of the environment plays a critical role.
Henmi and Yoshikawa [34] recognized the potentiality of displaying information through a visual channel (see 3.3), but their work is only applicable to a
specific application and in their work there is no generalization of the problem.
50

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)

As it will be shown in the remainder of this thesis the proposed framework


allows to get a better understanding of the issues involved in haptic playback
and to develop better algorithms, but unfortunately it has two important implications: (1) it is not possible to study the system with network theory tools
and (2) the results of passivity are not directly applicable. In Chapter 2 it
was recalled that the concept of passivity can only be applied to systems with
an equal number of inputs and outputs. Given that passivity is not applicable, more general tools such as Lyapunov theory have to be used for stability
analysis. Therefore an explicit model of the user is needed. The next section
will introduce a reasonably simple, but fairly complete model of the user.
5.2

Model of the human operator

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)

where is the estimate of the external forces and ideally = E(q, q,


q). As a
validation of this model, consider that, when the external force is turned off
after some time, the trajectories followed by the subjects could be described
by


+ E(q, q,
D(q, q,
q) = Iq (t) + G
q) K q(t) q (t) V q(t)
q (t) . (5.10)

The approach we follow to develop the model in this thesis is motivated by

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-

pothesized by Mussa-Ivaldi. The resulting transfer function can be written


as:
Fu (s) = kes (Xu (s) X0 (s)) Fact (s) + sFact (s).

(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

as in opposition to intelligently designed.

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

Fu (s) = kes (Xu (s) X0 (s)) Fact (s) +

s + z
Fact (s).
s + p

(5.12)

It is furthermore arbitrarily assumed that the force exerted in each direction


is independent from the other directions.
5.3

User model validation

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

simulated trajectory of the system would match the recorded trajectory.


The resulting system can be described as
m
xu + cx u = fu + fact

(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

Table 5.1. Identified subjects parameters.

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.

Figure 5.3. User model validation experimental results (I).

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.

Figure 5.4. User model validation experimental results (II).

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)

fact (t) = fd (t).

(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)

if m is small fact (t) fu (t). This strategy is obviously very simple


to implement, it does not require any instrumentation in addition to the
standard sensors of the haptic device. However, since this is an open loop
controller it is not expected to have a satisfactory performance.

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

control is the more general problem of following a reference signal.

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)

where N is a noise term. The goal is to have fu = fd . From (5.21) we


thus get
fact = fd k(x x0 ) + N

(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)

with fu determined by the transfer function


Fu (s) = kes (Xu (s) X0 (s)) Fact (s) +

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

Table 5.2. Values of the parameters used in simulation.

used for the linear damped mass and user is depicted; the only part which

67

deserves comments is the noise generator. It was added so that it is possible


to evaluate the noise rejection properties of the different control laws. The

(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

Figure 5.6. Simulink model of the damped mass and user.

discussed controllers were simulated in Simulink too. in order to render the


comparison meaningful all the gains were set to 10 and the references fd and
xd were subjected to a step at time t = 1 s; a desired position of 0.06 m
was requested along with a force of 2 N. The results of the non delayed case
are shown in Figure 5.7. All the control laws that use the same law for x0
do not show great difference in position response. In our model of the user,
she tries to follow x0 matching the displayed force, therefore the trajectory is
mainly determined by the target x0 . From Figure 5.7(a) it can be seen that
the crossed controller offers better results not only in terms of tracking the

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.

Figure 5.7. Non delayed user: response to double step.

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

Figure 5.8. Delayed user: response to double step.

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

Figure 5.11. Block diagram of x0 control loop in the crossed controller

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)

System (5.27) can be represented by the block diagram of Figure 5.12. It is

Fd

KP

X0 -

kes

Xu

Fu

1
ms2 +cs

Figure 5.12. Block diagram of the simplified model

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

Figure 5.13. Block diagram of the simplified model with no delay.

Recalling that, because of their physical meaning, the parameters m, c, k and


KP are positive, Routh criterion [22] can be applied to show that system (5.29)
is stable for any choice of KP ; in fact all the coefficients of the second order
polynomial are positive.
More problematic is the study of the delayed system. The block diagram
in Figure 5.12 can be rearranged in a more convenient way as in Figure 5.14,
where the inner loop transfer function G2 (s) in highlighted. Solving the inner

G2 (s)
Fd

+
-

KP

X0 +
-

Xu

kes

Fu

1
ms2 +cs

Figure 5.14. Block diagram of the simplified model with delay

76

loop, it is obtained that


G2 (s) =

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) =

KP kes (ms2 + cs)(ms2 + cs + kes )


.
ms2 + cs + kes + KP kes ms2 + KP kes cs

(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)

Substituting the Pade approximations in G2 (s), the approximated transfer


function is obtained,
e2 (s) =
G

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

enough to explain the instability of the system.

77

from the root locus technique. Consider a polynomial in s that depends on a


parameter k. Collecting terms with k, the polynomial can always be written
as D(s) + kN (s). The roots of this polynomial depend on the value of k. The
root locus technique allows to draw the trajectories (loci) that the roots of
the polynomial follow in the complex plane as k increases. In particular, the
loci will start from the roots of D(s), for k = 0 and will terminate on the
roots of N (s) or at infinity. More details can be found in any book on control
theory, for example see [22]. In the considered case there are two parameters
so the system can be analyzed by applying the root locus technique twice.
Collecting T , polynomial (5.34) can be written as D (s; KP ) + T N (s; KP ). In
order to draw the root locus for T as a free parameter the roots of D (s; KP )
and N (s; KP ) are needed and these roots depend on KP . They can be found
applying the root locus technique with KP as a free parameter. The basic
idea of this technique is that the starting and terminating points of the loci
of (5.34) with respect to T will move according to KP . For each value of KP
the starting and terminating points are known and the root locus diagram of
(5.34) with T as the free parameter can be determined.
Consider
D (s; KP ) = ms2 + kKP ms2 + cs + k KP cs + k
= (ms2 + cs + k) + KP (kms2 + kcs)

(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 .

Depending on the values of roots there are different possible configurations of


loci, but they can be organized in mainly two sets. (1) the case in which both
loci are always on the real axis (an example is shown in Figure 5.15(a)), and
(2) the case with complex loci (shown in Figure 5.15(b)). The loci in all the

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

(a) Real loci.

0.5

1
3.5

2.5

1.5
Real Axis

0.5

0.5

(b) Imaginary loci.

Figure 5.15. Roots locus diagrams for D (s).

loci describe where the roots of (5.34) for T = 0 are.


Now consider


N (s; KP ) = s (m m k KP )s2 + (c c k KP )s k


= s (m s2 + c s k) KP (k m s2 + k c s)

(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

the polynomial becomes s k. It looses two roots that reappear

1+
.
k

There is a discontinuity. The system abruptly changes its

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)

Taking the limit from right, the result is

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

Figure 5.16. Root locus for N (s)

KP < k1 . The roots of (5.37) are real, one is stable and the second one
unstable.

1
k

The roots of (5.37) are complex conjugate and stable.


< KP < 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) .

It can be seen that when KP passes

1
k

(5.43)

the leading term of D (s; KP ) changes

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.

They were computed assigning a

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

Figure 5.18. Roots locus diagram for N (s) + T D (s) with

1
k

< KP < K.

method allows to study the stability of roots of characteristic equations in the


form
CE(s, ) =

n
X

ak (s)ek s

(5.46)

k=0

where ak (s) are polynomials of degree n k in s. The method is based on

the continuity argument, which states that in the one-dimensional parameter

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.

the imaginary axis. Fortunately it is possible to devise a technique to exactly


detect these crossings. In particular the substitution,
e s =

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)

This equation describes an asymmetric mapping in which T is mapped into


infinitely many s for a given . The substitution of (5.47) into (5.46) yields

k
n
X
1 Ts
ak (s)
=0
(5.49)
1 + Ts
k=0

85

which can be written (multiplying by (1 + T s)n ) as


n
X
k=0

ak (s)(1 T s)nk (1 + T s)k = 0.

(5.50)

Sorting the terms in power of s, the previous equation is casted into


2n
X

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

possesses a pair of imaginary roots at s = wk j. The root tendency of these

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 .

5. Consider = 0 for which the number of unstable roots is known from


Rouths criterion.

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.

7. Repeat the previous step until the target is reached.


The sequence has been implemented using Mathematica, the source code is
listed in Appendix.
The described method can be extended to the crossed controlled system.
The only problem is that the closed loop characteristic equation cannot be
written as in (5.46). In fact, the characteristic equation to be considered can
be written from (5.31) as
a1 (s)es + a0 = (mkKP s2 + ckKP s + k)e s + ms2 + cs = 0.

(5.54)

Given that the system is second order, a term e2 s would be necessary to


comply with (5.46). Therefore we need to adapt the continuity argument. It
has been shown that, if KP > k1 , when the delay moves from = 0 to = 0+
the roots of (5.54) do not depart from the roots of the case with = 0 but an
unstable root appears. This means that when KP >

1
k

the continuity argument

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

this is not possible. Therefore, in order to apply the method described

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)

fact (t) = fd (t) KF


xu (t) xd (t)

(5.55)
(5.56)

when coupled to a human user which is modelled as


Fu (s) = kes (Xu (s) X0 (s)) Fact (s) +

s + z
Fact (s),
s + p

(5.57)

is asymptotically stable if and only if


1
k
< crit

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

The PHANToMTM Premium force reflecting haptic interface (Figure 6.1)


by SensAble Technologies, Inc (Woburn, MA) is one of the most widely used
devices in the haptic community and it has been successfully employed in a
multitude of applications. Its main characteristics are a large workspace, low
inertia, low friction and high position precision. The Computer Vision and
Robotics Laboratory at UIC owns a PHANToMTM Premium 1.0 equipped
with gimbal encoders and a stylus. The gimbal encoders add three passive
degrees of freedom. The stylus can be oriented arbitrarily, but no torque
can be commanded. This model was used for all the experimental tests in
this thesis. In this chapter the main characteristics of the PHANToMTM will
be discussed. The controller will be described, the kinematic and dynamic
models derived. The derived models will then be used to implement the direct
force controller and crossed controller. Finally conclusive experimental results
with human subjects will be presented and discussed. The PHANToMTM was
originally developed by T. Massie in 1993 at MIT. Massie [52] defines the
device as:
In its simplest form, the PHANTOM can be thought of as a transmission between three DC brushed motors with encoders and the
89

90

Figure 6.1. PHANToMTM Premium.

human finger. The x, y and z coordinates of the users finger tip


are tracked with the encoders, and the motors control the x, y and
z forces exerted upon the user. Torques from the motors are transmitted through pre-tensioned cable reductions to a stiff, lightweight
aluminium linkage. At the end of this linkage is a passive three
degrees of freedom gimbal attached to a stylus. Because the three
passive rotational axes of the gimbal coincide at a point, there can
be no torque about that point, only a pure force. This allows the
user to assume any comfortable orientation.
The PHANToMTM comes with a library called GHOST. This library provides an API through which the system can be controlled. This API was
designed to be used by programmers with no deep understanding of the issues involved in haptics. The API allows to use a graph-like representation

91

of the virtual environment similar to the one usually employed in computer


graphics. On one side this approach allows a fast design and implementation
of complex virtual environments. On the other side it is not well suited for
research. GHOST allows only limited low level access to the device. It is
possible to read the raw signals from the encoders, but it is not possible to
measure the current sent to the actuators nor command a torque to the motors. It is only possible to command a force in the workspace reference frame.
In PHANToMTM specifications no information is given on how the currents
to the actuators are controlled to obtain the requested force. Furthermore as
seen in the previous chapter, both the controllers that are to be implemented
require a measurement of the interaction force. The device is not equipped
with any force sensor and at CVRL no adequate force sensor was available.
For these reasons kinematic and dynamic models had to be derived.
6.2

PHANToM controller

Since PHANToMTM is sold by a private company, it is not easy to obtain


information regarding the implementation of the controller. The GHOST library comes compiled and no access to the source code is granted. So some
work of reverse engineering was needed in order to implement the proposed
controllers. GHOST provides a large set of classes and functions designed for
high level programming. It is, for example, possible to create a virtual scene
composed of different objects, each with its own inertia, stiffness and damping.
Once these objects are created, a one sided Hookes law is used to compute
forces at the end effector. The controller computes the torques necessary to
exert the adequate force at the end effector. The assumed architecture of the
haptic interface controller can be seen in Figure 6.2. To ensure stability the
haptic controller has to run at least at 1000 Hz. As it is easily noted from
the figure, the controller is open loop. The haptic device is used as a force
actuator controlled in an open loop fashion. To command the motors only

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

Figure 6.2. PHANToMTM haptic interface 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)

of Duty Cycle, the PWM power drive yields a heat dis-

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)

Although the position precision is good, this level of velocity granularity is


very large, especially for haptic interfaces, which will typically move at low
velocities. GHOST provides a function that returns the Cartesian velocity of
the end effector, but it is not revealed how the velocity is obtained. It is assumed that the device uses some estimation techniques for the velocity. In [16]

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

Figure 6.3. Moving average filter: effect of window size.

erations are estimated, new filters were developed. In accordance with what
was proposed in [16], moving averaging filters were adopted. For a complete

95

discussion on the problem of velocity estimation with PHANToMTM see [57].


Moving average filtering does not offer optimal results, but it has a nice feature, when filtered with a moving average filter the signal is delayed by half
the length of the averaging window. This makes the study of the effect of the
filter on stability easier, because in continuous time it can be approximated by
a delay.
Among the dynamic behaviors that GHOST can simulate is the inertia
effect. It is possible to use the library to simulate a mass, but in order to
do so a measurement of acceleration is needed. In contrast to the velocity
case, GHOST does not provide direct access to the acceleration (with some
exceptions), therefore there was no other choice but to explicitly estimate the
acceleration by differentiation of the velocity through another moving average
filter. While it is clear that a double differentiation of a signal does not provide
a reliable estimate of the acceleration, this was the only viable solution. In [16]
the authors propose a better method for velocity estimation, but such system
requires a new set of amplifiers and it was not implementable at CVRL.
GHOST has an internal routine that computes the acceleration; when using
the inertia effect class, the value of the acceleration can be read, but when using
that class the ability to command an arbitrary force is lost.
When the three signals, position, velocity and acceleration, are plotted, no
delay can be noticed. A local maximum of the position signal corresponds
to a zero in the velocity signal and the same holds for the acceleration. This
apparently contradicts the fact the position signal is filtered, and thus delayed.
This behavior suggests that the position and velocity signals are delayed so
that they are temporally aligned to the acceleration. This means that the
position signal returned by GHOST is delayed by an unknown period. This
delay is inevitable and must be added to the delay caused by the filters we
implemented.

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

read the encoders


command a force in Cartesian coordinates
It was necessary to compute the kinematics, the dynamics and develop the
filters, before implementing the haptic playback controllers.
6.3

Kinematic model

In this section the kinematics analysis of the PHANToMTM is performed.


Some of the results given in this section are already implemented in GHOST,
but the implementation is closed and it does not always allow access to the
needed functions. Furthermore this section may be useful to develop a future
open architecture.
In the derivation of the kinematic model we followed the approach described
by C
avusoglu in [16]. The approach is in turn based on the assumptions
and naming conventions described in [59]. It is believed that the exponential
coordinates approach is a more natural way to describe robot kinematics than
Denavit-Hartenbergs method. The units are in the MKS1 system where not
otherwise stated.
The device is considered a set of three rigid links connected together by
three revolute joints. The links and joints are arranged to form an anthropomorphic manipulator. The PHANToMTM Premium is not capable of exerting
1

MKS: meter-kilogram-second.

97

torques at the gimbal, therefore it will be neglected in the foregoing discussion.


The Tool reference frame is considered attached to the last link of the manipulator. Figure 6.4 shows the initial configuration and the naming convention
adopted.

l1
3

y
y

2
1
l2
x
x
z
z
Spatial and Tool Frames
Figure 6.4. Initial configuration of the manipulator.

98

The kinematic configuration of the manipulator is characterized by the


following points and vectors:
1 =
2 = 3 =
q1 =
q2 = q3 =

0 1 0

iT

1 0 0

0 0 l1

(6.3)

iT

0 l2 l1

(6.4)

iT

(6.5)

iT

(6.6)

The joint twists can be written as:


i =

"

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 )

sin (1 )(l1 cos (2 ) + l2 sin (3 ))

cos (3 )

sin (3 )

l2 l2 (cos (3 ) + l1 sin (2 ))

sin (1 )

cos (1 ) sin (3 )

cos (1 ) cos (3 )

l1 + cos (1 )(l1 cos (2 ) + l2 sin (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 ))

l1 cos(1 ) sin(2 ) cos(1 )(l2 + l1 sin(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

(a) Side view.

x
y

Tool Frame

x
y

Spatial Frame

(b) Top view.

Figure 6.5. Side and top views.

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

Recall that the spatial velocity is a twist and can be written as

T
T

Rst Rst Rst Rst pst + pst


.
VstS (t) =
0
0

(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

pst (t) = Jst


(),

(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()

cos(1 )(l1 cos(2 ) + l2 sin(3 ))

=
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 )

l1 cos(1 ) sin(2 ) l2 cos(1 ) cos(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

Dynamic modelling of a robot manipulator consists of finding the relationship


between the forces exerted on the structure and the joint positions, velocities and
accelerations. The dynamic model can be derived using the Lagrange formulation.
The joint variables i constitute a set of generalized coordinates for the mechanical
system, thus the Lagrange equations can be written as
d L
L
= i

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)

In order to compute the kinetic energy of a rigid body it is possible to proceed as


follows: fix the body frame at the center of mass of the object and let (p, R) be a
trajectory of the object relative to an inertial frame. Let r R3 be the coordinates
of a body point relative to the body frame. The velocity of the point in the inertial
frame is given by

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)

Expanding the product in the integral yields


1
T =
2



+ 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

is called the inertia tensor.

Ixx Ixy Ixz

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

Figure 6.6. Transforming generalized inertia matrices.

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)

VpB2 = Adgp2 ,p VpB ,

(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)

M1p Adgp1 ,p VpB +


M2p Adgp2 ,p VpB

(6.37)

from which the total generalized inertia can be written as


p
Mtot
= Adgp1 ,p

T

M1p Adgp1 ,p + Adgp2 ,p

T

M2p Adgp2 ,p .

(6.38)

This method can be extended to an arbitrary number of rigidly bound objects.


The computation of the potential energy is less complex. The potential energy
can be computed by simply considering the entire mass of the body concentrated at
its center of mass.
Once the kinetic and potential energy are computed the Langrangian equations
can be found, yielding
+ N () = .
M () + C(, )

(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

Figure 6.7. Segments used in dynamics analysis.

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)

The material is assumed to be aluminium, except where differently stated, with


a density of 2750 kg/m3 . When contacted, Sensable declined to release information
on the motors. In [16] the authors suggest the motors used in the PHANToMTM

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

The potential and kinetic energy of segment A are

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

Figure 6.8. Segment A.

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

The potential and kinetic energy of segment C are

y
Spatial Frame

l3

x
x

C Frame
z

l1 /2

Figure 6.9. Segment C.

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)

The potential and kinetic energy of segment BE are


Vbe () = mbe gpbey ()

1 s T
s
b T
b
(vbe ) Mbe vbe
+ (be
) Ibe be
,
Tbe () =
2

(6.65)
(6.66)

where
s
vbe
= pbe


b
T
be
=
Rbe
Rbe .

(6.67)
(6.68)

Segment BE is assumed to be composed by a hollow aluminium cylinder, a small


aluminium plate, an aluminium big plate, a motor and a steel counterweight. In

112

Spatial Frame y

x
x
BE Frame
z

l5

Figure 6.10. Segment BE.

Figure 6.11 a simplified drawing of segment BE is shown. For detailed measurements


refer to Appendix. No data on the motor was available, therefore it was not possible
to derive the inertia around the x axis. It has been left as the parameter Ibexx for
successive identification.

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

Figure 6.11. Segment BE decomposition.

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

The potential and kinetic energy of segment DF are

y
x
DF Frame

y
z
x
z

l6

Spatial Frame

Figure 6.12. Segment DF.

(6.71)

(6.72)

114

Vdf () = mdf gpdf y ()



1 s T
s
b T
b
Tdf () =
(vdf ) Mdf vdf
+ (df
) Idf df
,
2

(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

Figure 6.13. Segment DF decomposition.

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)

Ibaseyy is left as a parameter to be identified because of the unknown inertia of the


motor.

6.4.6

Equations of motion

The Lagrangian of the manipulator is given by


L = T V

(6.80)

= (Ta + Tc + Tbe + Tdf + Tbase ) (Va + Vc + Vbe + Vdf + Vbase ), (6.81)


from which it is possible to derive the following dynamic equations:

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

=
+
+
+

4Iayy + 4Iazz + 8Ibaseyy + 4Ibeyy + 4Ibezz + 4Icyy

8
1

8
1

8
1

8
1

4Ibeyy 4Ibezz + 4Icyy 4Iczz + l1 (4ma + mc )


2

4Iayy 4Iazz + 4Idf yy 4Idf zz 4l7 ma 4l3 mc

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

4Iczz + 4Idf yy + 4Idf zz + 4l1 ma + 4l7 ma + l1 mc + 4l3 mc

M22

l1 (2l7 ma + l3 mc ) sin(2 3 )

(4Iaxx + 4Idf xx + 4l7 ma + 4l3 mc )

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

g(2l1 ma + 2l5 mbe + l1 mc ) cos(2 )


g(2l7 ma + 2l3 mc 2l6 mdf ) sin(3 ).

(6.84)
The element C33 is a viscous term added based on experimental results.

6.4.7

Parameter identification and model validation

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

by commanding joint torques. Because of the software limitations, other hardware


limitations (such as the impossibility of measuring the current sent to the motors)
and relatively simple structure of the system that allowed a measurement of many
needed parameters, a different approach was followed. The parameters to be identified are Ibexx , Ibaseyy , Idf xx and k. The first three parameters are due to the unknown
inertias of the motors, while the fourth is a friction coefficient. In order to identify
the inertias an experimental frequency response is computed for each link. The identification technique used relies on the assumption that the PHANToMTM controller
determines the torque to apply to the motor in an open loop fashion as described in
6.2. Note that when the end effector is at the center of the workspace, each motor
causes a force in a different Cartesian direction at the end effector. The torque at
the first motor translates into a force along the x direction, the second motor torque
along y and the third along z. This makes possible to decouple the inertias of the
motors and identify them independently. The basic idea is an underlying linearization. If the end effector remains in a neighborhood of the center of the workspace
the system can be linearized and frequency response defined. The procedure is done
as follows.
1. A joint i is chosen, the PHANToMTM is positioned in such a way that the
gravity does not affect the movement of the chosen joint. For example, in the
standard configuration the gravity does not affect the movement of the first
joint, for the second and third joints the device needs to be rotated.
2. The force fi = A sin(j t) is requested along the direction corresponding to the
chosen joint. A is chosen small enough so that the end effector remains in a
small neighborhood of the center of the workspace.
3. The angle i (t) is recorded. Since the system is not linear the output obtained
is not a perfect sinusoid. As shown in Figure 6.14, which shows the power
spectrum of the end effector position, the signal has a clearly identifiable prin-

118

cipal component at the frequency of the input. The linearization is justified.

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

frequency response along z


30
experimental
model
20

10

10

20

30
1
10

10
frequency[rad/s]

10

Figure 6.15. Bode diagram, joint 1.

where M11 dependence on Ibaseyy is described by (6.84). Substituting the numerical


values and repeating the same reasoning for all the joints the following values are
found:
Ibaseyy 0.004 kg.m2

(6.90)

Idf xx 0.00009 kg.m2

(6.91)

Ibexx 0.00007 kg.m2

(6.92)

The identification of the friction coefficient k is more problematic. First of all it


should be noted that viscous friction affects all the joints, but it was chosen to model
only the friction of the third joint because it is the most relevant one. The friction
is modelled as a linear phenomenon, but this term also accounts for non linear
effects. In particular, the wires that connect the gimbal encoders to the amplifier
box influence significantly the dynamics of the third joint. Since the manipulator has
a low inertia it is sufficient to move these wires to considerably change the behavior

121

frequency response along y


40
experimental
model

30
20
10
0
10
20
30
40
1
10

10
frequency [rad/s]

10

Figure 6.16. Bode diagram, joint 2.

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

frequency response along z


30
experimental
model
20

10

10

20

30
1
10

10
frequency [rad/s]

10

Figure 6.17. Bode diagram, joint 3.

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

joint 1 no force applied

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

joint 2 no force applied


1
recorded
simulated

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

joint 3 no force applied

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

Figure 6.18. Joint trajectories with no force applied.

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

Figure 6.19. Joint trajectories, fx = 0.1.

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

Haptic control law implementation

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)

If it is assumed that the PHANToMTM controller is approximated by


v
act = Jst
()T fact ,

(6.95)

the following expression is obtained


+ N () = J v ()T fact + J v ()T fu .
M () + C(, )
st
st

(6.96)

From which, after trivial algebraic manipulations, it follows that



v
+ N () .
fu = fact + Jst
()T M () + C(, )

(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

v will always be invertible.


configuration is contained within the workspace, so Jst

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]

Figure 6.22. Static force evaluation.

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]

Figure 6.23. Dynamic force evaluation.

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

Direct force controller implementation

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

of the force. It is known that a delay in a teleoperation system deeply affects


the stability [8]. To justify this argument the following test was performed. The
proposed control law has been implemented only along the x axis (with a desired
force fd = 0); a padded circular constraint has been added to the system so that
the workspace of the manipulator was reduced to a small area. This setting allows
to study the instability without damaging the system. The set up is shown in
Figure 6.24. Using a k above the stability limit, the instability has been triggered

constraint

Figure 6.24. Filtering triggered stability test.

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

Window Length [samples]

Frequency of Oscillations [Hz]

50

5.25

100

150

200

1.5

300

0.65

Table 6.1. Oscillation frequencies as a function of the delay.

6.5.2

Crossed controller implementation

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.

The gains used are well

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]

Figure 6.27. First experience with crossed controller.

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.

Figures 6.30, 6.31, 6.32 and 6.33 seem to suggest

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.

As seen in the previous section,

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.

control action x axis


1
F

act

F [N]

1.05

1.1

1.15

10

15

20

25

time [s]

Figure 6.34. Control action with direct force controller, KP = 0.5.

142

control action x axis


1
F

1.02

act

1.04

F [N]

1.06

1.08

1.1
1.12

1.14
0

10

15

20

25

time [s]

Figure 6.35. Control action with direct force controller, KP = 2.5.

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.

From the plots it is immediately clear that contrarily

position tracking with direct force control and constant f

force tracking with direct force control and constant fd

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

(a) Position error.

0.03

3
trial

(b) Force error.

Figure 6.36. Direct force control and constant force.

to what is expected, there is no relevant difference between errors when the task

144

position tracking with direct force control and sinusoidal f

force tracking with direct force control and sinusoidal fd

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

(a) Position error.

3
trial

(b) Force error.

Figure 6.37. Direct force control and sinusoidal force.

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

position tracking with crossed control and constant fd

force tracking with crossed control and constant fd

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

(a) Position error.

0.2

3
trial

(b) Force error.

Figure 6.38. Crossed controller and constant force.

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

position tracking with crossed control and sinusoidal f

force tracking with crossed control and sinusoidal f

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

(a) Position error.

3
trial

(b) Force error.

Figure 6.39. Crossed controller and sinusoidal force.

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

Table 6.2. Position error variances.

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

CONCLUSIONS AND FINAL


REMARKS

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

Having devices that can perfectly simulate an environment is not sufficient in


teaching of sensimotor skills. When the trainee is at the beginning of the learning
process, she needs to be guided. The new task must be explained, conveyed to the
trainee. From these considerations the concept of haptic playback was proposed.
Haptic playback is a method to display prerecorded haptic data to one or more
users. The traditional framework does not address this problem well. In haptic
playback, the goal is to convey information on a sensimotor task, not to simulate
an environment. In order to meet this objective the system must be able to display
information about two elements: the position that must be followed and the force
that must be exerted. The main problem that had to be faced is that the two
dimensions have a contradictory causality. It is not possible to display an arbitrary
force and an arbitrary position, a causality relation exists between the two. Once
this fact was acknowledged the first attempt was to control this relation. This can
be done through impedance control. When studying how to solve the problem
with impedance control it became clear that something was indeed missing.
Previous work has been done in haptic playback and some research applications
have been devised and tested, but all the devised applications, although using it, did
not realize the importance of the visual channel. A visual feedback channel is present
most of the times, but this thesis is the first to attempt to explicitly address it. The
absence of an explicit model of the visual feedback is clear in Colgates framework,
where the user is modelled as an impedance and the user controls the force only as
a function of the velocity, there is not trace of a visual feedback. Not only is the
visual feedback always present, but it also offers a way to add a degree of freedom
useful in displaying the two dimensions of haptic playback simultaneously.
Having recognized the importance of the visual feedback the foundations for a
new framework have been laid. This new framework is believed to be the main
contribution of this thesis. It provides a new perspective on the problem and allows a
better formalization of the previous attempts of designing a haptic playback system.
As research in haptic started, investigators assumed arbitrary models for the user.

150

Hogan then proposed a general and less constraining assumption of passivity to


formalize these models. In the same way the framework we propose relies on an
explicit model for the user. In this thesis an user model was proposed and validated
by experimental results. It is clear that an approach based on an explicit model of
the user is limiting. A simple model like the one we proposed cannot capture all
the features of such a complex system as the human limb control. Nevertheless the
model was useful to gain a better knowledge of the problems involved and eventually
it was useful to devise a novel control strategy, called crossed controller. Prior
to proceeding with the implementation of a prototype for haptic playback, the
stability of the crossed controller was studied.
The implementation of the prototype was affected by the limited availability of
sensors and by the lack of low level control over the PHANToMTM . A method
to estimate the interaction force was developed and discussed. This method
is not to be considered an alternative to direct measurement of the force, but it
was the only possible choice to test the algorithm proposed. During the process
of implementation, the dynamic and kinematics model of the PHANToMTM were
derived.
The last section of the thesis focuses on testing the proposed algorithms on
human subjects. This intensive testing allowed to learn more on how human subjects
perform tracking tasks. The tests also exposed some weaknesses of the proposed
model of the user and of the direct force control. In particular it was shown that the
lack of force sensors heavily affects the performance of the direct force controller.
The most important conclusion drawn by these tests is that, even if the crossed
controller may have worse force tracking capabilities than the direct force control, it
has some major advantages. It better controls the position, so that the trajectory is
more reliably taught and as for the force there is a profound difference that makes the
crossed controller a better choice: in the direct force control the desired interaction
force is obtained as a reaction force and the user is not actively exerting the force,
she is just reacting to an external stimulus; it is more likely to learn to exert the

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

teaching capabilities of the proposed solutions. This can be done comparing


the results of traditionally trained students against students trained with haptic playback when performing a task. The task should be performed with an
instrumented tool so that the position and forces can be recorded.
Haptic playback is one of the two principal elements behind of a new teaching
system under development at CVRL. In this system single trainer will be able
to interact with several trainees at the same time. The haptic playback control
schemes proposed in this thesis opens the possibility for a collaborative haptic
interaction. The main technical issue involved in such a system is to guarantee
stability in face of the wide range of dynamic behaviors that users can display
when they haptically interact. Future work will be focused in obtaining a
control framework for collaborative haptics. When several users interact in an
environment, it is possible to classify them as active or passive. The active
participant behaves as an admittance, receiving force in response to velocity
commands. The force and position data of the active user will be displayed
to the passive users through haptic playback. In order to have a realistic
teaching experience, at times, the active user must be able to feel what the
trainees are doing, thus the roles need to be switched. The active participant
must become passive and vice-versa. Such a possibility requires the haptic
device to switch between several modes and the traditional passivity based

methods would fail. At CVRL, S. Mahapatra and M. Zefran


[50] investigated
the possibility to use the notion of passive hybrid systems (PHS) to model such
systems. This approach will also allow to stably switch between different haptic
playback controllers. This thesis showed how the direct force controller allows
a better force tracking while the crossed controller yields a better position
tracking. Thanks to the notion of PHS a system that switches between the
two controllers can be implemented and guaranteed to be stable. For example,
it will be possible to use the crossed controller to reduce too large a position
error and then switch to direct force control when the position error is reduced.

APPENDICES

153

154

Appendix A

SOURCE CODE

155
Appendix A (Continued)

LTI_final.nb

Exact Method for Stability Analysis of


Time-Delayed LTI Systems
CE[A_,B_]
This function returns the Characteristic Equation as in (3)
Inputs:
A and B are square matrices such that dx/dt = Ax(t) + B x(t-\tau)
Outputs:
The functions returns a list.
The first element is the element with lowest power of Exp(s\[tau])
CE#A_, B_' :
Module#I, n, a, index, d, tmp, tmp2, tmp3,
tmp 1;
tmp2 ;
n Length#A';
I IdentityMatrix#n';
a Range#n  1';
index 1;
d Det#s I  A  B Exp#W s'';
a##1'' Replace#d, Exp#n_' 0, Infinity';
For#index 1, index 3, index,
tmp Collect#d, Exp# s W'';
tmp2 Cases#d, +_ index s W / , Infinity';
tmp3 Replace#tmp2, index s W 1, Infinity';
a##index  1'' Sum#tmp3##i'', i, Length#tmp3''
';
a
'

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

omega#b_, Tck_, H_' :


Module#nt, nb, ns, eqn, i, btmp, tmp, n1, new, j, Z, k, sol, tmp2, tmp3,
sol Table#0, 0';
nb Length#b';
nt
Length#Tck';
For# j 1, j nt, j ,
btmp
b s. T Tck##j'';
eqn 0;
For#i 1, i nb, i ,
Clear#Z';
eqn
eqn  btmp##i'' + Z/ ^ +i  1/;
';
+ Print# " current equation in omega " ,eqn'; /
tmp Solve#eqn m 0, Z';
+ Print#"solution " , tmp'; /
ns Length#tmp';
For#k 1, k ns, k ,
If#++Abs#Im#Z s. tmp##k''''  H/ +Re#Z s. tmp##k''' ! 0//,
sol Append#sol, Tck##j'', Re#tmp##k''##1''##2'''';
';
';
';
Return#sol';
'

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

a is the coefficients list of the original CE


table is the table of crossing as returned by Tau[]
Output:
A table which is build by adding a column indicating the root tendencies (which can be +1 or -1) to the input table, table
RT#a_, table_' :
Module#n, i, num, den, rt, sol,
n Length#table';
sol Table#0, 0';
For#i 1, i n, i ,
num
Sum#D#a##j'', s' Exp#+j  1/ s W', j, 1, Length#a'' s.
 s table##i, 2'' , W table##i, 3'';
den
Sum#j a##j'' Exp#+j  1/ s W ', j, 1, Length#a'' s.
s table##i, 2'' , W table##i, 3'';
rt
Sign# Im#num s den'';
sol
Append#sol, Append#table##i'', rt'';
';
Return#sol';
'

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''''';

Testing with system used in Olgac Paper


x'(t) = A x + C x(t-W)
A
B

1, 13.5, 1, 3, 1, 2, 2, 1, 4;


5.9, 7.1, 70.3, 2, 1, 5, 2, 0, 6;

The corresponding characteristic equation is


a

CE#A, B'

111.  45.5 s  6 s2  s3 , 22.1  116.8 s  0.9 s2 , 185.1  90.9 s, 119.4

The Rekasius substitution converts the CE into:


b

Rekasius#a'

23.2, 19.6  137.8 T, 6.9  71.2 T  898.4 T2 ,


1  18.9 T  162.4 T2  171.4 T3 , 3 T  17.1 T2  253.2 T3 , 3 T2  5.1 T3 , T3 

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

Controller Crossed Stability

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

m 0.04; c 2.6; k 4; kp 0.24;


G
+m k kp s ^ 2  c k kp s  k / Exp#s W'  m s ^ 2  c s ;
a CoefficientList#G, Exp#s W'';
b
Rekasius#a';
RM Routh#b, H';
RA
RouthArray#RM';
Ts Crossing#RA, 0.0';
sol
omega#b, Ts , 0.04 ' ;
final Tau#sol';
total
RT#a, final';
stability
Rearrange#final';
TableForm#stability'
0.637534

4.36546

1.26436

164
Appendix A (Continued)

appendix-B.nb

DYNAMIC PARAMETERS OF PHANToM


PREMIUM 1.0
Defining Functions
Load needed packages
 LinearAlgebra`MatrixManipulation`
 H:/phantom/Screws.m
 H:/phantom/RobotLinks.m

Mass cylinder
MassCyl#r_, L_, rho_' :

Pi r ^ 2 L rho

Inertia of Solid Cylinder


InCylLong#R_, L_, rho_' : 1 s 2 Pi R ^ 2 L rho R ^ 2
InCylShort#R_, L_, rho_' : 1 s 12 Pi R ^ 2 L rho L ^ 2  1 s 4 Pi R ^ 2 rho L R ^ 2

Inertia of a Hollow Cylinder


InHolLong#R_, r_, L_, rho_' : 1 s 2 rho Pi L +R ^ 4  r ^ 4/
InHolShort#R_, r_, L_, rho_' : InCylShort#R, L, rho'  InCylShort#r, L, rho'

Mass hollow cylinder


MassHol#R_, r_, L_, rho_' : rho Pi L +R ^ 2  r ^ 2/

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/

Inertia of a half cylinder,


Z is the axis perpendicular to the base,
X is the axis parallel to the cut,
Y is the axis perpendicular to the cut
InHalfCylZ#R_, L_, rho_' : +1 s 2  16 s +9 Pi ^ 2// +Pi R ^ 2 L/ s 2 rho R ^ 2
InHalfCylX#R_, L_, rho_' :
+1 s 2  16 s +9 Pi ^ 2// +Pi R ^ 2 L/ s 2 rho R ^ 2  1 s 12 +Pi R ^ 2 L/ s 2 rho L ^ 2
InHalfCylY#R_, L_, rho_' : +1 s 2 Pi R ^ 2 L/ +1 s 4 R ^ 2  1 s 12 L ^ 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_' :

Transpose#RigidAdjoint#g'' . Mold .RigidAdjoint#g'

SEGMENTS INERTIAS V 1.0

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;

Total mass of the segment


mtot

0.0305;

Inertia and mass of the link


m1
H1

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

Inertia and mass of the box

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';

Center of mass and rigid body transformations of the two objects


ycom
g1

1,
0,
0,
0,
g2

1,
0,
0,
0,

+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

Total generalized inertia of the segment


Htot
InertiaTrans#g1, H1'  InertiaTrans#g2, H2';
MatrixForm#Htot'

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

This section is made of 5 different objects


* hobig plate dimensionsllow cylinder
* small plate
* big plate
* motor
* counterweight
Find the center of mass of the section

\
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
^

167
Appendix A (Continued)

appendix-B.nb

dimension of the segment BE


offset along z from origin of body fixed frame to the end of big plae
zoff

0.0063;

length of the motor support


zsup

0.01635;

hollow cylinder dimensions


Rhc 5.2*^-3;
rhc +7.35 s 2/ 10 ^ 3;
lhc 0.098;
Uall 2750;

small plate dimensions


xsp
ysp
zsp

0.0127;
0.0127;
0.0189;

big plate dimensions


xbp
ybp
zbp

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

MassHol#Rhc, rhc, lhc, Uall'

0.011459

center of mass of the hollow cylinder

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

xsp ysp zsp Uall

0.00838305

small plate center of mass


com2

0, 0, zoff  zsp s 2

0, 0, 0.01575

small plate generalized intertia around its center of mass


H2

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

xbp ybp zbp Uall

0.0220111

big plate center of mass


com3.x=-x/2+0.01145+(0.01275/2) (this is the exact value we approximate to 0 because we assume that the segment is
balanced)
com3

0, 0, zbp s 2  zoff

0, 0, 0.0015

big plate generalized inertia around its center of mass

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, +rm  zsup  zbp  zoff/

0, 0, 0.03815

motor generalized inertia around its center of mass


dens
m4 s +Pi +rm ^ 2 lm//;
H4 m4, 0, 0, 0, 0, 0,
0, m4, 0, 0, 0, 0,
0, 0, m4, 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';

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

cube center of mass


0.0226-side/2 - it's the com of the counterweight along x if I don't consider the encoder
com5
com6

0, 0, +zsup  zbp  2 rm  side s 2  zoff/


0, 0, +zsup  zbp  rm  zoff /

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';

segment total mass and center of mass


mtot m1  m2  m3  m4  m5  m6;
comBE +1 s mtot/ +m1 com1  m2 com2  m3 com3  m4 com4  m5 com5  m6 com6/
l5 comBE##3''

0, 0, 0.026804
0.026804

TRANSFORMATIONS TO THE GLOBAL CENTER OF MASS


from hollow cylinder,assuming that the center of mass is on the z axis
g1

1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, l5  com1##3'',
0, 0, 0, 1;

from small plate


g2

1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, l5  com2##3'',
0, 0, 0, 1;

from big plate


g3

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;

from the hole


g6

1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, l5  com6##3'',
0, 0, 0, 1;

INERTIA OF SEGMENT B_E


Hbe InertiaTrans#g1, H1'  InertiaTrans#g2, H2'  InertiaTrans#g3, H3' 
InertiaTrans#g4, H4'  InertiaTrans#g5, H5'  InertiaTrans#g6, H6';
MatrixForm#
Hbe'

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

This segment is made of


*2 aluminium rods
*2 steel rod
*motor
dimension of segment D_F
distance between aluminium rods
dista

0.0508;

distance between steel rods


dists

0.0519;

172
Appendix A (Continued)

appendix-B.nb

lenght of the motor support arm


ysup

0.0135;

offsets of the origin from the low right angle of the structure
xoff
yoff

dista s 2;
0.0322;

aluminium rods dimensions


xa
ya
za

0.0066;
0.0519;
0.0071;

steel rods dimensions


ls
rs

0.0508;
0.0025;

ALUMINIUM RODS
mass
m1

Uall xa ya za;

center of mass
com1
com2

xoff, ya s 2  yoff, 0;


xoff, ya s 2  yoff, 0;

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

MassCyl#rs, ls, Ust';

center of mass
com3
com4

0, dists  yoff, 0;


0, yoff, 0;

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;

motor center of mass


com5

0, dists  yoff  ysup  rm, 0;

motor generalized inertia around its center of mass


H5

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';

segment total mass and center of mass


mtot 2 m1  2 m3  m5
comBE +1 s mtot/ +m1 com1  m1 com2  m3 com3  m3 com4  m5 com5/
l6 comBE##2''
0.159036

0., 0.0362152, 0
0.0362152

TRANSFORMATIONS TO THE TOTAL CENTER OF MASS


from left aluminium rod, assuming that the center of mass is on the z axis
g1

1, 0, 0, xoff,
0, 1, 0, l6  com1##2'',
0, 0, 1, 0,
0, 0, 0, 1;

from right aluminium rod

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;

from lower steel rod


g3

1, 0, 0, 0,
0, 1, 0, l6  com3##2'',
0, 0, 1, 0,
0, 0, 0, 1;

from higher steel rod


g4

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;

INERTIA OF SEGMENT D_F


Hdf InertiaTrans#g1, H1'  InertiaTrans#g2, H1' 
InertiaTrans#g3, H3'  InertiaTrans#g4, H3'  InertiaTrans#g5, H5';
MatrixForm#Hdf'
0.
0.
0.
0.
2.1684 1019
L 0.159036
M
M
M
M
0.
0.159036
0.
0.
0.
0.
M
M
M
M
M
M
0.
0.
0.159036
2.1684 1019
0.
0.
M
M
M
M
M
M
0.
0.
2.1684 1019 0.0000810523  Imot
0.
0.
M
M
M
M
M
0.
0.
0.
0.
0.0000348866
0.
M
M
M
M
19
0.
0.
0.
0.
0.000109091
N 2.1684 10

\
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
]
^

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

[13] J. Berkley, G. Turkiyyah, D. Berg, M. Ganter, and S. Weghorst. Real-time finite


element modeling for surgery simulation: An application to virtual suturing.
IEEE Transactions on Visualization and Computer Graphics, 10(3):312325,
2004.
[14] V. B. Brooks. The Neural Basis of Motor Control. Oxford University Press,
1986.
[15] C. Carignan and J. Smith. Manipulator impedance accuracy in position-based
impedance control implementations. In Proc. IEEE/CNF Int. Conf. on Robotics
and Automation, pages 12161221, San Diego, CA, 1994.
[16] M. C. C
avusoglu, D. F., and F. Tendick. A critical study of the mechanical
and electrical properties of the phantom haptic interface and improvements for
high performance control. Presence: Teleoperators and Virtual Environments,
2002.
[17] E. Colgate, P. Grafing, M. Stanley, and G. Schenkel. Implementation of stiff
virtual walls in force-reflecting interfaces. In Proceedings of VRAIS, pages 202
208, Seattle, WA, 1993.
[18] J. E. Colgate. Coupled stability of multiport systems: Theory and experiments. Trans. ASME, Journal of Dynamic Systems, Measurement and Control,
116:594598, 1994.
[19] J. E. Colgate, M. C. Stanley, and J. M. Brown. Issues in the haptic display
of tool use. In Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems,
pages 140145, Pittsburgh, PA, 1995.
[20] S. H. Crandall, D. C. Karnopp, E. F. Jr Kurtz, and D. C. Pridmore-Brown.
Dynamics of Mechanical and Electromechanical Systems. McGraw-Hill, New
York, 1968.
[21] R. Dayal, P. L. Faries, S. C. Lin, J. Bernheim, S. Hollenbeck, G. DeRubertis,
S. Trocciola, J. Rhee, J. McKinsey, N. J. Morrissey, and K. C. Kent. Computer
simulation as a component of catheter-based training. Journal of Vascular
Surgery, 40(6):11121117, 2004.
[22] R. C. Dorf and R. H. Bishop. Modern Control Systems. Prentice Hall, ninth
edition edition, 2001.
[23] EXOS Inc., Woburn, MA. Sensing and Force Reflecting Exoskeleton (SAFIRE)
Specification, 1995.
[24] J. J. Gibson. The Senses Considered as Perceptual Systems. Houghton Mifflin
Company, 1966.

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

[38] N. Hogan, B. A. Kay, E. D. Fasse, and F. A. Mussa-Ivaldi. Haptic illusions:


Experiments on human manipulation and perception of virtual objects. In
Cold Spring Harbor Symposia on Quantitative Biology, volume 55, pages 925
923, 1990.
[39] R. L. Williams II, M. Srivastava, R. R. Conatster Jr., and J. N. Howell. Implementation and evaluation of a haptic playback system. Haptics-e, 2004.
[40] B. Jackson and L. Rosenberg. Interactive Technology and The New Paradigm
of Healthcare, pages 147151. IOS Press, Amsterdam, 1995.
[41] S. W. Keele. Handbook of Perception and Human Performance. John Wiley,
1980.
[42] D. V. Keyston. Touch in User Interface Navigation. PhD thesis, Technische
Universiteit Eindhoven, Netherlands, 1996.
[43] H. K. Khalil. Nonlinear Systems. Prentice Hall, third edition, 2002.
[44] R. Kikuuwe and T. Yoshikawa. Haptic display device with fingertip presser for
motion/force teaching to human. In Proc. IEEE/CNF Int. Conf. on Robotics
and Automation, pages 868873, 2001.
[45] W. Kim and A. Bejczy. Graphical displays for operator aid in telemanipulation.
In Proc. IEEE Int. Conf. on Systems, Man and Cybernetics, pages 10591067,
New York, 1991.
[46] V. B. Kolmanovskii and V.R. Nosov. Stability of Functional Differential Equations, volume 180. Academic Press, 1979.
[47] D. A. Lawrence. Impedance control stability properties in common implementations. In Proc. IEEE/CNF Int. Conf. on Robotics and Automation, pages
11851190, 1988.
[48] F. B. Llewellyn. Some fundamental properties of transmission systems. Proc.
IRE, 40:271283, 1952.
[49] Z. W. Luo, F. Asano, Y. Kishi, and S. Hosoe. Adjustment of impedance center
for passive interaction between a robot and its environment. In Proc, of the
Second Conf. on Artificial Muscles - Biomimetic System Engineering, 2004.

[50] S. Mahapatra and M. Zefran.


Stable haptic interaction with switched virtual
environments. In IEEE Conf. on Robotics and Automation, Taipei, Taiwan,
2003.
[51] J. E. Marshall. Control of Time-Delay Systems. Peter Peregrinus LTD., 1979.

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

[73] R. Sweet, T. Kowalewksi, P. Oppenheimer, S. Weghorst, and R. Satava. Face,


content and construct validity of the university of washington virtual reality
transurethral prostate resection trainer. Journal of Urology, 5(172):19531957,
2004.
[74] J. W. Ward, D. P. M. Wills, K. P. Sherman, and A. M. M. A. Mohsen. The
development of an arthroscopic surgical simulator with haptic feedback. Future
Generation Computer Systems, 3-4(14):243251, 1998.
[75] Y. Yokokohji, R. L. Hollis, and T. Kanade. What you see is what you feeldevelopment of a visual/haptic interface to virtual environment. In Proc. IEEE
Virtual Reality Annu. Int. Symp, pages 4653, 1996.