Multi-Robot Assignment and Formation Control: A method of efficient, dynamic formation synthesis and maintenance for mobile robots