+ All Categories
Home > Documents > Admittance Matrix 2 Thesis

Admittance Matrix 2 Thesis

Date post: 13-Jan-2016
Category:
Upload: rizkie-denny-pratama
View: 245 times
Download: 0 times
Share this document with a friend
Description:
admittance
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. Miloˇ s ˇ Zefran TESI DI LAUREA Matteo Corno Matricola: 642404 ANNO ACCADEMICO 2004-2005
Transcript
Page 1: Admittance Matrix 2 Thesis

POLITECNICO DI MILANO

Facolta di Ingegneria

Corso di laurea in Ingegneria Informatica

HAPTIC PLAYBACK:

A NEW APPROACH TO TEACHING OF SENSIMOTOR

SKILLS

Relatore: Prof.ssa Giuseppina GiniCorrelatore: Prof. Milos Zefran

TESI DI LAUREA

Matteo CornoMatricola: 642404

ANNO ACCADEMICO 2004-2005

Page 2: Admittance Matrix 2 Thesis
Page 3: Admittance Matrix 2 Thesis

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

Walter Lippmann

We’re surrounded. That simplifies the problem.

Lewis B. ”Chesty” Puller, USMC

i

Page 4: Admittance Matrix 2 Thesis

RIASSUNTO

1 Introduzione

L’obiettivo di questo lavoro e lo studio delle interfacce aptiche, in parti-

colare ci concentreremo sui metodi che permettono di impiegare le interfacce

aptiche nell’insegnamento di compiti manuali che richiedono una interazione

precisa con l’ambiente. Nel resto del lavoro ci si riferira alle interfacce aptiche

con l’acronimo HI (haptic interface).

Il termine aptica deriva dal greco haptesthai che significa toccare. In am-

bito scientifico l’aptica e lo studio del senso del tatto e dell’interazione con

l’ambiente 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 piu 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

proprieta fisiche degli oggetti. Le sensazioni di pressione, temperatura, mor-

bidezza, umidita e fenomeni di attrito sono elaborate a livello tattile. E pos-

sibile organizzare queste sensazioni in tre funzioni principali: l’identificazione

del materiale, l’identificazione della forma e l’identificazione 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

fornisce informazioni sull’ambiente ma e anche un mezzo di interazione. E un

canale bidirezionale: quando un artista modella della creta le sue mani fungono

ii

Page 5: Admittance Matrix 2 Thesis

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 piu 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 l’arricchimento di interfacce grafiche. Stimoli tat-

tili possono essere utilizzati per sottolineare relazioni gerarchiche tra elementi

di un sistema operativo.

Giochi. Le HI sono gia una realta commerciale nel comparto dell’intratte-

nimento. L’introduzione del canale tattile puo migliorare notevolmente l’espe-

rienza di gioco soprattutto nelle simulazioni, dove il senso di immersione puo

essere grandemente amplificato.

Multi-media publishing. Le applicazioni multimediali piu comuni inclu-

dono testo, suono, immagini e video; l’uso delle HI permettera, per esempio,

di realizzare cataloghi multimediali in cui il cliente possa sentire differenti tipi

di materiale.

Supervisione di sistemi complessi. Il senso del tatto puo 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 disabilita motorie.

Educazione e addestramento. Sistemi pericolosi o con disponibilita li-

mitata (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 Universita dell’Illinois

a Chicago ha in progetto la realizzazione di un laboratorio didattico multi-

iii

Page 6: Admittance Matrix 2 Thesis

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 qualita dell’insegnamento, ma anche di

abbattere i costi.

2 Obiettivi

L’insegnamento di capacita manuali e spesso un compito difficile e dis-

pendioso. In generale, il metodo piu efficace e quello di avere un addestra-

tore esperto che interagisca fisicamente con l’allievo. Un tale addestramento

e ovviamente costoso in termini di tempo e comporta un basso rapporto al-

lievo/addestratore. Se fosse possibile avere un sistema capace di mostrare

compiti manuali ad un gruppo di studenti, non solo i costi sarebbero drasti-

camente tagliati, ma la qualita dell’insegnamento ne risulterebbe migliorata.

Sarebbe piu facile per l’insegnante valutare i progressi della classe e adattare

le lezioni ai progressi degli studenti.

Le simulazioni aptiche hanno mostrato un grande potenziale come stru-

menti di insegnamento, particolarmente in quei campi dove l’addestramento

tramite metodi tradizionali e molto costoso, come nel caso della chirurgia.

I sistemi aptici tradizionali sono sistemi di realta virtuale che permet-

tono agli utenti di esplorare un ambiente virtuale in cui si possono trovare

e “toccare” oggetti con diverse proprieta meccaniche. Dal punto di vista

dell’addestranmento 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 proget-

tati 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 mo-

iv

Page 7: Admittance Matrix 2 Thesis

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) L’haptic playback e un metodo che con-

siste nel mostrare informazioni pre-registrate di posizione e forza. Quando un

compito richiede interazione con l’ambiente, esso puo essere descritto da due

quantita: 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 nell’esecuzione di un compito

e rivedere la registrazione piu volte, si vorrebbe essere in grado di registrare

posizione e forza mentre un soggetto compie l’interazione e successivamente

mostrare le informazioni ad un numero arbitrario di studenti.

Questa tesi rappresenta un passo avanti verso lo sviluppo di una nuova ge-

nerazione di sistemi aptici. Usando questi nuovi sistemi, un gruppo di studenti

sara in grado di imparare una tecnica senza la necessita di un esperto e, qualora

l’esperto fosse presente, di interagire con l’insegnante in un ambiente virtuale

condiviso. Questo nuovo tipo di sistema sara utile nell’insegnamento di compiti

manuali complessi.

I problemi coinvolti in questo progetto sono principalmente due:

• Schemi di controllo per l’haptic playback. E necessario sviluppare

strategie di controllo per l’implementazione dell’haptic playback.

• Framework di controllo per interazione aptica collaborativa. La

capacita di ottenere l’haptic playback apre la via alla interazione apti-

ca collaborativa, dove piu utenti possono interagire con una copia dello

stesso ambiente virtuale e osservare le azioni degli altri utenti.

v

Page 8: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

Questa tesi si concentra principalmente sui problemi relativi alla imple-

mentazione di schemi di controllo per l’haptic playback. In questa prospettiva

il problema piu grande che deve essere risolto e che esiste una relazione di

causalita tra posizione e forza. Le due variabili non sono indipendenti e non e

possibile mostrarle simultaneamente in modo arbitrario e con un solo disposi-

tivo 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

l’utente puo sperimentare e sentire diversi tipi di oggetti con proprieta fisiche

differenti. Per studiare la stabilitia delle HI si e applicato il concetto di two-port

framework; nei sistemi aptici la stabilita e un aspetto critico perche, non solo

le oscillazioni non previste distraggono l’utente, ma possono rivelarsi poten-

zialmente 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 dell’ambiente virtuale (che puo essere descritto dalla massa, M ,

rigidezza, K, e smorzamento, B) sulla stabilita. Il loro lavoro permette di

concludere che il massimo periodo di campionamento T che garantisce la sta-

bilita e linearmente dipendente da 1/K e B in un vasto intervallo e che non e

influenzato dalla massa dell’ambiente virtuale, supposto che la massa non sia

maggiore di una soglia specificata. Da queste osservazioni e facile ricavare che

la stabilita e profondamente influenzata dal periodo di campionamento.

Durante i primi studi del problema, Gillespie propone di modellizzare l’u-

tente come un sistema di secondo ordine, lineare e tempo invariante e deriva le

condizioni di stabilita sotto questa ipotesi. L’autore propone anche un super-

visore del modello dell’utente che puo tenere in considerazione la natura tempo

vi

Page 9: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

variante del modello. E il fatto che l’utente sia intrinsecamente tempo-variante

che rappresenta la maggiore difficolta nel garantire interfacce stabili.

Un’alternativa all’utilizzo di modelli espliciti e introdotta da Colgate e col-

laboratori. Essi applicano il concetto di passivita al display aptico. I loro

risultati, inizialmente ristretti ad ambienti virtuali lineari, evidenziano il ruolo

principale che lo smorzamento gioca nel garantire la stabilita; l’analisi puo

essere estesa ad ambienti non lineari e con ritardi.

Come gia 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: l’utente umano,

l’interfaccia aptica e l’ambiente virtuale. Ai fini della nostra ricerca e impor-

tante considerare che il two-port framework e stato sviluppato assumendo che

l’obiettivo del sistema aptico nel suo complesso sia quello di simulare un am-

biente. La Figura 0.1 descrive schematicamente il two-port framework. Le con-

Figura 0.1. Two-port framework

dizioni di stabilita ottenute utilizzando questo framework si basano sull’ipotesi

di passivita. Se l’utente e considerato passivo (come suggerito da Hogan), al-

lora e possibile trovare condizioni che garantiscono l’assenza di oscillazioni per

un vasto insieme di ambienti virtuali non lineari. Una presentazione piu esaus-

vii

Page 10: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

tiva sullo stato dell’arte e una dettagliata spiegazione dei metodi usati puo

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 piu rilevanti svolti nel campo. Qui di seguito verranno descritti in breve.

Virtual calligraphy system. Henmi and Yoshikawa hanno sviluppato

un sistema per l’insegnamento della calligrafia. Il dispositivo e costituito da

un braccio robotico al quale e collegato un pennello. Il sistema puo funzionare

in due modalita: direct position display e direct force display. In modalita

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 l’errore di posizione, esercita

una forza proporzionale all’errore. Dualmente, in modalita 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 appa-

rato aptico per il progetto Virtual Haptic Back della Universita dell’Ohio. In

questo caso il sistema si basa su un modello matematico della schiena e anche

in questo caso due modalita sono state implementate. La prima modalita e

basata su un controllore PD che controlla la posizione. La seconda modalita

e piu 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. L’idea perseguita e quella di mostrare apticamente sia

la forza che la posizione; per ottenere questo scopo un sistema composto da due

viii

Page 11: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

dispositivi aptici e stato sviluppato. La pressione esercitata sul dito dell’utente

viene usata come canale aggiuntivo per insegnare la forza.

Sebbene in tutti lavori visti viene riconosciuta la necessita 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 l’haptic playback.

Il nostro framework non si applica solo a un particolare caso.

Per meglio comprendere le tematiche dell’insegnamento, nella Sezione §3.2

vengono descritte le principali teorie sull’apprendimento di capacita motorie.

4 Metodo

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

applicazioni haptic playback. L’ambiente virtuale simula un ambiente reale

con la sua dinamica e, come gia evidenziato, questo e utile solo al perfezio-

namento di una tecnica. Nel Capitolo 4 valutiamo la possibilita di adattare

il two-port framework al nuovo obiettivo. Fondamentalmente, l’idea 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 basan-

dosi sul comportamento di insegnanti reali. Si puo pensare di ovviare a questo

problema ricorrendo al controllo di impedenza. L’ambiente 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 l’interazione. Un modo di

controllare l’interazione e appunto il controllo di impedenza. La prima parte

del Capitolo 4 e dedicata alla descrizione dei fondamenti del controllo di im-

pedenza; nella Sezione §4.4 viene descritto come il controllo di impedenza,

usualmente utilizzato in robotica industriale, possa essere applicato all’haptic

playback. Nella stessa sezione si ricavano le condizioni di stabilita del sistema.

ix

Page 12: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

Sfortunatamente l’approccio dell’ambiente virtuale arricchito non garantisce

condizioni di stabilita sufficientemente ampie. Si e quindi giunti alla conclu-

sione 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 all’utente

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

gia presenta questa caratteristica, ma essa non e presa esplicitamente in con-

siderazione nel two-port framework. La rappresentazione visiva dell’ambiente

virtuale ha un ruolo importantissimo nel senso di immersione, anche nelle sim-

ulazioni. Henmi e Yoshikawa riconoscono l’importanza 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 dell’ambiente

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.

• L’utente deve cooperare con il sistema, ovvero ipotizziamo che l’utente

sappia che deve seguire il bersaglio mostrato e che lo faccia al meglio delle

sue capacita.

x

Page 13: Admittance Matrix 2 Thesis

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

controller

fd

xd

x0

fu

xu

fact

fu

xu

visualdisplay

user

hapticdisplay

target position

requested force

Figura 0.2. Framework proposto per l’haptic playback.

framework tradizionale e il modello dell’utente. L’utente 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

Page 14: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

Dal punto di vista aptico, l’utente ha la causalita di una impedenza, ma ha due

ingressi addizionali. L’utente ha solo una uscita, la forza esercitata dall’utente.

Questo framework permette di studiare il problema dell’haptic playback

dal punto di vista della teoria del controllo; ha pero due implicazioni: (1) non

e piu possibile studiare il sistema ricorrendo al formalismo dei circuiti e (2) il

concetto di passivita non e direttamente applicabile. Poiche il formalismo dei

circuiti e la passivita non sono piu applicabili, strumenti piu generali devono

essere usati; di conseguenza un modello esplicito dell’utente e necessario.

Il Modello dell’Operatore

Molti ricercatori in differenti campi si sono dedicati alla dinamica e al con-

trollo degli arti umani. E ovviamente molto difficile ottenere un modello che

descriva accuratamente come il sistema nervoso centrale controlli gli arti, per

questo motivo l’approccio seguito in letteratura e stato quello di vincolare

fisicamente i soggetti il piu possibile, ad esempio immobilizzando le spalle,

riducendo cosı i gradi di liberta coinvolti.

In letteratura e possibile identificare due tipi di approccio al problema: al-

cuni 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 all’apprendimento mo-

torio. In uno dei suoi esperimenti un manipolatore a due gradi di liberta e usato

per generare differenti tipi di campi di forze. La tesi degli autori e che il CNS

xii

Page 15: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

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

tenuto aggiornato. Per maggiori dettagli consultare la Sezione §5.2.

L’approccio che abbiamo seguito per ottenere un modello per l’operatore

si basa sulle ipotesi di Mussa-Ivaldi; e importante notare che il nostro obiet-

tivo 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 causalita dell’impedenza segue la scelta comune nel

caso di dispositivi con piccola inerzia. Sotto le ipotesi descritte in precedenza

l’operatore 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 dell’errore di posizione

e il termine in anello aperto che dipende dalla forza esterna, quest’ultimo tiene

conto del meccanismo di adattamento ipotizzato da Mussa-Ivaldi. La funzione

