Frictional interaction is complex and difficult to model. In building computationally efficient contact models, two key issues affect fidelity: i) we make a set of assumptions for simplification and tractability, and ii) we cannot observe or model all features necessary to capture the minute but important details of interactions. We are interested in how we can augment and refine our models of manipulation using experiences collected during task execution? How do we leverage our models and our physical intuitions to make novel inferences? We have shown how to leverage contact models to learn residuals that correct predictions that are also consistent with physical laws such as conservation of energy and momentum for impactful contacts (CoRL 2017), planar pushing (ICRA 2018), and shown how to learn these residuals using reinforcement learning like strategies (ICRA 2020).

So how do we design planners and controllers that co-exist with these data-augmented models? On the right, the goal of the robot is to guide the secondary disk to a goal position by pushing on the primary disk using its end effector — a challenging task for which analytical models perform poorly. The robot uses experimental data to learn a residual (corrective) model to a physics engine for the contact interaction between the two disks and the surface. It then uses this data-augmented model to perform model-predictive control to push the second disk to a goal using the first disk. Here the algorithm is able to achieve the task reliably with just 2000 samples, 1500 simulated randomizations and 500 experimental single-step pushes. This task is an example of a difficult planar manipulation problem with many hybrid modes for which analytical models struggle. We have published this work at IROS 2019 and won best cognitive robotics paper.

Learning a residual model useful for the complex task of moving a disk by manipulating an intermediary disk. The complex physics of this interaction are hard to capture accurately, but by sprinkling in a little data, the robot is able to execute the task successfully.