Ordinary Differential Equation
For homogeneous () linear error dynamics:
Using coupled first order ODE’s defining where:
The ODE can be written as:
Then where:
The vector differential equation has the solution:
Error Response
Unit error response:
- response of the controlled system
- for the initial conditions:
- and
Error response can be described by:
- Steady-state response
- steady-state error: : asymptotic error as
- Transient response
- overshoot (if error response initially overshoots final steady state error):
- (2%) settling time: the first time such that for all
Stability
converges to if:
is negative definite. i.e. all eigenvalues of (which can be complex) have negative real components.
Eigenvalues
The eigenvalues of are given by the roots of the characteristic polynomial. i.e. complex values satisfying:
Necessary condition for each root to have a negative real component: all coefficients must be positive.
Stability
Error dynamics are:
- stable: if each root has negative real component
- unstable: if any root has positive real component
First-Order Error Dynamics
or
where:
- : time constant
solution:
Second-Order Error Dynamics
with:
- : natural frequency
- : damping ratio
For mass-spring-damper analogy:
Characteristic polynomial:
Roots:
Stable if and only if and .
Damping
The system behaves different depending on the roots
Overdamped
- Roots are real and distinct ()
- Solution to ODE:
- and can be calculated from initial condition
Critically Damped
- Roots are real and equal
- Solution to ODE:
Underdamped
- Roots are complex conjugates
- where : damped natural frequency
- Solution to ODE:
Controller
P Controller
Simplest feedback controller:
with:
- actual position:
- desired position:
- error:
Error Dynamics
With constant desired (reference) velocity: :
Solution to first-order homogeneous linear ODE:
This converges to as time goes to infinity.
PI Controllers
Error Dynamics
With constant desired velocity:
Taking derivative:
Stable if and .
The roots of the characteristic equation:
Feedforward Plus Feedback PI Controller
Add a term with the desired velocity :
Multi-joint Robot
Same as for scalars but with vectors and matrices:
- actual position:
- desired (reference) position:
- P gain:
- I gain:
with:
- and
- : Identity matrix