di trasferimento ottenuta puo essere scritta come:

Fu(s) = −ke−sτ (Xu(s) −X0(s)) − Fact(s) + αsFact(s). (1)

Il modello dipende da cinque parametri. Nel termine ad anello chiuso, k de-

scrive la rigidita e τ l’inevitabile ritardo associato alla coordinazione mano

occhio. I rimanenti parametri descrivono il termine di adattamento. L’idea

di fondo e quella che l’operatore tenti di muoversi verso il bersaglio mostrato

esercitando una forza, fu, ottenuta uguagliando la forza esercitata dall’esterno,

fact, e aggiungendo una forza proporzionale all’errore di posizione. Il termine

αsFact(s) e dovuto all’errore nell’uguagliare la forza. Il termine di adatta-

mento e modellizzato come un PD, e ragionevole assumere che se fact varia

lentamente per l’operatore sara piu 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

Page 16: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

gli intervalli di variabilita 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, l’eta dei soggetti varia

dai 23 ai 28 anni. Si riconosce che quattro soggetti non sono una campione

statisticamente rilevante; bisogna ricordare che l’obiettivo non e quello di ot-

tenere un modello che descriva accuratamente il sistema nervoso centrale, ma

piuttosto un modello che permetta di spiegare e dare una prima formalizza-

zione dei meccanismi coinvolti. Tutti i soggetti utilizzati erano familiari con

i concetti della simulazione aptica, ma nessuno aveva esperienza con il con-

cetto di haptic playback. Ai soggetti e stato chiesto di sedersi in fronte a uno

schermo e di afferrare l’end effector del dispositivo aptico. I soggetti erano

liberi di assumere la posizione a loro piu comoda; questo da un lato com-

promette la ripetibilita degli esperimenti, ma dall’altro permette di ottenere

risultati che possono essere applicati a un piu vasto insieme di condizioni pos-

sibili. Il bersaglio e inizialmente tenuto in posizione, successivamente, a un

tempo casualmente determinato esso viene mostrato in una nuova posizione

(anch’essa casualmente determinata) e simultaneamente viene esercitata una

forza dal dispositivo aptico. La traiettoria seguita dal soggetto e registrata per

tutta la durata dell’esperimento. La tecnica di identificazione dei parametri

viene descritta nella Sezione §5.3; non avendo la possibilita di misurare diret-

tamente 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 mo-

dello, pur nella sua semplicita, e in grado di catturare i principali meccanismi

in gioco.

xiv

Page 17: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

Leggi di Controllo

Il modello proposto apre nuove possibilita; come visto, Henmi, Yoshikawa

e Williams riconoscono l’importanza del canale visivo, ma non ne sfruttano a

pieno le potenzialita. Nelle loro applicazioni il canale visivo, usato in anello

aperto, mostra la traiettoria che lo studente deve imparare. Una volta mo-

dellizzati i meccanismi alla base del controllo motorio il problema puo 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 l’andamento 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 considera-

zione sono quattro:

Open loop controller. In questo caso sia x0 che fact sono generate in anello

aperto.

Direct force controller. E il controllore usato da Henmi and Yoshikawa. E

ispirato alla architettura di controllo in forza adottata in robotica indus-

triale.

Coupled controller. E una implementazione del direct force controller che

evita l’uso 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 l’errore

xv

Page 18: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

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

l’operatore 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 pero 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 con-

trollori 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 instabilita. La causa puo essere identificata nel

fatto che il secondo anello che viene chiuso e ritardato; e fatto noto che un

anello chiuso ritardato mini la stabilita di un sistema. Per meglio compren-

dere 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 nell’arti-

colo. Grazie a questo metodo e possibile ottenere una condizione necessaria

e sufficiente per la stabilita del crossed controller. Il metodo usato e le con-

dizioni ottenute sono articolate per cui si rimanda al testo in inglese per una

piu approfondita comprensione.

Implementazione

Studiati e compresi i risultati delle simulazioni si e proceduto a imple-

mentare le leggi di controllo. Nel fare cio e stato necessario superare al-

cune limitazioni dell’attrezzatura usata. In particolare faremo riferimento al

PHANToMTM Premium della SensAble Technologies, Inc (Woburn, MA) visi-

bile in Figura 0.3, questo dispositivo e uno dei piu comuni ed e stato utilizzato

con successo in molte applicazioni. Le caratteristiche principali del dispositivo

sono una vasta area di lavoro, bassa inerzia apparente dell’end effector, bassi at-

triti e altra precisione di posizione. E possibile pensare al PHANToMTM come

xvi

Page 19: Admittance Matrix 2 Thesis

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

namici. I modelli si sono rivelati necessari a causa della non disponibilita di

sensori di forza e dalla poca documentazione fornita dalla Sensable. Come dis-

cusso nella Sezione §6.2, il dispositivo e accompagnato da una libreria chiamata

GHOST. Questa libreria fornisce una API per il controllo del PHANToMTM .

L’API e stata sviluppata per essere usata da programmatori senza una appro-

fondita conoscenza delle tematiche dell’aptica. La libreria permette di usare

una rappresentazione a grafo dell’ambiente virtuale, simile a quella usata in

informatica grafica. Da un lato questo permette una progettazione e realiz-

zazione molto veloce di ambienti virtuali anche complessi, ma dall’altro lato la

libreria non e sufficientemente versatile per i nostri obiettivi; infatti GHOST

impedisce l’accesso a basso livello al dispositivo: e per esempio possibile leggere

xvii

Page 20: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

il segnale in arrivo dagli encoder, ma non e possibile misurare la corrente co-

mandata 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 dall’operatore. Non potendo misurare diret-

tamente 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

velocita. L’implementazione 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 permet-

tono 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 con-

siderare 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 sensitivita 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 simu-

lazione non si riscontra in realta; il sistema (dispositivo aptico + operatore),

anche con guadagni molti elevati, non si destabilizza. E pero possibile osservare

che incrementando il guadagno, il sistema si sposta verso l’instabilita. Questo

fenomeno puo essere spiegato considerando il fatto che il modello usato in si-

xviii

Page 21: Admittance Matrix 2 Thesis

RIASSUNTO (Continua)

mulazione e tempo invariante. Secondo il modello l’operatore esercita sempre

una forza proporzionale all’errore, indipendentemente dalla situazione. Se il

bersaglio si muove improvvisamente l’operatore, secondo il modello, esercite-

ra una forza notevole. E questo il comportamento che non solo scatena, ma

sostiene l’instabilita: e l’operatore a fornire una sovrabbondanza di energia.

Nella realta l’operatore continua a modificare il suo comportamento adattan-

dosi 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 ri-

chiesta rispetto al direct force controller.

• Con l’utilizzo del crossed controller l’operatore svolge un ruolo piu attivo

nell’esercitare la forza rispetto al direct force controller.

xix

Page 22: Admittance Matrix 2 Thesis

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 cio si e dimostrato che il two-port

framework, comunemente usato nello studio di sistemi aptici, non e adeguato

ad affrontare il problema dell’haptic playback. La principale mancanza del

framework tradizionale e l’impossibilita di tener conto del canale visivo, che

puo essere visto come un flusso di informazioni.

In sintesi i principali contributi e aspetti innovativi di questa tesi sono:

Un nuovo framework per l’haptic playback e descritto e confrontato con il

framework tradizionale.

Un nuovo modello dell’operatore 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 l’analisi di stabilita 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 all’haptic playback e introdotta

e testata. Il crossed controller viene confrontato con altre strategie e

viene mostrato come essa permetta una partecipazione piu attiva dello

studente.

Riteniamo che il contributo piu importante di questa tesi sia il nuovo frame-

work. I risvolti di questo lavoro sono piu lungamente descritto nel Capitolo 7.

xx

Page 23: Admittance Matrix 2 Thesis

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 advisor’s 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, Shang-

ming and Goubiao. It was enjoyable and interesting to talk with you. I wish

you best luck.

With graduation an important chapter of one’s 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

Page 24: Admittance Matrix 2 Thesis

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

I would also like to thank (your name here).

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

can get wonderful things out of other people’s mistakes and I should thank

them too.

xxii

Page 25: Admittance Matrix 2 Thesis

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

Page 26: Admittance Matrix 2 Thesis

TABLE OF CONTENTS

CHAPTER PAGE

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Structure and layout . . . . . . . . . . . . . . . . . . . 11.2 Theoretical background and critical analysis . . . . . . 21.3 What is haptics? . . . . . . . . . . . . . . . . . . . . . 41.4 Haptic Interfaces . . . . . . . . . . . . . . . . . . . . . 51.5 Problem statement . . . . . . . . . . . . . . . . . . . . 81.6 The scientific significance . . . . . . . . . . . . . . . . . 10

2 TWO-PORT FRAMEWORK . . . . . . . . . . . . . . . . . . 122.1 Network theory . . . . . . . . . . . . . . . . . . . . . . 122.2 Two-port framework . . . . . . . . . . . . . . . . . . . 132.3 Passivity . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4 Stability of networks . . . . . . . . . . . . . . . . . . . 182.5 Two-port framework for haptic interaction . . . . . . . 222.5.1 Human operator . . . . . . . . . . . . . . . . . . . . . 242.5.2 Virtual environment . . . . . . . . . . . . . . . . . . . 242.5.3 Haptic interface . . . . . . . . . . . . . . . . . . . . . . 25

3 HAPTIC PLAYBACK . . . . . . . . . . . . . . . . . . . . . . 293.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Theories of motor learning . . . . . . . . . . . . . . . . 303.3 Haptic playback . . . . . . . . . . . . . . . . . . . . . . 31

4 IMPEDANCE CONTROL . . . . . . . . . . . . . . . . . . . . 364.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 364.2 Impedance control . . . . . . . . . . . . . . . . . . . . 364.3 Impedance control implementations . . . . . . . . . . . 384.4 Application of impedance control to haptic playback . 41

5 A NEW FRAMEWORK . . . . . . . . . . . . . . . . . . . . . 505.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 505.2 Model of the human operator . . . . . . . . . . . . . . 535.3 User model validation . . . . . . . . . . . . . . . . . . 575.4 Control strategies . . . . . . . . . . . . . . . . . . . . . 625.5 Simulation results . . . . . . . . . . . . . . . . . . . . . 665.6 Stability analysis . . . . . . . . . . . . . . . . . . . . . 72

xxiv

Page 27: Admittance Matrix 2 Thesis

TABLE OF CONTENTS (Continued)

CHAPTER PAGE

6 IMPLEMENTATION . . . . . . . . . . . . . . . . . . . . . . . 896.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 896.2 PHANToM controller . . . . . . . . . . . . . . . . . . . 916.3 Kinematic model . . . . . . . . . . . . . . . . . . . . . 966.4 Dynamic model . . . . . . . . . . . . . . . . . . . . . . 1026.4.1 Segment A . . . . . . . . . . . . . . . . . . . . . . . . . 1086.4.2 Segment C . . . . . . . . . . . . . . . . . . . . . . . . . 1096.4.3 Segments B and E . . . . . . . . . . . . . . . . . . . . 1116.4.4 Segments D and F . . . . . . . . . . . . . . . . . . . . 1136.4.5 Segment G . . . . . . . . . . . . . . . . . . . . . . . . . 1156.4.6 Equations of motion . . . . . . . . . . . . . . . . . . . 1156.4.7 Parameter identification and model validation . . . . . 1166.5 Haptic control law implementation . . . . . . . . . . . 1276.5.1 Direct force controller implementation . . . . . . . . . 1316.5.2 Crossed controller implementation . . . . . . . . . . . 1336.6 Experimental results . . . . . . . . . . . . . . . . . . . 133

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

APPENDICES . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

CITED LITERATURE . . . . . . . . . . . . . . . . . . . . . . 175

xxv

Page 28: Admittance Matrix 2 Thesis

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

Page 29: Admittance Matrix 2 Thesis

LIST OF FIGURES

FIGURE PAGE0.1 Two-port framework . . . . . . . . . . . . . . . . . . . . . . . . vii0.2 Framework proposto per l’haptic playback. . . . . . . . . . . . xi0.3 PHANToMTM Premium. . . . . . . . . . . . . . . . . . . . . . xvii2.1 Immittance mappings. . . . . . . . . . . . . . . . . . . . . . . . 152.2 Passive interconnections. . . . . . . . . . . . . . . . . . . . . . 172.3 Terminated two-port network. . . . . . . . . . . . . . . . . . . 182.4 Two-port network terminated by one-port networks. . . . . . . 212.5 Activity diagram. . . . . . . . . . . . . . . . . . . . . . . . . . 232.6 Two-port model for haptic interaction. . . . . . . . . . . . . . 242.7 Virtual coupling as a part of the haptic interface. . . . . . . . 252.8 Colgate’s framework for haptic interaction. . . . . . . . . . . . 263.1 Virtual calligraphy system. . . . . . . . . . . . . . . . . . . . . 343.2 Haptic device with fingertip presser. . . . . . . . . . . . . . . . 354.1 Two-port framework. . . . . . . . . . . . . . . . . . . . . . . . 374.2 Position-based impedance controller scheme. . . . . . . . . . . 394.3 Torque-based impedance controller scheme. . . . . . . . . . . . 404.4 Impedance control applied to haptic display. . . . . . . . . . . 435.1 Proposed framework. . . . . . . . . . . . . . . . . . . . . . . . 525.2 One DOF haptic device . . . . . . . . . . . . . . . . . . . . . . 535.3 User model validation experimental results (I). . . . . . . . . . 605.4 User model validation experimental results (II). . . . . . . . . 615.5 A control look at haptic playback . . . . . . . . . . . . . . . . 625.6 Simulink model of the damped mass and user. . . . . . . . . . 675.7 Non delayed user: response to double step. . . . . . . . . . . . 695.8 Delayed user: response to double step. . . . . . . . . . . . . . . 705.9 Delayed user: crossed controller stability. . . . . . . . . . . . . 715.10 Block diagram of fact control loop in the crossed controller . . 725.11 Block diagram of x0 control loop in the crossed controller . . . 735.12 Block diagram of the simplified model . . . . . . . . . . . . . . 745.13 Block diagram of the simplified model with no delay. . . . . . 755.14 Block diagram of the simplified model with delay . . . . . . . 755.15 Roots locus diagrams for D′(s). . . . . . . . . . . . . . . . . . 785.16 Root locus for N ′(s) . . . . . . . . . . . . . . . . . . . . . . . . 805.17 Roots locus diagram for N ′(s) + T D′(s) with KP < 1

