Consensus Complementarity Control for Multi-Contact MPC
Alp Aydinoglu, Adam Wei, Wei-Cheng Huang, Michael Posa
TL;DR
Consensus Complementarity Control (C3) addresses the challenge of real-time multi-contact MPC by formulating local multi-contact dynamics as a linear complementarity system (LCS) and solving the resulting problem with an ADMM-based consensus approach. The framework decouples time steps through a consensus reformulation and provides multiple projection strategies (MIQP, LCP, ADMM, and a novel convex projection) to enforce the LCP constraints efficiently. By leveraging two local contact-dynamics formulations, Stewart–Trinkle and Anitescu, C3 enables mode-synthesis online without precomputed mode schedules, demonstrated across five numerical scenarios and hardware experiments. The results show substantial speedups over traditional MIQP-based methods while maintaining robust performance in high-dimensional, frictional contact tasks, highlighting C3’s potential for real-time dexterous manipulation and locomotion in contact-rich environments.
Abstract
We propose a hybrid model predictive control algorithm, consensus complementarity control (C3), for systems that make and break contact with their environment. Many state-of-the-art controllers for tasks which require initiating contact with the environment, such as locomotion and manipulation, require a priori mode schedules or are too computationally complex to run at real-time rates. We present a method based on the alternating direction method of multipliers (ADMM) that is capable of high-speed reasoning over potential contact events. Via a consensus formulation, our approach enables parallelization of the contact scheduling problem. We validate our results on five numerical examples, including four high-dimensional frictional contact problems, and a physical experimentation on an underactuated multi-contact system. We further demonstrate the effectiveness of our method on a physical experiment accomplishing a high-dimensional, multi-contact manipulation task with a robot arm.
