Il movimento è lo spostamento di un insieme di punti, di materia, secondo un qualche sistema di riferimento di 3 assi.
I movimenti possibili sono:
Il problema che affrontiamo è quello di conoscere la posizione e l'orientamento degli oggetti in riferimento ad un sistema (di riferimento) esterno:
Se due vettori sono nello stesso sistema di riferimento si possono sommare tramite la regola del parallelogramma per stabilire il vettore risultante.
Per trasporre il vettore in un altro sistema di riferimento si opera la somma tra il vettore, che dal secondo punta al corrente sistema nell'origine, e viene rapprensetato poi secondo il nuovo sistema.
Vediamo degli esempi per capire meglio:

Secondo Eulero le 3 componenti del vettore possono essere espresse come:
Lo si può scrivere anche come:
Dunque gli assi che definiscono il secondo sistema di riferimento devono essere espressi secondo il primo.
Dato quando stabilito prima per un generico vettore:
Dove la matrice trovata è la matrice di rotazione
~Ex.:
Da questo si può generalizzare che:
⇒ Se:
Le operazioni di roto-traslazione sono la combinazione di una traslazione e di una rotazione, vediamo un esempio:
Esiste per queste operazioni una tecnica più diretta, ovvero la funzione di trasformazione omogenea.
Per applicarla è necessario avere i vettori omogenei, i quali hanno un elemento aggiuntivo pari ad 
Esiste anche un'altra forma della matrice di rotazione, la quale ha come riferimento l'angolo tra l'asse delle ascisse di un sistema di riferimento e quello dell'altro sistema:
In genere un manipolatore robotico è un braccio robotico, ed in genere si rappresenta così:
Esso è generalmentee composto da linkers, i quali sono copri rigidi, e da joints, i quali contengono meccanismi che permettono il moviemetno relativo tra i linkers.
Esistono due categorie di joints:
Entrambi i tipi di joints conferiscono 1 grado di libertà al manipolatore.
L'insieme di linkers a di joints formano una catena cinemantica che in questo caso è aperta, mentre, se il manipolatre operasse un oggetto si diretta connessa.
L'interesse principale della cinematica diretta è quello di stabilire a priori la posizione dell'end effector, data una sequenza di comandi espressi sotto forma di angoli (si considerano solo joints revoluti).
Più utile è la cinenamtica inversa per cui, a partire dalla posizione che si vuole raggiungere, si determina la sequenza di comandi necessari ma è molto più complessa e non verra trattata.
In generale, secondo tale configurazione, la posizione dell'end effector può essere espressa come:
In questo caso si poteva arrivare al risultato anche attraverso la trigonometria, ma nel caso tridimensionale, si pò procedere solo in questo modo e si fa uso della convenzione delle tavole di Denavit-Hartenberg (Wikipedia: 'Convenzione di Denavit-Hartenberg)
Oltre alla posizione e all'orientamento dell'end effector, spesso si controlla anche la sua velocità, espressa in funzione della velocita dei joints, come:
A partire da ciò si può stabilire la forza esercitata sull'end effector, conoscendo i momenti torcenti dei joints e la loro potenza:

Nello studio del problema del grasping non si modellerà e lavorerà con il braccio ma con la mano dal momento che l'azione del "grasp" non richiede sono di gestire contemporaneamente le dita ma anche di farle collaborare.
Inoltre i bracci robotici non sono di interesse al momento che non è difficile reperirli sul mercato, a differenza delle mani.
Ogni dito può essere pensato come un braccio robotico e l'obbiettivo è quello di muovere oggetti/solidi.
Molte aziende di logistica, come 'Amazon', investono in questo per poter automatizzare l'intero processo prima del transporto.
Se il controllo è centralizzato il controllore gestisce tutto ma si parla di collaborazione se si hanno più controllori indipendenti.
L'azione di manipolazione è divisibile in 3 parti:
Ci si concentrerà principalmente sulle ultime due e si studieranno tramite metodi e modelli algebrici e non ci si baserà su architetture specifiche.
Innanzitutto bisogna distinguere tra i due tipi di grasping:
L'interazione con un oggetto è resa attraverso le forze esercitate dalle singole dita, infatti posizione e velocità degli oggetti sono conseguenze delle forze, ma ciò dipende anche dal modello del contatto.
Si consideri un sistema composto da due dita:
Poiché le due devono collaborare, non si possono usare due Jacobiane distinte, ma bisogna ricondursi ad'unica matrice, cioè bisogna pensare al tutto come un unico robot con due catene cinematiche.
In generale data una forze 
Mentre la direzione del vettore
Tale matrice può essere utilizzata per qualsiasi prodotto vettoriale.
Siano date le forze di contatto ed i momenti torcenti nei singoli "joints", si vuole stabilre una relazione che li leghi direttamente:
Dove la matrice è la Jacobiana della mano (una matrice
La potenza di contatto è data dalla somma delle potenze 
Quindi in generale:
Nel caso proposto si avrebbe che:
Ma dal momento che le forze hanno sempre il compoenente 
Dunque il risultato precedente può essere così ridotto:
In generale la Jacobiana cambia in base alla configurazione del manipolatore (posizione links) e in base agli end effectors, i quali a loro volta dipendono da come viene afferrato un oggetto.
~Ex.:
In questo problema di questa configurazione consiste nell'impossibilità di stringere (squeeze) gli oggetti.
Da questo esempio emerge il concetto di kernel di una matrice, in particolare
In altre parole i kernel sono tutte le forze che sono resistite non attraverso un momento torcente ma attraverso i vincoli meccanici dei joints.
Come si è visto nel grasping alle forze applicate all'oggetto si contrappongono le forze vingolari di esso.
Si studia ora il provlema dal punto di vista dell'oggetto.
La matrice di grasp, permette di stabilire, a partire dalle forze di contatto, l'egfetto complessivo in termini di movimento.
Si considera da ora come sistema di riferimento o quello fissato nel baricentro dell'oggetto.
Lo spostamento in termini di traslazione e di rotazione può essere stabilito attraverso:
Le quali definiscono la dinamica dell'oggetto.
Si consideri la prima equazione, innanzitutto esistono 3 tipi di forze:
Si consideri il seguente esempio:
Per quanto riguarda la seconda equazione, è possible generare una rotazione (planare) sia tramite due o più forze, sia tramite l'applicazione di un momento torcente ma per trasmettere questo è necessario che l'end effector sia una superficie piatta, dunque si considerano solo le forze.
Si consideri il seguente esempio:
Unendo i due risultati si ottiene che:
Dove la matrice di grasp contiene tante colonne:
~Ex.:
Si vogliono trovare ora i kernel di 
In questo caso non c'è alcun movimento dell'oggeto am ciò è preceduto al grasp, cioè le forze applicate devono avere modulo e direzione tali che l'oggetto non scivoli e che ci sia sufficente attrito statico da mantenere la presa, anche in caso di forze esterne.
In termini vettoriali si deve far in modo che le risultanti delle forze ai punti di contatto rientrino sempre nel cono d'attrito:
Se una forza esterna tenta di portare via l'oggetto e se le forze della presa non aumentano, la presa viene persa.
In generale per risolvere questo problema è necessario conoscere la direzione normale nei punti di contatto ed il coefficiente di attrito.
La forza esterna che si tratterà principalmente è quella di gravità e con 
Dove le forze al contatto sono le incognite, dunque:
In questo caso:
Dunque a queste vanno sommate forze dirette verso l'interno in modo che:
Nel grasping, però è importatnte avere misure in feedback delle forze applicate, conoscendo il momento torcente applicato.
Per avere queste informazione, dato il seguente sistema:
Dove:
È necessario che ci siano più equazioni che variabili, cioè:
Se il sistema non ha un nullspace, allora esso ha una sola soluzione ele forze devpno trovarsi necessariamente nel cono d'attrito per fare presa, ma se non lo fossero, non si potrebbe intervenire artificalmente.
Dunque è necessario che ci siano infinite soluzioni, cioè:
La tecnologia aptica è l'ultima frontiera della robotica del grasping e concerne la restituzione all'utente o l'adattamento della presa in funzione delle forze percepite.
In altre parole "haptics" significa interazione tattile.
I componenti necessari per tale interazione sono:
In termini matematici si traduce come:
Dove
In generale la quantità di energia scambiata nell'interazione aptica è molto più alta rispetto agli altri tipi di interazione per questo non è un sistema efficiente per comunicare.
Il tocco è essenzialmente uno scambio di forze e per questo la robotica è il campo giusto da cui sviluppare interfaccie aptiche.
Il processo può essere così schematizzato:
Il "simulation engine" è quello che svolge i calcoli, così che si possa rivelare la collisione, restituire un feedback, e mostrare a schermo l'ambiente virtuale.
Un oggetto virtuale è rappresentato da una nuvola di punti collegati da forme che ne definiscono e rappresentano approssivatimante la superficie e che sono triangoli.
Si è scelta tale forma in quanto non è detto che sia sempre possibile definire figure più complesse ed in quanto rappresentano bene le deformazioni delle superfici.
Ogni triangolo è identificato dai propi vertici:

Il rilevamento della collisione consiste nel determinare se si rientra nella bounding box che contiene parte della superficie dell'oggetto.
La box più piccola che contiene un triangolo.
Da ora in poi con
Se
Se
Ciò si ripete fino a che non si ricade nel caso precedente o fino a qunado non si arriva alle box minime:
La verifica del tocco si svolge lavorando sul triangolo come piano, descritto dall'equazione:

Un triangolo è dunque descritto da un sistema del tipo:
Che può essere normalizzato, dividendo per
In generale se
Dunque l'argoritmo di collision detection consiste in:
In teoria l'algoritmo viene eseguito sull'oggetto intero ma, consoscendo la posizione iniziale e la velocità del dito, si può restringere l'area, cioè il numero di triangoli su qui svolgere i calcoli.
Se 
È necessario ininnazitutto trovare 
L'ottimo si trova risolvendo:
Per quanto riguarda
Bisogna però distinguere tra il
Si una un ulteriore
Si consideri un oggetto curvo, come una sfera.
In generale la differenza temporale tra un'azione ed il feedback non può superare la frazione di seconod, in quanto si avrebbe la dissociazione dei due eventi.
La computazione però potrebbe impiegare molto tempo dunque si deve cercare di usare meno dati possibili.
Si ipotizzi, per esempio, di voler approssimare la sfera con un cubo: le forze non possono essere dirette secondo normali a questo in quanto risulterebbe irrealistico:
Si potrebbe aumentare il numero di vertici, migliorando l'approssimazione, o si potrebbe utilizzare l'interpolazione: si consideri un punto sulla superficie reale e si calcolino i piani, considerando i punti adiacenti.
Per ognuno di essi si detrmina la normale secondo
E facendo la media di queste si ottiene la normale al punto iniziale cioè:
Equivalente a risolvere il seguente sistema:
Dove:
Tenendo allora conto della costruzione fatta, se si penetra nella superficie, bisogna stabilire la normale della forza da applicare.
Si consideri inizialmente il caso bidimensionale rappresentato:
L'interpolazione permette di stabilire che:
In particolare, che:
Per il caso tridimensionale non si fa altro che applicare questo due volte.
Inannzitutto va scelto un vertice e va proiettato sul lato opposto passando per
Si calcola poi la normale in 
Infine si interpola sulla proiezione per calcolare la normale ad 
Si consideri ora un oggetto fino (sottile): se 
Perciò va tenuta in memoria dello stato passato.
Per risolvere il problema, invece di prendere 
Questa tecnica è detta algoritmo di possibilità virtuale.
Finora si è trascurato l'attrito in quanto la forza applicata si assumeva perpendicolare alla superficie dunque la forza tangente è nulla.
Tenendo conto dell'attrito, data una forza non diretta lungo la normale, la forza reattiva, la quale è esattametne uguale e opposta, deve ricadere nel cono d'attrito.
Essa dunque è esprimibile come la somma dei componenti normale e tangente alla superficie:
Da 
Secondo l'agoritmo di rendering:
Un esempio sono:
Si consideri un oggetto rigido e si rappresenti il punto di contatto come una sfera di raggio nullo:
Cioè:
Si consideri ora un oggetto deformabile:
Per la quale: 
Dunque la forza necessaria per ottenere tale deformazione è:
Dove:
Si consideri l'implementazione di questi risultati per creare un simulatore: è necessario costruire un sistema a controreazione che sia asintoticamente stabile

Si ha un polo in 
Per stabilità si intende che al tocco di un oggetto virtuale, la parte di superficie coinvolta si stabilizza ad un certo valore.
In realtà il sistema non ha dinamica ma la assume in simulazione, dal momento che i calcolatori campionano e aggiornano il sistema secondo diversi valori della forza.
La dinamica in generale degli oggetti è descrivibile attraverso ode e il problema più grande in simulazione è trocare risolutori di equazioni differenziali al fine di avere il real-time.
Si fa dunque uso di semplificazioni.
Un esempio di oggetto dinamico è:

La quale è un ode di 2° ordine e dipende dal tempo.
Si approssima ad un sistema di due equazioni differenziali di 1° ordine:
La dimensione del vettore è pari all'ordine dell'equazione (quindi:
Risolvendolo:
Dunque riconducendo il tutto alla forma 
Si consideri ora lo spostamento di un oggetto in uno spazio 3D (esempio caso multivariable):
Si definisce lo stato:
Dove: le componenti

In generale:
Dove:
Per determinare 
N.B.: Se si conoscessro tutte le derivate di
Tale approssimazione ha però forti limitazioni, si prenda ad esempio una molla:
Secondo l'equazione di Eulero:
Per la stabiltà sin impone che 
Dunque più che
Il fatto che si ha un problema numerico fa capire che l'approssimazione è piuttosto grossolana.
Si utilizza dunque il metodo del mid-point, il quale considera il secondo termine derivato dell'espansione.
Si supponga di avere un sistema ad evoluzione libera:
La derivata secondo è stabilita sempre tramite l'espansione di Taylor svolta su 
Ma non si conosce
Dunque sostituendo tutto nell'equazione iniziale:
Il termine aggiuntivo permette
La transparenza è un concetto legato alla dinamica dell'ambiente composto da un robot, che funge da interfaccia utente, e in questo caso, in simulatore virtuale dell'oggetto e della sua dinamica.
Si definisce:

La dinamica nel simulatore è descrivibile attraverso:
Il problema viene affrontato utilizzando la Trasformata di Laplace, la quale permette di transformare equazioni differenziali in algebriche.
Per condizioni iniziali nulle:
Si definisce impedenza il rapporto tra forza e velocità dell'oggetto:
Il problema è che esistono due dinamiche:
Un sistema si definisce trasparente se l'unica dinamica è quella dell'oggetto virtuale.
La dinamica è data da:
Dove:
Applicando Laplace a questa equazione:
Se si assume
In quanto più rigido:
In realtà la forza percepita è:
Per ottenere