Containment control of singular heterogeneous multi-agent systems