modelling of double inverted pendulum
DESCRIPTION
The material describes the modelling of a double inverted cart pendulum and the simulation of the linear and nonlinear model obtained using Matlab SimulinkTRANSCRIPT
Modelling and Simulation of an Inverted Double Pendulum
1.0 Description
The inverted Pendulum, is a pendulum which has its mass above its pivot point, it is
implemented with pivot point mounted on a cart that can move horizontally and called a
CART and POLE (as shown in the diagram below).
An inverted Pendulum is inherently unstable and must be actively balanced in order to remain
upright by either applying a torque at the pivot or by moving the pivot point horizontally as
part of a feedback system.
Generally the inverted pendulums are widely used as a benchmark for testing control
algorithm; the inverted pendulum is also applied in many industrial and engineering products
such as high-precision control of robot arm, stability control of launching rocket, and attitude
control of satellite.
Fig 1. The Simple pendulum system
1.1 The Article Description:
The paper main aim is to show the relationship between controllability and parameters of the
system. The paper is based on the modelling of the double pendulum on a cart using Newtonβs
Laws of motion and linearised on an approximately small angle.
However we modelled the using the Lagrangeβs Equation hence the difference in the
differential equations obtained.
Fig 2. The Simplified Double Pendulum system
1.2 Modelling and Parameters definition;
M is mass of trolley; ππ is its displacement; F is the force exerted on trolley; ππππ and ππππ are
the mass of left and right rocker; 2π³π³ππ and 2π³π³ππ are the length of rockers; π½π½1 and π½π½2 are the
inertia moment of rockers; π½π½ππ and π½π½ππ are the angle between rockers and the vertical direction.
In the following we derive the differential equations which describe the dynamics of the inverted pendulum system use Lagrangeβs equation. Two rockers have similar situation. The kinetic energy of cart is:
ππ1 =12πποΏ½ΜοΏ½π₯2
The kinetic energy of the left bob is
ππ2 =12ππ1(π₯π₯1
2Μ + οΏ½ΜοΏ½π§12)
where
π₯π₯1 = π₯π₯ + 2πΏπΏ1π π π π π π ππ1, π§π§1 = 2πΏπΏ1πππππ π ππ1
So that
π₯π₯1Μ = οΏ½ΜοΏ½π₯ + 2πΏπΏ1οΏ½ΜοΏ½π1πππππ π ππ1, οΏ½ΜοΏ½π§1 = β2πΏπΏ1ππ1Μπ π π π π π ππ1
The kinetic energy of the right bob is
ππ3 =12ππ2(π₯π₯2
2Μ + οΏ½ΜοΏ½π§22)
π₯π₯2 = π₯π₯ + 2πΏπΏ2π π π π π π ππ2, π§π§2 = 2πΏπΏ2πππππ π ππ2
so that
π₯π₯2Μ = οΏ½ΜοΏ½π₯ + 2πΏπΏ2οΏ½ΜοΏ½π2πππππ π ππ2, οΏ½ΜοΏ½π§2 = β2πΏπΏ2ππ2Μπ π π π π π ππ2
Therefore, the total kinetic energy is
ππ = ππ1 + ππ2 + ππ3
=12πππ₯π₯2Μ +
12ππ1οΏ½οΏ½ΜοΏ½π₯2 + 4οΏ½ΜοΏ½π₯οΏ½ΜοΏ½π1πΏπΏ1πππππ π ππ1 + (2πΏπΏ1)2οΏ½ΜοΏ½π1
2οΏ½ +12ππ2(οΏ½ΜοΏ½π₯2 + 2οΏ½ΜοΏ½π₯οΏ½ΜοΏ½π22πΏπΏ2πππππ π ππ2+(2πΏπΏ2)2οΏ½ΜοΏ½π2
2)
The potential energy is equivalent to:
ππ = ππ1 + ππ2 = ππ1ππ2πΏπΏ1πππππ π ππ1 + ππ2ππ2πΏπΏ2πππππ π ππ2
The Lagrange equation
πΏπΏ = ππ β ππ =
12πππ₯π₯2Μ + 1
2ππ1οΏ½οΏ½ΜοΏ½π₯2 + 2οΏ½ΜοΏ½π₯οΏ½ΜοΏ½π12πΏπΏ1πππππ π ππ1 + (2πΏπΏ1)2οΏ½ΜοΏ½π1
2οΏ½ + 12ππ2οΏ½οΏ½ΜοΏ½π₯2 + 2οΏ½ΜοΏ½π₯οΏ½ΜοΏ½π22πΏπΏ2πππππ π ππ2 + (2πΏπΏ2)2οΏ½ΜοΏ½π2
2οΏ½ β
ππ1ππ2πΏπΏ1πππππ π ππ1 βππ2ππ2πΏπΏ2πππππ π ππ2;
The generalized coordinates are selected as ππ = [π₯π₯ ππ1 ππ2]ππ so that Lagrangeβs equations are
πππππποΏ½πππΏπΏπποΏ½ΜοΏ½π₯οΏ½ β
πππΏπΏπππ₯π₯
= πΉπΉ
ππππππ οΏ½
πππΏπΏππππ1Μ
οΏ½ βπππΏπΏππππ1
= 0
ππππππ οΏ½
πππΏπΏππππ2Μ
οΏ½ βπππΏπΏππππ2
= 0
1) ππ = π₯π₯ πππΏπΏπππ₯π₯
= 0;
πππΏπΏπποΏ½ΜοΏ½π₯
= ππ1οΏ½ΜοΏ½π₯ + 2ππ1ππ1ΜπΏπΏ1πππππ π ππ1 +ππ2οΏ½ΜοΏ½π₯ + 2ππ2ππ2ΜπΏπΏ2πππππ π ππ2 +πποΏ½ΜοΏ½π₯
πππππποΏ½πππΏπΏπποΏ½ΜοΏ½π₯οΏ½ =
ππ1οΏ½ΜοΏ½π₯ β ππ1ππ12Μ2πΏπΏ1π π π π π π ππ1 + 2ππ1πΏπΏ1ππ1Μπππππ π ππ1 + ππ2οΏ½ΜοΏ½π₯ β ππ2ππ2
2Μ2πΏπΏ2π π π π π π ππ2 + 2ππ2πΏπΏ2ππ2Μπππππ π ππ2 + πποΏ½ΜοΏ½π₯
πππππποΏ½πππΏπΏπποΏ½ΜοΏ½π₯οΏ½ β
πππΏπΏπππ₯π₯
= πΉπΉ
ππ1οΏ½ΜοΏ½π₯ β ππ1ππ12Μ2πΏπΏ1π π π π π π ππ1 + 2ππ1πΏπΏ1ππ1Μπππππ π ππ1 + ππ2οΏ½ΜοΏ½π₯ β ππ2ππ2
2Μ2πΏπΏ2π π π π π π ππ2 + 2ππ2πΏπΏ2ππ2Μπππππ π ππ2 + πποΏ½ΜοΏ½π₯ = πΉπΉ
2) ππ = ππ1
πππΏπΏππππ1
= 2ππ1πππΏπΏ1π π π π π π ππ1 β 2ππ1οΏ½ΜοΏ½π₯ππ1Μπ π π π π π ππ1
πππΏπΏππππ1Μ
= 2ππ1οΏ½ΜοΏ½π₯πΏπΏ1πππππ π ππ1 + 4πΏπΏ12ππ1Μππ1
ππππππ οΏ½
πππΏπΏππππ1Μ
οΏ½ = 2ππ1οΏ½ΜοΏ½π₯πΏπΏ1πππππ π ππ1 β 2ππ1οΏ½ΜοΏ½π₯ππ1ΜπΏπΏ1π π π π π π ππ1 + 4πΏπΏ12ππ1Μππ1
ππππππ οΏ½
πππΏπΏππππ1Μ
οΏ½ βπππΏπΏππππ1Μ
= 0
2ππ1οΏ½ΜοΏ½π₯πΏπΏ1πππππ π ππ1 β 2ππ1οΏ½ΜοΏ½π₯ππ1ΜπΏπΏπ π π π π π ππ1 + 4πΏπΏ12ππ1Μππ1 β 2ππ1πππΏπΏ1π π π π π π ππ1 + 2ππ1οΏ½ΜοΏ½π₯ππ1Μπ π π π π π ππ1 = 0
2ππ1οΏ½ΜοΏ½π₯πΏπΏ1πππππ π ππ1 + 4πΏπΏ12ππ1Μππ1 β 2ππ1πππΏπΏ1π π π π π π ππ1 = 0
2) ππ = ππ2 πππΏπΏππππ2
= 2ππ2πππΏπΏ2π π π π π π ππ2 β 2ππ2οΏ½ΜοΏ½π₯ππ2Μπ π π π π π ππ2
πππΏπΏππππ2Μ
= 2ππ2οΏ½ΜοΏ½π₯πΏπΏ2πππππ π ππ2 + 4πΏπΏ22ππ2Μππ2
ππππππ οΏ½
πππΏπΏππππ2Μ
οΏ½ = 2ππ2οΏ½ΜοΏ½π₯πΏπΏ2πππππ π ππ2 β 2ππ2οΏ½ΜοΏ½π₯ππ2ΜπΏπΏπ π π π π π ππ2 + 4πΏπΏ22ππ2Μππ2
ππππππ οΏ½
πππΏπΏππππ2Μ
οΏ½ βπππΏπΏππππ2Μ
= 0
2ππ2οΏ½ΜοΏ½π₯πΏπΏ2πππππ π ππ2 β 2ππ2οΏ½ΜοΏ½π₯ππ2ΜπΏπΏπ π π π π π ππ2 + 4πΏπΏ22ππ2Μππ2 β 2ππ2πππΏπΏ2π π π π π π ππ2 + 2ππ2οΏ½ΜοΏ½π₯ππ2Μπ π π π π π ππ2 = 0
2ππ2οΏ½ΜοΏ½π₯πΏπΏ2πππππ π ππ2 + 4πΏπΏ22ππ2Μππ2 β 2ππ2πππΏπΏ2π π π π π π ππ2 = 0
We derive the nonlinear equation
ππ1οΏ½ΜοΏ½π₯ β ππ1ππ12Μ2πΏπΏ1π π π π π π ππ1 + 2ππ1πΏπΏ1ππ1Μπππππ π ππ1 + ππ2οΏ½ΜοΏ½π₯ β ππ2ππ2
2Μ2πΏπΏ2π π π π π π ππ2 + 2ππ2πΏπΏ2ππ2Μπππππ π ππ2 + πποΏ½ΜοΏ½π₯ = πΉπΉ
2ππ1οΏ½ΜοΏ½π₯πΏπΏ1πππππ π ππ1 + 4πΏπΏ12ππ1Μππ1 β 2ππ1πππΏπΏ1π π π π π π ππ1 = 0
2ππ2οΏ½ΜοΏ½π₯πΏπΏ2πππππ π ππ2 + 4πΏπΏ22ππ2Μππ2 β 2ππ2πππΏπΏ2π π π π π π ππ2 = 0
With the parameters defined from the article as below;
ππ = 1.5 ,ππ1 = 0.5,ππ2 = 0.5,ππ = 9.8, πΏπΏ1 = 0.8,πΏπΏ2 = 0.8 substituting these parameters into the
above 3 equations.
ππ1οΏ½ΜοΏ½π₯ β ππ1ππ12Μ2πΏπΏ1π π π π π π ππ1 + 2ππ1πΏπΏ1ππ1Μπππππ π ππ1 + ππ2οΏ½ΜοΏ½π₯ β ππ2ππ2
2Μ2πΏπΏ2π π π π π π ππ2 + 2ππ2πΏπΏ2ππ2Μπππππ π ππ2 + πποΏ½ΜοΏ½π₯ = πΉπΉ
2ππ1οΏ½ΜοΏ½π₯πΏπΏ1πππππ π ππ1 + 4πΏπΏ12ππ1Μππ1 β 2ππ1πππΏπΏ1π π π π π π ππ1 = 0
2ππ2οΏ½ΜοΏ½π₯πΏπΏ2πππππ π ππ2 + 4πΏπΏ22ππ2Μππ2 β 2ππ2πππΏπΏ2π π π π π π ππ2 = 0
Simplifying the above equations,
(ππ + ππ1 + ππ2)οΏ½ΜοΏ½π₯ β ππ1ππ12Μ2πΏπΏ1π π π π π π ππ1 + 2ππ1πΏπΏ1ππ1Μπππππ π ππ1 βππ2ππ2
2Μ2πΏπΏ2π π π π π π ππ2 + 2ππ2πΏπΏ2ππ2Μπππππ π ππ2 = πΉπΉ ..eqn1
2ππ1οΏ½ΜοΏ½π₯πΏπΏ1πππππ π ππ1 + 4πΏπΏ12ππ1Μππ1 β 2ππ1πππΏπΏ1π π π π π π ππ1 = 0 ..eqn2
2ππ2οΏ½ΜοΏ½π₯πΏπΏ2πππππ π ππ2 + 4πΏπΏ22ππ2Μππ2 β 2ππ2πππΏπΏ2π π π π π π ππ2 = 0 ..eqn3
ππ = 1.5 ,ππ1 = 0.5,ππ2 = 0.5,ππ = 9.8, πΏπΏ1 = 0.8,πΏπΏ2 = 0.8
2.5 οΏ½ΜοΏ½π₯ β 0.8ππ12Μπ π π π π π ππ1 + 0.8ππ1 Μ πππππ π ππ1 β 0.8ππ2
2Μπ π π π π π ππ2 + 0.8ππ2Μπππππ π ππ2 = πΉπΉ ..eqn4
0.8οΏ½ΜοΏ½π₯πππππ π ππ1 + 1.28ππ1Μ β 7.84π π π π π π ππ1 = 0 ..eqn5
0.8οΏ½ΜοΏ½π₯πππππ π ππ2 + 1.28ππ2Μ β 7.84π π π π π π ππ2 = 0 ..eqn6
οΏ½ΜοΏ½π₯ = 0.32ππ12Μπ π π π π π ππ1 β 0.32ππ1 Μ πππππ π ππ1 + 0.32ππ2
2Μπ π π π π π ππ2 β 0.32ππ2Μπππππ π ππ2 + 0.4πΉπΉ(ππ) .eqn7
ππ1Μ = β0.625οΏ½ΜοΏ½π₯πππππ π ππ1 + 6.125π π π π π π ππ1 .eqn8
ππ2Μ = β0.625οΏ½ΜοΏ½π₯πππππ π ππ2 + 6.125π π π π π π ππ2 .eqn9
Using a unit step input as the force F(t).
2.0 SIMULATION RESULTS AND GRAPHS
Fig 3. The Step response of the model (Non-linear model) with different scopes
Fig 4. The Step response of the model displacement (Non-linear model)
Fig 5. The Step response of the model rocker 1 pivot angle (Non-linear model)
Fig 6. The Step response of the model rocker 2 pivot angle (Non-linear model)
Fig 7. The simulation block for model (Non-linear) one scope
Fig 8. The Step response of the model (Non-linear model)
lengend
Step response curve of trolley displacement
Step response curve of the two rocker pivot angle
3.0 Linearization of the Non-linear model
Linearization of the non linear model
οΏ½ΜοΏ½π₯ = 0.32ππ12Μπ π π π π π ππ1 β 0.32ππ1 Μ πππππ π ππ1 + 0.32ππ2
2Μπ π π π π π ππ2 β 0.32ππ2Μπππππ π ππ2 + 0.4πΉπΉ
ππ1Μ = β0.625οΏ½ΜοΏ½π₯πππππ π ππ1 + 6.125π π π π π π ππ1
ππ2Μ = β0.625οΏ½ΜοΏ½π₯πππππ π ππ2 + 6.125π π π π π π ππ2
Linearizing the above model we obtain linear model to be
Sin ππ1 β ππ1, sinππ2 β ππ2, cosππ1 = 1, cosππ2 = 1,
)(4.032.032.0 21 tFx +ββββ=β ΞΈΞΈ
11 125.6625.0 ΞΈΞΈ β+ββ=β x
22 125.6625.0 ΞΈΞΈ β+ββ=β x
Assuming that ππ1 πππ π ππ ππ2 is very small, then the linearised model is as below,
)(4.032.032.0 21 tFx +ββ= ΞΈΞΈ
11 125.6625.0 ΞΈΞΈ +β= x
22 125.6625.0 ΞΈΞΈ +β= x
The simulation model of the linear model using simulink
Fig 9. The Simulink of the model (Linear model)
Fig 10. The Step response of the model (Linear model)
lengend
Step response curve of trolley displacement
Step response curve of the two rocker pivot angle
4.0 Discussion on the accuracy of the results
From the results obtained in the simulation of the non-linear and linear model obtained from
our modelling and that of the results of the article, its shows that our model are accurate
representation of the model as the modelled in the article.
As side the difference in the techniques used in the modelling (the use of the Lagrange as
against Newtonβs Equation) we obtain an accurate model which can be used in the
verification of the objective of the article.
However if the linearization tent is extended beyond the very small angle for pivot the system
becomes very unstable and hence the pendulum will fall from the inverted position.