Heterogeneous Multi-Robot Cooperation