Adaptive Control for Autonomous Underwater Vehicles