Bewegung - Institut für Informatik
Transcrição
Bewegung - Institut für Informatik
Kognitive Robotik HK WS 10/11 Bewegung Hans-Dieter Burkhard Humboldt-Universität Berlin Institut für Informatik Bewegung 1. 2. 3. 4. 5. 6. Einführung Arbeitsraum, Konfigurationsraum Ansteuerungen Bahnplanung Erzeugung von Motions Humanoide Roboter H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 2 1. Einführung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 3 Bewegung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Fortbewegung: Erde-Wasser-Luft-Weltraum Manipulatoren Bewegungen von Sensoren Vorlesung Kognitive Robotik Bewegung 4 Kinematik Kinematik (Vorwärts-Kinematik): – Wohin läuft er? – Wo befinden sich die Glieder? Inverse Kinematik (Rückwärts-Kinematik): – Wie kommt er dahin? – Wie sollen sich die Glieder bewegen? Vereinfachung: Vernachlässigung von Masse und Kraft H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 5 Hardware Energieversorgung Antriebe Kraftübertragung Räder/Gelenke Fortbewegung Manipulation Hirose/Takeuchi Fukushima Robotics Lab H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 6 Beispiele Boston Dynamics (spin-off des MIT) http://www.bostondynamics.com/ BigDog Rhex RiSE H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 7 Beispiele: Kamera http://spectrum.ieee.org/automaton/robotics/industrial-robots/superfast-robotic-camera-mimics-human-eye The camera system can point in any direction more than 2500 degrees per second (human: 500) Heinz Ulbrich (Institute of Applied Mechanics, TU München) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 8 Bionik TU Berlin (Ingo Rechenberg) http://lautaro.bionik.tu-berlin.de/institut/s2foshow/ H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 9 Sprawlita Inspiration: Insekten Pneumatischer Antrieb (semi-autonom) Adaption durch Fußkontakt (binäre Sensoren) Einfacher Patterngenerator cdr.stanford.edu.biomimetrics H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 10 Bewegung Manipulatoren – stoßen, drücken, greifen, ... – ... Karlsruhe Aachen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 11 Räder Angetriebene Räder Mitlaufende Räder (Stützräder) Steuernde Räder Messende Räder (Odometrie) Omnidirektionale Räder Ketten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 12 Räder H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 13 Gelenke Natur Bewegung durch Muskeln/Sehnen Prinzip: Antagonistische Zugkräfte H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 14 Gelenke Technik 1 Freiheitsgrad: – – – – Rotationsgelenk Torsionsgelenk Revolvergelenk Lineargelenk (Translationsg., prismatisches G.) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 15 Gelenke Technik Mehrere Freiheitsgrade durch Kombinationen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 16 Gelenke • Aktiv: Ansteuerung durch Motoren, Seilzüge, … Problem: Belastung von Getriebe-Achsen • Passiv: Anpassung Ruhestellung: Antriebe, Schwerkraft, Reibung, Vorspannung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 17 Stanford Manipulator P: Prismatisches Gelenk R: Rotationsgelenke H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 18 Puma H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 19 Odometrie Messung von Bewegungen/Stellungen • Gelenk-Sensoren • Radencoder • Inertialsensoren (Beschleunigung, Lage) Anwendung z.B. • Sensor-Aktor-Kopplung • Vergleich von Ansteuerung und Messung für - Regelung - Hinderniserkennung (vgl. AIBO) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 20 Radencoder z.B. Optische Geschwindigkeitsmessung Phasenverschiebung erlaubt Richtungsbestimmung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 21 2. Arbeitsraum, Konfigurationsraum H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 22 Arbeitsraum und Konfigurationsraum Arbeitsraum: „relevante“ Umgebung des Roboters Pose p=(p1,…,pm) : Lage-Beschreibung im Arbeitsraum Konfigurationsraum: Konfiguration q=(q1,…,qn) : Beschr. im Konfigurationsraum „verallgemeinerte Koordinaten“ m bzw. n : Freiheitsgrade (DOF) = minimale Parameterzahl für vollständige Beschreibung im jeweiligen Raum H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 23 Arbeitsraum m = (Effektive) Freiheitsgrade/DOF z.B.: • p = (x,y) für Punkt in der Ebene: im ℜ2: 2 Position • p = (x,y,θ) für Körper (Fahrzeug) in der Ebene: im ℜ2: 2 Position, 1 Richtung • p = (x,y,z, φ,Ψ, θ) für Flugzeug: im ℜ3: 3 Position, 3 Richtung • p = (x,y,z, φ,Ψ, θ) für Endeffektor im ℜ3: 3 Position, 3 Richtung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung (x,y,z, φ,Ψ, θ) 24 Konfigurationsraum Konfiguration q = (q1,…,qn) „verallgemeinerte Koordinaten“ (x,y) Arbeitsraum θ2 x θ1 H.D.Burkhard, HU Berlin Winter-Semester 2010/11 (θ ,θ ) Konfigurationsraum 25 Vorlesung Kognitive Robotik 1 2 Bewegung Freiheitsgrade (DOF=Degree of Freedom) Holonome Constraints C(x,t)=C(x1,…xn,t)= 0 (Zusammenhänge der Parameter) vermindern DOF DOF=1 DOF=4 • Nichtholonome Constraints C(x, x,…, t)=0 vermindern DOF nicht, schränken aber Bewegungsmöglichkeiten ein (Fahrzeugsteuerung) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 26 Anzahl M der Freiheitsgrade (DOF) k = Anzahl Glieder n = Anzahl Gelenke N = Freiheitsgrad der Glieder (Ebene:3, Raum:6) fi = Freiheitsgrade im Gelenk i (z.B. 1 für Rotation) (N-fi) = Zahl der Constraints im Gelenk i Serielle Mechanismen („open chain“): M = Σi=1,…,n fi Parallele Mechanismen („closed chain“): M = N (k-1) - Σi=1,…,n (N-fi) = N (k-n-1) + Σi=1,…,n fi (Grüblers Formel) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 27 Freiheitsgrade (DOF) Auch im Fall effektive DOF > steuerbare DOF (Arbeitsraum bzw. Konfigurationsraum) können alle Posen erreichbar sein Bezeichnung dafür ebenfalls: „nicht-holonome“ Roboter effektive DOF < steuerbare DOF z.T. notwendig bei Hindernissen Bezeichnung: „redundante“ Roboter H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 28 Freiheitsgrade AIBO hat 20 Freiheitsgrade (DOF) 20 Motoren: • • • • • 3 pro Bein 3 für den Kopf 2 für den Schwanz 1 für das Maul 1 pro Ohr H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 29 3 Motoren pro Bein H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 34 30 Arbeitsraum und Konfigurationsraum Zusammenhang Pose und Konfiguration: Kinematik: p = f(q) Der insgesamt im Arbeitsraum eingenommene Bereich R(q) ergibt sich aus der Geometrie des Roboters. H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 31 Arbeitsraum und Konfigurationsraum Zusammenhang Konfiguration und Pose : Inverse Kinematik q = f -1(p) (i.a. nicht eindeutig) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 32 Arbeitsraum und Konfigurationsraum Modellierung: Nicht realisierbare Konfigurationen • Hindernisse im Arbeitsraum, • Geometrie des Roboters als Hindernisse im Konfigurationsraum Ermöglicht Bewegungsplanung im Konfigurationsraum H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 33 Arbeitsraum und Konfigurationsraum Koordinaten p: ℜ2 Koordinaten q: Gelenkwinkel H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 34 Berechnung p = f(q) (Kinematik) Gelenkwinkel: Rotation bzw. Gliedlängen: Translation H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 35 Rotation des Koordinatensystems im ℜ3 x3 x3´ x2´ x2 x1 a11 a12 a13 a21 a22 a23 a31 a32 a33 x1´ aij = Skalarprodukt der Einheitsvektoren ei und ej (Cosinus des eingeschlossenen Winkels) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 36 Rotation des Koordinatensystems im ℜ3 Zerlegung in mehrere (2D-) Rotationen: Jeweils nur Drehungen in einer Ebene (1 Winkel) um eine der (aktuellen) Achsen. Eulersche-Winkel in 12 unterschiedlichen Varianten z.B. zx‘z‘‘-System: 1. Drehung um z-Achse (z) 2. Drehung um neue x-Achse (x‘) 3. Drehung um neue z-Achse (z‘‘) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 37 Rotationsbewegungen z, yaw x, roll y, pitch zy‘x‘‘-System: Drehung um z-Achse (z) Drehung um neue y-Achse (y‘) Drehung um neue x-Achse (x‘‘) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 38 Reihenfolge von Bewegungen Bewegungen an unterschiedlichen Punkten (unterschiedliche Gelenke), können prinzipiell in beliebiger Reihenfolge durchgeführt werden. Bei Bewegungen am gleichen Punkt ist die Reihenfolge wichtig. (Matrizenmultiplikationen sind nicht kommutativ.) Jede mögliche Folge von Drehungen kann dabei durch eine einzige Drehung realisiert werden. H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 39 Rotationen in einem Ursprungspunkt Wenn der Körper in jeder Richtung frei beweglich ist, können beliebige Drehungen um die Achsen durch eine einzige Drehung (1 Parameter) um eine Achse (2 Parameter) realisiert werden: „Eigenachse“ Berechnung: Lösung des Eigenwertproblems Re = e R = Rotationsmatrix e =Einheitsvektor in Richtung Eigenachse für Eigenwert λ = 1 Lösbarkeit für orthogonale Koordinatensysteme gesichert H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 40 Translation des Koordinatensystems im ℜ3 x3 x1 x1´ x3´ t1 x2´ t2 x2 t3 ti = Verschiebung der Achse xj H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 41 Homogene Koordinaten im Rn Zusätzliche Dimension: (n+1)-dimensionale Vektoren beschreiben Lage ( x1 /w, x2 /w, ... xn /w, w ) • repräsentiert (x1, x2 ,..., xn), w ≠0, beliebig • normiert für w=1 : (x1, x2 ,..., xn,1) (n+1)-dimensionale Matrizen beschreiben Translationen und Rotationen Tr Rot 0 0 ... H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 0 1 42 Homogene Koordinaten Sequenz von Koordinatentransformationen als Matrizenmultiplikationen – Vorwärtskinematik als Resultat – Inverse Kinematik als Lösung einer Matrizengleichung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 43 Ausnutzen spezieller Eigenschaften Drehungen jeweils in einer Ebene (um Gelenkachse) Auswahl „einfacher“ Lösungen Auswahl „einfacher“ Zusammenhänge arctan (bzw. besser atan2) statt arcsin bzw. arccos verwenden H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 44 AIBO: Kinematik Diplomarbeit Düffert Rot(-θ1)Rot(θ2) Trans(l1)Rot(-θ3) Trans(l2) Schultergelenk 1: Drehung im Uhrzeigersinn um y-Achse Schultergelenk 2: Drehung gegen Uhrzeigersinn um x-Achse Oberschenkel: Verschiebung Richtung negative z-Achse Kniegelenk: Drehung im Uhrzeigersinn um y-Achse Vorlesung Kognitive Robotik H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Bewegung Unterschenkel: Verschiebung in Richtung negative z-Achse 45 AIBO: Kinematik Rot(-θ1) Rot(θ2) Trans(l1) Rot(-θ3) Trans(l2) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 46 AIBO: Inverse Kinematik Berechnung von θ1, θ2 ,θ3 für angestrebte Fußstellung (x,y,z) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 47 AIBO: Inverse Kinematik θ3 nach Cosinus-Satz: Vorzugsweise Beugung nach vorn: Positive Lösung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 48 AIBO: Inverse Kinematik θ2 nach Sinus-Definition: H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 49 AIBO: Inverse Kinematik Hilfs-Variable für θ1 H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 50 AIBO: Inverse Kinematik H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 51 3. Ansteuerung von Bewegungen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 52 3.1 Bewegungen Weg: Folge von Punkten Trajektorie: Funktion p(t) bzw. q(t) abhängig von der Zeit t Optimalitätskriterien: – – – – Weglänge Zeit Sicherheit Ästhetik H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 53 Ansteuerung Ansteuerung durch Befehle für die Antriebe (Motoren) - Positionen Realzeit-Anforderung für - Kräfte Bereitstellung - Geschwindigkeiten - … Ausgleich von Schwankungen: • kurzfristig: Umwelt (z.B. Bodenbeschaffenheit) • mittelfristig: Batteriespannung, Erwärmung • langfristig: Verschleiß H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 54 Ansteuerung Feedforward control: – vorher bestimmte Abläufe – einfache Umsetzung – keine Möglichkeiten zur Beeinflussung Feedback control: – Korrekturen mittels Sensoreinkopplung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 55 Motions Keyframe: Zu einem Zeitpunkt anzusteuernde Werte (Pose, Konfiguration) und weitere Angaben bzgl. Geschwindigkeit, Krafteinsatz u.a. Motion, Motionsequenz: definierte Abfolge von Keyframes Interpolation – einmaliger Ablauf für terminale Bewegungen oder – zyklisch Auswahl/Ansteuerung über Zustandsmaschine in Abhängigkeit von äußeren Bedingungen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 56 Motions Transitionen: Übergänge zwischen Keyframes bzw. Motions ggf. Bedingungen für Übergänge beachten Motionbibliothek: Sammlung von Motions Einsatz für spezielle Verhalten des AIBO Einsatz für Verhalten des Bioloid H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 57 Keyframe Satz von Gelenkstellungen Individuell editierbar Protokollierbar (“teachen”) Bewegung: Folge von Keyframes mit Interpolation H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 58 H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung From Bioloid Manual 59 Keyframes: MotionNet Folgen von Keyframes Verzweigung abhängig von Situation (Sensordaten) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 60 Planung von Bewegungen Methoden: – Betrachtung im Arbeitsraum – Betrachtung im Konfigurationsraum: Weg/Trajektorie im Konfigurationsraum finden, so dass das Resultat im Arbeitsraum vorgegebene Bedingungen erfüllt. H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 61 Kinematik der Bewegungen Kinematik: p = f(q) Inverse Kinematik: q = f-1(p) Bewegung: p(t) bzw. q(t) zeitabhängig Kinematik der Bewegungen: dp/dt = df(q)/dt = ∂f(q)/ ∂q • dq/dt Inverse Kinematik der Bewegungen: dq/dt = df -1(p)/dt = ∂f -1(p)/ ∂p • dp/dt H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 62 Probleme der Inversen Kinematik Es kann Unerreichbare Stellungen geben: Punkte, die nicht erreicht werden können Es kann Unzulässige Stellungen geben: Nicht alle mathematischen Lösungen (prinzipiell erreichbare Stellungen) sind realisierbar, z.B. wegen – Beschränkung von Gelenkwinkeln – Kollision mit Objekten bzw. dem Roboter selbst – Unzulässigen Kräften H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 63 2D-Bein am Boden erreichbare Punkte beschränkt durch Gelenkwinkel, Gliedlängen,Behinderungen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 64 Bein (2D) Vorwärtskinematik: –Drehung um Θ1 im Uhrzeigersinn –Translation um l1 –Drehung um Θ2 im Uhrzeigersinn –Translation um l2 X = Rot[-Θ1] (Tr[l1 ] (Rot[-Θ2] (Tr[l2] ( 0 )))) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 65 Bein (2D) Rückwärtskinematik: (mit Kosinussatz) cos(Θ1) z.B. aus Formel für Vorwärtskinematik bestimmen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 66 Bein (2D) l1cos(Θ1) + l2cos( Θ1 + Θ2) fx(Θ1,Θ2) p = f(q) = = fy(Θ1,Θ2) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 l1 sin(Θ1) + l2sin( Θ1 + Θ2) Vorlesung Kognitive Robotik Bewegung 67 Jacobi-Matrix Kinematik der Bewegungen: dp/dt = df(q)/dt = ∂f(q)/∂q • dq/dt Jacobi-Matrix : ∂f(q)/ ∂q = [∂fi / ∂qj ]ij i = Dimension des Arbeitsraums j = Dimension des Konfigurationsraums Singularität bei verschwindender Determinante: | ∂f(q)/ ∂q | = | ∂fi / ∂qj |ij = 0 H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 68 Bein (2D) ∂f(q)/ ∂q = H.D.Burkhard, HU Berlin Winter-Semester 2010/11 -l1sin(Θ1) -l2sin(Θ1 + Θ2) l1cos( Θ1) l2cos( Θ1 + Θ2) Vorlesung Kognitive Robotik Bewegung 69 Bein (2D) ∂f(q)/ ∂q = = -l1sin(Θ1) -l2sin(Θ1 + Θ2) l1cos( Θ1) l2cos( Θ1 + Θ2) l1 l2 sin(Θ2) =0 für Θ2 = 0 , π oder -π Singularitäten entsprechen eingeschränkter Beweglichkeit H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 70 3.2 Fahrzeugantriebe Angetriebene Räder oder Ketten Mitlaufende Räder (Stützräder) Steuernde Räder Messende Räder (Odometrie) Idealisierende Annahmen: – Rad läuft geradeaus (rechtwinklig zur Achse) – Vorwärtsbewegung pro Umdrehung: 2rπ bei Radius r – Odometrie an nicht getriebenem, unbelastetem Rad H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 71 Fahren in der Ebene 3 Freiheitsgrade im Arbeitsraum: (x,y,θ) Positionsänderung bei Bewegung mit Geschwindigkeit V(t) in Richtung θ(t) t x(t) = ∫ V(t) cos [θ(t)] dt o t y(t) = ∫ V(t) sin [θ(t)] dt Normierung: θ = 0 in x-Richtung o t θ(t) = ∫o ω(t) dt H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 72 Fahren in der Ebene Konfigurationsraum (Fahrzeugsteuerung): Möglichkeiten zur Steuerung: • Geschwindigkeiten der Antriebsräder • Richtungen der Räder/Achsen Constraints beschränken Ansteuerbarkeit H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 73 Constraints Rollende Bewegung möglich, falls für alle Räder mit Bodenkontakt gilt: 1) Rotationszentrum (ICC) existiert (d.h. die Achsen haben gemeinsamen Schnittpunkt) 2) Geschwindigkeiten der (angetriebenen) Räder konsistent Sonst: • Roboter verliert Bodenhaftung • Roboter schlittert, Bewegung unberechenbar H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 74 Rotationszentrum ICC = instantaneous center of curvature Schnittpunkt aller Achsen Beschränkung der Achsen- bzw. Radstellungen (ggf. freie Beweglichkeit erlauben) Beschränkung der Geschwindigkeiten der Räder H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 75 Rotationszentrum Roboter-Bewegung: kreisförmig um ICC (geradeaus: ICC unendlich weit) ICC verlagern durch: • veränderte Achsenstellung • unterschiedliche Geschwindigkeiten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 76 Kinematik Positionsänderungen des Roboters abhängig von Geschwindigkeiten (Steuerparameter Vx , Vy, ω ) x(t) = y(t) = θ(t) = H.D.Burkhard, HU Berlin Winter-Semester 2010/11 ∫ t o ∫ t o Vx(t) dt Vy(t) dt t ∫ ω(t) dt o Vorlesung Kognitive Robotik Bewegung 77 Kinematik Positionsänderungen des Roboters abhängig von Geschwindigkeiten (Steuerparameter V , ω ), wenn der Roboter nur in Richtung θ “geradeaus“ fahren kann (Gegenseitige Abhängigkeit der Geschwindigkeiten durch nicht-holonome Constraints) x(t) = y(t) = θ(t) = H.D.Burkhard, HU Berlin Winter-Semester 2010/11 ∫ t o ∫ t o V(t) cos [θ(t)] dt V(t) sin [θ(t)] dt t ∫ ω(t) dt o Vorlesung Kognitive Robotik Bewegung 78 Kinematik Position des Roboters nach Zeit δt Roboter rotiert um den Winkel ωδt um den ICC H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 79 Inverse Kinematik Welche Geschwindigkeiten sind notwendig für eine – Positionsänderung von P(0) = [0,0,0] nach P(t) =[x(t),y(t),θ(t)] Auflösung nach V und ω in Abhängigkeit von P x(t) = y(t) = θ(t) = H.D.Burkhard, HU Berlin Winter-Semester 2010/11 ∫ t o ∫ t o V(t) cos [θ(t)] dt V(t) sin [θ(t)] dt t ∫ ω(t) dt o Vorlesung Kognitive Robotik Bewegung 80 Holonome Fahrzeuge i.a. nicht holonom bei Beschränkung auf 2 steuerbare DOF ( V, ω ) Holonome Fahrzeuge: • Omnidirektionaler Antrieb • Synchron-Antrieb für rotationssymmetrische Fahrzeuge (2 DOF) • Synchron-Antrieb mit zusätzlicher Körperdrehung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 81 Synchroner Antrieb (SynchroDrive) Alle Räder synchron angetrieben Richtung aller Räder synchron steuerbar ICC unendlich weit (in Achsenrichtung) Steuerparameter: Geschwindigkeit v der Räder Vorlesung Kognitive Robotik H.D.Burkhard, HU Berlin Ausrichtung a der Räder Bewegung Winter-Semester 2010/11 82 Differentialantrieb Räder auf einer Achse Geschwindigkeiten der Räder unterschiedlich hohe Empfindlichkeit bzgl. Richtung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 83 Differentialantrieb Rotationszentrum (ICC) auf gemeinsamer Achse, genaue Lage entsprechend Geschwindigkeiten vl ,vr vl = vr Vorwärtsbewegung vl = -vr Drehung auf der Stelle sonst: bogenförmige Bewegung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 84 Differentialantrieb: Vorwärtskinematik Geschwindigkeiten vl ,vr der Räder (Steuerparameter) bestimmen Position (x,y) und Ausrichtung θ H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 85 Differentialantrieb: Vorwärtskinematik Kein holonomes System: Gleichungen (Constraints) nicht ohne Geschwindigkeiten formulierbar H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 86 Differentialantrieb: Inverse Kinematik Gleichungen i.a. nicht auflösbar nur Lösungen für Spezialfälle Viele verschiedene Lösungen z.B. : drehen-fahren-drehen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 87 Differentialantrieb: Inverse Kinematik H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 88 Differentialantrieb: Vorteile/Nachteile Drehen auf der Stelle möglich Grundsätzlich: Einfache Konstruktion und Steuerung Richtungs-Empfindlichkeit bei – Unebenheiten – Rutschen (Verbesserung durch engere Radstellung) Tatsächlich: • Ausgleich von Abweichungen durch Steuerung kompliziert • Stützräder müssen Unebenheiten ausgleichen können (Antriebsräder können sonst Bodenkontakt verlieren) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 89 Gesteuerte Räder: Dreirad usw. Einige Räder steuerbar, andere fest (Dreirad, Zweirad, Waggon) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 90 Gesteuerte Räder: Dreirad usw. ICC auf Achse der fixierten Räder, abhängig von Achse der gesteuerten Räder Steuerparameter: – Geschwindigkeit v der Räder – Ausrichtung θ der gesteuerten Räder Drehung auf der Stelle nur möglich bei θ = 900 Komplizierte inverse Kinematik Instabilität bei engen Kurven Komplizierte Manöver (Einparken!) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 91 Ackermann-Steuerung: Automobil Frontsteuerräder getrennt steuerbar. Modellierung über Phantomrad P2 analog zu Dreirad H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 92 Ackermann-Steuerung: Automobil Steuerparameter: • Geschwindigkeit v1 eines Rades (andere Geschwindigkeiten dadurch festgelegt) • Ausrichtung θ1 eines Steuerrades (θ2 des anderen Steuerrades dadurch festgelegt) Verbesserte Stabilität Weitere Freiheitsgrade für hohe Belastung: – Schrägstellung der Räder – Ausgleich von Unebenheiten Komplizierte Manöver (Einparken!) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 93 Steuerung fahrender Roboter i.a. nur 2 steuerbare Parameter für 3 DOF Differentialantrieb: Geschwindigkeiten vl und vr Andere Antriebe: Geschwindigkeit v und Winkel θ komplexe inverse Kinematik komplexe Manöver zum Erreichen einer Position Ausgleich von Unebenheiten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 94 3.3 Laufroboter Unwegsames Terrain Hindernisse unbekannte Geländebeschaffenheit Greiffüße Rollerwalker H+Y, Japan Lauron III (Laufender Roboter, neuronal gesteuert) FZI Karlsruhe H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 95 Wieviel Beine ? Gerade Anzahl: Symmetrien nutzbar 4 Beine ermöglichen stabiles Laufen – Gewicht muss verlagert werden – es kann nur ein Bein angehoben werden 6 Beine ermöglichen stabiles Laufen mit – gleichzeitiger Bewegung von 3 Beinen – ohne Verlagerung des Gewichts H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 96 Statisch Stabiles Gleichgewicht Projektion des Schwerpunktes (CoG, CoM) innerhalb der konvexen Hülle der Bodenkontakt-Punkte („Stütz-Polygon“) 6 Beine H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 2 Beine 97 Dynamisches Gleichgewicht Schwerpunkt auch außerhalb des Stütz-Polygons Geeignete Bewegungen verhindern Umfallen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 98 Dynamisches Gleichgewicht Segway H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 99 Statisches Gleichgewicht (eines Zustands) Was passiert, wenn der Roboter aus dem Gleichgewicht gebracht wird: Statisch stabil: Gleichgewichtszustand wird von allein wieder erreicht Statisch labil: entfernt sich weiter vom Gleichgewichtszustand Statisch indifferent: Erreicht irgendeine neue Lage H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 100 Dynamisches Gleichgewicht (eines dynamischen Systems) Diskretes Dynamisches System: x(t+1)=f(x(t)). Gleichgewicht: Attraktor (Fixpunkt etc.) Was passiert, wenn das System aus dem dynamischen Gleichgewicht gebracht wird? Dynamisch stabil: Gleichgewichtsbewegung wird von allein wieder erreicht („Stabiler Orbit“) Dynamisch labil: entfernt sich weiter von ursprünglicher Bewegung Dynamisch indifferent: Gleichbleibende Abweichung von ursprünglicher Bewegung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 101 Vorwärtsbewegung Mehr Details: Abheben – Vorwärtsbewegen – Aufsetzen – Abrollen Laufmuster: Vollständiger Zyklus aller Beinbewegungen: 2 Phasen für jedes Bein: – Stützphase (Standphase): Bodenkontakt • Körperansatz/Aufsatzpunkt bestimmen Gelenkwinkel – Transferphase (Schwungphase): freie Bewegung • nächster Aufsatzpunkt bestimmt Gelenkwinkel Duty-Faktor: Prozentualer Zeitanteil des Bodenkontakts Trab (stets 2 von 4 Beinen am Boden): Duty-Faktor=0,5 H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 102 Gangarten – – – – – – – Lauf (walk) Passgang (amble) Trab (trot) (rack) Langsamer Galopp (canter) Galopp (galopp) (ricochet) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 103 Gangarten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung Churchland and Sejnowski (1992) The Computational Brain, MIT Press (pbk, 1994) 104 Gangarten 1: 2: 3: 4: links vorn rechts vorn links hinten rechts hinten E.Muybridge: Animals in Motion, 1899 H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 105 Gangarten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 106 3.4 Modellbasiertes Laufen Statische Modelle Dynamische Modelle Regelungen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 107 Statisch Stabiles Laufen Zu jedem Zeitpunkt kann Roboter in einem statisch stabilen Gleichgewicht anhalten. Bei der Bewegung erfolgen Übergänge zwischen statisch stabilen Gleichgewichtszuständen. Schwerpunkt stets oberhalb des StützPolygons H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Statisch Stabiler Lauf mit 6 Beinen: •Stets 3 Beine am Boden •Schwerpunkt über Dreieck Vorlesung Kognitive Robotik Bewegung 108 Statisch Stabiles Laufen Diplomarbeit Oliver Welter Robots Preparing To Defeat Humans in Soccer.avi Schwerpunktprojektion H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 109 Statisch Stabiles Laufen Diplomarbeit Oliver Welter Static Stability Margin: Abstand Schwerpunktprojektion zum Stützpolygon Longitudinal Stability Margin: Abstand Schwerpunktprojektion zum Stützpolygon in Bewegungsrichtung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 110 Statisch Stabiles 4-beiniges Laufen R1. Schwerpunkt nach vorn verlagern R2. Rechtes Hinterbein in der Luft R3. Rechtes Hinterbein am Boden R4. Rechtes Vorderbein in der Luft R5. Rechtes Vorderbein am Boden L1. Schwerpunkt nach vorn verlagern L2. Linkes Hinterbein in der Luft Und so weiter ... BeiRobotik L5. ist der Roboter fast eine Vorlesung Kognitive 111 KörperläBewegung nge vorwärts gekommen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Erzeugung: Statisch Stabiles Laufen Bewegung durch Übergänge zwischen statisch stabilen Gleichgewichten realisieren Möglichkeit der Erzeugung: Ansteuerung der Beine mittels inverser Kinematik Berechnung entlang der kinematischen Ketten aus • Bahn des Schwerpunktes • Aufsetzpunkten von Beinen • Fuß-Trajektorien der bewegten Beine H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 112 Dynamisches Laufen „Verhindertes Umfallen“ Bisher keine allgemein akzeptierte Definition. • Unterschied zu stabilem Laufen: Mindestens zeitweise Schwerpunkt außerhalb Stützpolygon (kein statisch stabiles Gleichgewicht beim Unterbrechen) • Möglichkeit: „dynamisch stabiles Gleichgewicht“ (vgl. dynamische Systeme) für bestimmte Parameter H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 113 AIBO: Laufmodell Ursprüngliches Laufen von SONY: Statisch stabil, Duty-Faktor 0,75 Verbessertes Laufen im RoboCup: • Dynamisch, Duty-Faktor 0,5 • Diagonal entgegen gesetzte Beine gleichzeitig H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 114 AIBO: Einfaches Laufmodell a) Die Seitenansicht enthält alle räumlichen Parameter. b) Die Schwerpunktverlagerung impliziert Fußbewegungen in der Form von Halbellipsen. H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 115 AIBO: „Rädermodell“ Kurvenbewegungen können nach dem Prinzip des Differentialantriebs realisiert werden (unterschiedliche Geschwindigkeiten der Beine) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Gleichzeitiges Laufen und Drehen mit „Rädermodell“: Die Ruhepositionen der Füße bewegen sich auf Kreisbahnen um ein gemeinsames Drehzentrum. Realisierung durch die aus den gedachten Radbewegungen abgeleiteten Schritte (rot) tangential zu den optimalen Kreisbahnen. Vorlesung Kognitive Robotik Bewegung 116 AIBO: Fußbewegungen im „Rädermodell“ Diplomarbeit Düffert: Die Parameter der Fußbewegung im verwendeten Laufmodell: Fußbewegungen erfolgen in Parallelogrammen, deren Richtung und Länge sich nach dem Rädermodell ergibt. Anderer Ansatz: H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Komplexere Trajektorien mit mehr Stützpunkten definiert Vorlesung Kognitive Robotik Bewegung 117 Physikalische Modelle (Dynamik) Körper ändern Bewegung bei Krafteinwirkungen – Translation: Kraft = Masse x Beschleunigung – Drehbewegung: Moment = Kraft x Hebelarm Gleichgewicht, wenn sich Kräfte bzw. Momente gegenseitig aufheben. Unterschiedliche Modelle einsetzbar • Pendel-Modell • Zero-Moment-Point (ZMP, später mehr dazu) • u.a. H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 118 Beispiel: (Euler-)Lagrange-Gleichungen Betrachtung im Konfigurationsraum mit verallgemeinerten („generalisierten“) Koordinaten q1,…,qn Lagrangefunktion T: Kin.Energie, V: Pot.Energie L(q1 ,..., qs , q&1 ,..., q& s , t ) = T (q1 ,..., qs , q&1 ,..., q& s , t ) − V (q1 ,..., qs , t ) Lagrangegleichungen für i=1,..,s mit Kräften Fi in Richtung qi d ⎛ ∂L ⎞ ∂L ⎟⎟ − ⎜⎜ = Fi dt ⎝ ∂q&i ⎠ ∂qi Lösung bei gegebenen Fi(t) ergibt qi(t) Lösung bei gegebenen qi(t) ergibt Fi(t) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 119 Beispiel: (Euler-)Lagrange-Gleichungen Ansteuerung für physikalisches Modell, z.B. Pendel: Schwungbein abwärts ab Hüfte inverses Pendel: Stützbein/Körper aufwärts Schematisch: – Beschreibung im Arbeitsraum ( Pose p, Kräfte Fp ) – Transformation in Konfigurationsraum ( q=f(p), Fq=f(Fp) ) – Lagrangefunktion bestimmen – Lagrangegleichungen lösen ( q(t) bzw. Fq(t) ) – Rücktransformation in Arbeitsraum p = f -1(q(t)) bzw. Fp(t)= f -1(Fq(t)) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 120 Beispiel: (Euler-)Lagrange-Gleichungen Praktisch: Mit gefundener Lösung die notwendigen Kräfte für Übergänge von Ist zu nächster Soll-Position berechnen. Alternativ: Regelung entwerfen, die die Kräfte für den Übergang ausgehend von den Soll-Ist-Differenzen regelt H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 121 Regelung Zeitlichen Ablauf eines Prozesses so beeinflussen, dass vorgegebene Ziele erreicht bzw. eingehalten werden. – Endpunkt • z.B. Bewegung zu einem Zielpunkt – Führung • z.B. Gleichgewicht halten Steuerung: Beeinflussung allgemein Regelung: Steuerung mit Rückkopplung (Regelschleife) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 122 Regelung: Gleichgewicht + Bewegung Segway H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 123 Regelschleife Regelstrecke: Steuerung, Prozess: Istwert y Regler: Sensor, Regler: Stellgröße u Ziel: y soll mit gegebener Führungsgröße w übereinstimmen Verfahren: Nach Messung von y wird u durch Regler bestimmt Regler Stellgröße u Steuerung Aktuator Istwert y Sensor Prozess H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 124 Regelschleife Führungsregelung: y(t) soll ständig mit vorgegebener Führungsgröße w(t) übereinstimmen, d.h. die Differenz e(t)=y(t)-w(t) soll minimal sein. – z.B. Abstand von der Wand einhalten Endwertregelung: y(t) soll zum Zeitpunkt T einen vorgegebenen Wert w(T) erreichen, – z.B. an der Tür ankommen Regler Istwert y(t) Sensor Prozess H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung Stellgröße u(t) Steuerung Aktuator 125 Regelung bei Robotern Interne Regelkreise Interne Sensoren überwachen inneren Zustand – Gleichgewicht, Gelenkstellungen, Temperatur, ... Regelkreise bzgl. Umwelt Interne/Externe Sensoren überwachen Beziehungen zur Umgebung – Bewegung, Abstand, ... Management zur Koordination notwendig (z.B. Schichten) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 126 Regler Regler muss Stellwerte u für die Steuerung bereitstellen. z.B. Stellwert u proportional zur Abweichung e(t)=y(t)-w(t) Probleme: Zeitverzögerung dadurch können Oszillationen entstehen Verrauschte Daten ungenaue Steuerung Regler soll stabil arbeiten: Trägheit bei der Ansteuerung, Filterung der Sensorsignale, ... H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 127 Modellierung Zielstellung: e(t) := w(t)-y(t) = 0 fProzess(fRegler(w(t)-y(t))) = w(t+1) (bzw. Annäherung) u = fRegler(w-y) Stellgröße u Istwert y y= fProzess(u) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 128 Modellierung Beschreibung des Prozesses: fProzess(y) Beschreibung des Regelkreises y(t+1)=fProzess(fRegler(y(t))) Entwurf eines Reglers mit Ziel w(t)=y(t) Modelle z.B. mittels Differentialgleichungen u = fRegler(w-y) Stellgröße u Istwert y y= fProzess(u) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 129 Proportionalregler Abweichung: e(t) := w(t)-y(t) Stellgröße ~ Abweichung u(t) = K·e(t) mit Proportionalitätsfaktor K Eigenschaften abhängig von K: – Kleines K: langsames Herantasten an Sollwert – Großes K: übersteuern bei nachlassendem Fehler e Gefahr von Oszillationen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 130 Integralregler Abweichung: e(t) := w(t)-y(t) Stellgröße ~ Dauer/Größe der Abweichung u(t) = K · 1/TI· T0· [ e(t-1) + e(t-2) + ... + e(t-l) ] mit T0:= Messintervall jeweils zwischen t und t+1 und konstanter „Nachstellzeit“ bzw. „Integrierzeit“ TI für die letzten l Messungen Eigenschaften: Kann zu geringe Proportional-Regelung ausgleichen, verändert aber anschließend noch gewisse Zeit weiter H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 131 Differentialregler Abweichung: e(t) := w(t)-y(t) Stellgröße ~ Änderung der Abweichung u(t) = K · 1/TD · [ e(t) - e(t-1) ] mit konstanter „Vorhaltezeit“ bzw. „Differenzierzeit“ TD Eigenschaften: Reagiert kurzfristig auf einen „Sprung“ der Abweichung, aber nicht auf dauerhaft konstante Abweichung. Als alleiniger Regler nicht einsetzbar. Problematisch bei Rauschen der Messwerte. H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 132 Kombinationen PI-Regler PD-Regler PID-Regler PID-Regler: u(t) = K( e(t) + 1/TI·T0·[e(t-1)+e(t-2)+...+e(t-l)] + 1/TD·[e(t)-e(t-1)] ) Bei Realisierung durch elektronische Bauelemente auch in kontinuierlicher Form: Integralregler: K/Ti · ∫ e(t) dt Differentialregler: K · de(t)/dt Bei Bedarf Filterung, z.B. zur Rauschunterdrückung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 133 Weitere Regelungen • Fuzzy-Regler: – Fuzzifizierung: Transformation der Messwerte in linguistische Terme – Anwendung von Fuzzy-Regeln über linguistischen Termen – Defuzzifizierung: Transformation linguistischer Terme in Stellwerte • Rekurrente Neuronale Netze u.a. H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 134 Einfache Physikalische Regelungen Physikalische Prozesse (Sensor-Aktor-Kopplung) bewirken Regelung ohne Berechnungen Beispiele: – Thermostat – Braitenberg-Vehikel – Dynamic Passive Walker (s.u.) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 135 3.5 Biologisch inspiriertes Laufen Mechanischer Aufbau • Insektenbeine, Insektenkörper • Dynamic Passive Walker • Mensch als Vorbild Antriebe • Muskeln • Pneumatisch • Effizienz: Elastizität einsetzen • Elektrisch stimuliert Ansteuerung • Central Pattern Generator • Sensor-Aktor-Kopplung Vorlesung Kognitive Robotik H.D.Burkhard, HU Berlin Bewegungsabläufe • Natürliche nachahmen Winter-Semester 2010/11 Bewegung 136 Passive Dynamic Walker – – – – Inverses Pendel (Standbein)+ Pendel (Schwungbein) Hoher Schwerpunkt (Hüfte) Zusätzlicher Ausgleich durch Arme Energie-Effizienz H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 137 Formgebung Ansteuerung „weiß nichts“ vom Laufen, das passiert durch gut gebautes Bein H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 138 Formgebung Blickhan, Seyfarth (Jena) Ansteuerung „weiß nichts“ vom Laufen, das passiert durch gut gebautes Bein gehen rennen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 139 Prothese C-Leg (Otto Bock) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 140 Zürich: Stumpy-Projekt http://www.ifi.unizh.ch/ailab/people/iida H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 141 Künstliche Muskeln • Unterschiedliche Ansatzpunkte für optimale Kraftübertragung • Gelenkachsen nicht als Antrieb • Antagonistisches Prinzip für Stabilität • Elastizität für sparsamen Energie-Einsatz Experimente für Ersatz durch • Seilzug • Federn • Pneumatische Antriebe H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 142 Sensor-Aktor-Kopplung Beispiel: Beherrschung von unebenen Gelände – Solange Fußkontakt (Taster) fehlt: Bein tiefer setzen – Bei Hindernis während Vorwärtsbewegung: Bein zurück ziehen, höher heben, nach vorn setzen Ohne Internes Modell: The best model of the world is the world „Emergentes Verhalten“ H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 143 Fallstudie: Sprawlita Orientierung an der Natur (Arthropoden, z.B. Kakerlake) Laufen funktioniert automatisch Schnelligkeit: 10 x Körperlänge/sec) Ohne relevanten Geschwindigkeitsverlust Hindernisse überwinden (3 x Hüfthöhe) • 150 mm lang • 290 g schwer • Preis ca. 1400 $ H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 144 Sprawlita: Biologisches Modell der Fortbewegung Vernetzung aufeinander abgestimmter Funktionen: • mechanisch • sensorisch • H.D.Burkhard, neuronalHU Berlin Vorlesung Kognitive Robotik Winter-Semester 2010/11 Bewegung 145 Sprawlita: Design und Fertigung Shape Deposition Manufacturing: Formen – Teile werden in Gussform in Lage gesetzt Depositionieren – Ausgießen & fixieren – Bearbeiten des Körpers für weitere Aufbauten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 146 Sprawlita: Design und Fertigung Shape Deposition Manufacturing • Perfekte Befestigung/ Fixierung • Schutz der sensiblen Komponenten (Kabel, Kabelkontaktpunkte, Microcontroller) • Kostengünstige Herstellung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 147 Sprawlita: Design und Fertigung Ausrichtung der Servomotoren und des Mikrocontrollers in der Form Verkabelung – Kabel führen zu Schnittstelle am Hinterteil – Alles wird flach gehalten und verflochten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 148 Sprawlita: Design und Fertigung Geringe Fixierung der Kabel mit Silikon – Schutz vor Verschiebung während des Ausgusses Enden der Motoren werden abgeschlossen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 149 Sprawlita: Design und Fertigung Beine einzeln gegossen. Starre Enden, flexibles Gelenk. Air-Piston und Kontaktstück für Servomotoren eingegossen. Keine späteren Vorlesung Kognitive Robotik H.D.Burkhard, HU Berlin Bohrungen Winter-Semester 2010/11 Bewegung 150 Sprawlita: Design und Fertigung Pneumatik: • 2 Ventile als Aufsatz auf dem Hinterteil • Anstecken der Beine • Verbindung der Beine mit der Pneumatik – Über Kreuz je 3 Beine an einem Ventil • Anschluß an PC am Heck H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 151 Sprawlita: Verhaltens-Steuerung Biologisches Vorbild Kakerlake beim Überqueren einer Hindernisstrecke • Impulse zu den Muskeln ändern sich praktisch nicht bei unwegsamen Gelände Flaches Terrain Impulse zu den Muskeln Unebenes Terrain HU Berlin H.D.Burkhard, Winter-Semester 2010/11 • Gang passt sich ohne zentrale Informationsverarbeitung Vorlesung Kognitive Robotik automatisch an 152 Bewegung Sprawlita: Beinkonstruktion Kakerlake Theoretische Adaption Implementation Passives Hüftgelenk Rotationsgelenk Prismatisches Gelenk H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung - Flexible, gedämpfte Hüftbefestigung - Integrierter Luftdruck-Kolben 153 Sprawlita: Bewegungsmuster - Drei Beine bewegen sich immer gleichzeitig - Schrittsequenz konstant Zeit H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 154 1 2 1 2 Zeit x0 H.D.Burkhard, HU Berlin 1 Winter-Semester 2010/11 x0 1 2 1 2 Zeit Höhe Höhe x0 Höhe Höhe Sprawlita: Schrittsequenz Zeit Robotik x0 2 Vorlesung 1 Kognitive 2 Bewegung 1 2 1 2 Zeit 155 Sprawlita: Bewegung in unebenem Terrain Bewegungsrichtung Z (Meter) Schwerpunkt 0.03 Bahn des Schwerpunkts 0.02 0.01 0 Kognitive H.D.Burkhard, HU 0.08 Berlin0.09 0.1Vorlesung 0.07 0.11 0.12 0.13 Robotik 0.14 0.15 Bewegung Winter-Semester 2010/11 X (Meter) 156 Sprawlita: Bewegung in unebenem Terrain Bewegungsrichtung Z (Meter) Schwerpunkt 0.03 0.02 0.01 0 - Beschleunigung entlang des Hinterbeines - Bei Hindernis steht es steiler, Schub erfolgt mehr nach oben - Schwerpunkt Bahn des im Schwerpunkts Drehpunkt des Hinterbeines -> kein Drehmoment, höhere Stabilität Kognitive H.D.Burkhard, HU 0.08 Berlin0.09 0.1Vorlesung 0.07 0.11 0.12 0.13 Robotik 0.14 0.15 Bewegung Winter-Semester 2010/11 X (Meter) 157 Sprawlita: Auswirkung von Dämpfung - niedrigere Dämpfung steigert Geschwindigkeit durch Speicherung von Energie im elastischen Hüftgelenk - höhere Dämpfung steigert Stabilität durch bessere Bodenhaftung 2.8 0.075 2.6 Horizontal- 0.07 2.4 Geschwindigkeit 0.065 Stabilität 2 0.055 1.8 0.05 1.6 0.045 1.4 1.2 6.5 0.06 v (m/s) 1/max[eig(M)] 2.2 7 7.5 H.D.Burkhard, HU Berlin Winter-Semester 2010/11 8 8.5 9 9.5 0.04 10 Vorlesung Kognitive Robotik Bewegung Dämpfung (N-s/m) 158 Sprawlita: Auswirkung der Schrittfrequenz Geschwindigkeit (cm/s) Geschwindigkeit bei verschiedenen Steigungen und Schrittfrequenzen 60 Frequenz = 11 Hz 40 20 Frequenz = 5 Hz 0 -10 bergab H.D.Burkhard, HU Berlin Winter-Semester 2010/11 0 Steigung 10 bergauf Vorlesung Kognitive Robotik Bewegung 20 159 Sprawlita www-cdr.stanford.edu/biomimetics/ H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 160 Zyklische Bewegungen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 161 Central pattern generator (CPG) Oszillation neuronaler Aktivitäten mittels aktivierender bzw. unterdrückender Verbindungen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 162 Erzeugung rhythmischer Impulse http://soma.npa.uiuc.edu/courses/physl341/Lec8.html Zyklus (Grundprinzip): 1. A wird aktiv und hemmt B 2. A ist erschöpft, B nicht mehr gehemmt 3. B wird aktiv und hemmt A Vorlesung Kognitive Robotik H.D.Burkhard, HU Berlin 4. B ist erschöpft, ABewegung nicht mehr gehemmt Winter-Semester 2010/11 163 Erzeugung rhythmischer Impulse Modulation von „außen“: • Sensoreinkopplung (Sensor-Aktor-Kopplung) • Synchronisation (weitere Ansteuerungen) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 164 Rhythmische Impulse: Heuschrecke H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 165 Erzeugung rhythmischer Impulse H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 166 CPG Verschaltung zu Komplexeren Netzen mit zeitlichen Verzögerungen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 167 Central pattern generator (CPG) Verschaltung zu komplexeren Netzen mit zeitlichen Verzögerungen Neunauge mit Schwimmbewegungen unterschiedlicher Frequenz Kombination mit sensorischen Signalen Hierarchische Steuerungen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 168 Aus Steffen Wischmann: Neural dynamics of social behavior: An evolutionary and mechanistic perspective on communication, cooperation, and competition among situated agents. (Dissertation, Bonn 2007) Beispiel: Evolviertes Neuronales Netz für Robotersteuerung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 169 CPG als dynamisches System Rückkopplungen Diskrete Zustandsübergänge Fixpunkte („dynamisches Gleichgewicht“) Realisierungen Oszillatoren : • (mechanisch, neuronal,…) • Rekurrente Neuronale Netze Vorlesung „Math. Grundlagen …“ (M.Hild) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 170 Sind CPG notwendig? Rückkopplungen können über verschiedene interne oder externe Wirkungen erfolgen (Bsp. Feder, Ball) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 171 4. Bahnplanung Aufgaben: • Gliedmaßen in bestimmte Position bringen • Zyklische Bewegungen ausführen (mit Optimalitätsbedingungen) • Weg für mobilen Roboter Planung (z.B. durch Suche) im Arbeitsraum oder im Konfigurationsraum H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 172 Optimierung Optimale Bewegungen (z.B. Laufen) – Trajektorie – Frequenz Unter weiteren Bedingungen – Stabilität – Schnelligkeit – Bodenbeschaffenheit Für wiederholte Anwendung: – Lernverfahren H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 173 Beispiel: Wegplanung Gesucht: (Optimaler) Weg vom Start zum Ziel ohne Kollisionen Globale Planung („Mission Planner“) – mittels globaler Karte, grob, Zwischenziele Lokale Planung (Echtzeit, „Navigator“) – Erreichung der Zwischenziele – Hindernisvermeidung – Korrekturen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 174 Beispiel: Wegplanung Umweltbeschreibung als Diskreter Suchraum (Graph) – Topologisch – Gridbasiert – Sichtbarkeitsgraphen – verallgemeinerte Voronoi-Diagramme Verfahren: • Graph-Suche (A*), Dynamisches Programmieren Umwelt als kontinuierlicher Suchraum Verfahren: • Potential-Feld H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 175 Beispiel: Wegplanung Zu berücksichtigen: Beweglichkeit des Roboters – Umfang – Freiheitsgrade/Constraints (nicht-holonome Roboter) Transformationen des Suchraums – Freie Flächen verkleinern entsprechend Umfang des Roboters H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 176 Transformation Arbeitsraum H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Konfigurationsraum: Koordinaten: Gelenkstellungen Freie Bereiche entsprechend Bewegungsmöglichkeiten Vorlesung Kognitive Robotik Bewegung 177 Planung als Suche Weg im Konfigurationsraum suchen. Ausführung führt zu gewünschter Position im Arbeitsraum H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 178 Planung als Suche Gridbasierte Wegsuche H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 179 Planung als Suche Skeletierung Skelett: Miteinander verbundene Punkte • Suche im Voronoi-Graph: Knoten mit gleicher Distanz zu Hindernissen Probleme: • komplex • erzeugt oft Umwege • Suche im Sichtbarkeits-Graph: Knoten an Ecken von Hindernissen Kanten zwischen gegenseitig sichtbaren Ecken H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 180 Planung als Suche • Suche in einem Graphen aus zufällig gewählten Punkten im freien Raum Auswahl kann gezielt beeinflusst werden, um bestimmte Bereiche bzw. Wege zu bevorzugen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 181 Potentialfeld Raum mit „Potentialangaben“: – Ziel zieht an – Hindernisse stoßen ab Mit anderen Suchverfahren kombinierbar Kann direkt als Steuerung verwendet werden: Roboter folgt dem Potentialfeld in Richtung Maximum H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 182 Potentialfeld Allgemeine Idee: Steuerung als Richtungs-Vektor [Fx, Fy] Insgesamt als Vektorfeld F(x, y) = [Fx(x,y), Fy(x,y)] Spezialfall: Vektorfeld F(x, y) als Gradient eines Potentialfeldes U(x, y) F(x, y) = [ δU(x, y) / δx , δU(x, y) / δy ] Anwendung: Potential bestimmen aus Sensorinformation Bewegung bestimmt durch Gradienten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 183 Potentialfeld Ziel: Anziehendes Feld Hindernisse: Abstoßende Felder (mit Anpassung bei beweglichen Hindernissen) z.B. Ugoal(p) = α dist(p,goal)2 H.D.Burkhard, HU Berlin Winter-Semester 2010/11 z.B. Uobstacle(p) = β dist(p,obstacle)-1 Vorlesung Kognitive Robotik Bewegung 184 Potentialfeld Potentialfeld ergibt sich durch Überlagerung (Addition) U(p) = Ugoal(p) + Σ Uobstacle(p) F = - [ δU / δx , δU / δy ] H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 185 Potentialfeld Vorteile: Unmittelbar auswertbar für Steuerung Muss jeweils nur lokal ausgewertet werden Probleme: Lokale Minima – Kompensation von Feldern, – „Falle“, eng stehende Hindernisse Oszillierende Bewegungen - enge Bereiche - hohe Geschwindigkeit, plötzliche Änderung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 186 Potentialfeld H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 187 Potentialfeld H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 188 Potentialfeld Zusätzliche Felder (keine Potentialfelder), z.B. - Rotierende Felder - Zufällige Felder können - Richtungen vorgeben - Symmetrien brechen - (manche) Lokale Minima vermeiden H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 189 „Wave front“ Algorithmen Gridbasierte Rückwärtssuche vom Ziel Propagierung zu Nachbarknoten: Kosten zum Ziel Suche nach kürzestem Weg: • ggf. Neuberechnung bei späterer Verbesserung • Heuristik: Suche in Richtung Roboter (Algorithmus A*) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 190 Biologische Weg-„Planung“ Einfache Verhaltensweisen von Insekten: Futter aufnehmen Hindernissen ausweichen, ... Speziell: Geruchssinn ausnutzen – Insekten sondern Duftstoffe (Pheromone) ab – Andere Insekten folgen den Pheromonen Anwendung: – Partnersuche – Optimale Wege zwischen Futter und Nest – Nestbau H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 191 Biologische Weg-„Planung“ Optimale Wege zwischen Futter und Nest 1. Hindernissen ausweichen. 2. Unterwegs nach Möglichkeit Futter aufnehmen. 3. Im Nest Futter ablegen. Fortbewegung: – Zufällige Bewegungen, bevorzugt: Richtung von Pheromon-Konzentration. – Selbst Wege mit Pheromon markieren. Mit der Zeit entsteht ein optimaler spannender Baum zwischen Futterplätzen und Nest. H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 192 Schwarmverhalten Komplexes kollektives Verhalten, dass aus dem Verhalten der Individuen entsteht (“emergiert”), ohne dass es einen Plan dafür gibt. Wesentliche Voraussetzungen im Beispiel: – Exploration (zufällige Bewegungen) – Stabilität (kollektives Bevorzugen bestimmter Verhaltensweisen) – Flexibilität (Pheromon verflüchtigt sich: “Vergessen”) – Robustheit (Individuelles Fehlverhalten belanglos) Einfache Kopplungen von Reizen und Aktionen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 193 5. Erzeugung von Motions Erzeugung von Ansteuerungen für Abarbeitung zur Laufzeit Wege, Kräfte, Geschwindigkeiten, Beschleunigungen z.B. durch Planung, Berechnung, Lernen, Optimierung (oft kombiniert, vgl. auch Verfahren zur Ansteuerung) Zentrale Steuerung Teachen vs. Lokale Steuerungen Motion Capturing Modell-basiert (Physik, Biologie) Simulation Physikalisch (Passive Walker) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 194 Teachen • Bewegungen stellen • Gelenkwinkel auslesen ergibt Keyframes • Optimieren: Nacharbeiten/Lernen Tools für Bearbeitung: Motion Editor H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 195 Ein Motion Net für Bioloid Zustandsautomat für Übergänge zwischen Keyframes (Verzweigungen abhängig von Sensorwerten) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 196 Motion-Capturing Imitation von vorgeführten Bewegungen Marker an markanten Punkte Aufnahme von Bewegungen (3D: Motion-Tracker) Erzeugen einer Ansteuerung für diese Bewegung Iros07-1273_VI_fi.mp4 z.B. für natürlich wirkende Bewegungen (vom physikalischem Aufbau abhängig) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 197 Modell-basiert Physikalische Modelle – Inverse Kinematik – Schwerpunkt (CoM) – Pendel – Zero-Moment-Point (ZMP) Biologische Modelle – Oszillatoren, CPG – Natürliches Laufen H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 198 Berechnung von Laufbewegungen Zeitliche Bewegung des Schwerpunktes evtl. „dynamische Stabilität“ Zeitliche Bewegung des Körpers um Schwerpunkt Ansatzpunkte der Beine damit fixiert Gangart (Zeitabhängige Zielpunkte am Boden) Für jedes Bein berechnen (Gelenkstellungen): – bei Bodenkontakt: aus Ansatzpunkt + Fußpunkt – ohne Bodenkontakt aus Trajektorie zum Aufsatzpunkt Viele (keine) Lösungen Verbleibende Freiheitsgrade: Optimierung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 199 Zero Moment Point (ZMP) MIOMIR VUKOBRATOVIC, 1969 Basis für Modellbasierte Ansteuerung zweibeiniger Roboter ZMP beschreibbar als Punkt innerhalb Stützpolygon (Fuß), in dem sich die Momente bzgl. Kipp-Bewegungen über Fußkanten aufheben (unterschiedliche, z.T. kontroverse Definitionen in der Literatur). Steuerung/Regelung (durch vorgegebene Trajektorie und on-line Regelung, Ausgleich z.B. in der Hüfte): Verlagerung des Schwerpunkts, so dass ZMP innerhalb Stützpolygon existiert Benötigt komplexe Berechnungen über kinematische Ketten der Glieder/Gelenke. H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 200 Zero Moment Point (ZMP) „Its first practical demonstration took place in Japan in 1984, at Waseda University, Laboratory of Ichiro Kato, in the first dynamically balanced robot WL-10RD of the robotic family WABOT. The paper gives an in-depth discussion of source results concerning ZMP, paying particular attention to some delicate issues that may lead to confusion if this method is applied in a mechanistic manner onto irregularcases of artificial gait, i.e. in the case of loss of dynamic balance of a humanoid robot.“ (Einleitung zu M.Vucobratovic, B.Borovac: „Zero-Moment Point: 35 Years of ist Life“) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 201 Zero Moment Point (ZMP) „Its first practical demonstration took place in Japan in 1984, at Waseda University, Laboratory of Ichiro Kato, in the first dynamically balanced robot WL-10RD of the robotic family WABOT. The paper gives an in-depth discussion of source results concerning ZMP, paying particular attention to some delicate issues that may lead to confusion if this method is applied in a mechanistic manner onto irregularcases of artificial gait, i.e. in the case of loss of dynamic balance of a humanoid robot.“ (Einleitung zu M.Vucobratovic, B.Borovac: „Zero-Moment Point: 35 Years of its Life“) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 202 Zero Moment Point (ZMP) Verlagerung der Schwerpunktprojektion (rot) und des ZMP (blau) während des Gehens (Dipl.Arb. O. Welter) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 203 Zero Moment Point (ZMP) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 204 Zero Moment Point (ZMP) Alternativen zur Berechnungsmöglichkeiten - Berechnung entlang der kinematischen Kette (auch vorausschauend) - Berechnung aus Kraftmessungen an den Füßen Dipl.Arb. O. Welter H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 205 Lernen/Optimierung Verfahren des Maschinelles Lernens • Verstärkungslernen (Reinforcement-Lernen) • Evolutionäre Verfahren Fitness: Dauer, Geschwindigkeit, Natürlichkeit, Energie Aufwendige Experimente mit realen Robotern: Kombination mit Simulation H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 206 Lernen/Optimierung Simloid (DA Daniel Hein) simuliert Bioloid H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 207 Fallstudie: Optimierter Lauf für AIBO Diplomarbeit Uwe Düffert 2004 – Optimieren des omnidirektionalen Laufens – Kalibrieren der Laufbewegungen (korrekte Ansteuerung) – Automatisieren: • Lernverfahren • Testumgebung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 208 AIBO: Anforderungen Omnidirektionaler Lauf: Roboter soll in beliebige Richtung (vorwärts, rückwärts, seitwärts, schräg) laufen und sich dabei drehen können Fließende Übergänge zwischen den Richtungen (ohne „Anhalten“ oder „Umschalten“) Hohe Geschwindigkeiten Korrekte Umsetzung der angeforderten Bewegungen Laufanforderungen: Vorwärtsgeschwindigkeit dx/dt Seitwärtsgeschwindigkeit dy/dt Drehgeschwindigkeit dφ/dt H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 209 AIBO: Parameter für Optimierung Um die Optimierung zu beschleunigen, werden Parameter ausgewählt, die erfahrungsgemäß großen Einfluss haben und bereits „voreingestellt“ werden können: 1. Parameter zur Bestimmung der Ruheposition der Füße relativ zum Körper 2. Parameter zur Beschreibung der Trajektorie der Füße 3. Parameter zur Bestimmung der Gangart Optimierungsaufgabe: Parameterwerte P = (p1,...,pn) bestimmen, der optimales Laufen realisiert. H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 210 AIBO: Zerlegung der Aufgabe Erfahrung: Parametersätze für schnelles Vorwärtslaufen haben nur mittlere Güte beim Rückwärtslaufen Deshalb: Unterschiedlichen Parametersätzen Pi = (pi1,...,pin) für unterschiedliche Laufanforderungen Ai 127 verschiedene Anforderungen unterteilt nach – Laufrichtung (8 Werte) – Dreh-Lauf-Verhältnis (7 Werte) – Gesamtgeschwindigkeit (3 Werte) (nicht alle Kombinationen treten auf) Diese Aufteilung ist gleichmäßiger als eine Aufteilung nach Vorwärts-/Seitwärts-/Drehgeschwindigkeit H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 211 AIBO: Zerlegung der Aufgabe H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 212 AIBO: Lernumgebung Optimierung mittels evolutionärer Verfahren: – Experimente: Güte (Fitness) von Parameterwerten P = (p1,...,pn) in realer Umgebung bestimmen – Fitness bestimmt durch Übereinstimmung mit geforderter Bahn und Zeit – Rekombination von Parametersätzen P = (p1,...,pn) Weitgehende Automatisierung der Experimente in einer speziell entwickelten Lernumgebung: – Roboter versucht auf geforderter Bahn zu laufen – Roboter ermittelt Fitness (Korrektheit und Zeit) – Steuerungsprogramm mittels XABSL H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 213 AIBO: Lernumgebung Orientierungshilfe – Mit ihrer Hilfe erfolgen Positionsbestimmungen und Bahnkorrekturen. – Die Erkennung geht in die Fitness ein Bild aus der Kamera eines ERS-210 mit als erkannt markierten Teilen der Lokalisierungshilfe H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 214 AIBO: Fitnessfunktion dx/dt durchschnittliche Laufgeschwindigkeit in x-Richtung (entlang des Parcours auf die Lokalisierungshilfe zu beziehungsweise von ihr weg) in mm/sec ∆y: gemittelter Betrag der Abweichung der y-Position, also durchschnittlicher Abstand zur Optimallinie ∆φ: gemittelter Betrag der Abweichung der Roboterrichtung, also durchschnittlicher Abstand zur Optimalrichtung d2z/dt2: gemittelter Betrag der Beschleunigung in z-Richtung, diese ist unbeabsichtigt und als unangenehm hartes Stampfen zu erkennen pblind: Anteil der Bilder an der Gesamtbildzahl, in denen nicht eindeutig die Lokalisierungshilfe erkannt werden konnte, die verwendeten Laufparameter führten bei hohem pblind also offenbar zu stärkerer Abweichung der Realität von der Ansteuerung oder zu stärkerer Erschütterung als akzeptabel H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 215 AIBO: Vermessung Es wurden nicht für alle 127 Anforderungen neue Parametersätze durch evolutionäre Techniken optimiert. Stattdessen wurden weitere (bekannte) Parametersätze hinsichtlich ihrer Eignung vermessen Daraus ergibt sich eine Zuordnung günstiger Parametersätze Pi = (pi1,...,pin) für unterschiedliche Laufanforderungen Ai Bei der Auswahl wurde auch auf gute Übergänge zwischen benachbarten Anforderungen geachtet. H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 216 AIBO: Kalibrierung Damit angeforderte und tatsächlich erzielte Geschwindigkeit möglichst gut übereinstimmen, ist eine Kalibrierung notwendig: – Vermessung der erzielbaren Geschwindigkeiten – Korrekturwerte für die Ansteuerung Vermessung für niedrige/mittlere/ hohe Geschwindigkeit ohne bzw.mit Kalibrierung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 217 Weitere Möglichkeiten Vorherige Bewertung/Auswahl durch • Vergleiche mit früheren Parametersätzen • Simulation • Hill Climbing im Parameter-Raum • Komplexere Fuß-Trajektorien (Stützpunkte optimieren) Arbeiten im RoboCup: • Dortmund (Ingo Dahm u.a.) • NuBots (Michael Quinlan) • Austin (Peter Stone) • Geschwindigkeiten bis zu 50cm/sec (2-fache Körperlänge) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 218 Sensor-Einkopplungen Stabilitätsprobleme Nachteile fester Laufmuster/fester Kräfte Sensor-Einkopplungen: • Lage-/Beschleunigungssensoren • Winkelencoder (Gelenke) • Drucksensoren (Füße) • Kamera (optischer Fluss) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 219 Sensor-Einkopplungen zur Regelung – PID-Regler, Fuzzy-Regler – Modulation von Oszillatoren zur Detektion von Anomalien – Übergang zu anderen Bewegungen – Z.B. Aufstehen nach Umfallen (Lagesensor) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 220 Kollisionserkennung beim AIBO J.Hoffmann, D.Göhring Vergleich Aktor-Kommandos und Sensordaten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 221 Sensor/Actuator Data Test: Bewegt sich der Roboter frei, sind Sensor- und Aktorkurven kongruent, aber phasenverschoben. Phasenverschiebung: 6 -15 Frames (Frame = 8 ms, kleinste Auführungseinheit der Aktorik) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 222 Phasenverschiebungen Phasenverschiebung abhängig von • Motorenansteuerung (PID-controller) • Trägheit der Beine, • Füße am Boden oder frei H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 223 Vergleich (ohne Phasenkorrektur) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 224 Vergleich bei manueller Phasenkorrektur Grüne Ausschläge: Fuß berührt den Boden H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 225 Maß für Abweichung: Quadratische Differenz Kontinuierliche Daten: Diskrete Daten: TSD = Total Squared Differences ∆φ = Phasenverschiebung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 226 Roboter läuft gegen eine Wand H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 227 Bestimmung des Zeitintervalls Intervall [t1, t2]: (Beginn der Messung bei t1, Reaktion bei t2) Trade-off: • Kurze Intervalle: – schnelle Reaktion – nicht robust • Lange Intervalle: – verzögerte Reaktion – robuster bzgl. Rauschen (false positive) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 228 Bestimmung der Phasenverschiebung Experimentell beobachtete Phasenverschiebungen variieren stark. Deshalb: • TDS für verschiedene Phasenverschiebungen ermitteln • minimalen Wert verwenden H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 229 Kollisionserkennung mittels TSD Für jedes Robotergelenk und für “jede” Phasenverschiebung (7-15 frames) innerhalb des Intervalls: – TSD für die letzten n Sensor-/Aktordatenpaare im Intervall berechnen – Kollision vermutet, falls minimaler TSD größer als Schwellwert H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 230 Bestimmung des Schwellwerts Welchen Schwellwert verwenden? Unterschiedliche Resultate bei unterschiedlichen Werten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 231 Bestimmung des Schwellwerts Bewegung als Kombination aus • Vorwärts-/Rückwärtsbewegung v • Seitwärtsbewegung s • Rotation r Unterschiedliche Kollisionsschwellwerte: T(v,s,r) := T(v,0,0) + T(0,s,0) + T(0,0,r) H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 232 Bestimmung der Schwellwerte • TSD für kollisionsfreien Roboter und unterschiedliche Bewegungen experimentell bestimmen • Schwellwert = c • maximal gemessener TSD – Mit Sicherheitsfaktor c, bei uns c=2, – Kollisionen führen meist zu fünfmal so hohen TSDs • Look-Up-table (4x10 Einträge) für Schwellwerte – Vorwärts, Rückwärts, Seitwärts, Rotation – 10 verschiedenen Geschwindigkeiten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 233 Erkennungsrate (Anteil erkannter Kollisionen) • Vorwärts: 90% (Schultergelenk ausreichend) • Rückwärts: 70% (Schultergelenk ausreichend) • Seitwärtsbewegungen: 70% (Seitliches Schultergelenk ausreichend) • Drehung: 50% Gründe für unerkannte Kollisionen: • Verlust von Traktion • zu kleine Kräfte bei der Kollision • verrauschte Daten H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 234 Fehlerhaft gemeldete Kollisionen (False positive) • Vorwärts/Rückwärts: 3% • Seitwärts. 5% • Rotation: 10% Gründe: Rauschen bei den Daten Reduzieren durch Zusammenfassung von Daten für • verschiedene Gelenke (z.B. linke Beingelenke, Kopf) • zeitlich H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 235 Zeitliche Akkumulation Schwellwert TSD: grün kollisionsfrei, Merkphasen von Kollisionen innerhalb der letzten 1500 msec H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 236 Allgemein: Auswertung von Sensordaten • Erkennung von Abweichungen Messwerte experimentell bestimmen – für „normale“ Bewegung – für andere Bewegungen Auswertung zur Laufzeit: 1. Identifizierung der aktuellen Bewegung 2. Maßnahmen zur Steuerung • Direkte Einkopplung in Aktorik – Regelung H.D.Burkhard, HU Berlin Winter-Semester 2010/11 Vorlesung Kognitive Robotik Bewegung 237