k. . . . . 82

5.18 Roots locus diagram for N ′(s) + T D′(s) with 1k

< KP < K. . 835.19 Roots locus diagram for N ′(s) + T D′(s) with KP > K. . . . . 846.1 PHANToMTM Premium. . . . . . . . . . . . . . . . . . . . . . 90

xxvii

Page 30: Admittance Matrix 2 Thesis

LIST OF FIGURES (Continued)

FIGURE PAGE

6.2 PHANToMTM haptic interface controller. . . . . . . . . . . . . 926.3 Moving average filter: effect of window size. . . . . . . . . . . . 946.4 Initial configuration of the manipulator. . . . . . . . . . . . . . 976.5 Side and top views. . . . . . . . . . . . . . . . . . . . . . . . . 1006.6 Transforming generalized inertia matrices. . . . . . . . . . . . 1046.7 Segments used in dynamics analysis. . . . . . . . . . . . . . . . 1076.8 Segment A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096.9 Segment C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106.10 Segment BE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.11 Segment BE decomposition. . . . . . . . . . . . . . . . . . . . 1136.12 Segment DF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.13 Segment DF decomposition. . . . . . . . . . . . . . . . . . . . 1146.14 Power spectrum. . . . . . . . . . . . . . . . . . . . . . . . . . . 1186.15 Bode diagram, joint 1. . . . . . . . . . . . . . . . . . . . . . . . 1206.16 Bode diagram, joint 2. . . . . . . . . . . . . . . . . . . . . . . . 1216.17 Bode diagram, joint 3. . . . . . . . . . . . . . . . . . . . . . . . 1226.18 Joint trajectories with no force applied. . . . . . . . . . . . . . 1236.19 Joint trajectories, fx = −0.1. . . . . . . . . . . . . . . . . . . . 1246.20 Joint trajectories, fy = 0.1. . . . . . . . . . . . . . . . . . . . . 1256.21 Joint trajectories, fz = 0.1. . . . . . . . . . . . . . . . . . . . . 1266.22 Static force evaluation. . . . . . . . . . . . . . . . . . . . . . . 1296.23 Dynamic force evaluation. . . . . . . . . . . . . . . . . . . . . . 1306.24 Filtering triggered stability test. . . . . . . . . . . . . . . . . . 1326.25 Position C.C., KP = 10, KF = 0.5. . . . . . . . . . . . . . . . . 1356.26 Position C.C., KP = 30, KF = 0.5. . . . . . . . . . . . . . . . . 1356.27 First experience with crossed controller. . . . . . . . . . . . . . 1366.28 Force C.C., KP = 10, KF = 0.5. . . . . . . . . . . . . . . . . . 1386.29 Force C.C., KP = 30, KF = 0.5. . . . . . . . . . . . . . . . . . 1386.30 Position D.C., KP = 0.5. . . . . . . . . . . . . . . . . . . . . . 1396.31 Position D.C., KP = 2.5. . . . . . . . . . . . . . . . . . . . . . 1406.32 Force D.C., KP = 0.5. . . . . . . . . . . . . . . . . . . . . . . . 1406.33 Force D.C., KP = 2.5. . . . . . . . . . . . . . . . . . . . . . . . 1416.34 Control action direct controller, KP = 0.5. . . . . . . . . . . . 1416.35 Control action direct controller, KP = 2.5. . . . . . . . . . . . 1426.36 Direct force control and constant force. . . . . . . . . . . . . . 1436.37 Direct force control and sinusoidal force. . . . . . . . . . . . . 1446.38 Crossed controller and constant force. . . . . . . . . . . . . . . 1456.39 Crossed controller and sinusoidal force. . . . . . . . . . . . . . 146

xxviii

Page 31: Admittance Matrix 2 Thesis

SUMMARY

The main objective of this thesis is to to develop control strategies to im-

plement haptic playback and to describe the issues involved in using haptics

to teach sensimotor skills. Haptic playback refers to the possibility of si-

multaneously 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

Page 32: Admittance Matrix 2 Thesis

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

tic 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 de-

gree 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

Page 33: Admittance Matrix 2 Thesis

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

Page 34: Admittance Matrix 2 Thesis

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

port framework for haptic systems [3, 6] is presented and stability issues are

discussed [3–7]. 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 MathematicaTM code used to identify

1

Page 35: Admittance Matrix 2 Thesis

2

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

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

Page 36: Admittance Matrix 2 Thesis

3

Stability [3–7,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 de-

scribe physical phenomena do not adapt well to being discretized, as they

no longer describe accurately the phenomenon and may loose fundamen-

tal 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 im-

pedance control. Prior to his work, there were two accepted paradigms:

position control and force control. Hogan opened a third way through in-

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

Page 37: Admittance Matrix 2 Thesis

4

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

ception) and tactile.

Tactile information refers to the sense of the type of contact with the ob-

ject 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 re-

gion. Tactile sensations can communicate a great variety of properties, such

as, pressure, texture, puncture, thermal properties, softness, wetness, friction-

induced 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, iden-

tification 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

Page 38: Admittance Matrix 2 Thesis

5

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

ditional 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 1950’s 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

Page 39: Admittance Matrix 2 Thesis

6

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

plications 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 inter-

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

Page 40: Admittance Matrix 2 Thesis

7

Vehicle operation and control rooms. In fast-paced environments hap-

tic 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 con-

ditions 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 computer-

controlled stimuli [38].

Education and training. Dangerous systems or systems with very lim-

ited 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 inter-

faces.

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.

Page 41: Admittance Matrix 2 Thesis

8

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

ing sensimotor skills, especially in those fields where the training through tra-

ditional method is expensive, such as medical training (for example [10,13,21,

65, 72–74]). Traditional haptic systems are virtual reality systems that allow

users to explore a virtual environment; from the training standpoint this ap-

proach 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 dis-

playing prerecorded information of position and force. When a task that re-

quires interaction with the environment is performed, it can be described by

Page 42: Admittance Matrix 2 Thesis

9

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

forming 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 hap-

tic 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 play-

back it is meant a method of displaying pre-recorded force and position

data. Position and force are the two dimensions involved in a sensorimo-

tor 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 hap-

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

Page 43: Admittance Matrix 2 Thesis

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

ization system that provides a visual representation of the virtual environment.

Therefore there is an additional channel that must be taken into considera-

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

Page 44: Admittance Matrix 2 Thesis

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

technique to overcome the lack of force sensors is outlined and experi-

mental results presented. One of the difficulties encountered in this work

is related to the control software of the PHANToMTM. GHOST R©, the

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

Page 45: Admittance Matrix 2 Thesis

CHAPTER 2

TWO-PORT FRAMEWORK

2.1 Network theory

The study of stability and control in telerobotics and hence of haptic in-

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

{[ek, ik]tft0, 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

Page 46: Admittance Matrix 2 Thesis

13

Human-to-device interaction in haptic display can be characterized in net-

work 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 re-

sistor 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 charac-

terized 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 electri-

cal elements are connected in series, their combined impedance is additive,

ztotal(s) = z1(s) + z2(s), conversely in mechanical systems an additive im-

pedance 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 cur-

rents 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 yTu = f1v1 + f2(−v2)

Page 47: Admittance Matrix 2 Thesis

14

Table 2.1. Electrical elements and mechanical counterparts.

electrical system mechanical system

capacitor spring

e(s) = 1Cs

i(s)

i(s)

+

-

e(s) C

k

f(s)

v(s)

F (s) = ksv(s)

resistor damper

e(s) = Ri(s)

i(s)

+

-

Re(s) f(s)

v(s)

b

F (s) = bv(s)

inductor mass

e(s) = Lsi(s)

i(s)

+

-

Le(s)

v(s)

m

f(s) F (s) = msv(s)

Page 48: Admittance Matrix 2 Thesis

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

F2

=

z11 z12

z21 z22

v1

−v2

(1)

v1

−v2

=

y11 y12

y21 y22

F1

F2

(2)

F1

−v2

=

h11 h12

h21 h22

v1

F2

(3)

v1

F2

=

g11 g12

g21 g22

F1

−v2

(4)

Figure 2.1. Immittance mappings: impedance (1), admittance (2), hybrid (3), al-ternate 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].

Page 49: Admittance Matrix 2 Thesis

16

Consider the dynamical system represented by the state model:

x = f(x, u)

y = h(x, u)(2.2)

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

uTy ≥ V =∂V

∂xf(x, u), ∀(x, u) ∈ Rn ×Rp (2.3)

Moreover, it is said to be

• lossless if uTy = V .

• input-feedforward passive if uTy ≥ V +uTϕ(u) for some function

ϕ.

• input-strictly passive if uTy ≥ V + uTϕ(u) and uTϕ(u) >

0, ∀u 6= 0.

• input-feedback passive if uTy ≥ V + yTρ(y) for some function ρ.

• output-strictly passive if uTy ≥ V + yTρ(y) and yTρ(y) >

0, ∀y 6= 0.

• strictly passive if uTy ≥ V +ψ(x) for some positive definite func-

tion ψ

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

Page 50: Admittance Matrix 2 Thesis

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.

-

+y

Σ1

Σ2

r u

(a) feedback interconnection

Σ1

Σ2

+yr

(b) feedforward interconnection

Figure 2.2. Passive interconnections.

Page 51: Admittance Matrix 2 Thesis

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

stant; from this characteristic is possible to derive stability properties. When

dealing with two-port networks the energy behavior is an open-ended ques-

tion; 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 two-

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

-++

-

-

+

-

+

f2(s)N

NLf ′

2(s)

f1(s)

v1(s) −v2(s)

−v′2(s)v′1(s)

f ′1(s)

Figure 2.3. Terminated two-port network.

Page 52: Admittance Matrix 2 Thesis

19

Theorem 2.4.1 ( [6]) A terminated two-port network, when linear and con-

tinuous (discrete), is said to be stable if and only if the corresponding charac-

teristic 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 char-

acterize 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,∫ t

0

(f ′

1(τ)v′1(τ) + f ′

2(τ)(−v′2(τ)))dτ + E(0) ≥ 0, ∀t ≥ 0 (2.4)

for all admissible forces (f ′1, f

′2) and velocities (v′1,−v′2).

As seen, intuitively this means thatNL 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,

Page 53: Admittance Matrix 2 Thesis

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

• ZT (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 (2.5)

Re(p11)Re(p22) −∣∣∣∣p21 + p12

2

∣∣∣∣2

≥ 0, ∀ ω ≥ 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

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

Page 54: Admittance Matrix 2 Thesis

21

N

−v2(s)v1(s)

NL2

++

- -

NL1 f1(s) f2(s)

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

Llewellyn’s 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 (2.7)

2Re(p11)Re(p22) ≥ |p12p21| +Re(p12p21) (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 ab-

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

r22 = Re(p22) (2.10)

r121 = Re (√p12p21) . (2.11)

Page 55: Admittance Matrix 2 Thesis

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,r2121

r11r22+

(|p12| − |p21|)2

4r11r22≤ 1. (2.12)

Applying the same transformations, the last condition for absolute stability in

theorem 2.4.5 becomesr2121

r11r22≤ 1. (2.13)

Using the following transformations,

x =r2121√r11r22

and y =||p12| − |p21||

2√r11r22

. (2.14)

It is easy to note that (2.12) represents the interior of the unit circle x2+y2 = 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 x−y 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 environ-

ments 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 assem-

bly 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

Page 56: Admittance Matrix 2 Thesis

23

active +absolutelystable

active + potentiallyunstable

passive

x0 10

1

y

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

lined 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 v∗e and f ∗e indicate

Page 57: Admittance Matrix 2 Thesis

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

ronment, 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 dif-

ferentiate 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

Page 58: Admittance Matrix 2 Thesis

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.

Page 59: Admittance Matrix 2 Thesis

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

T

E

V

D

vh

ZOH1s

z−n

H

fh

Figure 2.8. Colgate’s 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

Page 60: Admittance Matrix 2 Thesis

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

played. Equation (2.15) can be rewritten as

α <δγ

δ + γ, (2.16)

which shows that the lack of passivity of the virtual environment is compen-

sated 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 envi-

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

∫ χ

0ψ(ζ, 0, 0)dζ > −∞

(bounded from below in χ).

3. The parameters σ, β and φ defined below are finite.

For nondelayed environments

σ = supa 6=b

ψ(b, 0, 0) − ψ(a, 0, 0)

a− b(2.17)

β = supχ

ν 6=0

ψ(χ, 0, 0) − ψ(χ, ν, 0)

ν(2.18)

φ = supχ

ν 6=0

|ψ(χ, ν, 0) − ψ(χ, ν, η)||η| . (2.19)

Page 61: Admittance Matrix 2 Thesis

For delayed environments

σ = supa 6=b

ψ(a, 0, 0) − ψ(b, 0, 0)

a− b(2.20)

β = supχ

ν 6=0

|ψ(χ, 0, 0) − ψ(χ, ν, 0)||ν| (2.21)

φ = supχ

ν 6=0

|ψ(χ, ν, 0) − ψ(χ, ν, η)||η| . (2.22)

Under the previous conditions α results to be bounded by

1

2σT + β +

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

ever, 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

Page 62: Admittance Matrix 2 Thesis

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

troduced at a fast pace. Laparoscopic, endoscopic and arthroscopic surgeries

have emerged in the past few years and surgeons have had short time to mas-

ter 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 vari-

ety 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 them-

selves 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 single-

tasking human trainer with a cheaper machine available twenty four hours a

29

Page 63: Admittance Matrix 2 Thesis

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

Page 64: Admittance Matrix 2 Thesis

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 trainee’s 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 trainer’s 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 com-

ponent 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 prac-

tice 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

Page 65: Admittance Matrix 2 Thesis

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

taneously 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 ex-

erted 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 trajecto-

ries and providing information on the other through a different channel. The

most natural channel to convey information is obviously a visual representa-

tion. Several attempts have been made in this direction. The most relevant

achievements can be summarized by the following systems.

Page 66: Admittance Matrix 2 Thesis

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

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

Page 67: Admittance Matrix 2 Thesis

34

virtual paper

robot arm 1

robot arm 2

force sensor

force sensor

Figure 3.1. Virtual calligraphy system.

Later the student is presented with a trajectory to follow. The underly-

ing assumption is that if the trajectory is perfectly followed the student

will feel the same sensation that the expert user felt, giving that the en-

vironment 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 or-

der 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

Page 68: Admittance Matrix 2 Thesis

teacher feels when pushing the surface. This solution is interesting and

innovative, but difficult to implement for more than 1 DOF.

virtualobject

position control

forcecontrol

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

Page 69: Admittance Matrix 2 Thesis

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

turing plants. They were used mainly for duties such as spray-painting or

36

Page 70: Admittance Matrix 2 Thesis

37

VE

HD

H

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

tact 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) = τ − JT (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

Page 71: Admittance Matrix 2 Thesis

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

pedance 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− x0) +KD(x− x0) = fint, (4.2)

where MD, CD and KD are respectively the target inertia, damping and stiff-

ness and x0 is called virtual trajectory.

4.3 Impedance control implementations

There are mainly two different control schemes used to implement im-

pedance 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 in-

ner 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 kinemat-

ics 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

Page 72: Admittance Matrix 2 Thesis

39

controlimpedance

controlposition

+environment

manipulator

kinematicsdirect

inner position control loop

xeq

fint

x

x0 τ

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 − x0) +KD(x − x0) = fint. The impedance controller

