Semi-flocking algorithm for motion control of mobile sensors in large-scale surveillance systems