Praćenje zida
Cilj
Vježba korištenja senzora udaljenosti i povratne sprege.
Arena
Rasporedite spojnice ploča na približne udaljenosti.
Možete formirati i arenu drugog oblika.
Umetnite bijele ploče u spojnice.
Uz rub postavite gornje dijelove spojnica.
Ukoliko aluminijski profili iz sljedećeg koraka teško ulaze u gornje dijelove spojnica, kombinirajte ova 2 koraka: prvo u svaki gornji dio umetnite profil pa onda sve zajedno umetnite u donji dio spojnice.
Umetnite aluminijske profile.
Program
void RobotLine::loop() {
if (rightFront() > 100)
go(80, 20);
else
go(20, 80);
}
"
rightFront()" je sličan funkciji "front()", ali mjeri udaljenost na desnom prednjem kutu robota. Usmjerimo ga za početak pod 45° u odnosu na uzdužnu os robota. Kasnije možemo varirati kut, dok ne postignemo najbolje praćenje.
Robot treba pratiti desni zid.
Logika programa je jednostavna: ako je udaljenost do zida veća od 100 (mm), skrenemo prema njemu. Ako je manja, od njega.
Dobili smo grubo praćenje zida. Uočite da je ovaj program vlo sličan praćenju crte.
Problem nastaje kad robot dođe do prednjeg zida i vjerojatno će udariti u njega.
Video
Kratki video pokazuje robota koji izvršava gornji program.
Zadatak: prednji zid.
Popravite program tako da skrene lijevo kad dođe blizu prednjeg zida.
Rješenje
void RobotLine::loop() {
if (front() < 100){
go(-50, 50);
delayMs(300);
}
if (rightFront() > 100)
go(80, 20);
else
go(20, 80);
}
Kad dođe do prednjeg zida, robot se okreće lijevo u mjestu 300 ms. 300 sigurno nije optimum. Pronađite pravi za Vašeg robota.
3D
Na
ovom linku možete pogledati 3D vizualizaciju modela i cijeloga ga otvoriti u Autodesk Fusion 360 programu.
Primjedbe
Projekt "Uvod u robotiku" sufinanciran je iz Europskog socijalnog fonda, poziv "Jačanje kapaciteta organizacija civilnoga društva za popularizaciju STEM-a".
Relevantne stranice:
Sadržaj vježbe za virtualne radionice isključiva je odgovornost Hrvatskog društva za robotiku.