ezl - abschlusspräsentation nxt standalone · – für eine praktikum der echtzeitsystem sehr...
TRANSCRIPT
![Page 1: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/1.jpg)
EZL - Abschlusspräsentation
NXT Standalone
Sebastian BerumenDominik ElberskirchThomas Windisch
![Page 2: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/2.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 2/28
• Überblick• Anwendungsanalyse• Komponenten & Schnittstellen• Komponententest & WCET Bestimmung• Komposition• Akzeptanztest• Kleine Vorführung
Inhalt
![Page 3: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/3.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 3/28
• LEGO Mindstorm• Atmel-32-Bit-ARM-Prozessor 256 kB Flash, 64 KB RAM, 48 MHz• Koprozessor: Atmel 8-Bit AVR, 4 KB Flash, 512 Byte RAM, 8 MHz• 3 Motorausgänge mit Rückkanal• 4 Sensoreingänge, analog und digital (I²C) kombiniert• Punktmatrix LCD: 100 × 64 Pixel, Abmessungen: 26 × 40,6 mm• Sound: 8-Bit, Samplingrate von 2 – 16 kHz
Aufbau eines aufrecht rollenden Roboters
Überblick
![Page 4: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/4.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 4/28
• Umweltabhängigkeiten• Maximale Sensormessfrequenzen• Trägheit der Aktuatoren• Mechanische Trägheit des Roboters• Temperatureinfluss• Bodenbeschaffenheit• Stromversorgung des Systems• Hindernisse
Anwendungsanalyse
![Page 5: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/5.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 5/28
Anwendungsanalyse
Ereignisse Ergebnisse
Sensormesswerte Aktuatorenstellwerte
Stellen d. Aktuatoren Lageänderung des Systems
Lageänderung Korrektur
![Page 6: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/6.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 6/28
Ziel:• NXT Standalone soll nicht umkippen• NXT Standalone soll die Position halten
Sensor:• NXT Gyro Sensor –
Detektion des Neigungswinkels• Impulsgeber des Servo Motors –
Geschwindigkeitsdetektion / Radstand
Aktor:• NXT Servo Motor – Korrektur der Neigung
FG
l
φ
m
Anwendungsanalyse
![Page 7: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/7.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 7/28
Ziel:• NXT Standalone soll nicht umkippen• NXT Standalone soll Hindernis ausweichen
Sensor:• NXT Gyro Sensor –
Detektion des Neigungswinkels• Impulsgeber des Servo Motors –
Geschwindigkeitsdetektion / Radstand• Ultraschall Sensor und Bluetooth
Aktor:• NXT Servo Motor – Korrektur der Neigung
FG
l
φ
m
Anwendungsanalyse
![Page 8: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/8.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 8/28
Physikalisches Modell Lagrange Mechanik
Lagrange Mechanik
![Page 9: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/9.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 9/28
Physikalisches Modell Übertragungsfunktion
Radmoment muss Pendelmoment entgegen wirken
Einführung der Reibung in den Antriebskomponenten
Einführung der Rollreibung der Räder
![Page 10: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/10.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 10/28
Physikalisches Modell Übertragungsfunktion
Laplace Transformation
Übertragungsfunktionen
=> Nutzung der Regelungstechnik im Zustandsraum
![Page 11: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/11.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 11/28
Komponenten und Schnittstellen
Actuator
AngleSensor
WheelSensorControl
SensorInterface
SensorInterfaceActuatorInterface
BatteryVoltageSensorSensorInterface
DistanceSensorSensorInterface
StateController
TouchSensorSensorInterface
BluetoothRead/Write
Komponentenübersicht und Abhängigkeiten
![Page 12: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/12.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 12/28
Komponenten und SchnittstellenEinführung einer einfachen Schnittstelle für die Sensoren:• S16 GetValue( )
– Liefert den letzten gesampelten Wert zurück• Sample( )
– Liest einen neuen Wert vom Sensor aus
![Page 13: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/13.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 13/28
Bestimmung der Regelungsstrecke
Probleme:• 2 Abtastglieder, eine Störgröße und eine Rückführung in der Regelstrecke,
somit sehr Aufwendige und Fehleranfällige Berechnung• Drehzahl-Drehmoment-Kennline des Motors ist unbekannt• Ein und Ausgänge sind Mehrdimensional somit Berechnung mit Matrizen
![Page 14: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/14.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 14/28
Bestimmung der Regelungsstrecke Fazit• Probleme beim Aufstellen der Regelungsstrecke
– Festlegung der zwingend nötigen physikalischen Eigenschaften ist schwer lösbar
– Kleine Fehler können das Verhalten der Regelstrecke signifikant beeinflussen
– Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig– Hier sollte eine feste Regelungstrecke vorgegeben werden um die
Komplexität zu vermindern
=> Benutzen eines Vorgegebenen Reglers
![Page 15: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/15.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 15/28
• Abbildung des kompletten NXT in Matlab– Physikalisches Modell erfasst
– Reibungen– Unterschiede der NXT Bauteile
– Regler– State Machine– OSEK
• Sehr komplexes System Simulation nicht möglich
Mathworks NXTway-GS Modell
![Page 16: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/16.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 16/28
• Funktionen des Modells– Stehen– Fahren
– Synchronisation der beiden Räder– Kurven
– Erkennung von Hindernisse– Kartographierung– Fernsteuerung– Simulation der NXT Bewegungen in 3D
Mathworks NXTway-GS Modell
![Page 17: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/17.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 17/28
• Generierung des Reglercodes aus Matlab
• Periodendauer des Reglers nach Generierung fest (4ms)– Feste Periodendauer wird durch digitale Integration und Differentiation
erzwungen– Beispiel: Differentiation
Mathworks NXTway-GS Regler Balancer.c
![Page 18: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/18.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 18/28
Komponententest und WCET-BestimmungÜbersicht Testkonzept• Testkonzept• informelle Tests
– Inspection basiert– LCD Ausgaben– Feststellung der Motorlaufrichtung
Automatisierung• Verknüpfung von Komponenten ( Wheel / Aktuator ) • Anforderung:
– Korrekte Funktion von Messwertaufnahme / Stellwertsetzen
![Page 19: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/19.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 19/28
Komponententest und WCET-BestimmungAngleSensor• Sensor liefert Winkel und Winkelgeschwindigkeit zurück
– Kippen nach vorn Winkel-/ geschwindigkeit nimmt positiv zu– Kippen nach vorn Winkel-/ geschwindigkeit nimmt negativ zu
• Verifikation durch Überprüfung des am LCD ausgegebenen Wertes
WheelSensor• Sensor liefert den zurückgelegten Weg zurück (in Grad)
– Bewegung der Räder liefert zurückgelegten Weg– Bewegung in andere Richtung Abnahme des Werts
• Verifikation durch Überprüfung des am LCD ausgegebenen Wertes
![Page 20: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/20.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 20/28
Komponententest und WCET-BestimmungBatteryVoltageSensor• Sensor liefert den aktuellen Wert der Batteriespannung
– Spannung im Bereich 7-9V• Verifikation durch Überprüfung des am LCD ausgegebenen Wertes.
ButtonSensor• Sensor liefert den Zustand des Tasters zurück
– Taster wurde gedrückt /nicht gedrückt
![Page 21: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/21.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 21/28
Komponententest und WCET-BestimmungStateController• Zustandsumschaltung
– Stehen, Fahren, Ausweichen, Notaus– Kommandoverarbeitung zur Zustandsumschaltung (Bluetooth)– NXT gerät in eine nicht kompensierbare Schieflage Notaus
• Verifikation des ausgegebenen Zustands
Actuator• Aktorkomponente steuert die beiden Motoren an
– Setzen der Motorspannung (PWM-Wert)– Auslesen des aktuellen Wertes und Ausgabe am LCD
• Verifikation durch Überprüfung des am LCD ausgegebenen Wertes
![Page 22: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/22.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 22/28
Komponententest und WCET-Bestimmungbalance_control• Verifikation der Komponente im System• Verifikation durch manuelles Bewegen des NXT
DistanceSensor• Ausgabe der Abstandsanzeige auf dem LCD• Verifikation durch Überprüfung des am LCD ausgegebenen Wertes
Bluetooth• Ausgabe der empfangenen Daten auf dem LCD• Verifikation durch Überprüfung des am LCD ausgegebenen Wertes
![Page 23: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/23.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 23/28
WCET-Bestimmung
Wheelsensor.Sample 41 cycles / 0.85µs
AngleSensor.Sample 957 cycles / 19.94µs
Actuator.Set 252 cycles / 5.25µs
VoltageSensor.GetValue 7 cycles / 0.15µs
balance_control 8499 cycles / 177.06µs
Wheelsensor.GetValue 8 cycles / 0.17µs
AngleSensor.GetValue 10 cycles / 0.21µs
AngleSensor.GetAngle 8 cycles / 0.17µs
1 cycle = 1/48MHz = 21ns
StateController.Action 47 cycles / 0.98µs
StateController.Update 7385 cycles / 153.85µs
StateController.CheckBT 7299 cycles / 152.06µs
![Page 24: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/24.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 24/28
Komposition• InitTask
– Einmalige Ausführung beim Start– Initialisiert die Komponenten
• SensorTask (4 ms Periode)– Regler ist auf 4 ms Periode diskretisiert– Sampling Rate vom GyroSensor 300Hz
• ControlTask– Aktivierung durch SensorTask (Synchronisation mit SensorTask)
• ControllerTask (50 ms Periode)– Nicht wahrnehmbare Verzögerung für Benutzer
• Bluetooth• Emergency off
– Sonarsensor max. Samplingfrequenz: ~40ms
![Page 25: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/25.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 25/28
Komposition
4ms
Control Task
Sensor Task
Controller Task
180 µs
21µs
deadline
50ms
activate
deadline
Abbildung der Komponenten:• SensorTask: AngleSensor, WheelSensor, ButtonSensor• ControlTask: balance_control, Actuator• ControllerTask: StateController.Update/Action, DistanceSensor
![Page 26: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/26.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 26/28
Komposition
4ms
180µs
21µs
4ms
180µs
21µs
4ms
180µs
21µs
Control TaskPriority 4
Sensor TaskPriority 5
Activate
50ms
4ms
180µs
21µs
Controller TaskPriority 3
Verdrängung
Zeitliche Eigenschaften und Verdrängung• SensorTask aktiviert ControlTask Synchronisierung• ControllerTask ist nicht synchronisiert Verdrängung
![Page 27: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/27.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 27/28
• NXT soll für den Kunden bedienbar sein• NXT reagiert jederzeit auf Eingaben des Bedieners• NXT reagiert auf Ein/Ausschaltknopf• Eingaben können per Bluetooth erfolgen
• Demonstration im Anschluss
Akzeptanztest
![Page 28: EZL - Abschlusspräsentation NXT Standalone · – Für eine Praktikum der Echtzeitsystem sehr Regelungstechnik lastig – Hier sollte eine feste Regelungstrecke vorgegeben werden](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d54152a88c99384648b4c85/html5/thumbnails/28.jpg)
20.07.2010 EZL - NXT Standalone - Abschlusspräsentation 28/28
Kleiner Test