l3 robot control

9
1 Lecture 3: Robot Control CS 395T: Intelligent Robotics Benjamin Kuipers What is a robot? A robot is an intelligent system that interacts with the physical environment through sensors and effectors. Robot Environment sensors effectors Describing a Robot State vector: – The true state is not known to the robot. Sense vector: – For the Amigobot: sonars and odometry – Plus sensory features from camera Motor vector: – Left-wheel, right-wheel These are functions of time: – Derivative notation: x = (x , y ," ) T y = (s 1 , s 2 , s 3 , s 4 , s 5 , s 6 , s 7 , s 8 , o L , o R ) T u = (v L ,v R ) T x(t ), y (t ), u(t ) ˙ x = dx / dt Modeling Robot Interaction Robot Environment sensors effectors ˙ x = F( x , u) y = G( x) u = H i (y ) y u The Unicycle Model For the unicycle, u = (v, ω) T , where v is linear velocity ω is angular velocity A useful abstraction for mobile robots. ˙ x = ˙ x ˙ y ˙ " # $ % % % & ( ( ( = F (x, u) = v cos" v sin" ) # $ % % % & ( ( ( The Wheelchair is (like) a Unicycle Wheelchair motor vector: u = (v L , v R ) where B is the robot wheelbase (mm). ˙ x = ˙ x ˙ y ˙ " # $ % % % & ( ( ( = F (x, u) = v cos" v sin" ) # $ % % % & ( ( ( v = ( v R + v L )/2 (mm/sec) " = (v R # v L )/ B (rad/sec)

Upload: others

Post on 12-Sep-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: L3 Robot control

1

Lecture 3: Robot Control

CS 395T: Intelligent RoboticsBenjamin Kuipers

What is a robot?

• A robot is anintelligent system thatinteracts with thephysical environmentthrough sensors andeffectors.

Robot

Environment

sensors effectors

Describing a Robot• State vector:

– The true state is not known to the robot.• Sense vector:

– For the Amigobot: sonars and odometry– Plus sensory features from camera

• Motor vector:– Left-wheel, right-wheel

• These are functions of time:– Derivative notation:

!

x = (x,y,")T

!

y = (s1,s2,s3,s4,s5,s6,s7,s8,oL ,oR )T

!

u = (vL,v

R)T

!

x(t), y(t), u(t)

!

˙ x = dx /dt

Modeling Robot Interaction

Robot

Environment

sensors effectors

!

!

˙ x =F(x,u)

!

y =G(x)

!

u = Hi(y)

!

y

!

u

The Unicycle Model• For the unicycle, u = (v, ω)T, where

– v is linear velocity– ω is angular velocity

• A useful abstraction for mobile robots.

!

˙ x =

˙ x

˙ y

˙ "

#

$

% % %

&

'

( ( (

= F (x, u) =

v cos"

v sin"

)

#

$

% % %

&

'

( ( (

The Wheelchair is (like) a Unicycle

• Wheelchair motor vector: u = (vL, vR)

where B is the robot wheelbase (mm).

!

˙ x =

˙ x

˙ y

˙ "

#

$

% % %

&

'

( ( (

= F (x, u) =

v cos"

v sin"

)

#

$

% % %

&

'

( ( (

!

v = (vR

+ vL)/2 (mm/sec)

!

" = (vR#v

L)/B (rad/sec)

Page 2: L3 Robot control

2

Dynamical Systems• A dynamical system changes continuously

(almost always) according to

• A controller is defined to change thecoupled robot and environment into adesired dynamical system.

!

˙ x =F(x) where x " #n

!

˙ x = F(x,u)

y =G(x)

u = Hi(y)

!

˙ x = F(x,Hi(G(x)))

!

˙ x ="(x)

Two views of dynamic behavior

• Timeplot(t,x)

• Phaseportrait(x,v)

Phase Portrait: (x,v) space• Shows the trajectory (x(t),y(t)) of the system

– Stable attractor here

Interesting Phase Portrait• The van der Pol equation has a limit cycle.

In One Dimension

• Simple linear system

• Fixed point

• Solution

– Stable if k < 0– Unstable if k > 0

!

˙ x = kx

!

x = 0 " ˙ x = 0

!

x

!

˙ x

!

x(t) = x0ekt

In Two Dimensions

• Often, we have position and velocity:

• If we model actions as forces, which causeacceleration, then we get:

!

x = (x,v)T

where v = ˙ x

!

˙ x =˙ x

˙ v

"

# $ $ %

& ' ' =

˙ x

˙ ̇ x

"

# $ $ %

& ' ' =

v

forces

"

# $ $

%

& ' '

!

Page 3: L3 Robot control

3

The Damped Spring• The spring is defined by Hooke’s Law:

• Include damping friction

• Rearrange and redefine constants

xkxmmaF1

!=== &&

xkxkxm &&&21

!!=

0=++ cxxbx &&&

!

˙ x =˙ x

˙ v

"

# $ $ %

& ' ' =

˙ x

˙ ̇ x

"

# $ $ %

& ' ' =

v

(b˙ x ( cx

"

# $ $

%

& ' '

The Linear Spring Model

• Solutions are:

• Where r1, r2 are roots of the characteristicequation

!

˙ ̇ x + b˙ x + cx = 0

!

"2

+ b" + c = 0

!

r1,r2

="b ± b

2 " 4c

2

!

x(t) = Aer1t + Be

r2t

!

c " 0

Qualitative Behaviors

• Re(r1), Re(r2) < 0means stable.

• Re(r1), Re(r2) > 0means unstable.

• b2-4c < 0 meanscomplex roots,means oscillations.

b

cunstable stable

spiral

nodalnodal

unstable

!

r1,r2

="b ± b

2 " 4c

2

It’s the same in higher dimensions

• The characteristic equation forgeneralizes to– This means that there is a vector v such that

• The solutions are called eigenvalues.• The related vectors v are eigenvectors.

!

˙ x = Ax

!

det(A" #I) = 0

!

Av = "v

!

"

Qualitative Behavior, Again

• For a dynamical system to be stable:– The real parts of all eigenvalues must be negative.– All eigenvalues lie in the left half complex plane.

• Terminology:– Underdamped = spiral (some complex eigenvalue)– Overdamped = nodal (all eigenvalues real)– Critically damped = the boundary between.

NodeBehavior

Page 4: L3 Robot control

4

FocusBehavior

SaddleBehavior

SpiralBehavior

(stableattractor)

CenterBehavior

(undampedoscillator)

Controlling a Simple System

• Consider a simple system:

– Scalar variables x and u, not vectors x and u.– Assume x is observable: y = G(x) = x– Assume effect of motor command u:

• The setpoint xset is the desired value.– The controller responds to error: e = x − xset

• The goal is to set u to reach e = 0.

!

˙ x = F(x,u)

!

"F

"u> 0

The intuition behind control

• Use action u to push back toward error e = 0– error e depends on state x (via sensors y)

• What does pushing back do?– Depends on the structure of the system– Velocity versus acceleration control

• How much should we push back?– What does the magnitude of u depend on?

Page 5: L3 Robot control

5

The Bang-Bang Controller• Push back, against the direction of the error

– with constant action u• Error is e = x - xset

• To prevent chatter around e = 0,

• Household thermostat. Not very subtle.

!

e < 0 " u := on " ˙ x = F (x, on) > 0

e > 0 " u := off " ˙ x = F (x, off ) < 0

!

e < "# $ u := on

e > +# $ u := off

Bang-Bang Control in Action

– Optimal for reaching the setpoint– Not very good for staying near it

Proportional Control• Push back, proportional to the error.

– set ub so that• For a linear system, we get exponential

convergence.

• The controller gain k determines howquickly the system responds to error.

!

u = "ke + ub

!

˙ x = F(xset

,ub) = 0

!

x(t) = Ce"# t

+ xset

Level Control in a Tank

• You want water in a tank at level xset.

• You observe level x(t).• Outflow is f(x(t)) for monotonic function f• You command inflow u(t) = −k (x−xset)

– k is the controller gain.• Get a first-order system:

!

˙ x = "k (x " xset ) " f (x) = "kx " f (x) + kxset

Velocity Control

• You want the robot to move at velocity vset.

• You command velocity vcmd.• You observe velocity vobs.

• Define a first-order controller:

– k is the controller gain.

!

˙ v cmd

= "k (vobs" v

set)

Proportional Control in Action

– Increasing gain approaches setpoint faster– Can leads to overshoot, and even instability– Steady-state offset

Page 6: L3 Robot control

6

Steady-State Offset

• Suppose we have continuing disturbances:

• The P-controller cannot stabilize at e = 0.– Why not?

!

˙ x = F(x,u) + d

Steady-State Offset

• Suppose we have continuing disturbances:

• The P-controller cannot stabilize at e = 0.– if ub is defined so F(xset,ub) = 0– then F(xset,ub) + d ≠ 0, so the system changes

• Must adapt ub to different disturbances d.

!

˙ x = F(x,u) + d

Nonlinear P-control

• Generalize proportional control to

• Nonlinear control laws have advantages– f has vertical asymptote: bounded error e– f has horizontal asymptote: bounded effort u– Possible to converge in finite time.– Nonlinearity allows more kinds of composition.

!

u = " f (e)+ ub where f # M0

+

Stopping Controller

• Desired stopping point: x=0.– Current position: x– Distance to obstacle:

• Simple P-controller:

• Finite stopping time for

!

d = | x |+"

!

v = ˙ x = " f (x)

!

f (x) = k | x | sgn(x)

Derivative Control

• Damping friction is a force opposingmotion, proportional to velocity.

• Try to prevent overshoot by dampingcontroller response.

• Estimating a derivative from measurementsis fragile, and amplifies noise.

!

u = "kPe " k

D˙ e

Derivative Control in Action

– Damping fights oscillation and overshoot– But it’s vulnerable to noise

Page 7: L3 Robot control

7

Effect of Derivative Control

– Different amounts of damping (without noise)

Derivative Control Can Add Noise

– Why?

Derivatives Amplify Noise

– This is a problem if control output (CO)depends on slope (with a high gain).

Adaptive Control

• Sometimes one controller isn’t enough.• We need controllers at different time scales.

• This can eliminate steady-state offset.– Why?!

u = "kPe + u

b

!

˙ u b

= "kIe where k

I<< k

P

Adaptive Control

• Sometimes one controller isn’t enough.• We need controllers at different time scales.

• This can eliminate steady-state offset.– Because the slower controller adapts ub.!

u = "kPe + u

b

!

˙ u b

= "kIe where k

I<< k

P

Integral Control

• The adaptive controller means

• Therefore

• The Proportional-Integral (PI) Controller.

!

˙ u b

= "kIe

!

ub( t) = "k

Ie dt

0

t

# + ub

!

u(t) = "kPe(t) " k

Ie dt

0

t

# + ub

Page 8: L3 Robot control

8

The PID Controller

• A weighted combination of Proportional,Integral, and Derivative terms.

• The PID controller is the workhorse of thecontrol industry. Tuning is non-trivial.

!

u( t) = "kP

e(t) " kI

e dt

0

t

# " kD

˙ e (t)

PID Control in Action

– But, good behavior depends on good tuning!

Exploring PI Control TuningHabituation

• Integral control adapts the bias term ub.• Habituation adapts the setpoint xset.

– It prevents situations where too much controlaction would be dangerous.

• Both adaptations reduce steady-state error.

!

u = "kPe + u

b

!

˙ x set

= +khe where k

h<< k

P

Types of Controllers• Feedback control

– Sense error, determine control response.• Feedforward control

– Sense disturbance, predict resulting error,respond to predicted error before it happens.

• Model-predictive control– Plan trajectory to reach goal.– Take first step.– Repeat.

The Wall Follower

(x,y)

!

"

Page 9: L3 Robot control

9

The Wall Follower• Our robot model:

u = (v ω)T y=(y θ)T θ ≈ 0.

• We set the control law u = (v ω)T = Hi(y)

!

˙ x =

˙ x

˙ y

˙ "

#

$

% % %

&

'

( ( (

= F (x, u) =

v cos"

v sin"

)

#

$

% % %

&

'

( ( (

!

e = y " yset so ˙ e = ˙ y and ˙ ̇ e = ˙ ̇ y

The Wall Follower• Assume constant forward velocity v = v0

– approximately parallel to the wall: θ ≈ 0.• Desired distance from wall defines error:

• We set the control law u = (v ω)T = Hi(y)– We want e to act like a “damped spring”

!

e = y " yset so ˙ e = ˙ y and ˙ ̇ e = ˙ ̇ y

!

˙ ̇ e + k1˙ e + k

2e = 0

The Wall Follower• We want• For small values of θ

• Assume v=v0 is constant. Solve for ω

– This makes the wall-follower a PD controller.

!

˙ ̇ e + k1

˙ e + k2

e = 0

!

˙ e = ˙ y = v sin" # v"

˙ ̇ e = ˙ ̇ y = v cos" ˙ " # v$

!

u =v

"

#

$ % &

' ( =

v0

)k1* )

k2

v0

e

#

$

% %

&

'

( (

= Hi(e,*)

Tuning the Wall Follower

• The system is• Critically damped is

• Slightly underdamped performs better.– Set k2 by experience.– Set k1 a bit less than

• Look up “Ziegler-Nichols PID tuning”

!

˙ ̇ e + k1˙ e + k

2e = 0

!

k1

2

" 4k2

= 0

!

k1

= 4k2

!

4k2