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

Stani na liniji

Cilj

Zaustavljanje na liniji pomoću reflektivnih senzora.

Program

void RobotSoccer::loop() {
	if (setup())
		headingToMaintain = heading();
	go(40, 0, pidRotation->calculate(heading() - 
		headingToMaintain));
	if (lineAny()){
		go(0, 0, 0);
		end();
	}
}
Prve 2 linije postavljaju početni smjer robota u varijablu "headingToMaintain", kao i prije.

Funkcija "go()" pokreće robota brzinom 40 u smjeru 0° - ravno naprijed.

lineAny() je funkcija koja vraća "true" ako je robot zagazio na liniju bilo kojim tranzistorom bilo kojeg od 4 senzora linije.

Ako jest, izvršava se "go(0, 0, 0)", funkcija koja zaustavlja robota. "end()" završi rad programa.

Video

Kratki video pokazuje robota koji izvršava gornji program.

Zadatak: odbijanje od linije.

Napravite program koji će se odbiti od linije, kad čelom naiđe na nju.

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.