lejon LeJOS Odometric Navigator Ein Teamprojekt im Fach Programmierung mobiler Agenten für den Masterstudiengang Informatik/Mobile Systeme im Wintersemester 2005/2006 an der Hochschule Harz
Folie 2 P r o j e k t t e a m Jan Grohmann, Annedore Rößling, Florian Ruh, Kai Schories P r o j e k t - H o m e p a g e http://lejon.sourceforge.net/
Agenda Folie 3
Folie 4 M o t i v a t i o n
Aufgabenstellung Folie 5 Entwicklung einer zur Navigation von zweirädrigen Robotern mit LeJOS LeJOS = Lego Java Operating System (vgl. /1/) Java VM als Firmware-Ersatz auf dem LEGO- Mindstorms RCX-Baustein Ziele Kapselung der Navigationsfunktionen Anwender nutzt High-Level-Methoden statt LeJOS-API direkt präzisere Navigation als mit RotationNavigator aus LeJOS SW-gestützte Regelung der Kursabweichung
Projektgrenzen Folie 6 Einschränkungen von Mindstorms und LeJOS nur 12 KB RAM für Usercode auf RCX (Microcontroller) nur 8 Leistungsstufen der Motoren grobe Auflösung der Rotationssensoren (16 Impulse/U) geringe Verarbeitungsbreite kein GarbageCollector keine long-arithmetik Klasse RotationNavigator unpräzise Navigation nur Translation und Rotation möglich keine Kurvenfahrt keine eigene API
Folie 7 O d o m e t r i e
Folie 8 : Berechnung von Wegstrecke und Richtungswinkel über Rotationssensoren Impulszählung ( Ticks ) Ermitteln der Umrechnungsfaktoren Ticks pro Zentimeter (TPC) Differentielle Ticks pro Grad (DTPD) Berechnen der aktuellen Position und Zielkoordinaten Kursabweichungen erkennbar
Folie 9 A r c h i t e k t u r
Hardware- Folie 10 beliebige Hardware-en möglich hier behandelt: Single Differential Drive (DD)
DIDI Folie 11 DIDI = Differential Drive Prototyp für ein Single DD (vgl. /2/) voneinander getrennte Antriebsräder ein Motor pro Rad zwei Motoren zuständig für Geradeausfahrt, beide auch für Rotation
DIDI Folie 12 Problem/Herausforderung gleichmäßige Bewegung u. a. gestört durch unterschiedliche Motorenbeschaffenheit (Herstellungstoleranzen, Verschleiß) Spiel der Zahnräder Kunststoff als Material aller Bauteile Navigation nicht ohne Regelung möglich!
PID-Regler Folie 13 Regelung der Stellgröße Vergleich Soll-/Ist-Werte beruht auf Anzahl der Ticks PID-Konstanten einzeln für jede berechnen experimentelles Verfahren nach Ziegler-Nichols
Folie 14 l e j O N - A P I
Schichtenmodell Folie 15 Application MotionCommand DriveModel Steerer MotionReport LeJOS Hardware
Klassen Folie 16 Drive Parameters DriveModel Motion Command <<interface>> MotionEvent Listener Pose High-Level MotionReport DDModel <<interface>> SteeringEvent Listener Low-Level PIDController Steerer Thread Sensor Motor Timer <<interface>> TimerListener
Anwendungsfälle Folie 17 Set up a motion Start a motion Pause motion Cancel motion Get a motion report Resume motion
Folie 18 E v a l u i e r u n g
Evaluation Folie 19 Sensorrohdaten (reibungsfreier Zustand) Sensor verschluckt Impulse empfohlene Übersetzung: Sensor:Rad < 1:2 Basisfiguren, vgl. /4/ getestet mit DIDI Translation 50, 100, 200, 400 cm Rotation 45, 90, 180, 360 Kurvenfahrt 45, 90, 180, 360 à 50 cm Radius 5 Messungen je Motorleistungsstufe, 5x8=40 pro Figur, ~500 Messungen à 3 Werte allein für DIDI verglichen mit LeJOS-Klasse RotationNavigator
Evaluation der Translation Folie 20 Translation 50 cm 200 cm M B D M B D lejon 56,20 54,40 3,6% 203,20 203,80-0,6% LeJOS 47,67 51,00-6,7% 173,67 200,67-27,0% Vergleich der Translation mit gemessenen (M), vom Fahrzeug berechneten (B) Werten und deren relativer Differenz (D) bei Motorleistungsstufe 4 Abweichungen M vs. B: wesentliche Verbesserung M vs. Sollwert: teilweise Verbesserung
Evaluation der Rotation Folie 21 Rotation 90 360 M B D M B D lejon 143,0 147,2-4,7% 388,0 397,4-2,61% LeJOS 100,0 90,0 11,1% 330,0 360,0-8,33% Vergleich der Rotation mit gemessenen (M), vom Fahrzeug berechneten (B) Werten und deren relativer Differenz (D) bei Motorleistungsstufe 4 Abweichungen M vs. B: wesentliche Verbesserung M vs. Sollwert: keine Verbesserung
Evaluation der Kurvenfahrt Folie 22 Kurvenfahrt 90 360 Soll M B D Soll M B D lejon X 50 52,0 47,6 4,4 0-68,8-70,8 2,0 Y 50 53,6 57,8-4,2 0 50,0 39,0 11,0 Θ 90 84,8 83,4 1,4 360 277,2 285,2-8,0 Vergleich der Kurvenfahrt mit gemessenen (M), vom Fahrzeug berechneten (B) Werten und deren absoluter Differenz (D) bei Motorleistungsstufe 4 Abweichungen M vs. B: hinreichend genau M vs. Sollwert: bei großen Kreisfahrten zu kurz ( Schlangenlinien )
Testfazit Folie 23 Fahrfiguren präzisere Geradeausfahrt jedoch Probleme bei Rotation hinreichend genaue Kurvenfahrt des Fahrzeugs Selbstlokalisation deutlich zuverlässiger Korrektur damit möglich: aktuelle und Zielposition erkennen erneute Fahrfigur mit Differenzwert fahren
Testparcours mit DIDI Folie 24 Demonstration der Korrekturmethoden bei Rotation mit Hilfe der Selbstlokalisation Vorführung im Rahmen des SPP-1125-Kolloquiums in Magdeburg, 2006
Folie 25 F a z i t
Zusammenfassung Folie 26 lejon API zur Navigation zweirädriger Roboter mit LeJOS präziseres Fahren möglich durch PID-Regelung komfortable Nutzung für Anwender Kapselung der Navigationsfunktionen Implementierung für Single Differential Drives vorhanden (DIDI) erweiterbar für weitere Implementierungen, z. B. für Dual Differential Drives (HILDE)
Ausblick Folie 27 nächste Mindstorms-Generation NXT seit Oktober 2006 (/3/) 32-bit-Microcontroller Motoren mit integrierten Rotationssensoren (1 -Auflösung!) 100 Leistungsstufen für Motoren regelbar LeJOS wird darauf portiert werden (/1/) Vorgehen zur Portierung von lejon Low-Level an NXT anpassen High-Level bleibt unverändert Anwender definiert lediglich neue PID-Konstanten
Literatur Folie 28 /1/ Andrews, P. et al.: lejos, Java for the RCX; 2002; http://lejos.sourceforge.net/; Stand: 08.03.2006 /2/ Baums, D.: LEGO MINDSTORMS Roboter, Der Profi Guide; Galileo Press GmbH, Bonn, 2000; ISBN 3-934358-39-X /3/ McNally, M.: Lego Mindstorms NXT Key Product Features; The LEGO Group, Denmark, 2006; http://mindstorms.lego.com/press/2057/lego%20mindstorms%20nx T%20Key%20Product%20Features.aspx; Stand: 08.10.2006 /4/ Grohmann, Rößling, Ruh, Schories: lejon LeJOS Odometric Navigator; Hochschule Harz, Wernigerode, 2006; http://lejon.sourceforge.net/; Stand: 08.10.2006
Folie 29 Vielen Dank fürs Zuhören! Es folgt die Diskussion... Folien und Quellen unter http://lejon.sourceforge.net/