Vehicle control method and device and vehicle
By using SOC and MCU controllers in the autonomous driving system to obtain and process vehicle position and obstacle information, and generate and send critical control information, the problem of low safety and reliability of vehicle control is solved, and the stability and efficiency of the system are improved.
Patent Information
- Application Number
- CN202411998137.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-04-22
AI Technical Summary
In autonomous driving technology, the safety and reliability of vehicle control are low, and there are problems such as empty initialization process and unstable CAN packet cycle.
The current position information of the target vehicle is obtained through the SOC controller in the domain controller, and multiple groups of road information points are determined based on the current position information and obstacle information, and key control information is generated based on these information points, and sent to the MCU controller for vehicle control.
It improves the safety and reliability of vehicle control, increases the stability of CAN message transmission and reception cycles, reduces the efficiency of the SOC side CPU, reduces the risk of controller abnormalities, and improves data transmission efficiency.
Smart Images

Figure CN119861625A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of autonomous driving technology, and in particular to a vehicle control method, device and vehicle. Background Art
[0002] With the continuous advancement of autonomous driving technology and the continuous expansion of application scenarios, the maturity of the technology is also steadily improving. Vehicle control is a key part of the autonomous driving system, and its performance is directly related to the safety and reliability of the system. However, when the relevant technology controls the vehicle through the autonomous driving system, there are problems with low vehicle control safety and reliability. Summary of the invention
[0003] In view of this, the present invention provides a vehicle control method, device and vehicle to solve the problem of low vehicle control safety and reliability in autonomous driving related technologies.
[0004] In the first aspect, the present invention provides a vehicle control method, which includes: obtaining the current position information of the target vehicle through the SOC controller in the domain controller; obtaining the target obstacle information around the target vehicle based on the current position information; determining multiple groups of road information points for controlling the target vehicle based on the current position information and the target obstacle information; determining key control information for controlling the target vehicle based on the distance relationship between each road information point in the multiple groups of road information points; sending the key control information to the MCU controller in the domain controller, so that the MCU controller controls the target vehicle based on the key control information. Through the above process, the safety and reliability of vehicle control can be improved.
[0005] In some optional implementations, based on the current position information and the target obstacle information, multiple groups of road information points for controlling the target vehicle are determined, including:
[0006] Determine the obstacle position of the target obstacle at the next moment based on the target obstacle information;
[0007] Get the current driving status of the target vehicle;
[0008] Determine the obstacle avoidance path of the target vehicle based on the current driving state and current position information of the target vehicle and the obstacle position of the target obstacle at the next moment;
[0009] Based on the obstacle avoidance path, multiple groups of road information points for controlling the target vehicle are determined.
[0010] In some optional implementations, based on the distance relationship between each road information point in the plurality of groups of road information points, determining the key control information for controlling the target vehicle includes:
[0011] Fitting multiple groups of road information points with the target curve to obtain fitted road information points;
[0012] Determine the target road information point based on the distance relationship between the multiple groups of road information points and the fitted road information points;
[0013] Based on the vehicle speed and heading angle corresponding to the target road information point, key control information for controlling the target vehicle is generated.
[0014] In some optional implementations, based on the distance relationship between each road information point in the plurality of groups of road information points, determining the key control information for controlling the target vehicle includes:
[0015] Obtain the median point and target accuracy of multiple groups of road information points;
[0016] Determine the target neighborhood based on the distances between multiple groups of road information points and the median point;
[0017] Aggregate multiple groups of road information points in the target neighborhood to obtain aggregated road information points;
[0018] Iteratively update the aggregated road information points based on the target accuracy to obtain the target road information points;
[0019] Based on the vehicle speed and heading angle corresponding to the target road information point, key control information for controlling the target vehicle is generated.
[0020] In some optional implementations, obtaining the current location information of the target vehicle through the SOC controller in the domain controller includes:
[0021] Obtain the historical driving information of the calibrated vehicle in the target area;
[0022] Creating a base map information database of the target area based on historical driving information, the base map information database stores the road locations corresponding to each road information point in the target area;
[0023] Acquire vehicle driving information sent by a detection device communicating with the SOC controller;
[0024] The base map information database is queried based on the vehicle driving information to obtain the current location information of the target vehicle.
[0025] In some optional implementations, querying a base map information database based on vehicle driving information to obtain current location information of a target vehicle includes:
[0026] Obtaining the positioning point information carried in the vehicle driving information;
[0027] Based on the positioning point information, the base map information database is queried to obtain the road information point that is the same as the positioning point information;
[0028] Based on the road position corresponding to the road information point, the current position information of the target vehicle is obtained.
[0029] In some optional implementations, the key control information is sent to an MCU controller in the domain controller so that the MCU controller performs vehicle control on the target vehicle based on the key control information, including:
[0030] Establish the connection between MCU controller and SOC controller;
[0031] A control message is generated based on the key control information, and the control message is sent to the MCU controller in the domain controller through the user datagram protocol, so that the MCU controller controls the driving direction and speed of the target vehicle based on the control message.
[0032] In some optional implementations, the above method further includes:
[0033] Receive the control result fed back by the target vehicle of the current control node based on the key control information;
[0034] The key control information of the next control node is adjusted based on the control result.
[0035] In the second aspect, the present invention provides a vehicle control device, which mainly includes: a position information acquisition module, which is used to obtain the current position information of the target vehicle through the SOC controller in the domain controller; an obstacle information acquisition module, which is used to obtain the target obstacle information around the target vehicle based on the current position information; a road information point determination module, which is used to determine multiple groups of road information points for controlling the target vehicle based on the current position information and the target obstacle information; a control information generation module, which is used to determine and generate key control information for controlling the target vehicle based on the distance relationship between each road information point in the multiple groups of road information points; a target vehicle control module, which is used to send the key control information to the MCU controller in the domain controller, so that the MCU controller controls the target vehicle based on the key control information. Through the above modules, the safety and reliability of vehicle control can be improved.
[0036] In a third aspect, the present invention provides a vehicle, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the vehicle control method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0037] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the vehicle control method of the first aspect or any corresponding embodiment thereof.
[0038] In a fifth aspect, the present invention provides a computer program product, comprising computer instructions for causing a computer to execute the vehicle control method of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0040] Figure 1 is a flow chart of a vehicle control method according to an embodiment of the present invention;
[0041] Figure 2 is a schematic diagram of the conversion principle of control data in the vehicle control method according to an embodiment of the present invention;
[0042] Figure 3 is a schematic diagram of transmission of control data of a vehicle control method according to an embodiment of the present invention;
[0043] Figure 4 is a schematic diagram of a vehicle control system according to an embodiment of the present invention;
[0044] Figure 5 is a structural block diagram of a vehicle control device according to an embodiment of the present invention;
[0045] Figure 6 Schematic diagram of the hardware structure of a vehicle according to an embodiment of the present invention. DETAILED DESCRIPTION
[0046] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0047] With the continuous update and iteration of autonomous driving technology, the application scenarios of autonomous driving technology are increasing, and autonomous driving technology is becoming more and more mature. In order to improve the safety and reliability of vehicle control, when the vehicle is controlled by calling the CAN message cycle sending function in the relevant technology, there will be a situation where the initialization process is empty, and there will also be a situation where the CAN message cycle sent is unstable. There are major hidden dangers in vehicle control.
[0048] Based on this, an embodiment of the present invention provides a vehicle control method, which includes: obtaining the current position information of the target vehicle through the SOC controller in the domain controller; obtaining the target obstacle information around the target vehicle based on the current position information; determining multiple groups of road information points for controlling the target vehicle based on the current position information and the target obstacle information, and determining the key control information for controlling the target vehicle based on the distance relationship between each road information point in the multiple groups of road information points; sending the key control information to the MCU controller in the domain controller, so that the MCU controller controls the target vehicle based on the key control information. Thus, by controlling the target vehicle through the MCU controller, the stability and timing of the CAN message sending and receiving cycle of the domain controller can be increased, while reducing the utilization efficiency of the CPU on the SOC side and reducing the risk of abnormal controller; in addition, since the control information transmitted to the MCU controller is a small amount of key control information, the data transmission efficiency between the SOC controller and the MCU controller is improved, and the efficiency of vehicle control and the stability of the entire domain control are improved.
[0049] According to an embodiment of the present invention, a vehicle control method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0050] In this embodiment, a vehicle control method is provided, which can be used for the above-mentioned terminal device. Figure 1 is a flow chart of a vehicle control method according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:
[0051] Step 110, obtaining the current location information of the target vehicle through the SOC controller in the domain controller.
[0052] Specifically, by obtaining the current position information of the target vehicle, the SOC controller can identify obstacles around the target vehicle based on the current position information of the target vehicle and adjust the vehicle's driving path according to the identification results. Ensure that the target vehicle can respond to environmental changes in real time during driving to avoid potential collision risks. With accurate position information, the SOC controller can more accurately predict the movement trajectory of obstacles, thereby making more reasonable driving decisions. In addition, this step also involves continuous monitoring of the environment around the target vehicle to ensure the safe driving of the vehicle under various complex road conditions.
[0053] In some optional implementations, when the current position information of the target vehicle is obtained through the SOC controller in the domain controller, the historical driving information of the calibrated vehicle in the target area can be obtained; a base map information library of the target area is created based on the historical driving information, and the base map information library stores the road positions corresponding to each road information point in the target area; the vehicle driving information sent by the detection device communicating with the SOC controller is obtained; the base map information library is queried based on the vehicle driving information to obtain the current position information of the target vehicle. Among them, the detection equipment usually includes but is not limited to sensors such as radar, laser scanner, camera, etc., which are installed in different parts of the target vehicle to achieve all-round monitoring of the surrounding environment of the target vehicle.
[0054] It can be understood that by acquiring and analyzing the historical driving data of the calibrated vehicle in a specific target area, a detailed base map information library is constructed through these historical driving data, which records and stores the specific location information of each road information point in the target area; in addition, by receiving real-time vehicle driving data sent by the detection equipment that communicates with the SOC controller; using these real-time data, the system can query the base map information library to accurately determine the current location information of the target vehicle.
[0055] In some optional implementations, when querying the base map information database based on the vehicle driving information to obtain the current position information of the target vehicle, the positioning point information carried in the vehicle driving information can be obtained; the base map information database can be queried based on the positioning point information to obtain the road information point that is the same as the positioning point information; based on the road position corresponding to the road information point, the current position information of the target vehicle is obtained.
[0056] Furthermore, in order to improve query efficiency and positioning accuracy, the timestamp matching of the positioning point information can also be performed. By comparing the timestamp of the positioning point information with the timestamp of the road information point in the base map information library, the road information points with the same or similar timestamps can be screened out, thereby further improving the accuracy of positioning. In addition, the vehicle's driving speed and direction information can be used, combined with the topological structure of the road, to predict the possible driving path of the vehicle, so as to reduce the query range and speed up the positioning speed. In practical applications, the above method can be effectively applied to urban traffic management systems, intelligent navigation systems, and vehicle dispatching systems to provide vehicles with real-time and accurate location information.
[0057] Step 120, based on the current position information, obtain target obstacle information around the target vehicle.
[0058] Specifically, the environment around the vehicle is monitored in real time based on the current position information of the target vehicle and the configured sensor system, such as radar, laser scanner or camera. These sensors can detect obstacles such as other vehicles, pedestrians, stationary objects around the target vehicle, and analyze the position, speed and direction of movement of the obstacles through the data processing unit. This information is then integrated into the SOC controller of the target vehicle to assist the driver or automatic control system in making corresponding driving decisions, such as slowing down, stopping or changing the driving path to avoid potential collision risks. In addition, this obstacle information can also be used to update the base map information library, as well as the dynamic map of the target vehicle, to provide the target vehicle with a more comprehensive and accurate environmental perception capability.
[0059] Step 130, based on the current position information and the target obstacle information, determine multiple groups of road information points for controlling the target vehicle.
[0060] As described above, multiple groups of road information points for controlling the target vehicle are determined based on the current position information and the target obstacle information, so that key control information for controlling the driving state of the target vehicle is determined based on the multiple groups of road information points.
[0061] In some optional embodiments, when determining multiple groups of road information points for controlling the target vehicle based on the current position information and the target obstacle information, the obstacle position of the target obstacle at the next moment can be determined based on the target obstacle information; the current driving state of the target vehicle is obtained; based on the current driving state and current position information of the target vehicle, and the obstacle position of the target obstacle at the next moment, the obstacle avoidance path of the target vehicle is determined; based on the obstacle avoidance path, multiple groups of road information points for controlling the target vehicle are determined.
[0062] Specifically, when determining multiple groups of road information points for controlling the target vehicle based on the obstacle avoidance path, a path planning algorithm can be first used to ensure the rationality and safety of the obstacle avoidance path. For example, the dynamic window method (DWA) or the A* algorithm can be used to calculate an optimal path to avoid obstacles. These algorithms can respond to environmental changes in real time and provide a safe and efficient driving route for the target vehicle. In addition, in order to improve the adaptability and robustness of the system, machine learning technology can be combined to train the model through historical data to predict the movement trend of obstacles, so as to make more accurate path planning in advance. Finally, the path data of the obstacle avoidance path is obtained, and the path data of the obstacle avoidance path is matched with the historical driving data of the base map information library. When the path data of the obstacle avoidance path matches the target historical driving data of the base map information library, the road information points corresponding to the target historical driving data are obtained, so as to obtain the multiple groups of road information points corresponding to the obstacle avoidance path in the base map information library based on the multiple groups of road information points corresponding to the target historical driving data. These road information points will be converted into control instructions and executed by the control system of the target vehicle to ensure that the target vehicle can drive safely along the predetermined path.
[0063] In some optional embodiments, when generating key control information for controlling the target vehicle based on the current position information and the target obstacle information, the obstacle position of the target obstacle at the next moment can also be determined based on the target obstacle information, thereby predicting the motion trajectory of the target obstacle; wherein the target obstacle information includes the real-time position data of the target obstacle, and the motion trajectory and speed information of the target obstacle can be analyzed through the real-time position data of the target obstacle to predict the obstacle position of the target obstacle at the next moment. Subsequently, the current driving state of the target vehicle is obtained. Next, based on the current driving state and current position information of the target vehicle, and the obstacle position of the target obstacle at the next moment, the obstacle avoidance path of the target vehicle is determined; the determination of the obstacle avoidance path can also be based on the dynamic performance and environmental constraints of the target vehicle to ensure that while avoiding obstacles, the obstacle avoidance action can be completed in the shortest time and the smallest driving distance; in addition, the generation of the obstacle avoidance path can also be based on parameters such as the steering angle, acceleration and deceleration of the target vehicle to ensure the stability and safety of the obstacle avoidance process. Finally, based on the obstacle avoidance path, multiple groups of road information points for controlling the target vehicle are generated, so that the driving speed and direction of the target vehicle can be controlled based on the multiple groups of road information points.
[0064] Step 140, based on the distance relationship between each road information point in the plurality of groups of road information points, determine key control information for controlling the target vehicle.
[0065] Among them, the above-mentioned key control information includes but is not limited to parameters such as steering angle, acceleration, braking force, etc. These parameters will be dynamically adjusted according to the real-time data of the obstacle avoidance path to adapt to the changing road conditions and the movement state of obstacles, so as to ensure that the target vehicle can safely bypass obstacles and improve driving safety.
[0066] In some optional embodiments, when determining the key control information for controlling the target vehicle based on the distance relationship between each road information point in the multiple groups of road information points, the multiple groups of road information points can be fitted with the target curve to form a smooth reference path. The reference path can reflect the geometric characteristics of the road and can be used as the basis for generating the obstacle avoidance path. In this way, it can be ensured that the obstacle avoidance path not only meets the dynamic performance requirements of the vehicle, but also can adapt to complex road conditions. In the fitting process, polynomial fitting, spline curve fitting or other mathematical methods can be used to ensure the accuracy of the fitting and the efficiency of the calculation. Finally, through this fitting method, a safe and efficient obstacle avoidance path can be generated, so that the vehicle can make a quick and accurate response when encountering obstacles. Then, based on the key information points in the multiple path information points of the reference path, the fitting road information points are obtained; based on the distance relationship between the multiple groups of road information points and the fitting road information points, if the distance difference is less than a threshold, the target road information point is determined; based on the vehicle speed and heading angle corresponding to the target road information point, the key control information for controlling the target vehicle is generated. Key control information includes but is not limited to target vehicle speed, steering angle, acceleration and deceleration parameters, which will be dynamically adjusted based on the real-time data of the target road information point to adapt to the changing road conditions and driving status of the target vehicle. In this way, it can be ensured that the target vehicle can make a quick and accurate response based on the real-time road information and vehicle status during driving, thereby improving driving safety and comfort.
[0067] In some optional implementations, key information points among the multiple path information points of the reference path may also be directly used as target road information points.
[0068] In some optional embodiments, when determining the key control information for controlling the target vehicle based on the distance relationship between each road information point in multiple groups of road information points, the median point and target accuracy in the multiple groups of road information points can also be obtained; based on the distance between the multiple groups of road information points and the median point, the target neighborhood is determined; the multiple groups of road information points in the target neighborhood are aggregated to obtain aggregated road information points; the aggregated road information points are iteratively updated based on the target accuracy to obtain the target road information points; based on the vehicle speed and flight angle corresponding to the target road information points, the key control information for controlling the target vehicle is generated. The target accuracy can be a preset fixed value or a value dynamically adjusted according to the real-time road conditions. Through iterative updating, the accuracy of the target road information point can be ensured, so that the control information is more in line with the actual road conditions. In addition, the generation of control information can also be based on the dynamic response characteristics of the target vehicle to ensure that the target vehicle can operate smoothly according to the control instructions under different driving conditions. Finally, these control information will be transmitted to the control system of the vehicle to achieve accurate control of the vehicle.
[0069] Specifically, when obtaining the median point of multiple groups of road information points, the multiple groups of road information points can be sorted; the largest road information point group and the smallest road information point group after sorting are removed; and the expected median point is determined based on the remaining road information point group after removing the largest road information point group and the smallest road information point group. When determining the target neighborhood based on the point-to-point distance between multiple groups of road information points and the median point, the first distance between multiple groups of road information points and the median point and the first target distance; the target neighborhood is determined based on the group of road information points in the first distance that is less than or equal to the first target distance. Among them, the first distance includes Euclidean distance and Minkowski distance. Weighted average calculation is performed on multiple groups of road information points in the target neighborhood to obtain aggregated road information points. The aggregated road information points are iteratively updated, and when the updated aggregated road information points are within the neighborhood of the target accuracy, the target road information point is obtained.
[0070] In some optional implementations, when determining the key control information for controlling the target vehicle based on the distance relationship between each road information point in multiple groups of road information points, it is also possible to first obtain multiple groups of road information points corresponding to the obstacle avoidance path in the base map information library; fit multiple groups of road information points with the target curve to obtain a target road information point set; obtain the vehicle speed and heading corresponding to each target road information point in the target road information point set; based on the vehicle speed and heading corresponding to each target road information point, generate key control information for controlling the target vehicle to ensure that the vehicle can travel at the optimal speed and heading during the obstacle avoidance process. These key control information will be updated in real time to adapt to changes in road conditions and obstacle positions, thereby achieving precise control of the vehicle. In this way, the vehicle can effectively avoid obstacles while maintaining driving stability and safety. In addition, the real-time status information of the target vehicle, such as tire friction coefficient, vehicle load, etc., can be combined to further optimize the control strategy to ensure that the best obstacle avoidance effect can be achieved under various complex road conditions.
[0071] In some optional implementations, multiple groups of road information points corresponding to the obstacle avoidance path in the base map information library are obtained; when the multiple groups of road information points are fitted with the target curve to obtain the target road information point set, the optimization algorithm can be used to process the data of the multiple groups of road information points to ensure the accuracy and speed of the fitting process. The fitting method can include spline interpolation or other advanced mathematical tools to reduce errors and ensure that the fitted road information point set truly reflects the road conditions. In addition, the optimization algorithm can adjust parameters based on the fitting results to adapt to the constantly changing road information points to obtain the most ideal fitting results, thereby generating a target road information point set with high accuracy, providing an accurate data basis for the speed and heading control of the target vehicle.
[0072] In some optional implementations, in the process of obtaining the road information point set corresponding to the obstacle avoidance path, Bezier curves or other smooth curve algorithms can also be used to improve the fitting accuracy of the data points. In addition, the least squares method can be used to minimize the error, so as to obtain the target road information point set that is closest to the actual road conditions. In addition, in order to improve the adaptability and robustness of the system, a machine learning model can be introduced to train the model through historical data so that it can automatically identify and adapt to road features under different road conditions. In this way, even in a complex and changing environment, the SOC controller can quickly and accurately generate an obstacle avoidance path and provide effective navigation and control for the target vehicle.
[0073] In some optional implementations, when generating key control information for controlling the target vehicle based on the obstacle avoidance path, multiple groups of road information points corresponding to the obstacle avoidance path in the base map information library can also be obtained, and the vehicle speed and heading angle corresponding to each target road information point in the target road information point set are obtained, and the vehicle speed and heading angle corresponding to each target road information point are fitted with the target curve to obtain the key control information for controlling the target vehicle. When fitting the vehicle speed and heading angle corresponding to each target road information point with the target curve, the HouseholderQR curve in the Eigen library can be used to fit each group of road information points after coordinate transformation to obtain the target road information point set.
[0074] Specifically, in the Eigen library, HouseholderQR is used to calculate QR decomposition. QR decomposition can decompose a matrix A into an orthogonal matrix Q and an upper triangular matrix R, that is, A = Q·R.
[0075] In least squares fitting, the equation system usually used is in the form of: A·x=b.
[0076] Where matrix A is an m×n matrix, x is the unknown vector, and b is the known output vector. A common use of QR decomposition is to solve this equation.
[0077] The Householder method is a technique for transforming a matrix into an upper triangular matrix by reflection. This process is accomplished by gradually constructing a series of Householder transformations. The purpose of the Householder transformation is to gradually "compress" certain column vectors of the matrix to zero until the matrix becomes an upper triangular form.
[0078] First, for a given matrix A, its column vectors are gradually transformed into an upper triangular matrix R using the Householder transformation, and an orthogonal matrix Q is calculated at the same time.
[0079] For each column of the matrix (from left to right), construct a Householder reflection matrix H, which transforms the current column vector into a standard basis vector.
[0080] Specifically, for the i-th column vector a of matrix A i , we calculate a reflection matrix H i , so that: H i a i =||a i ||e i .
[0081] Among them, e i is the standard basis vector. By combining multiple reflection matrices Hi Combined together, the entire matrix A can be transformed into an upper triangular matrix R, and Q is the product of these reflection matrices.
[0082] By repeatedly applying these Householder transformations, the matrix A is transformed into an upper triangular matrix R, and an orthogonal matrix Q is obtained. So, in the end we get: A = Q·R.
[0083] With the QR decomposition, the least squares problem: A x = b can be solved by the following steps:
[0084] First, calculate QT·b and get a new vector c.
[0085] Then, solve the upper triangular equation: R·x=c, and you can get x by back substitution.
[0086] The main input of the HouseholderQR class is a matrix A, which we need to perform QR decomposition on. Usually the matrix A is an m×n matrix, where: m is the number of rows and n is the number of columns.
[0087] When performing QR decomposition, HouseholderQR generates an orthogonal matrix Q and a triangular matrix R by applying Householder transformation to the input matrix A. In this embodiment, the input is a plurality of groups of road information points, each of which includes coordinate point information in the x, y, and z directions.
[0088] Output orthogonal matrix Q: This is an m×m orthogonal matrix (i.e. QTQ=I, where I is the identity matrix). The orthogonal matrix Q is constructed through a series of Householder transformations, and its function is to transform the matrix A into an upper triangular matrix R. The output is the latitude and longitude, speed, heading angle and other information of the target vehicle.
[0089] Upper triangular matrix R: This is an m×n matrix whose upper triangular part contains the result of the decomposition and whose lower triangular part is zero. The triangular matrix R is obtained by performing a Householder transformation on the matrix A.
[0090] It can be understood that curve fitting through Eigen's HouseholderQR can improve the stability of each target road information point in the target road information point set, avoid the numerical instability of Gaussian elimination, efficiently handle over-determined / under-determined problems, and effectively solve the least squares solution, avoid matrix inverse operations, directly decompose the matrix, and reduce errors and computational overhead.
[0091] Step 150, sending the key control information to the MCU controller in the domain controller, so that the MCU controller controls the target vehicle based on the key control information.
[0092] As mentioned above, by sending key control information to the MCU controller in the domain controller, the MCU controller controls the target vehicle based on the key control information, thereby reducing the occupancy of resource memory on the SOC side, improving the use efficiency of the equipment, and reducing the risk of controller abnormalities.
[0093] In some optional implementations, a connection between the MCU controller and the SOC controller can be established first; a control message can be generated based on key control information, and the control message can be sent to the MCU controller in the domain controller through the user datagram protocol, so that the MCU controller can control the driving direction and speed of the target vehicle based on the control message.
[0094] In the actual operation process, in order to improve the efficiency of the MCU controller in controlling the target vehicle, the vehicle speed and heading corresponding to each target road information point (including longitude and latitude) in the key control information can be converted from the geodetic coordinate system to the vehicle body coordinate system. Assume that there is a target road information point P on the plane, the coordinates in the geodetic coordinate system XOY are (x, y), the coordinates in the vehicle body coordinate system X'O'Y' are (x', y'), the rotation angle of the vehicle body coordinate system X'O'Y' relative to the geodetic coordinate system XOY is theta, counterclockwise is positive, the translation displacement of the origin O' of the vehicle body coordinate system relative to the origin O of the geodetic coordinate system is dx and dy on the X-axis and Y-axis respectively, and the positive direction along the coordinate axis of the geodetic coordinate system XOY is positive, so as to obtain the coordinates in the vehicle body coordinate system. The conversion formula is as follows:
[0095] x'=(x-△x)cosθ+(y-△y)sinθ
[0096] y'=(y-△y)cosθ-(x-△y)sinθ
[0097] For example, the speed and heading angle corresponding to a target road information point are as follows: 116.48804469999999, 39.7292975, 1.0244809041579996, 0.0011573000000026923, which are converted into geodetic coordinates as 4397837.87466621, 456127.46633224, 1.02448090, 0.00163667. Figure 2 The effect diagram of its transmission to the MCU controller is shown as follows Figure 3 shown.
[0098] In some optional implementations, the MCU controller can also receive the control results fed back by the target vehicle of the current control node based on the key control information; and adjust the key control information of the next control node based on the control results. That is, the control program node is deployed on the MCU side, and the lateral and longitudinal control is performed based on the vehicle speed and navigation angle information corresponding to each target road information point issued by the SOC controller. The lateral control mainly controls the steering wheel angle, and the longitudinal control mainly controls the throttle, brake, gear and other information, and generates control instructions to be issued to the vehicle chassis.
[0099] Among them, when the MCU controller sends the control instruction to the chassis of the target vehicle, it can call the CAN message transceiver interface API program on the MCU side to interact with the target vehicle, obtain the speed, throttle, brake, and steering wheel angle information of the target vehicle, and form a closed-loop control with the target vehicle control. That is, it is realized that when receiving the feedback information of the target vehicle (such as the chassis), it can directly interact with the control node on the MCU side, reduce the program running time, ensure the real-time control of the vehicle, and achieve the purpose of automatic driving of the vehicle.
[0100] In summary, by using curve fitting for data transmission, the amount of data transmitted between SOC and MCU is greatly reduced, and the transmission efficiency is improved. By placing the control program on the MCU side, the stability and timing of the CAN message cycle of the domain controller can be increased, and the resource memory usage on the SOC side can be reduced. At the same time, the feedback information received from the chassis can directly interact with the control node on the MCU side.
[0101] The vehicle control method provided in this embodiment obtains the current position information of the target vehicle through the SOC controller in the domain controller; obtains the target obstacle information around the target vehicle based on the current position information; generates key control information for controlling the target vehicle based on the current position information and the target obstacle information; and sends the key control information to the MCU controller in the domain controller, so that the MCU controller controls the target vehicle based on the key control information. Through the above process, the safety and reliability of vehicle control can be improved.
[0102] See also Figure 4 The vehicle control system provided by the embodiment of the present application is described in detail below with a specific example. The vehicle control system includes a positioning and mapping module, a target perception module and a decision-making and planning module arranged on the SOC controller, and a vehicle control module arranged on the MCU controller.
[0103] Among them, the positioning and mapping module mainly obtains the historical driving information of the calibrated vehicle in the target area; creates a base map information library of the target area based on the historical driving information, and the base map information library stores the road positions corresponding to each road information point in the target area; obtains the vehicle driving information sent by the detection equipment that communicates with the SOC controller; queries the base map information library based on the vehicle driving information to obtain the current position information of the target vehicle.
[0104] The target perception module mainly obtains the target obstacle information around the target vehicle based on the current position information of the target vehicle.
[0105] The decision-making planning module mainly determines the obstacle position of the target obstacle at the next moment based on the target obstacle information; obtains the current driving state of the target vehicle; determines the obstacle avoidance path of the target vehicle based on the current driving state and current position information of the target vehicle and the obstacle position of the target obstacle at the next moment; obtains multiple groups of road information points corresponding to the obstacle avoidance path in the base map information library; fits multiple groups of road information points with the target curve to obtain the target road information point set; obtains the vehicle speed and heading angle corresponding to each target road information point in the target road information point set; generates key control information for controlling the target vehicle based on the vehicle speed and heading angle corresponding to each target road information point. Based on the current position information of the target vehicle and the target obstacle information, the key control information for controlling the target vehicle is generated and then transmitted to the vehicle control module through UDP or SOMEIP.
[0106] The vehicle control module mainly generates the main control instructions to the controlled object (wire-controlled vehicle) based on the key control information sent by the decision-making and planning module, such as: throttle opening, brake pedal opening, steering wheel angle, gear information, and receives feedback information from the wire-controlled vehicle.
[0107] In this embodiment, a vehicle control device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" refers to a combination of software and / or hardware that can implement a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0108] This embodiment provides a vehicle control device, such as Figure 5 As shown, including:
[0109] The location information acquisition module 510 is used to acquire the current location information of the target vehicle through the SOC controller in the domain controller;
[0110] The obstacle information acquisition module 520 is used to acquire target obstacle information around the target vehicle based on the current position information;
[0111] A control information generating module 530, for determining a plurality of groups of road information points for controlling the target vehicle based on the current position information and the target obstacle information;
[0112] A control information generating module 540, for determining key control information for controlling a target vehicle based on a distance relationship between each road information point in a plurality of groups of road information points;
[0113] The target vehicle control module 550 is used to send key control information to the MCU controller in the domain controller, so that the MCU controller controls the target vehicle based on the key control information.
[0114] In some optional implementations, the control information generation module 530 includes:
[0115] An obstacle position determination unit, used to determine the obstacle position of the target obstacle at the next moment based on the target obstacle information;
[0116] A driving state acquisition unit, used to acquire the current driving state of the target vehicle;
[0117] The obstacle avoidance path determination unit determines the obstacle avoidance path of the target vehicle based on the current driving state and current position information of the target vehicle and the obstacle position of the target obstacle at the next moment;
[0118] The road information point determination unit determines multiple groups of road information points for controlling the target vehicle based on the obstacle avoidance path.
[0119] In some optional implementations, the control information generation module 540 includes:
[0120] An information point fitting unit, used for fitting multiple groups of road information points with a target curve to obtain fitted road information points;
[0121] A target information point unit, used to determine a target road information point based on a distance relationship between multiple groups of road information points and the fitted road information point;
[0122] The first information generating unit is used to generate key control information for controlling the target vehicle based on the vehicle speed and the heading angle corresponding to the target road information point.
[0123] In some optional implementations, the control information generation module 540 further includes:
[0124] A data acquisition unit, used to acquire median points and target accuracy from multiple groups of road information points;
[0125] A neighborhood determination unit, used for determining a target neighborhood based on distances between multiple groups of road information points and a median point;
[0126] An information point aggregation unit, used to aggregate multiple groups of road information points in a target neighborhood to obtain aggregated road information points;
[0127] An information point updating unit, used for iteratively updating the aggregated road information points based on the target accuracy to obtain the target road information points;
[0128] The second information generating unit is used to generate key control information for controlling the target vehicle based on the vehicle speed and the heading angle corresponding to the target road information point.
[0129] In some optional implementations, the location information acquisition module 510 includes:
[0130] A historical information acquisition unit, used to acquire historical driving information of the calibrated vehicle in the target area;
[0131] An information base creation unit, used to create a base map information base of a target area based on historical driving information, wherein the base map information base stores the road positions corresponding to each road information point in the target area;
[0132] A driving information acquisition unit, used to acquire vehicle driving information sent by a detection device communicating with the SOC controller;
[0133] The driving information query unit is used to query the base map information database based on the vehicle driving information to obtain the current position information of the target vehicle.
[0134] In some optional implementations, the driving information query unit includes:
[0135] A positioning point acquisition subunit is used to acquire the positioning point information carried in the vehicle driving information;
[0136] The information point acquisition subunit is used to query the base map information database based on the positioning point information to obtain the road information point that is the same as the positioning point information;
[0137] The position acquisition subunit is used to obtain the current position information of the target vehicle based on the road position corresponding to the road information point.
[0138] In some optional embodiments, the target vehicle control module 550 includes:
[0139] A connection creation unit, used to establish a connection between the MCU controller and the SOC controller;
[0140] The message sending unit is used to generate a control message based on key control information, and send the control message to the MCU controller in the domain controller through the user datagram protocol, so that the MCU controller controls the driving direction and speed of the target vehicle based on the control message.
[0141] In some optional implementations, the target vehicle control module 550 is further used to receive a control result fed back by the target vehicle of the current control node based on the key control information; and adjust the key control information of the next control node based on the control result.
[0142] In the vehicle control device provided by the present invention, the position information acquisition module acquires the current position information of the target vehicle through the SOC controller in the domain controller; the obstacle information acquisition module acquires the target obstacle information around the target vehicle based on the current position information; the control information generation module generates the key control information for controlling the target vehicle based on the current position information and the target obstacle information; the target vehicle control module sends the key control information to the MCU controller in the domain controller, so that the MCU controller controls the target vehicle based on the key control information. Through the above modules, the safety and reliability of vehicle control can be improved.
[0143] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0144] The vehicle control device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0145] The embodiment of the present invention further provides a vehicle having the above Figure 5 Vehicle controls shown.
[0146] See also Figure 6 , Figure 6 is a schematic diagram of the structure of a vehicle provided by an optional embodiment of the present invention, such as Figure 6 As shown, the vehicle includes: one or more processors 610, a memory 620, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses for communication, and can be installed on a common motherboard or installed in other ways as needed. The processor can process instructions executed in the vehicle, including instructions stored in or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple vehicles can be connected, and each device provides some necessary operations (for example, as a storage server array, a group of blade storage servers, or a multi-processor system). Figure 6A processor 610 is taken as an example.
[0147] The processor 610 may be a central processing unit, a network processor or a combination thereof. The processor 610 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable logic gate array, a general purpose array logic or any combination thereof.
[0148] The memory 620 stores instructions executable by at least one processor 610, so that the at least one processor 610 executes the method shown in the above embodiment.
[0149] The memory 620 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created based on the use of a vehicle displayed on a small program landing page, etc. In addition, the memory 620 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 620 may optionally include a memory remotely arranged relative to the processor 610, and these remote memories may be connected to the vehicle via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a server cluster, a mobile communication network, and a combination thereof.
[0150] The memory 620 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 620 may also include a combination of the above types of memory.
[0151] The vehicle also includes a communication interface 630 for the vehicle to communicate with other devices or communication networks.
[0152] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0153] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A vehicle control method, characterized in that: The method comprises: Obtain the current location information of the target vehicle through the SOC controller in the domain controller; Based on the current position information, obtaining target obstacle information around the target vehicle; Based on the current position information and the target obstacle information, determining a plurality of groups of road information points for controlling the target vehicle; Determining key control information for controlling the target vehicle based on the distance relationship between each road information point in the plurality of groups of road information points; The key control information is sent to the MCU controller in the domain controller, so that the MCU controller controls the target vehicle based on the key control information.
2. The method according to claim 1, characterized in that The determining, based on the current position information and the target obstacle information, a plurality of groups of road information points for controlling the target vehicle comprises: Determine the obstacle position of the target obstacle at the next moment based on the target obstacle information; Obtaining the current driving state of the target vehicle; Determining an obstacle avoidance path for the target vehicle based on the current driving state and the current position information of the target vehicle, and the obstacle position of the target obstacle at the next moment; Based on the obstacle avoidance path, a plurality of groups of road information points for controlling the target vehicle are determined.
3. The method according to claim 2, characterized in that The determining of key control information for controlling the target vehicle based on the distance relationship between each road information point in the plurality of groups of road information points includes: Fitting the multiple groups of road information points with the target curve to obtain fitted road information points; Determining a target road information point based on a distance relationship between the plurality of groups of road information points and the fitted road information point; Based on the vehicle speed and the heading angle corresponding to the target road information point, key control information for controlling the target vehicle is generated.
4. The method according to claim 2, characterized in that: The determining of key control information for controlling the target vehicle based on the distance relationship between each road information point in the plurality of groups of road information points also includes: Obtaining median points and target accuracies among the multiple groups of road information points; Determining a target neighborhood based on the distances between the multiple groups of road information points and the median point; Aggregating the multiple groups of road information points within the target neighborhood to obtain aggregated road information points; Iteratively updating the aggregated road information points based on the target accuracy to obtain target road information points; Based on the vehicle speed and the heading angle corresponding to the target road information point, key control information for controlling the target vehicle is generated.
5. The method according to claim 1, characterized in that: The obtaining the current position information of the target vehicle through the SOC controller in the domain controller includes: Obtain the historical driving information of the calibrated vehicle in the target area; Creating a base map information database of the target area based on the historical driving information, wherein the base map information database stores the road positions corresponding to each road information point in the target area; Acquiring vehicle driving information sent by a detection device communicating with the SOC controller; The base map information database is queried based on the vehicle driving information to obtain the current position information of the target vehicle.
6. The method according to claim 5, characterized in that The querying of the base map information database based on the vehicle driving information to obtain the current position information of the target vehicle includes: Acquiring the positioning point information carried in the vehicle driving information; Based on the positioning point information, the base map information database is queried to obtain the road information point that is the same as the positioning point information; Based on the road position corresponding to the road information point, the current position information of the target vehicle is obtained.
7. The method according to claim 1, characterized in that The sending the key control information to the MCU controller in the domain controller so that the MCU controller performs vehicle control on the target vehicle based on the key control information includes: Establishing a connection between the MCU controller and the SOC controller; A control message is generated based on the key control information, and the control message is sent to the MCU controller in the domain controller through the user datagram protocol, so that the MCU controller controls the driving direction and speed of the target vehicle based on the control message.
8. The method according to claim 1, characterized in that: The method further comprises: Receiving a control result fed back by the target vehicle of the current control node based on the key control information; The key control information of the next control node is adjusted based on the control result.
9. A vehicle control device, characterized in that: The device comprises: A location information acquisition module is used to obtain the current location information of the target vehicle through the SOC controller in the domain controller; An obstacle information acquisition module, used to acquire target obstacle information around the target vehicle based on the current position information; A road information point determination module, used to determine a plurality of groups of road information points for controlling the target vehicle based on the current position information and the target obstacle information; A control information generating module, used for determining key control information for controlling the target vehicle based on the distance relationship between each road information point in the plurality of groups of road information points; The target vehicle control module is used to send the key control information to the MCU controller in the domain controller, so that the MCU controller controls the target vehicle based on the key control information.
10. A vehicle, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the vehicle control method according to any one of claims 1 to 7 by executing the computer instructions.