Method and device for controlling vehicle and storage medium

By introducing control variables in the trajectory planning of autonomous vehicles, considering the dynamic model of the vehicle, generating preferred planning trajectories and controlling the problem of high trajectory errors and high collision risks. The risk of collision.

CN119370118APending Publication Date: 2025-01-28BEIJING TUSEN ZHITU TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310922168.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-25
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

In the trajectory tracking control of autonomous driving vehicles, the prior art is difficult to effectively reduce the error between the vehicle's driving trajectory and the planned trajectory, resulting in an increase in the risk of collision.

Method used

By introducing the control variables of the vehicle, considering the vehicle's dynamic model during the trajectory planning process, generating preferred planning trajectories, and controlling the vehicle according to the corresponding control variable value sequence of the trajectory to reduce the trajectory tracking error.

Benefits of technology

Effectively reduce the trajectory tracking error of the vehicle, reduce the risk of collision, and optimize the fault -tolerant space required for the planning module when planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119370118A_ABST
    Figure CN119370118A_ABST
Patent Text Reader

Abstract

The invention provides a method and device for controlling a vehicle and a storage medium. The method comprises: for a current moment, generating a plurality of value sequences for each of at least one control variable of the vehicle; according to the generated value sequence of the control variables, generating a plurality of planning tracks of the vehicle through a vehicle prediction model; selecting one planning track from the plurality of planning tracks as a preferred planning track; and controlling the vehicle to move according to the optimal planning track according to the value sequence of the control variable corresponding to the optimal planning track. According to the embodiment of the invention, the control variable of the vehicle is considered in the trajectory planning process, so that the planned optimal planning trajectory better conforms to the dynamic characteristics of the vehicle. In the trajectory tracking control process, the vehicle is controlled directly based on the value sequence of the control variables corresponding to the optimal planning trajectory, so that the error between the driving trajectory of the vehicle and the optimal planning trajectory is smaller, and the risk of collision of the vehicle is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of autonomous driving, and more specifically, to a method, device and storage medium for controlling a vehicle. Background Art

[0002] In the field of autonomous driving, vehicles usually include a planning module and a control module. The planning module is responsible for generating a planned trajectory, and the control module performs trajectory tracking control based on the planned trajectory generated by the planning module, thereby achieving the effect of autonomous driving. It is expected to reduce the error between the vehicle's driving trajectory and the planned trajectory. Summary of the invention

[0003] The embodiments of the present application provide a method, device and storage medium for controlling a vehicle, which can reduce the trajectory tracking error of the vehicle, thereby reducing the probability of a collision of the vehicle.

[0004] In a first aspect, a method for controlling a vehicle is provided, comprising: for a current moment, generating multiple value sequences for each of at least one control variable of the vehicle; generating multiple planned trajectories of the vehicle through a vehicle prediction model based on the generated value sequences of the control variables; selecting a planned trajectory from the multiple planned trajectories as a preferred planned trajectory; and controlling the vehicle to move along the preferred planned trajectory based on the value sequence of the control variables corresponding to the preferred planned trajectory.

[0005] In a second aspect, a device for controlling a vehicle is provided, comprising: a processor; and a memory storing a program, wherein the program comprises instructions, and when the instructions are executed by the processor, the processor executes the method according to the first aspect.

[0006] According to a third aspect, a computer-readable storage medium storing a program is provided, wherein the program includes instructions, which, when executed by one or more processors of a computing device, cause the computing device to execute the method according to the first aspect.

[0007] The embodiment of the present application introduces the control variables of the vehicle in the trajectory planning process, thereby taking into account the dynamic model of the vehicle in the trajectory planning. In the trajectory tracking control process, the embodiment of the present application uses the value sequence of the control variables corresponding to the preferred trajectory planned based on the dynamic model of the vehicle to control the vehicle, so that the error between the vehicle's driving trajectory and the preferred planned trajectory is smaller, thereby reducing the risk of vehicle collision. In addition, the embodiment of the present application introduces the control variables of the vehicle in the trajectory planning process, thereby taking into account the dynamic model of the vehicle in the trajectory planning, so that the error between the vehicle's driving trajectory and the planned trajectory is smaller, so that the planning module does not need to leave a tolerance space for the control error range of the control module during planning (or only needs to leave a small amount of tolerance space). BRIEF DESCRIPTION OF THE DRAWINGS

[0008] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the background technology, the drawings required for use in the embodiments of the present application or the background technology will be described below.

[0009] Figure 1 It is a flowchart of a method for controlling a vehicle provided in an embodiment of the present application.

[0010] Figure 2 This is an example diagram of a device for controlling a vehicle provided in an embodiment of the present application.

[0011] Figure 3A This is an example diagram of an implementation method of the model deviation estimator provided in an embodiment of the present application.

[0012] Figure 3B This is an example diagram of another implementation method of the model deviation estimator provided in an embodiment of the present application.

[0013] Figure 4 It is a schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0014] A vehicle may typically include various sensors for sensing the environment around the vehicle and the condition of the vehicle itself, such as an inertial measurement unit (IMU), a global navigation satellite system (GNSS) transceiver (such as a global positioning system (GPS) transceiver), a radio detection and ranging (RADAR) sensor, a laser detection and ranging (LiDAR) sensor, an acoustic sensor, an ultrasonic sensor, etc.

[0015] The vehicle may be operated in full or partial autonomous mode. When in autonomous mode, the vehicle may operate without human interaction. The vehicle may be a car, truck, motorcycle, bus, recreational vehicle, amusement park vehicle, tram, golf cart, train, trolley bus, or other vehicle.

[0016] The vehicle may also include a computing device. The computing device can control some or all functions of the vehicle. The computing device may include, for example, an autonomous driving control unit, which may be composed of one or more algorithmic modules. These algorithmic modules include various machine learning models (e.g., neural networks) that can perform real-time or onboard processing (e.g., target detection) of data collected by sensors on the vehicle to identify, evaluate, and avoid or overcome potential obstacles in the environment in which the vehicle is located. In some embodiments, the autonomous driving control unit is used to combine data from sensors to determine the vehicle's driving path or trajectory.

[0017] The vehicle's automatic driving control unit may include a planning module and a control module. The planning module and the control module are separated from each other, wherein the control module is located downstream of the planning module. The planning module is mainly responsible for generating a planned trajectory, and the control module performs trajectory tracking control according to the planned trajectory generated by the planning module.

[0018] Usually, the planning module plans a collision-free trajectory based on the assumption that the vehicle will ideally follow the planned trajectory it outputs. However, in the process of tracking the planned trajectory, the downstream control module may cause a certain error between the vehicle's driving trajectory and the planned trajectory output by the planning module due to the control algorithm principle and the consideration of vehicle dynamics safety. Specifically, the trajectory planning performed by the planning module usually only considers kinematic factors, and its planned trajectory may not necessarily conform to the dynamic characteristics of the vehicle. Trajectory tracking usually considers the vehicle's dynamic model and accurately expresses the mapping relationship between the steering wheel, accelerator and brake and the vehicle state. For this reason, the control module often needs to adjust the planned trajectory output by the planning module during the trajectory tracking process. However, the control module's adjustment of the trajectory does not take into account the dynamic interaction between the vehicle and the surrounding obstacles, so this adjustment of the control module may cause a collision.

