PushingBots: Collaborative Pushing via Neural Accelerated Combinatorial Hybrid Optimization

Tang, Zili, Zhang, Ying, Guo, Meng

arXiv.org Artificial Intelligence 

Abstract--Many robots are not equipped with a manipulator and many objects are not suitable for prehensile manipulation (such as large boxes and cylinders). In these cases, pushing is a simple yet effective non-prehensile skill for robots to interact with and further change the environment. Existing work often assumes a set of predefined pushing modes and fixed-shape objects. This work tackles the general problem of controlling a robotic fleet to push collaboratively numerous arbitrary objects to respective destinations, within complex environments of cluttered and movable obstacles. It incorporates several characteristic challenges for multi-robot systems such as online task coordination under large uncertainties of cost and duration, and for contact-rich tasks such as hybrid switching among different contact modes, and under-actuation due to constrained contact forces. The proposed method is based on combinatorial hybrid optimization over dynamic task assignments and hybrid execution via sequences of pushing modes and associated forces. It consists of three main components: (I) the decomposition, ordering and rolling assignment of pushing subtasks to robot subgroups; (II) the keyframe guided hybrid search to optimize the sequence of parameterized pushing modes for each subtask; (III) the hybrid control to execute these modes and transit among them. Last but not least, a diffusion-based accelerator is adopted to predict the keyframes and pushing modes that should be prioritized during hybrid search; and further improve planning efficiency. The framework is complete under mild assumptions. Its efficiency and effectiveness under different numbers of robots and general-shaped objects are validated extensively in simulations and hardware experiments, as well as generalizations to heterogeneous robots, planar assembly and 6D pushing. Humans often interact with objects via non-prehensile skills such as pushing and rolling, especially when prehensile skills such as stable grasping is infeasible. This aspect is however less exploited in robotic systems. Most existing work treats pushing as a complementary skill to pick-and-place primitives for a single manipulator within simple environments, e.g., [1], [2], [3], [4]. Nonetheless, pushing can be particularly beneficial for low-cost mobile robots that are not equipped with a manipulator, e.g., ground vehicles, quadruped robots, and even underwater vehicles [5]. For instance, obstacles can be pushed out of the path, and target objects can be pushed to desired positions.