Planning and Vice Project Manager
This project has been a part of the CDIO course TSRT10 at Linköping University, which took place during the autumn term of 2020. It was performed by eight students studying masters in control technology and was a collaboration with Combine Control Systems AB. The end goal of this series of projects is to, through changes in both hardware and software, convert a remotely operated underwater vehicle (ROV) to operate autonomously.
The project was originally based on a master thesis from 2016. Since then, there have been four CDIO-projects further developing the product. This year's main task was to create a visual simulation environment and integrating hardware and software through Hardware-in-the-loop (HIL) simulation.
The interest in autonomous underwater vehicles (AUVs) is currently increasing over several fields. Examples of application includes inspection & maintenance of underwater infrastructure, marine biology research, and ocean floor mapping.
Create a visual simulation environment with a user friendly custom graphic user interface (GUI)Goal 2
Expand the simulator functionalityGoal 3
Review existing models for further improvementGoal 4
Integrate the simulator with the hardware through HIL
The ROV is an underwater vehicle based on the BlueROV kit from Blue Robotics. It is equipped with six thrusters for movement in multiple degrees of freedom. Most of the computations on the ROV are made on a Raspberry Pi (RPi), while an HKPilot Mega handles the collection of sensor data.
Several sensors are used to calculate a position estimate through sensor fusion. The current sensors are: three sonars, an inertial measurement unit (IMU), a magnetometer, pressure sensor, camera, and a leakage sensor.
The vehicle communicates to the user through a local laptop connected by an ethernet cable. The current software setup is using robotic operating system (ROS) for data exchange between hardware, simulator, and GUI.
One of the simulation model updates completed this year is the extended sonar model which now has software to detect surrounding physical objects. Not only does it detect the pool boundaries, but it manages to detect the box hidden at the pool center as depicted above. Through this tool, a groundwork for future underwater mapping has been laid.
Another updated sensor model is the camera model. The theory was derived in fall 2019, and has this year been implemented into the simulator. The camera model can detect and approximate the position of a moving object within the field of view.
The current model approximates distance by the comparing the known object size to the angular diameter. The clip above depicts the camera's field of view as the green polygon logging the estimated positions of the blue object as it is detected by the camera.
A primary goal of this project was to implement an interactive graphical user interface which would display simulations in real time. This aspect is handled by Gazebo which is an open source robotic simulation software. The Simulink model sends the simulated position to Gazebo for visualisization, using communication via robotic operating system.
The user is able to toggle different modes and missions in the interaface, with some new additions this year:
Send the simulated vehicle from a start point to a waypoint
Control the simulated vehicle with an Xbox controller in real time
Connect and run parts of the simulation using hardware on the vehicle
Send the simulated vehicle from a start-point to a waypoint using a LQ-controller
To minimize errors in new software on existing hardware down the line, the process is streamlined by continuously running the code on-board the vehicle itself. Using this method, hardware restrictions can be found early and required measures can be taken with minimal waste of time. As a first step, the current setup allows the regulator calculations to be done on the hardware. Future work will have the possibility to expand the HIL-mode to include sensor fusion.