A Distributed Architecture for Mobile Robot Coordination