creates the position adjustment vector xa by filtering the measured interaction

force to satisfy

fint = MDxa + CDxa +KDxa (4.3)

via

Xa(s) = [MDs2 + CDs+KD]−1Fint(s). (4.4)

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

mand:

X(s) = X0(s) +Xa(s) (4.6)

but

Xa(s) = [MDs2 + CDs+KD]−1Fint(s) (4.7)

Page 73: Admittance Matrix 2 Thesis

40

therefore

X(s) −X0(s) = [MDs2 + CDs+KD]−1Fint(s), (4.8)

whose Laplace inverse transform can be written as

MD(x− x0) + CD(x− x0) +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 actua-

tor [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-

controlimpedance

+environment

manipulator

direct kinematic

manipulatordymanics

+x0

q

q

q

JTfc

xxx

τ

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)

Page 74: Admittance Matrix 2 Thesis

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

vironment 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 manipu-

lator 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 im-

pedances with great stiffness. For more details on the implementation of im-

pedance 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

Page 75: Admittance Matrix 2 Thesis

42

device then the human operator will be the environment and the virtual en-

vironment 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 manipu-

lated 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 cal-

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

Page 76: Admittance Matrix 2 Thesis

43

x0x

CD(t)MD(t)

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

Page 77: Admittance Matrix 2 Thesis

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

dent 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

∂t+∂V

∂xf(t, x) ≤ 0 (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 intro-

ducing 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→ ∞.

Page 78: Admittance Matrix 2 Thesis

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

t0≤τ≤t

||u(τ)||)

(4.19)

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

∂t+∂V

∂xf(t, x, u) ≤ −W3(x), ∀||x|| ≥ ρ(||u||) > 0 (4.21)

∀(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 prob-

lem of stability of an impedance controlled manipulator with modulated im-

pedance. 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)−x0(t))+KD(t)(x(t)−x0(t)) = fint(t) (4.22)

Page 79: Admittance Matrix 2 Thesis

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

y1(t) = y2(t) (4.24)

y2(t) = −M−1D (t)KD(t)y1(t) −M−1

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

V (~y, t) =1

2KD(t)y2

1(t) +1

2MD(t)y2

2(t) (4.26)

It is now possible to apply theorem 4.4.1 and find the conditions for stability.

The fist condition yields

1

2Kmin

D y21(t) +

1

2Mmin

D y22(t) ≤ V (~y, t) ≤ 1

2Kmax

D y21(t) +

1

2Mmax

D y22(t), (4.27)

while from the second condition we derive

V (~y, t) =∂V

∂t+∂V

∂yf(~y, t)

=1

2KD(t)y2

1 +1

2MD(t)y2

2 +