[0019] A common solution to the above problem is to let the planning module take into account the control error of the control module. For example, the control error range of the control module can be determined offline in advance, and the planning module can leave a tolerance space based on the control error range during planning to avoid vehicle collisions. The disadvantage of this approach is that the planning module usually leaves too much tolerance space, resulting in unnecessary conservative planning control behavior.

[0020] In view of the above problems, the present application provides a method for controlling a vehicle, which can reduce the trajectory tracking error of the vehicle, thereby reducing the probability of a collision of the vehicle. Figure 1 , the embodiments of the present application are described in detail.

[0021] Figure 1 It is a schematic flowchart of a method for controlling a vehicle provided in an embodiment of the present application. Figure 1 The method can be applied to vehicles, such as vehicles with autonomous driving functions.

[0022] See also Figure 1 , in step S12, for the current moment, a plurality of value sequences are generated for each control variable of at least one control variable of the vehicle.

[0023] In step S14, multiple planned trajectories of the vehicle are generated according to the generated value sequence of the control variables through the vehicle prediction model.

[0024] In step S16, a planned trajectory is selected from the multiple planned trajectories as a preferred planned trajectory.

[0025] In step S18, the vehicle is controlled to move along the preferred planned trajectory according to the value sequence of the control variables corresponding to the preferred planned trajectory.

[0026] The control variables of the vehicle are related to the dynamic characteristics of the vehicle. In the related art, the control variables of the vehicle are variables that the downstream control module will consider during the trajectory tracking process. Different from the related art, the embodiment of the present application introduces the control variables of the vehicle during the trajectory planning process, thereby taking into account the dynamic model of the vehicle, so that the planned preferred planning trajectory is more in line with the dynamic characteristics of the vehicle. During the trajectory tracking control process, the embodiment of the present application directly controls the vehicle based on the value sequence of the control variables corresponding to the preferred planning trajectory, so that the error between the vehicle's driving trajectory and the preferred planning trajectory is smaller, thereby reducing the risk of vehicle collision.

[0027] It can be seen that the embodiment of the present application provides a planning and control integrated autonomous driving vehicle control solution, which introduces control variables in the trajectory planning process to take into account vehicle dynamics factors, thereby helping to reduce the trajectory tracking error of the downstream control module. Planning and control in one can avoid the information difference caused by the decoupling of the original two modules (that is, the planning module does not understand the dynamic characteristics of the vehicle). Therefore, the planning and control integrated solution can give a more reasonable planning trajectory in various scenarios, and can make the vehicle accurately travel along the planned trajectory.

[0028] In some embodiments, the control variable of the vehicle mentioned in step S12 may be an open-loop control variable or a vector composed of multiple open-loop control variables.

[0029] In some embodiments, the control variables of the vehicle mentioned in step S12 may include at least one of the following: a lateral control variable and a longitudinal control variable. The longitudinal control variable of the vehicle may include, for example, at least one of wheel torque, engine torque, and equivalent accelerator pedal percentage. The lateral control variable of the vehicle may include, for example, at least one of a front wheel angle and a steering wheel angle.

[0030] It should be noted that the disclosure is described below using the front wheel angle as an example of a lateral control variable, and those skilled in the art will appreciate that the front wheel angle in the following description can be replaced by a steering wheel angle. Similarly, the disclosure is described below using the wheel torque as an example of a longitudinal control variable, and those skilled in the art will appreciate that the wheel torque in the following description can be replaced by an engine torque or an equivalent accelerator pedal percentage.

[0031] In some embodiments, each value sequence of each control variable of the vehicle may include: a plurality of values ​​of the control variable corresponding to a current moment and a plurality of moments after the current moment, respectively.

[0032] For example, the control variables of the vehicle may include wheel torque T and front wheel steering angle δ, which may form a two-dimensional vector (counted as the control variable Uc). Each value sequence of the wheel torque T of the vehicle may include the wheel torque value at the current moment and multiple wheel torque values ​​corresponding to multiple moments after the current moment; each value sequence of the front wheel steering angle δ of the vehicle may include the front wheel steering angle value at the current moment and multiple front wheel steering angle values ​​corresponding to multiple moments after the current moment.

[0033] The value sequence of each control variable mentioned in step S12 can be determined in the value space of the control variable according to a certain search method (such as random search). In one planning cycle, one or more searches can be performed to obtain multiple value sequences of each control variable.

[0034] In some embodiments, the sequence of values ​​of the control variable may be obtained by searching the parameters of the control input parameterized curve.

[0035] In some embodiments, the prediction model of the vehicle mentioned in step S14 may include a kinematic model (Kinematic Model) and a dynamic model (Dynamic Model) of the vehicle.

[0036] The kinematic model of the vehicle can be designed based on the kinematic principle of the vehicle and in combination with the type and structure of the vehicle, and the embodiments of the present application do not specifically limit this. Taking a vehicle including a tractor and a trailer (i.e., a truck) as an example, the kinematic model of the vehicle can adopt the following model:

[0037]

[0038]

[0039]

[0040]

