Title: Applied Nonlinear Control Theory
1Applied Nonlinear Control Theory
2Topics
- Basic concepts
- Controllability
- Reachability
- Stability
- Convergence
- Different types of systems
- Fully-actuated systems (robot arms)
- Under-actuated systems (acrobot robot arm with
missing actuators) - Non holonomic systems (mobile robots)
- Non holonomic systems without drift (slowly
moving mobile robots) - Applied control theory
- Linear systems
- Affine nonlinear systems, fully-actuated
- Affine nonlinear systems, under-actuated
- Drift-free nonlinear systems
3Fully-Actuated Robots
- Robots with enough actuators
- As many actuators as dimension of configuration
space - Examples of fully-actuated robots
- Industrial robots
- Generally six joints, six actuators
- Most machines
- As many actuators as there are degrees of freedom
- Examples of under-actuated robots
4Acrobot
Is an acrobot controllable?
5Basic Concepts
6Recap State Space
- State (mechanical systems)
- q describes the configuration (position) of the
system - x describes the state of the system
- Phase Portrait
(assuming holonomic)
Trajectory
7Controllability
- The system is controllable if, for any two
points x0, x1, there exists a time T and an
admissible control defined on 0, T such that
for x(0) x0, we have x(T) x1.
- Tests for controllability
- Linear systems, well-known
- Nonlinear systems, hard
- Drift-free, affine control systems, doable
8Controllability
Affine system
- The system is controllable if, for any two
points x0, x1, there exists a time T and an
admissible control defined on 0, T such that
for x(0) x0, we have x(T) x1.
9Controllability
The system is said to be small time locally
controllable (STLC) at x0, if given an open
subset V in Rn, and x0, x1 in V, if for all
positive T, there exists an admissible control
such that the system can be steered from x0 to x1
with x(t) staying inside V for all time.
10Reachability and Controllability
- Reachable set for a given time, t
- Reachable set in time T
The interior of the reachable set is not empty
for all neighborhoods V of x0, if and only if the
system is STLC at x0.
11Stability in the sense of Lyapunov
- If a disturbance at time t0 of a trajectory
produces changes that remain permanently bounded,
the motion is said to be stable in the sense of
Lyapunov.
t
x2
x1
12Lyapunov Stability
(or stability in the sense of Lyapunov)
Note We have replaced 2n by n for convenience
- Equilibrium point
- A point where f(x) vanishes
- Translate the origin to the equilibrium point of
interest - Without loss of generality, let 0 be an
equilibrium point - f(0) 0
- The equilibrium solution or the null solution is
- x(t) 0, t gt t
- Local and global stability
- Recall that stability refers to small
perturbations and therefore is intrinsically a
local property - However, can establish global stability for
special cases
13Stability of the Equilibrium Point
x2
- Stability in the sense of Lyapunov
- x0 is stable if and only if for any e gt 0, there
exists a d(e) gt 0 such that - Asymptotic Stability
- A stable equilibrium point x 0 is asymptotically
stable if for all t0, there exists d (t0) gt 0
such that
x1
14Exponential Stability
- Asymptotic stability does not say anything about
rate of convergence. - Uniform asymptotic stability
- Exponential stability
- The asymptotically stable equilibrium point x0
is an exponentially stable equilibrium point if
there exists m, a gt 0 such that - for all x0 in some ball around 0.
15Linear Autonomous (Time-Independent) Systems
- Local Stability implies Global Stability
- Global Asymptotic Stability
- Lyapunov Stability, not Global Asymptotic
Stability - Unstable
if and only if the real parts of all eigenvalues
are negative
if and only if the real parts of all eigenvalues
are non positive, and zero eigenvalue is not
repeated
if and only if there is one eigenvalue whose real
part is positive
16Linear Autonomous Systems
Exponential of a matrix
Eigenvalues and Eigenvectors
Matrix of eigenvectors
Matrix of eigenvalues
17Control System Design
18Proportional plus Derivative Control for Simple
Systems
- Kinematic Model
-
- Want x to follow trajectory xdes(t)
- Dynamic Model
-
- Want x to follow trajectory xdes(t)
General Approach
1. Define error, e(t)xdes(t)- x(t)
2. Want e(t) to converge exponentially to zero.
or
Note control law has feedforward and feedback
(PD) term.
19PID Servo (Feedback) Control
- Single-input, single-output (SISO), linear system
- (1)
- desired trajectory xd(t)
- actual trajectory x(t)
- error e(t) xd(t)-x(t)
- PID feedback control scheme
- (2)
- From (1) and (2), we get
20PID control schemes
- PID feedback control
- (2)
- PID feedback control with feedforward
- (4)
PID control with feed- forward
PID control
21Model based control
- Disadvantages of PID control schemes
- performance will depend on the model
- need to tune gains to maximize performance
- Model based control schemes
-
model based
model based
PD feedback feedforward
- Two parts of a model based scheme
- model based part
- cancel the dynamics of the system
- specific to the model
- servo based part
- use PID or PD with feedforward to drive errors to
zero - independent of the model of the system
22Model based control
- Model
- Model based control law
- Performance
model based
PID control with feedforward
Model based control (servoPD)
23Model based control
- Advantage
- decomposes the control law into
- model-dependent part (depends on the knowledge of
the model) - model-independent part (servo control, gains are
independent of the model) - Disadvantage
- Model based control law (based on estimates of
model parameters)
Ideal performance Actual performance
1. Error term will not go exponentially to
zero 2. Right hand side is a forcing function
driving the error away from zero
24Model based control
Imperfect model, 10 errors in parameters
Perfect model
- Not all is lost however
- Treat the right hand side as a perturbation or a
disturbance force fp - If
- we can prove that the error e(t) is also
bounded
25Robot Dynamics
- Dynamic model
- H is the positive definite, n by n inertia
matrix - h is the n-dimensional vector of Coriolis and
centripetal forces - g is the n-dimensional vector of gravitational
forces - J(q) is the 6n manipulator Jacobian matrix
- F is the 6-dimensional vector of forces and
moments exerted by the end effector on the
environment - t is the n-dimensional vector of actuator
forces and torques
26Robot Control
- Two general schemes
- Point to Point control
- Trajectory control
- Actuators
- motors/actuators are torque controlled
- Dynamic control
-
- We will assume torque controlled motors
- typical of brushless dc motors, ac servo motors
(increasingly used in robots today), and direct
drive motors - What should the torques be to drive a manipulator
along a trajectory?
27SISO nonlinear systems
- Single link with a rotary joint in the vertical
plane - Dynamic model
- Control law
- model based
- servo part is PD
- perfect model results in the error being driven
exponentially to zero
28Robot control
- n degree of freedom robot manipulator (MIMO
nonlinear) - Dynamic model
- Control law
- model based
- servo part is PD
- perfect model results in the error being driven
exponentially to zero
29Industrial Robots
- n degree of freedom robot manipulator
- Dynamic model
- Two types of control laws are generally used
- PID control law
- PID control law with gravity compensation
- It can be shown that PID control laws always
result in a stable system! However, no
performance bounds can be established.
30Mobile Robots
31Dynamic Model of a Mobile Robot
inputs
Outputs?
Underactuated!
32Mobile robots are STLC!
- To understand this, need following background
from geometric control theory - Lie brackets of vector fields
- Distribution
- Involutive distributions
- Involutive closure of distributions
- Chows theorem
MLS, Chapter 7 or Sastry, Chapter 11
33Kinematic Model of a Mobile Robot
Y
(x1, y1)
f1
C1
l
q
C
y
C2
f2
C2
(x2, y2)
X
x
v, w are inputs (x, y, q) are outputs
Please note change in notation (q, f, l, r, 1, 2)
34Kinematic Model of a Front-Wheel Steered Mobile
Robot
Rear wheel drive car model
Y
f
q
y
d
Differential drive model
X
x
Please note change in notation (q, f, l, r, 1, 2)
35STLC, but how to control them?
y
x
W
36Input/Output Linearization
- Control using kinematic models
- Trajectory following
- Track (xdes(t), ydes(t))
- Path following
- Follow yfdes(x), or fdes(x, y)0
- Maintain speed, vdes
37Assumptions 1. Kinematic model (inertial effects
are negligible) 2. O and C are the same point
(easily relaxable)
u
g(x)