Obiettivo
- Raggiungere la striscia bianca a destra
- Percorrere la striscia bianca finché non finisce.
Versione 1
- File > Open > lineFollower.irobo
- Example programs > Line follower
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# map: default.map right forward(8) repeat { if(frontIsWhite) { forward(1) } else if(rightIsWhite) { right } else if(leftIsWhite) { left } else if(frontIsObstacle) { end } } |
Versione 2
Utilizza la ricorsione…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# map: default.map right forward(8) FOLLOW procedure FOLLOW { if(frontIsWhite) { forward(1) FOLLOW } else if(rightIsWhite) { right FOLLOW } else if(leftIsWhite) { left FOLLOW } else if(frontIsObstacle) { return } } |
Più semplice?
Considera una mappa con il robot già sulla traccia colorata
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
repeat { if(frontIsBlack) { forward(1) } else if(rightIsBlack) { right } else if(leftIsBlack) { left } else { end } } |
Esercizi
- Aggiungi dei tratti colorati sulla mappa in modo che il percorso
- diventi un percorso chiuso
- abbia dei vicoli ciechi laterali
- Come si comporterà il robot sulle nuove mappe?
- Modifica il programma in modo che il robot
- segua il percorso al contrario quando raggiunge la fine
- vada prima a destra piuttosto che dritto.
- …