Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

projektews2013:moperro:steuerung

Steuerung des Roboters

Zur Steuerung des Roboters wird zunächst die X-Koordinate der zu folgenden Person benötigt, die durch die Kinect-Kamera gemessen wurde. Diese wird an den Mikrocontroller „Arduino Mega 2560“ übermittelt, welcher die Fortbewegung des Roboters steuert.
Bekannt ist, dass der Ursprung des Koordinatensystems, aus dem die Koordinate stammt, mittig auf der Kinect liegt. Diese Koordinate kann Werte zwischen -1200 und +1200 annehmen, wobei die negativen Werte links und die positiven Werte rechts davon liegen.

Wie wurden diese Zahlen ermittelt? Warum sind keine größeren/kleineren Werte möglich? Welche Einheit haben sie? (Felix)

Somit weiß man nun, in welche Richtung sich MOPERO drehen muss.
Liegt die übermittelte X-Koordinate im positiven Bereich, muss sich der Roboter demnach rechts drehen, bis sie einen Wert annimmt, der zwischen 100 und -100 liegt, also in einem Bereich, der gerade vor dem Roboter liegt. Anschließend fährt MOPERO geradeaus auf die Person zu.
Aber warum zwischen 100 und -100 und nicht einfach gleich 0?
Da die Kinect ständig neue Werte der X-Koordinate misst, die auch bei Stillstand der Person in einem Bereich von +/- 100 schwanken, wird dieser Schwellenwert benötigt. Fuhre MOPERO nur geradeaus, wenn die X-Koordinate gleich 0 wäre, würde er sich ständig neu ausrichten.
Das Drehen des Roboters wird durch Drosselung der Geschwindigkeit der Räder auf der Seite, in die er sich drehen soll, bewerkstelligt.

Im Grunde OK so.Eine Skizze (Achse mit Koordinatenangaben, in Abschnitte eingeteilt in denen der Roboter unterschiedliche Funktionen ausführt) wäre sehr anschaulich.(Felix)

projektews2013/moperro/steuerung.txt · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)