[0041] Among them, (x p ,y p ) represents the position of the center point of the tractor rear axle of the vehicle (for example, the coordinates of the center point of the tractor rear axle in a world coordinate system established with a fixed point in the environment of the vehicle as the center, and the world coordinate system may be a two-dimensional coordinate system parallel to the ground); Indicates x p Derivative (or x p derivative with respect to time); Indicates y p Derivative (or y p derivative with respect to time); v x represents the longitudinal (e.g., parallel to the tractor) speed of the vehicle (or the tractor of the vehicle) (which can be measured by, for example, an IMU, a wheel speedometer, etc.), Indicates the heading angle of the vehicle (or the vehicle's tractor); v y represents the lateral (eg, perpendicular to the tractor) speed of the vehicle (or the tractor of the vehicle) (which may be measured by, for example, an IMU); L r represents the distance from the inertial measurement unit (IMU) to the rear axle of the tractor; r represents the yaw rate of the vehicle (or the tractor of the vehicle) (which can be measured by, for example, the IMU); α represents the angle between the trailer and the tractor; represents the derivative of α (or the derivative of α with respect to time); Express Derivation (or time derivative); L1 represents the distance from the front axle to the rear axle of the tractor; L2 represents the distance from the articulation point of the trailer to the rear axle of the trailer; L h Indicates the distance from the front axle of the tractor to the articulation point of the trailer.

[0042] μ can be determined based on the following formula: Wherein, μ and δ both represent the front wheel turning angle (or the front wheel turning angle of the tractor). For the sake of distinction, in this application, δ is referred to as the front wheel turning angle under the open-loop strategy, and μ is referred to as the front wheel turning angle under the closed-loop strategy. represents the reference yaw rate of the vehicle (or the tractor of the vehicle). Function f can be a linear function, for example; accordingly, Can be equal to k is a constant greater than zero.

[0043] It should be noted that, in this application, "open loop" or "open loop strategy" refers to the value or value sequence of the control variable obtained by searching, and "closed loop" or "closed loop strategy" refers to the definition of the control variable containing the information of the state variable. For example, by searching the parameter ρ of the "control input parameterized curve", the value or value sequence of the wheel torque T and the front wheel steering angle δ can be obtained. Therefore, the wheel torque T and the front wheel steering angle δ are the control variables (or open loop control variables) under the open loop strategy. For another example, the front wheel angle The definition of μ involves the state variables r and Therefore, μ is the front wheel steering angle under the closed-loop strategy (or closed-loop front wheel steering angle).

[0044] The embodiment of the present application does not specifically limit the form of the vehicle dynamics model. The vehicle dynamics model can be identified based on the vehicle dynamics principle and combined with the actual conditions of different vehicles, and then a dynamics model matching the vehicle can be established. After the vehicle dynamics model is established, the prediction accuracy of the dynamics model can be verified through a large amount of data, so that after the vehicle control variables and / or the current state of the vehicle are input into the vehicle dynamics model, the change of the future state of the vehicle can be accurately predicted.

[0045] In some embodiments, the dynamic model of the vehicle may include a lateral dynamic model (LateralDynamic Model) of the vehicle.

[0046] The lateral dynamics model of the vehicle can be designed according to the dynamics principle of the vehicle and in combination with the type and structure of the vehicle, and the embodiments of the present application do not specifically limit this. Taking a vehicle including a tractor and a trailer as an example, the lateral dynamics model of the vehicle can adopt the following model:

[0047]

[0048]

[0049] Among them, v y Indicates the lateral speed of the vehicle (or the vehicle's tractor); v x Indicates the longitudinal speed of the vehicle (or the vehicle's towing vehicle); Indicates v y Derivative (or v y time derivative). lat represents the lateral dynamics model coefficient, P lat It can be obtained through offline model identification technology based on a large amount of extensive driving data. lat is a vector, P lat [0], Plat [1] P lat [2] P lat [3] P lat [4] P lat [5] P lat [6] P lat [7] P lat [8] P lat [9] is the vector P lat The elements in . r represents the yaw rate of the vehicle (or the tractor of the vehicle); μ represents the front wheel turning angle under the closed-loop strategy; θ roll Indicates the road roll angle; represents the derivative of r (or the derivative of r with respect to time).

[0050] In some embodiments, the lateral dynamics model of the vehicle may include a first lateral dynamics model and a second lateral dynamics model. The functional relationship expressed by the second lateral dynamics model and the first lateral dynamics model may be substantially the same, and therefore, the second lateral dynamics model may also be referred to as a copy model of the first lateral dynamics model. The difference between the two may be that the strategies of the variables in the first lateral dynamics model and the second lateral dynamics model may be different. For example, at least some of the variables in the first lateral dynamics model may adopt a closed-loop strategy, and some of the variables in the second lateral dynamics model may adopt an open-loop strategy.

[0051] Still taking the vehicle including the tractor and the trailer as an example, the first lateral dynamics model of the vehicle can adopt the model shown in the above formula (5) and formula (6). The second lateral dynamics model of the vehicle can adopt the model shown in the following formula (7) and formula (8):

[0052]

[0053]

[0054] Among them, v x represents the longitudinal speed of the vehicle (or the vehicle's tractor), represents the reference lateral velocity of the vehicle (or the vehicle's towing vehicle), Express Derivation (or derivative with respect to time). represents the reference yaw rate of the vehicle (or the vehicle's tractor), and δ represents the front wheel turning angle under the open-loop strategy. Express Derivation (or time derivative). roll Indicates the road roll angle. latrepresents the lateral dynamics model coefficient, P lat It can be obtained through offline model identification technology based on a large amount of extensive driving data, usually P lat is a vector, P lat [0], P lat [1] P lat [2] P lat [3] P lat [4] P lat [5] P lat [6] P lat [7] P lat [8] P lat [9] is the vector P lat The elements in .

[0055] In some embodiments, the dynamic model of the vehicle may include a longitudinal dynamic model of the vehicle. The longitudinal dynamic model of the vehicle may be designed based on the dynamic principle of the vehicle and in combination with the type and structure of the vehicle, and the embodiments of the present application do not specifically limit this. Taking a vehicle including a tractor and a trailer as an example, the longitudinal dynamic model of the vehicle may adopt the following model:

[0056]

[0057] Among them, v x Indicates the longitudinal speed of the vehicle (or the vehicle's towing vehicle); Indicates v x Derivative (or v x derivative with respect to time); P lng represents the longitudinal dynamic model coefficient, P lng It can be obtained through offline model identification technology based on a large amount of extensive driving data, usually P lng is a vector, P lng [0], P lng [1] P lng [2] P lng [3] represents the vector P lng The elements in; T represents the wheel torque; θ pitch Indicates the road slope angle.

[0058] The vehicle prediction model (such as the vehicle dynamics model) identified offline usually does not have an accurate description of some external dynamic disturbances. In addition, the observation deviation caused by the sensor installation position and the upstream algorithm will be introduced into the vehicle prediction model (such as the vehicle kinematic model). Therefore, in some embodiments, a deviation estimate can be provided for the vehicle prediction model. The deviation estimate can be used to characterize the deviation associated with the data collected by the sensor on the vehicle. The deviation estimate can, for example, include at least one of the heading angle drift, the dynamic uncertainty of the lateral velocity, and the dynamic uncertainty of the yaw rate. Exemplarily, an online disturbance / observation deviation estimator (hereinafter also referred to as an online model estimator) can be designed based on the least mean square (Least Mean Square, LMS) algorithm to provide the above-mentioned deviation estimate for the vehicle prediction model. Considering external disturbances in the vehicle prediction model and estimating the external disturbances online can further improve the dynamic accuracy of the planned trajectory.

[0059] Taking the vehicle kinematic model shown in formula (1) to formula (4) as an example, the heading angle drift can be added to the vehicle kinematic model: Thus, the vehicle kinematic model shown below is formed (that is, the formulas (1) to (4) in the previous text can be replaced by the formulas (10) to (13) below):

[0060]

[0061]

[0062]

[0063]

[0064] Taking the lateral dynamics model of the vehicle shown in formula (5) to formula (8) as an example, the lateral velocity dynamic uncertainty Δv can be added to the lateral dynamics model y and the yaw rate dynamic uncertainty Δr, thereby forming the lateral dynamics model shown below (that is, the formulas (5) to (8) in the previous text can be replaced by the formulas (14) to (17) below):

[0065]

[0066]

[0067]

[0068]

[0069] In some embodiments, Figure 1The method may further include: obtaining an initial value of a state variable of the vehicle at the current moment. Step S14 may include: generating a plurality of planned trajectories of the vehicle through a vehicle prediction model according to the obtained initial value of the state variable and the generated value sequence of the control variable.

[0070] The state variables of the vehicle may include state variables related to the vehicle kinematics model and / or state variables related to the vehicle dynamics.

[0071] For example, the state variables related to the vehicle kinematics model may include at least one of the following: the vehicle position, the heading angle, and the trailer angle. Taking the vehicle kinematics model shown in formulas (1) to (4) as an example, the related state variables include x p ,y p , and α, where (x p ,y p ) represents the coordinate position of the center point of the tractor rear axle of the vehicle, represents the orientation angle of the vehicle, and α represents the angle between the trailer and the tractor.

[0072] For another example, the state variables related to the vehicle dynamics model may include at least one of the following: yaw rate, lateral velocity, longitudinal velocity, reference lateral velocity, and reference yaw rate. Taking the vehicle dynamics model shown in formula (5) to formula (9) as an example, the related state variables include v x , v y , r, Among them, v x represents the longitudinal velocity of the vehicle (or the vehicle's tractor), v y represents the lateral velocity of the vehicle (or the tractor of the vehicle), r represents the yaw rate of the vehicle (or the tractor of the vehicle), Indicates the reference lateral speed of the vehicle (or the vehicle's towing vehicle), It represents the reference yaw rate of the vehicle (or the vehicle's towing vehicle).

[0073] The present application embodiment does not specifically limit the method for determining the initial value of the state variable of the vehicle at the current moment. In some embodiments, at least one state variable (e.g., state variable x) among the state variables of the vehicle at the current moment is p ,y p , α、v x 、v y The initial values ​​of r) can be obtained by processing the data collected by the sensors on the vehicle. The initial values ​​of these variables are also called observation initial values. For example, if the state variables of the vehicle include the position of the vehicle, the position can be determined by using a position sensor (such as GPS) installed on the vehicle.

[0074] In some other embodiments, at least one state variable (e.g., state variable 1) among the state variables of the vehicle at the current moment may be determined based on the preferred planned trajectory of the vehicle determined at the previous moment (or the previous planning cycle). ). The corresponding initial values ​​of these variables are also called predicted initial values. Since the initial value of the at least one state variable is determined based on the preferred planning trajectory determined at the last moment, rather than determined by the data collected by the sensor, the initial value of the at least one state variable will not be affected by some relatively poor observation data (such as high-frequency noise, short-term distortion of observation, etc.). It can be seen that introducing such state variables in the vehicle state helps to reduce the impact of relatively poor observation data on trajectory prediction performance.

[0075] For example, equations (5) and (6) involve two state variables, namely the lateral velocity v of the vehicle (or the vehicle's tractor) y and the yaw rate r of the vehicle (or the tractor of the vehicle). The initial values ​​of the two state variables at the current moment can be determined based on the data collected by the sensor. Formulas (7) and (8) involve two state variables similar to the above two state variables, namely, the reference lateral velocity and the reference yaw rate The reference lateral velocity The initial value of can be the lateral velocity of the vehicle when it moves along the optimal planning trajectory at the previous moment to the current moment. The reference yaw angular velocity The initial value of can be the yaw rate of the vehicle when it moves along the optimal planning trajectory at the previous moment to the current moment. The above initial value setting method can avoid the influence of some relatively poor observation data on the trajectory prediction performance.

[0076] It should be noted that the state variable x p ,y p , α、v x 、v y 、r、 All are related to time, or in other words, all these variables are functions of time.

[0077] In some embodiments, each planned trajectory may be composed of multiple state variables of the vehicle (eg, state variables x p ,y p , ,α,v x 、v y 、r、 The value sequence of each state variable may include: multiple values ​​of the state variable corresponding to the current moment and multiple moments after the current moment. That is to say, once the value sequence of each state variable of the vehicle at the current moment and multiple moments after the current moment is determined, the planned trajectory of the vehicle at the current moment and multiple moments in the future is also determined. Assuming that the vehicle prediction model adopts the model shown in formula (1) to formula (9) or formula (9) to formula (17), the 9 state variables (i.e., state variables x) of the vehicle prediction model at the current moment and multiple moments in the future can be determined. p ,y p , α、v x 、v y 、r、 ) to form a value sequence of 9 state variables. Once the value sequence of the 9 state variables is determined, a planning trajectory is also determined. If the 9 state variables have a combination of multiple value sequences, it is equivalent to forming multiple planning trajectories.

[0078] In some embodiments, Figure 1 The method may further include: obtaining information about the environment in which the vehicle is located. Figure 1 Step S14 in the method may include: generating multiple planned trajectories of the vehicle through a vehicle prediction model according to the information of the environment in which the vehicle is located, the initial values ​​of the acquired state variables, and the value sequence of the generated control variables. In the trajectory planning process, considering the environment information in which the vehicle is located can make the generated planned trajectory more accurate.

[0079] In some embodiments, the information of the vehicle environment may include one or more of the following: the roll angle and the slope angle of the road in the vehicle environment. Taking the vehicle prediction model using the vehicle model shown in formula (1) to formula (9) or formula (9) to formula (17) as an example, the variable θ in the vehicle prediction model is roll (Road roll angle) and θ pitch (Road slope angle) is a variable introduced to consider the environment in which the vehicle is located. Information about the environment in which the vehicle is located can be collected based on sensors installed on the vehicle. For example, a sensor (such as a camera or a light detection and ranging (LiDAR) sensor) can be installed on the vehicle. By collecting sensor data of the road on which the vehicle is located, the roll angle and slope angle of the road can be calculated.

[0080] In some embodiments, step S14 may include: generating multiple planned trajectories of the vehicle through a vehicle prediction model according to the dynamic performance boundary of the vehicle state at the current moment, the initial value of the acquired state variable and the value sequence of the generated control variable. For example, in the process of generating the planned trajectory, the real-time maximum acceleration of the vehicle determined by the vehicle's engine, gearbox and other powertrains may be considered, so that the acceleration of the generated planned trajectory is what the vehicle can actually generate. It can be seen that adding the vehicle's dynamic performance boundary to the trajectory planning can make the planned trajectory more consistent with the actual movement of the vehicle, and also help to make subsequent task decisions based on trajectory evaluation more reasonable.

[0081] Previous article Figure 1 The implementation method of steps S12 to S14 in the above is described in detail with examples, and the following describes steps S16 to S18 in detail with examples.

[0082] In some embodiments, step S16 may include: calculating the cost value of each of the multiple planned trajectories according to a predetermined rule; and selecting a preferred planned trajectory from the multiple planned trajectories according to the cost values ​​of the multiple planned trajectories. For example, a planned trajectory corresponding to a minimum cost value may be selected from the multiple planned trajectories as the preferred planned trajectory.

[0083] It should be noted that the cost value of the planned trajectory can be calculated based on a pre-designed cost function. The cost function can be a weighted sum of the values ​​corresponding to multiple factors. An example of these factors is the dynamic state of the vehicle. The vehicle dynamic state can include at least one of the yaw rate, lateral acceleration, lateral speed, longitudinal acceleration and longitudinal speed of the vehicle (or the tractor of the vehicle). For example, the cost value of calculating each of the multiple planned trajectories mentioned above may include: calculating the dynamic state value of the vehicle on each of the multiple planned trajectories at one or more moments after the current moment; for each of the multiple planned trajectories, according to the dynamic state value corresponding to the planned trajectory, adjusting the cost value of the planned trajectory. For example, for any planned trajectory, the dynamic state values ​​corresponding to the vehicle at multiple moments after the current moment can be calculated, and then these dynamic state values ​​are accumulated and multiplied by the negative weight as a cost function or a part of the cost function.

[0084] In some embodiments, step S18 may include: in response to the cost value of at least one planned trajectory among a plurality of planned trajectories being less than or equal to a cost threshold, controlling the vehicle to move along the preferred planned trajectory according to the value sequence of the control variable corresponding to the preferred planned trajectory. A planned trajectory can be arbitrarily selected from the planned trajectories whose cost value is less than or equal to the cost threshold as the preferred planned trajectory, or a planned trajectory corresponding to the minimum cost value can be selected as the preferred planned trajectory. As mentioned above, a plurality of planned trajectories are generated based on the value sequence of the control variables, and if the value sequence of the control variables is different, the generated planned trajectories may be different. Therefore, the plurality of planned trajectories have a one-to-one correspondence with the plurality of value sequences of each control variable. When a certain planned trajectory is selected as the preferred planned trajectory, the vehicle can be controlled based on the value sequence of the control variable corresponding to the preferred planned trajectory. The value sequence of the control variable corresponding to the preferred planned trajectory can be referred to as the preferred value sequence (or optimal value sequence) of the control variable.

[0085] In some embodiments, step S18 may include: controlling at least one of the acceleration, deceleration and steering of the vehicle according to the value sequence of the control variable corresponding to the preferred planned trajectory. Step S18 may be performed by the control module of the vehicle. The control module may control at least one of the throttle, brake and steering angle of the vehicle according to the received value sequence of the control variable (i.e., the value sequence of the control variable corresponding to the preferred planned trajectory). In one example, the control module will first interpolate the received value sequence of the control variable. For example, the control module may interpolate the value sequence of the wheel-side torque according to the timestamp according to the value sequence of the control variable wheel-side torque, and then the throttle / brake of the vehicle may be controlled based on the interpolated value sequence of the wheel-side torque.

[0086] In some embodiments, the multiple value sequences generated by each control variable of at least one control variable of the vehicle recorded in step S12 may be a first set of value sequences. The multiple planned trajectories generated based on the first set of value sequences recorded in step S14 may be a first set of planned trajectories. Figure 1The method may also include: determining whether the minimum cost value of the first set of planned trajectories is less than or equal to the cost threshold; in response to the minimum cost value of the first set of planned trajectories being greater than the cost threshold, generating a second set of value sequences for each control variable in at least one control variable of the vehicle at the current moment. For example, a "control input parameterized curve" may be established. The control input parameterized curve may describe the functional relationship u=f(t|ρ) between the control variable u and another variable (such as time t), where ρ represents a parameter (or coefficient) of the control input parameterized curve. The control variable u may be any control variable described above, such as wheel torque T or front wheel steering angle δ. It can be seen from the functional relationship that the value of u has a mapping relationship with ρ. When the first set of planned trajectories generated based on the first set of value sequences of u does not meet the requirements, a new value of ρ may be searched near the value of ρ corresponding to the first set of value sequences of u (or preferred value sequences) in a certain search manner (such as random search), and a second set of value sequences of u may be determined based on the new value of ρ.

[0087] Furthermore, in some embodiments, Figure 1 The method may also include: generating a second set of planned trajectories for the vehicle through a vehicle prediction model according to the generated second set of value sequences; and calculating the cost value of each trajectory in the second set of planned trajectories by using a predetermined rule (such as a preset cost function). In response to the minimum cost value of the second set of planned trajectories being less than or equal to the cost threshold, arbitrarily selecting a planned trajectory from the planned trajectories whose cost values ​​of the second set of planned trajectories are less than or equal to the cost threshold to update the preferred planned trajectory, or using the planned trajectory corresponding to the minimum cost value of the second set of planned trajectories to update the preferred planned trajectory, and controlling the vehicle based on the value sequence of the control variable corresponding to the updated preferred planned trajectory. Of course, if the minimum cost value of the second set of planned trajectories is still greater than the cost threshold, for the current moment, a third or more set of value sequences are generated for each control variable in at least one control variable of the vehicle until a set of planned trajectories whose minimum cost value is less than or equal to the cost threshold is found.

[0088] The following describes the embodiments of the present application in more detail with reference to specific examples. Figure 2 The examples are only intended to help those skilled in the art understand the embodiments of the present application, and are not intended to limit the embodiments of the present application to the specific values ​​or specific scenarios illustrated. Figure 2 It is obvious that various equivalent modifications or changes can be made, and such modifications or changes also fall within the scope of the embodiments of the present application.

[0089] Figure 2 The schematic diagram of the vehicle control device 200 provided in the embodiment of the present application is shown. The device can adopt a vehicle control algorithm integrating planning and control, and can be used to implement Figure 1 An example of a vehicle control device is a computer program implemented on one or more computing devices at one or more locations. In one example, the vehicle control device is Figure 4 A computer program implemented on the device shown.

[0090] It should be noted that in Figure 2 In the embodiment shown, the symbol *(i|k) represents the future i-th step variable (i.e., the variable corresponding to the i-th time stamp in the future) of the k-th frame (the moment corresponding to the k-th frame can be understood as the current moment mentioned above), *(0|k) represents the initial value of the variable corresponding to the current moment, and *(*|k) represents the sequence or trajectory of the k-th frame. {*} represents a group, indicating that there are multiple corresponding parameters, sequences, or trajectories.

[0091] like Figure 2 As shown, the apparatus 200 may include a planning module 210 and a control module 220. The planning module 210 may include a parameter solver 212, a parameter decoder 214, a trajectory generator 216, an evaluator 218, a model deviation estimator 224, and a heading angle drift estimator 226.

[0092] Before generating the planning trajectory for the kth frame (or the current moment), the planning module 210 first performs an initialization operation. Specifically, the parameter solver 212 of the planning module performs an initialization operation to generate a set of initial parameters {ρ}. For example, the parameter solver can generate multiple initial values ​​for each element of the vector ρ, thereby forming a set of initial parameters {ρ}. ρ represents a parameter (or coefficient) that controls the input parameterized curve, and ρ can be a vector.

[0093] The parameter decoder 214 can create a "control input parameterization curve". The control input parameterization curve can describe the control variable (eg, the control variable U c ) and another variable (such as time t) c =f(t|ρ). From this functional relationship, we can see that U c The value of has a mapping relationship with ρ. The control variable U c It can be a vector (i.e., a multidimensional vector). For example, it can be a two-dimensional vector composed of multiple open-loop control variables (such as wheel torque T and front wheel steering angle δ). c Taking the wheel torque T and the front wheel steering angle δ as examples, the functional relationship between the control variable and time can be expressed as follows:

[0094] T=ρ1t+ρ2t 2 (18)

[0095] δ=ρ3t+ρ4t 2 (19)

[0096] In equations (18) and (19), the vector ρ may include 4 vector elements, ρ1, ρ2, ρ3, and ρ4.

[0097] It should be noted that the same symbols in Formula (1) to Formula (19) of the present disclosure represent the same content (such as the same variable or the same constant), unless otherwise specified.

[0098] The parameter decoder 214 uses the initial parameter set {ρ} and the function U c =f(t|ρ) to obtain the control variable U c A set of value sequences {U c (i|k)} i=1,2,…n (hereinafter referred to as {U c (i|k)}), where n is an integer greater than or equal to 1. c When the control variable U is a two-dimensional vector consisting of the wheel torque T and the front wheel steering angle δ, c The set of value sequence U c (i|k) may include a set of value sequences corresponding to the wheel side torque T, and a set of value sequences corresponding to the front wheel steering angle δ.

[0099] The planning module may also include an online model estimator for bias estimation. The online model estimator may include Figure 2 The model bias estimator 224 and the heading angle drift estimator 226 in the embodiment of the present invention are used to estimate the model bias estimator 224 and the heading angle drift estimator 226. The model bias estimator performs bias estimation to obtain the lateral velocity dynamic uncertainty Δv y (k) and the yaw rate dynamic uncertainty Δr(k), the angular drift estimator performs bias estimation and obtains the angular drift

[0100] The planning module (e.g., the trajectory generator 216 of the planning module) may calculate the initial value X of the reference state variable of the vehicle pre (0|k).X pre (0|k) may include, for example, reference state variables and The initial value of the reference state variable X pre (0|k) can be obtained based on the preferred planning trajectory output by the planning module at the k-1th frame (or the previous moment). For example, the planning module (or trajectory generator 216) can predict the vehicle state when the vehicle moves along the preferred planning trajectory output by the k-1th frame to the kth frame, thereby obtaining the initial value of the reference state variable, and the initial value obtained in this way is also called the predicted initial value.

[0101] The trajectory generator 216 can also receive the initial observation value X of the state variable mea(0|k). For example, the apparatus 200 may include Figure 2 The perception module not shown in the figure processes the data collected by the sensors on the vehicle to obtain or determine at least one state variable (e.g., state variable x p ,y p , α、v x 、v y , r), is called the initial value of the state variable observation X mea (0|k). To distinguish it from the reference state variable, the state variable x p ,y p , α、v x 、v y , r is also referred to as the basic state variable in this application. In this way, the perception module can generate the state variable observation initial value X for the basic state variable mea (0|k).

[0102] The trajectory generator 216 may also receive (eg, from a perception module) a road roll angle θ roll (k) and road slope angle θ pitch (k) The perception module can obtain or determine the road roll angle θ of the road where the vehicle is located by processing the data collected by the sensors on the vehicle. roll (k) and road slope angle θ pitch (k).

[0103] Thus, the trajectory generator 216 can receive the initial observation value X of the state variable from the perception module. mea (0|k), road roll angle θ roll (k) and road slope angle θ pitch (k).

[0104] In some embodiments, the trajectory generator is based on the control variable U c A set of value sequences {U c (i|k)}, vehicle prediction model, initial observation value X of vehicle state variables mea (0|k), generate multiple planning trajectories or a set of planning trajectories {X(i|k)} i=1,2,…n (hereinafter abbreviated as {X(i|k)}), where n is an integer greater than or equal to 1. The vehicle prediction model may include a lateral dynamics model, a longitudinal dynamics model, and a kinematic model. The kinematic model may adopt the kinematic model shown in formulas (1) to (4) above. The lateral dynamics model may adopt the lateral dynamics model shown in formulas (5) to (6) above. The longitudinal dynamics model may adopt the longitudinal dynamics model shown in formula (9) above.

[0105] In some embodiments, the trajectory generator is based on the control variable U c A set of value sequences {U c (i|k)}, vehicle prediction model, initial observation value X of vehicle state variables mea (0|k) and the predicted initial value X of the state variable pre (0|k), generating multiple planning trajectories or a set of planning trajectories {X(i|k)}. The vehicle prediction model may include a lateral dynamics model, a longitudinal dynamics model and a kinematic model. The kinematic model may adopt the kinematic model shown in formulas (1) to (4) above. The lateral dynamics model may adopt the lateral dynamics model shown in formulas (5) to (8) above. The longitudinal dynamics model may adopt the longitudinal dynamics model shown in formula (9) above.

[0106] In some embodiments, the trajectory generator is based on the output of the online model estimator, the control variable U c A set of value sequences {U c (i|k)}, vehicle prediction model, initial observation value X of vehicle state variables mea (0|k), generating multiple planning trajectories or a set of planning trajectories {X(i|k)}. The vehicle prediction model may include a lateral dynamics model, a longitudinal dynamics model and a kinematic model. The kinematic model may adopt the kinematic model shown in formulas (10) to (13) above. The lateral dynamics model may adopt the lateral dynamics model shown in formulas (14) to (15) above. The longitudinal dynamics model may adopt the longitudinal dynamics model shown in formula (9) above.

[0107] In some embodiments, the trajectory generator is based on the output of the online model estimator, the control variable U c A set of value sequences {U c (i|k)}, vehicle prediction model, initial observation value X of vehicle state variables mea (0|k) and the predicted initial value X of the state variable pre (0|k), generating multiple planning trajectories or a set of planning trajectories {X(i|k)}. The vehicle prediction model may include a lateral dynamics model, a longitudinal dynamics model and a kinematic model. The kinematic model may adopt the kinematic model shown in formulas (10) to (13) above. The lateral dynamics model may adopt the lateral dynamics model shown in formulas (14) to (17) above. The longitudinal dynamics model may adopt the longitudinal dynamics model shown in formula (9) above.

[0108] It should be noted that for the control variable U c A set of value sequences {Uc For each value sequence in (i|k)}, the trajectory generator generates a corresponding planning trajectory. The control variable U c When it is a two-dimensional vector composed of wheel torque T and front wheel steering angle δ, the control variable U c Each value sequence of can be composed of a value sequence corresponding to the wheel torque T and a value sequence corresponding to the front wheel steering angle δ. Control variable U c The number of value sequences of is the same as the number of value sequences corresponding to the wheel side torque T, and is also the same as the number of value sequences corresponding to the front wheel steering angle δ.

[0109] In some embodiments, the trajectory generator generates multiple planned trajectories or a set of planned trajectories {X(i|k)} and also considers vehicle dynamics. Vehicle dynamics can be represented by a dynamic performance boundary of a vehicle state, for example. The dynamic performance boundary of a vehicle state can be used to characterize the maximum or minimum value of one or more dynamic performances of the vehicle. For example, in the process of generating a planned trajectory, the trajectory generator can consider the vehicle's real-time maximum acceleration {a max (i|k)} i=1,2,…n (hereinafter referred to as {a max (i|k)}), where n is an integer greater than or equal to 1, so that the acceleration of the planned trajectory generated by the trajectory generator is what the vehicle can actually generate. The trajectory generator adds the vehicle dynamic characteristic boundary to the trajectory planning, which can make the planned trajectory more consistent with the actual movement of the vehicle.

[0110] The evaluator 218 evaluates the cost of each planning trajectory generated by the trajectory generator according to the designed cost function, and selects the planning trajectory with the minimum cost in the current iteration round as the preferred planning trajectory (its corresponding ρ can be used as the optimal parameter ρ of the current iteration round). * ), and judge whether the iteration stop condition is met according to the cost value of the preferred planning trajectory. In one example, the evaluator can judge whether the iteration stop condition is met according to the relationship between the cost value of the preferred planning trajectory and the cost threshold. The cost threshold can be an arbitrary value designed based on experience. For example, when the cost value of the preferred planning trajectory is less than or equal to the cost threshold, the evaluator determines that the iteration stop condition is met, and when the cost value of the preferred planning trajectory is greater than the cost threshold, the evaluator determines that the iteration stop condition is not met.

[0111] If the evaluator determines that the iteration stop condition is not met, the evaluator will set the optimal parameter ρ of the current iteration round * The parameter solver 212 can search for the optimal parameter ρ in a certain way (such as random search). *The nearby search obtains a new set of parameters {ρ} and continues the next round of iteration. In the next round of iteration, the parameter decoder 214 calculates the new set of parameters {ρ} and the function U c =f(t|ρ) to obtain the control variable U c A new sequence of values ​​{U c (i|k)}. The trajectory generator 216 is based on the control variable U c The new value sequence group {U c (i|k)}, vehicle prediction model, initial observation value X of vehicle state variables mea (0|k) (Sometimes it can also be based on the output of the online model estimator, vehicle dynamics, and the predicted initial value X of the state variable pre (0|k)), generating a set of new planning trajectories {X(i|k)}. The evaluator evaluates the cost of each planning trajectory newly generated by the trajectory generator according to the designed cost function, and selects the planning trajectory with the minimum cost in the current iteration to replace the planning trajectory with the minimum cost in the previous iteration as the preferred planning trajectory (its corresponding ρ can be used as the optimal parameter ρ of the current iteration). * ), and judge whether the iteration stop condition is met according to the cost value of the optimal planning trajectory.

[0112] If the evaluator determines that the iteration stop condition is not met, the evaluator will set the optimal parameter ρ of the current iteration round * The parameter solver 212 is sent to start the next round of iteration. If the evaluator determines that the iteration stop condition is met, the iteration ends and the value sequence of the control variables corresponding to the optimal planning trajectory of the kth frame is output to the control module 240. c Taking the two-dimensional vector composed of the wheel torque T and the front wheel steering angle δ as an example, the value sequence of the control variable corresponding to the optimal planning trajectory of the kth frame may include the value sequence of the wheel torque T(i|k) i=1,2,…n (hereinafter referred to as T(i|k)) and the value sequence of the front wheel steering angle δ(i|k) i=1,2,…n (hereinafter abbreviated as δ(i|k)), where n is an integer greater than or equal to 1. In some embodiments, the evaluator also outputs a reference yaw rate corresponding to the preferred planned trajectory of the kth frame: The value sequence of (hereinafter referred to as to the control module.

[0113] The control module 240 is responsible for controlling at least one of the throttle, brake and steering angle of the vehicle using the received value sequence of the control variable. The control module 240 may include a wheel-side torque converter 242 and a local strategy module 246. In one example, the control module will first interpolate the received value sequence of the control variable. For example, the wheel-side torque converter (Wheel Torque Converter) can interpolate the wheel-side torque value sequence T(i|k) according to the timestamp to obtain the interpolated value sequence of the wheel-side torque, and then, the throttle and / or braking amount of the vehicle can be calculated based on the interpolated value sequence of the wheel-side torque. The local policy module can interpolate the value sequence δ(i|k) of the front wheel steering angle of the open-loop strategy according to the timestamp as a feedforward. The local strategy module will also interpolate the value sequence of the reference yaw angular velocity The timestamp is interpolated as a reference value and combined with the yaw rate r received from the vehicle's sensor mea (Also called the measured yaw rate r mea ) to calculate the front wheel angle feedback. Finally, the local strategy module calculates the steering angle (or steering wheel angle) based on the sum of the feedforward and feedback. This can improve the vehicle's response speed to the planned trajectory. For example, assuming that the sum of the feedforward and feedback is μ L The measured yaw rate is expressed as r mea The front wheel turning angle under the open-loop strategy is represented by δ. The local strategy module can be calculated based on the following formula Function f can be, for example, a linear function; accordingly, Can be equal to k is a constant greater than zero.

[0114] Combined with the following Figure 3A , the implementation of the online model estimator mentioned above is illustrated by taking the model deviation estimator as an example. The model deviation estimator can generate the model deviation d(k) of the kth frame. The model deviation d(k) mentioned here can include the above and Figure 2 The lateral velocity dynamic uncertainty Δv is shown in y (k) and the yaw rate dynamic uncertainty Δr(k).

[0115] The generation process of the model deviation d(k) of the kth frame is as follows.

[0116] Step a1: Use the previous frame model deviation d(k-1) and the measured value x of the state variable X mea (k-1), predict the value of the state variable X in the current frame (i.e. the predicted value of the state variable) x through the lateral dynamic model (Nominal Lateral Dynamic Model) pred(k). The state variable X can be the state variable x p ,y p , α、v x 、v y 、r、 A multidimensional vector composed of multiple components in .

[0117] Step b1: Get the measured value x of the current frame state variable X mea (k), calculate its difference with the predicted value x pred (k) difference.

[0118] Step c1: Calculate the model deviation d(k) of the current frame based on the difference calculated in step b1 according to a specific update law. The update law can be, for example, the formula: d(k) = d(k-1) + mu×(x mea (k)-x pred (k)), where mu can be a constant greater than zero. Based on the above update law, the model deviation d(k) of the current frame can be obtained.

[0119] Step e1: Calculate the model deviation of the next frame (ie, k+1 frame).

[0120] Combined with the following Figure 3B , another implementation of the model deviation estimator mentioned above is illustrated. The model deviation estimator can generate a model deviation d(k) of the kth frame. The model deviation d(k) mentioned here can include the above and Figure 2 The lateral velocity dynamic uncertainty Δv is shown in y (k) and the yaw rate dynamic uncertainty Δr(k).

[0121] The generation process of the model deviation d(k) of the kth frame is as follows.

[0122] Step a2: Use the previous frame model deviation d(k-1) and the measured value x of the state variable X mea (k-1), predict the value of the state variable X in the current frame (i.e. the predicted value of the state variable) x through the lateral dynamic model (Nominal Lateral Dynamic Model) pred (k). The state variable X can be the state variable x p ,y p , α、v x 、v y 、r、 The values ​​of the control variables in the lateral dynamics model can be measured by the vehicle's sensors.

[0123] Step b2: Get the measured value x of the state variable of the current frame mea (k), calculate its difference with the predicted value x pred (k) difference.

[0124] Step c2: Calculate the model deviation d(k) of the current frame based on the difference calculated in step b2 according to a specific update law. The update law can be, for example, the formula: d(k) = d(k-1) + mu×(x mea (k)-x pred (k)), where mu can be a constant greater than zero. Based on the above update law, the model deviation d(k) of the current frame can be obtained.

[0125] Step d2: Use the model deviation d(k) calculated in step c2 and the simulated value x of the state variable calculated in the previous frame sim (k-1) (where in the specific frame before the kth frame, for example, the km frame, the simulation value x of the state variable sim (km) can be set to the measured value x of the state variable mea (km) is the same, m is an integer greater than or equal to 1 and less than k), based on the lateral dynamics model, calculate the simulation value x of the state variable of the current frame sim (k). The values ​​of the control variables in the lateral dynamics model can be measured by the vehicle's sensors. Then, x sim (k) and x mea (k) Comparison is performed to determine whether the online estimated lateral dynamics model with model bias can accurately predict the state.

[0126] Step e2: Calculate the model deviation of the next frame (ie, the k+1 frame).

[0127] Those skilled in the art will understand that Figure 3A and 3B The lateral dynamics model in is replaced by the vehicle kinematic model, and the angular drift can be calculated accordingly.

[0128] In summary, the present application provides an autonomous driving vehicle control solution that integrates planning and control. Traditionally, the state of trajectory planning is usually at the kinematic level, and the planned trajectory does not necessarily conform to the more realistic vehicle dynamics characteristics, resulting in large trajectory tracking errors that are inevitable in many scenarios. And traditionally, trajectory tracking usually considers dynamic models, which have a more accurate expression of the mapping relationship between the steering wheel, throttle, brakes and vehicle states, but the trajectory tracking process does not consider dynamic interactions, and there is a risk of collision during vehicle control. Therefore, the present disclosure considers adding vehicle dynamics characteristics to trajectory planning, so that the planned trajectory is more in line with the actual movement of the vehicle, and also helps to make subsequent task decisions based on trajectory evaluation more reasonable. At the same time, external disturbances that are often considered in the vehicle control process are also modeled and estimated online to further improve the dynamic accuracy of the trajectory planning vehicle model used.

[0129] According to the present disclosure, the vehicle's dynamic model identification is first completed, a vehicle prediction model is established, and the prediction accuracy of the model is verified by a large amount of data, that is, a mathematical model that can accurately predict the future value of the state variable when the current value of the state variable and the control variable is given. The present disclosure adopts a trajectory generation method based on control variable search, and multiple control variable value sequences are determined by search each time, and one or more searches are performed in each planning cycle. When the current value of the state variable is known, multiple trajectories of each search are calculated according to the model (each trajectory can be multidimensional), and the trajectories are scored. If no trajectory with a score that meets the conditions is obtained, a new round of iteration is started; if a trajectory with a score that meets the conditions is obtained, the sequence of control variable values ​​of the trajectory is directly output and executed by the downstream.

[0130] Figure 4 It is a schematic diagram of the structure of a device for controlling a vehicle provided in an embodiment of the present application. Figure 4 The device 40 shown may include a processor 42 and a memory 44 storing a program. The program includes instructions, and when the instructions are executed by the processor 42, the computing device 40 executes the method for controlling a vehicle mentioned in any of the above embodiments.

[0131] An embodiment of the present application also provides a computer-readable storage medium storing a program, wherein the program includes instructions, which, when executed by one or more processors of a computing device, cause the computing device to execute the method for controlling a vehicle mentioned in any of the foregoing embodiments.

[0132] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present disclosure is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (Digital Subscriber Line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital video disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).

[0133] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments of the present disclosure can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present disclosure.

[0134] In the several embodiments provided in the present disclosure, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0135] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0136] In addition, each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0137] The above is only a specific embodiment of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any person skilled in the art who is familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present disclosure, which should be included in the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be based on the protection scope of the claims.

