Stable locomotion using IO linearization, CLFs, and TSC. This was initially made to get a better understanding of bipedal robotic locomotion and get familiar with some of the 'standard' basic control approaches to 5-link walkers. These 5-link walkers are close to being the easiest, morphologically sound walker. For a detailed description of the biped in question, please refer to [1] which is well documented
The 5-link walker code ('main.m') allows for setting a down-step height to analyze some heuristic version of the robustness of the control strategies, affecting by controller gains and other decision variables. Nothing too formal though but fun to play around with!
Just run 'main.m'. You can change the controller type before the main loop by changing the string 'controller' on line 100. If you wish to make changes to the underlying biped model, make the changes in 'generate.m' and run it again (this will take a long time with symbolic equations and simplyfing them!).
For the CLF and TSC controller, you will need CVX.
We consider a standard system of equations.
where
According to [2]
Lie derivative of the outputs.
Second Lie derivative with respect to the controlled PDE
Second Lie derivative with respect to the autonomous PDE
Auxilliary output
Mapping to the actual output
According to [3]. Defined as a Quadratic Program (QP). Requires the CVX MATLAB optimization package for solving! However, creating something with MATLAB's 'quadprog' should be straightforward enough, given the following equations. 'icare' is the solution of the algebraic continuous time Ricatti equations.
According to [4]. Defined as a Quadratic Program (QP). Requires the CVX MATLAB optimization package for solving! However, creating something with MATLAB's 'quadprog' should be straightforward enough, given the following equations:
1: @book{westervelt2018feedback, title={Feedback control of dynamic bipedal robot locomotion}, author={Westervelt, Eric R and Grizzle, Jessy W and Chevallereau, Christine and Choi, Jun Ho and Morris, Benjamin}, year={2018}, publisher={CRC press} }
2: @article{westervelt2003hybrid, title={Hybrid zero dynamics of planar biped walkers}, author={Westervelt, Eric R and Grizzle, Jessy W and Koditschek, Daniel E}, journal={IEEE transactions on automatic control}, volume={48}, number={1}, pages={42--56}, year={2003}, publisher={IEEE} }
3: @article{ames2014rapidly, title={Rapidly exponentially stabilizing control lyapunov functions and hybrid zero dynamics}, author={Ames, Aaron D and Galloway, Kevin and Sreenath, Koushil and Grizzle, Jessy W}, journal={IEEE Transactions on Automatic Control}, volume={59}, number={4}, pages={876--891}, year={2014}, publisher={IEEE} }
4: @inproceedings{wensing2013generation, title={Generation of dynamic humanoid behaviors through task-space control with conic optimization}, author={Wensing, Patrick M and Orin, David E}, booktitle={2013 IEEE International Conference on Robotics and Automation}, pages={3103--3109}, year={2013}, organization={IEEE} }