Table of Contents

< funzioni del cervello artificiale

Collegare braccio e mente (2010)

Mentre giocano, i bambini muovono le mani fino a che un bel giorno riescono ad infilarsi una mano in bocca senza sapere come hanno fatto. Potrebbe un robot muovere casualmente dei motori per imparare a muovere il braccio?

Questa idea è già venuta in mente a decine di ricercatori, vale la pena citare questo lavoro

Utilizza un braccio con 4 gradi di libertà (senza nessuno strumento alla sua estremita) per dimostrare che è possibile, usando una rete neurale SNN STPD, realizzare, tramite opportuno addestramento, un modello cinematico che permetta di trasformare le coordinate x,y,x in movimenti motori.

In precedenza il modello cinematico doveva essere noto a priori, analiticamente o numericamente.

Se il modello cinematico ha molti gradi di libertà, esistono più movimenti possibili che portano la mano del braccio in una stessa posizione, per risolvere questo problema si pongono dei traguardi intermedi per costruire una traiettoria che permetta di raggiungere un punto nello spazio

Gradi di libertà

Un oggetto che si muove nello spazio x,y,x possiede anche tre angoli (Euler_angles) che permettono di specificare i movimenti relativi

www.ros.org/news/2013/07/08/JACO_ROSDriver.jpg

Considerando l'avambraccio piantato a terra, si hanno quindi immediatamente 3 gradi di liberta, a cui va aggiunto il grado di libertà del gomito. (Nel caso si desideri aggiungere anche una mano per afferrare, vanno aggiunti altri due gradi di libertà: rotazione del polso e inclinazione della mano).

Il numero di neuroni deve aumentare in modo direttamente proporzionale al n. gradi libertà.

Progettazione

Codifica in impulsi

Vedere codifica dei dati tramite iSpike

Population coding: dal punto di vista biologico è stato rilevato che la frequenza media dei neuroni ha una distribuzione a campana (Gaussiana) centrata sul valore di una variabile di input.

La finestra STDP è larga 50 ms.

In questo progetto la finestra STDP è simmetrica e il potenziamento avviene se il tempo di ritardo dell'eccitazione o dell'attivazione è inferiore ad un valore assoluto, mentre la depressione del peso sinaptico viene depresso se supera il valore assoluto.

Esempio

Voglio codificare un angolo betaxx di input (sensore angolare) (0°-360°) utilizzando il primo layer di input costituito da N=1200 neuroni.

Normalizzando l'angolo [0; 360] → [0; 1] . Allora betaxx=45° diventa

il neurone centrale che contiene la frequenza massima della campana è f: [0; 1] → [1; 1200]

F(X)la formula della frequenza del generico neurone X

Decodifica da impulsi

Una formula che arriva da un manuale del MIT… (voting scheme???)

infine

Risultati

I tempi di elaborazione dell'output non sono istantanei, non è real time…