Claims

1. A method for controlling a vehicle, comprising: generating a plurality of value sequences for each of at least one control variable of the vehicle for a current moment; According to the generated value sequence of the control variable, a plurality of planning trajectories of the vehicle are generated through a vehicle prediction model; Selecting a planning trajectory from multiple planning trajectories as a preferred planning trajectory; The vehicle is controlled to move along the preferred planned trajectory according to the value sequence of the control variables corresponding to the preferred planned trajectory.

2. The method according to claim 1, further comprising: Get the initial value of the vehicle's state variables at the current moment, Among them, according to the value sequence of the generated control variables, multiple planning trajectories of the vehicle are generated through the vehicle prediction model, including: According to the acquired initial values ​​of the state variables and the generated value sequences of the control variables, a plurality of planned trajectories of the vehicle are generated through the vehicle prediction model.

3. The method according to claim 2, wherein: Obtaining the initial values ​​of the vehicle's state variables at the current moment includes: The initial value of at least one state variable among the state variables of the vehicle at the current moment is obtained by processing data collected by sensors on the vehicle.

4. The method according to claim 2, further comprising: According to the preferred planned trajectory of the vehicle determined at a previous moment, an initial value of at least one of the state variables of the vehicle at a current moment is determined.

5. The method according to claim 2, further comprising: Get information about the vehicle’s environment, Among them, according to the initial values ​​of the acquired state variables and the value sequence of the generated control variables, multiple planning trajectories of the vehicle are generated through the vehicle prediction model, including: According to the information of the vehicle's environment, the acquired initial values ​​of the state variables and the generated value sequence of the control variables, a plurality of planned trajectories of the vehicle are generated through the vehicle prediction model. 6 . The method according to claim 5 , wherein the information of the vehicle's environment includes a roll angle and a slope angle of a road in the vehicle's environment.