+[y1KD(t) y2MD(t)

·[

y2(t)

−M−1D (t)KD(t)y1(t) −M−1

D CD(t)y2(t)

]

=1

2KD(t)y2

1 +1

2MD(t)y2

2 − CD(t)y22(t) ≤ 0 (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 increas-

ing KD or MD may (recall that Lyapunov’s stability theorem is sufficient

Page 80: Admittance Matrix 2 Thesis

47

condition) cause instability; it is possible to compensate for this instability in-

creasing the damping factor. The result was predictable: in order to increase

the inertia or stiffness coefficients the controller must inject energy in the sys-

tem, 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) = −M−1D (t)KD(t)y1(t) −M−1

D CD(t) −M−1D 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.

V (~y, t) ≤ 1

2Kmax

D y21(t) +

1

2Mmax

D y22(t) (4.31)

≤ 1

2max (Kmax

D ,MmaxD ) (y2

1(t) + y22(t)) ≤ α2 (||~y||) (4.32)

where it was supposed that MD(t) and KD(t) are bounded; it is trivial to prove

that

α2 (||~y||) =1

2max (Kmax

D ,MmaxD ) (||~y||)2 (4.33)

is a class K∞ function. Similarly

V (~y, t) ≥ 1

2Kmin

D y21(t) +

1

2Mmin

D y22(t) (4.34)

≥ 1

2min

(Kmin

D ,MminD

)(y2

1(t) + y22(t)) ≥ α1 (||~y||) (4.35)

where α1 (||~y||) = 12max (Kmax

D ,MmaxD ) (||~y||)2. Conditions (4.32) and (4.35)

only require the boundness of the stiffness and inertia parameters which is a

Page 81: Admittance Matrix 2 Thesis

48

reasonable condition. More problems are posed by the second condition of the

theorem:

V (~y, t) =1

2KD(t)y2

1 +1

2MD(t)y2

2 +

− CD(t)y22(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 12KD(t)y2

1 + 12MD(t)y2

2 − CD(t)y22(t) ≤

−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)(xH(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)− x0(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)x0(t) −KH(t)x(t) −KD(t)x0(t) = 0. (4.39)

Page 82: Admittance Matrix 2 Thesis

If x0 is constant at steady state, we get

x(t) =KH x+KDx0

KH +KD

(4.40)

εp , x∞ − x0 =KH

KH +KD

(x− x0) (4.41)

which represents the steady state position error. The steady state force error

can be written as

f∞ = KD(x∞ − x0) = KDεp (4.42)

εf , f∞ − fD = KDεp − fD, (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

Page 83: Admittance Matrix 2 Thesis

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

ded 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 en-

vironment 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 informa-

tion 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

Page 84: Admittance Matrix 2 Thesis

51

The proposed framework has been developed specifically for haptic play-

back 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:

Page 85: Admittance Matrix 2 Thesis

52

controller

fd

xd

x0

fu

xu

fact

fu

xu

visualdisplay

user

hapticdisplay

target position

requested force

Figure 5.1. Proposed framework for haptic playback. The visual channel is explicitlyrepresented.

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

Page 86: Admittance Matrix 2 Thesis

53

simple one DOF system is shown. The dynamics of this simple example can

x

mfact

fu

Figure 5.2. One DOF haptic device

be written as

mxu = 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 im-

plications: (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 applica-

ble, 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 dif-

ferent fields [1, 14]. Many results have been aimed at rehabilitation purposes

Page 87: Admittance Matrix 2 Thesis

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

mental 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 exam-

ple, 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)

Page 88: Admittance Matrix 2 Thesis

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

resents 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 andG 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 con-

ditions 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,

D = I q∗(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

C(q, q, t) = I q∗(t) + G−K(q(t) − q∗(t)

)− V

(q(t) − 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.

Page 89: Admittance Matrix 2 Thesis

56

In order to explain this, Mussa-Ivaldi proposes that the internal model, which

the controller is based upon, is modified, obtaining:

C(q, q, t) = I q∗(t) + G+ ε−K(q(t) − q∗(t)

)− V

(q(t) − 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

D(q, q, q) = I q∗(t)+ G+E(q, q, 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-Ivaldi’s approach and is specifically tailored to haptic playback applica-

tions. 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 user’s 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) = −ke−sτ (Xu(s) −X0(s)) − Fact(s) + αsFact(s). (5.11)

The model depends on five parameters. In the position feedback term, k de-

scribes a stiffness and τ the inevitable delay involved in the hand-eye coordi-

1as in opposition to “intelligently designed”.

Page 90: Admittance Matrix 2 Thesis

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

the differential term is approximated by α s+zs+p

Fact(s), yielding

Fu(s) = −ke−sτ (Xu(s) −X0(s)) − Fact(s) + αs+ z

s+ pFact(s). (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 run-

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

Page 91: Admittance Matrix 2 Thesis

58

Human subjects. In order to validate the model and estimate the five para-

meters, 4 subjects were recruited. The subjects were chosen among right

handed males with no known history of neurological disorder and rang-

ing 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 refer-

ence 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 cho-

sen 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 para-

meters, 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

Page 92: Admittance Matrix 2 Thesis

59

simulated trajectory of the system would match the recorded trajectory.

The resulting system can be described as

mxu + cxu = 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 re-

ported in Figure 5.3. Each test shows the recorded trajectory, the sim-

ulated 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 x f m c k τ z p α

1 64mm −2.7 0.04 2.6 4 0.3 0.01 16 0.3

2 −31mm 0.87 0.04 2.6 5.2 0.25 0.01 12 0.3

3 40mm −0.97 0.04 2.6 8 0.2 0.01 16 0.3

4 23mm −1.09 0.04 2.6 5.5 0.26 0.01 12 0.3

Table 5.1. Identified subjects parameters.

Page 93: Admittance Matrix 2 Thesis

60

0 1 2 3 4 5 6 7 8 9−0.03

−0.02

−0.01

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

time [s]

x po

sitio

n [m

]

recordedsimulated

(a) Subject 1.

0 1 2 3 4 5−0.035

−0.03

−0.025

−0.02

−0.015

−0.01

−0.005

0

0.005

0.01

time [s]

x po

sitio

n [m

]

recordedsimulated

(b) Subject 2.

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

Page 94: Admittance Matrix 2 Thesis

61

0 1 2 3 4 5 6 7 8−0.01

0

0.01

0.02

0.03

0.04

0.05

time [s]

x po

sitio

n [m

]

recordedsimulated

(a) Subject 3.

0 1 2 3 4 5 6 7−0.01

−0.005

0

0.005

0.01

0.015

0.02

0.025

0.03

time [s]

x po

sitio

n [m

]

recordedsimulated

(b) Subject 4.

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

Page 95: Admittance Matrix 2 Thesis

62

5.4 Control strategies

The proposed framework opens a completely new possibility. Henmi, Yo-

shikawa 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 possi-

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

controller

fd

xd

x0

fu

xu

fact

fu

xu

visualdisplay

user

hapticdisplay

target position

requested force

Figure 5.5. The proposed framework: a control theory perspective to haptic playback

Page 96: Admittance Matrix 2 Thesis

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

ulations 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

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

Page 97: Admittance Matrix 2 Thesis

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

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

)+

(+KI

∫ t

0

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

erts 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 measure-

ment, 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) (5.19)

fact(t) = −fd(t) +K(xu(t) − x0(t)

), (5.20)

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

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

Page 98: Admittance Matrix 2 Thesis

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

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

)(5.23)

fact(t) = −fd(t) −KF

(x(t) − xd(t)

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

Page 99: Admittance Matrix 2 Thesis

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 user’s 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:

mxu + cxu = fu + fact (5.25)

with fu determined by the transfer function

Fu(s) = −ke−sτ (Xu(s) −X0(s)) − Fact(s) + αs+ z

s+ pFact(s). (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

Page 100: Admittance Matrix 2 Thesis

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

2

Fu

1

x

user noise

(s+z)

(s+p)

Zero−Pole

TransportDelay

1

m.s +c.s2

Transfer Fcn

−K−

Gain2

k

Gain1

2

Fact

1

x0

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

Page 101: Admittance Matrix 2 Thesis

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.

Page 102: Admittance Matrix 2 Thesis

69

1 2 3 4 5 6 7 8 9

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

time [s]

posi

tion

[m]

referenceopenloop controllerdirect forcecoupled controllercrossed

(a) position.

2 4 6 8 10 121.5

1.6

1.7

1.8

1.9

2

2.1

2.2

time [s]

forc

e [N

]

referenceopenloop controllerdirect forcecoupled controllercrossed

(b) force.

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

Page 103: Admittance Matrix 2 Thesis

70

1 2 3 4 5 6 7 8 9−0.02

−0.01

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

time [s]

posi

tion

[m]

referenceopenloop controllerdirect forcecoupled controller

(a) position

0 2 4 6 8 10 121.5

1.6

1.7

1.8

1.9

2

2.1

2.2

2.3

2.4

2.5

time [s]

forc

e [N

]

referenceopenloop controllerdirect forcecoupled controller

(b) force

Figure 5.8. Delayed user: response to double step.

Page 104: Admittance Matrix 2 Thesis

71

0 2 4 6 8 10 12 14−0.02

0

0.02

0.04

0.06

0.08

0.1

0.12

time [s]

posi

tion

[m]

referencecrossed K

P = 0.21

crossed KP = 0.21

crossed KP = 0.22

crossed KP = 0.23

crossed KP = 0.24

(a) position

0 2 4 6 8 10 12 14−0.5

0

0.5

1

1.5

2

2.5

3

3.5

time [s]

forc

e [N

]

referencecrossed K

P = 0.20

crossed KP = 0.21

crossed KP = 0.22

crossed KP = 0.23

crossed KP = 0.24

(b) force

Figure 5.9. Delayed user: crossed controller response to double step with differentgains.

Page 105: Admittance Matrix 2 Thesis

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.

+

-

+

+

X0

-

+

+

ke−sτ

Fu

Fact

H(s)

G(s)CP (s)

Xu

Fd

Xd

Figure 5.10. Block diagram of fact control loop in the crossed controller

Page 106: Admittance Matrix 2 Thesis

73

+

+

+

+

H(s)

Fact

-

+-

+

+

-

ke−sτ

Fu

G(s)X0

CF (s)Fd

Xd

Xu

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

troller 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

Page 107: Admittance Matrix 2 Thesis

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

mxu(t) + cxu(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

Xu

+ +

-Fd - FuX0 −ke−sτ

1ms2+cs

−KP

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 (ms2 + c s)(ms2 + cs+ k)

(m+KP km) s2 + (c+KP k c) s+ k. (5.29)

Page 108: Admittance Matrix 2 Thesis

75

+ FuKP G1(s)

Fd

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

Xu

-

++

1ms2+cs

-

G2(s)

FuX0ke−sτKP

Fd

Figure 5.14. Block diagram of the simplified model with delay

Page 109: Admittance Matrix 2 Thesis

76

loop, it is obtained that

G2(s) =k e−s τ (ms2 + c s)

ms2 + c s+ k e−s τ(5.30)

Solving the outer loop with the loop transfer function KPG2(s) yields the

delayed closed loop transfer function,

HDfd→fu

(s) =KPke

−sτ (ms2 + cs)(ms2 + cs+ ke−sτ )

ms2 + cs+ ke−sτ +KPke−sτms2 +KPke−sτcs. (5.31)

It is clear that the transcendental term k e−s τ 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],

e−s τ =1 − sτ/2

1 + sτ/2,

1 − sT

1 + sT. (5.32)

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

function is obtained,

G2(s) =−mT k s3 + (km− c T k)s2 + k cs

mT 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 func-

tion of the system depicted in Figure 5.14, KP G2(s). Solving the loop, the

denominator of the closed loop transfer function can be written as

D(s) + KPN(s) =

mT s3 +ms2 + c T s2 + C s−K T s+K −M T kKP s3

+kKP ms2 − c T kKP s2 + kKP 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

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

Page 110: Admittance Matrix 2 Thesis

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+ kKP 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 = − ck.

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

Page 111: Admittance Matrix 2 Thesis

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

−3.5 −3 −2.5 −2 −1.5 −1 −0.5 0−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Root Locus

Real Axis

Imag

inar

y A

xis

(a) Real loci.

−3.5 −3 −2.5 −2 −1.5 −1 −0.5 0 0.5−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Root Locus

Real Axis

Imag

inar

y A

xis

(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−mkKP )s2 + (c− c k KP )s− k

](5.36)

= s[(ms2 + c s− k) −KP (kms2 + k c s)

](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(ms2+c s−k), but

when KP = 1k

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

when KP = 1k

+. There is a discontinuity. The system abruptly changes its

Page 112: Admittance Matrix 2 Thesis

79

dynamics as KP reaches and passes the threshold. The abrupt change can be

easily understood considering polynomial (5.36), its roots are:

s1 =c− c k KP −

√−1 + kKP ·

√−c2 + c2 kKP − 4km

2(−m+ kKP m)(5.38)

s2 =c− c k KP +

√−1 + kKP ·

√−c2 + c2 kKP − 4km

2(−m+ kKP m)(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

limKP→ 1

k

s1 = − c

2m− lim

KP→ 1k

√−1 + kKP ·

√−4km

2(−m+ kKP m)

= − c

2m−

√−4km

2mlim

KP→ 1k

√−1 + kKP

−1 + kKP

= − c

2m+ j

√4km

2mlim

KP→ 1k

j

√1 − kKP

1 − kKP

= − c

2m−

√4km

2mlim

KP→ 1k

1√1 − kKP

= −∞ + 0 · j, (5.40)

similarly,

limKP→ 1

k

s2 = +∞ + 0 · j. (5.41)

Taking the limit from right, the result is

limKP→ 1

k

+s1 = − c

2m− lim

KP→ 1k

+

√−1 + kKP ·

√−4km

2(−m+ kKP m)

= − c

2m−

√−4km

2mlim

KP→ 1k

+

1√−1 + kKP

= − c

2m− j

√4km

2mlim

KP→ 1k

+

1√−1 + kKP

= − 2

2m− j · ∞

and similarly,

limKP→ 1

k

+s2 = − 2

2m+ j · ∞. (5.42)

Page 113: Admittance Matrix 2 Thesis

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

Real Axis

Imag

inar

y A

xis

−5 −4 −3 −2 −1 0 1 2 3 4−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

Figure 5.16. Root locus for N ′(s)

• KP < 1k. The roots of (5.37) are real, one is stable and the second one

unstable.

• 1k< KP < 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

transition is continuous.

When KP passes 1k

the roots jump form the real axis to the imaginary axis.

Page 114: Admittance Matrix 2 Thesis

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

pending on the value of KP . This can be verified by plotting the root loci

of

N ′(s;KP ) + TD′(s;KP ) =

= (ms2 + cs+ k) +KP (kms2 + kcs)

+ Ts[(ms2 + c s− k) −KP (kms2 + k c s)

]. (5.43)

It can be seen that when KP passes 1k

the leading term of D′(s;KP ) changes

sign. What happens is that the negative feedback characteristic equation, that

can be written as

T∏

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

(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

Page 115: Admittance Matrix 2 Thesis

82

−3.5 −3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

Root Locus

Real Axis

Imag

inar

y A

xis

Tcrit

Tcrit

Figure 5.17. Roots locus diagram for N ′(s) + T D′(s) with KP < 1k.

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 < 1k, 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 > 1k, 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 < 1k, 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

Page 116: Admittance Matrix 2 Thesis

83

Root Locus

Real Axis

Imag

inar

y A

xis

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−3

−2

−1

0

1

2

3

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

< KP < K.

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

form

CE(s, τ) =n∑

k=0

ak(s)e−kτs (5.46)

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

Page 117: Admittance Matrix 2 Thesis

84

−2.5 −2 −1.5 −1 −0.5 0 0.5 1−0.6

−0.4

−0.2

0

0.2

0.4

Root Locus

Real Axis

Imag

inar

y A

xis

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

imation. The mapping condition for (5.47) can be derived as,

τ =2

ω

[tan−1(ω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

n∑

k=0

ak(s)

(1 − Ts

1 + Ts

)k

= 0 (5.49)

Page 118: Admittance Matrix 2 Thesis

85

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

n∑

k=0

ak(s)(1 − Ts)n−k(1 + Ts)k = 0. (5.50)

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

2n∑

k=0

bksk = 0 (5.51)

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

(∓wkj). The method can be thus schematically represented as

T = ξkgenerates−−−−−→ ωk

generates−−−−−→ τ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)

Page 119: Admittance Matrix 2 Thesis

86

possesses a pair of imaginary roots at s = ∓wkj. The root tendency of these

roots, defined as

RT∣∣ω=ωkτ=τkl

= sgn

[Re

(ds

∣∣∣∣s=ωkjτ=τkl

)](5.53)

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, ωkj, 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 trans-

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

Routh’s criterion.

Page 120: Admittance Matrix 2 Thesis

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)e−sτ + a0 = (mkKP s

2 + ckKP s+ k)e−τs +ms2 + cs = 0. (5.54)

Given that the system is second order, a term e−2τs would be necessary to

comply with (5.46). Therefore we need to adapt the continuity argument. It

has been shown that, if KP > 1k, 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 > 1k

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 > 1k

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)

)(5.55)

fact(t) = −fd(t) −KF

(xu(t) − xd(t)

)(5.56)

Page 121: Admittance Matrix 2 Thesis

when coupled to a human user which is modelled as

Fu(s) = −ke−sτ (Xu(s) −X0(s)) − Fact(s) + αs+ z

s+ pFact(s), (5.57)

is asymptotically stable if and only if

KP <1

k(5.58)

τ < τcrit (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

Page 122: Admittance Matrix 2 Thesis

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

mission between three DC brushed motors with encoders and the

89

Page 123: Admittance Matrix 2 Thesis

90

Figure 6.1. PHANToMTM Premium.

human finger. The x, y and z coordinates of the user’s 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 trans-

mitted 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 pro-

vides an API through which the system can be controlled. This API was

designed to be used by programmers with no deep understanding of the is-

sues involved in haptics. The API allows to use a graph-like representation

Page 124: Admittance Matrix 2 Thesis

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

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

brary 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 Hooke’s 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

Page 125: Admittance Matrix 2 Thesis

92

GHOST

kinematics

interfacetool

transposejacobian

forward

motors encoders

user D/A converterservo amp

transmissionlinkages

θ∗anglessensed

HAPTIC DEVICE

HAPTIC CONTROLLER

xu fu

f

x

τ

θ

θ

i current

desiredtorque

f ∗d desired

forcex∗

τ ∗d

sensedposition

Figure 6.2. PHANToMTM haptic interface controller.

Page 126: Admittance Matrix 2 Thesis

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 I2R, 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:

I2max × Duty Cycle ×R

(Imax × Duty Cycle)2 ×R=

1

Duty Cycle(6.1)

For example, at 14

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

mated 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 dif-

ferentiation. 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 =△x△t =

0.03 mm

0.001 s= 30 mm/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 as-

sumed that the device uses some estimation techniques for the velocity. In [16]

Page 127: Admittance Matrix 2 Thesis

94

it is stated that the technique used is moving averaging over 100 samples. Ex-

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

2.95 3 3.05 3.1 3.15 3.2 3.25 3.3−190

−185

−180

−175

−170

−165

−160

−155

−150moving average, window 25 samplesmoving average, window 50 samplesmoving average, window 100 samplesPHANToM I/O

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

Page 128: Admittance Matrix 2 Thesis

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

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

Page 129: Admittance Matrix 2 Thesis

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

ization 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 Cavusoglu 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-Hartenberg’s 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 anthropo-

morphic manipulator. The PHANToMTM Premium is not capable of exerting

1MKS: meter-kilogram-second.

Page 130: Admittance Matrix 2 Thesis

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

ulator. Figure 6.4 shows the initial configuration and the naming convention

adopted.

l1

l2

z

x

y

z

x

y

Spatial and Tool Frames

θ1

θ3

θ2

Figure 6.4. Initial configuration of the manipulator.

Page 131: Admittance Matrix 2 Thesis

98

The kinematic configuration of the manipulator is characterized by the

following points and vectors:

ω1 =[

0 1 0]T

(6.3)

ω2 = ω3 =[−1 0 0

]T(6.4)

q1 =[

0 0 −l1]T

(6.5)

q2 = q3 =[

0 l2 −l1]T. (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(θ) p(θ)

0 0 0 1

], (6.8)

where

R(θ) = eω1θ1eω3θ3I3×3 (6.9)

and

p(θ) = H

eξ1θ2eξ2θ2

0

I3×3 l2

0

0 0 0 1

0

0

0

1

+

R(θ)

0

−l20

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

Page 132: Admittance Matrix 2 Thesis

99

not influence the orientation of the Tool frame. Solving for the exponentials,

gst(θ) can be written as:

gst(θ) =2666664 cos (θ1) − sin (θ1) sin (θ3) cos (θ3) sin (θ1) sin (θ1)(l1 cos (θ2) + l2 sin (θ3))

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

0 0 0 1

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

Jsst(θ) =

[. . .

(∂gst

∂θig−1st

)∨. . .

](6.12)

=

l1 −l1 sin(θ1) sin(θ2) sin(θ1)(l2 + l1 sin(θ2))

0 l1 cos(θ2) l1(cos(θ1) − cos(θ2))

0 −l1 cos(θ1) sin(θ2) cos(θ1)(l2 + l1 sin(θ2))

0 0 − cos(θ1)

1 0 0

0 0 sin(θ1)

, (6.13)

where the operator ∨ extracts the 6-dimensional vector which parameterizes a twist.

Similarly the Body Jacobian is calculated by

Jbst(θ) =

[. . .

(g−1st

∂gst

∂θi

)∨. . .

](6.14)

=

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

0 l1 cos(θ2 − θ3) 0

0 −l1 sin(θ2 − θ3) l2

0 0 −1

cos(θ3) 0 0

sin(θ3) 0 0

. (6.15)

Page 133: Admittance Matrix 2 Thesis

100

Spatial Frame

Tool Frame

Four barlinkage

z

x

y

x z

y

θ2θ2

θ3

θ3

(a) Side view.

Spatial Frame

Tool Frame

x

y z

x

zy

θ1

(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

V Sst (t) = JS

st(θ)θ (6.16)

Page 134: Admittance Matrix 2 Thesis

101

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

V Sst (t) =

RstR

Tst −RstR

Tstpst + pst

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:

pst(t) = Jvst(θ)θ, (6.18)

where pst(t) is the end effector velocity in the spatial frame. The simplified version

of the Jacobian is simply obtained differentiating (6.10), obtaining,

Jv

st(θ) =

∂p(θ)

∂θ

=

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

0 l1 cos(θ2) l2 sin(θ3)

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

τ = (Jvst(θ))

T f, (6.20)

where τ is the vector of joint torques and f is a Cartesian force at the end effector.

Page 135: Admittance Matrix 2 Thesis

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

dt

∂L

∂θi

− ∂L

∂θ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 po-

tential 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

m =

V

ρ(r)dV, (6.23)

where V is the volume occupied by the rigid body and ρ is the density. The center

of mass of the body is defined as

r =1

m

V

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

Page 136: Admittance Matrix 2 Thesis

103

and the kinetic energy of the object is given by the following volume integral:

T =1

2

V

ρ(r)∥∥∥p + Rr

∥∥∥2dV. (6.26)

Expanding the product in the integral yields

T =1

2

V

ρ(r)(‖p‖2 + 2pT Rr + ‖Rr‖2

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

V

ρ(r)(Rr)T (Rr)dV =1

2ωTIω, (6.28)

where ω ∈ R3 is the body angular velocity. The symmetric matrix I ∈ R

3×3, defined

by

I =

Ixx Ixy Ixz

Iyx Iyy Iyz

Izx Izy Izz

, (6.29)

is called the inertia tensor.

The total kinetic energy of the object can be written as the sum of the transla-

tional term and the rotational term,

T =1

2m‖p‖2 +

1

2ωTIω (6.30)

=1

2(V b)T

mI 0

0 I

V b ,

1

2(V b)M(V b), (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 transfor-

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

Page 137: Admittance Matrix 2 Thesis

104

spatial frame

~v

~v2

~v1

p1

p p2

m1

m2

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 + m2(m1~v1 + m2~v2). (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 =1

2

(V B

p1

)TMp1

1 V Bp1

+1

2

(V B

p2

)TMp2

2 V Bp2

, (6.33)

where V Bpi is the body velocity of the object i with respect to the frame centered at

its center of mass and Mpj

i 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:

V Bp1

= Adgp1,pVBp (6.34)

V Bp2

= Adgp2,pVBp , (6.35)

Page 138: Admittance Matrix 2 Thesis

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

2

(V B

p1

)TMp1

1 V Bp1

+1

2

(V B

p2

)TMp2

1 V Bp2

(6.36)

=1

2

(V B

p

)T (Adgp1,p

)TMp

1 Adgp1,pVBp +

+1

2

(V B

p

)T (Adgp2,p

)TMp

2 Adgp2,pVBp (6.37)

from which the total generalized inertia can be written as

Mptot =

(Adgp1,p

)TMp

1 Adgp1,p +(Adgp2,p

)TMp

2 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

M(θ)θ + C(θ, θ)θ + N(θ) = ξ. (6.39)

Usually each joint is driven by an actuator and in general the following torque

contributions appear

ξi = τi + τfi − τei (6.40)

where τi is the driving generalized force (usually a torque) at the joint, τfi 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.

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

Page 139: Admittance Matrix 2 Thesis

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 = (Jb)T f b (6.41)

τe = (Js)T fs, (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 trans-

formation 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

Page 140: Admittance Matrix 2 Thesis

107

A

E

G

C

B

D

F

θ1

θ2

yθ3

x

z

Spatial Frame

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

0 1 0]T

(6.43)

ω2 = ω3 =[−1 0 0

]T(6.44)

q1 = q2 = q3 =[

0 0 0]T

(6.45)

ξi =

−ωi × qi

ωi

, 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

Page 141: Admittance Matrix 2 Thesis

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 COM’s 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θ1eω3θ3I3×3 (6.47)

and

pa(θ) = H

eξ1θ2eξ2θ2

0

I3×3 l2

0

0 0 0 1

0

0

0

1

+

R(θ)

0

−l7

0

0

. (6.48)

The potential and kinetic energy of segment A are

Va(θ) = magpay(θ) (6.49)

Ta(θ) =1

2

((vs

a)T Mav

sa + (ωb

a)TIaω

ba

), (6.50)

where

vsa = pa (6.51)

ωba =

(RT

a Ra

)∨. (6.52)

Page 142: Admittance Matrix 2 Thesis

109

Spatial Frame

y

x

z

y

x

z

l1

l7A Frame

Figure 6.8. Segment A.

Segment A is approximated as a hollow aluminium cylinder with internal diam-

eter 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 = 0.0588 (6.53)

Ma =

0.0305 0 0 0 0 0

0 0.0305 0 0 0 0

0 0 0.0305 0 0 0

0 0 0 1.3333 × 10−5 0 0

0 0 0 0 3.3163 × 10−6 0

0 0 0 0 0 1.1486 × 10−5

(6.54)

6.4.2 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θ1eω2θ3I3×3 (6.55)

Page 143: Admittance Matrix 2 Thesis

110

and

pc(θ) = H

eξ1θ2eξ2θ2

0

I3×3 −l3

0

0 0 0 1

0

0

0

1

+

R(θ)

0

l1/2

0

0

. (6.56)

The potential and kinetic energy of segment C are

y

x

z

x

y

z

C Frame

l1/2

l3

Spatial Frame

Figure 6.9. Segment C.

Vc(θ) = mcgpcy(θ) (6.57)

Tc(θ) =1

2

((vs

c)T Mcv

sc + (ωb

c)TIcω

bc

), (6.58)

where

vsc = pc (6.59)

ωbc =

(RT

c Rc

)∨. (6.60)

Page 144: Admittance Matrix 2 Thesis

111

Segment C is approximated as a hollow aluminium cylinder with internal diam-

eter 7.35 mm, outer diameter 10.4 mm and length 15.1 cm. These values yield

l3 = 0.032 (6.61)

Mc =

0.0177 0 0 0 0 0

0 0.0177 0 0 0 0

0 0 0.0177 0 0 0

0 0 0 3.3727 × 10−5 0 0

0 0 0 0 3.3727 × 10−5 0

0 0 0 0 0 3.5794 × 10−7

(6.62)

6.4.3 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θ1eω2θ3I3×3 (6.63)

while the translation is

pbe(θ) = Rbe

0

0

l5

. (6.64)

The potential and kinetic energy of segment BE are

Vbe(θ) = mbegpbey(θ) (6.65)

Tbe(θ) =1

2

((vs

be)T Mbev

sbe + (ωb

be)TIbeω

bbe

), (6.66)

where

vsbe = pbe (6.67)

ωbbe =

(RT

beRbe

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

Page 145: Admittance Matrix 2 Thesis

112

y

x

z

l5

zy

x

BE Frame

Spatial Frame

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)

Mc =

0.3811 0 0 0 0 0

0 0.3811 0 0 0 0

0 0 0.3811 0 0 0

0 0 0 Ibexx 0 0

0 0 0 0 2.4678 × 10−4 0

0 0 0 0 0 7.8781 × 10−5

(6.70)

Note that the position of the center of mass of segment BE is opposite to what

depicted in Figure 6.10.

Page 146: Admittance Matrix 2 Thesis

113

cylindersmallplate

motor

counterweightbigplate

z

x

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θ1eω2θ3I3×3, (6.71)

while the translation is

pdf (θ) = Rdf

0

l6

0

. (6.72)

The potential and kinetic energy of segment DF are

y

x

z

zx

y

Spatial Framel6

DF Frame

Figure 6.12. Segment DF.

Page 147: Admittance Matrix 2 Thesis

114

Vdf (θ) = mdfgpdfy(θ) (6.73)

Tdf (θ) =1

2

((vs

df )T Mdfvsdf + (ωb

df )TIdfωbdf

), (6.74)

where

vsdf = pdf (6.75)

ωbdf =

(RT

df Rdf

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

steel rod

aluminiumrod

aluminiumrod

x

y

Figure 6.13. Segment DF decomposition.

Page 148: Admittance Matrix 2 Thesis

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 Idfxx for identification.

l6 = 0.0362152 (6.77)

Mc =

0.1590 0 0 0 0 0

0 0.1590 0 0 0 0

0 0 0.1590 0 0 0

0 0 0 Idfxx 0 0

0 0 0 0 3.4886 × 10−5 0

0 0 0 0 0 1.0909 × 10−4

(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

Tbase =1

2θ1Ibaseyy θ1 (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:

d

dt

∂L

∂θi

− ∂L

∂θi= τi + (JT (θ)fu)i, i = 1, 2, 3. (6.82)2664 M11 0 0

0 M22 M23

0 M32 M33

3775+

2664 θ1

θ2

θ3

3775+

2664 C11 C12 C13

C21 0 C23

C31 C32 C33

37752664 θ1

θ2

θ3

3775+

2664 0

N2

N3

3775 =

2664 τ1

τ2

τ3

3775+ JT

2664 f1

f2

f3

3775(6.83)

Page 149: Admittance Matrix 2 Thesis

116

where

M11 =1

8

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

�+

1

8

�4Iczz + 4Idfyy + 4Idfzz + 4l

2

1ma + 4l

2

7ma + l

2

1mc + 4l

2

3mc

�+

1

8

�4Ibeyy − 4Ibezz + 4Icyy − 4Iczz + l

2

1(4ma + mc)

�cos(2θ2)

+1

8

�4Iayy − 4Iazz + 4Idfyy − 4Idfzz − 4l

2

7ma − 4l

2

3mc

�cos(2θ3) + l1(2l7ma + l3mc) cos(θ2) sin(θ3))

M22 =1

4

�4(Ibexx + Icxx + l

2

1ma) + l

2

1mc

�M23 = −

1

2l1(2l7ma + l3mc) sin(θ2 − θ3)

M32 = M23

M33 =1

4(4Iaxx + 4Idfxx + 4l

2

7ma + 4l

2

3mc)

C11 =1

8

�− 2 sin(θ2)

�(4Ibeyy − 4Ibezz + 4Icyy − 4Iczz + 4l

2

1ma + l

2

1mc) cos(θ2) + 2l1(2l7ma + l3mc) sin(θ3)

�θ2

+ 2 cos(θ3)�2l1(2l7ma + l3mc) cos(θ2) + (−4Iayy + 4Iazz − 4Idfyy + 4Idfzz + 4l

2

7ma + 4l

2

3mc) sin(θ3)

�θ3

�C12 = −

1

8

�(4Ibeyy − 4Ibezz + 4Icyy − 4Iczz + l

2

1(4ma + mc)) sin(2θ2) + 4l1(2l7ma + l3mc) sin(θ2) sin(θ3)

�θ1

C13 = −

1

8

�− 4l1(2l7mal3mc) cos(θ2) cos(θ3) − (−4Iayy + 4Iazz − 4Idfyy + 4Idfzz + 4l

2

7ma + 4l

2

3mc) sin(2θ3)

�θ1

C21 = −C12

C23 =1

2l1(2l7ma + l3mc) cos(θ2 − θ3)θ3

C31 = −C13

C32 =1

2l1(2l7ma + l3mc) cos(θ2 − θ3)θ2

C33 = k

N1 =1

2g(2l1ma + 2l5mbe + l1mc) cos(θ2)

N2 =1

2g(2l7ma + 2l3mc − 2l6mdf ) 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)π = τ + JT (θ)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

Page 150: Admittance Matrix 2 Thesis

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

fied are Ibexx, Ibaseyy, Idfxx 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 iden-

tification 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 lineariza-

tion. 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(ωjt) 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-

Page 151: Admittance Matrix 2 Thesis

118

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

0 100 200 300 400 500−0.5

0

0.5

1

1.5

2

2.5

3

3.5

4x 10

−4

frequency [Hz]

pow

er

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:

Page 152: Admittance Matrix 2 Thesis

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×10−4

while for the third link I = 7.56 × 10−5. 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(ωjt) 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 mechan-

ical 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 = l1f1 and neglecting

C11, the above expression can be cast into

M11θ1 = l1f1 (6.88)

M11

l1θ1 = f1 (6.89)

Page 153: Admittance Matrix 2 Thesis

120

101

102

103

−30

−20

−10

0

10

20

30

frequency[rad/s]

frequency response along z

experimentalmodel

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)

Idfxx ≃ 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

Page 154: Admittance Matrix 2 Thesis

121

101

102

103

−40

−30

−20

−10

0

10

20

30

40

frequency [rad/s]

frequency response along y

experimentalmodel

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

Page 155: Admittance Matrix 2 Thesis

122

101

102

103

−30

−20

−10

0

10

20

30

frequency [rad/s]

frequency response along z

experimentalmodel

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.

Page 156: Admittance Matrix 2 Thesis

123

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 19.6

9.8

10

10.2x 10

−3 joint 1 − no force applied

time [s]

angl

e [r

ad]

recordedsimulated

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1joint 2 − no force applied

time [s]

angl

e[ra

d]

recordedsimulated

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

0

0.5

1joint 3 − no force applied

time [s]

angl

e [r

ad]

recordedsimulated

Figure 6.18. Joint trajectories with no force applied.

Page 157: Admittance Matrix 2 Thesis

124

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−2

−1.5

−1

−0.5

0

joint 1 − fx = −0.1

time [s]

angl

e [r

ad]

recordedsimulated

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

0

0.2

0.4

0.6

joint 2 − fx = −0.1

time [s]

angl

e [r

ad]

recordedsimulated

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.5

1

1.5

joint 3 − fx = −0.1

time [s]

angl

e [r

ad]

recordedsimulated

Figure 6.19. Joint trajectories, fx = −0.1.

Page 158: Admittance Matrix 2 Thesis

125

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

1

2

3

4

joint 2 − fy = 0.1

time [s]

angl

e [r

ad]

recordedsimulated

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

0

0.5

1

1.5

joint 3 − fy = 0.1

time [s]

angl

e [r

ad]

recordedsimulated

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

−2.5

−2

−1.5

−1x 10

−3 joint 1 − fy = 0.1

time [s]

angl

e [r

ad]

recordedsimulated

Figure 6.20. Joint trajectories, fy = 0.1. Note the smaller scale of the first jointsubplot.

Page 159: Admittance Matrix 2 Thesis

126

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

5

10

15

20x 10

−3 joint 1 − fz = 0.1

time [s]

angl

e [r

ad]

recordedsimulated

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0

0.2

0.4

0.6

0.8

joint 2 − fz = 0.1

time [s]

angl

e [r

ad]

recordedsimulated

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

joint 3 − fz = 0.1

time [s]

angl

e [r

ad]

recordedsimulated

Figure 6.21. Joint trajectories, fz = 0.1. Note the smaller scale of the first jointsubplot.

Page 160: Admittance Matrix 2 Thesis

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

M(θ)θ + C(θ, θ)θ + N(θ) = τact + Jvst(θ)

T fu. (6.94)

If it is assumed that the PHANToMTM controller is approximated by

τact = Jvst(θ)

T fact, (6.95)

the following expression is obtained

M(θ)θ + C(θ, θ)θ + N(θ) = Jvst(θ)

T fact + Jvst(θ)

T fu. (6.96)

From which, after trivial algebraic manipulations, it follows that

fu = −fact + Jvst(θ)

−T(M(θ)θ + C(θ, θ)θ + N(θ)

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

Page 161: Admittance Matrix 2 Thesis

128

configuration is contained within the workspace, so Jvst will always be invertible.

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

Page 162: Admittance Matrix 2 Thesis

129

0 2 4 6 8 10−0.05

0

0.05

fx

time [s]

forc

e [N

]

0 2 4 6 8 10

−0.1−0.05

00.05

fy

time [s]

forc

e [N

]

0 2 4 6 8 100

0.1

0.2

fz

time [s]

forc

e [N

] fu(z)

fact

(z)

fu(y)

fact

(y)

fu(x)

fact

(x)

Figure 6.22. Static force evaluation.

Page 163: Admittance Matrix 2 Thesis

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.

10 12 14 16 18 20−15

−10

−5

0

5

10

15

fx

time [s]

forc

e [N

]

fu(x)

− fact

(x)

θ1 − doubledot

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)

Page 164: Admittance Matrix 2 Thesis

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

Page 165: Admittance Matrix 2 Thesis

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.

Page 166: Admittance Matrix 2 Thesis

133

Window Length [samples] Frequency of Oscillations [Hz]

50 5.25

100 3

150 2

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

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

tion 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 hu-

man subject decouple the z direction from the other directions. The subjects used

Page 167: Admittance Matrix 2 Thesis

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 user’s 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.

Page 168: Admittance Matrix 2 Thesis

135

−25 −20 −15 −10 −5 0 5 10 15−60

−50

−40

−30

−20

−10

0

10

20position

x direction [mm]

y di

rect

ion

[mm

]

Xu

Xd

X0

Figure 6.25. Position tracking of a human subject with crossed controller, KP = 10,KF = 0.5.

−40 −30 −20 −10 0 10 20 30 40−80

−70

−60

−50

−40

−30

−20

−10

0position

x direction [mm]

y di

rect

ion

[mm

]

Xu

Xd

X0

Figure 6.26. Position tracking of a human subject with crossed controller, KP = 30,KF = 0.5.

Page 169: Admittance Matrix 2 Thesis

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

−3 −2 −1 0 1 2 3 4 5 6 7−60

−55

−50

−45position

x direction [mm]

y di

rect

ion

[mm

]

Xu

Xd

X0

Figure 6.27. First experience with crossed controller.

to change his behavior to compensate for instability and the system exhibits that

instability.

Page 170: Admittance Matrix 2 Thesis

137

The proposed user model can account for this behavior by considering a time-

varying 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 ren-

dering 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

Page 171: Admittance Matrix 2 Thesis

138

0 5 10 15 20 25−0.2

0

0.2

0.4

0.6

0.8

1

1.2force x axis

time [s]

F [N

]

Fu

Fd

Figure 6.28. Force tracking of the human user with crossed controller, KP = 10,KF = 0.5.

0 5 10 15 20 25−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

force x axis

time [s]

F [N

]

Fu

Fd

Figure 6.29. Force tracking of the human user with crossed controller, KP = 30,KF = 0.5.

Page 172: Admittance Matrix 2 Thesis

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

−20 −10 0 10 20 30−80

−70

−60

−50

−40

−30

−20

−10position

x direction [mm]

y di

rect

ion

[mm

]

Xu

Xd

X0

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,

Page 173: Admittance Matrix 2 Thesis

140

−60 −50 −40 −30 −20 −10 0 10−60

−50

−40

−30

−20

−10

0

10position

x direction [mm]

y di

rect

ion

[mm

]

Xu

Xd

X0

Figure 6.31. Position tracking of the human user with direct force controller, KP =2.5.

0 5 10 15 20 250.99

0.992

0.994

0.996

0.998

1

1.002

1.004

1.006

1.008

1.01force x axis

time [s]

F [N

]

Fu

Fd

Figure 6.32. Force tracking of the human user with direct force controller, KP = 0.5.

Page 174: Admittance Matrix 2 Thesis

141

0 5 10 15 20 250.99

0.992

0.994

0.996

0.998

1

1.002

1.004

1.006

1.008

1.01force x axis

time [s]

F [N

]

Fu

Fd

Figure 6.33. Force tracking of the human user with direct force controller, KP = 2.5.

0 5 10 15 20 25−1.15

−1.1

−1.05

−1control action x axis

time [s]

F [N

]

−Fd

Fact

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

Page 175: Admittance Matrix 2 Thesis

142

0 5 10 15 20 25

−1.14

−1.12

−1.1

−1.08

−1.06

−1.04

−1.02

−1control action x axis

time [s]

F [N

]

−Fd

Fact

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

plained 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

Page 176: Admittance Matrix 2 Thesis

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

1 2 3 4 5−2

0

2

4

6

8

10

position tracking with direct force control and constant fd

trial

erro

r [m

m]

subject 1subject 2subject 3subject 4

(a) Position error.

1 2 3 4 50.03

0.04

0.05

0.06

0.07

0.08

0.09

trial

erro

r [N

]

force tracking with direct force control and constant fd

subject 1subject 2subject 3subject 4

(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

Page 177: Admittance Matrix 2 Thesis

144

1 2 3 4 5−1

0

1

2

3

4

5

6

7

8

position tracking with direct force control and sinusoidal fd

trial

erro

r [m

m]

subject 1subject 2subject 3subject 4

(a) Position error.

1 2 3 4 5

0.04

0.045

0.05

0.055

0.06

0.065

0.07

0.075

0.08

0.085

trial

erro

r [N

]

force tracking with direct force control and sinusoidal fd

subject 1subject 2subject 3subject 4

(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

couldn’t 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

Page 178: Admittance Matrix 2 Thesis

145

1 2 3 4 5−1

−0.5

0

0.5

1

1.5

2

2.5

3

position tracking with crossed control and constant fd

trial

erro

r [m

m]

subject 1subject 2subject 3subject 4

(a) Position error.

1 2 3 4 5−0.2

0

0.2

0.4

0.6

0.8

1

1.2

trial

erro

r [N

]

force tracking with crossed control and constant fd

subject 1subject 2subject 3subject 4

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

ing 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

Page 179: Admittance Matrix 2 Thesis

146

1 2 3 4 50

0.2

0.4

0.6

0.8

1

1.2

1.4

trial

erro

r [m

m]

position tracking with crossed control and sinusoidal fd

subject 1subject 2subject 3subject 4

(a) Position error.

1 2 3 4 50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

trial

erro

r [N

]

force tracking with crossed control and sinusoidal fd

subject 1subject 2subject 3subject 4

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

ertheless 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

Page 180: Admittance Matrix 2 Thesis

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

Page 181: Admittance Matrix 2 Thesis

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

sulted 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 frame-

work 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

Page 182: Admittance Matrix 2 Thesis

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 Colgate’s 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.

Page 183: Admittance Matrix 2 Thesis

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

Page 184: Admittance Matrix 2 Thesis

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

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

Page 185: Admittance Matrix 2 Thesis

152

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

the results of traditionally trained students against students trained with hap-

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

Page 186: Admittance Matrix 2 Thesis

APPENDICES

153

Page 187: Admittance Matrix 2 Thesis

154

Appendix A

SOURCE CODE

Page 188: Admittance Matrix 2 Thesis

155

Appendix A (Continued)

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

a 1 Replace d, Exp n_ 0, Infinity ;

For index 1, index 3, index ,

tmp Collect d, Exp s ;

tmp2 Cases d, _ index s , Infinity ;

tmp3 Replace tmp2, index s 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

LTI_final.nb 1

Page 189: Admittance Matrix 2 Thesis

156

Appendix A (Continued)

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, ]

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 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_, _ :

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

assemble first two rows

For i 1, i coeff, i ,

RA 2 Mod i, 2 , Ceiling i 2 invpoli i ;

;

rows coeff 2;

index Table 0, rows ;

For i 1, i rows, i ,

index rows i 1 Ceiling i 2 ;

;

For i 3, i coeff, i ,

Print "working on row ", i ;

Print TableForm RA ;

column Length RA i 1 ;

Print "checking row " , RA i 1 , " againt " , Table 0, column ;

If RA i 1 Table 0, column ,

then

Print "using auxiliary polynomy at least marginally stable" ;

a coeff i 2;

LTI_final.nb 2

Page 190: Admittance Matrix 2 Thesis

157

Appendix A (Continued)

b Ceiling a 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 i 1,1 , " ",0 ;

If RA i 1, 1 0,

then

RA i 1, 1 ;

Print "first element 0 at least marginally stable" ;

,

unknown

Print "symbolic first row leave symbol and check first element" ;

If RA i 1, 1 0,

then

RA i 1, 1 ;

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

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

LTI_final.nb 3

Page 191: Admittance Matrix 2 Thesis

158

Appendix A (Continued)

NS RA_, t_ :

Module istRA, n, count, prev ,

istRA RA . 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, ]

Returns true if there is an element in the list which is equal to elem with a tollerance of . This function is a utility function

Already list_, elem_, _ :

Module n ,

n Length list ;

For i 0, i n, i ,

If Abs list i elem , Return True ;

;

Return False ;

Crossing[RA, ]

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

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

LTI_final.nb 4

Page 192: Admittance Matrix 2 Thesis

159

Appendix A (Continued)

Crossing RA_, _ :

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 0, T ;

n1 Length tmp ;

For j 1, j n1, j ,

Clear T ;

new T . tmp j ;

If Already rt, new, Im new 0 ,

rt Append rt, new ;

;

;

;

Return rt ;

omega[b,Tck, ]

Returns the values ck 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

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 ck associated to the Tck of that row

LTI_final.nb 5

Page 193: Admittance Matrix 2 Thesis

160

Appendix A (Continued)

omega b_, Tck_, _ :

Module nt, nb, ns, eqn, i, btmp, tmp, n1, new, j, , k, sol, tmp2, tmp3 ,

sol Table 0, 0 ;

nb Length b ;

nt Length Tck ;

For j 1, j nt, j ,

btmp b . T Tck j ;

eqn 0;

For i 1, i nb, i ,

Clear ;

eqn eqn btmp i ^ i 1 ;

;

Print " current equation in omega " ,eqn ;

tmp Solve eqn 0, ;

Print "solution " , tmp ;

ns Length tmp ;

For k 1, k ns, k ,

If Abs Im . tmp k Re . tmp k 0 ,

sol Append sol, Tck j , Re tmp k 1 2 ;

;

;

;

Return sol ;

Tau[Tw]

Returns the values of ck, the smallest value corresponding to each one of the Tck

Inputs:

Tw is the table of T and 's as returned by omega[]

It returns a table with three columns, the columns are : Tc c c

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 o ArcTan o period ;

If tmp1 0,

tmp1 tmp1 2 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:

LTI_final.nb 6

Page 194: Admittance Matrix 2 Thesis

161

Appendix A (Continued)

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 , j, 1, Length a .

s table i, 2 , table i, 3 ;

den Sum j a j Exp j 1 s , j, 1, Length a .

s table i, 2 , table i, 3 ;

rt Sign Im num 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: , RT, ,

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

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

B 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

LTI_final.nb 7

Page 195: Admittance Matrix 2 Thesis

162

Appendix A (Continued)

RM Routh b, ;

RA RouthArray RM ;

Plot NS RA, t , t, 0.6, 0.7

-0.6 -0.4 -0.2 0.2 0.4 0.6

1

2

3

4

5

Graphics

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 1 3.0352 0.0828561

0.185906 1 2.91239 0.0952922

0.221983 1 15.5032 0.426981

0.222274 1 15.501 0.421312

0.872481 1 2.11099 0.623269

0.878076 1 2.10404 0.629049

7.2105 1 0.840448 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.

LTI_final.nb 8

Page 196: Admittance Matrix 2 Thesis

163

Appendix A (Continued)

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

G m k kp s^2 c k kp s k Exp s m s^2 c s ;

a CoefficientList G, Exp s ;

b Rekasius a ;

RM Routh b, ;

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 1 4.36546 1.26436

LTI_final.nb 9

Page 197: Admittance Matrix 2 Thesis

164

Appendix A (Continued)

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 2 Pi R^2 L rho R^2

InCylShort R_, L_, rho_ : 1 12 Pi R^2 L rho L^2 1 4 Pi R^2 rho L R^2

Inertia of a Hollow Cylinder

InHolLong R_, r_, L_, rho_ : 1 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 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 2 16 9 Pi^2 Pi R^2 L 2 rho R^2

InHalfCylX R_, L_, rho_ :

1 2 16 9 Pi^2 Pi R^2 L 2 rho R^2 1 12 Pi R^2 L 2 rho L^2

InHalfCylY R_, L_, rho_ : 1 2 Pi R^2 L 1 4 R^2 1 12 L^2

appendix-B.nb 1

Page 198: Admittance Matrix 2 Thesis

165

Appendix A (Continued)

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

R 0.0065 2;

L 0.1013;

rho 2570;

Box data

x 0.019;

y 0.05;

z 0.036;

Total mass of the segment

mtot 0.0305;

Inertia and mass of the link

m1 MassHol R, r, L, rho

H1

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

appendix-B.nb 2

Page 199: Admittance Matrix 2 Thesis

166

Appendix A (Continued)

m2 mtot m1;

rhob m2 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 L 2 m1 L y 2 m2 mtot

g1

1, 0, 0, 0 ,

0, 1, 0, ycom L 2 ,

0, 0, 1, 0 ,

0, 0, 0, 1 ;

g2

1, 0, 0, 0 ,

0, 1, 0, ycom L y 2 ,

0, 0, 1, 0 ,

0, 0, 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

0. 0.0305 0. 0. 0. 0.

0. 0. 0.0305 4.87891 1019

0. 0.

0. 0. 4.87891 1019

0.0000435685 0. 0.

0. 0. 0. 0. 3.31631 106

0.

4.87891 1019

0. 0. 0. 0. 0.0000417217

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

appendix-B.nb 3

Page 200: Admittance Matrix 2 Thesis

167

Appendix A (Continued)

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 2 10^ 3;

lhc 0.098;

all 2750;

small plate dimensions

xsp 0.0127;

ysp 0.0127;

zsp 0.0189;

big plate dimensions

xbp 0.0404;

ybp 0.0127;

zbp 0.0156;

motor dimensions

m4 0.13;

lm xbp;

rm 25 2 10^ 3;

counterweight dimensions

st 7850;

side 0.0353;

rh 25 2 10^ 3;

HOLLOW CYLINDER

hollow cylinder mass

m1 MassHol Rhc, rhc, lhc, all

0.011459

center of mass of the hollow cylinder

appendix-B.nb 4

Page 201: Admittance Matrix 2 Thesis

168

Appendix A (Continued)

com1 0, 0, lhc 2 zsp zoff

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, all , 0, 0 ,

0, 0, 0, 0, InHolShort Rhc, rhc, lhc, all , 0 ,

0, 0, 0, 0, 0, InHolLong Rhc, rhc, lhc, all ;

SMALL PLATE

small plate mass

m2 xsp ysp zsp all

0.00838305

small plate center of mass

com2 0, 0, zoff zsp 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, all , 0, 0 ,

0, 0, 0, 0, InBox xsp, zsp, ysp, all , 0 ,

0, 0, 0, 0, 0, InBox ysp, xsp, zsp, all ;

BIG PLATE

big plate mass

m3 xbp ybp zbp all

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 2 zoff

0, 0, 0.0015

big plate generalized inertia around its center of mass

appendix-B.nb 5

Page 202: Admittance Matrix 2 Thesis

169

Appendix A (Continued)

H3 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, all , 0, 0 ,

0, 0, 0, 0, InBox zbp, xbp, ybp, all , 0 ,

0, 0, 0, 0, 0, InBox xbp, ybp, zbp, all ;

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 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 st side^3

m6 MassCyl rh, side, st

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 0, 0, zsup zbp 2 rm side 2 zoff

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

appendix-B.nb 6

Page 203: Admittance Matrix 2 Thesis

170

Appendix A (Continued)

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, st , 0, 0 ,

0, 0, 0, 0, InBox side, side, side, st , 0 ,

0, 0, 0, 0, 0, InBox side, side, side, st ;

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, st , 0, 0 ,

0, 0, 0, 0, InCylShort rh, side, st , 0 ,

0, 0, 0, 0, 0, InCylShort rh, side, st ;

segment total mass and center of mass

mtot m1 m2 m3 m4 m5 m6;

comBE 1 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 1, 0, 0, 0 ,

0, 1, 0, 0 ,

0, 0, 1, l5 com3 3 ,

0, 0, 0, 1 ;

from motor

appendix-B.nb 7

Page 204: Admittance Matrix 2 Thesis

171

Appendix A (Continued)

g4 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 10 18 0.

0. 0.381127 0. 2.60209 10 18 0. 0.

0. 0. 0.381127 0. 0. 0.

0. 2.60209 10 18 0. 0.000230134 Imot 0. 0.

2.60209 10 18 0. 0. 0. 0.00024678 0.

0. 0. 0. 0. 0. 0.000078781

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;

appendix-B.nb 8

Page 205: Admittance Matrix 2 Thesis

172

Appendix A (Continued)

lenght of the motor support arm

ysup 0.0135;

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

xoff dista 2;

yoff 0.0322;

aluminium rods dimensions

xa 0.0066;

ya 0.0519;

za 0.0071;

steel rods dimensions

ls 0.0508;

rs 0.0025;

ALUMINIUM RODS

mass

m1 all xa ya za;

center of mass

com1 xoff, ya 2 yoff, 0 ;

com2 xoff, ya 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, all , 0, 0 ,

0, 0, 0, 0, InBox xa, za, ya, all , 0 ,

0, 0, 0, 0, 0, InBox xa, ya, za, all ;

STEEL RODS

mass

m3 MassCyl rs, ls, st ;

center of mass

com3 0, dists yoff, 0 ;

com4 0, yoff, 0 ;

appendix-B.nb 9

Page 206: Admittance Matrix 2 Thesis

173

Appendix A (Continued)

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, st , 0, 0 ,

0, 0, 0, 0, InCylShort rs, ls, st , 0 ,

0, 0, 0, 0, 0, InCylLong rs, ls, st ;

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

appendix-B.nb 10

Page 207: Admittance Matrix 2 Thesis

174

Appendix A (Continued)

g2 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.159036 0. 0. 0. 0. 2.1684 10 19

0. 0.159036 0. 0. 0. 0.

0. 0. 0.159036 2.1684 10 19 0. 0.

0. 0. 2.1684 10 19 0.0000810523 Imot 0. 0.

0. 0. 0. 0. 0.0000348866 0.

2.1684 10 19 0. 0. 0. 0. 0.000109091

appendix-B.nb 11

Page 208: Admittance Matrix 2 Thesis

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 Behav-ior, 3(2):111–149, 1971.

[3] R. Adams and B. Hannaford. Control law design for haptic interfaces to virtualreality. IEEE Transactions on Control Systems Technology, 10(1):3–13, January2002.

[4] R. Adams, D. Klowden, and B. Hannaford. Stable haptic interaction usingthe excalibur force display. In IEEE International Conference on Robotics andAutomation, volume 1, pages 770–775, San Francisco, CA, April 2000.

[5] R. J. Adams and B. Hannaford. A two-port framework for the design of un-conditionally stable haptic interfaces. In IEEE/RSJ International Conferenceon Intelligent Robots and Systems, pages 1254–9, Victoria, B.C., 1998.

[6] R. J. Adams and B. Hannaford. Stable haptic interaction with virtual environ-ments. IEEE Transactions on Robotics and Automation, 15(3):465–474, 1999.

[7] R. J. Adams, M. R. Moreyra, and B. Hannaford. Stability and performanceof haptic displays: Theory and experiments. In Proceedings of the Fifth An-nual Symposium on Haptic Interfaces for Virtual Environment and TeleoperatorSystems, pages 227–234, Anaheim, CA, November 1998.

[8] R. J. Anderson and M. W. Spong. Asymptotic stability for force reflectingteleoperators 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 withfeeling. Computer and Graphics, 1977.

[10] N. Ayache, S. Cotin, H. Delingette, J. M. Clemente, Y. Russier, andJ. Marescaux. Simulation of endoscopic surgery. Minimally Invasive Therapy& Allied Technologies, 7(2):71–77, 1998.

[11] J. Batter and F. P. Brook. Grope-1: A computer display for the sense of feel.Information processing, proc. IFIP Congress, 71:759–763, 1972.

[12] M. Bergamasco and C. A. Avizzano. Virtual environment technology in reha-bilitation. In Proc. of IEEE-RSJ-SICE Ro-Man, 1997.

Page 209: Admittance Matrix 2 Thesis

176

[13] J. Berkley, G. Turkiyyah, D. Berg, M. Ganter, and S. Weghorst. Real-time finiteelement modeling for surgery simulation: An application to virtual suturing.IEEE Transactions on Visualization and Computer Graphics, 10(3):312–325,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-basedimpedance control implementations. In Proc. IEEE/CNF Int. Conf. on Roboticsand Automation, pages 1216–1221, San Diego, CA, 1994.

[16] M. C. Cavusoglu, D. F., and F. Tendick. A critical study of the mechanicaland electrical properties of the phantom haptic interface and improvements forhigh performance control. Presence: Teleoperators and Virtual Environments,2002.

[17] E. Colgate, P. Grafing, M. Stanley, and G. Schenkel. Implementation of stiffvirtual 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 experi-ments. Trans. ASME, Journal of Dynamic Systems, Measurement and Control,116:594–598, 1994.

[19] J. E. Colgate, M. C. Stanley, and J. M. Brown. Issues in the haptic displayof tool use. In Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems,pages 140–145, 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, NewYork, 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. Computersimulation as a component of catheter-based training. Journal of VascularSurgery, 40(6):1112–1117, 2004.

[22] R. C. Dorf and R. H. Bishop. Modern Control Systems. Prentice Hall, ninthedition 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 MifflinCompany, 1966.

Page 210: Admittance Matrix 2 Thesis

177

[25] B. Gillespie and M. Cutkosky. Stable user-specific rendering of the virtual wall.In Proceedings of the ASME International Mechanical Engineering Conferenceand Exposition, volume 58, pages 397–406, 1996.

[26] B. Gillespie, S. O’Modhrain, P. Tang, C. Pham, and D. Zaretsky. The vir-tual teacher. In Proceedings of the ASME IMECE, volume 64, pages 171–178,Anaheim, CA, 1998.

[27] R. C. Goertz. Fundamentals of general-purpose remote manipulators. Nucle-onics, 10(2):36–42, 1952.

[28] B. Hannaford. A design framework for teleoperators with kinesthetic feedback.IEEE Transactions Robotics and Automation, 5(4):426–434, 1989.

[29] B. Hannaford and J. Ryu. Time domain passivity control of haptic interfaces.In Proc. IEEE Intl. Conference on Robotics and Automation, pages 1863–1869,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:1–10, February 2002.

[31] C. J. Hasser and M. R. Cutkosky. System identification of the human handgrasping a haptic knob. In Proceedings of the 10th Symposium on Haptic In-terfaces 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-La-Torre. Haptic interfaces and devices. In Sensor Review, volume 24, 2004.

[34] J. Henmi and T. Yoshikawa. Virtual lesson and its application to virtual cal-ligraphy system. In ICRA, pages 1275–1280, 1998.

[35] R. A. Hess. Unified theory for aircraft handling qualities and adverse aircraft-pilot 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 DynamicSystems, Measurement and Control, 107:1–24, 1985.

[37] N. Hogan. Multivariable mechanics of the neuromuscular system. Proc. IEEEAnnual Conference of Engineering in Medicine and Biology Society, pages 594–598, 1996.

Page 211: Admittance Matrix 2 Thesis

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’. InCold 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. Imple-mentation and evaluation of a haptic playback system. Haptics-e, 2004.

[40] B. Jackson and L. Rosenberg. Interactive Technology and The New Paradigmof Healthcare, pages 147–151. 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, TechnischeUniversiteit 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 formotion/force teaching to human. In Proc. IEEE/CNF Int. Conf. on Roboticsand Automation, pages 868–873, 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 1059–1067,New York, 1991.

[46] V. B. Kolmanovskii and V.R. Nosov. Stability of Functional Differential Equa-tions, volume 180. Academic Press, 1979.

[47] D. A. Lawrence. Impedance control stability properties in common implemen-tations. In Proc. IEEE/CNF Int. Conf. on Robotics and Automation, pages1185–1190, 1988.

[48] F. B. Llewellyn. Some fundamental properties of transmission systems. Proc.IRE, 40:271–283, 1952.

[49] Z. W. Luo, F. Asano, Y. Kishi, and S. Hosoe. Adjustment of impedance centerfor passive interaction between a robot and its environment. In Proc, of theSecond Conf. on Artificial Muscles - Biomimetic System Engineering, 2004.

[50] S. Mahapatra and M. Zefran. Stable haptic interaction with switched virtualenvironments. In IEEE Conf. on Robotics and Automation, Taipei, Taiwan,2003.

[51] J. E. Marshall. Control of Time-Delay Systems. Peter Peregrinus LTD., 1979.

Page 212: Admittance Matrix 2 Thesis

179

[52] T. Massie and J. K. Salisbury. The phantom haptic interface: A device forprobing virtual objects. In Proc. ASME Winter Annual Meeting: Symposium onHaptic Interfaces for Virtual Environment and Teleoperator System., Chicago,1994.

[53] T. H. Massie. Initial Haptic Exploration with the PHANToM: Virtual TouchThrough Point Interaction. PhD thesis, Massachusetts Insitute of Technology,1996.

[54] B. E. Miller, J. E. Colgate, and R. A. Freeman. Passive implementation fora 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 hapticsystems with nonlinear virtual environments. IEEE Transactions Robotics andAutomation, 16(6):712–719, 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, volume24(2), pages 235–243. ACM, 1990.

[57] L. Montanari. Haptic rendering of a virtual tooth: State of the art, issues,solutions and techniques. Master’s thesis, University of Illinois at Chicago,2003.

[58] H. B. Morgenbesser and M. A. Srinivasan. Force shading for shape perceptionin haptic virtual environments. Technical Report 606, RLE at MIT, Cambridge,MA, December 1996. also in: Fifth Annual Symposium on Haptic Interfacesfor Virtual Environment and Teleoperator Systems.

[59] R. M. Murray, Z. Li, and S. S. Sastry. A Mathematical Introduction to RoboticManipulation. CRC Press, 1993.

[60] A. Nahvis, D. Nelson, J. M. Hollerbach, and D. E. Johnson. Haptic manipu-lation of virtual mechanism from mechanical CAD design. In Proc. IEEE Int.Conf. on Robotics and Automation, pages 375–380, 1998.

[61] N. Olgac and R. Sipahi. An exact method for the stability analysis of time-delayed linear time-invariant systems. IEEE Transactions on Automatic Con-trol, 47(5):793–874, 2002.

[62] D. K. Pai, K. van den Doel, D. L. James, J. Lang, J. E. Lloyd, J. L. Rich-mond, and S. H. Yau. Scanning physical interaction behavior of 3d objects.In SIGGRAPH ’01: Proceedings of the 28th annual conference on Computer

Page 213: Admittance Matrix 2 Thesis

180

graphics and interactive techniques, pages 87–96, New York, NY, USA, 2001.ACM Press.

[63] J. Payette, V. Hayward, C. Ramstein, and D. Bergeron. Evaluation of force-feedback (haptic) computer pointing device in zero gravity. In Proc. 5th AnnualSymposium of Haptic Interfaces for Virtual Environment and Teleoperated Sys-tems, ASME, DSC, volume 58, pages 547–453, 1996.

[64] M. Pelletier and M. Doyon. On the implementation and performance of im-pedance control on position controlled robots. In Proc. IEEE/CNF Int. Conf.on Robotics and Automation, pages 1225–1233, San Diego, CA, 1994.

[65] R. Playter and M. Raibert. A virtual surgery simulator using advanced hapticfeedback. Minimally Invasive Therapy, 6(2), 1997.

[66] J. Ryu, D. Kwon, and B. Hannaford. Stable teleoperation with time domainpassivity control. In International Conference on Robotics and Automation,pages 3260–3265, Washington, DC, May 2002.

[67] S. Salcudean and T. Vlaar. On the emulation of stiff walls and static fric-tion with a magnetically levitated input/output device. In Dynamics Systemsand Control, volume 55, pages 123–130, Chicago, IL, November 1994. ASME.Proceedings of the Third Annual Symposium on Haptic Interfaces for VirtualEnvironment and Teleoperator Systems.

[68] R. A. Schmidt. A schema theory of discrete motor skill learning. PsychologicalReview, 82(24):225260, 1975.

[69] SensAble Technologies, Inc c©. GHOST SDK Programmer’s Guide, version 4.0edition.

[70] R. Shadmehr and F. A. Mussa-Ivaldi. Adaptive representation of dynamicsduring learning of motor task. Journal of Neuroscience, 14:3208–3224, May1994.

[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, andJ.Takahashi. Prototype of simulation of orthognathic surgery using a virtualreality haptic device. International Journal of Oral and Maxillofacial Surgery,8(33):740–750, 2004.

Page 214: Admittance Matrix 2 Thesis

181

[73] R. Sweet, T. Kowalewksi, P. Oppenheimer, S. Weghorst, and R. Satava. Face,content and construct validity of the university of washington virtual realitytransurethral prostate resection trainer. Journal of Urology, 5(172):1953–1957,2004.

[74] J. W. Ward, D. P. M. Wills, K. P. Sherman, and A. M. M. A. Mohsen. Thedevelopment of an arthroscopic surgical simulator with haptic feedback. FutureGeneration Computer Systems, 3-4(14):243–251, 1998.

[75] Y. Yokokohji, R. L. Hollis, and T. Kanade. What you see is what you feel-development of a visual/haptic interface to virtual environment. In Proc. IEEEVirtual Reality Annu. Int. Symp, pages 46–53, 1996.


Recommended