R.C.C. - lezioni
Gara: Robot Cerca Casa
Gara: Robot Cerca Casa
R.C.C. = Robot cerca casa
Ostacolo giro a sinistra:
La prima operazione consiste nell'impostare i motori di movimento B e A e regolare la velocità. Successivamente, si avvia il movimento. Si configura il sensore di distanza (ultrasuoni) utilizzando il blocco "attendi fino a quando".
Il robot, mentre avanza, eseguirà le seguenti azioni quando rileverà un ostacolo a una distanza di __ cm: fermerà i motori, retrocederà di alcuni centimetri e poi svolterà a sinistra.
I parametri che è necessario impostare sono quelli che consentono al robot di eseguire correttamente la manovra. È possibile personalizzare ogni dato in base alle esigenze. Questo rappresenta un esempio di algoritmo, che può essere modificato qualora lo riteniate necessario.
Quando trovo la casella nera mi fermo:
La prima operazione consiste nell'impostare i motori di movimento B e A e regolare la velocità. Successivamente, si avvia il movimento. Si configura il sensore di distanza (ultrasuoni) utilizzando il blocco "attendi fino a quando".
Durante l'avanzamento, il robot eseguirà un controllo con il sensore colore. Quando rileverà il colore nero, verrà attivato il blocco di controllo "se", che farà eseguire l'azione specificata al suo interno, ovvero fermare il robot.
L'algoritmo del programma, con l'inserimento del blocco creato "Nero Balla", viene riscritto come segue:
Definisco un nuovo blocco che chiamo "nero balla":
L'idea alla base di questo blocco è fare in modo che, una volta individuato il colore nero, il robot non si limiti a fermarsi, ma avanzi all'interno della casella. Questo è essenziale per raggiungere l'obiettivo della gara, chiamata "Il robot cerca casa", in cui la casa è rappresentata dalla casella nera. Per vincere, il robot deve entrare completamente nella casa.
Una volta all'interno della casella nera, il robot può eseguire un'azione finale, come una rotazione o un'altra manovra, per simboleggiare la sua "allegria".
Per implementare questa logica utilizzo due blocchi principali:
Il primo blocco permette di individuare la casella nera e fermare momentaneamente il robot.
Il secondo blocco controlla che il robot sia sul colore nero, lo fa avanzare leggermente (di qualche centimetro) per entrare completamente nella casella e successivamente eseguire un "balletto" o un'altra azione programmata.
Il comando "attendi fino a quando" può assumere un valore doppio se si utilizza un Blocco Operatore, Or , questo blocco unisce due blocchi Booleani con una condizione "OR".
Blocco Operatore: Or
Prima di procedere, soffermati a riflettere su quanti scenari possano presentarsi con il lancio dei dadi.
Proviamo ad analizzarli:
Scenario 1
Se con il lancio dei dadi esce il numero sei, un possibile algoritmo potrebbe essere:
Procedere fino all'ostacolo.
Girare a sinistra.
Procedere fino al successivo ostacolo.
Girare a destra.
Procedere fino alla casella nera, che si troverà sulla cella di sinistra, poiché il numero sei è pari.
Ma questo è l'unico scenario possibile?
Individuando tutti gli scenari, potrai scrivere un algoritmo specifico per ciascuno di essi.
Successivamente, potrai valutare se sia possibile ottimizzare il processo, raggruppando più scenari in un unico algoritmo. L'ideale sarebbe trovare una soluzione che copra tutti gli scenari, semplificando così la programmazione.
Tuttavia, non è detto che questa sia necessariamente la chiave per vincere la gara. C'è sempre un elemento di casualità legato al lancio dei dadi.
Dato che la gara è a tempo e alcuni numeri potrebbero generare scenari più favorevoli per raggiungere prima la casella nera, è fondamentale pianificare accuratamente ogni possibile situazione.
Avere un algoritmo più performante non deve essere la priorità assoluta, ma piuttosto garantire una strategia ben strutturata per ogni possibile scenario.
--- Accesso riservato solo al prof. ---
--- Algoritmo dei vari scenari. ---
--- Spunti di riflessione sui possibili scenari per il raggruppamento di due o tre algoritmi. ---
Prima di procedere con la sezione successiva, assicurati di aver individuato una soluzione efficace per ogni possibile scenario. È fondamentale considerare tutte le eventualità derivanti dal lancio dei dadi e garantire che il robot sia sempre in grado di raggiungere la cella nera.
Di seguito trovate alcuni consigli utili per raggruppare i vari scenari, tutte da testare.
Sta a voi sperimentarle e valutarle con attenzione.
Creiamo due blocchi uno per girare a sinistra e l'altro per girare a destra.
Creiamo un blocco unico che contenga sinistra, destra e destra.
"Algoritmo per tre ostacoli: primo giro a sinistra, poi destra e ancora destra".
Questo algoritmo consente al robot di avanzare fino a quando rileva un muro a una determinata distanza.
A quel punto, il robot attiverà una sequenza di movimenti: svolta a sinistra, destra e ancora destra.
Ogni svolta sarà eseguita seguendo la logica: se il robot trova un muro, si ferma, retrocede leggermente per consentire una sterzata precisa e poi effettua la svolta.
Collaudare blocchi
Collaudare algoritmo:
è da collaudare sta a te individuare eventuali modifiche.