0% found this document useful (0 votes)
18 views5 pages

t12 Pendulum

The document outlines a tutorial for a robotics course focused on the cart-pole inverted pendulum system, detailing its dynamics, linearization, and state space modeling. It includes tasks such as deriving the dynamical model, converting to linear equations, and checking controllability, along with hints for using MATLAB for controller design. The tutorial emphasizes the application of the Linear Quadratic Regulator (LQR) for stabilizing the pendulum at equilibrium positions.

Uploaded by

redu0587
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views5 pages

t12 Pendulum

The document outlines a tutorial for a robotics course focused on the cart-pole inverted pendulum system, detailing its dynamics, linearization, and state space modeling. It includes tasks such as deriving the dynamical model, converting to linear equations, and checking controllability, along with hints for using MATLAB for controller design. The tutorial emphasizes the application of the Linear Quadratic Regulator (LQR) for stabilizing the pendulum at equilibrium positions.

Uploaded by

redu0587
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

METR4202 -- Robotics

Tutorial 12 – Weeks 12 & 13: Cart-Pole Inverted Pendulum


Reading
Please read/review Lecture 12

Questions

1. Description of the cart-pole system


An inverted pendulum is a classic problem in nonlinear dynamics and control. A
typical arrangement of such systems is a cart-pole system as in Figure 1.

𝜃 h m

f M

Figure 1: a typical cart-pole system

The cart is a one dimensional horizontally moving base; the mass of the pendulum is
evenly distributed. The following variables are specified:

Variable Definition
M Mass of the cart (kg)
L Length of the pendulum’s centre of mass (m)
F Force applied to cart (N)
m Mass of the pendulum(kg)
x Cart horizontal displacement from origin
(𝑘𝑔 ∗ 𝑚2 )

The goal is to stabilize the pendulum at the upward (and downward) position.

1
2. Derivation of the dynamical model

Try to derive the dynamic model of the system:

(M  m) x  mL cos   mL 2 sin   f


mLx cos  mL2  mgL sin   0

3. Converting the system into linear equations

Try to linearize the above equations at upward (θ ≈ 0) and downward (θ ≈ π)


positions. (Hint: using Taylor expansion or by ignoring the second order terms, at
upward position sinθ ≈ θ cosθ ≈ 1; at downward position try to use θ′ = θ − π )

4. Computing a state space model

Use the result above, get the state space model for the linearized systems (Hint: An
𝑥
𝑥̇
option is to take [𝜃 ] as state variable).
𝜃̇

5. Convert between modal and canonical forms

Convert the state space model above into modal and canonical forms
(hint: try the matlab commands: canon, modreal)

6. Check controllability

Check controllability for both conditions (hint :“ctrb”) and design LQR controller to
stabilize pendulum at the equilibriums for upward position and downward position.
(hint: Matlab function “lqr” may be useful for this design(or function “place” may be
used if you want to place the close loop system poles arbitrarily) and “lsim” may be
used to test the close loop response after adding in the controller)

2
More Hints
(Please try to earnestly do this first without looking at the solution)
Derivation of inverted pendulum dynamic equations

h m

f M

Figure 1: a typical cart-pole system

Using Lagrangian method,  T  V where T is the kinematic energy and V the potential energy of
the system.

T  Tc  Tp where the first term is the kinematic energy of the cart and the second term is that of the
 x  x  L  sin  
pole. As the coordinate of the cart and pole can be written as   and   , the kinematic
0  L  cos  
1 1  2 2

energy can be written as: Tc  Mx and p
2
T  m  ( x  L  sin  )  ( L  cos  ) 
2 2  

The potential energy is V  mgL cos 

1 1  2 2

Thus the total energy  T V  Mx 2  m ( x  L  sin  )  ( L  cos  )   mgL cos 
2 2  

3
 x
The generalized coordinates are selected as X    so the Lagrangian equations are:
 

d  
  f
dt x x
d  
 0
dt  

This yields (M  m) x  mL cos   mL 2 sin   f

And mLx cos   mL2  mgL sin   0

After some calculation:

f  m sin  ( L 2  g cos  )
x
M  m sin 2 
 f cos   mL 2 sin  cos   ( M  m) g sin 

L( M  m sin 2  )

 x
 x
Define X   
 
 
 

 x 
x  
f  m sin  ( L  g cos  )
2

x  
M  m sin 2

X    ……..(1)
   
   

   f cos   mL 2
sin  cos   ( M  m ) g sin  
 
 L( M  m sin  ) 2

 x  0
 x  0
 Linearizing at upward position, the equilibrium is X      
  0 
   
  0 
By ignoring second order terms,
 x   x  0 1 0 0  0 
          x  1 
x f  m sin  ( L  g cos  )
2
  f  m g mg
x   0 0  0    
  M  m sin  2
  M  M   x   M  f
X  
   
    0 0 0 1     0 
        
   f cos   mL sin  cos   ( M  m) g sin     f  ( M  m) g  0 ( M  m) g 
0    
1 
2

     0
 L( M  m sin 2  )   LM LM   LM 

4
 x
 
 x  1 0 0 0   x 
y  
  0 0 1 0   
 
 

 x 0 
 x 0 
 Linearizing at downward position, X      
   
   
   0 
Define       , since    ,    0 .       so     and     .
And sin   sin(    )   sin      , cos   cos(    )  1.
Substitute above equations into (1) and write   as  for simplicity:
 x  0 1 0 0  0 
x  f  m g   mg   x  1 
x   0 0  0    
X    M  M   x   M  f
    0 0 0 1     0 
        
   f  ( M  m) g  0 0 
( M  m) g
0   1 
 LM   LM   LM 
 x
 
 x  1 0 0 0   x 
And y      
  0 0 1 0   
 
 
Controllability:

Controller design (LQR):


Background knowledge about LQR control:

The Linear Quadratic Regulator (LQR) utilizes a cost function J  0
( xT Qx  uT Ru )dt to

find the optimal control law for a linear system, xT Qx is for regulation effort and term uT Ru
is to constrain the actuator input. The feedback control law that can minimize the cost
function will be in the form of u   Kx where K  R1BT P and term P is the solution of
Riccati equation AT P  PA  PBR1BT P  Q  0 . Q is a positive-semi definite matrix and R
is positive definite. The controller can be found by using Matlab function “lqr”.

You might also like