7. The method according to claim 2, in, According to the initial values ​​of the acquired state variables and the value sequence of the generated control variables, multiple planning trajectories of the vehicle are generated through the vehicle prediction model, including: According to the dynamic performance boundary of the vehicle state at the current moment, the initial values ​​of the acquired state variables and the value sequence of the generated control variables, multiple planned trajectories of the vehicle are generated through the vehicle prediction model.

8. The method of claim 3, further comprising providing a bias estimate to the vehicle prediction model for characterizing bias associated with data collected by sensors on the vehicle.

9. The method according to claim 8, wherein: The bias estimate includes at least one of heading angle drift, lateral velocity dynamic uncertainty, and yaw rate dynamic uncertainty.

10. The method according to claim 1, wherein: Controlling the vehicle to move along the preferred planned trajectory according to the value sequence of the control variables corresponding to the preferred planned trajectory includes: At least one of acceleration, deceleration and steering of the vehicle is controlled according to a sequence of values ​​of the control variables corresponding to the preferred planned trajectory.

11. The method according to claim 1, wherein: The prediction model of the vehicle includes a dynamic model and a kinematic model of the vehicle.

12. The method according to claim 1, wherein: The control variables include a lateral control variable and a longitudinal control variable. The longitudinal control variable includes one of wheel side torque, engine torque and equivalent accelerator pedal percentage. The lateral control variable includes one of a front wheel angle and a steering wheel angle.

