An Ant-like Task Allocation Model For A Swarm of Heterogeneous Robots