kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Entwicklung fehlertoleranter Software für eingebettete Echtzeitsysteme (MMB)

(EN google-translate)

(PL google-translate)


ACHTUNG AKTUELL 01.12.2020: BBB-Raum wurde gelöscht! -- Neuer Link statt des alten in Moodle eingetragen. Bitte nachschlagen!


Etwas verkürzt dargestellt, soll eine Anwendung wie die im nachfolgenden Video verbessert werden:


"Fight"

Dies soll durch Modellierung eines Arm-Systems, und/oder eines Beinsystems als biomechanisches Simulationsmodell erfolgen. Ergebnisse einer entsprechenden Arbeit über das menschliche Gehen sind in folgenden Videos animiert dargestellt:

Animation einer Gehbewegung, die auf Original 3D-Daten basiert (Marker-System / Infrarotkameras).

Bild 0-1: Animation einer Gehbewegung, die auf Original 3D-Daten basiert (Marker-System / Infrarotkameras).

http://www.kramann.info/___downloads/gehmess.mp4
http://www.kramann.info/___downloads/gehsim.mp4
http://www.kramann.info/___downloads/laufsim.mp4
http://www.kramann.info/___downloads/longjump.mp4
http://www.kramann.info/___downloads/salto.mp4

50_Simulationstechnik/01_Systemtheorie/02_Modell (Inverse Dynamik und Vorwärtssimulation beim menschlichen Laufen.)


Aber worin besteht bei diesem Unterfangen der Zusammenhang mit Echtzeitsystemen, die ja namensgebend für diese Lehrveranstaltung sind? Dies soll nachfolgend dargestellt werden.

Eingebettete Systeme (ES) stellen typischerweise Geräte dar, die regelungstechnische Aufgaben innerhalb eines dynamischen Systems versehen und im Normalbetrieb keiner Benutzerinteraktion bedürfen.

Dies impliziert gewisse typische Anforderungen an solche Systeme:

  1. ES sind typischerweise Echtzeit-Systeme.
  2. ES sollten fehlertolerant sein.
  3. ES haben idealerweise adaptive Eigenschaften

Beispiele, bei denen weitestgehend alle diese Eigenschaften verwirklicht sind, sind:

  • Nachlaufregelungen von Geschützen
  • Autopiloten von Flugzeugen
  • ESP, ABS und mit Einschränkungen auch Fahrassistenzsysteme bei Automobilen
  • Herzschrittmacher
  • Der Autofokus bei Kameras

Im Grunde genommen ist die obige Liste einfach eine Aufzählung von Systemen, in denen Regelkreise verbaut sind und der Träger dieser Regelkreise ist jeweils ein eingebettetes System.

Historische Betrachtung


Warum steht gleich am Anfang ein so fragwürdiges Beispiel, die Nachlaufregelung eines Geschützes? - Genau damit hat die moderne Kybernetik und mit ihr die Regelungstechnik begonnen. Norbert Wiener (1894-1964), der Begründer der Kybernetik, hat für Großbritannien im zweiten Weltkrieg eine automatische, Radar basierte Nachführung von Luftabwehrgeschützen entwickelt.


Die besondere intellektuelle Leistung, die Norbert Wiener mit der Einführung der Kybernetik vollbracht hat, besteht nicht zuletzt in einer Abstraktion vom physikalischen System hin zu einem abstrakten, Informations-verarbeitenden System und der theoretischen Beschreibung rückgekoppelter Systeme.


https://www.youtube.com/watch?v=qkDCmEtYcjU (Norbert Wiener - Anti-Aircraft Gun)

https://www.youtube.com/watch?v=cdu16JAzgw8 Norbert Wiener - Wiener Today (1981)

Siehe auch:

http://www.medienkultur.org/sm3/medienkultur/kybernetik/ (Was ist Kybernetik / Flugabwehr und Rückkopplung)

https://www.youtube.com/watch?v=wQE82derooc (Autonome Schildkröte von Dr. Grey Walter, 50er jahre)

Autonome Elektrokutsche -- Realisierung des Reglers mit Hilfe eines PCs.

Bild 0-2: Autonome Elektrokutsche -- Realisierung des Reglers mit Hilfe eines PCs.

http://www.kramann.info/___downloads/kreisfahrt.mp4 (Elektrokutsche Kreisfahrt THB :-)