13. The method according to claim 1, wherein: Each sequence of values ​​for each control variable consists of: A plurality of values ​​of the control variable corresponding to the current time and a plurality of time points after the current time, respectively.

14. The method according to claim 1, wherein: Each planned trajectory is represented by a sequence of values ​​of multiple state variables of the vehicle, each of which includes: Multiple values ​​of the state variable corresponding to the current time and multiple times after the current time.

15. The method according to claim 1, wherein: Selecting a planning trajectory from multiple planning trajectories as a preferred planning trajectory includes: According to a predetermined rule, a cost value of each planning trajectory in a plurality of planning trajectories is calculated, The planning trajectory corresponding to the minimum cost value is selected from multiple planning trajectories as the preferred planning trajectory.

16. The method according to claim 15, wherein: Controlling the vehicle to move along the preferred planned trajectory according to the value sequence of the control variables corresponding to the preferred planned trajectory includes: In response to a cost value of at least one of the multiple planned trajectories being less than or equal to a cost threshold, the vehicle is controlled to move along the preferred planned trajectory according to a value sequence of a control variable corresponding to the preferred planned trajectory.

17. The method of claim 15, wherein the plurality of value sequences are a first set of value sequences, the plurality of planned trajectories are a first set of planned trajectories, the method further comprising: Determine whether the minimum cost value of the first set of planning trajectories is less than or equal to the cost threshold, In response to the minimum cost value of the first set of planned trajectories being greater than a cost threshold, a second set of value sequences is generated for each of the at least one control variable of the vehicle for a current time.

