Hrvatsko društvo za robotiku - Uvod u robotiku - vježbe

Kalibracija nogometaša

Cilj

Kalibrirati sve senzore linije i barijeru za loptu.

Reflektivni senzori

void RobotSoccer::calibrate(){
	go(0, 0, 25, 100);
	mrm_ref_can->calibrate(0);
	mrm_ref_can->calibrate(1);
	mrm_ref_can->calibrate(2);
	mrm_ref_can->calibrate(3);
	go(0, 0, 0, 0);
	end();
}
Budući da postoje gotove funkcije za kalibraciju svakog senzora linije, iskoristit ćemo ih.

Prva linija, "go()", pokreće robota da se okreće oko svoje vertikalne osi. Robot treba biti pozicioniran nad linijom.

Nakon toga se kalibriraju redom 4 senzora ("calibrate()").

Robot se zaustavi i prekine izvršavanje programa.

Rješenje je jednostavno, ali ima manu da se senzori kalibriraju sekvencijalno, umjesto svi odjednom.

Video

Kalibracija.

Barijera

void RobotSoccer::barrierTest(){
	print("%i - %s ball\n\r", analogRead(SOCCER_BARRIER_PIN), barrier() ? "" : "no");
}
Iz menija izaberimo "bar", koji će pokrenuti funkciju lijevo.

Pogledajte koje su vrijednosti kad nema lopte i koje su kad je lopta u prostoru za prihvat lopte.

Okrećite loptu na razne načine i ustanovita koja je najveća vrijednost.

Nađite polovicu zbroja gornje najveće vrijednosti i vrijednosti kad lopte nema.

Taj broj će biti vrijednost koju ćete upisati u "BARRIER_MID_VALUE", u mrm-robot-soccer.h.

Zadatak: displej.

Ispišite na displej kako napreduje kalibracija linijskih senzora.

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.