https://www.youtube.com/watch?v=xQOZn5L-2cQ ("Distronic / Fahrassistenzsystem")

Hardware

Für die technische Umsetzung von ES kommen insbesondere FPGAs, also Field Programmable Gate Arrays zum Einsatz, insbesondere dann, wenn die Echtzeitanforderungen besonders hoch sind. Sind diese etwas niedriger, können auch Mikrocontroller für kleinere Anwendungen zum Einsatz kommen.

Sind hohe Rechenleistungen erforderlich, wie beispielsweise bei Modell basierten Regelkreisen, so kommen auch Industrie-PC-Systeme, bzw. Systeme mit leistungsfähigen CPUs zum Einsatz.

Umsetzung in diesem Kurs

Konkret in diesem Kurs soll der Fokus auf eingebettete Echtzeitsysteme gelegt werden, die Modell basierte Regler in einem dynamischen System repräsentieren. Um konkrete Umsetzungen zu ermöglichen, werden in diesem Kurs einerseits...

a) dynamische Systeme samt Umwelt und einem eingebetteten Regler mit Scilab simuliert werden. Zum anderen werden...

b) Android-Devices wie eingebettete Systeme betrachtet und eingesetzt werden.

Zu a): Simulation dynamischer Systeme mit eingebettetem Regler mit Scilab

Typischerweise zerfallen solche Simulationen in zwei Teilmodelle: Es gibt die Simulation einer Umwelt, in der sich das dynamische System bewegt. Aus diesem Gesamtmodell lassen sich alle Zustände und Parameter beliebig genau abrufen.

Die besondere Herausforderung für die Entwicklung eines guten Reglers besteht nun insbesondere darin, auch ohne vollständige, ja nicht einmal mit Wert- bzw. Zeit-korrekten Daten aus dieser "simulierten Realität" klar zu kommen. Das bedeutet, innerhalb des Modells, das die Realität, also das dynamische System samt der Umwelt, auf die es reagiert, gibt es noch das Modell des Reglers. Und für diesen Regler wird festgelegt, wie lückenhaft und fehlerhaft die für ihn verfügbaren Daten sind. Indem entsprechende Variationen solcher Mängel simuliert werden, können die immer vorhandenen Genauigkeitsgrenzen eines realen Systems abgebildet werden, aber auch dezidiert auftretende Fehlfunktionen.

Aus der regelungstechnischen Theorie werden innerhalb dieser Lehrveranstaltung insbesondere Zustandsregler mit Beobachter einbezogen werden.

Zu b): Umsetzung eingebetter Regler auf der Basis von Android-Devices

Android-Devices sind natürlich keine eingebetteten Systeme, denn sie arbeiten mit einem Betriebssystem, das auf eine stetige Benutzerinteraktion hin orientiert ist. Insbesondere schaltet sich der Bildschirm aus und die CPU-Leistung wird herunter getaktet, wenn längere Zeit keine benutzerinteraktion erfolgte. Echtzeit anwendungen können durch Services gestört werden, die beispielsweise Recourcen anziehen, um Updates herunter zu laden, oder eingehende Anrufe und nachrichten zu handhaben.

Jedoch über einen begrenzten Zeitraum hinweg lassen sich Android-Devices (AD) wie Eingebettete Systeme benutzen, da sie viele Eigenschaften besitzen, die eine Grundvoraussetzung für die Realisierung solcher Systeme sind:

  • AD besitzen eine Vielzahl integrierter Sensoren, die sich zur Erfassung des Zustandes des zu regelnden Systems einsetzen ließen, wie beispielsweise einen 3-Achsigen Beschleunigungssensor, ein Gyroskop, GPS und Kompaß.
  • AD besitzen eine leistungsfähige CPU, die es sogar erlaubt, Modell basierte Regler umzusetzen.
  • AD sind so klein, dass sie in vielen Geräten Platz finden.
  • AD besitzen eine Vielzahl an Schnittstellen, um einen Datenaustausch mit einem anderen Gerät zu ermöglichen, wie beispielsweise Bluetooth, W-LAN, oder OTG.

Formaler und inhaltlicher Ablauf des Kurses

