Distributed Coordination in Heterogeneous Multi-Robot Systems