An unscented Kalman filter based navigation algorithm for autonomous underwater vehicles