A method and system for underwater thruster thrust distribution control based on QP optimization

By adopting a thrust distribution control method based on QP optimization, combined with active disturbance rejection control and real-time fault diagnosis, the problems of redundant power consumption and fault tolerance in the underwater robot thruster control system are solved, achieving energy minimization and fault-tolerant control, and improving the underwater robot's endurance and reliability.

CN120233796BActive Publication Date: 2025-10-28TIANJIN HAOYE TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510716275.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-30
Publication Date
2025-10-28
Estimated Expiration
2045-05-30

AI Technical Summary

Technical Problem

Existing underwater robot thruster control systems suffer from redundant power consumption issues due to improper allocation under redundant configurations, and lack effective fault diagnosis and fault-tolerant control mechanisms, resulting in shortened robot endurance and decreased control performance.

Method used

A thrust distribution control method based on QP optimization is adopted. The total disturbance is estimated in real time through active disturbance rejection control, a quadratic programming problem is constructed to minimize the thruster energy consumption, and thruster faults are diagnosed in real time. The control efficiency matrix and physical constraints are dynamically adjusted to achieve fault-tolerant control.

Benefits of technology

This effectively avoids redundant power consumption, extends the underwater robot's range and operating time, and improves the system's robustness and mission success rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120233796B_ABST
    Figure CN120233796B_ABST
Patent Text Reader

Abstract

This application discloses a method and system for underwater thruster thrust distribution control based on QP optimization, which avoids redundant power consumption caused by improper distribution in redundant thruster configurations, thereby extending the robot's underwater operation time and endurance. The method includes: acquiring preset attitude control commands and actual attitude information from current sensors of the underwater robot; estimating the total disturbance acting on the underwater robot in real time based on the active disturbance rejection control principle, and calculating the desired total control force and total control torque commands; constructing a quadratic programming problem based on the total control force and total control torque commands; solving the quadratic programming problem to obtain the optimized first thrust commands for each thruster; diagnosing the existence of thruster faults in real time, and dynamically adjusting the control efficiency matrix or physical constraints in the quadratic programming problem when a fault is detected; and resolving the adjusted quadratic programming problem to obtain the second thrust commands for each thruster under fault tolerance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of underwater thruster control technology, and in particular to a method and system for underwater thruster thrust distribution control based on QP optimization. Background Technology

[0002] Underwater robots, such as autonomous underwater vehicles (AUVs) and remotely operated vehicles (ROVs), are playing an increasingly important role in ocean exploration, resource development, and underwater operations. To provide these robots with sufficient degrees of freedom to adapt to complex underwater environments and achieve flexible and precise control performance, they are typically equipped with multiple (usually 4 to 8) thrusters. This redundant propulsion system is the key physical basis for achieving multi-degree-of-freedom motion control, attitude adjustment, and dynamic positioning.

[0003] In underwater robot control systems, thrust distribution involves rationally allocating the desired total control force and torque calculated by the upper-level motion controller to each independent thruster for execution. Current technologies generally employ a pseudo-inverse method for thrust distribution, decomposing the six-degree-of-freedom total control command into thrust commands for each thruster, thereby driving the robot to complete the predetermined motion task.

[0004] While traditional thrust allocation algorithms can distribute the total control force / torque generated by the upper-level controller to each thruster, they typically do not consider energy optimization. This leads to unnecessary energy consumption in redundant configurations, significantly shortening the robot's underwater operating time and endurance. Furthermore, these traditional methods generally lack effective fault diagnosis and fault-tolerant control mechanisms. If one or more thrusters malfunction (such as jamming, damage, or efficiency degradation), and the system cannot detect and adjust the thrust allocation strategy in time, the robot may experience a sharp decline in control performance, or even complete loss of control, leading to mission failure. Summary of the Invention

[0005] This application provides a method and system for underwater thruster thrust distribution control based on QP optimization, which is used to avoid redundant power consumption caused by improper distribution under redundant thruster configuration, thereby extending the underwater operation time and endurance of the robot.

[0006] The first aspect of this application provides a method for thrust distribution control of underwater thrusters based on QP optimization, including:

[0007] The system acquires the preset attitude control commands of the underwater robot and the actual attitude information fed back by the current sensors. Based on the active disturbance rejection control principle, it estimates the total disturbance acting on the underwater robot in real time and calculates the expected total control force and total control torque commands.

[0008] For the multiple thrusters configured on the underwater robot, a quadratic programming problem is constructed based on the total control force and the total control torque command. The objective function of the quadratic programming problem is used to minimize the total energy consumption of the multiple thrusters. The constraints of the quadratic programming problem include at least the balance constraints defined based on the control efficiency matrix and the physical limitation constraints on the thrust of each thruster.

[0009] Solving the quadratic programming problem yields the optimized first thrust command for each thruster, and the first thrust command is output to the actuator of each thruster.

[0010] Real-time diagnosis of thruster malfunctions, and dynamic adjustment of the control performance matrix or physical constraints in the quadratic programming problem when a malfunction is detected;

[0011] The second thrust command for each thruster under fault tolerance is obtained by resolving the adjusted quadratic programming problem, and the second thrust command is output to the actuator of each thruster instead of the first thrust command.

[0012] Optionally, the objective function is specifically designed as follows:

[0013] ;

[0014] Where f is an n×1 vector representing the thrust generated by each of the n thrusters; T W represents the transpose of vector f; e W is an n×n diagonal positive definite weight matrix, where the diagonal elements reflect the energy consumption characteristics of each thruster when generating unit thrust; s It is an n×n identity matrix; This is a regularization term used to ensure the uniqueness and smoothness of the solution to the objective function.

[0015] Optionally, the balance constraint is:

[0016] ;

[0017] Where B(α) is the control performance matrix, α is used to represent the installation angle, position and current working state of each thruster; τdes is the expected total control force and total control torque command.

[0018] Optionally, the real-time diagnosis of whether a thruster malfunction exists includes:

[0019] The operating status parameters of the multiple thrusters are collected and recorded in real time, and the operating status parameters are continuously compared with the corresponding health status baseline model. The operating status parameters include at least one of the following: motor drive current, motor terminal voltage, thruster rotor speed, estimated thrust output, and thruster housing vibration signal.

[0020] When the comparison result indicates that the deviation between the working state parameter and the health state baseline model continuously exceeds the preset fault judgment threshold, it is determined that the corresponding thruster has failed.

[0021] The step of dynamically adjusting the control performance matrix or physical constraints in the quadratic programming problem when a fault is detected includes:

[0022] When a fault is detected, the impact of the fault on the thruster performance is evaluated, the degree of performance degradation is determined, and the control performance matrix or the physical constraints in the quadratic programming problem are dynamically adjusted according to the degree of performance degradation.

[0023] Optionally, the step of assessing the impact of a fault on thruster performance when a fault is detected, determining the degree of performance degradation, and dynamically adjusting the control performance matrix or physical constraints in the quadratic programming problem based on the degree of performance degradation includes:

[0024] When a fault is detected, for the target thruster that is determined to have failed, the performance degradation factor of the target thruster is determined by analyzing the operating state parameters of the target thruster. The performance degradation factor is used to quantify the performance degradation of the target thruster.

[0025] Multiply the column vector in the control performance matrix corresponding to the target thruster by the performance attenuation factor, or adjust the thrust amplitude of the target thruster according to the performance attenuation factor.

[0026] Optionally, the real-time estimation of the total disturbance acting on the underwater robot based on the active disturbance rejection control principle includes:

[0027] The internal unmodeled dynamics and external environmental disturbances experienced by the underwater robot are combined and regarded as the total disturbance, which is defined as an extended state variable;

[0028] Based on the extended state variables, the attitude control commands, and the actual attitude information, a predefined extended state observer is run to perform real-time online estimation of the extended state variables to obtain an estimate of the total disturbance.

[0029] Optionally, the method further includes:

[0030] Using the underwater robot's historical thrust command sequence, the actual motion response sequence fed back by the sensors, and the dynamic model, the control performance matrix is ​​iteratively calibrated and updated through an online parameter identification algorithm.

[0031] A second aspect of this application provides a system for underwater thrust distribution control based on QP optimization, comprising:

[0032] The acquisition unit is used to acquire the preset attitude control command of the underwater robot and the actual attitude information fed back by the current sensor, estimate the total disturbance acting on the underwater robot in real time based on the active disturbance rejection control principle, and calculate the expected total control force and total control torque command.

[0033] The construction unit is used to construct a quadratic programming problem based on the total control force and the total control torque command for multiple thrusters configured on the underwater robot. The objective function of the quadratic programming problem is used to minimize the total energy consumption of the multiple thrusters. The constraints of the quadratic programming problem include at least the balance constraints defined based on the control efficiency matrix and the physical limitation constraints on the thrust of each thruster.

[0034] The first solving unit is used to solve the quadratic programming problem to obtain the optimized first thrust command for each thruster, and output the first thrust command to the actuator of each thruster;

[0035] The diagnostic unit is used to diagnose the existence of thruster malfunctions in real time, and to dynamically adjust the control performance matrix or physical constraints in the quadratic programming problem when a malfunction is detected.

[0036] The second solving unit is used to re-solve the adjusted quadratic programming problem to obtain the second thrust command of each thruster under fault tolerance, and output the second thrust command to the actuator of each thruster instead of the first thrust command.

[0037] A third aspect of this application provides a device for QP-optimized thrust distribution control of an underwater thruster, the device comprising:

[0038] Processor, memory, input / output units, and bus;

[0039] The processor is connected to the memory, the input / output unit, and the bus;

[0040] The memory stores a program that the processor calls to execute the first aspect and any optional method of the first aspect, a QP-optimized underwater thrust distribution control method.

[0041] The fourth aspect of this application provides a computer-readable storage medium storing a program that, when executed on a computer, performs the first aspect and any optional method of the first aspect, a QP-optimized underwater thrust distribution control method.

[0042] As can be seen from the above technical solutions, this application has the following advantages:

[0043] After obtaining the attitude control requirements of the underwater robot and calculating the desired total control force and total control torque commands using the active disturbance rejection control principle, a quadratic programming problem is constructed based on the total control force and total control torque commands for the multiple thrusters configured on the underwater robot. The objective function of this quadratic programming problem is to minimize the total energy consumption of the multiple thrusters. This means that when solving for the thrust allocation scheme, the core objective of the algorithm is to find a thruster thrust combination that can satisfy the control commands while minimizing overall energy consumption. Furthermore, by monitoring and diagnosing the operating status of each thruster, the degree of performance degradation is assessed when a thruster fails, and the core parameters in the quadratic programming problem are actively adjusted and re-solved to obtain a thruster thrust combination that considers the real-time fault state to replace the original command.

[0044] This method, which directly optimizes energy consumption, effectively avoids redundant power consumption caused by improper allocation in redundant thruster configurations. It significantly reduces ineffective energy consumption during underwater robot missions, thereby effectively extending the robot's underwater operating time and endurance. Through closed-loop fault diagnosis and fault-tolerant adjustment capabilities, it ensures that even in the event of partial thruster failure, the underwater robot can still maintain maximum operational stability and mission execution capabilities, greatly enhancing its reliability and environmental adaptability. Attached Figure Description

[0045] To more clearly illustrate the technical solutions in this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0046] Figure 1 A schematic flowchart of an embodiment of the QP-optimized underwater thrust distribution control method provided in this application;

[0047] Figure 2 A schematic flowchart of another embodiment of the QP-optimized underwater thrust distribution control method provided in this application;

[0048] Figure 3A schematic diagram of an embodiment of the QP-optimized underwater thrust distribution control system provided in this application;

[0049] Figure 4 A schematic diagram of another embodiment of the QP-optimized underwater thrust distribution control system provided in this application;

[0050] Figure 5 A schematic diagram of an embodiment of the underwater thrust distribution control device based on QP optimization provided in this application. Detailed Implementation

[0051] This application provides a method and system for underwater thruster thrust distribution control based on QP optimization, which is used to avoid redundant power consumption caused by improper distribution under redundant thruster configuration, thereby extending the underwater operation time and endurance of the robot.

[0052] See also Figure 1 , Figure 1 An embodiment of the QP-optimized underwater thrust distribution control method provided in this application includes:

[0053] 101. Obtain the preset attitude control command of the underwater robot and the actual attitude information fed back by the current sensor, estimate the total disturbance acting on the underwater robot in real time based on the active disturbance rejection control principle, and calculate the expected total control force and total control torque command.

