# Algorithm for Determining the Position of a Ship Hull-Cleaning Robot
## 3 Related Works  
Recent advances in hull-cleaning robot positioning have leveraged a variety of sensor technologies and intelligent algorithms to improve navigation and operational efficiency in challenging environments. The article [8] presents a preliminary design of an underwater robotic complex designed for the inspection and laser cleaning of ship hulls from biofouling. In the context of robot navigation, the paper states that the navigation data for planning the vehicle's trajectory are obtained from a combination of wheel odometry and visual odometry. To achieve navigation accuracy, the proposed complex utilizes the following equipment:  
* A standard set of navigation equipment (vehicle depth, pitch, roll, yaw, and angular velocities). * A long-baseline hydroacoustic navigation system with one or two beacon repeaters. * A wheel-based odometry system. * A visual odometry system based on photo data from an on-board camera. The combination of these different methods is intended to increase the navigation accuracy of the underwater vehicle when inspecting and cleaning ship hulls. It is important to note that the research outlines a preliminary design of the cleaning robotic complex. Another example in which visual odometry has been employed is [9]. The paper proposes an autonomous ship hull inspection strategy using an Autonomous Underwater Vehicle (AUV) equipped with a stereo camera and a proximity sensor. The AUV localizes itself relative to the hull without prior knowledge of its shape. Stereo vision is used to estimate the AUV's lateral velocity and orientation relative to the hull. These orientation data are fused with IMU angular velocity measurements using an Extended Kalman Filter (EKF) called the Relative Orientation Filter (ROF) to improve accuracy. The proximity sensor provides distance measurements, which are projected along the normal axis to the hull. Stereo Visual Odometry (SVO) estimates the lateral velocity, and these data are fused with IMU and depth sensor data. This estimated lateral velocity is used for the AUV's control. In summary, the robot is localized by combining stereo vision (for orientation and lateral velocity), a proximity sensor (for distance), and IMU (for angular velocity). In [4], a system enabling an Autonomous Underwater Vehicle (AUV) to perform long-term ship hull inspections using SLAM was described. A key challenge addressed is achieving accurate localization relative to the ship hull without relying on acoustic beacons. The system utilizes a Doppler Velocity Log (DVL) as a primary navigation sensor, operating in hull relative or seafloor relative mode. It also incorporates visual SLAM using underwater and periscope cameras to derive spatial constraints. A significant contribution is the representation of the ship hull as a collection of locally planar surface features, which are integrated into the SLAM framework. The system prioritizes the relative navigation of the hull, as the position of the ship in a port can change with time, making absolute navigation methods less suitable. The article [1] discusses a new type of robot designed to clean underwater ship hulls, especially those with non-magnetic hulls. The aim of the project was to improve the efficiency of ships by regularly cleaning their hulls without having to take them out of the water. The robot is designed as a morphologically adapted robot, which means that its structure and operation are adapted to harsh conditions under water. The key element is an advanced positioning system that allows the robot to move independently on the surface of the hull. The robot is equipped with a set of sensors that collect the necessary data to determine its position and orientation. The technologies used include the following:* Inertial measurement unit (IMU)--provides information about the robot's orientation in space,
* Absolute pressure sensor--measures the depth at which the robot operates,
* Encoders--each of the robot's moving joints is equipped with encoders that track the angle of rotation of individual parts.