Contact-Implicit Optimization
How can we design trajectories that make and break contact?
Most things we want robots to do involve contact. Picking stuff up requires contact. Moving around also requires contact (unless you can fly).
But most robots today are bad at contact. Roboticists have spent a long time thinking very hard about how to avoid collisions entirely. And when contact is inevitable, as in manipulation and legged locomotion, we usually make strict assumptions about where (feet only) when (following a predefined sequence) and how (softly please!) contact occurs. Unsurprisingly, that can cause problems in the real world.
Contact-implicit trajectory optimization aims to fix this by using numerical optimization to decide when and where to make and break contact.
If we can solve contact-implicit optimization quickly and reliably, we can use it for real-time feedback via Model Predictive Control (MPC).
Doing so is easier said than done. Contact introduces a slew of numerical and modeling challenges, and general-purpose optimizers are typically not up to the task. Additionally, contact-implicit optimization is highly nonlinear with many local minima. Finding a globally optimal solution is NP-hard, and is probably too much to ask. Even finding a good-enough local optimum can be very difficult.