Coverage Control for Constrained Heterogeneous Multi-Robot Teams