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

Kompas

Cilj

Kompas je vrlo koristan za orijentaciju i kretanje robota. Zasad samo osnovna vježba upoznavanja.

Test

Robot posjeduje odličan kompas.

U meniju upišimo naredbu "imu" (1).

Slijedi ispis u 3 kolone (2), sve u stupnjevima:
  • 1. kolona je kompas, smjer u odnosu na sjever (yaw),
  • 2. kolona je rotacija robota oko poprečne osi (pitch),
  • 3. kolona je rotacija robota oko uzdužne osi (roll).

Program

void RobotLine::loop() {
	if (fabs(heading() - 180) < 5)
		stop();
	else
		go(50, -50);
}
Upotrijebimo kompas kako bismo usmjerili robota prema sjeveru. Kako je pločica s kompasom okrenuta za 180°, u stvari ćemo ciljati na smjer 180°, što bi inače bio jug.

Možda nećemo u praksi voziti robota točno u smjeru neke strane svijeta, ali nam može pomoći u održavanju postojećeg smjera ili okretu za određeni broj stupnjeva.

"heading()" je funkcija koja vraća kut kompasa.

"fabs" je funkcija koja od svog parametra (ulazni podatak, u našem slučaju "heading() - 180") vraća njegovu apsolutnu vrijednost (uvijek pozitivnu).

Video

Robot izvršava gornji kod.

Zadatak: zaustavite podignutog robota.

2 su nove funkcije:

Iskoristite jednu od njih za detekciju kad je robot podignut s podloge, na kojoj ide ravno, i u tom slučaju ugasite motore.

Eksperti,

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.