Die verwendeten Mittel, also Scilab und Android-Devices, wurden gewählt, weil sie es den Studierenden ermöglichen auch zu Hause dynamische Systeme mit eingebetteten Echtzeitsystemen zu modellieren, zu simulieren, praktisch aufzubauen und zu optimieren.

Im Verlauf des Semesters sollen die vermittelten Fertigkeiten immer weiter ausdifferenziert werden, indem nacheinander für immer komplexerere und immer weniger idealisierte Systeme der Zyklus Modellierung, Simulation, Aufbau und Optimierung (nicht immer vollständig) durchlaufen wird.

Als konkreten Zielpunkt der Lehrveranstaltung sollen die Studierenden Teilaspekte eines Arm- oder Beinsystems modellieren und auf ein Android-Device als Echtzeit-Modell übertragen. Die Synchronisierung dieses Modells mit der Realität der Bewegung eines Menschen erfolgt über die Sensorik des AD, welches an passender Stelle am Menschen befestigt wird. Dieses biomechanische dynamische System wird natürlich nicht von dem eingebetteten Gerät geregelt. Vielmehr soll das AD realisitische Abschätzungen für die bei den Bewegungen auftretenden äußeren und inneren Kräfte und Momente berechnen. Schließlich kann dieses System eingesetzt werden, um mehr Aspekte menschlicher Bewegungen zu erfassen, als dies beispielsweise Kamerasysteme erlauben, beispielsweise um einen spielerischen Boxkampf automatisch zu vertonen.

Auf dem Weg dahin, bietet es sich an, einfachere Systeme zu behandeln, die Teilaspekte des angestrebten Systems bereits abbilden. Das sind insbesondere: Das Einfach-Körperpendel, der balancierende Einachser und das Doppelpendel.

Ergänzt werden idealerweise Ansätze zur...

  • inversen Dynamik
  • zur Modellierung von Stößen,
  • Beurteilung der Robustheit von Reglern,
  • Umsetzung adaptiver Systeme,
  • zu fehlertolerantem Softwareentwurf,
  • Methoden zur Parameteridentifikation,
  • und zur Optimierung.

Den Teilen der Lehrveranstaltungen, die sich mit den erwähnten dynamischen Systemen auseinandersetzen, sollen aber noch Vorlesungen und Übungen vorangestellt werden, die in den Umgang mit der Entwicklungsumgebung Processing und in Scilab einführen, sowie die hier notwendigen regelungstechnischen und simulationstechnischen theoretischen Grundlagen behandeln. Somit gliedert die das Semester grob in folgende Phasen und Teilthemen, wobei sich die praxisorientierte Phase #2 auch teilweise mit der theoretischen Phase #1 überlappen kann.


1 Phase #1 -- Vermittlung von Grundlagen
    1.1 Einführung in Processing
    1.2 Einführung in Android-Processing
    1.3 Fehlertoleranter Software-Entwurf
    1.4 Einführung in Scilab    
    1.5 Entwurf von Zustandsreglern mit Polstellenvorgabe
    1.6 Inverse Dynamik am Beispiel eines Körperpendels
    1.7 Parameteridntifikation
    1.8 Fehlertolerante und adaptive Systeme

2 Phase #2 -- Behandlung verschiedener dynamischer Systeme als Vorlesung mit Übungen
    2.1 Das Körperpendel
    2.2 Stöße bei mehreren Körperpendeln
    2.3 Das Doppelpendel
    2.4 Grundmodell zu einem Armsystem

3 Phase #3 -- Hausarbeit als Prüfungsleistung
    3.1 Bildung von Zweiergruppen
    3.2 Entwurf eines Android-basierten und Modell basierten Systems zur Erfassung von Armbewegungen
    3.3 Thematische Differenzierung der Gruppen, beispielsweise fließende 3D-Bewegungen, Stoßbewegungen, Arm-Umwelt-Interaktion, usw. 
    3.4 Abschlußpräsentation: Jede Gruppe macht ein Video, einen schriftlichen Bericht und gibt mit dem Bericht die komplette Software mit ab.


Code 0-1: Phasen und Teilthemen in dieser Lehrveranstaltung

Teil 2.1 (Preview): Einfach-Körperpendel

Begonnen wird damit, den Gesamtzyklus von Modellierung, Simulation, Aufbau und Optimierung zunächst für das Einfach-Körperpendel durchzuführen und dies in immer weiter verfeinerten Zyklen für komplexere Systeme zu wiederholen.

