A task-driven algorithm for configuration synthesis of modular robots
planning algorithms .