|Keywords:||Humanoid robot; inverted pendulum; feedback controller; LQR; Python; Engineering and Technology; Teknik och teknologier; Master programme in Information Systems; Masterprogram i systemvetenskap|
|Full text PDF:||http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-246114|
This thesis focuses on implementing a program, using Python and the symbolic package SymPy, to evaluate balancing of a humanoid robot modelled as inverted pendulums. The balancing algorithm used to evaluate the program is the feedback controller LQR. The program has successfully implemented a working LQR algorithm together with features such as underactuation and a tilting plane as disturbance. We have shown that the energy is conserved for the falling pendulums and that it is possible to predict the behavior for certain parameter values of the pendulums, thus confirming that the program is working correctly. Furthermore we have shown that a fully-actuated system is more controllable than an under-actuated system, and for each actuator that is removed, the system becomes less controllable. Finally we discuss the program performance where some concern is given toward the seemingly poor execution time of the program. The program has been tested for up to five pendulums with successful results. Most of the results however, are revolving around three pendulum systems.