18. The method according to claim 17, further comprising, Generate a second set of planned trajectories for the vehicle through a vehicle prediction model according to the generated second set of value sequences; Using a predetermined rule, calculating a cost value for each trajectory in the second set of planned trajectories; In response to the minimum cost value of the second group of planned trajectories being less than or equal to the cost threshold, the planned trajectory corresponding to the minimum cost value of the second group of planned trajectories is adopted to update the preferred planned trajectory.

19. The method according to claim 15, wherein: Calculating the cost value of each of the plurality of planned trajectories according to a predetermined rule includes: Calculating a dynamic state value of the vehicle on each of a plurality of planned trajectories at one or more time instants after a current time instant; For each planned trajectory among the multiple planned trajectories, a cost value of the planned trajectory is adjusted according to a dynamic state value corresponding to the planned trajectory.

20. The method according to claim 19, wherein: Vehicle dynamics states include: At least one of a yaw rate, a lateral acceleration, a lateral velocity, a longitudinal acceleration, and a longitudinal velocity of the vehicle.

21. A device for controlling a vehicle, comprising: processor; and A memory storing a program, the program comprising instructions which, when executed by the processor, cause the processor to perform the method according to any one of claims 1-20.

22. A computer-readable storage medium storing a program, the program comprising instructions, which, when executed by one or more processors of a computing device, cause the computing device to perform the method according to any one of claims 1-20.