× Home Obiettivo Significato Robot Codice Competenze

RoboCup Jr 2023

Bari - Vicenza - Varaždin

GitHub Repository

OBIETTIVO

Il nostro robot è stato progettato per seguire una linea nera su piastrelle bianche. La linea è costantemente interrotta da vari tipi di ostacoli: barriere fisiche, oggetti solidi che bloccano il percorso del robot, interruzioni della linea, intersezioni, intersezioni con direzioni obbligatorie segnalate da nastro verde, rampe e sottopassaggi.
Una volta completato il percorso, il robot deve entrare nella zona di evacuazione, un'area di soccorso dove si trovano le vittime: 2 vittime vive (rappresentate da palline d'argento) e 1 vittima deceduta (rappresentata da una pallina nera). Il robot deve salvare tutte le vittime e portarle nella zona sicura.

MEANING

Lo scopo di questa categoria è simulare uno scenario distopico in cui, a seguito di una catastrofe, gli esseri umani non sono in grado di raggiungere le potenziali vittime che necessitano di soccorsi. Le tecnologie moderne hanno raggiunto livelli senza precedenti, rendendo cruciale iniziare a formare sia i giovani che i robot fin da subito. In questo modo, possono sviluppare le competenze necessarie che potranno essere applicate a scenari realistici. Questo addestramento è vitale per garantire che le future generazioni siano ben preparate a gestire situazioni di emergenza e a utilizzare efficacemente la tecnologia all'avanguardia per salvare vite. L'obiettivo è promuovere una generazione di innovatori e soccorritori che siano abili nel navigare e superare sfide complesse in tempi di crisi.

ROBOT

Il nostro robot era un Lego Mindstorms EV3. L'abbiamo scelto per la sua versatilità nella costruzione, che ci permette di costruirlo e modificarlo facilmente in base alle nostre esigenze, oltre alla sua natura programmabile. Contrariamente a quanto molti potrebbero pensare, anche se è un robot programmato a blocchi, rappresenta una sfida significativa nello sviluppo dell'algoritmo. I blocchi possono essere una grande limitazione nello sviluppo, quindi trovare un modo per aggirare queste restrizioni richiede sia tempo che conoscenza del linguaggio.
Inoltre, per le competizioni europee, abbiamo installato un sistema operativo basato su Linux sul robot per eseguire MicroPython e programmarlo utilizzando linee di codice. Nonostante le notevoli limitazioni fisiche, siamo riusciti a creare un algoritmo ottimizzato per navigare in tutto il percorso e salvare le vittime.

Technical Description Paper

CODICE

La parte più cruciale del nostro codice era l'algoritmo per la zona di evacuazione. Abbiamo utilizzato MicroPython, una versione leggera di Python senza librerie non necessarie, per eseguire una forma di apprendimento supervisionato.
Il database del nostro robot conteneva una serie di misurazioni della zona di evacuazione: inizialmente senza alcun elemento all'interno, poi con le zone sicure (triangoli) in tutti gli angoli e infine con le uscite su tutti i lati. Una volta che il robot entra nella zona di evacuazione durante la competizione, effettua misurazioni del contesto attuale. Confrontando questi dati con le informazioni nel suo database, può ricreare un modello della zona di evacuazione configurata per la competizione.
Inoltre, utilizzando la deviazione standard, può riconoscere picchi nelle misurazioni che corrispondono alla forma delle palline, consentendogli di individuarle e successivamente di soccorrerle.

COMPETENZE

Durante questa esperienza, abbiamo acquisito una serie di competenze preziose. Abbiamo migliorato le nostre capacità di programmazione, in particolare con MicroPython, e acquisito una comprensione più approfondita degli algoritmi e delle loro applicazioni pratiche.
Le nostre capacità di risoluzione dei problemi sono state significativamente affinate mentre affrontavamo le sfide nello sviluppo di un robot funzionale.
Abbiamo anche migliorato le nostre competenze ingegneristiche attraverso la costruzione e la modifica del Lego Mindstorms EV3, imparando a ottimizzare il suo design fisico per migliorarne le prestazioni.
Inoltre, abbiamo sviluppato un forte senso di lavoro di squadra e collaborazione, poiché una comunicazione efficace e coordinata è stata essenziale per il nostro successo. Questo progetto ci ha anche insegnato l'importanza della perseveranza e dell'adattabilità, poiché abbiamo dovuto continuamente perfezionare il nostro approccio in risposta agli ostacoli imprevisti.