Underwater robot control method and device
By configuring an inertial odometer and flow rate sensor on the underwater robot and combining PID control and neural network models, the problem of inaccurate position determination of the inertial navigation system during hydropower station dam maintenance conditions was solved, and precise navigation and stable navigation of the underwater robot were achieved.
Patent Information
- Application Number
- CN202510881819.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2025-10-14
AI Technical Summary
In the prior art, the inertial navigation system cannot accurately control the movement of the underwater robot during the maintenance of the hydropower station dam due to sensor noise and error accumulation, resulting in inaccurate position determination.
By configuring an inertial odometer and a flow rate sensor, combining the acceleration and angular velocity data of the inertial odometer with the water flow rate data, compensating for water flow interference, and using PID control algorithms and neural network models, the target position can be accurately determined and the influence of water flow can be offset to achieve stable navigation.
The positioning accuracy and navigation stability of underwater robots during hydropower station dam maintenance work are improved, and deviations and mission failures caused by water flow interference are reduced.
Smart Images

Figure CN120779998A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of underwater robots, in particular to a control method and device of an underwater robot. BACKGROUND
[0002] As the core facility of water conservancy projects, the structure safety of a hydropower station dam is directly related to the stability of downstream flood control, power generation and ecological environment. In order to ensure the long-term safe operation of the dam, it is necessary to carry out regular fine detection and maintenance, including dam crack monitoring, seepage analysis, structure deformation evaluation and other tasks. In such operations, high-precision speed measurement technology is the key to ensuring the accurate positioning and trajectory tracking of detection equipment such as underwater robots.
[0003] In related technologies, when controlling the underwater robot to move in the hydropower station dam maintenance working condition, the position of the underwater robot when moving in the hydropower station dam maintenance working condition is often determined by an inertial navigation system (INS) and a Doppler velocity log (DVL).
[0004] However, the inertial navigation system calculates the speed by integrating the acceleration, but the sensor noise, zero bias error and scale factor error will accumulate over time, resulting in a gradual increase in speed error, which in turn leads to an inability to accurately determine the position of the underwater robot when moving in the hydropower station dam maintenance working condition.
[0005] Therefore, how to accurately determine the position of the underwater robot when moving in the hydropower station dam maintenance working condition has become a technical problem to be solved. SUMMARY
[0006] Therefore, the present application provides a control method and device of an underwater robot.
[0007] In a first aspect, the present application provides a control method of an underwater robot, the underwater robot being configured with an inertial odometry, the method comprising: obtaining a moving path of the underwater robot, first data of the inertial odometry and second data of water; wherein the first data comprises acceleration data and angular velocity data, and the second data comprises a flow rate of the water; determining a target position of the underwater robot according to the first data; and controlling the underwater robot to move based on the target position, the moving path corresponding to the target position and the flow rate of the water.
[0008] The control method of the underwater robot provided in the embodiment considers that the water flow can have a significant influence on the movement of the underwater robot, and by introducing the flow rate data, the interference of the water flow on the movement of the underwater robot can be compensated, and by combining the acceleration data and the angular velocity data of the inertial odometer and the flow rate data of the water, the inertial navigation system can be avoided to calculate the speed by integrating the acceleration, but the sensor noise, the zero offset error and the scale factor error will be accumulated over time, resulting in the gradual increase of the speed error, and further resulting in the inability to accurately determine the position of the underwater robot when moving under the dam maintenance working condition of the hydropower station, so that the position of the underwater robot when moving under the dam maintenance working condition of the hydropower station can be accurately determined, and further the underwater robot can be controlled to move back to the moving path.
[0009] In one possible implementation, based on the target position, the moving path corresponding to the target position and the flow rate of the water, the underwater robot is controlled to move, including: determining the direction in which the underwater robot needs to move according to the target position and the moving path corresponding to the target position; and controlling the underwater robot to move based on the flow rate of the water and the direction in which the underwater robot needs to move.
[0010] The control method of the underwater robot provided in the embodiment determines the moving direction according to the target position and the planned moving path, can provide clear and explicit navigation guidance for the underwater robot, so that the underwater robot can accurately go to the target position along the intended direction, reduces the problems of deviating from the target and detouring due to unclear direction, and improves the accuracy and efficiency of reaching the target position.
[0011] In one possible implementation, based on the flow rate of the water and the direction in which the underwater robot needs to move, the underwater robot is controlled to move, including: determining the longitudinal disturbance flow thrust and the transverse disturbance flow thrust for controlling the underwater robot to move based on the flow rate of the water; and controlling the underwater robot to move longitudinally according to the longitudinal disturbance flow thrust, and controlling the underwater robot to move transversely according to the transverse disturbance flow thrust.
[0012] The control method of the underwater robot provided in the embodiment, the water flow will generate a longitudinal (such as forward or backward direction) and transverse (such as left and right direction) force on the underwater robot, causing the underwater robot to deviate from the predetermined route. By determining the longitudinal and transverse disturbance flow thrust according to the flow rate of the water, the underwater robot can accurately generate a thrust equal in size and opposite in direction to the water flow force, effectively offsetting the interference of the water flow, ensuring that the underwater robot can stably navigate according to the predetermined path and attitude, and improving the accuracy and reliability of navigation.
[0013] In a possible implementation, the determining the longitudinal disturbance thrust and the lateral disturbance thrust based on the flow velocity of the water comprises: determining a first flow velocity of a first side of the underwater robot and a second flow velocity of a second side of the underwater robot based on the flow velocity of the water; determining a first flow velocity difference according to a difference between the first flow velocity and the second flow velocity; obtaining a lateral equivalent flow area, and determining the lateral disturbance thrust according to the first flow velocity difference and the lateral equivalent flow area; determining a third flow velocity of a top surface of the underwater robot and a fourth flow velocity of a bottom surface of the underwater robot based on the flow velocity of the water; determining a second flow velocity difference according to a difference between the third flow velocity and the fourth flow velocity; obtaining a longitudinal equivalent flow area, and determining the longitudinal disturbance thrust according to the second flow velocity difference and the longitudinal equivalent flow area.
[0014] The control method of the underwater robot provided in the embodiment can accurately calculate the lateral disturbance thrust by measuring the flow velocities of the first side and the second side of the underwater robot (the first flow velocity and the second flow velocity), calculating the difference (the first flow velocity difference) between the first flow velocity and the second flow velocity, and combining the lateral equivalent flow area. This is because the pressure difference of the water flow on the two sides of the underwater robot is the main reason for generating the lateral moving force, and the flow velocity difference and the flow area directly determine the size of the pressure difference. The longitudinal disturbance thrust can be accurately determined by measuring the flow velocities of the top surface and the bottom surface of the underwater robot (the third flow velocity and the fourth flow velocity), calculating the difference (the second flow velocity difference) between the third flow velocity and the fourth flow velocity, and combining the longitudinal equivalent flow area. The flow velocity difference between the top surface and the bottom surface causes the underwater robot to be subjected to a longitudinal pressure difference, thereby generating a longitudinal moving force. That is, the underwater robot has stronger resistance to the disturbance of the water flow because the flow velocity difference of different sides and the equivalent flow area are considered. Even in the case of a large flow velocity gradient or turbulence, the underwater robot can maintain its stability and heading through accurate thrust control, reducing task interruption or failure caused by water flow disturbance.
[0015] In a possible implementation, the underwater robot is provided with an ultra-short baseline positioning system and a Doppler log; the process of obtaining the first data of the inertial odometer comprises: detecting whether the ultra-short baseline positioning system and the Doppler log are invalid; and when both the ultra-short baseline positioning system and the Doppler log are invalid, obtaining the first data of the inertial odometer.
[0016] The control method of the underwater robot provided in the embodiment improves the reliability of the entire positioning and speed measurement system by detecting whether the first two are invalid and enabling the inertial odometer data when they are invalid.
[0017] In a possible implementation, the underwater robot is controlled to move based on the target position, the moving path corresponding to the target position, and the flow rate of the water, including: controlling the underwater robot to move according to the target position, the moving path corresponding to the target position, and the flow rate of the water by using the neural network model.
[0018] The control method of the underwater robot provided in this embodiment can learn the complex nonlinear relationship between the target position, the moving path, and the flow rate of the water. Through learning of a large amount of historical data, it can accurately predict the power and attitude adjustment required for the underwater robot to reach the target position and move along the moving path under different flow rate conditions, effectively reduce the position deviation, and improve the positioning accuracy.
[0019] In a possible implementation, the side surface of the underwater robot is configured with a first sensor, and the top surface of the underwater robot is configured with a second sensor, and the process of obtaining the flow rate of the water includes: obtaining the lateral flow rate of the water according to the first sensor; obtaining the longitudinal flow rate of the water according to the second sensor; and wherein the first sensor and the second sensor can be one of a one-dimensional flow rate sensor, a two-dimensional flow rate sensor, and a three-dimensional flow rate sensor.
[0020] The control method of the underwater robot provided in this embodiment can learn the complex nonlinear relationship between the target position, the moving path, and the flow rate of the water. Through learning of a large amount of historical data, it can accurately predict the power and attitude adjustment required for the underwater robot to reach the target position and move along the moving path under different flow rate conditions, effectively reduce the position deviation, and improve the positioning accuracy.
[0021] In a possible implementation, the side surface of the underwater robot is configured with a first sensor, and the top surface of the underwater robot is configured with a second sensor, and the process of obtaining the flow rate of the water includes: obtaining the lateral flow rate of the water according to the first sensor; obtaining the longitudinal flow rate of the water according to the second sensor; and wherein the first sensor and the second sensor can be one of a one-dimensional flow rate sensor, a two-dimensional flow rate sensor, and a three-dimensional flow rate sensor.
[0022] In a possible implementation, the side surface of the underwater robot is configured with a first sensor, and the top surface of the underwater robot is configured with a second sensor, and the process of obtaining the flow rate of the water includes: obtaining the lateral flow rate of the water according to the first sensor; obtaining the longitudinal flow rate of the water according to the second sensor; and wherein the first sensor and the second sensor can be one of a one-dimensional flow rate sensor, a two-dimensional flow rate sensor, and a three-dimensional flow rate sensor.
[0023] In a fourth aspect, the present application provides a computer readable storage medium, having stored thereon computer instructions for causing a computer to execute the control method of the underwater robot according to the first aspect or any of the possible implementation forms thereof.
[0024] In a fifth aspect, the present application provides a computer program product comprising computer instructions for causing a computer to execute the control method of the underwater robot according to the first aspect or any of the possible implementation forms thereof. BRIEF DESCRIPTION OF DRAWINGS
[0025] In order to more clearly illustrate the specific embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the specific embodiments or prior art description will be briefly introduced as follows. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor on the basis of these drawings.
[0026] Figure 1 is a flowchart of the control method of the underwater robot according to an embodiment of the present application;
[0027] Figure 2 is a schematic diagram of the control method of the underwater robot according to an embodiment of the present application;
[0028] Figure 3 is a structural block diagram of the control device of the underwater robot according to an embodiment of the present application;
[0029] Figure 4 is a hardware structure schematic diagram of the computer device according to an embodiment of the present application. DETAILED DESCRIPTION
[0030] In order to make the purpose, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions in the embodiments of the present application will be described clearly and completely in combination with the drawings in the embodiments of the present application. Obviously, the described embodiments are some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.
[0031] According to an embodiment of the present application, a control method of an underwater robot is provided. It should be noted that the steps shown in the flowchart of the drawings can be executed in a computer system such as a group of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0032] The control method of the underwater robot can be used for a computer device such as a computer or a server, Figure 1 is a flowchart of the control method of the underwater robot according to an embodiment of the present application, as shown in Figure 1 , the flowchart comprises the following steps:
[0033] In step S101, the moving path of the underwater robot, the first data of the inertial odometry and the second data of the water are obtained; wherein the first data comprises acceleration data and angular velocity data, and the second data comprises the flow rate of the water, and the underwater robot is provided with an inertial odometry.
[0034] The underwater robot can indicate an automated device that can move underwater, has a vision and perception system, and performs various tasks. In the present embodiment, the underwater robot can be used for detecting the dam body of a hydropower station, etc.
[0035] The moving path can indicate a route that the underwater robot needs to follow from the starting position to the target position, which is planned in advance or generated in real time according to the task requirements. The user can send instructions to the underwater robot by tapping the keyboard, clicking the mouse, touching the screen, etc., wherein the instructions can instruct the underwater robot to move according to the moving path, and the computer device can control the underwater robot to move in response to the instructions.
[0036] The inertial odometry can indicate a device that measures the acceleration and angular velocity of an object using inertial sensors (such as an accelerometer and a gyroscope), and estimates the position, velocity and attitude of the object through integral operation. The first data can include acceleration data and angular velocity data. The acceleration data reflects the acceleration change of the underwater robot in each direction, and the angular velocity data represents the rotation speed around different axes. The second data can indicate relevant data about the water, which mainly refers to the flow rate of the water, which will affect the actual motion state of the underwater robot.
[0037] When the underwater robot moves according to the instructions, the first data of the inertial odometry and the second data of the water can be obtained.
[0038] As an example, the inertial odometry (usually containing an accelerometer and a gyroscope) is integrated into the underwater robot, connected to the main control system of the underwater robot through a sensor interface, and real-time acquisition of acceleration data and angular velocity data is realized.
[0039] As an example, a flow rate sensor (such as a Doppler flowmeter, an electromagnetic flowmeter, etc.) is installed on the underwater robot to directly measure the flow rate of the water and transmit the data to the main control system.
[0040] In step S102, the target position of the underwater robot is determined according to the first data.
[0041] The target position can indicate a position reached by the underwater robot calculated according to first data of an inertial odometer. The motion of the underwater robot can be regarded as rigid body motion in three-dimensional space, and the changes of its position, velocity and attitude can be described by acceleration and angular velocity. The acceleration data reflects the acceleration changes of the underwater robot in various directions, and the angular velocity data represents the rotation speed of the underwater robot around different axes. The velocity can be obtained by integrating the acceleration data, and the position can be obtained by further integrating the velocity; the attitude angle (such as the pitch angle, roll angle and yaw angle) can be obtained by integrating the angular velocity data, so as to determine the target position.
[0042] In step S103, the underwater robot is controlled to move based on the target position, the movement path corresponding to the target position, and the flow velocity of the water.
[0043] According to the target position determined in step S102, the movement path corresponding to the target position planned in advance, and the flow velocity of the water, a suitable control strategy is adopted to control the underwater robot to move as required.
[0044] As an example, the underwater robot is controlled to move as required by using a PID control algorithm. In this case, the control amount is adjusted according to the error (proportional term) between the target position and the actual position, the rate of change of the error (integral term), and the accumulation of the error (derivative term), so that the underwater robot gradually approaches the target position.
[0045] As an example, the lateral thrust and the longitudinal thrust of the water can be determined according to the flow velocity of the water, and the underwater robot is controlled to move according to the target position and the movement path corresponding to the target position based on the lateral thrust and the longitudinal thrust.
[0046] In one scenario, the underwater robot needs to perform a seabed pipeline inspection task. Before the task starts, the operator uses GIS software to plan a path from the starting point to the starting point of the pipeline according to the seabed topographic map and the pipeline position, and stores the path data in the control system of the underwater robot. The inertial odometer installed on the underwater robot collects acceleration data and angular velocity data at a frequency of 100 Hz, and transmits these data to the main control system of the underwater robot in real time through serial communication. A Doppler flowmeter is installed on the side of the underwater robot, which measures the flow velocity of the water at a frequency of 10 Hz, and transmits the data to the main control system through the CAN bus.
[0047] Suppose the target position is (10, 5, 0) m, the current actual position is (8, 4, 0) m, and the flow velocity of the water is (0.5, 0, 0) m / s. The proportional coefficient of the PID controller is 0.5, the integral coefficient is 0.1, and the differential coefficient is 0.05. According to the PID control algorithm, the control amount is calculated to adjust the thrust of the thruster, so that the underwater robot moves towards the target position.
[0048] In a possible implementation, (1) it is considered that the underwater robot (ROV) should not have unplanned motion in principle when the related instruction is not turned on; (2) it is considered that the ROV moves in still water according to the law when the related instruction is turned on to make the ROV move. That is, the push rod opening angle is highly correlated with the ROV movement speed displacement (ideally linear correlation), and correction is needed in complex water areas so that the operator has a similar control result in experience; (3) it is considered that the basic physical law that the mass and volume of the ROV are large and the position and speed will not change abruptly due to inertia. The embodiment adopts water environment sensing (flow speed and direction instrument) to sense the surrounding water environment, combines (1), (2) and (3), and corrects the target position of the ROV. For example: when the ROV is turned on, the ROV should be theoretically stationary, if the inertial odometer integrates the position and speed drift, and the water environment sensing (flow speed and direction instrument) measures that the surrounding water has no flow rate, the speed of the inertial odometer is cleared, so that the position of the ROV is unchanged.
[0049] The underwater robot control method provided in the embodiment considers that the water flow can have a significant impact on the movement of the underwater robot, and by introducing the flow rate data, the interference of the water flow on the movement of the underwater robot can be compensated, and by combining the acceleration data and angular velocity data of the inertial odometer and the flow rate data of the water, the inertial navigation system can be avoided to calculate the speed by integrating the acceleration, but the sensor noise, zero offset error and scale factor error will accumulate over time, resulting in gradual increase of the speed error, and further resulting in inability to accurately determine the position of the underwater robot when moving in the dam body maintenance working condition of the hydropower station, so that the position of the underwater robot when moving in the dam body maintenance working condition of the hydropower station can be accurately determined, and the underwater robot can be controlled to move back to the moving path.
[0050] In a possible implementation, the step S103 includes:
[0051] In step S1031, the direction in which the underwater robot needs to move is determined according to the target position and the moving path corresponding to the target position.
[0052] The direction in which the underwater robot needs to move can indicate the direction to which the underwater robot should be oriented at the current time based on the target position and the moving path, for guiding the propulsion and steering of the underwater robot. In specific implementation, the direction in which the underwater robot needs to move can be calculated according to the target position and the moving path corresponding to the target position.
[0053] In the embodiment, the position of the underwater robot on the moving path and the target position corresponding to the position on the moving path can be represented as vectors in a three-dimensional space, and the moving direction vector can be determined through vector operation.
[0054] Step S1032, based on the flow rate of water and the direction of movement required, control the underwater robot to move.
[0055] Considering the flow rate of water and the calculated direction of movement required, the underwater robot is controlled to move in the expected direction by controlling the actuators such as thrusters and rudders of the underwater robot.
[0056] As an example, according to the deviation between the direction of movement required and the actual direction of movement of the underwater robot, and the influence of the flow rate of water on the movement, the thrust of the thruster and the angle of the rudder are adjusted by the PID controller to make the underwater robot move towards the target direction.
[0057] As an example, a dynamic model of the underwater robot is established, the flow rate of water and the direction of movement required are considered, the motion state of the underwater robot in the future period of time is predicted, and the underwater robot is controlled to move towards the target direction by optimizing the control sequence.
[0058] The control method of the underwater robot provided in the embodiment determines the moving direction according to the target position and the planned moving path, can provide clear and explicit navigation guidance for the underwater robot, so that the underwater robot can accurately go to the target position along the intended direction, reduce the problems of deviating from the target and detouring due to unclear direction, and improve the accuracy and efficiency of reaching the target position.
[0059] In one possible implementation, the above step S1032 includes:
[0060] Step a1, based on the flow rate of water, determine the longitudinal and lateral disturbance thrusts for controlling the underwater robot to move.
[0061] The longitudinal disturbance thrust can be a thrust for controlling the underwater robot to overcome the influence of water flow and adjust the motion state in the forward or backward direction (longitudinal direction). The lateral disturbance thrust can be a thrust for controlling the underwater robot to overcome the influence of water flow and adjust the motion direction in the direction perpendicular to the forward direction (lateral direction).
[0062] According to the measured flow rate information of water, the influence of water flow on the longitudinal and lateral motion of the underwater robot is analyzed, and then the appropriate longitudinal and lateral disturbance thrusts are determined to offset the water flow disturbance and achieve the expected motion.
[0063] As an example, according to the principle of fluid mechanics, a mathematical model of the interaction between the underwater robot and the water flow is established, considering factors such as water flow velocity, underwater robot shape, thruster layout, etc., the force and torque generated by the water flow on the underwater robot are calculated, and then the required longitudinal and lateral disturbance thrusts are determined.
[0064] The specific implementation process can be: determining the shape parameters (such as length, width, height, surface roughness, etc.) and propeller layout (such as the position, number, thrust direction of the propeller) of the underwater robot. Measure the flow rate of water, including the flow rate and direction. According to the fluid mechanics equation (such as Navier-Stokes equation), a model of the interaction between the underwater robot and the water flow is established, considering the viscosity, inertia and other factors of the fluid. Through numerical simulation (such as finite element method, finite difference method, etc.), the longitudinal and lateral forces generated by the water flow on the underwater robot are obtained. According to the desired motion state (such as maintaining straight-line motion, turning, etc.), the required longitudinal and lateral disturbance thrusts are calculated to offset the water flow disturbance and achieve the desired motion.
[0065] As an example, the longitudinal and lateral disturbance thrusts can be determined according to the difference in water flow rate between the opposite sides of the underwater robot, the difference in water flow rate between the bottom and top surfaces of the underwater robot.
[0066] Step a2, controlling the longitudinal movement of the underwater robot according to the longitudinal disturbance thrust, and controlling the lateral movement of the underwater robot according to the lateral disturbance thrust.
[0067] After determining the longitudinal and lateral disturbance thrusts, the underwater robot can be controlled to move longitudinally according to the longitudinal disturbance thrust and laterally according to the lateral disturbance thrust, so that the underwater robot can move according to the movement path.
[0068] The control method of the underwater robot provided by the embodiment can accurately generate thrusts equal in size and opposite in direction to the water flow forces, effectively offset the disturbance of the water flow, and ensure that the underwater robot can stably navigate according to the predetermined path and attitude, improving the accuracy and reliability of navigation.
[0069] In one possible implementation, the above step a1 includes:
[0070] Step a11, determining a first flow rate of a first side of the underwater robot and a second flow rate of a second side of the underwater robot based on the flow rate of water.
[0071] The first and second sides indicate two opposite sides of the underwater robot, such as the left and right sides, and the difference in flow rate will affect the lateral movement of the underwater robot. The first and second flow rates refer to the flow rates at the first and second sides of the underwater robot, respectively. According to the measured flow rate information of the water, the flow rates at the first and second sides of the underwater robot, i.e. the first and second flow rates, are determined.
[0072] As an example, a plurality of flow rate sensors are arranged around the underwater robot to form a sensor array, and the flow rates of the first side and the second side are determined by measuring the flow rates at different positions.
[0073] Step a12, determining a first flow rate difference according to the difference between the first flow rate and the second flow rate.
[0074] The difference between the first flow rate and the second flow rate is calculated to obtain the first flow rate difference, which reflects the degree of imbalance of the flow rates of the two sides.
[0075] As an example, a numerical model is established according to the shape of the underwater robot and the flow environment by using computational fluid dynamics (CFD) software, and the flow rates of the first side and the second side are obtained by simulation calculation, which is not limited here and can be realized by those skilled in the art.
[0076] Step a13, obtaining a lateral equivalent flow area, and determining a lateral disturbance thrust according to the first flow rate difference and the lateral equivalent flow area.
[0077] The lateral equivalent flow area of the underwater robot is obtained, and the first flow rate difference is combined to determine the lateral disturbance thrust through certain physical relationship (such as fluid mechanics formula).
[0078] As an example, the lateral disturbance thrust can be determined by the following formula:
[0079] F1=ΔV1×S1×k1. F1 can be the lateral disturbance thrust, ΔV1 can be the first flow rate difference, S1 can be the lateral equivalent flow area, and K1 can be the coefficient.
[0080] Step a14, determining a third flow rate of the top surface of the underwater robot and a fourth flow rate of the bottom surface of the underwater robot based on the flow rate of the water.
[0081] The top surface and the bottom surface can indicate the upper and lower surfaces of the underwater robot, and the difference in flow rate will affect the movement of the underwater robot in the longitudinal direction (such as up and down movement or forward and backward direction, depending on the specific definition).
[0082] As an example, a plurality of flow rate sensors are arranged around the underwater robot to form a sensor array, and the flow rates of the top surface and the bottom surface are determined by measuring the flow rates at different positions.
[0083] Step a15, determining a second flow rate difference according to the difference between the third flow rate and the fourth flow rate.
[0084] The third flow rate is directly subtracted from the fourth flow rate to obtain the second flow rate difference.
[0085] Step a16: Obtain the longitudinal equivalent flow area, and determine the longitudinal spoiler thrust according to the second flow velocity difference and the longitudinal equivalent flow area.
[0086] The longitudinal equivalent flow area of the underwater robot is obtained, and the longitudinal spoiler thrust is determined through the corresponding physical relationship in combination with the second flow velocity difference.
[0087] As an example, the longitudinal spoiler thrust can be determined using the following formula:
[0088] F2 = ΔV2 × S2 × k2. F2 can be the longitudinal spoiler thrust, ΔV2 can be the second velocity difference, S2 is the longitudinal equivalent flow area, and K2 is the coefficient.
[0089] The control method for the underwater robot provided in this embodiment can accurately calculate the lateral disruptive thrust by measuring the flow velocities on the first and second sides of the underwater robot (the first flow velocity and the second flow velocity), calculating their difference (the first flow velocity difference), and then combining it with the lateral equivalent flow area. This is because the pressure difference between the two sides of the underwater robot caused by the water flow is the main reason for generating the lateral moving force, and the flow velocity difference and the flow area directly determine the magnitude of this pressure difference. By measuring the flow velocities on the top and bottom surfaces of the underwater robot (the third flow velocity and the fourth flow velocity), calculating their difference (the second flow velocity difference), and combining it with the longitudinal equivalent flow area, the longitudinal disruptive thrust can be accurately determined. The difference in flow velocity between the top and bottom surfaces causes the underwater robot to be subjected to a longitudinal pressure difference, which in turn generates a longitudinal moving force. In other words, by considering the flow velocity difference and the equivalent flow area on different sides, the underwater robot has a stronger resistance to water flow interference. Even in the presence of large flow gradients or turbulence, the underwater robot can maintain its own stability and heading through precise thrust control, reducing mission interruptions or failures caused by water flow interference.
[0090] In one possible implementation, the underwater robot is configured with an ultra-short baseline positioning system and a Doppler odometer, and the process of obtaining first data of the inertial odometer includes:
[0091] Step S201 , detecting whether the ultra-short baseline positioning system and the Doppler odometer are invalid.
[0092] An ultra-short baseline positioning system (USBL) is an underwater positioning system that determines the position of underwater targets (such as underwater robots) by measuring the propagation time and phase difference of sound waves between a transmitter and a receiver. It typically consists of a transmitter mounted on a ship and a transponder mounted on the underwater target. A Doppler velocity log (DVL) uses the Doppler effect to measure the velocity of an underwater target relative to the water. It transmits sound waves into the water, receives the sound waves scattered back from the water, and calculates the velocity based on the change in the sound wave frequency.
[0093] The underwater robot can be pre-configured with an ultra-short baseline positioning system and a Doppler log. When the ultra-short baseline positioning system and the Doppler log are not failed, the target position of the underwater robot can be determined by the ultra-short baseline positioning system and the Doppler log.
[0094] As an example, a self-checking instruction is sent to the ultra-short baseline positioning system and the Doppler log. The device returns a self-checking result, which is usually represented in binary code or a specific data format to indicate the state of the device, such as "0" for normal and "1" for failure. The self-checking result is parsed to determine whether the device is failed.
[0095] As an example, the output data of the ultra-short baseline positioning system and the Doppler log is collected in real time. Statistical analysis is performed on the collected data, such as calculating the mean, variance, maximum and minimum values of the data, etc. The statistical result is compared with the preset normal data range, and if the data is outside the normal range, the device is determined to be failed.
[0096] Step S202, when the ultra-short baseline positioning system and the Doppler log are both failed, the first data of the inertial odometry is obtained.
[0097] When the ultra-short baseline positioning system and the Doppler log are both failed, the target position of the underwater robot can be determined by the inertial odometry.
[0098] The control method of the underwater robot provided in this embodiment, the ultra-short baseline positioning system, the Doppler log and the inertial odometry belong to the positioning and speed measurement sensor. By detecting whether the first two are failed, and enabling the inertial odometry data when failed, the reliability of the entire positioning and speed measurement system is improved.
[0099] In one possible implementation, the above step S103 comprises: using a neural network model to control the underwater robot to move according to the target position, the moving path corresponding to the target position and the flow rate of water.
[0100] The neural network model can be a multi-layer perception (MLP), a convolutional neural network (CNN), a recurrent neural network (RNN) and its variants (such as LSTM, GRU), etc. The neural network model can represent the mapping relationship between the propeller parameters, the body speed and the flow rate data. The target position, the moving path corresponding to the target position and the flow rate of water can be used as the input of the neural network model, and the propeller parameters can be used as the output of the neural network model, and then the underwater robot is controlled to move according to the propeller parameters.
[0101] The control method of the underwater robot provided in the embodiment can learn the complex nonlinear relationship among the target position, the moving path and the flow velocity of water. Through learning a large amount of historical data, it can accurately predict the power and attitude adjustment required by the underwater robot under different flow velocity conditions to reach the target position and move along the moving path, effectively reduce the position deviation and improve the positioning accuracy.
[0102] In one possible implementation, the side surface of the underwater robot is configured with a first sensor, and the top surface of the underwater robot is configured with a second sensor, and the process of acquiring the flow velocity of water includes:
[0103] Step c1, acquiring the lateral flow velocity of water according to the first sensor.
[0104] Step c2, acquiring the longitudinal flow velocity of water according to the second sensor; wherein the first sensor and the second sensor can be one of a one-dimensional flow velocity sensor, a two-dimensional flow velocity sensor and a three-dimensional flow velocity sensor.
[0105] The one-dimensional flow velocity sensor can be a sensor that can only measure the flow velocity of water in one direction (such as the horizontal direction). The two-dimensional flow velocity sensor can be a sensor that can simultaneously measure the flow velocity of water in two perpendicular directions (such as the horizontal and vertical directions). The three-dimensional flow velocity sensor can be a sensor that can simultaneously measure the flow velocity of water in three spatial directions (such as the x, y and z directions).
[0106] The first sensor can be a sensor installed on the side surface of the underwater robot for measuring the lateral flow velocity of water. The lateral flow velocity refers to the component of the water flow in the horizontal direction perpendicular to the motion direction of the underwater robot. The second sensor can be a sensor installed on the top surface of the underwater robot for measuring the longitudinal flow velocity of water. The longitudinal flow velocity refers to the component of the water flow in the horizontal direction consistent with the motion direction of the underwater robot. By installing the first sensor on the side surface of the underwater robot, the lateral flow velocity of water is measured. The lateral flow velocity reflects the influence of the water flow on the lateral motion of the underwater robot in the horizontal direction.
[0107] As an example, a one-dimensional flow velocity sensor is installed on the side surface of the underwater robot, and its measurement direction is adjusted to be lateral. The output data of the sensor is read in real time to obtain the lateral flow velocity of water.
[0108] As an example, a two-dimensional flow velocity sensor is installed on the side surface of the underwater robot, and its measurement direction is adjusted so that one of the directions is lateral. The output data of the sensor is read in real time to extract the lateral flow velocity component.
[0109] As an example, a three-dimensional flow velocity sensor is installed on the top surface of the underwater robot, and its measurement direction is adjusted so that one of the directions is longitudinal. The output data of the sensor is read in real time to extract the longitudinal flow velocity component.
[0110] As an example, a flow rate sensor can be configured on each face of the underwater robot.
[0111] The control method of the underwater robot provided by the embodiment is that the side face and the top face are positions of the underwater robot that are more obviously affected by the water flow. The sensors are configured at these positions, so that the flow rate of the water flow that actually affects the movement of the underwater robot can be directly measured, and errors introduced due to improper measurement positions are reduced. In addition, the first sensor and the second sensor can be one-dimensional, two-dimensional or three-dimensional flow rate sensors, and a user can select a suitable sensor type according to actual budget and task requirements. In the premise of meeting the basic measurement requirements, unnecessary cost investment is avoided, and cost effectiveness is improved.
[0112] In combination with Figure 2 As shown in the figure, in one possible implementation, the present application provides a schematic diagram of a control method of an underwater robot.
[0113] When the external dependence perception USBL+DV fails, the speed and position can be estimated by using the corresponding IMU and the flow rate and flow direction instrument of the water environment perception, so as to realize the self-stabilization control of the ROV. Then the propeller thrust is determined, and the ROV body is controlled to move on the moving path according to the propeller thrust.
[0114] The control method of the underwater robot provided by the embodiment breaks away from the dependence of the traditional USBL / DVL on the external sound wave reflection interface, and can stably work in an extreme environment of a complex water engineering building, a dam surface and the like with strong reflection or irregular reflection, so as to solve the problem that the traditional scheme fails in a closed or complex structure area.
[0115] In addition, the water flow speed distribution around the ROV is obtained in real time by using the multi-dimensional flow rate sensor, the disturbance thrust is calculated in combination with the equivalent incident flow area, the disturbance to the attitude of the ROV is accurately quantified, and the response speed and accuracy of the stable control are improved.
[0116] In addition, without relying on expensive devices such as DVL, the equivalent function is realized by using a low-cost flow rate sensor (such as an ultrasonic opposing sensor), the hardware cost is reduced, the closed-loop control system reduces the dependence on external devices, and the self-reliability of the system is improved.
[0117] In addition, a multi-parameter mapping model is established based on a neural network, the control logic can be optimized through historical data, the disturbance compensation demand in different working conditions is adapted, and the stability and operation efficiency of the ROV in a dynamic water flow environment are improved.
[0118] A control device of the underwater robot is also provided in the embodiment, which is used to implement the above-mentioned embodiments and preferred embodiments, and will not be described again. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, implementation of hardware, or a combination of software and hardware, is also possible and contemplated.
[0119] The embodiment provides a control device of an underwater robot, the underwater robot being configured with an inertial odometer, such as Figure 3 As shown in the figure, the control device comprises: an acquisition module 301 configured to acquire a movement path of the underwater robot, first data of the inertial odometer, and second data of water; wherein the first data comprises acceleration data and angular velocity data, and the second data comprises a flow velocity of the water; a determination module 302 configured to determine a target position of the underwater robot according to the first data; and a control module 303 configured to control the underwater robot to move based on the target position, the movement path corresponding to the target position, and the flow velocity of the water.
[0120] Further function descriptions of the above-mentioned various modules and units are the same as those of the corresponding embodiments, and will not be described again.
[0121] The control device of the underwater robot in the embodiment is presented in the form of a functional unit, and the functional unit herein refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and a memory executing one or more software or fixed programs, and / or other devices that can provide the above-mentioned functions.
[0122] The embodiment of the present application also provides a computer device with the control device of the underwater robot shown in the above-mentioned Figure 3 figure.
[0123] Please refer to Figure 4 , Figure 4 is a structural schematic diagram of a computer device provided by an optional embodiment of the present application, as shown in the figure Figure 4As shown, the computer device includes one or more processors 10, memory 20, and interfaces 30 for external devices such as a keyboard and a mouse and peripheral devices such as disk devices or other storage devices. One or more busses 10 can be used to implement the interface between the various internal and external components and can be implemented using any one or more of a variety of bus technologies including a System bus, PCI, SCSI, AGP, Super- I / O bus, etc. Furthermore, various buses can be used in front side buses, back side buses, and memory buses. Figure 4 The processor 10 is used in the embodiments to implement the functions described above.
[0124] The processor 10 can be a central processing unit, a network processing unit or a combination thereof. The processor 10 can further include a hardware chip. The hardware chip can be an application specific integrated circuit, a programmable logic device or a combination thereof. The programmable logic device can be a complex programmable logic device, a field programmable logic device, a general array logic or any combination thereof.
[0125] The memory 20 stores instructions that can be executed by the at least one processor 10, so that the at least one processor 10 can perform the method shown in the above embodiments.
[0126] The memory 20 can include a program storage area and a data storage area. The program storage area can store an operating system, application programs required by at least one function, etc. The data storage area can store data created according to the use of the computer device, etc. In addition, the memory 20 can include a high-speed random access memory, and can further include a non-transitory memory such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state memory device. In some alternative embodiments, the memory 20 can optionally include a memory disposed remotely from the processor 10, and these remote memories can be connected to the computer device through a network. Examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0127] The memory 20 can include a volatile memory such as a random access memory, and can also include a non-volatile memory such as a flash memory, a hard disk or a solid state disk, and can further include a combination of the above types of memories.
[0128] The computer device further includes a communication interface 30 for the computer device to communicate with other devices or communication networks.
[0129] The embodiments of the present application further provide a computer readable storage medium, and the method according to the embodiments of the present application can be implemented in hardware, firmware, or recorded in a storage medium, or stored in a remote storage medium or a non-transitory machine readable storage medium and downloaded to a local storage medium through network, so that the method described herein can be processed by such software on a storage medium using a general purpose computer, a special purpose processor, or programmable or special hardware. The storage medium can be a magnetic disk, an optical disk, a read-only memory, a random access memory, a flash memory, a hard disk, or a solid state disk, etc. Further, the storage medium can also include a combination of the above-mentioned memories. It can be understood that the computer, the processor, the microprocessor controller, or the programmable hardware includes a storage component that can store or receive software or computer code, when the software or computer code is accessed and executed by the computer, the processor, or the hardware, the method shown in the above embodiments is implemented.
[0130] Part of the present application can be applied as a computer program product, for example, computer program instructions, when executed by a computer, through the operation of the computer, the method and / or technical solutions according to the present application can be called or provided. Those skilled in the art should understand that the form of computer program instructions in a computer readable medium includes but is not limited to source files, executable files, installation package files, etc. Correspondingly, the way of executing computer program instructions by computer includes but is not limited to: the computer directly executes the instructions, or the computer compiles the instructions and then executes the corresponding compiled program, or the computer reads and executes the instructions, or the computer reads and installs the instructions and then executes the corresponding installed program. Here, the computer readable medium can be any available computer readable storage medium or communication medium accessible to the computer.
[0131] Although the embodiments of the present application are described in conjunction with the accompanying drawings, various modifications and changes can be made by those skilled in the art without departing from the spirit and scope of the present application, and such modifications and changes fall within the scope defined by the appended claims.
Claims
1. A method for controlling an underwater robot, characterized in that: The underwater robot is equipped with an inertial odometer; and the method comprises: Acquire a movement path of the underwater robot, first data of an inertial odometer, and second data of water; wherein the first data includes acceleration data and angular velocity data, and the second data includes: water flow rate; determining a target position of the underwater robot according to the first data; The underwater robot is controlled to move based on the target position, the moving path corresponding to the target position, and the flow rate of water.
2. The control method of the underwater robot according to claim 1, characterized in that: The controlling the movement of the underwater robot based on the target position, the movement path corresponding to the target position, and the flow rate of water includes: Determining a direction in which the underwater robot needs to move according to the target position and a moving path corresponding to the target position; The underwater robot is controlled to move based on the water flow rate and the direction in which it needs to move.
3. The control method of the underwater robot according to claim 2, characterized in that: Controlling the underwater robot to move based on the water flow rate and the direction in which it needs to move includes: Based on the flow velocity of the water, determining a longitudinal flow disturbance thrust and a lateral flow disturbance thrust for controlling the movement of the underwater robot; The underwater robot is controlled to move longitudinally according to the longitudinal spoiler thrust, and the underwater robot is controlled to move transversely according to the transverse spoiler thrust.
4. The control method of the underwater robot according to claim 3, characterized in that: Determining a longitudinal flow disturbance thrust and a lateral flow disturbance thrust for controlling movement of the underwater robot based on the flow velocity of the water includes: determining a first flow velocity of a first side of the underwater robot and a second flow velocity of a second side of the underwater robot based on the flow velocity of the water; determining a first flow velocity difference according to a difference between the first flow velocity and the second flow velocity; Obtaining a lateral equivalent flow area, and determining a lateral spoiler thrust according to the first flow velocity difference and the lateral equivalent flow area; determining a third flow velocity of the top surface of the underwater robot and a fourth flow velocity of the bottom surface of the underwater robot based on the flow velocity of the water; determining a second flow rate difference according to a difference between the third flow rate and the fourth flow rate; A longitudinal equivalent flow area is obtained, and a longitudinal spoiler thrust is determined according to the second flow velocity difference and the longitudinal equivalent flow area.
5. The control method of the underwater robot according to claim 1, characterized in that: The underwater robot is equipped with an ultra-short baseline positioning system and a Doppler odometer; the process of obtaining first data of the inertial odometer includes: Check whether the ultra-short baseline positioning system and Doppler log are inoperative; When both the ultra-short baseline positioning system and the Doppler odometer fail, first data of the inertial odometer is acquired.
6. The control method of the underwater robot according to claim 1, characterized in that: The controlling the movement of the underwater robot based on the target position, the movement path corresponding to the target position, and the flow rate of water includes: The movement of the underwater robot is controlled by using a neural network model according to the target position, the movement path corresponding to the target position, and the flow rate of water.
7. The control method of the underwater robot according to claim 1, characterized in that: A first sensor is configured on the side of the underwater robot, and a second sensor is configured on the top surface of the underwater robot. The process of obtaining the water flow rate includes: acquiring a lateral flow velocity of water according to the first sensor; The longitudinal flow velocity of the water is obtained according to the second sensor; wherein the first sensor and the second sensor can be one of a one-dimensional flow velocity sensor, a two-dimensional flow velocity sensor and a three-dimensional flow velocity sensor.
8. A control device for an underwater robot, characterized in that: The underwater robot is equipped with an inertial odometer, and the device includes: An acquisition module, configured to acquire a movement path of the underwater robot, first data of an inertial odometer, and second data of water; wherein the first data includes acceleration data and angular velocity data, and the second data includes: a flow rate of water; a determination module, configured to determine a target position of the underwater robot based on the first data; The control module is used to control the movement of the underwater robot based on the target position, the movement path corresponding to the target position and the flow rate of water.
9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the control method of the underwater robot according to any one of claims 1 to 7 by executing the computer instructions.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the control method of the underwater robot according to any one of claims 1 to 7.