Kybernetik - Uni Ulm Aktuelles · Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung...

53
Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008 Kybernetik Dr. Mohamed Oubbati Institut für Neuroinformatik SS 2008 Vorlesung 8 17 Juni 2008

Transcript of Kybernetik - Uni Ulm Aktuelles · Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung...

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Kybernetik

    Dr. Mohamed OubbatiInstitut für Neuroinformatik

    SS 2008

    Vorlesung 8

    17 Juni 2008

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Wiederholung vom letzten Mal !

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Signalverarbeitungskette

    Physikalische Größen

    Sensoren

    A/D Wandler

    Digital Rechner

    D/A Wandler

    Verstärker

    Energiewandler

    Prozess (Bewegung)

    Elektrische Energie

    Mechanische Energie

    Autonomer Mobiler Roboter

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Heutiges Thema:

    Bewegungsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Motion Control has three basic problems:

    Path followingTracking

    Point stabilization

    The Path

    Find a smooth control input in the mobile robot, to minimise the distance between the mobile robot and the path ξ

    ξ

    Bewegungsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Motion Control has three basic problems:

    Path following

    TrackingPoint stabilization

    actual robot

    reference (robot, object,…)

    Bewegungsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Motion Control has three basic problems:

    Tracking

    Path following

    Point stabilization

    goal

    start

    goal

    stabilization with obstacle avoidance

    start

    Bewegungsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    ,0)()(lim =−∞→ txtx rt 0)()(lim =−∞→ tyty rt 0)()(lim =−∞→ tt rt θθandObjective:

    x

    y

    yr

    θ

    θ r

    O X

    Y

    xr

    Actual Mobile Robot

    Reference (virtual) Mobile Robot

    Bewegungsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Control of an Ideal Mobile Robot

    actual trajectory

    desired trajectory

    -

    + desired velocity kinematics

    Kinematic-level

    controller

    Bewegungsregelung

    Bewegungsregelung kontrolliert die glatte und zielsichere Bewegung des Roboters entlang des geplanten Pfads.

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Die Kinematik beschäftigt sich mit der Geometrie und den zeitabhängigen Aspekten der Bewegung, ohne die Kräfte, die die Bewegung verursacht.

    Was ist die Kinematik ?

    Kinematik

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Zentrale Probleme

    1. Unter welchen Vorraussetzungen finden Bewegungen statt ?

    2. Wie beschreibt man die Bewegung eines Roboters auf Rädern ?

    3. Wie kann man anhand der Bewegungen der Räder die Positionbestimmen ?

    4. Wie müssen sich die Räder bewegen, damit eine bestimmte Positionerreicht wird ?

    KinematikKinematik

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    • Ideale Standart-Räder- reibungslose Rotation um Achspunkt- keine Kompression/Deformation- optimaler Kontakt (kein Schlupf etc.)

    • Nur Betrachtung von getriebenen Rädern

    • Passive Räder haben keinen Einfluss auf Dynamik der Bewegung

    In dieser Vorlesung wird folgendes angenommen.

    Unter welchen Vorraussetzungen finden Bewegungen statt ?

    Kinematik

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Instantaneous Center of Curvature (ICC)(oder auch Instantaneous Center of rotation ICR)

    Der ICC ist der Schnittpunkt aller verlängertenRotationsvektoren

    Kinematik

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Randbegingungen der Bewegung

    ICC

    Für alle verlängerten Rotationsvektoren der Räder muss ein gemeinsamer ICC existiert werden.

    Rad

    Kinematik

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Wie beschreibt man die Bewegung eines Roboters ?

    • Interne Repräsentation der BewegungBewegung der Räder

    • Externe Repräsentation der BewegungPositionsänderung des Roboters

    Kinematik

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    BeispielVierrad mit Mecanum-Rädern

    Interne Repräsentation der Bewegung

    Externe Repräsentation der Bewegung

    Kinematik

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Wie kann man die interne Repräsentation auf eine externe Repräsentation abbilden ? Vorwärtskinematik

    Wie kann man die externe Repräsentation auf die interne Repräsentation abbilden ? Rückwärtskinematik

    If I do this, what will happen?

    If I want this to happen, what should I do?

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Differentialsantrieb

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Differentialantrieb

    Dieses besteht aus zwei angetriebene Räder auf einer Achse mit einem oder zwei passiv mitlaufenden Stützrädern, die sich frei drehen können.

    Der Roboter bewegt sich bei konstanten Radgeschwindigkeiten auf einer Kreisbahn mit dem Radius r um ein Drehzentrum ICC(InstantaneousCenter of Curvature)

    zwei angetriebene Räder

    Stützrädern

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Die beiden Antriebsräder liegen auf derselben Achse und werden getrennt angetrieben.

    Differentialantrieb

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    • Hohes Moment für Kurvenfahrt

    • Schwierige Positionsbestimmung

    • Sehr starke Reibung auf dem Boden

    Differentialantrieb

    • Einfache Konstruktion

    • Einfache Steuerung

    • Auf der Stelle drehbar

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    [ ]θθ cos,sin ryrxICC +−=

    x

    y

    Y

    X

    θ

    2rl vvv

    +=

    2lr vvw

    −=

    lr

    rl

    vvvv

    dr−+

    =

    d

    Differentialsantrieb

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    2rl vvv

    +=

    2lr vvw

    −=

    lr

    rl

    vvvv

    dr−+

    =

    rl vv = r= und w=0: der Roboter fährt geradeaus

    rl vv −= r=0 und v=0: der Roboter dreht sich auf der Stelle

    Differentialsantrieb

    d

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    x

    y

    Y

    X

    θ

    robot pose: Position + Orientierungdes Roboters zu einem Zeitpunkt t.

    Kinematik Model

    Differentialsantrieb

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    In der Vorwärtskinematikberechnet man die Position des Roboters bei gegebenenGeschwindigkeit v und Winkelgeschwindigkeit w.

    x

    y

    Y

    X

    θ

    Vorwärtskinematik

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    x

    y

    Y

    X

    θ

    Vorwärtskinematik

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Gegeben: start und ziel Positionen: P(0) = [0,0,0], P(t) =[x(t),y(t),θ(t)] Aufgabe: Finde Steuersequenz V=[vr,vl], die die Positionsänderung P(0) P(t)realisieren.

    Ziel: P(t)

    Start: P(0)

    Rückwärtskinematik

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    x

    y

    Y

    X

    θ

    robot pose: Position + Orientierungdes Roboters zu einem Zeitpunkt t.

    Kinematik Model

    Positionsregelung (Kinematics Control)

    Das Problem zu lösen ist, welche Werte die Translationsgeschwindigkeiten vund die Rotationsgeschwindigkeit wannehmen müssen, damit der Robotereine bestimmte Pose erreichen kann.

    Dafür existiert aber kein allgemeines Verfahren.

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Lösung: Es gibt mehrere Lösungen!

    Differentialsantrieb: RückwärtskinematikPositionsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Lösung 1

    Differentialsantrieb: RückwärtskinematikPositionsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Lösung 2

    Differentialsantrieb: Rückwärtskinematik

    Eine Lösung zu finden ist nicht ein Problem, aber die beste zu finden…

    Es hängt von der Definition „beste“ ab:

    • schnell

    • Energie effizient

    • smoothest velocity

    vr, vl

    t

    Positionsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Point stabilization

    Positionsregelung

    x

    y

    PZiel

    θ

    Problem: Find a control law so that: 0→Δ l

    Kinematik Model

    This is not trivial since the variable does not appear in the kinematics model(Nonholonomic constraint)

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    x

    y

    PZiel

    θϕ

    xref

    yref

    ϕΔ

    Positionsregelung

    Point stabilization

    Kinematik Model

    To overcome thisproblem, we can define a new variable ϕΔ

    θϕϕ −=Δ θϕ −⎟⎟⎠

    ⎞⎜⎜⎝

    −−

    =Δ −xxyy

    ref

    ref1tan

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    x

    y

    PZiel

    θϕ

    xref

    yref

    ϕΔ

    Positionsregelung

    Point stabilization

    Kinematik Model

    Wenn Zeitvariant ist, das Kinematik-Model ist Nichtlinear Braucht man einen nichtlinearen Kontroller um das Problem zu lösen.

    θ

    0→Δϕ 0→Δ l

    Die Tafel !

    und

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Positionsregelung

    Point stabilization

    Lösung 1: die Position und die Orientierung werden getrennt und nicht gleichzeitiggeregelt.

    lΔ ϕΔ

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Positionsregelung

    Point stabilization

    Lösung 1: die Position und die Orientierung werden getrennt und nicht gleichzeitiggeregelt.

    lΔ ϕΔ

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Positionsregelung

    Point stabilization

    Lösung 1: die Position und die Orientierung werden getrennt und nicht gleichzeitiggeregelt.

    lΔ ϕΔ

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Positionsregelung

    Point stabilization

    Lösung 1: die Position und die Orientierung werden getrennt und nicht gleichzeitiggeregelt.

    lΔ ϕΔ

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Positionsregelung

    Point stabilization

    Lösung 1: die Position und die Orientierung werden getrennt und nicht gleichzeitiggeregelt.

    lΔ ϕΔ

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Positionsregelung

    Point stabilization

    Lösung 2: die Position und die Orientierung werden getrennt aber gleichzeitiggeregelt.

    lΔ ϕΔ

    x

    y

    PZiel

    θ

    xref

    yref

    ϕΔ

    lΔ R

    λΔ

    ϕλΔ

    Δ=Δ

    cosl

    0→Δλ0→Δϕ

    0→Δl

    If and nearest point to Pziel

    then

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Positionsregelung

    Point stabilization

    Lösung 2: die Position und die Orientierung werden getrennt aber gleichzeitiggeregelt.

    lΔ ϕΔ

    θθ −⎟⎟⎠

    ⎞⎜⎜⎝

    −−

    = −xxyy

    eref

    ref1tan

    ( ) ( ) )cos(22 θeyyxxe refrefp −+−=

    x

    y

    PZiel

    θ

    xref

    yref

    ϕΔ

    lΔ R

    λΔ

    0→pe 0→θeif

    then 0→ΔlThis could be reached bytwo PID controllers. Die Tafel!

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Positionsregelung

    Point stabilization

    θe

    Roboter

    (kinematik)

    wd

    vdθ

    xy

    xref

    yref +-

    +

    -compute

    θe

    Die gesamte Positionsregelung

    se p se p

    PID1

    PID2

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Positionsregelung

    Positionsregelung mit PID-Regler

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    ,0)()(lim =−∞→ txtx rt 0)()(lim =−∞→ tyty rt 0)()(lim =−∞→ tt rt θθandObjective:

    x

    y

    yr

    θ

    θ r

    O X

    Y

    xr

    Actual Mobile Robot

    Reference (virtual) Mobile Robot

    Bewegungsregelung

    Tracking

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Bewegungsregelung

    Tracking

    Kinematics model of a reference robot:

    It is defined that

    The desired linear and angular velocities (vd,wd) which make e1, e2, e3 converge to zeroare given by

    where K1,K2,K3 are positive constants.

    Fierro R. and Lewis F. L. Control of a Nonholonomic Mobile Robot UsingNeural Networks. IEEE Transactions on neuralnetworks, 9(4):589–600, July 1998.

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Control of an Ideal Mobile Robot

    actual trajectory

    desired trajectory

    -

    + desired velocity kinematics

    Kinematic-level

    controller

    Positionsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Control of a Real Mobile Robot

    Kinematic-level

    controllerKinematics

    +

    -

    desired trajectory

    actualtrajectory

    outer loopInner loop Velocity control (motors)

    outer loop position control

    Dynamic-level

    controllerDynamics

    Vd torque Vr

    Inner loopDie soll Geschwindigkeit

    Bewegungsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Geschwindigkeitsregelung (Dynamics Control)

    Um ein stabiles und sauberes Fahren zu ermöglichen, muss die Drehgeschwindigkeit der Motoren geregelt werden. Dies erfolgt Z.b. mit Hilfe eines PID-Reglers.

    Bewegungsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Der Radenkoder gibt dem PID-Regler Informationen über die Aktuelle Geschwindigkeit des Rads. Durch die Stellgröße, hier die Frequenz und das Tastverhältnis der PWM, wird die Regelgröße also die Rad-Geschwindigkeit verändert (geregelt).

    Bewegungsregelung

    Geschwindigkeitsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    PID Left Motor

    PID Right Motor

    Desired left

    speed vl

    Desired right

    speed vr

    +

    T

    PWM

    PWM

    -

    + -

    desiredlinear and angularvelocityvd, wd

    T: Transformationsfunktion

    Bewegungsregelung

    Geschwindigkeitsregelung

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Bewegungsregelung

    Die gesamte Bewegungsregelung des Roboters.

  • Dr. M. Oubbati, Kybernetik (Neuroinformatik, Uni-Ulm) Vorlesung 8. SS 2008

    Signalverarbeitungskette

    Physikalische Größen

    Sensoren

    A/D WandlerD/A Wandler

    Verstärker

    Energiewandler

    Prozess (Bewegung)

    Elektrische Energie

    Mechanische Energie

    Kinematik & Dynamik

    Kontrol

    Bewegungsregelung

    Übersicht

    Wiederholung vom letzten Mal !�Instantaneous Center of Curvature (ICC)�(oder auch Instantaneous Center of rotation ICR)Randbegingungen der Bewegung