An MPC Walking Framework With External Contact Forces
2018
Conference Paper
am
mg
In this work, we present an extension to a linear Model Predictive Control (MPC) scheme that plans external contact forces for the robot when given multiple contact locations and their corresponding friction cone. To this end, we set up a two-step optimization problem. In the first optimization, we compute the Center of Mass (CoM) trajectory, foot step locations, and introduce slack variables to account for violating the imposed constraints on the Zero Moment Point (ZMP). We then use the slack variables to trigger the second optimization, in which we calculate the optimal external force that compensates for the ZMP tracking error. This optimization considers multiple contacts positions within the environment by formulating the problem as a Mixed Integer Quadratic Program (MIQP) that can be solved at a speed between 100-300 Hz. Once contact is created, the MIQP reduces to a single Quadratic Program (QP) that can be solved in real-time ({\textless}; 1kHz). Simulations show that the presented walking control scheme can withstand disturbances 2-3× larger with the additional force provided by a hand contact.
Author(s): | Mason, Sean and Rotella, Nicholas and Schaal, Stefan and Righetti, Ludovic |
Book Title: | 2018 IEEE International Conference on Robotics and Automation (ICRA) |
Pages: | 1785--1790 |
Year: | 2018 |
Month: | May |
Publisher: | IEEE |
Department(s): | Autonomous Motion, Movement Generation and Control |
Bibtex Type: | Conference Paper (inproceedings) |
DOI: | 10.1109/ICRA.2018.8461236 |
Address: | Brisbane, Australia |
URL: | https://arxiv.org/abs/1712.09308 |
BibTex @inproceedings{mason_mpc_2018, title = {An {MPC} {Walking} {Framework} {With} {External} {Contact} {Forces}}, author = {Mason, Sean and Rotella, Nicholas and Schaal, Stefan and Righetti, Ludovic}, booktitle = {2018 {IEEE} {International} {Conference} on {Robotics} and {Automation} ({ICRA})}, pages = {1785--1790}, publisher = {IEEE}, address = {Brisbane, Australia}, month = may, year = {2018}, doi = {10.1109/ICRA.2018.8461236}, url = {https://arxiv.org/abs/1712.09308}, month_numeric = {5} } |