Dipl. Inf. Andreas Fürtig Beispiel: Roboterarm Dipl. Inf. Andreas Fürtig
Beispiel: Roboterarm Aldebaran Robotics 24 Freiheitsgrade Humanoider Roboter NAO der Firma Aldebaran Robotics 24 Freiheitsgrade DC Motoren mit Positionssensoren (12 Bit Auflösung)
Abstraktion Beschreibung eines Motors und einer Masse, die direkt an der Drehachse montiert ist. Keinerlei Begrenzung des Eingangsstroms (Linearität) Kein Getriebe
Abstraktion Beschreibung eines Motors und einer Masse, die direkt an der Drehachse montiert ist. Keinerlei Begrenzung des Eingangsstroms (Linearität) Kein Getriebe Vereinfacht: Umwandlung von elektrischer Energie in Rotationsenergie mittels einer Spule und einem Eisenkern als Drehachse.
Abstraktion Elektrischer Teil des Motors: Drehmomente:
Matlab Erste Tests mit MATLAB Simscape, ein Tool zur Simulation physikalischer Systeme.
Matlab Ebenfalls: Modellierung eines einfachen Reglers mit P, I und D- Anteil, der die Eingangsspannung des Motors bereitstellt:
Matlab Visualisierung von zwei Motoren mit SimMechanics:
DGL Der gesamte Motor mit PID Regler kann mit 4 DGLs beschrieben werden: Solver: ode15s (Matlab)
Verifikation SpaceEx: State Space Explorer Java Tool zur Eingabe der DGLs, Zustände und Übergange zwischen den einzelnen States Visualisierung mit weiterer Software wie Matlab
Verifikation SpaceEx: State Space Explorer Reachability Tests Berechnung von Polyedern Kann keine Nichtlinearitäten Schrittweitenberechnung lieferte bei unserem Beispiel schlechte Ergebnisse
Verifikation SpaceEx: State Space Explorer Visualisierung von zwei Zuständen (I und Position)
Verifikation Beschreibung des Motors mit Verilog: module motor(p1,p2,sens); inout p1,p2,sens; electrical p1,p2,sens; rotational_omega t1; parameter real R_fric = 1.0e-8, R_inertia = 1E-3, k_m = 1.0e-3, r_m = 1; branch (p1,p2) res; analog begin P_fric = R_fric * Omega(t1); Ires = (V(res) - Omega(t1) * k_m) / r_m; P_el = V(res)*Ires; I(res) <+ Ires; Tau(t1) <+ k_m* (-1.0) * Ires; Tau(t1) <+ P_fric; Tau(t1) <+ ddt(R_inertia*Omega(t1)); omega = Omega(t1); I(sens) <+ V(sens)/1e-6; I(sens) <+ omega/1e-6; end endmodule
Verifikation PD Regler und Simulation in GNUCAP GNUCAP: Freier Schaltungssimulator. Vielzahl an Bauteilen. Nichtlinearitäten!
Verifikation Die Ausgabe von GNUCAP kann mit VERA weiter verwendet werden: Punktweise Auswertung des Zustandsraums. Analyse der Zustände, eventuelle Reduktion möglich! Equality Checking, Model Checking, Reachability. Ergebnisse unseres Beispiels: Reduktion der Zustände auf 2 Stück! ca. 6500 Punkte Reachability Analyse mit AMCVIS
Verifikation Visualisierung der VERA Ergebnisse mit AMCVIS:
Verifikation AMCVIS einer einzelnen Trajektorie: