A fault-tolerant control method and system for active suspension based on heterogeneous computing
Patent Information
- Application Number
- CN202611303675.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-26
- Publication Date
- 2026-10-23
AI Technical Summary
但该方式会破坏MPC最优控制逻辑,大幅降低悬架调控精度,牺牲车辆行驶舒适性与稳定性
[0067]本发明的有益效果包括以下几点:
Smart Images

Figure CN122956903A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of vehicle suspension control technology, specifically to an active suspension fault-tolerant control method and system based on heterogeneous computing. Background Technology
[0002] Currently, the industry generally designs suspension MPC controllers based on 7-DOF vehicle models and centrally deploys the algorithms on a single onboard microcontroller (MCU) to adapt to real-world vehicle driving conditions. However, 7-DOF MPC algorithms involve a large number of matrix operations and quadratic programming solutions, resulting in high computational and storage overhead. Onboard MCUs, limited by miniaturization and low-power design constraints, have limited computing power and memory resources, making it impossible to meet the real-time operation requirements of high-precision MPC algorithms and thus difficult to balance suspension control quality and real-time performance.
[0003] To overcome the problem of limited MCU resources preventing the effective deployment of MPC algorithms, the industry currently mainly adopts two adaptation solutions: algorithm simplification and optimization, and explicit MPC modification. However, both solutions have inherent technical defects, as follows:
[0004] (1) The simplified algorithm sacrifices control quality and still fails to meet real-time performance requirements: Existing technologies reduce algorithm overhead to adapt to MCU hardware by simplifying the dynamic model and reducing the prediction and control time domain. However, this approach will destroy the optimal control logic of MPC, significantly reduce the suspension control accuracy, and sacrifice vehicle driving comfort and stability. At the same time, the simplified algorithm still cannot meet the real-time solution requirements of the suspension control cycle of 10ms, and the reliability of dynamic control is insufficient.
[0005] (2) The explicit MPC solution suffers from dimensional explosion and lacks engineering feasibility: The explicit MPC solution avoids real-time computing pressure by using offline pre-solution and online table lookup. However, in the 19-dimensional augmented state space containing four-wheel road disturbances, the solution will suffer from polyhedral partition combination explosion. Not only is offline construction extremely time-consuming, but online storage requirements also far exceed the limits of vehicle hardware, making it unsuitable for actual mass production.
[0006] (3) Low utilization rate of onboard computing resources and lack of safety redundancy backup mechanism: The vision processors of intelligent connected vehicles have built-in GPUs with strong parallel floating-point computing power and large video memory, which can efficiently adapt to the computing needs of MPC algorithms. However, their computing power is only used for environmental perception tasks and not applied to real-time chassis control, resulting in serious idle onboard computing resources. At the same time, the existing MPC control architecture lacks safety redundancy design. The algorithm is prone to control output failure due to software failure, communication failure, computing timeout, etc. There is no reliable backup switching mechanism, which poses significant driving safety hazards.
[0007] Therefore, in recent years, those skilled in the art have begun to explore alternative technical approaches to improve the control performance and redundancy of active suspension systems. One such approach employs a heterogeneous dual-controller architecture combined with deep reinforcement learning algorithms. This involves running a deep reinforcement learning algorithm (such as the dual-delay deep deterministic policy gradient algorithm, i.e., the TD3 algorithm) in the main controller and another control algorithm in the slave controller, combined with lidar road surface prediction, in an attempt to improve the control performance and redundancy of the active suspension. However, in real-world applications (e.g., in critical driving safety scenarios), those skilled in the art have found that such solutions are fundamentally unsuitable for scenarios with extremely high safety requirements, exhibiting numerous fatal flaws, such as:
[0008] First, the control behavior of deep reinforcement learning algorithms depends on the coverage of training data. In extreme conditions where the training set is not covered, the output control force may deviate from the safety boundary. Furthermore, deep reinforcement learning algorithms themselves do not have the ability to satisfy explicit constraints and cannot mathematically guarantee that safety constraints such as suspension travel, actuator force limit, and tire contact force will not be exceeded. This is unacceptable for active suspension systems that are crucial to driving safety.
[0009] Secondly, deep reinforcement learning models have poor interpretability, and the mapping relationship between control output and vehicle state is not transparent. In automotive functional safety certification (such as ISO 26262), it is difficult to conduct systematic hazard analysis and risk assessment, and the engineering implementation is difficult.
[0010] Third, the fault monitoring of this type of heterogeneous dual-controller solution relies on the deviation comparison of the output instructions of the master and slave controllers. When the master controller experiences a calculation timeout or communication interruption, the slave controller cannot directly know the operating status of the master controller and must wait for the cumulative deviation of the master and slave instructions to exceed the limit before it can trigger a switch, which results in a detection delay. Moreover, the master and slave controllers run two sets of algorithms at the same time, which continuously consumes computing power and further intensifies the competition for computing power on the vehicle platform where the graphics processor has already undertaken the task of environmental perception.
[0011] Fourth, this type of solution uses lidar for road surface pre-aiming. The lidar point cloud data needs to be processed by an independent pre-processing unit before being transmitted to the main controller. The data flow between multiple modules increases transmission delay and bus load. Moreover, the point cloud quality of lidar deteriorates significantly in adverse weather conditions such as rain and fog, limiting the reliability of pre-aiming.
[0012] Therefore, the industry urgently needs an active suspension control solution that can overcome the inherent defects of deep reinforcement learning algorithms in safety-critical scenarios, achieve real-time solution of high-dimensional model prediction and control, have direct fault monitoring and rapid fault-tolerant switching in both communication and computing dimensions, and make full use of the computing power of existing vehicle vision processors and graphics processors to achieve integrated perception and decision-making. Summary of the Invention
[0013] The purpose of this invention is to address the shortcomings of existing technologies by providing an active suspension fault-tolerant control method and system based on heterogeneous computing. This is achieved by adding a vision processor to the intelligent driving system and deploying an optimal control force calculation task on the vision processor's GPU. A roof control algorithm is deployed in the suspension controller as a backup control law. The suspension controller monitors the communication link status between the vision processor and the suspension controller, as well as the execution status of the optimal control force calculation task, in real time. When the link and task are normal, model predictive control mode is executed; when the link or task is abnormal, it automatically switches to roof control mode, generating drive commands to control the active suspension actuators. This achieves integrated perception and decision-making, fully utilizing the idle computing power of the onboard GPU. While ensuring control quality, the dual-layer heterogeneous fault-tolerant architecture significantly improves the real-time performance and safety of the active suspension system.
[0014] The objective of this invention is achieved through the following approach:
[0015] An active suspension fault-tolerant control method based on heterogeneous computing includes the following steps:
[0016] 1) Add a vision processor to the intelligent driving system and deploy the optimal control force calculation task in the vision processor. The optimal control force calculation task adopts the model predictive control algorithm, and deploy the roof control algorithm in the suspension controller as a backup control law.
[0017] 2) Establish a communication link between the vision processor and the suspension controller, and complete device handshake and clock synchronization through the communication link to achieve time-aligned data transmission between the vision processor and the suspension controller;
[0018] 3) Based on the communication link status between the vision processor and the suspension controller, and the running status of the optimal control force calculation task, switch the active suspension control mode to model predictive control mode or roof control mode.
[0019] If the communication link is normal and the optimal control force calculation task is running normally, the control mode of the active suspension is the model prediction control mode. The GPU of the vision processor is used to execute the optimal control force calculation task to obtain the optimal control force, and the optimal control force is converted into drive commands to control the active suspension actuator.
[0020] If the communication link signal is interrupted or invalid, or if the optimal control force calculation task times out or gets stuck, the active suspension control mode is the skylight control mode. The suspension controller obtains the vertical motion state of the vehicle body and calculates the skylight control force in combination with the skylight control algorithm. The skylight control force is then converted into drive commands to control the active suspension actuator.
[0021] Preferably, in step 3), the optimal control force is calculated in the following manner:
[0022] Ⅰ) Collect road surface preview information through a binocular vision module, including three-dimensional point cloud data of road surface elevation, speed bumps, and potholes;
[0023] Ⅱ) Collect vehicle state information and, in conjunction with the seven-degree-of-freedom dynamics model of the whole vehicle, construct a discrete state-space model;
[0024] Ⅲ) Extend the state-space model to an augmented state-space model, and construct prediction equations based on the augmented state-space model;
[0025] IV) Construct a standard quadratic programming problem based on the prediction equation matrix;
[0026] V) Using the GPU in the vision processor, the quadratic programming problem is solved iteratively by combining the projection gradient method and Nesterov momentum to obtain the optimal control force for the current cycle.
[0027] This invention acquires road surface preview information through a binocular vision module, and constructs a discrete state-space model by combining it with the seven-degree-of-freedom dynamic model of the whole vehicle. It then expands the model into an augmented state-space model to construct a prediction equation, and establishes a standard quadratic programming problem. Finally, it uses a GPU combined with the projection gradient method and Nesterov momentum to iteratively solve the quadratic programming problem and obtain the optimal control force for the current cycle.
[0028] As can be seen, this invention migrates the core MPC solving task from the resource-constrained MCU to the GPU with strong parallel computing power, without simplifying the dynamic model or reducing the predictive control time domain. It fully preserves the optimal control logic of MPC, effectively overcoming the technical defects of simplified algorithms that sacrifice control quality and still fail to meet real-time performance standards. At the same time, it avoids the inherent problem of polyhedral partitioning combinatorial explosion in the 19-dimensional augmented state of explicit MPC.
[0029] Preferably, the specific formula for the standard quadratic programming problem is as follows:
[0030] ;
[0031] ;
[0032] In the formula, It is a Hessian matrix. It is a linear vector. To control the incremental sequence in the future, To control the incremental lower bound vector, To control the incremental limit, This is the control increment for the current sampling period. This represents the actual output force vector of the four actuators in the previous control cycle. This is the lower limit vector of the actuator output force. This is the upper limit vector of the actuator output force. It is a lower triangular cumulative matrix.
[0033] This invention clarifies the specific mathematical formula for the standard quadratic programming problem, defines the objective function form with Hessian matrices as quadratic coefficients and linear vectors as linear coefficients, and incorporates constraints such as control increment sequences, lower control increment vectors, and actuator output force upper and lower limit vectors into the optimization framework in matrix form. This provides a precise mathematical model foundation for subsequent GPU parallel solutions, ensuring that the quadratic programming problem can be correctly constructed and solved in a 19-dimensional augmented state space containing four-wheel road disturbances. Thus, while avoiding the explosion of explicit MPC polyhedral partition combinations, it ensures the integrity and solution accuracy of the MPC optimal control algorithm, preventing the suspension control accuracy and vehicle driving comfort from being compromised by algorithm simplification.
[0034] Preferably, in step V), the optimal control force is calculated in the following manner:
[0035] V-1) Calculate the basic gradient in parallel according to the following formula:
[0036] ;
[0037] In the formula, For the first The gradient generated by the quadratic term in the next iteration. It is a Hessian matrix. For the first Nesterov accelerated extrapolation point in the next iteration It is a linear vector;
[0038] V-2) Calculate the penalty gradient in parallel according to the following formula:
[0039] ;
[0040] In the formula, The gradient of the penalty term, As a penalty weight, For the penalty function, For the first Nesterov accelerated extrapolation point in the next iteration For gradient operators;
[0041] V-3) Following the formula below, perform gradient descent after fusing the basic gradient and the penalized gradient, and then perform box-constrained Euclidean projection to calculate the... Decision variables for +1 iteration:
[0042] ;
[0043] In the formula, For the first Decision variables for +1 iterations For the first Nesterov accelerated extrapolation point in the next iteration Step size, For the basic gradient, To penalize the gradient, For box constraint set Euclidean projection;
[0044] V-4) Update the Nesterov parameters according to the following formula:
[0045] ;
[0046] In the formula, For the first Nesterov auxiliary sequence for the next iteration For the first Nesterov auxiliary sequence for the next iteration For the first Nesterov momentum coefficient in the next iteration;
[0047] V-5) Based on the first For the decision variables in +1 iterations, calculate the Nesterov extrapolation points according to the following formula:
[0048] ;
[0049] In the formula, For the first Nesterov accelerated extrapolation point in the next iteration For the first Decision variables for +1 iterations For the first Decision variables for the next iteration For the first Nesterov momentum coefficient in the next iteration;
[0050] V-6) After all variables have been updated in this iteration, execute the global thread synchronization operation __syncthreads(). This is used to wait for all parallel threads to complete all calculations in this round, ensuring consistency between reading and writing iteration variables. The next iteration can only begin after all threads have been synchronized.
[0051] This invention computes the basic gradient and the penalty gradient in parallel using a GPU, merges them, performs gradient descent and implements box-constrained Euclidean projection to obtain decision variables, then updates the Nesterov parameters and extrapolation points, and performs global thread synchronization operations at the end of each iteration to ensure consistency between reading and writing iteration variables.
[0052] In this way, the present invention can make full use of the advantages of large-scale thread parallel computing of GPU, transform inequality constraints into differentiable penalty terms through the penalty function method, and retain only the box constraint projection operation, which greatly reduces the single iteration delay and effectively solves the technical defect that the MPC algorithm cannot meet the real-time requirement of 10 millisecond control cycle due to insufficient computing power of traditional MCU.
[0053] Preferably, in step 3), the ceiling control force is calculated according to the following formula:
[0054] ;
[0055] In the formula, The ceiling control force vector. The preset ceiling damping coefficient, The vertical velocity of the sprung mass of each suspension element.
[0056] This invention defines a specific calculation formula for the roof control force, using the product of a preset roof damping coefficient and the vertical velocity of each suspension sprung mass as the basis for outputting the backup control force. This provides the suspension controller with a heterogeneous physical backup control law independent of the GPU. When the main control algorithm fails due to communication interruption, calculation timeout, or lag, the suspension controller can switch to roof control mode according to this formula, outputting a stable backup damping force to maintain the basic vibration reduction function of the suspension. This effectively overcomes the technical defects of the existing MPC control architecture, which lacks a safe redundancy backup mechanism and poses significant driving safety hazards.
[0057] Preferably, in step 3), the method for determining the communication link status is as follows: monitoring the signal transmission timeout and message verification error of the communication link; when no signal transmission timeout and no message verification error are detected within a preset monitoring period, the communication link status is determined to be normal; when a signal transmission timeout is detected, or a message verification error is detected, or the communication link is interrupted, the communication link status is determined to be abnormal.
[0058] The method for determining the execution status of the optimal control force calculation task is as follows: obtain the calculation timestamp of each time the GPU outputs the optimal control force in the vision processor, and compare the time interval between two adjacent calculation timestamps with a preset calculation time threshold. Compare the results; when the time interval does not exceed the preset calculation time threshold. When the optimal control force calculation task is running normally, it is determined that the time interval exceeds the preset calculation time threshold. At that time, the optimal control force calculation task is judged to have timed out or stalled.
[0059] This invention determines the link status by monitoring signal transmission timeouts and message verification errors in the communication link, and determines the execution status of the computing task by obtaining the calculation timestamp of the GPU's optimal control force each time and comparing the interval between adjacent timestamps with a preset calculation time threshold. This achieves dual-dimensional fault monitoring of the communication link and the computing task. When an anomaly is detected in either dimension, the control mode is automatically switched, enabling the suspension controller to quickly switch to the roof backup control mode when communication is interrupted or algorithm failure occurs, and automatically switch back after the fault is recovered. This effectively solves the technical defects of existing active suspension control architectures that lack reliable safety redundancy and fault-tolerant switching mechanisms.
[0060] Preferably, the vision processor is any one of NVIDIA Jetson Orin NX, Qualcomm Snapdragon Ride, Mobileye EyeQ series, Renesas R-Car V series, or domestic automotive-grade high-performance chips. The vision processor has at least 64 GPU cores and at least 512MB of video memory, ensuring that the vision processor has the floating-point computing power and storage resources required to execute the seven-degree-of-freedom MPC algorithm. This allows high-dimensional matrices such as the Hessian matrix and prediction matrix to be completely stored in the GPU video memory without overflow. At the same time, it provides a hardware foundation for 80-thread parallel solving and shared memory optimization, effectively overcoming the technical defects of traditional MCUs that cannot deploy high-precision MPC algorithms due to insufficient computing power and memory, and making full use of the idle parallel floating-point computing power of the automotive vision processor.
[0061] An active suspension fault-tolerant control system based on heterogeneous computing includes:
[0062] The binocular vision module is used to acquire road surface preview information, including 3D point cloud data of road surface elevation, speed bumps, and potholes, and send the road surface preview information to the GPU of the vision processing module.
[0063] The vision processing module is used to receive road surface preview information and use the built-in GPU to perform the optimal control force calculation task to calculate the optimal control force. The optimal control force calculation task adopts the model predictive control algorithm.
[0064] The communication bus module is used to establish a communication link between the vision processor and the suspension controller, so as to realize data transmission between the vision processing module and the suspension control module.
[0065] The suspension control module is used to monitor the link status of the communication bus module and the execution status of the model predictive control algorithm. Based on the link status and execution status, it switches the control mode of the active suspension to model predictive control mode or skylight control mode and outputs drive commands.
[0066] The active suspension execution module is used to apply active force to the vehicle body according to the drive commands output by the suspension control module.
[0067] The beneficial effects of this invention include the following:
[0068] ① This invention relies on the idle computing power and large-capacity video memory of the existing vehicle vision processor GPU to realize the implementation of high-dimensional model prediction control. No additional hardware equipment is required, and the overall vehicle hardware cost is not increased. It fundamentally solves the engineering problem that traditional vehicle MCUs such as TC365 cannot run the seven-degree-of-freedom high-dimensional MPC algorithm of the whole vehicle due to insufficient memory and low computing power.
[0069] Meanwhile, this invention employs multiple optimization strategies, including configuring 80 CUDA threads for parallel computation, high-speed loading of matrix parameters using shared memory, iterative hot start, and single-time global thread synchronization, combined with the Nesterov momentum-accelerated parallel projection gradient algorithm. This allows for the complete preservation of the high-dimensional prediction matrix and the original control time domain without the need to simplify the vehicle dynamics model.
[0070] Actual measurements show that the average time for a single MPC solution is 2.5ms, and the maximum time is no more than 6ms, which fully meets the real-time requirements of the suspension's 10ms control cycle. This solves the problems of memory overflow and computational lag in traditional MCUs, preserves the optimal control effect to the greatest extent, and ensures the vehicle's driving comfort and handling stability.
[0071] ② This invention abandons the explicit MPC offline partitioning approach, relying on GPU parallel computing power to solve the QP optimization problem online in real time. It eliminates the need to pre-divide the 19-dimensional augmented state space into massive polyhedral regions, saving the time-consuming offline modeling process and eliminating the need to reserve huge storage space for partitioning parameters. Furthermore, this invention relies solely on GPU real-time iterative calculation of the optimal control increment, fundamentally solving the inherent defects of explicit MPC in the 19-dimensional augmented state—polyhedral partitioning combination explosion and offline construction and storage exceeding the limits of automotive hardware. It completely eliminates the engineering implementation obstacles caused by dimensional explosion, reduces hardware storage and early development costs, and is suitable for large-scale vehicle application.
[0072] ③ This invention utilizes a binocular vision module to collect road surface preview information. All data parsing and interpolation to generate future road surface disturbance sequences are completed locally on the GPU, achieving integrated computation of perception and MPC control. Only the final four-dimensional optimal control force is sent to the lower-level suspension MCU, significantly reducing the amount of data transmitted via the bus, fully utilizing the idle parallel floating-point computing power of the onboard GPU, eliminating data transmission delays caused by the block computation of perception and chassis control, and improving control real-time performance.
[0073] ④ This invention relies on the underlying suspension MCU to perform dual real-time monitoring of communication link status and MPC calculation time, which can accurately identify various fault conditions such as communication interruption, signal abnormality, algorithm timeout, and computational lag. The system can seamlessly switch to the Skyhook backup control law within 15ms, continuously outputting stable and safe suspension control force. This hardware and software collaborative fault-tolerant mechanism makes up for the shortcomings of traditional single MCU control architecture, which lacks redundancy and is prone to failure. It effectively avoids the risk of control failure caused by MPC algorithm abnormalities, and comprehensively ensures the stable and safe operation of the suspension system during vehicle operation.
[0074] Definitions:
[0075] Backup control law: This is a safety fallback strategy in the control system. When the main control algorithm (such as MPC in this invention) fails to work properly for some reason, the system automatically switches to this simpler and more robust control logic to ensure that the vehicle still has basic control capabilities and does not go out of control.
[0076] Model Predictive Control (MPC) is an advanced, model-based, constrained, and rolling optimization control strategy.
[0077] Skyhook Control Algorithm: This refers to a passive suspension control strategy based on feedback of the vertical motion state of the vehicle body. Its core idea is to assume that there is a "skyhook" reference point located in a fixed space above the vehicle body, and to control the suspension actuators to make the vertical motion of the sprung mass tend towards this fixed reference point, thereby suppressing vehicle body vibration.
[0078] Skylight control force: refers to the backup control force calculated based on the vertical velocity feedback signal of each suspension sprung mass at the current moment through the skylight control algorithm built into the suspension controller. It is used to replace the optimal control force when the communication link is abnormal or the optimal control force calculation task fails, and drive the active suspension actuator to work to maintain the basic driving stability of the vehicle.
[0079] Actuator: It is the key execution component of the vibration active control system. It receives commands from the controller and converts external energy into control force to suppress or eliminate structural vibration.
[0080] Stuck: In this invention, it refers to the failure to output the calculation results on time or the abnormality of the calculation result verification.
[0081] Nesterov Accelerated Gradient (NAG) is a gradient descent optimization algorithm proposed by mathematician Yuri Nesterov in 1983.
[0082] Nesterov Momentum is an optimization technique that accelerates the convergence speed of the gradient descent algorithm.
[0083] Nesterov accelerated extrapolation point: refers to the prediction point obtained by linear extrapolation based on the current iteration decision variables, the previous Nesterov auxiliary sequence, and momentum coefficients. It is used to calculate the gradient at the prediction point to obtain a more accurate descent direction.
[0084] Intelligent driving system: In this invention, the "intelligent driving system" refers to an on-board computing system with environmental perception and decision-making control functions, including but not limited to road preview system, advanced driver assistance system (ADAS), automated driving system (ADS), vehicle-to-everything (V2X) system, etc. Attached Figure Description
[0085] Figure 1 This is a schematic diagram of the system architecture and fault-tolerant switching of the present invention;
[0086] Figure 2 Performance graph for GPU parallel MPC solution;
[0087] Figure 3 This is the main control flowchart of the present invention. Detailed Implementation
[0088] like Figures 1 to 3 As shown, an active suspension fault-tolerant control method based on heterogeneous computing includes the following steps:
[0089] 1) Add a vision processor to the intelligent driving system and deploy the optimal control force calculation task in the vision processor. The optimal control force calculation task adopts the model predictive control algorithm, and deploy the roof control algorithm in the suspension controller as a backup control law.
[0090] like Figure 1 As shown, in this invention, the vision processor is located at the upper layer, and the suspension controller is located at the lower layer. Together, they constitute the active suspension fault-tolerant control center.
[0091] Vision Processor: Utilizing an embedded AI computing platform such as NVIDIA Jetson Orin NX, the built-in GPU boasts hundreds of CUDA cores and several gigabytes of video memory, while an external binocular vision module is connected. This vision processor is responsible for processing road surface preview information, calculating the vehicle's dynamics model, solving MPC quadratic programming problems, and ultimately outputting optimal control force commands for the four suspensions.
[0092] Suspension controller: Utilizes an automotive-grade MCU (such as the Infineon TC3xx series), connecting to the vehicle acceleration sensor, suspension travel sensor, and actuator drive circuit. The MCU incorporates an independent suspension control algorithm and fault monitoring module, receiving upper-level control commands and driving the actuators; it also takes over control in case of malfunctions.
[0093] It should be noted that this invention does not employ a hot standby architecture where a master-slave controller runs two complex algorithms simultaneously. Instead, it uses a layered heterogeneous architecture where the upper-level vision processor (graphics processor) runs the model predictive control master control algorithm, and the lower-level suspension controller (microcontroller) has a built-in ceiling control algorithm as a cold backup. This architecture has the following advantages:
[0094] (1) The microcontroller has extremely low computing power overhead and does not compete with the graphics processor for onboard computing resources. Under normal operating conditions, the suspension controller microcontroller only runs a lightweight roof control algorithm (i.e., Calculating the roof control force only requires multiplying the sprung mass vertical velocity (vsprung) with the preset roof damping coefficient (csky). This involves four multiplications across the four suspensions, resulting in minimal computational complexity. Simultaneously, the microcontroller performs parallel monitoring of the communication link status (CAN bus frame reception interval and CRC check) and monitoring of the model predictive control calculation timestamps. The majority of the microcontroller's computing power remains idle, not competing with the upper-level graphics processor's model predictive control solution tasks for onboard computing resources.
[0095] (2) When a fault occurs, the microcontroller has sufficient computing power margin to immediately take over, and the switching response time is within 15ms. When a communication link fault is detected (such as no new control frame received for 10 consecutive ms or multiple consecutive frame verification failures) or a model predictive control calculation fault (such as the calculation time for several consecutive control cycles exceeding the preset threshold of 5ms), the microcontroller immediately switches to the ceiling control mode within 15ms and presses the button. Output backup damping force. Since the microcontroller has been running the ceiling algorithm and monitoring continuously under normal operating conditions, there is no need to initialize complex algorithms or load model parameters when a fault occurs. The ceiling control force output can be directly switched to the actuator to achieve seamless switching. There is no jump in control force or impact peak in vehicle acceleration at the moment of switching.
[0096] (3) The ceiling control algorithm and the model predictive control algorithm are completely heterogeneous in terms of physical principles and computational architecture, ensuring the independence of the backup control law. The ceiling control algorithm relies only on the vertical velocity feedback of the sprung mass, which is a classic damping control strategy. It does not rely on the whole vehicle dynamics model and does not require online optimization. The model predictive control algorithm relies on the seven-degree-of-freedom whole vehicle dynamics model and requires online solution of the quadratic programming optimization problem. The two are completely heterogeneous in terms of physical principles (velocity feedback damping vs. model predictive optimization) and computational architecture (simple multiplication vs. matrix operation + iterative optimization). There are no common software defects, which ensures that when the upper-level model predictive control fails due to software anomalies or computation timeouts, the lower-level ceiling backup control law will not fail simultaneously for the same reason, achieving true safety redundancy.
[0097] 2) Establish a communication link between the vision processor and the suspension controller, and complete device handshake and clock synchronization through the communication link to achieve time-aligned data transmission between the vision processor and the suspension controller;
[0098] 3) Based on the communication link status between the vision processor and the suspension controller, and the running status of the optimal control force calculation task, switch the active suspension control mode to model predictive control mode or roof control mode.
[0099] If the communication link is normal and the optimal control force calculation task is running normally (i.e., the MPC algorithm calculation is normal), the active suspension control mode is the model prediction control mode. The GPU of the vision processor is used to execute the optimal control force calculation task to obtain the optimal control force, and the optimal control force is converted into drive commands to control the active suspension actuator, as follows:
[0100] The method for determining the status of the communication link is as follows: monitoring the signal transmission timeout and message verification error of the communication link. When no signal transmission timeout or message verification error is detected within the preset monitoring period, the communication link status is determined to be normal; when a signal transmission timeout is detected, or a message verification error is detected, or the communication link is interrupted, the communication link status is determined to be abnormal.
[0101] The method for determining the execution status of the optimal control force calculation task is as follows: obtain the calculation timestamp of each time the GPU outputs the optimal control force in the vision processor, and compare the time interval between two adjacent calculation timestamps with a preset calculation time threshold. Compare the results; when the time interval does not exceed the preset calculation time threshold. When the optimal control force calculation task is running normally, it is determined that the time interval exceeds the preset calculation time threshold. At that time, the optimal control force calculation task is judged to have timed out or stalled.
[0102] The active suspension actuator is any one of a linear motor, a hydraulic servo actuator, a pneumatic suspension, or a magnetorheological damper.
[0103] In this invention, the optimal control force is calculated in the following manner:
[0104] Ⅰ) Through the binocular vision module, the vehicle collects three-dimensional point cloud data of the road surface ahead, such as road elevation, speed bumps, and potholes, to obtain prior information on the road conditions ahead and plan the suspension adjustment strategy in advance, so as to avoid the suspension making a lagging response based solely on the vibration feedback of the vehicle body.
[0105] II) Acquire vehicle state information through several sensors and combine it with the seven-degree-of-freedom dynamic model of the whole vehicle to construct a discrete state-space model. The specific process is as follows:
[0106] This invention collects vehicle status information through several sensors, specifically including the vehicle's vertical velocity, pitch angular velocity, roll angular velocity, vertical velocity of the four unsprung masses, four suspension travels, and four tire deformations.
[0107] This invention uses a total of 15 state information points, including the vehicle body vertical velocity (m / s), pitch angular velocity (rad / s), roll angular velocity (rad / s), four unsprung mass vertical velocities (m / s), four suspension dynamic travels (m), and four tire deformations (m), as the state vector of the seven-degree-of-freedom dynamic model of the whole vehicle. The state vector is 15-dimensional and satisfies .
[0108] For the seven-degree-of-freedom dynamics model of the whole vehicle, this invention defines the corresponding control variables and disturbance variables. Specifically, the force values of the four active suspension actuators of the vehicle are used as the control variables of the seven-degree-of-freedom dynamics model, forming a 4-dimensional control vector. And satisfy The active actuator output force is measured in N; the road surface elevation at the four wheels is used as the disturbance quantity in the seven-degree-of-freedom dynamic model, forming a 4-dimensional disturbance vector. And satisfy The unit for road surface elevation is meters (m).
[0109] In this invention, "moment" refers to the current moment. "moment" refers to the next moment. "Moment" refers to the previous moment.
[0110] The seven-DOF model obtained based on the above method includes three degrees of freedom (vertical, pitch, and roll) for the vehicle body and four degrees of freedom (vertical) for the four wheels, totaling seven degrees of freedom. This model can comprehensively characterize the vertical dynamic response of the entire vehicle under road surface excitation. Its 15-dimensional state vector covers the vertical velocity of the vehicle body, pitch angular velocity, roll angular velocity, four unsprung mass vertical velocities, four suspension travels, and four tire deformations. The corresponding 11-dimensional output vector covers the vertical / pitch / roll angular acceleration of the vehicle body, four suspension travels, and four tire deformations. These correspond to three major categories of key evaluation indicators: ride comfort (vehicle acceleration), driving safety (suspension travel), and handling stability (tire contact force / tire deformation). This ensures that the optimization objectives of the model predictive control comprehensively cover the core performance requirements of the active suspension.
[0111] Based on the vehicle dynamics differential equations, the model is linearized at the equilibrium point of the seven-degree-of-freedom dynamics model of the whole vehicle, and then... Discretizing the sampling period of ms yields the standard state-space perturbation model (i.e., the state-space equations):
[0112]
[0113]
[0114] In the formula, for The state vector at time t, for The output vector at time step 1 for Control vector at time, for The perturbation vector at time t. The system state matrix ( (The unit is implicit in each state). To control the input matrix ( ), The perturbation input matrix ( ), For the output matrix ( ), For the feedforward matrix ( (The direct contribution of the control quantity to the output). For the perturbation feedforward matrix ( ).
[0115] In this invention, the output vector There are 11 dimensions in total, namely, vehicle vertical acceleration (m / s²), pitch acceleration (rad / s²), roll acceleration (rad / s²), four suspension travels (m), and four tire deformations (m).
[0116] Since onboard digital control systems can only process discrete-time signals and discrete iterative calculations, the state-space equations obtained by discretization in the above-mentioned manner can describe the dynamic mapping relationship between vehicle system state, control input and road disturbance in a standard iterative form. This enables the vehicle dynamics model to have digital computability, providing the necessary model foundation for the onboard controller to carry out real-time vehicle state iterative updates and control quantity calculations. This is the fundamental prerequisite for realizing the digital implementation and real-time control of vehicle dynamics models.
[0117] III) The state-space model is extended using the control vector from the previous time step to construct a 19-dimensional augmented state-space model. Prediction equations are then constructed based on this augmented state-space model. The specific process is as follows:
[0118] Traditional model predictive control directly uses the original state-space model for controller design. This control architecture lacks integral action. When the system enters steady-state operation, a constant steady-state deviation, i.e., steady-state error, will remain between the actual output and the target expected output, making it impossible to achieve zero steady-state error tracking of the output.
[0119] To achieve incremental control and eliminate steady-state error, this invention improves upon the original 15-dimensional state vector. Based on this, the previous moment (i.e. (Moment) 4D control vector of suspension actuator As new state variables, they are extended into the original state vector to construct a 19-dimensional augmented state vector:
[0120]
[0121] In the formula, for The augmented state vector at time step 19 has a dimension of 19, and the last four components are the output forces (N) of the four actuators at the previous time step. for The state vector at time t, for Control vector at time.
[0122] Correspondingly, the augmented system matrix is:
[0123]
[0124] In the formula, The augmented system state matrix, For the augmented control input matrix, The augmented perturbation input matrix, Let A be the augmented output matrix, B be the system state matrix, C be the control input matrix, D be the output matrix, and E be the disturbance input matrix. It is a 4×4 identity matrix. It is an all-zero matrix.
[0125] In other words, this invention expands the control quantity from the previous moment into the state vector, transforming the controller's solution variable from an absolute control quantity into a control increment. This is equivalent to introducing an integral mechanism into the control architecture, forming incremental model predictive control, thereby suppressing and eliminating the system's steady-state output deviation and achieving steady-state error-free tracking of the controlled variable to the desired reference value.
[0126] Based on the augmented system matrices, the augmented state-space model can be obtained, namely the augmented state equations and output equations:
[0127]
[0128]
[0129] The corresponding matrix form is:
[0130]
[0131]
[0132] In the formula, for The augmented output vector at time step 1. for The augmented state equation at time +1 for The augmented state of time, The augmented system state matrix, For the augmented control input matrix, The augmented perturbation input matrix, For the augmented output matrix, for Control increment vector at time ( (unit N) Let be the perturbation vector. This is the perturbation feedforward matrix.
[0133] Let the future output sequence be denoted as The future control increment sequence is denoted as The future road surface disturbance sequence is denoted as :
[0134]
[0135] In the formula, For future output sequence records, Future control incremental sequence recording, Record the future road surface disturbance sequence. for The augmented output vector at time step 1. for The control increment vector at each time step, Let be the perturbation vector. To control the time domain, For prediction in the time domain.
[0136] , is a column vector sequence consisting of all output quantities of the system in the prediction time domain, including controlled observed outputs such as vehicle acceleration and suspension travel, which are the target quantities that the controller needs to constrain and track.
[0137] , represents the sequence of changes in the control force of the suspension actuator at each sampling moment in the prediction time domain, and is the decision variable to be solved in the MPC optimization problem, representing the adjustment amplitude of the control force at each step.
[0138] For predicting the sequence of external disturbances in the time domain, the corresponding future road surface elevation disturbances in the active suspension system are obtained through advance aiming, which are external inputs that can be known in advance.
[0139] Based on future output sequence Future control increment sequence Future road surface disturbance sequence In the prediction time domain and control time domain Inside, utilizing The prediction equation is constructed using the power of the system matrix and the formula of the prediction equation:
[0140]
[0141] In the formula, For the future Step output sequence, unit and Consistent; For the future Step control increment sequence, unit N; For the future Step-by-step road surface disturbance sequence, in meters; State prediction matrix ( ), by each step composition; To control the prediction matrix ( ),Depend on Power, and Recursive construction; For the perturbation prediction matrix ( ),Depend on Power, and Recursive construction;
[0142] In the prediction equation " In the context of the state prediction matrix... Control prediction matrix Perturbation prediction matrix All are based on augmented matrices The matrix is generated recursively, row by row, to integrate the effects of three types of inputs—the current state, the control increment to be optimized, and road disturbance—on the future output. The mathematical expressions for each matrix are shown below:
[0143] ① State prediction matrix (dimension) ):
[0144]
[0145] In the formula, This is the state prediction matrix. For the augmented output matrix, The augmented system state matrix, For prediction in the time domain;
[0146] ② Control Prediction Matrix (dimension) , ):
[0147] Control Prediction Matrix The Middle Each row block ( ) and the Column blocks ( The expression for ) is:
[0148]
[0149] For example, when hour:
[0150]
[0151] In the formula, To control the prediction matrix, For the augmented output matrix, The augmented system state matrix, D is the augmented control input matrix, and D is the feedforward matrix;
[0152] ③ Perturbation prediction matrix (dimension) ):
[0153] Perturbation prediction matrix The Middle The first row block and the first Column blocks ( ,correspond The expression for ) is:
[0154]
[0155] In the formula, The perturbation prediction matrix is... The augmented system state matrix, The augmented perturbation input matrix, For the augmented output matrix, This is the perturbation feedforward matrix.
[0156] In this invention, the MPC prediction equation, based on the augmented state-space model, uses the current system state as the starting point for computation. It can quickly calculate the vehicle dynamics output response at each sampling moment within the entire prediction time domain for any set of hypothetical future control increment sequences. It establishes an explicit matrix mapping between the system state, control increments, road disturbances, and future system output, avoiding time-by-time recursive iterations and enabling rapid prediction of the vehicle's future dynamic behavior.
[0157] IV) Based on the prediction equation matrix, construct the standard quadratic programming (QP) problem, as follows:
[0158] In this invention, the control objective of MPC is to minimize vehicle body vibration acceleration and suspension telescopic displacement, while avoiding significant abrupt changes in suspension control force. Based on this comprehensive control requirement, a quadratic cost function is constructed as follows:
[0159]
[0160] in,
[0161]
[0162]
[0163]
[0164]
[0165] In the formula, It is a quadratic cost function. For reference output trajectory ( ), often taking the zero vector; To output the diagonal matrix of the weight blocks, For Kronecker product; The weighting coefficient for vertical acceleration (dimensionless). The weighting coefficient for pitch acceleration (dimensionless). The weighting coefficient for the roll acceleration is dimensionless. This is the suspension dynamic travel weighting coefficient (dimensionless). This is the tire deformation weighting coefficient (dimensionless). To control the diagonal matrix of the incremental weight blocks, To control the incremental penalty coefficient (dimensionless). It is a 4×4 identity matrix.
[0166] Substituting the prediction equation into the cost function, expanding it, and ignoring the constant term, transforms it into a standard quadratic programming form:
[0167]
[0168]
[0169] in,
[0170]
[0171]
[0172] In the formula, It is a Hessian matrix. It is a linear vector. For the future Step control increment sequence, To control the incremental lower bound vector, This is the control increment for the current sampling period. To control the incremental limit, This is the lower limit vector of the actuator output force. This represents the actual output force vector of the four actuators in the previous control cycle. It is a lower triangular cumulative matrix. This is the upper limit vector of the actuator output force. To control the prediction matrix, To output the diagonal matrix of the weight blocks, To control the diagonal matrix of the incremental weight blocks, This is the state prediction matrix. For the current augmented state, The perturbation prediction matrix is... For the future Step-by-step road surface disturbance sequence.
[0173] ,satisfy:
[0174]
[0175] In the formula, For the future The complete four-wheel control force sequence of the step, It is a lower triangular cumulative matrix. For the future Step control increment sequence, The output force vector of the previous control cycle. for A column vector of all 1s.
[0176] V) Using the GPU in the vision processor, the quadratic programming problem is solved iteratively by combining the projection gradient method and Nesterov momentum to obtain the optimal control force for the current cycle. The specific process is as follows:
[0177] Traditional QP solving methods (such as the active set method and interior point method) still require a lot of iterations and global synchronization on GPUs, making it difficult to meet real-time requirements of less than 10ms. This invention proposes a parallel projective gradient method optimized for GPU hardware architecture. Its core idea is to divide inequality constraints into two categories for processing:
[0178] ① Control the increment Box constraints: can be satisfied directly through projection operations, without the need to introduce Lagrange multipliers;
[0179] ② Control quantity amplitude constraint: The penalty function method is used to transform it into a differentiable penalty term in the objective function, thereby simplifying the problem into unconstrained optimization (only retaining the box projection).
[0180] Specifically, the amplitude constraint is implemented using an "external penalty" method. This is equivalent to adding a penalty term to the cost function (objective function), retaining only the control increment box constraints for the projection operation, thus constructing the total cost function as follows:
[0181]
[0182] In the formula, Let cost function be To control the incremental sequence, It is a Hessian matrix. It is a linear vector. The penalty weight is dimensionless, and 8~20 is recommended. This is an external penalty term for controlling the amplitude constraint of the quantity.
[0183] Among them, the penalty item for:
[0184]
[0185]
[0186] In the formula, For the first Prediction step, first Predictive control force of an actuator This is the upper limit of the actuator's output force. This is the lower limit of the actuator output force. For the previous control cycle The actual output force of each actuator For vectors The Middle The first block vector of the th block vector The component represents the number of components up to the 1st. The cumulative value of control increments up to the prediction step. It is a lower triangular cumulative matrix. For the future Step control increment sequence.
[0187] The gradient of the penalty term can be calculated analytically. For the indivual Components (corresponding to the first) The first control step and the first (number of wheels), the penalty gradient is:
[0188]
[0189] in:
[0190]
[0191] In the formula, For the constraint penalty component of the j-th wheel in the i-th step, The actuator outputs force for the j-th wheel in the i-th step. To constrain penalties, For the r-th optimal control increment component, For cumulative matrix Zhongyou arrive The linear coefficients; For global indexing, ; To control the step sequence, This is the upper limit of the actuator's output force. This is the lower limit of the actuator output force.
[0192] It is worth noting that, in this invention, during the iterative solution process using the GPU in the visual processor, the following parallel strategy is adopted to achieve extremely low latency for each iteration:
[0193] ① Thread allocation: Start 80 CUDA threads, each thread is responsible for one Components (a total of 4 control variables × control time domain) A total of 80 Each thread independently calculates the basic gradient, penalty gradient, and projection operation for the corresponding component, effectively avoiding redundant thread scheduling overhead and load imbalance issues, and ensuring parallel computing efficiency.
[0194] ② Shared memory: This involves using the Hessian matrix... (80×80) and vector , Once fully loaded into the GPU shared memory (approximately 27KB), global memory access latency is avoided. This memory configuration is precisely suited to the data storage requirements of this invention. The 80×80 Hessian matrix stored in single precision occupies 25.6KB, and the gradient vector and decision variable vector each occupy 320 bytes, for a total space of approximately 26.24KB. All core data for the quadratic programming solution can reside in shared memory, achieving zero global memory access during the solution process, avoiding the high access latency of hundreds of clock cycles in global memory, and significantly reducing the time consumed per iteration.
[0195] ③ Penalty gradient calculation: Each thread calculates its own control step index. and wheel weight The control force at the current prediction time is obtained by using prefix sum recursion. Then, the penalty gradient is calculated by traversing the entire prediction time domain. This process does not require synchronization between threads. The partial derivatives of the penalty term with respect to each decision variable component can be solved quickly by prefix sum recursion. Each thread can independently complete the gradient calculation of its own component without setting thread synchronization barriers. Compared with the global reduction calculation method of general quadratic programming solvers, it significantly reduces iteration latency.
[0196] ④ Synchronization strategy: _syncthreads() is executed only once per iteration to ensure that all threads update accordingly. The vectors are consistent before the next iteration begins.
[0197] ⑤ Warm-start: Use the optimal solution of the previous control cycle as the starting point of the current cycle to further reduce the number of iterations required.
[0198] Based on this, the present invention employs Nesterov-accelerated projective gradient descent for iterative solution, specifically consisting of 5 sub-steps within a single iteration, computed in parallel by 80 threads, with a global synchronization at the end of each round. The steps of each iteration are as follows:
[0199] initialization:
[0200]
[0201] In the formula, For the first Decision variables for the next iteration This is the optimal control increment sequence obtained from the previous round of MPC solving. For the first Nesterov accelerated extrapolation point in the next iteration For the first The Nesterov auxiliary sequence for the next iteration;
[0202] No. The next iteration ( ):
[0203] (1) Calculate the basic gradient in parallel according to the following formula:
[0204] ;
[0205] In the formula, For the first The gradient generated by the quadratic term in the next iteration. It is a Hessian matrix. For the first Nesterov accelerated extrapolation point in the next iteration It is a linear vector;
[0206] (2) Calculate the penalty gradient in parallel according to the following formula:
[0207] ;
[0208] In the formula, The gradient of the penalty term, As a penalty weight, For the penalty function, For the first Nesterov accelerated extrapolation point in the next iteration For gradient operators;
[0209] In this invention, the calculation of the penalty gradient is implemented in the GPU kernel function through prefix sum recursion. 80 CUDA threads are started, each thread is responsible for one component (a total of 4 control variables × control time domain, totaling 80). The Hessian matrix and vector are loaded into the GPU shared memory (about 27KB). The synchronization barrier operation is performed only once in each iteration.
[0210] (3) Perform gradient descent by fusing the basic gradient and the penalty gradient according to the following formula, and then perform box-constrained Euclidean projection to calculate the first... Decision variables for +1 iteration:
[0211] ;
[0212] In the formula, For the first Decision variables for +1 iterations For the first Nesterov accelerated extrapolation point in the next iteration Step size (suggested) , (This is the upper bound of the gradient of the objective function using the Lipschitz constant). For the basic gradient, To penalize the gradient, For box constraint set Euclidean projection;
[0213] in,
[0214]
[0215] Projection operation is to truncate component by component. .
[0216] (4) Update the Nesterov parameters according to the following formula:
[0217] ;
[0218] In the formula, For the first Nesterov auxiliary sequence for the next iteration For the first Nesterov auxiliary sequence for the next iteration For the first Nesterov momentum coefficients in the next iteration;
[0219] (5) Based on the first For the decision variables in +1 iterations, calculate the Nesterov extrapolation points according to the following formula:
[0220] ;
[0221] In the formula, For the first Nesterov accelerated extrapolation point in the next iteration For the first Decision variables for +1 iterations For the first The decision variables for the next iteration ( (estimated value) For the first Nesterov momentum coefficients in the next iteration;
[0222] (6) After all variables have been updated in this iteration, execute the global thread synchronization operation __syncthreads(), which waits for all parallel threads to complete all calculations in this round, ensuring consistency between reading and writing iteration variables. The next iteration can only begin after all threads have been synchronized.
[0223] In other words, in this invention, the basic gradient of the quadratic term and the gradient of the penalty term are first calculated in parallel. Then, the basic gradient and the penalty gradient are superimposed to obtain the total gradient. Next, gradient descent is performed based on the Nesterov extrapolation point and the total gradient. A new round of feasible decision variables is generated by combining box constraint projection. Subsequently, the auxiliary sequence, momentum coefficient, and Nesterov extrapolation point are iteratively updated according to the previous round of Nesterov auxiliary sequence. Finally, the closed-loop calculation of this round is completed synchronously through threads, and the updated Nesterov extrapolation point is used as the input parameter for the new round of gradient iteration.
[0224] The number of iterations is typically 150-300, with a step size of... ,in It is the largest eigenvalue of the Hessian matrix.
[0225] After the vision processor calculates the optimal control force, it converts the optimal control force into a drive command, which is then sent to the active suspension actuator via the communication bus to control the suspension action.
[0226] In this invention, the suspension controller continuously performs dual-dimensional fault monitoring in parallel. First, it monitors whether the communication bus signal is interrupted or invalidated. Second, it analyzes timestamps to determine whether the MPC solution has timed out or is stuck. If the suspension controller determines there is no fault, the vision processor converts the optimal control force into drive commands and outputs them to the active suspension actuator.
[0227] By adopting the above strategy, the average MPC solution time of this invention on the Jetson Orin NX platform is about 2.5ms, with a maximum of no more than 6ms, which fully meets the 10ms control cycle requirement.
[0228] It is worth noting that in this invention, the GPU in the vision processor directly extracts the road surface disturbance at the four wheels at the current moment and the future disturbance from the point cloud data through interpolation and coordinate transformation. perturbation sequence of steps The data is then directly substituted as a known perturbation in the MPC prediction model. The entire data parsing, state expansion, and prediction matrix operations are all completed in the GPU's local memory, eliminating the need to transmit the raw point cloud data via the vehicle bus and avoiding the bandwidth consumption and transmission delay caused by massive point cloud data.
[0229] Furthermore, the GPU is equipped with 8GB of video memory, which can simultaneously hold binocular visual point cloud data and matrix data such as the state prediction matrix Φ, control prediction matrix Γ, disturbance prediction matrix Ψ, and Hessian matrix H required for model predictive control solving. Visual perception and control solving share the same video memory space, eliminating the need for data copying between different hardware modules. The GPU ultimately only sends the solved four-dimensional optimal control force u(k) (32-bit floating-point number per dimension, totaling 16 bytes) to the lower-level suspension controller via the CAN FD bus, significantly reducing bus load and decision latency. In addition, the model predictive control solving task and the environmental perception task can be time-sharing. They can be executed in parallel through CUDA streaming or time-sharing multiplexing of GPU computing power, realizing the reuse of perception computing power for chassis control without the need for additional dedicated control chips. The above architecture achieves integrated perception and decision-making. If the communication link signal is interrupted or invalid, or if the optimal control force calculation task times out or gets stuck, the active suspension control mode is the skylight control mode. The suspension controller obtains the vertical motion state of the vehicle body and calculates the skylight control force in combination with the skylight control algorithm. The skylight control force is then converted into drive commands to control the active suspension actuator.
[0230] In this invention, the pre-set Skyhook control algorithm within the suspension controller (MCU) serves as a heterogeneous physical backup independent of the GPU, and its fault monitoring covers the following two dimensions:
[0231] ① Communication Link Monitoring: The MCU determines the communication status by monitoring the frame reception interval and CRC check errors of the CAN bus. If no new control frame is received for 10ms consecutively, or if multiple consecutive frame checks fail, the communication is considered interrupted / invalid.
[0232] ② Computation Status Monitoring: The MCU parses the GPU computation timestamp carried by the correctly received MPC control commands. If the computation time exceeds a preset threshold (e.g., 5ms) for several consecutive control cycles, it is determined to be a computation failure.
[0233] When any fault is triggered, the MCU seamlessly switches to the built-in Skyhook control law within 15ms and calculates the backup damping force according to the following formula:
[0234]
[0235] In the formula, The ceiling control force vector ( (unit: N), each component corresponds to four suspensions; The preset ceiling damping coefficient (N·s / m) is determined by calibration experiments; The vertical velocity of the sprung mass of each suspension ( (in m / s), obtained from sensors or state observers.
[0236] After continuously monitoring and confirming that the bus has recovered and MPC calculations are normal and maintained for several cycles, switch back to MPC master control mode.
[0237] It is worth noting that directly deploying the aforementioned 7DOF MPC algorithm on a typical automotive MCU (such as the Infineon TC365) is physically infeasible for the following reasons: the MCU has only 672KB of total RAM, and after deducting system usage, less than 500KB is usable, while the matrix is only used during MPC operation. (880×19) (880×80) The single-precision memory required for an 880×324 array is approximately 1.54MB, and when combined with the Hessian matrix and working vectors, it far exceeds the RAM capacity. Even with dynamic construction, QP solutions still require a large amount of intermediate memory, inevitably leading to overflow.
[0238] Meanwhile, for explicit MPC solutions, which are often used to address insufficient MCU computing power, under the 19-dimensional augmented state parameter space and 11 types of constraints in this problem, the number of offline partitions for explicit MPC will reach [number missing]. For quantities exceeding this level, the offline build time, storage space, and online table lookup complexity all exceed the capabilities of any automotive hardware, rendering them impractical in engineering. Therefore, the online MPC+GPU accelerated approach proposed in this invention is the only physically feasible real-time control solution for this specific high-dimensional suspension problem.
[0239] Most importantly, in this invention, the model predictive control algorithm transforms the quadratic programming problem into an optimization process with a deterministic matrix structure. By explicitly handling safety constraints such as suspension travel and actuator force limits, it mathematically ensures that these constraints are not violated. The computational cost of each iteration is determined by the dimension of the state space matrix and the prediction and control time domains. Specifically, the Hessian matrix dimension is 80×80, and the number of iterations is 200. The time consumed in a single iteration is deterministic and predictable. Based on this deterministic characteristic of computational time, by monitoring the comparison between the computation timestamp of the GPU output control force and the preset time threshold (5ms), it is possible to reliably determine whether the computation process has timed out or stalled, thereby achieving fault monitoring based on computation timestamps.
[0240] The vision processor (GPU) adopts a local perception and decision-making integrated architecture. The GPU integrates both binocular vision point cloud processing capabilities and large-memory matrix computation capabilities, enabling the entire process from road surface preview to model predictive control (MDC) solution to be completed on the same hardware, eliminating the bottleneck of transmitting raw visual data via a bus. Furthermore, the GPU's 8GB of memory can simultaneously hold binocular vision point cloud data and model predictive control matrix data (state prediction matrix Φ, control prediction matrix Γ, disturbance prediction matrix Ψ, Hessian matrix H, etc.), achieving memory sharing between perception and control. The GPU ultimately only sends the obtained four-dimensional optimal control force (32-bit floating-point numbers per dimension, totaling 16 bytes) to the lower-level suspension controller via the CAN FD bus. In addition, the model predictive control solution task and the environmental perception task can be time-sharing, executed in parallel via CUDA streaming or time-sharing multiplexing of GPU computing power, achieving reuse of perception computing power for chassis control without the need for additional dedicated control chips.
[0241] The pre-installed canopy control algorithm in the lower-level suspension controller serves as a backup control law. Under normal operating conditions, it remains in a cold backup state and does not participate in real-time control calculations. This avoids competition for onboard computing resources with the graphics processor of the upper-level vision processor. Furthermore, in the event of a fault, there is no need to initialize complex algorithms; the output canopy control force can be switched directly within 15ms. The calculation formula for the canopy control algorithm is as follows: It only requires multiplication of the vertical velocity of the sprung mass with the preset damping coefficient, resulting in minimal computation. Furthermore, it is completely heterogeneous with the model predictive control algorithm in terms of physical principles and computational architecture, and there are no common software defects, ensuring the independence of the backup control law.
[0242] The graphics processor employs a parallel projection gradient method combined with a Nesterov momentum acceleration strategy to iteratively solve the quadratic programming problem. Eighty CUDA threads correspond one-to-one with eighty-dimensional decision variables, with each thread responsible for the gradient calculation and projection operation of one decision variable component. 27KB of shared memory accommodates the 80×80 Hessian matrix, gradient vector, and decision variable vector, ensuring that core data resides entirely within shared memory. Penalized gradient calculation utilizes the lower triangular structure of the control quantity accumulation matrix, recursively using prefix sums without requiring inter-thread synchronization. Inequality constraints are divided into control increment box constraints and actuator force amplitude constraints, handled separately, requiring only one global thread synchronization barrier execution per iteration. This parallel optimization for a specific structure of active suspension model predictive control reduces the solution time of the 80-dimensional quadratic programming problem on the Jetson Orin NX embedded graphics processor to an average of approximately 2.985ms, meeting the 10ms control cycle requirement. This makes it practically possible for the upper-level graphics processor to run high-dimensional seven-DOF model predictive control.
[0243] Through the synergistic combination of the above-mentioned technical features, the present invention achieves a comprehensive improvement in the active suspension system in multiple dimensions, including driving comfort, system safety, real-time control, fault tolerance reliability, and environmental adaptability.
[0244] Based on the above method, the present invention also relates to an active suspension fault-tolerant control system based on heterogeneous computing, comprising:
[0245] A binocular vision module, connected to the vision processor, is used to collect road surface preview information, including three-dimensional point cloud data of road surface elevation, speed bumps, and potholes, and send the road surface preview information to the GPU of the vision processing module.
[0246] The vision processing module contains a graphics processing unit (GPU) for receiving road surface preview information and using the built-in GPU to perform the optimal control force calculation task. Specifically, it outputs the optimal control force through the model predictive control (MPC) algorithm and the parallel projected gradient method combined with Nesterov momentum acceleration. The optimal control force calculation task adopts the model predictive control algorithm.
[0247] A communication bus module connects the vision processor and the lower-level suspension controller, and is used to establish a communication link between the vision processor and the suspension controller to realize data transmission between the vision processing module and the suspension control module.
[0248] The suspension control module integrates a Skyhook control algorithm to monitor the link status of the communication bus module and the execution status of the model predictive control algorithm. Based on the link status and execution status, it switches the control mode of the active suspension to model predictive control mode or Skyhook control mode and outputs drive commands.
[0249] The active suspension execution module is used to apply active force to the vehicle body according to the drive commands output by the suspension control module.
[0250] In other words, this invention provides an active suspension fault-tolerant control method and system based on heterogeneous computing, aiming to solve the following technical problems:
[0251] (1) To address the shortcomings of deep reinforcement learning algorithms in active suspension safety-critical scenarios, such as lack of explicit constraint guarantees, poor interpretability, and difficulty in functional safety certification, model predictive control is adopted as the main control algorithm. Through explicit quadratic programming constraint processing, it can ensure that safety constraints such as suspension travel and actuator force limit are met, and the control logic is transparent and interpretable, which facilitates functional safety certification.
[0252] (2) To address the shortcomings of master-slave instruction deviation monitoring in heterogeneous dual-controller architecture, such as detection delay and the simultaneous operation of master and slave algorithms exacerbating computing power competition, a hierarchical heterogeneous architecture is adopted, in which the upper-layer vision processor and graphics processor run the model predictive control master control algorithm, and the lower-layer suspension controller microcontroller has a built-in canopy control algorithm as a cold backup. The architecture directly monitors the communication link status and the model predictive control calculation timestamp. In case of failure, it switches to canopy backup within 15ms. Under normal operating conditions, the microcontroller only runs the lightweight canopy algorithm and does not compete with the graphics processor for vehicle computing power resources.
[0253] (3) To address the shortcomings of increased latency and bus load due to the multi-module transfer of LiDAR pre-aiming data and the limited reliability in rainy and foggy weather, the existing binocular vision module of the intelligent driving system is used to directly complete the integrated perception and decision processing of point cloud interpolation, road disturbance sequence extraction and model predictive control solution on the local graphics processor of the vision processor. Only the final four-dimensional optimal control force (16 bytes in total) is sent to the suspension controller through the vehicle bus, which greatly reduces the bus load and decision delay.
[0254] (4) To address the need for real-time solution of the model predictive control quadratic programming problem of a high-dimensional seven-degree-of-freedom vehicle model (19-dimensional augmented state, prediction time domain Np=80, control time domain Nc=20) on an embedded graphics processor, a targeted solution scheme combining parallel projection gradient method of graphics processor with Nesterov momentum acceleration is designed. The specific matrix structure of the active suspension model predictive control problem (80-dimensional decision variables, lower triangular cumulative matrix, box constraints and amplitude constraints) is used for customized optimization, compressing the single solution to an average of about 2.985ms (maximum about 6.263ms), which meets the real-time requirement of a 10ms control cycle.
[0255] In this invention, the optimal control force calculation task based on Model Predictive Control (MPC) is deployed in the graphics processing unit (GPU) of the upper-level vision processor. The parallel computing capability of the GPU solves the problems of high computational load in the MPC algorithm and poor real-time performance of traditional microcontrollers (MCUs). The vision processor directly processes the road surface preview information acquired by binocular vision within the GPU and uses it as input to the MPC algorithm, achieving integrated perception and decision-making. The lower-level suspension controller incorporates a Skyhook control algorithm as a backup control law and monitors the communication link status with the vision processor and the calculation status of the MPC algorithm in real time. When a communication signal interruption, invalidity, or MPC algorithm timeout or lag is detected, the suspension controller automatically switches to the backup control law and outputs the Skyhook control force to ensure system safety. Furthermore, this invention discloses a parallel projection gradient method optimized for GPU hardware architecture. By using Nesterov momentum acceleration and penalty function method to handle constraints, the time for a single MPC solution is compressed to less than 3 milliseconds. While improving control accuracy, the real-time performance, reliability and robustness of the active suspension system are significantly enhanced through localized data processing and multi-dimensional redundancy architecture.
[0256] Based on the above approach, the following is an example:
[0257] Example 1: Linear motor active suspension system (using road elevation as the primary pre-aiming signal)
[0258] 1) Add a vision processor to the road surface preview / assisted driving system and deploy the optimal control force calculation task in the vision processor. The optimal control force calculation task adopts the model predictive control algorithm, and deploy the roof control algorithm in the suspension controller as a backup control law.
[0259] In this example, the vision processor uses an NVIDIA Jetson Orin NX platform (GPU with 1024 CUDA cores, 5.3 TFLOPS dense floating-point computing power, and 8 GB of memory). The binocular vision module acquires a 3D point cloud of the road surface 15m ahead, with a spatial resolution of approximately 0.02m. The suspension controller uses an Infineon Aurix TC365 MCU, which internally incorporates the Skyhook backup algorithm. Communication uses a CAN FD bus at a rate of 500kbps, sending one frame of control command every 10ms.
[0260] In this embodiment, the binocular vision module acquires point cloud data and transmits it to the GPU texture memory via PCIe. A CUDA kernel function uses the pre-aiming data interpolation based on the vehicle's front axle position and speed to obtain the current road surface elevation of the four wheels and the future 80-step perturbation sequence W(k), which is then directly substituted into Ψ for calculation. The GPU does not send any raw visual data via CAN.
[0261] 2) Establish a communication link between the vision processor and the suspension controller, and complete device handshake and clock synchronization through the communication link to achieve time-aligned data transmission between the vision processor and the suspension controller;
[0262] 3) Based on the communication link status between the vision processor and the suspension controller, and the running status of the optimal control force calculation task, switch the control mode of the active suspension to model predictive control mode or roof control mode.
[0263] If the communication link is normal and the optimal control force calculation task is running normally, the control mode of the active suspension is the model prediction control mode. The GPU of the vision processor is used to execute the optimal control force calculation task to obtain the optimal control force, and the optimal control force is converted into drive commands to control the active suspension actuator.
[0264] The method for determining the status of the communication link is as follows: monitoring the signal transmission timeout and message verification error of the communication link. When no signal transmission timeout or message verification error is detected within the preset monitoring period, the communication link status is determined to be normal; when a signal transmission timeout is detected, or a message verification error is detected, or the communication link is interrupted, the communication link status is determined to be abnormal.
[0265] The method for determining the execution status of the optimal control force calculation task is as follows: obtain the calculation timestamp of each time the GPU outputs the optimal control force in the vision processor, and compare the time interval between two adjacent calculation timestamps with a preset calculation time threshold. Compare the results; when the time interval does not exceed the preset calculation time threshold. When the optimal control force calculation task is running normally, it is determined that the time interval exceeds the preset calculation time threshold. At that time, the optimal control force calculation task is judged to have timed out or stalled.
[0266] In this embodiment, the optimal control force is calculated in the following manner:
[0267] Ⅰ) Through the binocular vision module, the vehicle collects road surface preview information in front of it, with road surface elevation as the main preview signal. This is used to obtain prior information about the road conditions ahead, and to plan the suspension adjustment strategy in advance, so as to avoid the suspension making a lagging response based solely on the vibration feedback of the vehicle body.
[0268] II) Acquire vehicle state information through several sensors and, in conjunction with the seven-degree-of-freedom dynamics model of the entire vehicle, construct a discrete state-space model:
[0269]
[0270]
[0271] In the formula, for The state vector at time t, for The output vector at time step 1 for Control vector at time, for The perturbation vector at time t. The system state matrix ( (The unit is implicit in each state). To control the input matrix ( ), The perturbation input matrix ( ), For the output matrix ( ), For the feedforward matrix ( (The direct contribution of the control quantity to the output). For the perturbation feedforward matrix ( ).
[0272] State vector This includes the vehicle's vertical velocity (m / s), pitch angular velocity (rad / s), roll angular velocity (rad / s), the vertical velocities of the four unsprung masses (m / s), the four suspension travels (m), and the four tire deformations (m).
[0273] Control Vector This includes the force values of the four active suspension actuators.
[0274] perturbation vector This includes the road surface elevation at the four wheel locations.
[0275] Output vector There are 11 dimensions in total, namely, vehicle vertical acceleration (m / s²), pitch acceleration (rad / s²), roll acceleration (rad / s²), four suspension travels (m), and four tire deformations (m).
[0276] This embodiment uses several sensors to collect vehicle parameters, as detailed below:
[0277] Sprout mass kg, pitch inertia kg·m², moment of inertia kg·m², wheelbase m, front wheelbase m, rear wheelbase m, half the wheelbase m, the unsprung mass of all four wheels is 35 kg, and the suspension spring stiffness is... N / m, damper damping N·s / m, tire stiffness N / m.
[0278] III) The state-space model is extended using the control vector from the previous time step to construct a 19-dimensional augmented state-space model. Prediction equations are then constructed based on this augmented state-space model. The specific process is as follows:
[0279] To achieve incremental control and eliminate steady-state error, this embodiment uses the original 15-dimensional state vector. Based on this, the previous moment (i.e. (Moment) 4D control vector of suspension actuator As new state variables, they are extended into the original state vector to construct a 19-dimensional augmented state vector:
[0280]
[0281] In the formula, for The augmented state vector at time step 19 has a dimension of 19, and the last four components are the output forces (N) of the four actuators at the previous time step. for The state vector at time t, for Control vector at time.
[0282] Correspondingly, the augmented system matrix is:
[0283]
[0284] In the formula, The augmented system state matrix, For the augmented control input matrix, The augmented perturbation input matrix, Let A be the augmented output matrix, B be the system state matrix, C be the control input matrix, D be the output matrix, and E be the disturbance input matrix. It is a 4×4 identity matrix. It is an all-zero matrix.
[0285] Based on the augmented system matrices, the augmented state-space model can be obtained, namely the augmented state equations and output equations:
[0286]
[0287]
[0288] The corresponding matrix form is:
[0289]
[0290]
[0291] In the formula, for The augmented output vector at time step 1. for The augmented state equation at time +1 for The augmented state of time, The augmented system state matrix, For the augmented control input matrix, The augmented perturbation input matrix, For the augmented output matrix, for Control increment vector at time ( (unit N) Let be the perturbation vector. This is the perturbation feedforward matrix.
[0292] Let the future output sequence be denoted as The future control increment sequence is denoted as The future road surface disturbance sequence is denoted as :
[0293]
[0294] In the formula, For future output sequence records, Future control incremental sequence recording, Record the future road surface disturbance sequence. for The augmented output vector at time step 1. for The control increment vector at each time step, Let be the perturbation vector. To control the time domain, For prediction in the time domain.
[0295] , is a column vector sequence consisting of all output quantities of the system in the prediction time domain, including controlled observed outputs such as vehicle acceleration and suspension travel, which are the target quantities that the controller needs to constrain and track.
[0296] , represents the sequence of changes in the control force of the suspension actuator at each sampling time in the prediction time domain, and is the decision variable to be solved in the MPC optimization problem, representing the adjustment amplitude of the control force at each step.
[0297] For predicting the sequence of external disturbances in the time domain, the corresponding future road elevation disturbances in the active suspension system are obtained through advance aiming, which are external inputs that can be known in advance.
[0298] Based on future output sequence Future control increment sequence Future road surface disturbance sequence In the prediction time domain and control time domain Inside, utilizing The prediction equation is constructed using the power of the system matrix and the formula of the prediction equation:
[0299]
[0300] In the formula, For the future Step output sequence, unit and Consistent; For the future Step control increment sequence, unit N; For the future Step-by-step road surface disturbance sequence, in meters; State prediction matrix ( ), by each step composition; To control the prediction matrix ( ),Depend on Power, and Recursive construction; For the perturbation prediction matrix ( ),Depend on Power, and Recursive construction;
[0301] In the prediction equation " In the context of the state prediction matrix... Control prediction matrix Perturbation prediction matrix All are based on augmented matrices The matrix is generated recursively, row by row, to integrate the effects of three types of inputs—the current state, the control increment to be optimized, and road disturbance—on the future output. The mathematical expressions for each matrix are shown below:
[0302] ① State prediction matrix (dimension) ):
[0303]
[0304] In the formula, This is the state prediction matrix. For the augmented output matrix, The augmented system state matrix, For prediction in the time domain;
[0305] ② Control Prediction Matrix (dimension) , ):
[0306] Control Prediction Matrix The Middle Each row block ( ) and the Column blocks ( The expression for ) is:
[0307]
[0308] For example, when hour:
[0309]
[0310] In the formula, To control the prediction matrix, For the augmented output matrix, The augmented system state matrix, D is the augmented control input matrix, and D is the feedforward matrix;
[0311] ③ Perturbation prediction matrix (dimension) ):
[0312] Perturbation prediction matrix The Middle The first row block and the first Column blocks ( ,correspond The expression for ) is:
[0313]
[0314] In the formula, The perturbation prediction matrix is... The augmented system state matrix, The augmented perturbation input matrix, For the augmented output matrix, This is the perturbation feedforward matrix.
[0315] In this embodiment, the 7DOF active suspension model and MPC parameters are as follows:
[0316] Construct the state space matrix and discretize it according to the method described in the invention. s), after augmentation, we get (19×19) (19×4) (19×4) (11×19). MPC weights: The output weight matrix is taken as... Control Incremental Penalty Matrix Constraint: Control incremental amplitude limit N, peak force of the actuator N, N; Suspension dynamic travel limit ±0.08 m, tire dynamic compression limit 0.015 m (soft constraint). Prediction time domain Control time domain Sampling period s.
[0317] In this embodiment, the prediction time domain is... =80 corresponds to in Predicting the system response for the next 0.8 seconds (80 × 10 ms = 0.8 s) with a sampling period of 10 ms is sufficient to cover the dynamic response of the active suspension under typical road surface excitation (the dominant frequency of vertical vibration of the vehicle body is usually between 1 Hz and 2 Hz, and 0.8 s covers about 1 to 2 vibration cycles), while avoiding the surge in matrix dimensions and excessive computation caused by an excessively long prediction time domain. Control Time Domain =20 corresponds to optimizing the control increment for the next 0.2 seconds (20 × 10 ms = 0.2 s), achieving a balance between control quality and decision variable dimensions.
[0318] It is worth noting that in this embodiment, in With a configuration of 20 and 4 actuators, the dimension of the decision variable ΔU is: ×4 = 20 × 4 = 80 dimensions, so the dimension of the Hessian matrix H is 80 × 80. This problem size precisely matches the configuration of 80 CUDA threads (each thread responsible for one decision variable component) and 27KB shared memory (precisely accommodating the 80 × 80 Hessian matrix plus gradient vector and decision variable vector) in the parallel solution scheme of the graphics processor in this invention, forming a synergistic optimization from dynamic model parameters to the parallel strategy of the graphics processor. If If the values are different, the dimensions of the decision variables change, and the configuration of 80 threads and 27KB shared memory will no longer be a precise match, resulting in a decrease in parallel efficiency.
[0319] Controlling incremental limits N, peak force of the actuator N, N corresponds to the physical output limit of the linear motor active suspension actuator; the suspension dynamic travel limit of ±0.08m corresponds to the maximum permissible travel of the suspension mechanical structure; the tire dynamic compression limit of 0.015m (soft constraint) corresponds to the safety threshold for maintaining tire contact with the ground. These constraint parameters ensure that the optimal solution of model predictive control is always within the physical safety boundary of the vehicle, reflecting the essential advantage of the explicit constraint satisfaction capability of model predictive control over algorithms without explicit constraints.
[0320] IV) Based on the prediction equation matrix, construct the standard quadratic programming (QP) problem, as follows:
[0321] To minimize vehicle body vibration acceleration and suspension telescopic displacement, while avoiding significant abrupt changes in suspension control force, a quadratic cost function is constructed based on this comprehensive control requirement:
[0322]
[0323] in,
[0324]
[0325]
[0326]
[0327]
[0328] In the formula, It is a quadratic cost function. For reference output trajectory ( ), often taking the zero vector; To output the diagonal matrix of the weight blocks, For Kronecker product; The weighting coefficient for vertical acceleration (dimensionless). The weighting coefficient for pitch acceleration (dimensionless). The weighting coefficient for the roll acceleration is dimensionless. This is the suspension dynamic travel weighting coefficient (dimensionless). This is the tire deformation weighting coefficient (dimensionless). To control the diagonal matrix of the incremental weight blocks, To control the incremental penalty coefficient (dimensionless). It is a 4×4 identity matrix.
[0329] Substituting the prediction equation into the cost function, expanding it, and ignoring the constant term, transforms it into a standard quadratic programming form:
[0330]
[0331]
[0332] in,
[0333]
[0334]
[0335] In the formula, It is a Hessian matrix. It is a linear vector. For the future Step control increment sequence, To control the incremental lower bound vector, This is the control increment for the current sampling period. To control the incremental limit, This is the lower limit vector of the actuator output force. This represents the actual output force vector of the four actuators in the previous control cycle. It is a lower triangular cumulative matrix. This is the upper limit vector of the actuator output force. To control the prediction matrix, To output the diagonal matrix of the weight blocks, To control the diagonal matrix of the incremental weight blocks, This is the state prediction matrix. For the current augmented state, The perturbation prediction matrix is... For the future Step-by-step road surface disturbance sequence.
[0336] ,satisfy:
[0337]
[0338] In the formula, For the future The complete four-wheel control force sequence of the step, It is a lower triangular cumulative matrix. For the future Step control increment sequence, The output force vector of the previous control cycle. for A column vector of all 1s.
[0339] V) Using the GPU in the vision processor, the quadratic programming problem is solved iteratively by combining the projection gradient method and Nesterov momentum to obtain the optimal control force for the current cycle. The specific process is as follows:
[0340] This embodiment uses an "external penalty" approach to constrain the amplitude. This is equivalent to adding a penalty term to the cost function (objective function), retaining only the control increment box constraints for the projection operation, thus constructing the total cost function as follows:
[0341]
[0342] In the formula, Let cost function be To control the incremental sequence, It is a Hessian matrix. It is a linear vector. The penalty weight is dimensionless, and 8~20 is recommended. This is an external penalty term for controlling the amplitude constraint of the quantity.
[0343] Among them, the penalty item for:
[0344]
[0345]
[0346] In the formula, For the first Prediction step, first Predictive control force of an actuator This is the upper limit of the actuator's output force. This is the lower limit of the actuator output force. For the previous control cycle The actual output force of each actuator For vectors The Middle The first block vector of the th block vector The component represents the number of components up to the 1st. The cumulative value of control increment up to the prediction step. It is a lower triangular cumulative matrix. For the future Step control increment sequence.
[0347] The gradient of the penalty term can be calculated analytically. For the indivual Components (corresponding to the first) The first control step and the first (number of wheels), the penalty gradient is:
[0348]
[0349] in:
[0350]
[0351] In the formula, For the constraint penalty component of the j-th wheel in the i-th step, The actuator outputs force for the j-th wheel in the i-th step. To constrain penalties, For the r-th optimal control increment component, For cumulative matrix Zhongyou arrive The linear coefficients; For global indexing, ; To control the step sequence, This is the upper limit of the actuator's output force. This is the lower limit of the actuator output force.
[0352] It is worth noting that in this embodiment, during the iterative solution process using the GPU in the vision processor, the following parallel strategy is adopted to achieve extremely low latency for each iteration:
[0353] ① Thread allocation: Start 80 CUDA threads, each thread is responsible for one Components (a total of 4 control variables × control time domain) A total of 80 Each thread independently computes the basic gradient, penalty gradient, and projection operation for the corresponding component.
[0354] ② Shared memory: This involves using the Hessian matrix... (80×80) and vector , Once fully loaded into the GPU shared memory (approximately 27KB), global memory access latency is avoided.
[0355] ③ Penalty gradient calculation: Each thread calculates its own control step index. and wheel weight The control force at the current prediction time is obtained by using prefix sum recursion. Then, the penalty gradient is calculated by traversing the entire prediction time domain. This process does not require synchronization between threads.
[0356] ④ Synchronization strategy: _syncthreads() is executed only once per iteration to ensure that all threads update accordingly. The vectors are consistent before the next iteration begins.
[0357] ⑤ Warm-start: Use the optimal solution of the previous control cycle as the starting point of the current cycle to further reduce the number of iterations required.
[0358] Based on this, this embodiment uses Nesterov-accelerated projective gradient descent for iterative solution. Specifically, each iteration consists of 5 sub-steps, with 80 threads computing in parallel, and a global synchronization at the end of each round. The steps of each iteration are as follows:
[0359] initialization:
[0360]
[0361] In the formula, For the first Decision variables for the next iteration This is the optimal control increment sequence obtained from the previous round of MPC solving. For the first Nesterov accelerated extrapolation point in the next iteration For the first The Nesterov auxiliary sequence for the next iteration;
[0362] No. The next iteration ( ):
[0363] (1) Calculate the basic gradient in parallel according to the following formula:
[0364] ;
[0365] In the formula, For the first The gradient generated by the quadratic term in the next iteration. It is a Hessian matrix. For the first Nesterov accelerated extrapolation point in the next iteration It is a linear vector;
[0366] (2) Calculate the penalty gradient in parallel according to the following formula:
[0367] ;
[0368] In the formula, The gradient of the penalty term, As a penalty weight, For the penalty function, For the first Nesterov accelerated extrapolation point in the next iteration For gradient operators;
[0369] (3) Perform gradient descent by fusing the basic gradient and the penalty gradient according to the following formula, and then perform box-constrained Euclidean projection to calculate the first... Decision variables for +1 iteration:
[0370] ;
[0371] In the formula, For the first Decision variables for +1 iterations For the first Nesterov accelerated extrapolation point in the next iteration Step size (suggested) , (This is the upper bound of the gradient of the objective function using the Lipschitz constant). For the basic gradient, To penalize the gradient, For box constraint set Euclidean projection;
[0372] in,
[0373]
[0374] Projection operation is to truncate component by component. .
[0375] (4) Update the Nesterov parameters according to the following formula:
[0376] ;
[0377] In the formula, For the first Nesterov auxiliary sequence for the next iteration For the first Nesterov auxiliary sequence for the next iteration For the first Nesterov momentum coefficients in the next iteration;
[0378] (5) Based on the first For the decision variables in +1 iterations, calculate the Nesterov extrapolation points according to the following formula:
[0379] ;
[0380] In the formula, For the first Nesterov accelerated extrapolation point in the next iteration For the first Decision variables for +1 iterations For the first The decision variables for the next iteration ( (estimated value) For the first Nesterov momentum coefficients in the next iteration;
[0381] (6) After all variables have been updated in this iteration, execute the global thread synchronization operation __syncthreads(), which waits for all parallel threads to complete all calculations in this round, ensuring consistency between reading and writing iteration variables. The next iteration can only begin after all threads have been synchronized.
[0382] In this embodiment, the augmentation system matrix is pre-stored in the GPU memory. At the beginning of each control cycle, the GPU performs the following operations:
[0383] Prediction matrix generation: Parallel computation using 80 thread bundles Each power of the power, accelerating The construction of.
[0384] Hessian matrix construction: using cuBLAS block GEMM parallel computation .
[0385] QP solution: The Nesterov acceleration kernel function (80 threads, 27KB shared memory) designed in this invention is used. The kernel function iterates 200 times with a step size of... Penalty weight The measured average time for a single solution is 2.5ms (Jetson Orin NX).
[0386] Control output: According to calculate Take the first 4 elements as send.
[0387] In this embodiment, the suspension controller continuously performs dual-dimensional fault monitoring in parallel. First, it monitors whether the communication bus signal is interrupted or invalidated. Second, it analyzes timestamps to determine if the MPC solution has timed out or is stuck. If the suspension controller determines there is no fault, the vision processor converts the optimal control force into drive commands and outputs them to the active suspension actuator.
[0388] If the communication link signal is interrupted or invalid, or if the optimal control force calculation task times out or gets stuck, the active suspension control mode is the skylight control mode. The suspension controller obtains the vertical motion state of the vehicle body and calculates the skylight control force in combination with the skylight control algorithm. The skylight control force is then converted into drive commands to control the active suspension actuator.
[0389] In this embodiment, the pre-set Skyhook control algorithm inside the suspension controller (MCU) serves as a heterogeneous physical backup independent of the GPU, and its fault monitoring covers the following two dimensions:
[0390] ① Communication Link Monitoring: The MCU determines the communication status by monitoring the frame reception interval and CRC check errors of the CAN bus. If no new control frame is received for 10ms consecutively, or if multiple consecutive frame checks fail, the communication is considered interrupted / invalid.
[0391] ② Computation Status Monitoring: The MCU parses the GPU computation timestamp carried by the correctly received MPC control commands. If the computation time exceeds a preset threshold (e.g., 5ms) for several consecutive control cycles, it is determined to be a computation failure.
[0392] When any fault is triggered, the MCU seamlessly switches to the built-in Skyhook control law within 15ms and calculates the backup damping force according to the following formula:
[0393]
[0394] In the formula, The ceiling control force vector ( (unit: N), each component corresponds to four suspensions; The preset ceiling damping coefficient (N·s / m) is determined by calibration experiments; The vertical velocity of the sprung mass of each suspension ( (in m / s), obtained from sensors or state observers.
[0395] After continuously monitoring and confirming that the bus has recovered and MPC calculations are normal and maintained for several cycles, switch back to MPC master control mode.
[0396] In this embodiment, the MCU also includes a timer to monitor the CAN frame interval (10ms timeout) and CRC. Another monitoring module extracts the GPU-calculated timestamp from the control frame, with a threshold of 5ms. If any fault condition is met, the MCU immediately switches to Skyhook and outputs control force based on the spring speed feedback. The switching process is smoothly transitioned through interpolation.
[0397] This embodiment also involves a simulation verification process. Specifically, the above system was built in Simulink, with the road surface being a Class B road surface superimposed with a 5cm sinusoidal speed bump. The calculation results of the system were then simulated and verified. The results show that under normal operating conditions, the peak active force of the MPC can reach ±2500N, and the vehicle acceleration is effectively suppressed (the root mean square value of vertical acceleration is reduced by 40%). s simulates CAN interrupt, The simulation of GPU computation timeout showed no jump in control force during the switchover, no impact spike in vehicle acceleration, and a smooth switchback after communication was restored, verifying the fault tolerance performance.
[0398] Table 1 Performance indicators of the method in this embodiment
[0399]
[0400] The simulation results described above verify the effectiveness of the technical solution of this invention from the following multiple dimensions:
[0401] (1) Comfort verification under normal operating conditions. Under the combined excitation of a Class B random road surface with a 5cm sinusoidal speed bump, the model predictive control active suspension of this invention reduced the root mean square value of the vehicle's vertical acceleration by 40%, and the peak value of the active force reached ±2500N, significantly improving ride comfort. This result verifies the effectiveness of the seven-degree-of-freedom vehicle model predictive control algorithm in real-time solution on a graphics processor. High-dimensional model predictive control can simultaneously optimize the acceleration in the vertical, pitch, and roll directions of the vehicle body, as well as the dynamic travel and tire deformation of the four suspensions, achieving the optimal balance among multiple objectives. The parallel projection gradient method of the graphics processor, combined with Nesterov momentum acceleration, compresses the 80-dimensional quadratic programming solution to an average of about 2.985ms, ensuring real-time rolling optimization under a 10ms control cycle.
[0402] (2) Fault tolerance verification under communication failure conditions. Under the simulated CAN communication interruption condition at t=5s, the suspension controller detected the communication failure within 15ms through communication link status monitoring (CAN bus frame reception interval and CRC check) and immediately switched to the roof backup control mode. There was no jump in control force or impact peak in vehicle acceleration at the moment of switching. This result verifies the effectiveness of the direct monitoring mechanism of communication link status of the present invention. Compared with the monitoring method that relies on the comparison of the output command deviation of the master and slave controllers, the present invention directly determines whether the communication link is normal through the CAN bus frame interval and check status. There is no need to wait for the command deviation to accumulate beyond the limit, the detection delay is significantly reduced, and a rapid response is ensured when a fault occurs.
[0403] (3) Verification of fault tolerance under fault conditions. Under the condition of timeout in model predictive control calculation at t=10s, the suspension controller detected the calculation fault within 15ms by monitoring the calculation timestamp (analyzing the graphics processor calculation timestamp carried by the MPC control command and comparing it with the preset threshold of 5ms) and immediately switched to the roof backup control mode. There was no jump in control force and no impact peak in vehicle acceleration at the moment of switching. This result verifies the effectiveness of the calculation timestamp monitoring mechanism of the present invention - the quadratic programming solution of model predictive control has a fixed matrix dimension (80×80 Hessian matrix) and a fixed number of iterations (200 times), and the calculation time is stable and predictable (average about 2.985ms, maximum about 6.263ms), making it possible to reliably determine whether the calculation has timed out by using a fixed time threshold (5ms).
[0404] (4) Verification of smooth switchback after fault recovery. After communication was restored and model predictive control calculations returned to normal, the suspension controller continuously monitored the bus status and calculation status. After several consecutive cycles of normal operation, it smoothly switched back to the model predictive control main control mode without any control abrupt changes during the switchback process. This result verifies the smoothness of the fault recovery and automatic switchback logic of this invention.
[0405] (5) Comprehensive verification of composite road surface conditions. The above simulation was completed on a composite road surface with a Class B random road surface (continuous random vibration excitation) superimposed with a 5cm sinusoidal speed bump (impact excitation), covering two typical working conditions: random vibration and impact response, and verifying the comprehensive performance of the technical solution of the present invention under complex road conditions.
[0406] It is worth noting that this invention has excellent scalability and adaptability, and can be flexibly adapted to different application scenarios. In addition to the application scenarios mentioned above, the system actuator can be replaced with a hydraulic servo valve and a hydraulic actuator. Only the force constraint parameters of the MPC algorithm need to be adjusted to the maximum output force and response bandwidth constraints of the hydraulic system to adapt to the hydraulic servo active suspension system. The overall system architecture and fault-tolerant logic do not need to be changed. In addition, the road information processing method of this invention can also be expanded and optimized, no longer limited to a single road elevation signal. It can be compatible with multiple types of road information such as the location of speed bumps, the three-dimensional dimensions of road potholes and manhole covers, and the distance of road features relative to the front axle of the vehicle. Relying on the GPU to complete local feature extraction and directly participate in MPC calculation, it effectively improves the vehicle's pre-response capability to various typical road features.
[0407] This invention addresses the shortcomings of traditional active suspension control systems that rely on onboard MCUs to run high-dimensional vehicle dynamics models using MPC algorithms, which suffer from insufficient computing power and memory, poor real-time performance, and difficulty in adapting to complex control calculations. It constructs a master-slave fault-tolerant control architecture with GPU as the main component and MCU as the auxiliary component.
[0408] This invention deploys the computationally intensive MPC optimal control force solution task, which is based on large-scale matrix operations, on a vision processor GPU with excellent parallel computing capabilities. Simultaneously, it locally extracts and processes multi-feature information for binocular vision road surface pre-aiming within the GPU, directly providing input to the MPC algorithm. This achieves integrated perception and decision-making, effectively solving the problems of stuttering and timeouts in complex MPC algorithms caused by the limited computing power of traditional MCUs. Furthermore, by utilizing Nesterov momentum acceleration combined with a penalty function method to handle algorithm constraints, the time for a single MPC solution is compressed to less than 3 milliseconds, significantly improving control accuracy and real-time performance.
[0409] Meanwhile, the highly reliable and stable onboard MCU serves as a backup for suspension control, with a built-in roof control algorithm as a redundant control law. It monitors the communication link status with the vision processor and the running status of the GPU-based MPC algorithm in real time. If communication interruption, invalid signal, algorithm timeout, or lag is detected, it can automatically switch to the roof backup control mode to output control force. This invention leverages the complementary advantages of high-performance GPU computing and high-reliability redundancy of the MCU, combined with localized data processing, to comprehensively improve the real-time performance, control accuracy, and operational robustness of the active suspension system.
[0410] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications made to the present invention by those skilled in the art without departing from the spirit of the present invention shall fall within the protection scope of the present invention.
Claims
1. A method for active suspension fault-tolerant control based on heterogeneous computing, characterized in that, Includes the following steps: 1) Add a vision processor to the intelligent driving system and deploy the optimal control force calculation task in the vision processor. The optimal control force calculation task adopts the model predictive control algorithm, and deploy the roof control algorithm in the suspension controller as a backup control law. 2) Establish a communication link between the vision processor and the suspension controller, and complete device handshake and clock synchronization through the communication link to achieve time-aligned data transmission between the vision processor and the suspension controller; 3) Based on the communication link status between the vision processor and the suspension controller, and the running status of the optimal control force calculation task, switch the active suspension control mode to model predictive control mode or roof control mode. If the communication link is normal and the optimal control force calculation task is running normally, the control mode of the active suspension is the model prediction control mode. The GPU of the vision processor is used to execute the optimal control force calculation task to obtain the optimal control force, and the optimal control force is converted into drive commands to control the active suspension actuator. If the communication link signal is interrupted or invalid, or if the optimal control force calculation task times out or gets stuck, the active suspension control mode is the skylight control mode. The suspension controller obtains the vertical motion state of the vehicle body and calculates the skylight control force in combination with the skylight control algorithm. The skylight control force is then converted into drive commands to control the active suspension actuator.
2. The active suspension fault-tolerant control method according to claim 1, characterized in that, In step 3), the optimal control force is calculated as follows: Ⅰ) Collect road surface preview information through a binocular vision module, including three-dimensional point cloud data of road surface elevation, speed bumps, and potholes; Ⅱ) Collect vehicle state information and, in conjunction with the seven-degree-of-freedom dynamics model of the whole vehicle, construct a discrete state-space model; Ⅲ) Extend the state-space model to an augmented state-space model, and construct prediction equations based on the augmented state-space model; IV) Construct a standard quadratic programming problem based on the prediction equation matrix; V) Using the GPU in the vision processor, the quadratic programming problem is solved iteratively by combining the projection gradient method and Nesterov momentum to obtain the optimal control force for the current cycle.
3. The active suspension fault-tolerant control method according to claim 2, characterized in that, The specific formula for the standard quadratic programming problem is as follows: ; ; In the formula, It is a Hessian matrix. It is a linear vector. To control the incremental sequence in the future, To control the incremental lower bound vector, To control the incremental limit, This is the control increment for the current sampling period. This represents the actual output force vector of the four actuators in the previous control cycle. This is the lower limit vector of the actuator output force. This is the upper limit vector of the actuator output force. It is a lower triangular cumulative matrix.
4. The active suspension fault-tolerant control method according to claim 2, characterized in that, In step V), the optimal control force is calculated as follows: V-1) Calculate the basic gradient in parallel according to the following formula: ; In the formula, For the first The gradient generated by the quadratic term in the next iteration. It is a Hessian matrix. For the first Nesterov accelerated extrapolation point in the next iteration It is a linear vector; V-2) Calculate the penalty gradient in parallel according to the following formula: ; In the formula, The gradient of the penalty term, As a penalty weight, For the penalty function, For the first Nesterov accelerated extrapolation point in the next iteration For gradient operators; V-3) Following the formula below, perform gradient descent after fusing the basic gradient and the penalized gradient, and then perform box-constrained Euclidean projection to calculate the... Decision variables for +1 iteration: ; In the formula, For the first Decision variables for +1 iterations For the first Nesterov accelerated extrapolation point in the next iteration Step size, For the basic gradient, To penalize the gradient, For box constraint set Euclidean projection; V-4) Update the Nesterov parameters according to the following formula: ; In the formula, For the first Nesterov auxiliary sequence for the next iteration For the first Nesterov auxiliary sequence for the next iteration For the first Nesterov momentum coefficient in the next iteration; V-5) Based on the first For the decision variables in +1 iterations, calculate the Nesterov extrapolation points according to the following formula: ; In the formula, For the first Nesterov accelerated extrapolation point in the next iteration For the first Decision variables for +1 iterations For the first Decision variables for the next iteration For the first Nesterov momentum coefficient in the next iteration; V-6) After all variables have been updated in this iteration, execute the global thread synchronization operation __syncthreads(). This is used to wait for all parallel threads to complete all calculations in this round, ensuring consistency between reading and writing iteration variables. The next iteration can only begin after all threads have been synchronized.
5. The active suspension fault-tolerant control method according to claim 1, characterized in that, In step 3), the ceiling control force is calculated according to the following formula: ; In the formula, The ceiling control force vector. The preset ceiling damping coefficient, The vertical velocity of the sprung mass of each suspension element.
6. The active suspension fault-tolerant control method according to claim 1, characterized in that, In step 3), the method for determining the status of the communication link is as follows: monitor the signal transmission timeout and message verification error of the communication link. When no signal transmission timeout and no message verification error are detected within the preset monitoring period, the communication link status is determined to be normal. When a signal transmission timeout is detected, a message verification error is detected, or a communication link is interrupted, the communication link status is determined to be abnormal. The method for determining the execution status of the optimal control force calculation task is as follows: obtain the calculation timestamp of each time the GPU outputs the optimal control force in the vision processor, and compare the time interval between two adjacent calculation timestamps with a preset calculation time threshold. Compare the results; when the time interval does not exceed the preset calculation time threshold. When the optimal control force calculation task is running normally, it is determined that the time interval exceeds the preset calculation time threshold. At that time, the optimal control force calculation task is judged to have timed out or stalled.
7. The active suspension fault-tolerant control method according to claim 1, characterized in that, The vision processor is any one of NVIDIA Jetson Orin NX, Qualcomm Snapdragon Ride, Mobileye EyeQ series, Renesas R-Car V series, or domestic automotive-grade high-performance computing chips. The vision processor has a GPU core count of 64 or more and a video memory capacity of 512MB or more.
8. An active suspension fault-tolerant control system based on heterogeneous computing, characterized in that, include: The binocular vision module is used to acquire road surface preview information, including 3D point cloud data of road surface elevation, speed bumps, and potholes, and send the road surface preview information to the GPU of the vision processing module. The vision processing module is used to receive road surface preview information and use the built-in GPU to perform the optimal control force calculation task to calculate the optimal control force. The optimal control force calculation task adopts the model predictive control algorithm. The communication bus module is used to establish a communication link between the vision processor and the suspension controller, so as to realize data transmission between the vision processing module and the suspension control module. The suspension control module is used to monitor the link status of the communication bus module and the execution status of the model predictive control algorithm. Based on the link status and execution status, it switches the control mode of the active suspension to model predictive control mode or skylight control mode and outputs drive commands. The active suspension execution module is used to apply active force to the vehicle body according to the drive commands output by the suspension control module.