A dynamically configurable architecture for the control of autonomous underwater vehicles