Abstract
In this paper, a new control algorithm based on angular momentum is presented for balancing an under-actuated planar robot. The controller is able to stabilize the robot in any unstable balanced configuration in which the robot is controllable, and also it is able to follow a class of arbitrary trajectories without losing balance. Simulation results show the good performance of the controller in balancing and trajectory tracking motions of the robot. The simulations also show that the proposed controller is robust to significant imperfections in the system, such as errors in the controller’s dynamic model of the robot and imperfections in the sensors and actuators. The new controller is compared with three existing balance controllers and is shown to equal or outperform them.
Similar content being viewed by others
Notes
http://www.maxonmotor.com (Accessed 18/5/2015).
As already mentioned in the introduction section, this method is not specific to Spong and has been used by many other researchers as well. It is selected for comparison because of its wide use on the acrobot.
References
Azad, M. (2014). Balancing and hopping motion control algorithms for an under-actuated robot. Ph.D. Thesis, The Australian National University, School of Engineering.
Azad, M., & Featherstone, R. (2012). Angular momentum based controller for balancing an inverted double pendulum, RoManSy 19-Robot Design, Dynamics and Control, pp. 251–258, Paris, France, June 12–15.
Azad, M., & Featherstone, R. (2013). Balancing and hopping motion of a planar hopper with one actuator. IEEE International Conference Robotics and Automation (pp. 2027–2032). Karlsruhe, Germany, May 6–10.
Azad, M., & Featherstone, R. (2014). Balancing control algorithm for a 3D under-actuated robot. Proceedings IEEE/RSJ International Conference Intelligent Robots and Systems (pp. 3233–3238). Chicago, IL, September 14–18.
Berkemeier, M. D., & Fearing, R. S. (1999). Tracking fast inverted trajectories of the underactuated acrobot. IEEE Transactions Robotics and Automation, 15(4), 740–750.
Featherstone, R. (2012). Analysis and design of planar self-balancing double-pendulum robots, RoManSy 19-Robot Design, Dynamics and Control, pp. 259–266, Paris, France, June 12–15.
Formal’skii, A. M. (2006). On stabilization of an inverted double pendulum with one control torque. International Journal Computer and Systems Sciences, 45(3), 337–344.
Goswami, A., & Kallem, V. (2004). Rate of change of angular momentum and balance maintenance of biped robots. IEEE Interantional Conference Robotics and Automation (pp. 3785–3790). New Orleans, LA.
Grizzle, J. W., Moog, C. H., & Chevallereau, C. (2005). Nonlinear control of mechanical systems with an unactuated cyclic variable. IEEE Transactions Automatic Control, 50(5), 559–576.
Harnefors, L., & Nee, H. P. (2000). A general algorithm for speed and position estimation of AC motors. IEEE Transactions Industrial Electronics, 47(1), 77–83.
Hauser, J., & Murray, R. M. (1990). Nonlinear controllers for nonintegrable systems: the acrobot example. American Control Conference (pp. 669–671). SanDiego, CA, May 23–25.
Inoue, A., Deng, M., Hara, S., & Henmi, T. (2007). Swing-up and stabilizing control system design for an acrobot. Proceeding IEEE International Conference Networking, Sensing and Control (pp. 559–561), London, UK, April 15–17.
Lai, X., Wu, Y., She, J., & Wu, M. (2005). Control design and comprehensive stability analysis of acrobots based on Lyapunov functions. Journal of Central South University of Technology, 12(1), 210–216.
Lauwers, T. B., Kantor, G. A., & Hollis, R. L. (2006). A dynamically stable single-wheeled mobile robot with inverse mouse-ball drive. Proceeding IEEE International Conference Robotics and Automation (pp. 2884–2889). Orlando, FL, May 15–19.
Lee, S. H., & Goswami, A. (2012). A momentum-based balance controller for humanoid robots on non-level and non-stationary ground. Autonomous Robots, 33(4), 399–414. Springer.
Macchietto, A., Zordan, V., & Shelton, C. R. (2009). Momentum control for balance. ACM Transactions Graphics, 28(3), 80–87.
Olfati-saber, R. (2000). Control of underactuated mechanical systems with two degrees of freedom and symmetry. Proceeding American Control Conference. pp. 4092–4096.
Raibert, M. H. (1986). Legged robots that balance. Cambridge, MA: The MIT Press.
Segway Inc. (2015). Personal Transporter. http://www.segway.com, Accessed January 2015.
Spong, M. W. (1995). The swing up control problem for the acrobot. IEEE Control Systems, 15(1), 49–55.
Westervelt, E. R., Grizzle, J. W., Chevallereau, C., Choi, J. H., & Morris, B. (2007). Feedback control of dynamic bipedal robot locomotion. Boca Raton, FL: CRC Press.
Xin, X., & Yamasaki, T. (2012). energy-based swing-up control for a remotely driven acrobot: theoretical and experimental results. IEEE Transactions Control Systems Technology, 20(4), 1048–1056.
Yamakita, M., Yonemura, T., Michitsuji, Y., & Luo, Z. (2002). Stabilization of acrobot robot in upright position on a horizontal bar. IEEE Internatioanl Conference Robotics and Automation. (pp. 3093–3098), Washington, DC, May 11–15.
Yonemura, T., & Yamakita, M. (2004). Swing up control problem of acrobot based on switched output functions. Proceeding SICE Annual Conference. (pp. 1909–1914). Sapporo, Japan, August 4–6.
Acknowledgments
This paper was partly supported by the European Commission, within the CoDyCo project (FP7–ICT–2011–9, No. 600716).
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix I
This appendix provides the analytical expression of \(\dot{\eta }=h(\eta )\) and its linearized equation about \(\eta =0\). To express \(\dot{\eta } = (\dot{q}_1, \dot{q}_2, \ddot{q}_1, \ddot{q}_2)\) as a function of \(\eta \), it is required to compute \(\ddot{q}_1\) and \(\ddot{q}_2\) in terms of q and \(\dot{q}\). Thus, we solve the motion Equation in (1) and (2) for \(\ddot{q}_1\) and \(\ddot{q}_2\) and obtain
where \(d = c_1c_2-c_3^2\cos (q_2)^2\) is the determinant of the joint-space inertia matrix. Then, we replace \(\tau \) from (12) into the above equations and obtain
and
To calculate matrix A, we linearize (30) and (31) about the equilibrium point \(\eta =0\). Note that, in the equilibrium point, we have \(X=0\) and therefore,
Hence, \(A=\frac{\partial {h}}{\partial {\eta }}|_{\eta =0}\) will be
where
Appendix II
This appendix proves the statement that at any desired unstable balanced configuration of the 2D balancer robot other than a neutral balanced configuration, \(K=0\) if and only if the velocity gain (\(G_V\)) is zero. Neutral balanced configurations are excluded because \(G_V\) as defined in Featherstone (2012) is not defined at such configurations.
The balance condition in (10) can be written in the form
where
and
which implies
Note that \(r=0\) only if \(c_4=c_5\) and \(\cos (q_2^d)=-1\), which is the condition for neutral balance, so we can exclude this possibility from consideration. Given that \(r\ne 0\), the balance condition in (34) simplifies to
This equation has two solutions, but the correct solution for an unstable balanced configuration is \(q_1^d=\pi /2-\phi \). From this solution we get
and
Substituting (35) and (36) into the expression for K in (14), and simplifying the result, gives
According to Eq. 5 in Featherstone (2012), the velocity gain for a 2D balancer is
where
So \(G_V\) at a desired configuration can be written as
Note that the first denominator is nonzero because it is equal to \(r^2\), and the second denominator is nonzero because it is the first element of the robot’s joint-space inertia matrix, which is a positive-definite matrix. If we multiply both sides of (39) by both denominators then we get, after some simplification,
On comparing (40) with (37) it can be seen that \(K=-rH_{11}G_V\), which proves that \(K=0\) if and only if \(G_V=0\).
Rights and permissions
About this article
Cite this article
Azad, M., Featherstone, R. Angular momentum based balance controller for an under-actuated planar robot. Auton Robot 40, 93–107 (2016). https://doi.org/10.1007/s10514-015-9446-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10514-015-9446-z