[0054] Step 101 is the starting point of the entire thrust distribution control method. Its core purpose is to provide a clear and disturbance-compensated control target for subsequent thrust distribution, namely, to calculate the desired total control force and total control torque commands. This control target is used to indicate how much resultant force and resultant torque the underwater robot needs to generate to accurately track the preset commands and resist external and internal disturbances. In order for the underwater robot to move according to the predetermined trajectory or attitude, it is necessary to first obtain the control target (the preset attitude control commands) and the robot's current actual state (the actual attitude information fed back by the sensors). The difference between these two is the basis for feedback control. Specifically, the preset attitude control commands of the underwater robot are first obtained. These commands are usually generated by the mission planning system or the manual remote control operating system according to the mission requirements. The command content usually includes the desired position (e.g., x, y, z in the geodetic coordinate system), attitude (e.g., Euler angles representing direction such as roll angle Φ, pitch angle θ, yaw angle ψ, or quaternions), and may include the desired velocity and acceleration. In addition, it is necessary to obtain the actual attitude information fed back by the current sensors. Underwater robots are equipped with a variety of sensors to perceive their own state and environment, including but not limited to inertial measurement units, depth sensors, Doppler logs, acoustic positioning systems, etc.

[0055] However, due to the complex and ever-changing underwater environment, with unknown external disturbances such as currents and waves, and the potential inaccuracies in the underwater robot's own mathematical model, these factors can severely impact control accuracy. Therefore, this embodiment employs Active Disturbance Rejection Control (ADRC), treating these internal and external disturbances as a single "total disturbance" and estimating and compensating for it in real time, thereby improving the system's robustness and control accuracy. This total disturbance specifically includes environmental forces / torques such as currents and waves, uncertainties in the robot's hydrodynamic parameters, unmodeled higher-order dynamics, and deviations in the thruster model—the sum of all factors affecting robot motion that are not precisely described in the controller's nominal model. By incorporating the estimated total disturbance into the control command calculation, the impact of impending disturbances can be anticipated and mitigated, enabling the robot to track the desired posture more accurately and exhibit stronger anti-disturbance performance. Ultimately, the desired total control force and total control torque commands are calculated.

[0056] 102. For multiple thrusters configured on an underwater robot, a quadratic programming problem is constructed based on the total control force and total control torque commands. The objective function of the quadratic programming problem is used to minimize the total energy consumption of the multiple thrusters. The constraints of the quadratic programming problem include at least the balance constraints defined based on the control efficiency matrix and the physical limitation constraints on the thrust of each thruster.

[0057] Since underwater robots are typically equipped with multiple thrusters, various thrust combinations can produce the same resultant force and torque. The upper-level controller calculates the desired total control force and torque command for the underwater robot as a whole, while the actuators are individual thrusters. An intermediate step is needed to decompose this overall command into the specific thrust magnitudes of each thruster. The endurance of an underwater robot is limited by its onboard energy. With redundant thruster configurations, different thrust distribution schemes, even if producing the same control effect, can have vastly different energy consumption. Therefore, mathematical optimization methods are needed to find a set of thrust commands for each thruster that satisfies control requirements while minimizing total energy consumption.

[0058] Specifically, to achieve the above objectives, this embodiment selects to construct a quadratic programming (QP) problem. A QP problem typically includes three core components: decision variables, objective function, and constraints. The decision variables are the unknowns that need to be solved in the QP problem; specifically, they are the thrust values ​​that each thruster configured on the underwater robot will generate. The objective function minimizes the total energy consumption of the multiple thrusters, which specifically refers to the sum of the energy consumed by all thrusters in generating their allocated thrust. The constraints are the equations or inequalities that the decision variables must satisfy, collectively defining the range of feasible solutions. The constraints specifically include: balance constraints defined based on the control performance matrix and physical limitations imposed on each thruster due to its physical structure, motor power, and other factors.

[0059] The primary function of the control effectiveness matrix is ​​to linearly map or transform a vector containing the independent thrust magnitudes of each thruster into a vector representing the resultant force and resultant torque acting on the six degrees of freedom in the robot's body coordinate system. Specifically, this control effectiveness matrix quantifies how each thruster, due to its specific installation position and thrust direction on the robot, contributes to the robot's forward, lateral, vertical, roll, pitch, and yaw motions in each of the six directions when generating a unit thrust. For a system with n thrusters and requiring control on m degrees of freedom (typically m=6 for underwater robots), the control effectiveness matrix is ​​usually an m×n matrix. Each column of this matrix uniquely corresponds to a thruster. For example, the j-th column of the matrix is ​​an m-dimensional vector whose elements detail the specific values ​​of the force and torque generated by the j-th thruster in each of the robot's m degrees of freedom when outputting a unit of its own thrust.

[0060] 103. Solve the quadratic programming problem to obtain the optimized first thrust command for each thruster, and output the first thrust command to the actuator of each thruster;

[0061] After constructing the quadratic programming problem, it needs to be solved to obtain the thrust command that minimizes the total energy consumed by all thrusters in generating their allocated thrust, while satisfying all constraints; this is the first thrust command. The appropriate QP solver and algorithm can be selected based on the specific computing platform, solution speed requirements, and the availability of solver libraries. After receiving the problem parameters, the QP solver executes its internal numerical optimization algorithm. This process is typically iterative; the algorithm starts from an initial point and searches step-by-step according to certain rules (such as Newton's method, gradient method, etc. combined with constraint handling strategies) until convergence conditions are met (e.g., the degree of satisfaction of KKT conditions, sufficiently small change in the objective function value, or reaching the upper limit of the number of iterations). When the QP solver successfully converges, its output is the optimal first thrust command. The first thrust command is then sent to the corresponding actuators of each thruster on the underwater robot. These actuators then convert these numerical thrust commands into actual physical drive signals to generate the required thrust.

[0062] In some specific implementations, an RL agent can be introduced to solve the quadratic programming problem, transforming the QP problem into an RL problem. After thorough offline training, the RL agent's online decision-making process can be simplified to a single forward propagation computation via a neural network, which is faster than iterative traditional QP solvers. Before actual deployment, the RL agent will experience numerous QP problem instances with different parameters in a simulated environment. The goal of the RL agent is to find a set of thrusters that minimizes total energy consumption (i.e., optimizes the objective function of the QP problem) while strictly satisfying all constraints. A reward mechanism guides the learning process. If the agent's thrust scheme satisfies low energy consumption and all constraints well, it receives a high reward; conversely, if energy consumption is high or constraints are violated, it receives a negative reward. By continuously adjusting its internal policy network, the RL agent learns how to obtain higher cumulative rewards, thus mastering an effective method for quickly solving QP problems.

[0063] 104. Real-time diagnosis of thruster malfunctions, and dynamic adjustment of the control efficiency matrix or physical constraints in the quadratic programming problem when a malfunction is detected;

[0064] Thrusters are critical actuators for underwater robots, and their failures directly impact the robot's motion control capabilities. Therefore, during actual operation, it's essential to monitor the operational status parameters of multiple thrusters in real time to diagnose thruster malfunctions. Real-time monitoring and early diagnosis can promptly identify problems, preventing malfunctions from worsening or triggering chain reactions, thereby improving the overall system reliability and operational safety. When a thruster malfunctions and its performance degrades, its thrust generation capability deviates from the initial design or the model under healthy conditions. If the control system continues to make thrust allocation decisions based on outdated or inaccurate information, it will not be physically effective and may even exacerbate system instability or cause further damage. Therefore, in this embodiment, once a thruster malfunction is diagnosed, the control performance matrix or physical constraints in the quadratic programming problem need to be dynamically adjusted. By dynamically adjusting these core parameters, the mathematical model used for subsequent thrust allocation calculations can accurately reflect the current operational capability of the propulsion system, including the effects of the malfunction.

[0065] 105. Based on the adjusted quadratic programming problem, the second thrust command of each thruster under fault tolerance is obtained by resolving the problem, and the second thrust command is output to the actuator of each thruster instead of the first thrust command.

[0066] After diagnosing the fault and adjusting the core parameters of the quadratic programming problem, an updated QP model that accurately reflects the current fault state is used to calculate a new thrust allocation scheme, namely the second thrust command. This second thrust command replaces the original first thrust command calculated under fault-free conditions, thus effectively addressing the fault and maintaining or restoring control of the underwater robot. This second thrust command is the optimal solution for the current fault condition. It considers which thrusters have decreased efficiency or completely failed, and redistributes thrust accordingly, thus meeting control requirements while adhering to the principle of minimizing energy consumption. This allows the underwater robot to still perform control tasks optimally using remaining resources after a partial failure of the propulsion system, significantly improving system robustness and mission success rate.

[0067] In this embodiment, after obtaining the attitude control requirements of the underwater robot and calculating the desired total control force and total control torque commands using the active disturbance rejection control principle, a quadratic programming problem is constructed based on the total control force and total control torque commands for the multiple thrusters configured on the underwater robot. The objective function of this quadratic programming problem is to minimize the total energy consumption of the multiple thrusters. This means that when solving for the thrust allocation scheme, the core objective of the algorithm is to find a thruster thrust combination that can satisfy the control commands while minimizing overall energy consumption. Furthermore, by monitoring and diagnosing the operating status of each thruster, the performance degradation degree of the thruster is assessed when a failure occurs, and the core parameters in the quadratic programming problem are actively adjusted and re-solved to obtain a thruster thrust combination that considers the real-time fault state to replace the original command.

[0068] This method, which directly optimizes energy consumption, effectively avoids redundant power consumption caused by improper allocation in redundant thruster configurations. It significantly reduces ineffective energy consumption during underwater robot missions, thereby effectively extending the robot's underwater operating time and endurance. Through closed-loop fault diagnosis and fault-tolerant adjustment capabilities, it ensures that even in the event of partial thruster failure, the underwater robot can still maintain maximum operational stability and mission execution capabilities, greatly enhancing its reliability and environmental adaptability.

[0069] The following provides a detailed description of the QP-optimized underwater thrust distribution control method provided in this application. Please refer to [link / reference]. Figure 2 , Figure 2 Another embodiment of the QP-optimized underwater thrust distribution control method provided in this application includes:

[0070] 201. Obtain the preset attitude control command of the underwater robot and the actual attitude information fed back by the current sensor, estimate the total disturbance acting on the underwater robot in real time based on the active disturbance rejection control principle, and calculate the expected total control force and total control torque command.

[0071] In this embodiment, step 201 is similar to step 101 in the previous embodiment, and will not be described again here.

[0072] In some specific embodiments, the process of estimating the total disturbance acting on the underwater robot in real time based on the active disturbance rejection control principle includes the following steps:

[0073] The internal unmodeled dynamics and external environmental disturbances experienced by the underwater robot are combined as a total disturbance, which is defined as an extended state variable. A predefined extended state observer is run based on the extended state variable, attitude control commands, and actual attitude information to perform real-time online estimation of the extended state variable and obtain an estimate of the total disturbance.

[0074] Underwater robots face numerous and difficult-to-model disturbances. For example, the direction and velocity of water flow are time-varying, the robot's hydrodynamic parameters may change with speed or due to attachments, and internal friction characteristics may also vary. Attempting to model and measure each uncertainty individually is extremely difficult and even impractical, and traditional control methods often struggle to handle unknown or rapidly changing disturbances. Therefore, by treating the total disturbance as an additional state of the system, i.e., an extended state variable, observer theory can be used to design a dedicated extended state observer (ESO) to estimate this extended state variable, thereby achieving real-time online estimation of the total disturbance. This predefined extended state observer is a specially designed state observer whose structure and parameters are pre-set based on the nominal model of the underwater robot and the desired observer performance.

[0075] Specifically, the total disturbance consists of unmodeled internal dynamics and external environmental disturbances. Unmodeled internal dynamics refer to robot characteristics that were not fully accurately described or were ignored when constructing the underwater robot's mathematical model. Examples include changes in hydrodynamic coefficients at different speeds, changes in mass and inertia caused by load variations, nonlinear characteristics of the thrusters, and errors introduced by model simplification. External environmental disturbances refer to various forces and torques acting on the robot from its external environment, most typically such as the impact of ocean currents, wave disturbances, and changes in water flow caused by complex terrain. The combined impact of all these unmodeled internal dynamics and external environmental disturbances on the system dynamics, along with any other unmodeled factors, is considered as a lumped, unknown disturbance acting on a specific channel of the system. To estimate this unknown disturbance, it can be treated as a new, unknown state variable of the system and added to the original system's state equations, forming an extended state-space model. Then, using a predefined extended state observer (ESO), based on the known control inputs and the current system state, the expected state of the underwater robot is predicted. This "predicted state" is then compared with the "actual state" fed back by the sensors. The difference between the two largely reflects the immediate impact of the "total disturbance." ESO continuously adjusts its estimates of the robot's original state and the "extended state" (i.e., the total disturbance) through its internal correction mechanisms (such as specific gain functions or algorithms), aiming to make the observer's estimated system behavior as consistent as possible with the actual observed behavior. After this real-time online estimation process, ESO can finally output an estimate of the total disturbance.

[0076] By estimating the total disturbance value using the extended state observer, the controller can anticipate which unmodeled dynamic and external disturbances are attempting to interfere with the normal operation of the system. Therefore, when calculating the expected total control force and total control torque commands, the total disturbance value is taken into account, generating a compensating control quantity of equal magnitude and opposite direction to counteract various internal and external disturbances acting on the underwater robot in real time.

[0077] 202. For multiple thrusters configured on an underwater robot, a quadratic programming problem is constructed based on the total control force and total control torque commands. The objective function of the quadratic programming problem is used to minimize the total energy consumption of the multiple thrusters. The constraints of the quadratic programming problem include at least the balance constraints defined based on the control efficiency matrix and the physical limitation constraints on the thrust of each thruster.

[0078] In this embodiment, step 202 is similar to step 102 in the previous embodiment, and will not be described again here. The objective function and constraints of the quadratic programming problem are described in detail below:

[0079] In this embodiment, the objective function is specifically designed as follows:

[0080] ;

[0081] Here, f is an n×1 vector representing the thrust generated by each of the n thrusters, and is the core variable that needs to be solved in the QP problem; f T This represents the transpose of vector f;

[0082] W e This is an n×n diagonal positive definite weight matrix, where the diagonal elements reflect the energy consumption characteristics of each thruster producing unit thrust. A diagonal matrix means that all elements except those on the main diagonal are zero. The diagonal characteristic implies that the thrust f produced by each thruster... i The contribution to total energy consumption is independently weighted and is not directly affected by the thrust of other thrusters. Therefore, the weight of each thruster can be set independently according to its own characteristics (such as energy efficiency).

[0083] In W e In the case of a diagonal matrix, the energy consumption term of the quadratic form This can be simplified to a weighted sum of the squares of each thrust:

[0084] ;

[0085] f i w is the thrust of the i-th thruster ei It is W e The i-th element on the main diagonal. By minimizing this quadratic energy consumption term, the goal is to prioritize the use of more energy-efficient elements (corresponding to W).e The goal is to minimize total energy consumption by reducing the number of thrusters with smaller weight values ​​(or by reducing the sum of squares of thrust overall).

[0086] W s It is an n×n identity matrix. This introduces a regularization term with a regularization coefficient λ, which ensures the uniqueness and smoothness of the objective function solution. This is because, in some cases, energy consumption terms and constraints alone may be insufficient to determine a unique thrust allocation scheme. Adding a strictly convex regularization term ensures that the entire objective function is strictly convex, thus guaranteeing that if a feasible solution exists for the QP problem, its optimal solution is unique. This term also helps penalize excessively large thrust values, causing the thrust allocation scheme to tend to use smaller, more evenly distributed thrust, potentially leading to smoother control output and improving the numerical conditions of the optimization problem, avoiding extreme solutions.

[0087] In this embodiment, the balance constraint is:

[0088] ;

[0089] Where B(α) is the control performance matrix, α represents the installation angle, position, and current operating state of each thruster; τdes represents the desired total control force and total control torque commands. The composition of the control performance matrix depends on parameter α, which includes the installation angle, position, and current operating state of each thruster. The installation angle and position determine the force and torque components decomposed into each degree of freedom in the robot's body coordinate system when each thruster generates a unit thrust. The current operating state reflects the health of the thrusters and whether there is any performance degradation. This means that B(α) is not static but can be dynamically adjusted according to the real-time health status of the thrusters.

[0090] The fundamental function of this balance constraint is to ensure that, regardless of how the thrust combination f of each thruster is selected in the optimization process, the combined effect of these thrusts after transformation by the control effectiveness matrix B(α) must be exactly equal to the total control force and total control torque τdes expected by the upper controller.

[0091] Furthermore, the quadratic programming problem also involves physical constraints on the thrust of each thruster, specifically including upper and lower limits on the thrust amplitude (maximum forward thrust, minimum thrust, or maximum reverse thrust) and constraints on the thrust rate of change. The upper and lower limits on the thrust amplitude are typically determined by factors such as the thruster's motor power, propeller design, structural strength, and prevention of cavitation. The thrust rate of change constraint is designed to protect the motor and actuator, avoiding adverse hydrodynamic effects. Both constraints are linear, jointly ensuring that while the optimization algorithm aims for minimum energy consumption, its output thrust command is physically safe and stable for each thruster.

[0092] 203. Solve the quadratic programming problem to obtain the optimized first thrust command for each thruster, and output the first thrust command to the actuator of each thruster;

[0093] In this embodiment, step 203 is similar to step 103 in the previous embodiment, and will not be described again here.

[0094] 204. Collect and record the operating status parameters of multiple thrusters in real time, and continuously compare the operating status parameters with the corresponding health status baseline model;

[0095] 205. When the comparison results indicate that the deviation between the working state parameters and the health state baseline model continues to exceed the preset fault judgment threshold, it is determined that the corresponding thruster has failed.

[0096] To perform health diagnostics on the thrusters, it is necessary to collect and record multiple operating status parameters. These parameters are physical quantities reflecting the thruster's health, including at least one of the following: motor drive current, motor terminal voltage, thruster rotor speed, estimated thrust output, and thruster casing vibration signal. These real-time collected operating status parameters are then continuously compared with the corresponding health status baseline model. The health status baseline model is established by collecting extensive experimental data, statistical analysis, or modeling based on physical principles, after confirming that the thruster is in a fault-free and healthy operating state. It can depict the normal fluctuation range or expected behavior pattern of various thruster parameters under different operating conditions. Ideally, each thruster should have its own personalized baseline model, or a general model should be used and adjusted according to the individual differences of the thrusters, because even thrusters of the same model may have slight performance differences.

[0097] In each control cycle or data sampling cycle, the latest acquired real-time operating status parameters need to be compared with the normal values ​​defined by the health status baseline model. This comparison can take various forms, such as directly comparing whether the instantaneous value exceeds the preset normal threshold range, calculating the residual between the real-time data and the model prediction value, or analyzing the similarity or distance between the real-time data features and the health mode features. Specific methods are not limited here. When one or more operating status parameters from a specific thruster simultaneously meet the conditions of exceeding the preset fault judgment threshold and being persistent, it can be determined that the corresponding thruster has failed, and step 206 needs to be executed.

[0098] 206. When a fault is detected, assess the impact of the fault on the thruster performance, determine the degree of performance degradation, and dynamically adjust the control performance matrix or physical constraints in the quadratic programming problem according to the degree of performance degradation.

[0099] When a fault is detected, not all faults have a uniform impact on thruster performance; some may result in a slight decrease in efficiency, while others may lead to complete thruster failure. Therefore, it is necessary to first assess the impact of the fault on thruster efficiency to determine the degree of efficiency degradation. Accurately determining the degree of efficiency degradation is the foundation for subsequent adjustments to the control strategy to achieve optimal compensation, avoiding improper control due to overestimating or underestimating the impact of the fault. Therefore, it is also necessary to dynamically adjust the control efficiency matrix or physical constraints in the quadratic programming problem based on the degree of efficiency degradation. The control efficiency matrix is ​​adjusted because it directly describes how much force and torque each thruster contributes to the robot as a whole when generating a unit thrust. When the efficiency of a thruster degrades, its corresponding influence in the control efficiency matrix needs to be reduced accordingly. Adjusting the physical constraints is because some faults may directly change the actual output range of the thruster. For example, the upper and lower limits of the output of a completely failed thruster should be set to zero, or the maximum thrust of a partially damaged thruster may be lower than in its healthy state. Through these adjustments, the QP model transforms from a model describing a healthy system to a model describing the system under a specific fault state.

[0100] It should be noted that this adjustment occurs in real time. Once the fault is identified and the degree of performance degradation is analyzed, the parameters of the QP model should be updated immediately so that the latest model can be used when allocating thrust in the next control cycle.

[0101] Specifically, the performance degradation factor (a value between 0 and 1, where 1 represents complete health and 0 represents complete failure) can be used to represent the degree of performance degradation. That is, when a fault is detected, for a target thruster that has been determined to have failed, the performance degradation factor is determined by analyzing the operating state parameters of the target thruster. The performance degradation factor is used to quantify the extent of performance degradation of the target thruster; the column vector in the control performance matrix corresponding to the target thruster is multiplied by the performance degradation factor, or the thrust amplitude of the target thruster is adjusted according to the performance degradation factor.

[0102] Since each column of the control effectiveness matrix represents the force and torque generated by a thruster on the six degrees of freedom of the underwater robot under unit thrust, the contribution of the faulty thruster in the QP model can be directly reduced by multiplying the column vector corresponding to the target thruster in the control effectiveness matrix by the effectiveness decay factor. During QP solving, it will be recognized that even if the thruster outputs the same thrust as when it is healthy, the effective control it provides to the robot as a whole has been proportionally reduced, naturally reducing the dependence on this thruster. Adjusting the thrust amplitude of the target thruster according to the effectiveness decay factor means directly modifying the upper and lower limits of the physical thrust of the faulty thruster in the QP constraints. If a thruster's effectiveness decay factor is 0 (complete failure), then both its upper and lower thrust limits should be set to 0. This adjustment directly limits the range of thrust that the QP optimizer can allocate to the faulty thruster, ensuring that the allocation result does not exceed the actual physical limit that the thruster can reach in the faulty state.

[0103] These two adjustment methods can be used individually or in combination, depending on the physical manifestation of the fault and how to most accurately reflect its impact in the QP model. For example, for a completely failed thruster, both methods are usually used (the corresponding column of the control effectiveness matrix is ​​set to zero, and the thrust amplitude is also set to zero). For cases where the motor power is partially damaged but can still stably output a low thrust, the focus may be more on adjusting the upper limit of the thrust amplitude, supplemented by adjustments to the control effectiveness matrix.

[0104] 207. Based on the adjusted quadratic programming problem, the second thrust command of each thruster under fault tolerance is obtained by solving it again, and the second thrust command is output to the actuator of each thruster instead of the first thrust command.

[0105] In this embodiment, step 207 is similar to step 105 in the previous embodiment, and will not be described again here.

[0106] 208. Using the historical thrust command sequence of the underwater robot, the actual motion response sequence fed back by the sensors, and the dynamic model, the control performance matrix is ​​iteratively calibrated and updated through an online parameter identification algorithm.

[0107] The initially set control performance matrix may be based on theoretical calculations or experimental data under ideal conditions, which may deviate from the actual situation after the robot is deployed. Furthermore, the performance of the thrusters may gradually change over time, for example, due to minor wear, component aging, or marine organism attachment, leading to a slow decline in efficiency. This means the initially set control performance matrix may not reflect the actual operating conditions. The core objective of step 208 is to make the control performance matrix no longer a fixed parameter matrix, but one that can continuously self-calibrate and dynamically update based on the underwater robot's performance data during actual operation. A more accurate control performance matrix that better reflects the current true performance of the thrusters can directly improve the accuracy and efficiency of subsequent secondary thrust allocation planning, thereby improving the overall control performance and energy utilization of the underwater robot.

[0108] First, the system collects two key sets of sequence data in real time. The first set is the historical thrust command sequence, referring to the actual command values ​​sent to each thruster within a recent period. The second set is the actual motion response sequence fed back by sensors, which includes the robot's actual acceleration, angular acceleration, velocity, and position / attitude, typically acquired through devices such as inertial measurement units and Doppler logs. To accurately separate the thruster-contributed portion from these complex motion responses, the system also utilizes a pre-defined underwater robot dynamics model. This model describes the robot's mass, inertia, hydrodynamic damping, and restoring torque. Using this model, the influence of non-thruster factors, such as residual hydrodynamic forces or buoyancy after compensating for water flow disturbances, can be subtracted from the observed total motion response, thereby estimating the actual motion effect generated by the resultant thruster force, i.e., the actual resultant control force and resultant control torque. Next, using an online parameter identification algorithm, the system uses the current version of the control performance matrix estimate, combined with the input thrust commands, to predict the theoretically expected motion response of the robot. The algorithm then compares the predicted motion response with the actual observed motion response, thus forming a prediction error or cost function. Online parameter identification algorithms, such as recursive least squares, gradient descent, or Kalman filter-based estimation algorithms, aim to minimize this prediction error by systematically adjusting the values ​​of individual elements in the control performance matrix. This adjustment process is iterative, meaning the algorithm does not complete the calibration all at once. It makes small, continuous corrections to the elements of the control performance matrix based on the latest error information at each new data batch or time step.

[0109] Ultimately, through continuous iteration and calibration of the online parameter identification algorithm, the system obtains an updated control performance matrix. Compared to the initial or previous version, this updated control performance matrix more accurately reflects the true control performance of each thruster under the current operating conditions because it incorporates performance data from the robot's actual operation. Once the control performance matrix is ​​updated, this new version replaces the old version and is used in subsequent thrust allocation steps, such as when constructing quadratic programming problems. Through this continuous online learning and self-correction mechanism, the control performance matrix can dynamically adapt to gradual changes in thruster performance, such as the effects of wear or adhesions, and the subtle influence of environmental factors that are not accurately modeled, thereby ensuring that thrust allocation decisions are always based on a system model that is closest to the current physical reality.

[0110] See also Figure 3 , Figure 3 An embodiment of the QP-optimized underwater thrust distribution control system provided in this application includes:

[0111] The acquisition unit 301 is used to acquire the preset attitude control command of the underwater robot and the actual attitude information fed back by the current sensor, estimate the total disturbance acting on the underwater robot in real time based on the active disturbance rejection control principle, and calculate the expected total control force and total control torque command.

[0112] The construction unit 302 is used to construct a quadratic programming problem based on the total control force and total control torque command for multiple thrusters configured on an underwater robot. The objective function of the quadratic programming problem is used to minimize the total energy consumption of the multiple thrusters. The constraints of the quadratic programming problem include at least the balance constraints defined based on the control efficiency matrix and the physical limit constraints of the thrust of each thruster.

[0113] The first solving unit 303 is used to solve the quadratic programming problem to obtain the optimized first thrust command for each thruster, and output the first thrust command to the actuator of each thruster;

[0114] The diagnostic unit 304 is used to diagnose whether there is a thruster fault in real time, and to dynamically adjust the control efficiency matrix or physical constraints in the quadratic programming problem when a fault is detected.

[0115] The second solving unit 305 is used to re-solve the adjusted quadratic programming problem to obtain the second thrust command of each thruster under fault tolerance, and output the second thrust command to the actuator of each thruster instead of the first thrust command.

[0116] The following provides a detailed description of the QP-optimized underwater thrust distribution control system provided in this application. Please refer to [link / reference]. Figure 4 , Figure 4Another embodiment of the QP-optimized underwater thrust distribution control system provided in this application includes:

[0117] The acquisition unit 401 is used to acquire the preset attitude control command of the underwater robot and the actual attitude information fed back by the current sensor, estimate the total disturbance acting on the underwater robot in real time based on the active disturbance rejection control principle, and calculate the expected total control force and total control torque command.

[0118] The construction unit 402 is used to construct a quadratic programming problem based on the total control force and total control torque command for multiple thrusters configured on an underwater robot. The objective function of the quadratic programming problem is used to minimize the total energy consumption of the multiple thrusters. The constraints of the quadratic programming problem include at least the balance constraints defined based on the control efficiency matrix and the physical limit constraints of the thrust of each thruster.

[0119] The first solving unit 403 is used to solve the quadratic programming problem to obtain the optimized first thrust command for each thruster, and output the first thrust command to the actuator of each thruster;

[0120] The diagnostic unit 404 is used to diagnose whether there is a thruster fault in real time, and to dynamically adjust the control efficiency matrix or physical constraints in the quadratic programming problem when a fault is detected.

[0121] The second solving unit 405 is used to re-solve the adjusted quadratic programming problem to obtain the second thrust command of each thruster under fault tolerance, and output the second thrust command to the actuator of each thruster instead of the first thrust command.

[0122] Optionally, the objective function can be designed as follows:

[0123] ;

[0124] Where f is an n×1 vector representing the thrust generated by each of the n thrusters; T W represents the transpose of vector f; e W is an n×n diagonal positive definite weight matrix, where the diagonal elements reflect the energy consumption characteristics of each thruster when generating unit thrust; s It is an n×n identity matrix; This is a regularization term used to ensure the uniqueness and smoothness of the objective function solution.

[0125] Optionally, the balance constraint is:

[0126] ;

[0127] Where B(α) is the control performance matrix, α represents the installation angle, position and current working state of each thruster; τdes is the desired total control force and total control torque command.

[0128] Optionally, the diagnostic unit 304 is specifically used for:

[0129] The system collects and records the operating status parameters of multiple thrusters in real time, and continuously compares the operating status parameters with the corresponding health status baseline model. The operating status parameters include at least one of the following: motor drive current, motor terminal voltage, thruster rotor speed, estimated thrust output, and thruster housing vibration signal.

[0130] When the comparison results indicate that the deviation between the working status parameters and the health status baseline model continues to exceed the preset fault judgment threshold, the corresponding thruster is determined to have failed.

[0131] Dynamically adjust the control performance matrix or physical constraints in the quadratic programming problem when a fault is detected, including:

[0132] When a fault is detected, assess the impact of the fault on the thruster performance, determine the degree of performance degradation, and dynamically adjust the control performance matrix or physical constraints in the quadratic programming problem according to the degree of performance degradation.

[0133] Optionally, the diagnostic unit 304 is also specifically used for:

[0134] When a fault is detected, for the target thruster that has been identified as having a fault, the efficiency decay factor of the target thruster is determined by analyzing the operating state parameters of the target thruster. The efficiency decay factor is used to quantify the extent of the performance degradation of the target thruster.

[0135] Multiply the column vector in the control performance matrix corresponding to the target thruster by the performance attenuation factor, or adjust the thrust amplitude of the target thruster according to the performance attenuation factor.

[0136] Optionally, the acquisition unit 301 is specifically used for:

[0137] The internal unmodeled dynamics and external environmental disturbances experienced by the underwater robot are combined and regarded as the total disturbance, which is defined as an extended state variable.

[0138] Based on the extended state variables, attitude control commands, and actual attitude information, a predefined extended state observer is run to perform real-time online estimation of the extended state variables in order to obtain an estimate of the total disturbance.

[0139] Optionally, the system may also include:

[0140] The update unit 406 is used to iteratively calibrate and update the control performance matrix by utilizing the underwater robot's historical thrust command sequence, the actual motion response sequence fed back by the sensors, and the dynamic model, through an online parameter identification algorithm.

[0141] In this embodiment, the functions of each unit are the same as described above. Figure 1 or Figure 2 The steps in the method embodiments shown correspond to those in the examples, and will not be repeated here.

[0142] This application also provides a device for QP-optimized thrust distribution control of underwater thrusters; please refer to [link to relevant documentation]. Figure 5 , Figure 5 An embodiment of the apparatus for QP-optimized underwater thrust distribution control provided in this application includes:

[0143] Processor 501, memory 502, input / output unit 503, bus 504;

[0144] The processor 501 is connected to the memory 502, the input / output unit 503, and the bus 504;

[0145] The memory 502 stores a program, and the processor 501 calls the program to execute any of the above-mentioned methods for underwater thrust distribution control based on QP optimization.

[0146] This application also relates to a computer-readable storage medium on which a program is stored, which, when run on a computer, causes the computer to perform any of the above-described QP-optimized underwater thrust distribution control methods.

[0147] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0148] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus 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, or indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.

[0149] 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.

[0150] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0151] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it 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 all or part 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 of 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.

Claims

1. A method for thrust distribution control of underwater thrusters based on QP optimization, characterized in that, The method includes: The system acquires the preset attitude control commands of the underwater robot and the actual attitude information fed back by the current sensors. Based on the active disturbance rejection control principle, it estimates the total disturbance acting on the underwater robot in real time and calculates the expected total control force and total control torque commands. For the multiple thrusters configured on the underwater robot, a quadratic programming problem is constructed based on the total control force and the total control torque command. The objective function of the quadratic programming problem is used to minimize the total energy consumption of the multiple thrusters. The constraints of the quadratic programming problem include at least the balance constraints defined based on the control efficiency matrix and the physical limitation constraints on the thrust of each thruster. The optimized first thrust command for each thruster is obtained by solving the quadratic programming problem using an RL agent, and the first thrust command is output to the actuator of each thruster. The operating status parameters of the multiple thrusters are collected and recorded in real time, and the operating status parameters are continuously compared with the corresponding health status baseline model. The operating status parameters include motor drive current, motor terminal voltage, thruster rotor speed, estimated thrust output, and thruster housing vibration signal. When the comparison result indicates that the deviation between the working state parameter and the health state baseline model continuously exceeds the preset fault judgment threshold, it is determined that the corresponding thruster has failed. When a fault is detected, for the target thruster that is determined to have failed, the performance degradation factor of the target thruster is determined by analyzing the operating state parameters of the target thruster. The performance degradation factor is used to quantify the performance degradation of the target thruster. Multiply the column vector in the control performance matrix corresponding to the target thruster by the performance attenuation factor, or adjust the thrust amplitude of the target thruster according to the performance attenuation factor; The second thrust command for each thruster under fault tolerance is obtained by resolving the adjusted quadratic programming problem, and the second thrust command is output to the actuator of each thruster instead of the first thrust command. Using the underwater robot's historical thrust command sequence, the actual motion response sequence fed back by the sensors, and the dynamic model, the control performance matrix is ​​iteratively calibrated and updated through an online parameter identification algorithm.

