Nonlinear Introduction

Harry G. Kwatny Department of Mechanical Engineering & Mechanics Drexel University Outline

 Course resources  Overview  What is ?   Why nonlinear control?  Some examples Resources Professor Harry G. Kwatny Office: 151-A Tel: 895-2356 e-mail: [email protected] URL: http://www.pages.drexel.edu/faculty/hgk22 Text Books & Software: Kwatny, H. G. and Blankenship, “Nonlinear Control & Analytical Mechanics,” Birkhauser, 2000 – Obtain update from H. Kwatny Mathematica, Student Version 5.0 Requirements: Problem sets Final: Take-home project Other References. 1. Slotine, J-J. E. and Li, W., “Applied Nonlinear Control,” Prentice-Hall, 1991. 2. Vidyasagar, M., “Nonlinear Analysis 2nd edition,” Prentice-Hall, 1993. 3. Isidori, Alberto, “Nonlinear Control Systems-3rd edition,” Springer-Verlag, 1995. 4. Nijmeijer, H. and H. J. van der Schaft, 1990: Nonlinear Dynamical Control Systems. Springer–Verlag. 5. Khalil, H. K., 1996: Nonlinear Systems-2nd edition. MacMillan. MEM 636 ~ Part I

 Introduction  Course Overview, Using Mathematica  Nonlinear Dynamics, Stability  The State Space, Equilibria & Stability, Hartman-Grobman Theorem  Stability ~ Liapunov Methods  Geometric Foundations  Manifolds, Vector Fields & Curves  Distributions, Frobenius Theorem & Integral Surfaces  Coordinate Transformations  Controllability & Observability  Controllability & Observability, Canonical Forms  Stabilization via Linearization  Linearization via Feedback  Stabilization using IO Linearization, Gain Scheduling  Robust & Adaptive Control  Tracking & Disturbance Rejection General Model of Nonlinear

state

input ut( ) xt( ) output yt( ) System

x = f( xu,) state y= h( xu,) output equation xRu∈∈nmq,, y ∈ R Special Case: Linear System x = f( xu, ) x = Ax + Bu

y= h( xu, ) y= Cx + Du

 Most real systems are nonlinear  Sometimes a linear approximation is satisfactory  Linear systems are much easier to analyze Linear Systems are Nice

1. : A of any two solutions for a linear system is also a solution. 2. Unique Equilibrium: Recall that an equilibrium is a solution x(t), with u(t) = 0, for which x is constant. A generic Linear system has a unique (isolated) equilibrium at the origin x(t) = 0 and its stability is easily determined. 3. Controllability: There are known necessary and sufficient conditions under which a control exists to steer the state of a linear system from any initial value to any desired final value in finite time. 4. Observability: There are known necessary and sufficient conditions under which the system’s state history can be determined from its input and output history. 5. Control design tools: A variety of controller and observer design techniques exist for linear systems (including classical techniques, pole placement, LQR/LQG, Hinf, etc.) Why Nonlinear Control  Contemporary control problems require it,  Robotics, ground vehicles, propulsion systems, electric power systems, aircraft & spacecraft, autonomous vehicles, manufacturing processes, chemical & material processing,…  Smooth (soft) nonlinearities  the system motion may not remain sufficiently close to an equilibrium point that the linear approximation is valid.  Also, linearization often removes essential physical effects – like Coriolis forces.  The optimal control may make effective use of nonlinearities  Robotics, process systems, spacecraft  Non-smooth (hard) nonlinearities  Saturation, backlash, deadzone, , , switching  Systems that are not linearly controllable/observable may be controllable/observable in a nonlinear sense  Nonholonomic vehicles (try parking a car with a linear controller), underactuated mechanical systems (have fewer controls than dof), compressors near stall, ground vehicles near directional stability limit  Systems that operate near instability (bifurcation points)  Power system voltage collapse, aircraft stall & spin, compressor surge & rotating stall, auto directional, cornering & roll stability  Parameter adaptive & intelligent systems are inherently nonlinear Linearization 1: linear approximation near an equilibrium point The general nonlinear system in standard form, involves the state vector xu , input vector , and output vector y. x = f( xu,) state y= h( xu,) output equations

A set of values (xu000 , , y ) is called an equilibrium point if they satisfy:

0= fxu( 00 ,)

y0= hx( 00, u) We are interested in motions that remain close to the equilibrium point. Linearization 2

Define: xt( ) =+=+=+ x00δδδ xtut( ), ( ) u utyt( ), ( ) y 0 yt( )

