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.
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.
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.
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
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.