| ||||
Verfolgen einer Farbmarkierung
Mit einem C++-Programm soll ein Roboter in der Simulation so gesteuert
werden, dass er eine Farbmarkierung verfolgt. Dafür sind am
Roboter drei Farbsensoren angebracht, die den Farbwert eines Pixels unter
dem Sensor liefern.
Herangehensweise:
Inbetriebnahme:
Einbau des Steuerungscodes: Sobald der Simulationsvorgang durch den Klick auf "fahren..." gestartet wurde, wird zyklisch die Funktion onLoop ausgeführt. Sie sollten daher
keine Schleife in Ihrem Programm einsetzen, um das Programm nicht
zu blockieren.!
Zur Steuerung des Roboters innerhalb der onLoop-Funktion stehen Ihnen
vier wesentliche Funktionen zur Verfügung:
drive(int bot, int rightWheel, int leftWheel);Mit dieser Funktion kann der Roboter gefahren werden. bot ist die Nummer des Roboters (die Software ermöglicht das Steuern vonbis zu 8 Robotern). Dieser Wert ist mit 0 zu belegen, wenn Sie das vorgegebene Beispiel verwenden, in dem der erste Bot zum Einsatz kommt. Die Räder lassen sich in zwölf Stufen, getrennt voneinander ansteuern. Der Funktionsaufruf: drive(0, 1, 1);lässt den Bot geradeaus fahren. Der Aufruf drive(0, -1, 1);bewirkt eine Drehung auf der Stelle. Die Funktionen: int getRedPhotoValue(int bot, int sensor); int getGreenPhotoValue(int bot, int sensor); int getBluePhotoValue(int bot, int sensor);liefern jeweils den roten, grünen bzw. blauen Farbwert, der von einem Sensor erfasst wurde. Wieder spezifiziert "bot" die Nummer des Roboters. Mit "sensor" wird der gewünschte Sensor angesprochen. Da es drei Sensoren geben kann, wird mit 0 der 1., mit 1 der 2. und mit 2 der 3. Sensor angesprochen. Als Rückgabewert liefern die Funktionen die Intensität des jweiligen Farbkanals in einem Wertebereich von 0-255. Die Funktion onLoop wird so lange ausgeführt, wie sie durch return true; mit "wahr" beendet wird, andernfalls wird der Aufruf von onLoop durch die Steuerbibliothek eingestellt. | ||||
Hauptseite | ||||
Download | ||||
Anleitungen | ||||
Lehrveranstaltung | ||||
Verschiedenes | ||||
(ID: 676; 2009) |