Giornata Tecnica da Piave Servizi, 11 aprile 2024 | RENZI Daniele
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
1. Anwar Nazig
I n g e g n e r i a e l e t t r o n i c a e d
i n f o r m a t i c a .
Realizzazione di un
controllore per
piattaforma robotica
basato su rete neurale
Relatore: Eric Medvet
2. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
PERCHÉ ?
2
Studio del divario tra:
Il comportamento nella realtà simulata
Il comportamento nella realtà fisica
PER CHI ?
Tesisti e ricercatori:
Laboratorio ERALLAB del
dipartimento di Ingegneria e
architettura dell’università degli studi
di Trieste
Sperimentare con le differenti
tecniche di apprendimento.
3. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
» Ricezione pesi della rete neurale
» Ricezione valori di ingresso dai
sensori .
» Calcolo valori di uscita per il
controllo motori
3
Obbiettivo
Realizzare uno strato software che esegua
un controllore basato su rete neurale per
una piattaforma robotica.
Sono Richiesti:
Pesi della rete
Valori di ingresso
Sensori robot
Motori robot
Rete neurale
Valori dei motori
Controllore
4. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
» Studio hardware e software della piattaforma
roboticaThymio 2.
» Analisi delle tecniche di implementazione del
controllore.
» Progettazione del software.
» Realizzazione strato software del sistema di
controllo.
» Analisi e collaudo del controllore
4
Cosahofatto?
Studio
Analisi
ProgettazioneRealizzazione
Collaudo
5. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
Sistema Attuatori
Attuatori Principali
Motore destro
Motore sinistro
Variabili velocità di controllo
Motor.right.target
Motor.left.target
Velocità di rotazione massima
20cm/s
Studio hardware e software della piattaforma roboticaThymio 2.
6. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
Sistema Sensori
Sensori di prossimità
Sensori di terraSensori di
accelerazione
Velocita dei motori
Sensori Principali per la navigazione
Studio hardware e software della piattaforma roboticaThymio 2.
7. Tecniche di
implementazione del
controllore
Implementazione su un calcolatore centrale.
Linguaggio Python, Java, c++
Computazione Elevata
Costi Bassi
Comunicazione Wireless
Linguaggio Python, java, c++
Computazione Elevata
Costi Elevati
Comunicazione Via usb
Linguaggio Aseba
Computazione bassa
Costi Assenti
Comunicazione Real time
Implementazione su un modulo hardware aggiuntivo
Implementazione diretta sul hardware del robot
8. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
Software e linguaggio di programmazione
Studio hardware e software della piattaforma roboticaThymio 2.
Principalivincolidiprogetto
interi nel range [-32768,32767]
I vettori ricevono solamente costanti
var x = 10
var vettore[x]
Sintassi non valida.
Subroutine operano globalmente
Arrotondamento solo per difetto
Costanti dichiarate solo tramite l’ambiente di
sviluppo
Non sono previste matrici.
Thymio utilizza Aseba:
Architettura basata su eventi
la comunicazione è asincrona
il comportamento e le politiche
di invio e ricezione fatte
in un linguaggio di Scripting
imperativo con vettori di
interi a 16 bit
9. Implementazione
diretta sul robot
Passaggi fondamentali
Normalizzazione dei dati di ingresso
Creazione di un’architettura di rete neurale Feedforward
Implementazione approssimata della funzione di
uscita per il singolo percettrone
Normalizzazione dei risultati di uscita per pilotare i motori
10. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
10
OUTPUTYi
O1 [-500 : 500]
O2 [-500 : 500]
Progettazione
INPUTV
V1 [0 : 5000]
V2 [0 : 5000]
V3 [0 : 5000]
V4 [0 : 5000]
V5 [0 : 5000]
V6 [0 : 5000]
V7 [0 : 5000]
V8 [0 : 1024]
V9 [0 : 1024]
V10 [-32 : 32]
V11 [-32 : 32]
V12 [-32 : 32]
V13 [-500 : 500]
V14 [-500 : 500]
Sensori di
prossimità
Sensori di
Terra
Sensori
Accelerazione
Misura velocita
rotazione motori
11. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
11
INPUTV
V1 [0 : 5000]
V2 [0 : 5000]
V3 [0 : 5000]
V4 [0 : 5000]
V5 [0 : 5000]
V6 [0 : 5000]
V7 [0 : 5000]
V8 [0 : 1024]
V9 [0 : 1024]
V10 [-32 : 32]
V11 [-32 : 32]
V12 [-32 : 32]
V13 [-500 : 500]
V14 [-500 : 500]
Normalizzazione
O1
Funzione di attivazione
F :[-32767:32768] [-8192:8912]
𝑖=1
𝑁
𝑊𝑖 𝑃𝑖
S1
Tangente iperbolica
Bloccodiingresso
INPUT Wi
W1 [0 : 128]
W2 [0 : 128]
W3 [0 : 128]
W4 [0 : 128]
W5 [0 : 128]
W6 [0 : 128]
W7 [0 : 128]
W8 [0 : 128]
W9 [0 : 128]
W10 [0 : 128]
W11 [0 : 128]
W12 [0 : 128]
W13 [0 : 128]
W14 [0 : 128]
12. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
BloccoNascosto
13. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
BloccoDiUscita
E1
S1 U1
𝑈1 = 𝑐 ∗ tanh
𝑆1
𝑐
Normalizzazione
Di uscita
U1N
S2 U2
𝑈2 = 𝑐 ∗ tanh
𝑆2
𝑐
U2N
𝑆𝑡𝑟𝑎𝑡𝑜 𝑑𝑖 𝑢𝑠𝑐𝑖𝑡𝑎 ∈ 𝑅2 𝐹𝑢𝑛𝑧𝑖𝑜𝑛𝑒 𝑑𝑖 𝑎𝑡𝑡𝑖𝑣𝑎𝑧𝑖𝑜𝑛𝑒 𝑁𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑎𝑧𝑧𝑖𝑜𝑛𝑒 𝑈𝑠𝑐𝑖𝑡𝑒 𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑧𝑎𝑡𝑒
𝑼𝒊𝒏 =
𝟓𝟎𝟎 ∗ 𝑼𝒊
𝟖𝟏𝟗𝟐
OUTPUT Oin
U1N [-500 : 500]
U2N [-500 : 500]
14. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
Obbiettivo dell’esperimento
14
La raccolta ed analisi dei dati
Valutare Il divario tra i risultati
ottenuti utilizzando un hardware
superiore in termini di computazione
rispetto al limitato hardware del
Thymio
Realizzazione di subroutine per a
raccolta dei dati In Aseba.
Come si valuta
Realizzazione di un emulatore del
controllore in linguaggio Python.
15. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
Esempio
15
Thymio percorre lungo un
cammino evitando gli ostacoli.
Cosa si è fatto?
16. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
16
Differenza tra i valori di uscita emulati e calcolati.
La velocità di rotazione delle ruote
emulata muta regolarmente.
La velocità di rotazione calcolata segue
l’andamento dei valori emulati in modo
quantizzato.
Grafici della velocità di rotazione della ruota destra.
In verde uscita calcolata dal limitato hardware delThymio.
In blu utilizzo dell’emulatore avente capacità di calcolo superiori.
Velocitadirotazionedelmotoredestro
17. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
17
Differenza tra i valori di uscita emulati e calcolati.
Discostamento medio Basso
Grafico della differenza tra la velocità di rotazione calcolata dal robotThymio e l’emulatore.
18. IL MEGLIO DEL Bio
A Z I E N D A B I O L O G I C A
Conclusioni
18
Prossimo passo?
Tesi
Progettazione della rete neurale
Realizzazione Software per l’allenamento
delle reti neurali.
Raccolta dei dati e analisi
Confronto dei Risultati
Realizzazione del controllore
Realizzazione di un software
Per la Comunicazione Wireless
Studio del hardware e del software