Lecture 4 Part 4xa

download Lecture 4 Part 4xa

of 21

Transcript of Lecture 4 Part 4xa

  • 8/17/2019 Lecture 4 Part 4xa

    1/21

    Computer Vision Group

    Prof. Daniel Cremers

     Autonomous Navigation for Flying R

    Lecture 4.4 :

    PID Control

    Jürgen Sturm

    Technische Universität München

  • 8/17/2019 Lecture 4 Part 4xa

    2/21

    Rigid Body Kinematics

    Consider a rigid body

    Free floating in 1D space, no gravity

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    3/21

    Rigid Body Kinematics

    System model

    Initial state

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    4/21

    Rigid Body Kinematics

    In each time instant, we can apply a force

    Results in acceleration Desired position

    What will happen if we apply P-control?

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    5/21

    P Control

    Control law

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    6/21

    PD Control

    Proportional-derivative control

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    7/21

    PD Control

    Proportional-derivative control

    What if we set lower gains for ?

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    8/21

    PD Control

    Proportional-derivative control

    What if we set higher gains for ?

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    9/21

    PD Control

    What happens when we add gravity?

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    10/21

    Gravity compensation

     Add as an additional term in the control law

     Any known (inverse) dynamics can be included

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    11/21

    PD Control

    What happens when we have systematic errors?

    (control/sensor noise with non-zero mean) Example: unbalanced quadrotor, wind, … 

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    12/21

    PID Control

    Idea: Estimate the system error (bias) by integrati

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    13/21

    PID Control

    Idea: Estimate the system error (bias) by integrati

    For steady state systems, this can be reasonable

    Otherwise, it may create havoc or even disaster (w

    effect)

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    14/21

    Example: Wind-up effect

    Quadrotor gets stuck in a tree  does not reach s

    state What is the effect on the I-term?

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    15/21

    De-coupled Control

    So far, we considered only single-input, single-ou

    systems (SISO) Real systems have multiple inputs + outputs

    MIMO (multiple-input, multiple-output)

    In practice, control is often de-coupled

    Jürgen Sturm  Autonomous Navigation for Flying Robots

    Controller 1

    Controller 2

    System

  • 8/17/2019 Lecture 4 Part 4xa

    16/21

    How to Choose the Coefficients?

    Gains too large: overshooting, oscillations

    Gains too small: long time to converge Heuristic methods exist

    In practice, often tuned manually

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    17/21

    Cascaded Control

    Jürgen Sturm  Autonomous Navigation for Flying Robots

    Localization

    Robot

    Sensors Actuators

    Quadrotor

    Physical World

    Kinematics

    Dynamics

    Position Control

    Trajectory

    Attitude Estimation Attitude Control

    RPM Estimation Motor Speed Control10

    R

    1

    10

    0.1

  • 8/17/2019 Lecture 4 Part 4xa

    18/21

     Assumptions of Cascaded Control

    Dynamics of inner loops is so fast that it is not vis

    outer loops Dynamics of outer loops is so slow that it appears

    to the inner loops

    Jürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    19/21

    Example: Ardrone

    Cascaded control

    Inner loop runs on embedded PC and controls at Outer loop runs externally and implements positio

    Jürgen Sturm  Autonomous Navigation for Flying Robots

    Inner loop MotorsOuter loop

    Ardrone (=seen as the system by the ouLaptop

    wireless, approx. 15Hz

    onboard, 1000Hz

  • 8/17/2019 Lecture 4 Part 4xa

    20/21

    Mechanical Equivalent

    PD Control is equivalent to adding spring-dampe

    the desired values and the current position

    Run the demo from http://wiki.ros.org/tum_ardronJürgen Sturm  Autonomous Navigation for Flying Robots

  • 8/17/2019 Lecture 4 Part 4xa

    21/21

    Lessons Learned

    P – proportional term

    I – integral term D – derivative term

    De-coupled control

    Cascaded control

    Jürgen Sturm  Autonomous Navigation for Flying Robots