δx =++ f( x00 δδ xt( ), u ut( )) The equations become: y0+=+δ yt( ) hx( 00 δδ xt( ), u + ut( )) Now, construct a for fh , ∂∂fxu( ,,) fxu( ) f( x++=+++δδ x,, u u) f( x u ) 00δx 00 δu hot 0 0 00 ∂∂xu ∂∂hx( ,, u) hx( u) hx( +δδ xu,, += u) hx( u ) +++00δδx 00 u hot 00 00 ∂∂xu

Notice that fxu( 00 ,) = 0 and hxu( 00 ,) = y 0 , so ∂∂fxu( ,,) fxu( ) δδδx = 00 xu+ 00 ∂∂ δδδx = Ax + Bu xu⇒ ∂∂hx( ,, u) hx( u) δδδy= Cx + Du δy= 00 δδ xu+ 00 ∂∂xu Some Examples of Nonlinear Systems Example 1: Fully-Actuated Robotic System q coordinates Models always look like: p quasi-velocities kinematics: q = Vqp( )

dynamics: M( q) p + Cqp( ,,) p += Fqp( ) u detMq( ) ≠∀ 0 q If we want to regulate velocity, choose u= Cqp( ,,) p + Fqp( ) + M( qv) ⇒= p v, a linear system!

Decoupling Stabilizing If we want to regulate position, we can - more algebra. This is called the computed 'torque method.' We will generalize it. Velocities in inertial Velocities in body Example 2 coordinates coordinates

xu  cosψψ− sin 0  β , sideslip      kinematics: yv =  sinψψ cos 0  ψ   0 01r  V , velocity Consider uu12= and u = r to be control inputs and suppose v = 0. y x  cosψ   0 ψ ,heading  = ψ  +  y  sin  uu12  0 ψ  01   Linearize about the origin ( xy , ,Ψ) =( 0,0,0) to get 10  x=+==⇒ Ax Bu, A 0, B 0 0 The x   01 If the boat has a linear system is not controllable! In particular, δ , rudder keel, typically, we have sideslip v=0. y = 0, so it is not possible to steer from the origin along the y -axis Example 2, cont’d But, of course, if you allow large motions you can steer to a point x=0, yy = ,ψ = 0. How? ππtt  Try this: ut12( ) = cos , ut( ) = sin  εε 

The system appears not to be linearly uncontrollable but nonlinearly controllable!!

By coordinating the rudder and forward speed, we can cause the vehicle to move along the y- axis. Example 3: Drive Motor & Load with Non- smooth Friction Coupling Drive Motor Shaft Inertial Load

Gearbox

Load 50:1 - 1 ω 2 1 θ 2 1 ω 1 1 θ 1 u K J2s s J1s s motor 1.116 - 5.9e-5 kgm2 kgm2 1.69e-4 6.72e4 Nm/rad kgm2 ϕ 2 (ω 2 ) ϕ 1(ω 1) 5.4e4 Nm/rad 1.14e-3 (output) kgm2

• The problem is to accurately position the load.

• The problem becomes even more interesting if the friction parameters are uncertain. Example 4: Automobile – Multiple Equilibria x V = V s V ω d  δ = ω βδ Vs FV( , sd ,,, F) β dt u β Body Frame  y equilibria: set δ = 0,VVss = (a parameter) v θθ • a m, J ωβ  solve for , , Fd Y

b 0= FV(ωβ ,sd , ,0, F)

Fl   Fr Space Frame X 2 0.75 0.5 1 0.25   Vs Vs 131.5 132 132.5 133 131.5 132 132.5 133 -0.25 -1 -0.5 -0.75 -2 Example 5 – Simple 1 dof Rotation θω = ω = u x = cosθ replace θ by xy , →  y = sinθ xy = − ω yx = ω ω = u xy22+=1 A stabilizing controller is easily obtained via Lyapunov design uy=−−ω ⇒ u =−sin θω − Example 6 - GTM

θ = q xV = cosγ zV = sinγ 1  1 2 V=−−( Tcosα ρ V SCDe( αδ, , q) mg sin γ) m 2

1 1 2 γ =+−(Tsin α ρ V SCLe( αδ, , q) mg cosγ) mV 2 M = =11ρ22 αδ+ ρ αδ −− + q , M( 22 V ScCm( ,, e q) V ScCZ( ,, e q)( x cgref x cg ) mgxcg lT t ) I y αθγ= − GTM Equilibrium Surface Straight and Level Flight Analysis

19 Nonlinear Equilibrium Structure Analysis of Upset Using GTM (1) Coordinated Turn Analysis

Coordinated turn of GTM @ 85 fps Coordinated turn of GTM @ 90 fps

Coordinated turn of GTM @ 87 fps

20 Nonlinear Equilibrium Structure Analysis of Upset Using GTM (2) Coordinated Turn Analysis

Techno-, Inc. Proprietary 21