Underwater robot control method and system facing cable centering and underwater robot
By combining camera sensors and thruster speed regulation, precise positioning and stable control of submarine cables were achieved, solving the problem of unstable underwater robot operation and improving operational efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENYANG INST OF AUTOMATION - CHINESE ACAD OF SCI
- Filing Date
- 2026-04-15
- Publication Date
- 2026-06-16
AI Technical Summary
Existing technologies make it difficult to accurately locate submarine cables, leading to instability in underwater robot operations and affecting operational efficiency.
By acquiring target image frames through camera sensors, determining the pixel coordinates of cable feature points, and combining this with the underwater robot's operational data to calculate relative pose and relative distance, the thruster speed is dynamically adjusted to keep the cable in the center of the camera sensor's field of view, ensuring stable control.
It improved the accuracy of submarine cable positioning, enhanced the operational stability and autonomy of underwater robots, and increased operational efficiency.
Smart Images

Figure CN122018515B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, and in particular to a control method, system, and underwater robot for cable centering. Background Technology
[0002] With the continuous development of submarine network construction, underwater robots are needed to perform inspection, laying, and maintenance of submarine cables. In order for underwater robots to operate normally, they need to locate the submarine cables to ensure that they can be aligned and applied to them.
[0003] Therefore, how to achieve precise positioning of submarine cables to ensure the stability of underwater robot operations has become an urgent problem to be solved. Summary of the Invention
[0004] In view of this, the embodiments of this application provide an underwater robot control method, system and underwater robot for cable centering, which can achieve precise positioning of submarine cables, ensure the stability of underwater robot operation, and thus improve the operation efficiency of underwater robot.
[0005] Firstly, this application provides a control method for an underwater robot oriented towards cable centering, including:
[0006] The target image frame is acquired using a camera sensor, and the pixel coordinates of multiple cable feature points in the target image frame are determined; wherein, the multiple cable feature points are determined based on the initial image frame, and the initial image frame and the target image frame include the target cable;
[0007] Based on the pixel coordinates of multiple cable feature points in the target image frame and the underwater robot's operating data, the relative pose and relative distance between the underwater robot and the target cable are calculated.
[0008] By combining relative pose and relative distance, the rotational speed of multiple thrusters is adjusted, and the underwater robot is controlled to operate according to the adjusted rotational speed of the multiple thrusters; wherein, the adjusted rotational speed of the multiple thrusters is used to position the target cable in a preset middle area of the camera sensor's field of view.
[0009] Secondly, this application provides an underwater robot control system, including a cable identification module, an information calculation module, and a speed adjustment module;
[0010] The cable identification module is used to receive target image frames acquired by the camera sensor and determine the pixel coordinates of multiple cable feature points in the target image frame; wherein, the multiple cable feature points are determined based on the initial image frame, and the initial image frame and the target image frame include the target cable;
[0011] The information calculation module is used to calculate the relative pose and relative distance between the underwater robot and the target cable based on the pixel coordinates of multiple cable feature points in the target image frame and the underwater robot's operation data.
[0012] The rotation speed adjustment module is used to adjust the rotation speed of multiple thrusters by combining relative pose and relative distance; the adjusted rotation speed of the multiple thrusters is used to control the operation of the underwater robot, so that the target cable is located in the preset middle area of the camera sensor's field of view.
[0013] Thirdly, this application provides an underwater robot, including a camera sensor, multiple thrusters, and the aforementioned underwater robot control system.
[0014] By employing the above technical solution, this application provides an underwater robot control method, system, and underwater robot for cable centering. It extracts pixel coordinates corresponding to multiple cable feature points from target image frames acquired by a camera sensor and combines this with the underwater robot's operational data to accurately calculate the relative pose and distance to the target cable. Then, using this relative pose and distance, it dynamically adjusts the rotation speed of multiple thrusters to control the robot's operation, thereby ensuring the target cable remains centered within the camera sensor's field of view. Thus, through precise control of the thruster rotation speed, it provides stable attitude and position compensation for the underwater robot, reserves sufficient visual adjustment margin, and reduces the occurrence of the target cable moving out of the field of view due to small displacement deviations of the underwater robot or the target cable. This improves the accuracy of target cable positioning, enhances the autonomy and stability of the underwater robot's operation, and ultimately improves the underwater robot's operational efficiency.
[0015] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description
[0016] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0017] Figure 1 This paper shows a schematic diagram of the structure of an underwater robot provided in an embodiment of this application;
[0018] Figure 2 A flowchart illustrating an underwater robot control method for cable centering according to an embodiment of this application is shown.
[0019] Figure 3 This document illustrates a flowchart illustrating the process of determining the pixel coordinates of multiple cable feature points according to an embodiment of this application.
[0020] Figure 4 A schematic flowchart illustrating the process of adjusting the speed of a thruster according to an embodiment of this application is shown. Detailed Implementation
[0021] To facilitate the explanation of the embodiments of this application, some technical terms and technical means related to the embodiments of this application, as well as the application scenarios of the embodiments of this application, will be introduced first below.
[0022] In some embodiments, before performing inspection, laying, and maintenance operations on submarine cables, the underwater robot needs to locate the submarine cables to ensure that the underwater robot can align with and act on the submarine cables. The underwater robot can be an Autonomous Underwater Vehicle (AUV), which is a cableless, autonomous, and controllable intelligent underwater device.
[0023] Meanwhile, when underwater robots perform delicate operations such as cable cutting, in order to ensure that the underwater robot can maintain a stable relative posture with the seabed cable, it is also necessary to ensure that the underwater robot can accurately align with and act on the seabed cable.
[0024] In some cases, to locate and track submarine cables, underwater robots can use camera sensors to acquire target image frames and perform target detection on these frames. However, target image frames are susceptible to light attenuation and scattering, leading to problems such as color degradation, low contrast, and blurred details, which in turn affect the location and tracking of submarine cables. Therefore, to improve image quality, image enhancement and restoration techniques such as multi-scale Retinex algorithms and Generative Adversarial Networks (GANs) can be used to address issues like color degradation, low contrast, and blurred details, thereby improving image quality.
[0025] Furthermore, the target detection process for target image frames is generally based on deep learning-based underwater target detection algorithms (such as the improved YOLO algorithm). This underwater target detection algorithm performs well for targets with clear contours and fixed size features. However, when dealing with underwater targets such as thin, long cables, it may fail to acquire depth information due to hardware limitations of the camera sensor, leading to ambiguity in the relative pose calculation.
[0026] Correspondingly, during the operation of an underwater robot, if the distance between the underwater robot and the seabed cable is extremely small, changes in image features may become more sensitive. This could cause the underwater robot's control strategy to differ due to even minor errors in pose estimation, thus affecting the robot's normal operation. Furthermore, if the underwater robot encounters disturbances in the water flow, it may be unable to locate the seabed cable in a timely manner due to temporary obstruction of the camera sensor or turbidity, thereby affecting the underwater robot's operations.
[0027] Therefore, to achieve precise positioning of submarine cables and ensure the stability of underwater robot operations, this application provides an underwater robot control method for cable centering, applicable to underwater robot operations such as cable cutting, inspection, laying, and maintenance. In this method, a camera sensor is used to acquire target image frames, and the pixel coordinates of multiple cable feature points within these frames are determined. These multiple cable feature points are determined based on an initial image frame, which, along with the target image frame, includes the target cable. Then, based on the pixel coordinates of the multiple cable feature points in the target image frame and the underwater robot's operational data, the relative pose and relative distance between the underwater robot and the target cable are calculated. Next, combining the relative pose and relative distance, the rotational speeds of multiple thrusters are adjusted, and the underwater robot's operation is controlled according to these adjusted thruster speeds. The adjusted thruster speeds are used to position the target cable within a preset central region of the camera sensor's field of view.
[0028] In this embodiment, the pixel coordinates corresponding to multiple cable feature points are extracted from the target image frames acquired by the camera sensor. Combined with the underwater robot's operational data, the relative pose and relative distance to the target cable are accurately calculated. Then, based on this relative pose and distance, the rotation speed of multiple thrusters is dynamically adjusted to control the robot's operation, ensuring that the target cable remains centered within the camera sensor's field of view. This not only effectively utilizes the superior imaging quality and low distortion of the camera's center of view, significantly improving the accuracy of cable feature point recognition and relative pose calculation, but also reduces the probability of missed detections and misjudgments in complex underwater environments. Furthermore, the precise control of thruster rotation speed provides stable attitude and position compensation for the underwater robot, reserving sufficient visual adjustment margin. This reduces the occurrence of the target cable moving out of the field of view due to small displacement deviations of the underwater robot or the target cable, improving the accuracy of target cable positioning, enhancing the autonomy and stability of the underwater robot's operations, and ultimately increasing the underwater robot's operational efficiency.
[0029] The present application will be described in detail below with reference to the accompanying drawings and embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in the embodiments of the present application can be combined with each other.
[0030] like Figure 1 As shown, this application provides an underwater robot 100, including: a camera sensor 110, a lighting system 120, a combined navigation system 130, a multi-degree-of-freedom propulsion system 140, and an underwater robot control system 150. The camera sensor 110 can be an industrial-grade underwater high-definition camera with a target pixel count and is equipped with a wide-angle lens. In some embodiments of this application, the target pixel count can be 2 megapixels. In other embodiments, the target pixel count can be 3 megapixels, 5 megapixels, etc., and is not specifically limited. The wide-angle lens enables the camera sensor 110 to acquire image frames with a wider field of view. It should be noted that the camera sensor 110 is mounted on the main body of the underwater robot 100.
[0031] The aforementioned lighting system 120 is used to illuminate the camera sensor 110, that is, to provide the camera sensor 110 with a lighting environment that meets the imaging requirements. It may include at least two lighting devices. These lighting devices may be high-brightness light-emitting diodes (LEDs), which are symmetrically mounted near the camera sensor 110. Specifically, the lighting system 120 can adaptively adjust the light intensity of the at least two lighting devices by controlling pulse width modulation (PWM).
[0032] The aforementioned integrated navigation system 130 may include an Inertial Navigation System (INS) 131 and a Doppler Velocity Log (DVL) 132. The INS 131 employs a tactical-grade Inertial Measurement Unit (IMU), whose gyroscope bias stability is better than 0.5 degrees / hour (° / h). This gyroscope bias stability refers to the degree of random fluctuation in the output angular velocity of the gyroscope in a static state without angular motion input; it reflects the influence of the gyroscope's own noise and drift on the measurement results. It can be understood that the smaller the gyroscope bias stability value, the lower the gyroscope's own noise, and the more stable and accurate the measurement results.
[0033] The aforementioned Doppler velocimeter 132 can be used not only to measure the operating speed of the underwater robot 100, but also to measure the height of the underwater robot 100 above the seabed, that is, to measure the height of the underwater robot 100 above the bottom. The Doppler velocimeter 132 operates at a frequency of 300 kHz, has a speed measurement accuracy of 1 cm / s, a bottom measurement range of 0.5-50 m, and a height measurement accuracy of ±0.01 m.
[0034] The aforementioned multi-degree-of-freedom propulsion system 140 may include multiple thrusters, and the directions of each thruster are independent of each other. These thrusters can be categorized as horizontal thrusters, vertical thrusters, and stern thrusters. In some embodiments of this application, the multiple thrusters may include four horizontal thrusters, four vertical thrusters, and two stern thrusters. In other embodiments, the number of thrusters may also be other values, and is not specifically limited. It should be noted that the multi-degree-of-freedom propulsion system 140 is driven by a brushless DC motor, and the maximum thrust of a single thruster is ≥30 Newtons (N), enabling precise motion control of the underwater robot 100 across six degrees of freedom.
[0035] The underwater robot control system 150 described above may include a cable identification module 151, an information calculation module 152, and a speed adjustment module 153. The cable identification module 151 receives target image frames acquired by the camera sensor 110 and determines the pixel coordinates of multiple cable feature points in the target image frame. These multiple cable feature points are determined based on an initial image frame, and both the initial image frame and the target image frame include the target cable. The information calculation module 152 calculates the relative pose and relative distance between the underwater robot and the target cable based on the pixel coordinates of the multiple cable feature points in the target image frame and the underwater robot 100's operating data. The underwater robot 100's operating data may include pitch angle, yaw angle, and operating speed. The speed adjustment module 153 adjusts the speed of multiple thrusters based on the relative pose and relative distance. The adjusted speed of the multiple thrusters controls the operation of the underwater robot 100, thereby positioning the target cable within a preset middle region of the camera sensor's field of view.
[0036] In some embodiments, such as Figure 1 As shown, the underwater robot 100 can trigger the camera sensor 110 to acquire a target image frame. Then, the camera sensor 110 can execute step a, sending the target image frame to the cable identification module 151. After receiving the target image frame sent by the camera sensor 110, the cable identification module 151 can determine the pixel coordinates of multiple cable feature points in the target image frame. Then, the cable identification module 151 can execute step b, sending the pixel coordinates of the multiple cable feature points in the target image frame to the information calculation module 152.
[0037] Simultaneously, the underwater robot can trigger the inertial navigation system 131 to collect the pitch and yaw angles of the underwater robot 100, and trigger the Doppler velocimeter 132 to collect the running speed of the underwater robot 100. Then, the inertial navigation system 131 can execute step c, sending the pitch and yaw angles of the underwater robot 100 to the information calculation module 152. Furthermore, the Doppler velocimeter 132 can execute step d, sending the running speed of the underwater robot 100 to the information calculation module 152. After receiving the pixel coordinates of the multiple cable feature points in the target image frame, the pitch and yaw angles of the underwater robot 100, and the running speed, the information calculation module 152 calculates the relative pose and relative distance between the underwater robot and the target cable. Then, the information calculation module 152 can execute step e, sending the relative pose and relative distance to the speed adjustment module 153.
[0038] Upon receiving the relative pose and relative distance from the information calculation module 152, the speed adjustment module 153 adjusts the speeds of multiple thrusters based on the relative pose and relative distance. Then, the speed adjustment module 153 can execute step f, sending the adjusted speeds of the multiple thrusters to the multi-degree-of-freedom propulsion system 140. Subsequently, the multi-degree-of-freedom propulsion system 140 controls the underwater robot 100 to operate according to the adjusted speeds of the multiple thrusters, so that the target cable is located in a preset middle region of the camera sensor's field of view.
[0039] Furthermore, this embodiment provides a control method for underwater robots oriented towards cable centering, such as... Figure 2 As shown, the method includes:
[0040] S201 uses a camera sensor to acquire target image frames and determines the pixel coordinates of multiple cable feature points in the target image frames.
[0041] Specifically, the camera sensor can acquire target image frames in real time. Then, the camera sensor can send the acquired target image frames to the cable recognition module, so that the cable recognition module can determine the pixel coordinates of multiple cable feature points in the target image frame.
[0042] In some cases, such as Figure 3 As shown, the process of determining the pixel coordinates of the aforementioned multiple cable feature points can specifically include:
[0043] S2011, Preprocess the target image frame.
[0044] The preprocessing described above may include contrast enhancement and / or denoising. Contrast enhancement is used to adjust the brightness and / or grayscale differences in different regions of the target image frame, thereby improving the visual recognition and readability of the target image frame. Denoising is used not only to suppress noise in the target image frame, but also to preserve the edge details of the target cables within the target image frame.
[0045] Specifically, in the case of preprocessing including contrast enhancement and denoising, the cable recognition module can enhance the contrast of the target image frame using an image enhancement algorithm. This image enhancement algorithm can be Contrast Limited Adaptive Histogram Equalization (CLAHE). Afterwards, the cable recognition module can denoise the enhanced target image frame using an image filtering algorithm. This image filtering algorithm can be a guided filter, which is an edge-preserving smoothing filter based on a local linear model. It can accurately preserve edge details while smoothing image noise, and the filtering effect can be flexibly controlled through the guide graph.
[0046] S2012, based on the edge detection algorithm, all pixels belonging to the target cable in the preprocessed target image frame are combined into a cable pixel set.
[0047] Specifically, in response to the completion of target image frame preprocessing, the cable recognition module can, according to an edge detection algorithm, assemble all pixels belonging to the target cable in the preprocessed target image frame into a cable pixel set. The edge detection algorithm can be the Canny operator. The Canny operator can include the Sobel operator, which is used to calculate gradient values. These gradient values reflect the edge strength of the target cable, thereby determining the position and direction of the cable edge.
[0048] S2013, Based on the straight line fitting algorithm, determine the set of axis pixels of the target cable from the set of cable pixels.
[0049] The straight-line fitting algorithm can be implemented based on the Random Sample Consensus (RANSAC) algorithm, which provides anti-interference capabilities for the straight-line fitting algorithm. It can be understood that all pixels in the axis pixel set can be connected to form a straight-line model that matches the shape of the target cable.
[0050] S2014: For each cable feature point, the pixel coordinates corresponding to the cable feature point are determined from the set of axis pixel points according to the feature point tracking algorithm.
[0051] Specifically, after obtaining the set of pixels representing the axis of the target cable, the coordinates of the pixels corresponding to each cable feature point can be determined from the set of axis pixels using a feature point tracking algorithm. The feature point tracking algorithm can be the pyramid LK optical flow method, which is an optimized version of the KLT feature tracking algorithm. This enables dynamic tracking of the cable feature points, providing the necessary conditions for accurately determining the relative pose and relative distance between the underwater robot and the target cable.
[0052] It should be noted that the aforementioned cable feature points were determined based on the initial image frame. The initial image frame is the first image frame captured by the camera sensor that includes the target cable; that is, both the initial image frame and the target image frame include the target cable.
[0053] In one implementation, the process of determining the aforementioned plurality of cable feature points may specifically include: preprocessing the initial image frame, and, based on an edge detection algorithm, forming a cable pixel set from all pixels belonging to the target cable in the preprocessed initial image frame. Then, based on a straight-line fitting algorithm, determining the axis pixel set of the target cable from the cable pixel set. Next, using the KLT feature tracking algorithm, selecting a preset number of cable feature points from the axis pixel set. The distance between adjacent cable feature points is the same. The preset number can be pre-set according to actual conditions. In some embodiments of this application, the preset number can be 32. In other embodiments, the preset number can also be 16, 48, etc., and is not specifically limited.
[0054] S202, calculate the relative pose and relative distance between the underwater robot and the target cable based on the pixel coordinates of multiple cable feature points in the target image frame and the underwater robot's operating data.
[0055] The aforementioned relative pose may include relative position and relative attitude.
[0056] Specifically, after obtaining the pixel coordinates of the aforementioned cable feature points in the target image frame, the underwater robot's operational data can be acquired. This operational data includes pitch and yaw angles acquired by the inertial navigation system, and the operating speed acquired by the Doppler velocimeter. The difference between this pitch angle and the pitch angle of historical image frames is then used as the underwater robot's pitch angle variation within the target time period. Historical image frames are adjacent image frames preceding the target image frame, and the target time period is the time interval from the acquisition time of the historical image frames to the acquisition time of the target image frame. Furthermore, based on this operating speed, the underwater robot's horizontal displacement within the target time period is determined.
[0057] Subsequently, the information calculation module can determine the projection length change rate based on the projected length of the target cable in historical image frames and the projected length of the target cable in the target image frame. Specifically, the information calculation module can use the ratio between the projected length of the target cable in historical image frames and the projected length of the target cable in the target image frame as the projection length change rate. Then, based on the projection length change rate, the horizontal displacement of the underwater robot and the pitch angle change during the target time period, the relative distance between the underwater robot and the target cable can be calculated. In this way, accurate calculation of the relative distance can be achieved without relying on the prior dimensions of the target cable.
[0058] In one implementation, the relative distance between the underwater robot and the target cable is calculated using the following expression:
[0059] ;
[0060] in, The rate of change of the projected length. This represents the horizontal displacement of the underwater robot within the target time period. This refers to the pitch angle change of the underwater robot within the target time period. This represents the relative distance between the underwater robot and the target cable.
[0061] Next, the information calculation module can calculate the body coordinates of multiple cable feature points in the body coordinate system based on the pixel coordinates and relative distances of these points in the target image frame. Then, based on the tilt angle of the target cable relative to the bow and stern direction and the yaw angle of the underwater robot, the information calculation module can calculate the relative deflection angle between the underwater robot and the target cable. Finally, based on the body coordinates of the multiple cable feature points in the body coordinate system and the relative deflection angle, the information calculation module can obtain the relative pose between the underwater robot and the target cable.
[0062] Specifically, the information calculation module can obtain the relative pose between the underwater robot and the target cable by using a nonlinear state estimation algorithm, combined with the body coordinates and relative deflection angles of multiple cable feature points in the body coordinate system. The nonlinear state estimation algorithm can be an extended Kalman filter (EKF), whose output state estimation vector can include the relative position. Relative posture The first derivative of the relative position and the first derivative of the relative attitude. This is understandable. The roll angle is the angle of rotation of an underwater robot around the x-axis, used to characterize the degree to which the underwater robot tilts left or right. The pitch angle refers to the angle around the y-axis of the underwater robot, and is used to characterize the degree to which the underwater robot pitches up and down. Yaw angle, or heading angle, refers to the rotation angle of an underwater robot around the z-axis, and is used to characterize the angle between the underwater robot's running direction and the cable direction.
[0063] Accordingly, the extended Kalman filter mentioned above may include a process noise covariance matrix Q and an observation noise covariance R. The process noise covariance matrix Q is obtained by offline calibration based on the sensor accuracy parameters, and the observation noise covariance R is obtained by dynamic adjustment based on the real-time quality of the observation data. The update frequency of the observation noise covariance R needs to be synchronized with the visual processing frame rate to reduce the occurrence of increased computational load due to excessive adjustment frequency.
[0064] S203 combines relative pose and relative distance to adjust the rotational speed of multiple thrusters, and controls the underwater robot's operation according to the adjusted rotational speed of the multiple thrusters.
[0065] Specifically, after obtaining the relative pose and distance between the underwater robot and the target cable, the rotational speeds of multiple thrusters can be adjusted based on these parameters. The adjusted thruster speeds are used to position the target cable within a preset central region of the camera sensor's field of view. This precise control of the thruster speeds provides stable attitude and position compensation for the underwater robot, allowing for ample visual adjustment margins. It reduces the likelihood of the target cable moving out of the field of view due to minor displacement deviations of the underwater robot or the target cable, improving the accuracy of target cable positioning, enhancing the autonomy and stability of the underwater robot, and ultimately increasing its operational efficiency.
[0066] In one implementation, such as Figure 4 As shown, in the case where the aforementioned multiple thrusters include horizontal thrusters and stern thrusters, that is, multiple thrusters including 4 horizontal thrusters and 2 stern thrusters, the thruster speed adjustment process can specifically include S401~S404:
[0067] S401 calculates the underwater robot's direction error, lateral error, and heading error based on the relative pose and relative distance.
[0068] The lateral error is the error corresponding to the direction perpendicular to the underwater robot's running direction and located on the same horizontal plane.
[0069] Specifically, the speed regulation module can decompose the relative position and relative distance to obtain the running direction error, lateral error, and heading error.
[0070] S402, based on the running direction error, lateral error and heading error, determine the expected thrust in the running direction, the expected thrust in the lateral direction and the expected torque in the heading direction of the underwater robot.
[0071] Specifically, after obtaining the aforementioned directional error, lateral error, and heading error, the speed adjustment module can determine the underwater robot's desired directional thrust, lateral thrust, and heading torque based on these errors.
[0072] In some cases, the underwater robot's operating speed is collected using a Doppler velocimeter. Then, based on the underwater robot's operating speed and the rotational speeds of multiple thrusters, the target ocean current resistance is calculated. Next, based on this target ocean current resistance, the thrust compensation for each thruster is determined. Finally, based on the thrust compensation, directional error, lateral error, and heading error of these thrusters, the desired directional thrust, lateral thrust, and heading torque are determined.
[0073] Specifically, the speed regulation module can use a proportional-integral-derivative (PID) controller, combined with thrust compensation from multiple thrusters, directional error, lateral error, and heading error, to determine the desired thrust in the directional direction, the desired thrust in the lateral direction, and the desired torque in the heading direction. The PID controller can include a first PID controller (PID_x controller) for the directional direction, a second PID controller (PID_y controller) for the lateral direction, and a third PID controller (PID_Mz controller) for the heading direction. It should be noted that the directional direction is the x-axis direction, the lateral direction is the y-axis direction, and the heading direction is the direction around the z-axis, i.e., the yaw direction.
[0074] Furthermore, the thrust compensation amounts and directional errors of the aforementioned multiple thrusters are input into the first PID controller to obtain the desired directional thrust. The thrust compensation amounts and lateral errors of the multiple thrusters are input into the second PID controller to obtain the desired lateral thrust. The thrust compensation amounts and heading errors of the multiple thrusters are input into the third PID controller to obtain the desired heading torque.
[0075] In one implementation, the above PID controller can be characterized by the following expression:
[0076] ;
[0077] in, The desired vector includes the desired thrust in the direction of travel, the desired thrust in the lateral direction, and the desired torque in the bow direction. Error vector The transpose of , For the error in the direction of operation, For lateral error, This refers to heading error; This is the set of vectors corresponding to the thrust compensation amounts of multiple thrusters.
[0078] S403, based on the expected thrust in the direction of travel, the expected thrust in the lateral direction, and the expected torque in the bow direction, determine the target thrust of the horizontal thruster and the target thrust of the stern thruster.
[0079] Specifically, after obtaining the desired thrust in the direction of travel, the desired thrust in the lateral direction, and the desired torque in the bow direction, the speed regulation module can determine the target thrust of the horizontal thruster and the target thrust of the stern thruster based on the desired thrust in the direction of travel, the desired thrust in the lateral direction, and the desired torque in the bow direction.
[0080] In some embodiments, the speed regulation module can map the current thrust of multiple thrusters to a geodetic coordinate system to obtain a target mapping matrix. The target mapping matrix may include the projection vectors of the thrust vectors of each thruster in the direction of travel and laterally, as well as the bow torque of each thruster.
[0081] In one implementation, the thrust mapping process can be characterized by the following expression:
[0082] ;
[0083] in, Current thrust vector The transpose vector of the current thrust vector It can include the current thrust of multiple thrusters (i.e., 4 horizontal thrusters and 2 stern thrusters); This is the projection vector of the thrust vector of the first thruster onto the direction of travel (i.e., the x-axis); This is the projection vector of the thrust vector of the first thruster onto the transverse direction (i.e., the y-axis). This represents the bow torque (i.e., the torque about the z-axis) of the first thruster. It can be seen that the target mapping matrix is a 6×3 matrix.
[0084] Subsequently, the speed regulation module can determine the target thrust of the horizontal thruster and the target thrust of the stern thruster based on the pseudo-inverse matrix of the target mapping matrix, the expected thrust in the running direction, the expected thrust in the lateral direction, and the expected torque in the bow direction.
[0085] In one implementation, the target thrust can be obtained by the following expression:
[0086] ;
[0087] in, The thrust vector includes the target thrust of the horizontal thruster and the target thrust of the stern thruster; For the target mapping matrix The pseudo-inverse matrix; For the target mapping matrix The transpose of the matrix. This can be understood as the pseudo-inverse matrix. It is obtained by solving based on the pseudo-inverse method.
[0088] S404 adjusts the rotational speed of the horizontal thruster according to the target thrust of the horizontal thruster, and adjusts the rotational speed of the stern thruster according to the target thrust of the stern thruster.
[0089] Specifically, after obtaining the target thrust of each of the aforementioned thrusters, the speed adjustment module can adjust the corresponding speed according to the target thrust to ensure that the target cable is always located in the preset middle area of the camera sensor's field of view. This reduces the occurrence of the target cable moving out of the field of view due to small displacement deviations of the underwater robot or the target cable, improving the accuracy of target cable positioning, enhancing the autonomy and stability of the underwater robot's operation, and ultimately increasing the underwater robot's operational efficiency.
[0090] In some cases, the speed regulation module can determine the speed corresponding to the target thrust by combining the mapping relationship between thrust and speed, thereby achieving thruster speed regulation. The mapping relationship between thrust and speed can be characterized by a thrust-speed curve.
[0091] The above describes the speed adjustment process of the horizontal thruster and stern thruster in a multi-degree-of-freedom propulsion system. The following describes the speed adjustment process of the vertical thruster in the same system, which specifically includes: determining the underwater robot's height above the bottom using a Doppler velocity meter. This height refers to the distance between the underwater robot and the bottom. The difference between this height and the target height is then used as the vertical error. The target height can be preset according to actual conditions. In some embodiments of this application, the target height is 3 meters (m). In other embodiments, the target height can be 2 meters, 5 meters, etc., without limitation. Next, based on the vertical error, the target thrust of the vertical thruster is determined, and the speed of the vertical thruster is adjusted accordingly. This allows for precise closed-loop control of the underwater robot's vertical position, effectively improving operational stability and environmental adaptability.
[0092] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., high-density digital video discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).
[0093] In the several embodiments provided in this application, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0094] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0095] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0096] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0097] The above content is only a specific implementation of this application, but the protection scope of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be covered within the protection scope of this application.
Claims
1. A control method for an underwater robot oriented towards cable centering, characterized in that, Applied to an underwater robot, the underwater robot including a camera sensor and multiple thrusters, the method includes: The camera sensor is used to acquire a target image frame, and the pixel coordinates of multiple cable feature points in the target image frame are determined; wherein, the multiple cable feature points are determined based on an initial image frame, and the initial image frame and the target image frame include the target cable; Based on the pixel coordinates of the multiple cable feature points in the target image frame and the operation data of the underwater robot, the relative pose and relative distance between the underwater robot and the target cable are calculated. By combining the relative pose and the relative distance, the rotational speed of the plurality of thrusters is adjusted, and the underwater robot is controlled to operate according to the adjusted rotational speed of the plurality of thrusters; wherein, the adjusted rotational speed of the plurality of thrusters is used to position the target cable in a preset middle area of the field of view of the camera sensor; The calculation of the relative pose and relative distance between the underwater robot and the target cable includes: The projection length change rate is determined based on the projection length of the target cable in the historical image frame and the projection length of the target cable in the target image frame; wherein, the historical image frame is the adjacent image frame located before the target image frame; The relative distance between the underwater robot and the target cable is calculated based on the rate of change of the projected length, the horizontal displacement of the underwater robot during the target time period, and the change of the pitch angle; wherein, the target time period is the time interval from the acquisition time of the historical image frame to the acquisition time of the target image frame; Based on the pixel coordinates of the multiple cable feature points in the target image frame and the relative distance, calculate the body coordinates of the multiple cable feature points in the body coordinate system; The relative deflection angle between the underwater robot and the target cable is calculated based on the tilt angle of the target cable relative to the bow and stern direction and the yaw angle of the underwater robot. The relative pose between the underwater robot and the target cable is obtained based on the body coordinates of the multiple cable feature points in the body coordinate system and the relative deflection angle.
2. The method according to claim 1, characterized in that, The plurality of thrusters includes horizontal thrusters and stern thrusters. Adjusting the rotational speed of the plurality of thrusters in conjunction with the relative pose and the relative distance includes: Based on the relative pose and the relative distance, the underwater robot's running direction error, lateral error, and heading error are calculated; wherein, the lateral error is the error corresponding to the direction perpendicular to the underwater robot's running direction and located on the same horizontal plane; Based on the running direction error, the lateral error, and the heading error, the desired thrust in the running direction, the desired thrust in the lateral direction, and the desired torque in the heading direction of the underwater robot are determined. The target thrust of the horizontal thruster and the target thrust of the stern thruster are determined based on the expected thrust in the direction of operation, the expected thrust in the lateral direction, and the expected torque in the bow direction. The rotational speed of the horizontal thruster is adjusted according to the target thrust of the horizontal thruster, and the rotational speed of the stern thruster is adjusted according to the target thrust of the stern thruster.
3. The method according to claim 2, characterized in that, The step of determining the desired thrust in the direction of travel, the desired thrust in the lateral direction, and the desired torque in the bow direction of the underwater robot based on the travel direction error, the lateral error, and the bow direction error includes: The target ocean current resistance is calculated based on the underwater robot's operating speed and the rotational speed of the multiple thrusters; The thrust compensation amount of the plurality of thrusters is determined based on the target ocean current resistance; Based on the thrust compensation of the plurality of thrusters, the running direction error, the lateral error, and the heading error, the desired running direction thrust, the desired lateral thrust, and the desired heading torque are determined.
4. The method according to claim 3, characterized in that, Determining the target thrust of the horizontal thruster and the target thrust of the stern thruster based on the expected thrust in the direction of travel, the expected thrust in the lateral direction, and the expected moment in the bow direction includes: The current thrust of the multiple thrusters is mapped to the geodetic coordinate system to obtain the target mapping matrix; The target thrust of the horizontal thruster and the target thrust of the stern thruster are determined based on the pseudo-inverse matrix of the target mapping matrix, the expected thrust in the running direction, the expected thrust in the lateral direction, and the expected torque in the bow direction.
5. The method according to any one of claims 1-4, characterized in that, Determining the pixel coordinates of multiple cable feature points in the target image frame includes: The target image frame is preprocessed, and according to the edge detection algorithm, all pixels belonging to the target cable in the preprocessed target image frame are combined into a cable pixel set. According to the straight line fitting algorithm, the set of axis pixels of the target cable is determined from the set of cable pixels; For each of the cable feature points, the pixel coordinates corresponding to the cable feature point are determined from the set of axis pixel points according to the feature point tracking algorithm.
6. The method according to claim 5, characterized in that, The preprocessing of the target image frame includes: The contrast of the target image frame is enhanced according to the image enhancement algorithm. According to the image filtering algorithm, the enhanced target image frame is subjected to denoising processing; wherein, the denoising processing is used to preserve the edge details of the target cable within the target image frame.
7. The method according to claim 1, characterized in that, If the underwater robot also includes a Doppler velocities and the plurality of thrusters also include vertical thrusters, the method further includes: The height of the underwater robot above the bottom is determined using the Doppler velocity meter. The difference between the height from the bottom and the target height is taken as the vertical error; Based on the vertical error, the target thrust of the vertical thruster is determined, and the rotational speed of the vertical thruster is adjusted according to the target thrust of the vertical thruster.
8. An underwater robot control system, characterized in that, Applied to underwater robots, the underwater robot includes a camera sensor and multiple thrusters, and the underwater robot control system includes a cable identification module, an information calculation module, and a speed adjustment module; The cable identification module is used to receive the target image frame acquired by the camera sensor and determine the pixel coordinates of multiple cable feature points in the target image frame; wherein, the multiple cable feature points are determined based on an initial image frame, and the initial image frame and the target image frame include the target cable; The information calculation module is used to calculate the relative pose and relative distance between the underwater robot and the target cable based on the pixel coordinates of the multiple cable feature points in the target image frame and the operation data of the underwater robot. The rotation speed adjustment module is used to adjust the rotation speed of the plurality of thrusters by combining the relative pose and the relative distance; wherein, the adjusted rotation speed of the plurality of thrusters is used to control the operation of the underwater robot, so that the target cable is located in the preset middle area of the field of view of the camera sensor; The calculation of the relative pose and relative distance between the underwater robot and the target cable includes: The projection length change rate is determined based on the projection length of the target cable in the historical image frame and the projection length of the target cable in the target image frame; wherein, the historical image frame is the adjacent image frame located before the target image frame; The relative distance between the underwater robot and the target cable is calculated based on the rate of change of the projected length, the horizontal displacement of the underwater robot during the target time period, and the change of the pitch angle; wherein, the target time period is the time interval from the acquisition time of the historical image frame to the acquisition time of the target image frame; Based on the pixel coordinates of the multiple cable feature points in the target image frame and the relative distance, calculate the body coordinates of the multiple cable feature points in the body coordinate system; The relative deflection angle between the underwater robot and the target cable is calculated based on the tilt angle of the target cable relative to the bow and stern direction and the yaw angle of the underwater robot. The relative pose between the underwater robot and the target cable is obtained based on the body coordinates of the multiple cable feature points in the body coordinate system and the relative deflection angle.
9. An underwater robot, characterized in that, The underwater robot includes a camera sensor, multiple thrusters, and the underwater robot control system as described in claim 8.