Corso di sistemi in tempo reale
Anno accademico 2003/2004
Progettino
Il progettino consiste nell'implementare un controllore per un robot
(simulato dal sistema operativo Shark). L'obiettivo e' fare in modo
che il robot segua un percorso prestabilito. La descrizione del
modello del sistema e alcuni dettagli si possono trovare scaricando il
seguente documento: progetto.pdf.
Il codice del sistema operativo che serve a svolgere il progetto puo'
essere scaricato da qui. Si tratta
di una versione fatta apposta per il corso, in quanto sono stati
modificati i makefile e alcune libreria per permettere il
funzionamento insieme ai file generati da real-time workshop. Quindi,
qualunque altra versione di Shark non funzionera'.
Il codice del simulatore, insieme a un controllore molto elementare,
e' il seguente: rtw.tgz oppure in formato zip,
rtw.zip . Il codice va scompattato nella
directory demos di Shark.
Rispetto alle versioni precedenti, sono stati fatte le seguenti
modifiche:
- Risolti alcuni bug nel calcolo della distanza e
dell'angolo. C'erano dei problemi di segno sui valori restituiti dai
sensori.
- Introdotto un ulteriore valore di ritorno per il sensore
"curve". Adesso, quando il robot va fuori dal range del percorso (pari
a un metro), il sensore restituisce il valore di errore -5.
- la pista e' stata cambiata, adesso ci sono curve piu' larghe,
questo significa che il progettino e' un po piu' semplice. Comunque, se
volete potete cambiare la pista e mettere delle curve piu'
strette.
- introdotto un #define nel file carrello0.c per settare la
lunghezza della simulazione in secondi (attualmente settata a 600
secondi).
Buon lavoro!
Abbiamo deciso di pubblicare (in forma anonima) gli indici delle
prestazioni dei progettini fin qui consegnati. Riuscirete a fare
meglio dei vostri colleghi?
Gruppo | Tempo sul giro | Max overshoot (distanza) | Max overshoot (angolo) |
C | 26.4 sec | 0.75 m | 17.76 gradi |
A | 29.62 sec | 0.12 m | 5.63 gradi |
D | 31.5 sec | 0.08 m | 8.02 gradi |
B | 36.82 sec | 0.77 m | 53.28 gradi |