Efficient Contact Mode Enumeration in 3D
Huang, Eric,
Cheng, Xianyi,
and Mason, Matthew T.
In Workshop on the Algorithmic Foundations of Robotics,
2020
In a hybrid dynamical system with multiple rigid bodies, the relative motions of the contact points on two colliding bodies may be classified as separating, sticking (moving together), or sliding. Given a physical contact model, the active contact modes determine the dynamic equations of motion. Analogously, the set of all possible (valid) contact mode assignments enumerates the set of all possible dynamical flows of the hybrid dynamical system at a given state. Naturally, queries about the kinematics or dynamics of the system can be framed as computations over the set of possible contact modes. This paper investigates efficient ways to compute this set.
To that end, we have developed the first efficient 3D contact mode enumeration algorithm. The algorithm is exponential in the degrees of freedom of the system and polynomial in the number of contacts. The exponential term is unavoidable and an example is provided. Prior work in this area has only demonstrated efficient contact mode enumeration in 2D for a single rigid body. We validated our algorithm on peg-in-hole, boxes against walls, and a robot hand grasping an ellipse. Our experimental results indicate real-time contact mode enumeration is possible for small to medium sized systems. Finally, this paper concludes with a discussion of possible related application areas for future work. Ultimately, the goal of this paper is to provide a novel computational tool for researchers to use to simulate, analyze, and control robotic systems that make and break contact with the environment.