Remotely Operated Underwater Vehicle


In both civilian and military applications, the interest and need for autonomous vessels that can carry out missions by sea, air and land without contact with an operator has increased. Examples on such tasks are surveillance, rescue operation, mapping, repair or tactical missions. This project is a collaboration between Linköpings University and Combine Control Systems AB. The underwater vehicle used in the project is a BlueROV from Blue Robotics, and it is provided by Combine Control Systems AB.

The purpose of this project is to mount ultrasonic sensors on the underwater vehicle, develop the model accordingly and create autonomous behavior for the craft, including advanced regulation, positioning in known environment and navigation.

The ROV is a underwater vehicle with six thrusters that enable it to navigate in six degrees of freedom under water. Located on the ROV is an inertial measuerement unit (IMU), a magnetometer and a pressure sensor to estimate it's position, velocity, orientation and angular velocities. The ROV is remotely operated via a PC using a Xbox controller or by setting a path through the GUI. The PC communicates with the ROV's internal computer through a cable.

System overview

Overview of the system

IMU, magnetometer, pressure sensor and ultrasonic sonars are used to estimate the ROV's position and attitude. The ROV is equipped with three sonars, they are mounted in forward, right and left direction. Each sonar has a measurement range of 1.3 - 20 meters.

The ROV's velocity and position controllers are of LQ-design which are based on linear models of the system. Feedback linearization is used to cancel nonlinearities and get linear behavior of the system for both controllers. The ROV can follow a path by reference regulation.

controller overview

An overview of the controller design

An Extended Kalman filter (EKF) is used to fuse measurements from sonars, IMU, magnetometer and pressure sensor with a motion model. The EKF has 15 states; 6 global for position and attitude, 6 local for linear and angular velocities and 3 for biases in angular velocity. The motion model is used to improve state predictions. The sonars measurements are compared with the expected distances, given the current position and attitude of the ROV. This is illustrated below together with a result from a comparison between estimated and ground truth position.

Sonar measurement

An overview of a sonar measurement

  • Matlab/Simulink built simulator to simplify code generation and testing

  • Simulates states by using a simplified model of the ROV, calculates and outputs sensor data to ROS

  • SIL simulation of sensor fusion and/or controller

  • Controller can be run in Simulink or C++ via ROS

  • 3D visualization and plots of all states during a simulated run

3d Visualization

Visualization from the simulation

Paths are generated using the A* search algorithm. The start and end positions can easily be selected from the GUI. The path chooses the shortest path between the points while taking into account the obstacles on the map.


A* path with obstacles in black

  • Integration of ultrasonic sonars
  • Positioning in a known environment
  • Position, velocity and reference controllers
  • Simulation environment for the ROV
  • Path planning in known environment
Project Video