2. The method for underwater thrust distribution control based on QP optimization according to claim 1, characterized in that, The objective function is specifically designed as follows: ; Where f is an n×1 vector representing the thrust generated by each of the n thrusters; T W represents the transpose of vector f; e W is an n×n diagonal positive definite weight matrix, where the diagonal elements reflect the energy consumption characteristics of each thruster when generating unit thrust; s It is an n×n identity matrix; This is a regularization term used to ensure the uniqueness and smoothness of the solution to the objective function.

3. The method for underwater thrust distribution control based on QP optimization according to claim 1, characterized in that, The balance constraint is: ; Where B(α) is the control performance matrix, α is used to represent the installation angle, position and current working state of each thruster; τdes is the expected total control force and total control torque command.

4. The method for underwater thrust distribution control based on QP optimization according to any one of claims 1 to 3, characterized in that, The real-time estimation of the total disturbance acting on the underwater robot based on the active disturbance rejection control principle includes: The internal unmodeled dynamics and external environmental disturbances experienced by the underwater robot are combined and regarded as the total disturbance, which is defined as an extended state variable; Based on the extended state variables, the attitude control commands, and the actual attitude information, a predefined extended state observer is run to perform real-time online estimation of the extended state variables to obtain an estimate of the total disturbance.

5. A system for underwater thrust distribution control based on QP optimization, characterized in that, The system includes: The acquisition unit is used to acquire the preset attitude control command of the underwater robot and the actual attitude information fed back by the current sensor, estimate the total disturbance acting on the underwater robot in real time based on the active disturbance rejection control principle, and calculate the expected total control force and total control torque command. The construction unit is used to construct a quadratic programming problem based on the total control force and the total control torque command for multiple thrusters configured on the underwater robot. The objective function of the quadratic programming problem is used to minimize the total energy consumption of the multiple thrusters. The constraints of the quadratic programming problem include at least the balance constraints defined based on the control efficiency matrix and the physical limitation constraints on the thrust of each thruster. The first solving unit is used to solve the quadratic programming problem through an RL agent to obtain the optimized first thrust command for each thruster, and output the first thrust command to the actuator of each thruster; A diagnostic unit is used to collect and record the operating status parameters of the multiple thrusters in real time, and continuously compare the operating status parameters with the corresponding health status baseline model. The operating status parameters include motor drive current, motor terminal voltage, thruster rotor speed, estimated thrust output, and thruster housing vibration signal. When the comparison result indicates that the deviation between the operating status parameters and the health status baseline model continuously exceeds a preset fault judgment threshold, the corresponding thruster is determined to have failed. When a fault is detected, for the target thruster that has failed, the performance degradation factor of the target thruster is determined by analyzing the operating status parameters of the target thruster. The performance degradation factor is used to quantify the performance degradation of the target thruster. The column vector in the control performance matrix corresponding to the target thruster is multiplied by the performance degradation factor, or the thrust amplitude of the target thruster is adjusted according to the performance degradation factor. The second solving unit is used to re-solve the adjusted quadratic programming problem to obtain the second thrust command of each thruster under fault tolerance, and output the second thrust command to the actuator of each thruster instead of the first thrust command. The update unit is used to iteratively calibrate and update the control performance matrix using the historical thrust command sequence of the underwater robot, the actual motion response sequence fed back by the sensors, and the dynamic model, through an online parameter identification algorithm.

6. A device for underwater thrust distribution control based on QP optimization, characterized in that, The device includes: Processor, memory, input / output units, and bus; The processor is connected to the memory, the input / output unit, and the bus; The memory stores a program, which the processor calls to execute the method for QP-optimized underwater thrust distribution control as described in any one of claims 1 to 4.

7. A computer-readable storage medium, characterized in that, The computer-readable storage medium contains a program that, when executed on a computer, performs the method for QP-optimized underwater thrust distribution control as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Fault-tolerant control method for underwater robot propulsion system faults

    CN116224964A