Entwurf eines Szenarios:

Bekanntermaßen ist das zentrale Thema der Mechatronik, das Verhalten dynamischer Systeme mittels Regelungstechnik zu verändern. Stellen Sie sich einen Spielplatz vor, in dessen Zentrum es einen großen Elefanten mit einem Rüssel gibt, der sich wie ein Körperpendel verhält und möglichst geringe Reibung hat, um ein regelmäßiges Pendeln, vielleicht als physikalisches Experiment, zu ermöglichen. Jedoch soll vermieden werden, dass Kinder durch das Pendel verletzt werden können. Dazu ist ein Regelkreis eingebaut, der das Pendel aktiv beruhigt, falls zu wild damit hantiert wird, insbesondere dann wenn versucht wird, einen Überschlag des Pendels zu produzieren, oder wenn das Pendel beispielsweise Gefahr läuft, ein Kind am Kopf zu treffen.

Vorgehen in Stichpunkten

  • Rekapitulation der Modellgleichungen
  • Simulation von Pendel und Regler
  • Smartphone an Pendelband als konkrete Realisierung
  • Bestimmung statischer Kräfte mittels inverser Dynamik
  • Bestimmung von Stößen mittels inverser Dynamik
  • Entwicklung von Validierungsmöglichkeiten für die Modellkorrektheit
  • Hinzunahme von Aktuatoren zur vollständigen Umsetzung

Form der Lehrveranstaltung und Prüfungsleistung

Prüfungsleistung sind Aufbau, Präsentation und schriftliche Ausarbeitung zu einem Arm- oder Bein-Modell, das in Echtzeit in Android-Devices läuft, die an den Extremitäten eines Menschen befestigt werden und möglichst realistische Abschätzungen der auftretenden inneren und äußeren Kräfte und Momente liefern. Das Modell darf auch auf einem extern laufenden PC berechnet werden und die Daten der Android-Devices könnten über einen W-LAN-Hotspot an den PC geschickt werden. Die Bearbeitung darf in Zweiergruppen erfolgen. Jede Gruppe sollte eine etwas unterschiedliche Ziel-Ausrichtung haben. Bei vier Gruppen sollte die rein äußerliche Aufteilung in linker Arm, rechter Arm, linkes Bein, rechts Bein erfolgen. Insgesamt gilt es, die Aufgaben individuell festzulegen, jedoch so, dass die Leistungen miteinander vergleichbar bleiben. Die genaue Aufteilung erfolgt in der dritten oder vierten Veranstaltung.

Verfügbares Unterrichtsmaterial

Darstellungen großer Teile der oben aufgeführten Thematiken sind auf kramann.info verfügbar. Um die Gelegenheit zu geben, sich etwas vorausschauend damit auseinanderzusetzen, sind nachfolgend einige wichtige Links angegeben. Ansonsten finden Sie unter day_by_day immer verzeichnet, welche Themen an welchem Termin behandelt wurden und ebenso die damit verbundenen Materialien, wie Video-Aufzeichnungen und eben Links zu den Materialien auf kramann.info.

  • Echtzeitsysteme
67_Echtzeitsysteme
67_Echtzeitsysteme/01_Einfuehrung

  • Fehlertoleranter Softwareentwurf
81_FTSD/01_Fehlertoleranz
81_FTSD/05_Fehlertoleranz

  • Processing

processing.org

78_Processing
92_Soundinstallation/03_material/11_Snippets

  • Android-Processing
77_Android
93_Android_Proc
74_EmbSyst/02_Eingebettete_Systeme/03_Android/07_Android_Processing
94_VSI/01_Snippets
94_VSI/05_OSC/01_Datenaustausch
62_Regelungssysteme/06_Javaanwendung
  • Scilab

scilab.org

37_Scilab
50_Simulationstechnik/01_Systemtheorie/07_scilab
54_Kinetik/01_Newton/04_ODE

  • Modellierung und Simulation dynamischer Systeme
50_Simulationstechnik
54_Kinetik
  • Regelungstechnik, insbesondere Zustandsregler
62_Regelungssysteme
62_Regelungssysteme/08_Polvorgabe
62_Regelungssysteme/09_Beobachter

  • Künstlerische Anwendungen
94_VSI
92_Soundinstallation