See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/313975571
Inverted Pendulum: A system with innumerable applications Conference Paper · March 2017
CITATIONS
READS
0
509
2 authors:
Ioannis Kafetzis
Lazaros Moysis
Aristotle University of Thessaloniki
Aristotle University of Thessaloniki
10 PUBLICATIONS 10 CITATIONS
32 PUBLICATIONS 21 CITATIONS
SEE PROFILE
SEE PROFILE
All content following this page was uploaded by Lazaros Moysis on Moysis on 24 February 2017. The user has requested enhancement of the downloaded file.
Inverted Pendulum: A system with innumerable applications Ioannis Kafetzis, Lazaros Moysis School of Mathematical Sciences, Aristotle University of Thessaloniki, Thessaloniki, Greece, 54124
Abstract The inverted pendulum is one of the fundamental problems in the theory of systems and control, due to its theoretical value, along with its practical applications. The first step in this work is to determine the equations of motion for the inverted pendulum, using the Euler-Lagrange equations. The next step is to find a linearized model that approximates the original nonlinear system’s behavior around the equilibrium located on the upright vertical position. The behavior of the linearized system is simulated using Matlab ®. The final step is the computation of an optimal control law for the linearized system, using the Linear Quadratic Regulator method.
1. Introduction Automatic control is a branch of mathematics and engineering that studies the behavior of systems, both natural and artificial, and the manipulation of certain parameters in order to force the system to have a desired behavior. Control systems are found everywhere in the world around us; in nature, everyday life and industry. Some very common examples include the human body that performs a series of functions, both conscious and unconscious, throughout its interactions with its surroundings. Another example is driving a car, where the control is applied through the driver who is the one affecting the system’s inputs, which are the speed and direction, aiming for a safe drive. Also, in every industrial facility each part of the production line functions under the supervision of digital controllers that ensure that each engine works properly according to specific control and design specifications [5]. One of the fundamental engineering problems is the inverted pendulum [1,2,4,6-8,12,15]. For the inverted pendulum problem shown in Figure 1 the goal is to determine a control law, that is a suitable input, such that the cart stabilizes the rod in the upright vertical position. The next goal, after balancing the rod, is to render the cart able to move while keeping the rod in the upright vertical position. The importance of this system arises both from its theoretical and practical applications. The theoretical value of the inverted pendulum comes from the fact t hat it is a nonlinear system, meaning that its equations of motion are nonlinear differential equations. This makes the computation of an appropriate control law a difficult task. Furthermore, the model can be simplified, under certain circumstances, into a linear system around the equilibrium located on the
9th International Week Dedicated to Maths. Thessaloniki, Greece, March 2017.
upright vertical position, making it is possible to apply linear system methods in order to balance it. This flexibility makes this system a great example for teaching and studying both linear and nonlinear courses, since many differe nt theories and methods can be presented through it. The numerous practical applications of the inverted pendulum make its study even more interesting and important. In robotics, balancing systems are developed using inverted pendulums. These find application in transport machines that need to balance objects, in systems that support walking for patients, in robots that are used in domestic and industrial use and in object transport using drones [7]. Even large scale constructions such as buildings are modeled as inverted pendulums [1]. Finally, one of the most famous applications of the inverted pendulum that is commercially available is the Segway [4,6]. The above applications along with many more render the inverted pendulum a system of great importance for engineers. This is the main reason why the inverted pendulum is chosen frequently for testing new control methods [2-4,8,9,12,13]. There exist a great number of methods used in controlling the inverted pendulum. These methods include optimal control, PID control, fuzzy control, control through neural networks, bang-bang control, predictive control or even hybrid methods that are combinations of the methods stated above. In addition, since the construction of such a model in a university laboratory is relatively easy and cheap, many universities afford the necessary equipment for testing the above methods in real time, making it easier for students to engage in the problem. Overall, it can be see n that the inverted pendulum systems is a problem that is highly applicable in everyday applications. The rest of this work is structured as follows. In Section 2, the equations of motion for the inverted pendulum are presented. In Section 3 the system is linearized around the equilibrium located on the upright vertical position. In Section 4, Matlab is used to obtain simulations for the system’s behavior . In Section 5 some extensions that arise from this problem are discussed and Section 6 concludes this paper.
2. Modeling the Inverted Pendulum Consider the system consisting of a cart with a rod placed on its center as shown in Figure 1.
Figure 1: The inverted pendulum.
This system consists of two bodies, the cart of mass and the rod of mass and length . We denote by the distance of the cart’s center from the wall located on the left, by the angle of deviation of the rod from the vertical axis and by the force applied on the cart. Moreover, denote by the moment of inertia of the rod with respect to its center of mass, located in the middle of the rod. The gravitational constant is denoted by . Finally, we make the assumption that there is no frict ion between the cart and the floor or the cart and the rod. Our goal is to determine the equations that describe the system’s motion. The method to obtain these equations is not unique. In this paper t he equations of motion are obtained using Lagrange Equations [3,8,9,13]. Define the Lagrangian function as the difference of the system’s kinetic and potential energy. The system’s kinetic energy equals the sum of the kinetic energy for each of the system’s two bodies, the cart and the rod. The system’s potential energy is the sum of the potential energy of the cart and the rod. The level of the cart is considered the zero potential energy level for the system. Hence:
= = + +
(1)
Denoting by , , and , the kinetic and potential energy of the cart and the rod respectively, we obtain .
(2)
Applying the basic laws of physics leads to the formulas for the kinetic and potential energy for each of the system’s bodies as follows:
̇ ; =0 = = 112 ̇ + 2 ̇ cos +2 ̇ sin+ 12 ̇ 1 = 2 ̇ +2 2 ̇ ̇ cos +2 ̇ +2 ̇ + 2 ̇ = 12 ̇ +2 2 ̇ ̇cos +2 ̇+12 ̇ ⇒ = ̇ + ̇=̇ cos + + ̇ 2 =+ + + ̇ ̇++ ̇ ̇ cos = =0. ̇ = =0 ̇ = + ̇ + 2 ̇ ̇= + ̈ + 2 ̈ 2 ̇ = 2 ̇ ̇ 2 ̇ = 2 ̇ + 2 + ̇ ̇= 2 ̈ 2 ̇ ̇ sin + 2 + ̈
(3)
(4) (5)
Substituting the above into the Lagrangian (2) gives:
+
Define the vector
and the matrix
(6)
Then the Lagrange
equations can be written as:
(7)
Calculating the partial derivatives using the chain rule gives:
Substituting these quantities in (7) leads to:
= + ̈ + 2 ̈ 2 ̇ 0= 2 ̈ 2 + ̈ + 2 , ̈(+ ̇,(), ̇, ) ̇ + = (8) (9)
Equations (8) and (9) describe the system’s motion. For the sake of simplicity, these equations can be written in matrix form using the column vector defined above. Thus, (8)-(9) can be written equivalently as (10)
+ = 2 cos 22cos+ , ( ̇, )=00 2 ̇0 cos 0 1
where the matrices
and
are time varying and
= 2 sin , =0
(11)
=⁄12 () = 2 1cos + + + 2 >0 = ̇ = ̇ ̇ ̇ 0 0 0 = 0 −+−+−
and the moment of inertia equals to , see [3]. Observe that the system is strongly nonlinear since there exist products of different states and states appear as arguments of trigonometric functions. This makes the system hard to control. Observe now that the matrix is invertible for every , since its determinant is always positive for all . Indeed, the determinant is
The next goal, after finding the equations of motion, is to define an equivalent system that consists of first order differential equations. Such systems are called state space models. Define the column vector (12)
Using the model description (1) and multiplying from the left by the inverse of , equation (10) is written as (13)
In (13) the matrices are denoted only by name without mentioning the variables on which they depend. This was made for the sake of brevity, but the dependence of each matrix form the variables still holds as before.
̇ =
3. Linearization
The equilibrium points of a dynamical system described by are defined as the points for which the derivative is equal to zero, that is So we are looking for points for which the states of the system do not change. Equilibrium points are classified as stable or unstable, depending on how the system behaves when it starts from or is close to . The inverted pendulum system has two equilibria, one stable and o ne unstable and their difference is easy to understand. The first equilibrium is the point of complete rest, where the pendulum is lowered down, on an angle This is an asymptotically stable equilibrium, because starting from any initial condition, the rod will always return to its resting lowered down state. If for example we were to knock the pendulum rod with our hands, the system will return to rest after a small oscillation. Consequently, no input is required from any outside source to drive the system to this equilibrium. On the other hand, the second equilibrium corresponds to the upright vertical position, with an angle At this point, the pendulum is balanced, but the smallest disturbance will cause it to diverge from this state, oscillate and end up resting at the lowered position. Therefore, for the second equilibrium point, it is clear that there is a need to apply a constant control law in order to maintain the pendulum in the upright position. The system can be linearized around its upright equilibrium. This means that it is possible to obtain a simplified linear version of the system that describes its behavior around this point. Thus, we can work with this simplified version in order to design a control law, which when applied to t he system, will be able to keep it balanced on the upright position. For the nonlinear system described by , the upright equilibrium is the point
=0.
=180°.
=
0°.
̇=, = ̇ ̇ = 0 0 0 0 sin = cos =1 ̇ =0 0 + 1 1 22 ̈ + 00 0 = ⇒ 1 ⏟ + 1 1 ⏟ 22 2
For small deviations from this point, the angle
make the approximations , Under these approximations the system becomes
(14)
is very small, so we can and
, see [13].
̈ =− +− ̇ = +
Or equivalently in state space form
where
(15)
00 00 10 01 00 4I+ 0 0 = 0 2 , = +4I + + +4I2 + [0 +4I + 0 0] +4I +
This system is linear and the matrices A and B are time invariant.
4. Simulation It is easy to simulate the above linear model in Matlab, a programming software with a wide range of functions created for simulating control systems [5,10,11]. In the code provided below, we define the linearized system (15) as a state space system, where the output and states are the same, Subsequently, using the linear quadratic regulator method, we determine a feedback control law of the form , that maintains the pendulum in the upright position. This LQR method is based on minimizing the cost function
=.
= ∞ =∫ +
(16)
where and are symmetric, positive semidefinite and positive definite weight matrices respectively (usually diagonal), that are used to assign cost in the states for which we have the strictest requirements. In our example, since we do not want the cart to move far away on the x-axis and because we do not want large deviations of the rod from its equilibrium (because this wil l lead to a loss of linearity), we will choose larger values for the corresponding entries of the matrix . The entries of corresponding to the cart velocity and the angular velocity are set to zero, since we assume they do not pose any limitations for this particular example. As initial conditions we choose the position and velocity of the cart to be zero, a angle for the rod and an angular velocity of Simulation results can be seen on Figure 2. We can see that for different values of the matrix the solution of the system is significantly different. Putting a higher cost on the rod displacement, we obtain smaller oscillations and the system returns to the equilibrium faster.
5°⁄.
5°
% Linear model for inverted pendulum m0=1.5; m1=0.5; L =0.5; I=m1*L^2/12;g=10; D0=[m0+m1, m1*L/2; m1*L/2, m1*(L/2)^2+I]; H=[1;0]; A=[zeros(2),eye(2);0,g*L^2*m1^2/(L^2*m0*m1+4*I*(m0+m1)),0,0;0 ,-2*g*L*m1*(m0+m1)/(L^2*m0*m1+4*I*(m0+m1)),0,0]; B=[0;0;(4*I+L^2*m1)/(L^2*m0*m1+4*I*(m0+m1));(2*L*m1)/(L^2*m0*m1+4*I*(m0+m1))]; C=eye(4); pend=ss(A,B,C,0) % the pendulum state space system R=1; Q=diag([1,20,0,0]); %different values can be chosen k=lqr(pend,Q,R); % compute the feedback law u=-K*x pendnew=ss(A-B*k,B,C,0) % define the new system [y,t,x]= initial(pendnew,[0;deg2rad(5);0;deg2rad(5)],10); y(:,2)=rad2deg(y(:,2)); %transform from rad to degrees. y(:,4)=rad2deg(y(:,4)); for i=1:4 subplot(2,2,i) plot(t,y(:,i)) end
Figure 2: LQR in the linearized model with matrices Q=diag[1,2,0,0] and Q=diag[1,20,0,0].
5. Model variations There are many variations of the inverted pendulum model that arise from different applications and each one is of special interest. Their modeling follows similar steps with the ones presented above. Nonetheless, in each case additional parameters or constraints are added that must be taken into account. Some variations are given in Figure 3. Notable examples include the double inverted pendulum, used in modeling human balance [12, 14-17]. In this model, on the end point of the first rod, a
second one is placed and again the aim is the balance of the system. A specialized version of this model is when the joints between the 1st rod and the cart and the 1st and 2 nd rods can be locked to a fixed angle, allowing for the system to have multiple equilibria, as seen in Figure 4. This is useful in modeling the human foot in a study to construct applications for gait support [14-17]. Another interesting example is a system where two rods are mounted on the same cart on two different points. A similar problem is the study of all the above systems for the case when the cart is on an inclined surface. Lastly, another special case is the rotational inverted pendulum. In this case the pendulum is placed on a rotating base. In all of the above examples, it is possible for the states of the system to be subjected to constraints. For example, the cart may have limited space to move, or the rod may not be allowed to fall below a specific level. In each case, these constraints impose radical changes in the computation of the optimal solution.
Figure 3: Inverted pendulum variations.
Figure 4: Gait system.
6. Conclusions In conclusion, it is clear that the inverted pendulum is a system with many variations that render it a fundamental control problem. Apart from its variations, its analysis and control can be studied using a plethora o f different techniques, as mentioned in the introduction. The system can be controlled using various optimization techniques. Predictive control techniques can be applied, which aim at determining a series of future control actions that will balance the system. Adaptive control techniques can also be used. Such methods are useful when certain parameters of the system change during its simulation. Such methods are used for example when the cart goes through a different terrain and the friction coefficient changes or when an object is suddenly placed on the end of the rod, changing its center of gravity. Overall, the inverted pendulum is a system that helps engineers test the efficacy of new control methods and for that matter it works as a bridge between theoretical approaches and their application to real life problems.
References [1]
Anh, N. D., Matsuhisa, H., Viet, L. D., & Yasuda, M. (2007). Vibration control of an inverted pendulum type structure by passive mass – spring-pendulum dynamic vibration absorber. Journal of Sound and Vibration, 307 (1), 187-201.
[2]
Anderson, C. W. (1989). Learning to control an inverted pendulum using neural networks. IEEE Control Systems Magazine, 9(3), 31-37. Bogdanov, A. (2004). Optimal control of a double inverted pendulum on a cart. CSEE, OGI School of Science and Engineering, OHSU, Tech. Rep. CSE-04-006 .
[3]
[4]
[5] [6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
Boubaker, O. (2013). The inverted pendulum benchmark in nonlinear control theory: a survey. International Journal of Advanced Robotic Systems, 10. Dorf, R. C., & Bishop, R. H. (2011). Modern control systems (12th Ed). Pearson. Grasser, F., D'arrigo, A., Colombi, S., & Rufer, A. C. (2002). JOE: a mobile, inverted pendulum. IEEE Transactions on industrial electronics, 49(1), 107-114. Hehn, M., & D'Andrea, R. (2011, May). A flying inverted pendulum. In Robotics and Automation (ICRA), 2011 IEEE International Conference on (pp. 763-770). IEEE. Jadlovská, S., & Sarnovský, J. (2013). Modelling of classical and rotary inverted pendulum systems – a generalized approach. Journal of Electrical Engineering, 64(1), 12-19. Jadlovská, S., & Sarnovský, J. (2012, January). Classical double inverted pendulum — A complex overview of a system. In Applied Machine Intelligence and Informatics (SAMI), 2012 IEEE 10th International Symposium on (pp. 103-108). IEEE. Moysis, L., Azar, A. T., Kafetzis, I., Tsiaousis, M., & Charalampidis, N. (2017). Introduction to Control Systems Design Using Matlab. International Journal of System Dynamics Applications (IJSDA). (to appear). Moysis, L., Tsiaousis, M., Charalampidis, N., Eliadou, M., & Kafetzis, I. (2015). An Introduction to Control Theory Applications with Matlab. Retrieved from http://users.auth.gr/lazarosm/ . Pathak, K., Franch, J., & Agrawal, S. K. (2005). Velocity and position control of a wheeled inverted pendulum by partial feedback linearization. IEEE Transactions on robotics , 21(3), 505-513. Qian, Q., Dongmei, D., Feng, L., & Yongchuan, T. (2011, August). Stabilization of the double inverted pendulum based on discrete-time model predictive control. In Automation and Logistics (ICAL), 2011 IEEE International Conference on (pp. 243-247). IEEE. Sasagawa, S., Shinya, M., & Nakazawa, K. (2014). Interjoint dynamic interaction during constrained human quiet standing examined by induced acceleration analysis. Journal of neurophysiology, 111(2), 313-322. Sugihara, T., Nakamura, Y., & Inoue, H. (2002). Real-time humanoid motion generation through ZMP manipulation based on inverted pendulum control. In Robotics and Automation, 2002. Proceedings.
ICRA'02. IEEE International Conference on (Vol. 2, pp. 1404-1409). IEEE. [16] van der Spek, J. H., Veltink, P. H., Hermens, H. J., Koopman, B. F., & Boom, H. B. (2003). A model-based approach to stabilizing crutch supported paraplegic standing by artificial hip joint stiffness. IEEE transactions on neural systems and rehabilitation engineering , 11(4), 443-451. [17] Winter, D. A. (1995). Human balance and posture control during standing and walking. Gait & posture, 3(4), 193-214.