2. Robotica autonoma
La robotica autonoma 竪 un settore della robotica che si occupa di progettare e
realizzare robot in grado di muoversi con una certa autonomia in ambienti sia
strutturati che non strutturati e piuttosto complessi.
Un ambiente pu嘆 essere:
- Strutturato
- Non strutturato
Un ambiente strutturato 竪 un ambiente di cui si conosce a priori la tipologia e le
caratteristiche geometriche degli oggetti presenti nellambiente ma anche
dellambiente stesso. Per esempio: una stanza arredata, ordinata e statica nel
senso che non ci sono oggetti in movimento
In un ambiente non strutturato non si ha tale conoscenza a priori.
3. Robotica autonoma
Un robot, per muoversi e lavorare in autonomia, deve possedere tutta una seria
di caratteristiche, di seguito elencate:
- fonte di energia (possibilmente a bordo)
- Sistema decisionale a bordo
- Sensori ed attuatori a bordo
In questo senso, le propriet appena elencate sono proprio i fattori che distinguono
un robot autonomo da un classico robot industriale presente normalmente in una
azienda manifatturiera.
Tali fattori sono riassumibili in:
- Embodiment -> il corpo del robot contiene sensori, attuatori e sistema decisionale
- Situatedness -> il robot 竪 presente realmente nellambiente e si muove in esso.
4. Robotica autonoma
Robot di questo tipo sono i robot mobili i quali possono essere di differente tipo e
spesso la classificazione la fa il tipo di attuatore. Per esempio:
- Robot cingolati -> sfruttano i cingoli per muoversi
- Robot bipedi, quadrupedi, -> sfruttano delle zampe per muoversi
- Robot mobili tipo rover -> sfruttano delle ruote per muoversi
La seguente figura mostra un robot ragno da me sviluppato con quattro zampe che gli
consentono di muoversi in giro.
5. Robotica autonoma
Di seguito viene mostrato un semplice rover da me costruito che si muove invece
con quattro semplici ruote.
6. Robotica autonoma
I robot come quelli mostrati nella slide precedente sono robot che rientrano nella
categoria dei robot WMR (Wheeled Mobile Robot) Lesempio mostrato in
precedenza 竪 un robot mobile a 4 ruote adatto per pendii e terreni difficili, ma i
robot mobili su ruote possono anche essere robot a due ruote (semplici da
realizzare ma sensibili a pendii e tendono a slittare sul terreno) o a tre ruote
(sorta di triciclo). Inoltre le ruote possono essere:
1) fisse
2) orientabili
7. Robotica autonoma
Anche i robot sottomarini sono robot mobili che sfruttano per嘆 altri sistema di
movimentazione tra cui:
- Classiche eliche
- Getti di acqua
Solitamente sono robot teleguidati in grado di operare a profondit spesso inaccessibili a
noi. Ci sono due grandi famiglie di robot subacquei:
1) ROV -> (Remotely operated vehicle) il quale funziona se collegato via cavo alla base
di controllo
2) AUV -> (Autonomous Underwater Vehicle) in grado di muoversi in effettiva
autonomia ed 竪 in grado di trasmettere in tempo reale dati e video tramite una
connessione di tipo wireless.
Esempi di robot di questo tipo sono i robot che saldano le tubature nel mare, i robot che
analizzano i fondali marini, Per esempio: OpenRov (kit open source per la realizzazione di
robot acquatici).
8. Robotica autonoma
Solitamente il sistema decisionale di un robot di questo tipo 竪 una classica rete
neurale in cui lo strato di input codifica istante per istante lo stato sensoriale del
robot.
Le informazioni sensoriali che il robot riceve al generico istante di tempo t
dipendono chiaramente dallazione compiuta dal robot allistante t-1 ed influenzano
le azioni che dovr compiere allistante t+1
9. Robotica autonoma
Di seguito viene mostrato lo schema generale di un agente con i concetti appena
introdotti:
10. Robotica autonoma
Le abilit necessarie per un robot autonomo sono:
1) abilit comportamentali -> ossia le abilit che gli permettono di muoversi e di
sopravvivere nellambiente
2) abilit cognitive -> capacit di riconoscere e comprendere lambiente in cui 竪
immerso
3) abilit sociali -> capacit di interagire con altri robot (es: sistemi multiagente)
11. Robotica autonoma
Come gi accennato in precedenza i robot si possono dire autonomi se possono
muoversi senza laiuto delluomo in un ambiente piu o meno variegato.
Lautonomia viene resa possibile dalla presenza di sensori e sistemi di elaborazione
dati a bordo, per lo pi湛 dedicati a fornire una posizione del robot nel suo ambiente
(auto-localizzazione) ed a permetterne la relazione con oggetti dellambiente
circostante, quali persone, oggetti, e strutture. Tra i sensori utilizzati abbiamo sensori
di, telecamere, sensori termici, sensori di campo magnetico, sensori di posizione
quali GPS eccetera.
Si pensi, per esempio, ad un ambiente produttivo (una azienda manifatturiera). In tali
ambienti spesso si usano i robot AGV ( Automatic Guided Vehicle). A differenza di tali
robot, che sono pensati per rimanere confinati nelle loro corsie allinterno dello
stabilimento, i robot mobili operano negli stessi spazi delle persone e di tutti gli altri
veicoli presenti in fabbrica (muletti, transpallet, biciclette, carrelli,). Per questa
ragione la sicurezza 竪 un fattore critico per prevenire eventuali collisioni con gli
operatori e gli altri ostacoli fissi o mobili presenti nellambiente
12. Robotica autonoma
Un fattore molto importante da tenere a mente quando si parla di robot mobili
autonomi:
I robot mobili sono progettati per comunicare fra di loro o con un supervisore
durante il loro utilizzo.
La flotta di robot deve quindi essere in grado di utilizzare la rete Wi-Fi esistente e
offrire un sistema di programmazione robusto e sicuro sia dal punto fisso (Pc) che dal
lato mobile (robot).
Devono inoltre offrire un elevato standard di sicurezza informatica per evitare di
offrire un facile ingresso alla rete.
E inoltre importante tener conto che, vista lelevata quantit di traffico dati generata
dalla flotta, 竪 possibile sussista la necessit di implementare una rete wireless
dedicata esclusivamente alla essa.
13. Robotica autonoma
Una flotta o sciame di robot viene studiato in un settore della robotica chiamato
swarm robotics. In poche parole, in tale settore della robotica si studia il
comportamento dei cos狸 detti insetti sociali, ossia formiche, api, eccetera. Lo scopo di
tale branchia della robotica 竪 quella di progettare e sviluppare robot in grado di
riprodurre le stesse funzioni di questi insetti dal punto di vista della cooperazione per
il raggiungimento di un particolare scopo.
Un interessante sito legato agli swarm robots 竪 il seguente:
http://www.swarm-bots.org/
14. Robotica autonoma
I singoli robot devono possedere determinate caratteristiche che sono riassumibili in:
Omogeneit
Semplicit
Capacit di effettuare comunicazioni locali ed elementari.
Una cosa molto importante 竪 che nella robotica collettiva I robots devono:
Essere autonomi
Essere inclusi allinterno dellambiente in cui opereranno
Poter agire solo localmente
Collaborare verso un unico obiettivo
15. Robotica autonoma
Come gi detto, un insieme di robot deve necessariamente cooperare per poter
affrontare un problema, semplice o complesso che sia, e risolverlo.
Tale cooperazione 竪 dettata dal comportamento collettivo (collective behaviour) del
sistema, per cui tutti i robot ambiscono allo stesso risultato strutturandosi o
compiendo scelte come fossero un unico robot, celando totalmente il
comportamento del singolo.
Questi comportamenti collettivi possono essere del seguente tipo:
Organizzazione spaziale -> legata allorganizzazione della posizione del robot
allinterno dellambiente in cui opera.
Navigazione collettiva -> legata allorganizzazione dei movimenti dei singoli robot
allinterno dello sciame
16. Robotica autonoma
Collective decision making -> legata alla presa di un singola decisione o alla
suddivisione del carico di lavoro per il raggiungimento di un determinate obiettivo.
Un altro segmento legato alla robotica autonoma 竪 quella della robotica bio-ispirata o
biorobotica. Sicuramente, insieme alla robotica umanoide, 竪 uno dei settori pi湛
complessi ed affascinanti.
Richiede una conoscenza della meccanica, dellinformatica, della biologia,
dellelettronica molto spinta.questo 竪 probabilmente il settore della robotica pi湛
trasversale.
19. Robotica autonoma
Si pensi, a titolo di esempio, ad un robot serpente (snake robot). La cinematica diretta
ed inversa di un robot serpente pu嘆 risultare estremamente complessa. Non sono
robot semplici da progettare e quindi da realizzare.
Un altro tipo di robot complesso 竪 il robot ragno (spider robot), il quale pu嘆 possedere
un grado di complessit strutturale simile a quello del robot serpente.
Alcuni famosi esempi di bio robot:
1) robot spider T8 (https://www.robugtix.com/t8x/).
2) Snake robot (http://biorobotics.ri.cmu.edu/projects/modsnake/)
3) RoboBee (https://wyss.harvard.edu/technology/autonomous-flying-microrobots-
robobees/)
4) Robot Octopus (https://www.santannapisa.it/it/news/robotica-soft-il-mock-di-
octopus-alla-nona-edizione-del-triennale-design-museum)
20. Robotica autonoma
I roboBee sono robot autonomi particolari capaci di volare come gli insetti e si ispirano
la mondo delle API e pertanto anche per similarit con gli swarm robots (robot in
grado di cooperare tra di loro).
Di seguito viene mostrata una zampa di un robot ragno da me sviluppato:
21. Robotica autonoma
Il robot fish 竪 un robot pesce in grado di muoversi in ambiente acquatico proprio
come fa un qualsiasi pesce.
Robot di questo tipo devono chiaramente fare in modo che la parte elettronica sia
totalmente protetta dallacqua.
22. Robotica autonoma
Particolare importanza sta assumendo il nuovo paradigma della biorobotica: la soft
robotica.
La soft robotica utilizza nuovi materiali per rendere i movimenti del robot pi湛 fluidi e
simili a quelli sia umani che animali.
Una nuova generazione di automi destinata a svilupparsi grazie allutilizzo di materiali
non rigidi ma morbidi.
In questo tipo di robotica non si usano i tradizionali attuatori che qui di seguito
vengono elencati:
1) Attuatori elettrici
2) Attuatori penumatici
3) Attuatori oleodinamici
23. Robotica autonoma
Vengono usati nuovi tipi di attuatori come quelli basati sui polimeri elettroattivi. Tali
materiali hanno alcune peculiarit tra cui la capacit di contrarsi ed espandersi (in
lunghezza o in volume) se soggetti a stimolazioni elettriche. I polimeri elettroattivi
reagiscono anche a pochi volt e sono buoni conduttori perch辿 contengono ioni come il
sodio (peccano per嘆 in robustezza).
24. Robotica autonoma
Va ricordato che i muscoli artificiali di ultima generazione si possono classificare in tre
tipi distinti:
Muscoli artificiali pneumatici (PAM=Pneumatic Artificial Muscle)
Polimeri elettroattivi (EAP=Electroactive Polymers)
Muscoli artificiali in nanotubo in carbonio (CNM=Carbon Nanotube Muscle)
25. Robotica autonoma
La robotica autonoma acquista uno speciale significato nel mondo delle esplorazioni
spaziali. Si pensi per esempio al robot mobile rover Curiosity partito per Marte per
effettuare esplorazioni ed inviare alla NASA foto e video.
In questo particolare ambito, 竪 sempre stata presente la necessit di sviluppare robot
mobili altamente autonomi per svariati motivi tra cui:
Estrema inospitalit dellambiente di esecuzione
Difficolt di stabilire un controllo continuativo da Terra a causa sia delle enormi
distanze
coinvolte.
Limitate opportunit di comunicazione determinate dalle leggi della meccanica
celeste.
26. Robotica autonoma
Svariate sono le piattaforme di sviluppo nel campo della robotica, ma ultimamente
una delle pi湛 apprezzate, senza ombra di dubbio, 竪 il sistema ROS (Robotic Operating
System).
Il ROS non 竪 un vero e proprio sistema operativo piuttosto un insieme di librerie
sviluppate per permette allingegnere robotico, figura particolare dellingegneria che
progetta sistemi robotici, di sviluppare applicazioni per la robotica.
http://wiki.ros.org/it
Linguaggi di programmazione messi a disposizione da ROS:
C++
python
27. Robotica autonoma
Le principali librerie per processi ROS client sono orientate verso i sistemi operativi
Unix, soprattutto a causa della loro dipendenza da altri software open source.
Anche in Matlab 竪 possibile lavorare con il ROS
(https://www.mathworks.com/help/robotics/examples/get-started-with-ros.html).
In queste slides abbiamo parlato sia di robot autonomi sia di robot che cooperano. Per
questo motivo si consiglia di imparare a lavorare con il ROS, in quanto spesso molti
robot quotidiani contano su software basati sulla cooperazione di molti processi
spesso nemmeno risiedenti sulla stessa macchina.
Uno stesso task pu嘆 essere raggiunto con la coordinazione di pi湛 robot che devono
agire allunisono per risolvere il problema.
28. Robotica autonoma
E qui entra in gioco il middleware garantito da ROS che permette per lappunto di
instaurare questa cooperazione tramite due meccanismi primari e topic per una
comunicazione asincrona, servizi per la tipologia sincrona.