Vehicle trajectory control for precise route following

By introducing virtual attraction and repulsion nodes in the vehicle and combining model predictive controller and Bezier curve, the reliability and comfort issues of trajectory control of autonomous vehicles in complex environments are solved, and accurate path planning is achieved.

CN120606825APending Publication Date: 2025-09-09GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410560323.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-06
Filing Date
2024-05-08
Publication Date
2025-09-09

AI Technical Summary

Technical Problem

Existing technologies have difficulty in providing reliable trajectory control in autonomous or semi-autonomous vehicles, especially in achieving accurate and comfortable path planning in complex environments.

Method used

By introducing virtual attraction nodes and virtual repulsion nodes in the vehicle, the vehicle trajectory is controlled by utilizing virtual attraction and virtual repulsion forces. Combined with the model predictive controller and Bezier curve, the control mode is dynamically adjusted to adapt to different road conditions and obstacles.

Benefits of technology

It achieves precise control of vehicle trajectory in complex environments, improving the reliability and comfort of autonomous driving, especially in path planning during steering maneuvers, road intersections, ramps and high-traffic areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120606825A_ABST
    Figure CN120606825A_ABST
Patent Text Reader

Abstract

Vehicle trajectory control for precise route following. A method for controlling a vehicle by one or more controllers includes determining an expected driving path of the vehicle. The method further includes determining a location of the virtual attraction node on or substantially on the expected driving path. Further, the method includes determining a location of a virtual exclusion node along one or more boundaries spaced from the expected driving path or at an obstacle located near the expected driving path. The method additionally includes calculating a virtual attraction between the one or more locations of the vehicle and the virtual attraction node. Further, the method includes calculating a virtual repulsive force between the one or more locations of the vehicle and the virtual repulsive node. The method additionally includes controlling a trajectory of the vehicle using, at least in part, the virtual attractive force and the virtual repulsive force.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] introduction

[0002] The present disclosure belongs to the field of vehicle trajectory control.

[0003] A system for helping to provide reliable trajectory control in an autonomous or semi-autonomous vehicle may be advantageous. Summary of the Invention

[0004] A method for controlling a vehicle using one or more controllers includes determining an intended driving path for the vehicle. The method further includes determining the positions of virtual attracting nodes on the intended driving path. Additionally, the method includes determining the positions of virtual repelling nodes along one or more boundaries spaced from the intended driving path or at obstacles located near the intended driving path. The method additionally includes calculating a virtual attraction force between one or more locations of the vehicle and the virtual attracting nodes. Additionally, the method includes calculating a virtual repulsive force between one or more locations of the vehicle and the virtual repulsive nodes. The method additionally includes controlling the trajectory of the vehicle using, at least in part, the virtual attraction force and the virtual repulsive force.

[0005] The method may further include assigning different weights to different virtual attraction nodes, the different weights representing different virtual attraction forces generated by the different virtual attraction nodes. Furthermore, the method may include assigning different weights to different virtual repulsion nodes, the different weights representing different virtual repulsion forces generated by the different virtual repulsion nodes. At least some of the virtual repulsion nodes may be configured as circles, with the radius of the circle representing the weight of at least some of the virtual repulsion nodes. At least some of the virtual repulsion nodes configured as circles may be located at obstacles that the vehicle is to avoid.

[0006] The method may still further include determining a cost using the virtual attractive force and the virtual repulsive force, wherein controlling the trajectory of the vehicle further includes using the cost in a model predictive controller that controls the trajectory of the vehicle.

[0007] The method may further include controlling the trajectory of the vehicle using a comfort mode and a precision mode, each of the comfort mode and the precision mode using control points, wherein a greater number of control points are used in the precision mode than in the comfort mode. The precision mode may be used in areas where a turning maneuver of the vehicle is imminent, an upcoming road intersection, an upcoming road ramp, a construction zone, or relatively high traffic volume.

[0008] A second method for controlling a vehicle via one or more controllers includes determining an intended driving path for the vehicle. The method further includes determining a position of a first virtual repulsion node along a first boundary spaced from the intended driving path, and determining a position of a second virtual repulsion node along a second boundary spaced from the intended driving path. The method additionally includes generating a first virtual repulsion curve using at least some of the first virtual repulsion nodes, and generating a second virtual repulsion curve using at least some of the second virtual repulsion nodes. The method still further includes calculating a first virtual repulsion force between one or more positions of the vehicle and the first virtual repulsion curve, and calculating a second virtual repulsion force between one or more positions of the vehicle and the second virtual repulsion curve. Additionally, the method includes at least partially using the first virtual repulsion force and the second virtual repulsion force to steer the vehicle.

[0009] The second method may further include determining locations of virtual attraction nodes located along or substantially along the expected driving path, generating a virtual attraction curve using at least some of the virtual attraction nodes, and generating a virtual attraction force between one or more locations of the vehicle and the virtual attraction curve. The method may also include steering the vehicle using, at least in part, the virtual attraction force, the first virtual repulsive force, and the second virtual repulsive force. The virtual attraction and repulsive curves may be Bezier curves.

[0010] A second method for controlling a vehicle may include steering the vehicle using a comfort mode and a precision mode, wherein in the precision mode, the first virtual repelling curve and the second virtual repelling curve are positioned closer together than in the comfort mode. The precision mode may be used in areas where a steering maneuver of the vehicle is imminent, an upcoming road intersection, an upcoming road ramp, a construction zone, or relatively high traffic volume.

[0011] A vehicle includes one or more steered wheels and one or more electronic controllers adapted to control the steered wheels. The one or more controllers are collectively programmed with instructions to: determine an intended driving path for the vehicle; determine the positions of virtual attraction nodes along the intended driving path; determine the positions of virtual repulsion nodes along one or more boundaries spaced from the intended driving path or at obstacles located near the intended driving path; calculate virtual attraction forces between the one or more locations of the vehicle and the virtual attraction nodes; calculate virtual repulsion forces between the one or more locations of the vehicle and the virtual repulsion nodes; and control the steered wheels at least in part using the virtual attraction forces and the virtual repulsion forces.

[0012] The vehicle may further include one or more controllers that are collectively programmed with the following instructions: assign different weights to different virtual attraction nodes, the different weights representing different virtual attraction forces generated by the different virtual attraction nodes. The vehicle may further include one or more controllers that are collectively programmed to assign different weights to different virtual repulsion nodes, the different weights representing different virtual repulsion forces generated by the different virtual repulsion nodes.

[0013] In the vehicle, at least some of the virtual repulsive nodes may be located on a circle, the radius of the circle representing weights of at least some of the virtual repulsive nodes. The vehicle may also include one or more controllers collectively programmed to use the virtual attractive force and the virtual repulsive force to determine a cost, wherein the instructions for controlling the steering wheel further include instructions for using the cost in a model predictive controller for controlling the steering wheel of the vehicle.

[0014] Asymmetric error constraints may be provided (eg, a comfort trajectory on one side of the expected vehicle path and a precision trajectory on the other side of the expected vehicle path).

[0015] A path planning command can be provided that, in addition to the nominal desired trajectory, includes asymmetric error constraints as well as comfort and precision commands, and transition commands between comfort and precision commands. The control system can follow the vehicle's desired trajectory and adapt its behavior to factors in the additional planner commands.

[0016] This application provides the following technical solutions:

[0017] 1. A method for controlling a vehicle, the method comprising:

[0018] Through one or more controllers:

[0019] Determine the vehicle's intended driving path;

[0020] Determine the location of the virtual attraction node on the expected driving path;

[0021] determining locations of virtual exclusion nodes along one or more boundaries spaced from the intended driving path;

[0022] calculating a virtual attraction force between one or more locations of the vehicle and a virtual attraction node;

[0023] calculating a virtual repulsive force between one or more locations of the vehicle and a virtual repulsive node; and

[0024] The trajectory of the vehicle is controlled at least in part using the virtual attractive force and the virtual repulsive force.

[0025] 2. The method according to technical solution 1 further includes assigning different weights to different virtual attraction nodes, and the different weights represent different virtual attractions generated by different virtual attraction nodes.

[0026] 3. The method according to Technical Solution 2 further includes assigning different weights to different virtual repulsion nodes, and the different weights represent different virtual repulsion forces generated by different virtual repulsion nodes.

[0027] 4. The method according to technical solution 3, wherein at least some of the virtual repulsion nodes are constructed as circles, and the radius of the circle represents the weight of at least some of the virtual repulsion nodes.

[0028] 5. The method according to technical solution 4, wherein at least some of the virtual repulsion nodes constructed as circles are located at obstacles that the vehicle wants to avoid.

[0029] 6. The method according to technical solution 1 further comprises:

[0030] Use virtual attractive forces and virtual repulsive forces to determine costs; and

[0031] Wherein controlling the trajectory of the vehicle further comprises using the cost in a model predictive controller that controls the trajectory of the vehicle.

[0032] 7. The method according to technical solution 1 further comprises:

[0033] The trajectory of the vehicle is controlled using a comfort mode and a precision mode, each of which uses control points, with a greater number of control points used in the precision mode than in the comfort mode.

[0034] 8. The method according to Technical Solution 7 further includes using a precision mode in an area where a vehicle steering maneuver is about to occur, an upcoming road intersection, an upcoming road ramp, a construction area, or an area with relatively high traffic volume.

[0035] 9. A method for controlling a vehicle, the method comprising:

[0036] determining, via one or more controllers, a desired driving path for the vehicle;

[0037] determining, by one or more controllers, a position of a first virtual exclusion node along a first boundary spaced from the expected driving path;

[0038] determining, by the one or more controllers, a position of a second virtual repulsive node along a second boundary spaced from the expected driving path;

[0039] generating, by one or more controllers, a first virtual repelling curve using at least some of the first virtual repelling nodes;

[0040] generating, by the one or more controllers, a second virtual repelling curve using at least some of the second virtual repelling nodes;

[0041] calculating, by one or more controllers, a first virtual repulsive force between one or more positions of the vehicle and a first virtual repulsive curve;

[0042] calculating, by the one or more controllers, a second virtual repulsive force between the one or more positions of the vehicle and a second virtual repulsive curve; and

[0043] The vehicle is steered, at least in part, using, via one or more controllers, the first virtual repulsive force and the second virtual repulsive force.

[0044] 10. The method according to technical solution 9 further comprises:

[0045] determining, by one or more controllers, a position of a virtual attractor node on the intended driving path;

[0046] generating, by one or more controllers, a virtual attraction curve using at least some of the virtual attraction nodes;

[0047] generating, by one or more controllers, a virtual attraction force between one or more locations of the vehicle and a virtual attraction curve; and

[0048] The vehicle is steered, via one or more controllers, at least in part using the first virtual repulsive force, the second virtual repulsive force, and the virtual attractive force.

[0049] 11. The method according to Technical Solution 9 further includes using a comfort mode and a precision mode to steer the vehicle, wherein in the precision mode, the first virtual repulsion curve and the second virtual repulsion curve are positioned closer together than in the comfort mode.

[0050] 12. The method according to technical solution 9 further includes using an asymmetric error boundary to steer the vehicle, wherein the first virtual repulsion curve is closer to one side of the vehicle than the second virtual repulsion curve is to the second side of the vehicle.

[0051] 13. The method according to technical solution 10, wherein the first virtual repulsion curve, the second virtual repulsion curve and the virtual attraction curve are Bezier curves.

[0052] 14. The method according to technical solution 9, wherein the first virtual repulsion curve and the second virtual repulsion curve are Bezier curves.

[0053] 15. The method according to technical solution 11 further includes using a precision mode in an area where a vehicle steering maneuver is about to occur, an upcoming road intersection, an upcoming road ramp, a construction area, or an area with relatively high traffic volume.

[0054] 16. A vehicle comprising:

[0055] one or more steering wheels; and

[0056] One or more electronic controllers programmed to control the steering wheels and collectively programmed with the following instructions:

[0057] Determine the vehicle's intended driving path;

[0058] Determine the location of the virtual attraction node on the expected driving path;

[0059] determining a location of a virtual repulsion node along one or more boundaries spaced from the intended driving path or at an obstacle located near the intended driving path;

[0060] calculating a virtual attraction force between one or more locations of the vehicle and a virtual attraction node;

[0061] calculating a virtual repulsive force between one or more locations of the vehicle and a virtual repulsive node; and

[0062] The steering wheel is controlled at least in part using the virtual attractive force and the virtual repulsive force.

[0063] 17. The vehicle according to technical solution 16 further includes one or more controllers, wherein the one or more controllers are collectively programmed with the following instructions:

[0064] Different weights are assigned to different virtual attraction nodes, and the different weights represent different virtual attractive forces generated by the different virtual attraction nodes.

[0065] 18. The vehicle according to technical solution 16 further comprises one or more controllers, wherein the one or more controllers are collectively programmed with the following instructions:

[0066] Different weights are assigned to different virtual repulsion nodes, and the different weights represent different virtual repulsion forces generated by the different virtual repulsion nodes.

[0067] 19. A vehicle according to technical solution 18, wherein at least some of the virtual repulsion nodes are constructed as circles, and the radius of the circle represents the weight of at least some of the virtual repulsion nodes.

[0068] 20. The vehicle according to technical solution 16 further comprises one or more controllers, wherein the one or more controllers are collectively programmed with the following instructions:

[0069] The cost is determined using virtual attractive forces and virtual repulsive forces; where

[0070] The instructions for controlling a steering wheel further include instructions for using the cost in a model predictive controller that controls a steering wheel of the vehicle.

[0071] The above summary of the invention does not represent every embodiment or every aspect of the present disclosure. The above-mentioned features and advantages of the present disclosure, as well as other possible features and advantages, will be readily apparent from the following detailed description of the embodiments and best modes for carrying out the present disclosure when taken in conjunction with the accompanying drawings and the appended claims. In addition, the present disclosure expressly includes any combination and sub-combination of the elements and features presented above and below. BRIEF DESCRIPTION OF THE DRAWINGS

[0072] Figure 1 A vehicle having a steering system is illustrated.

[0073] Figure 2 A portion of a vehicle's steering system is illustrated.

[0074] Figure 3 A method for controlling the trajectory of a vehicle is illustrated.

[0075] Figure 3A Shown in detail in Figure 3 Some constraints used in the control method illustrated in FIG.

[0076] Figure 4 The diagram illustrates controlling the trajectory of a vehicle as it traverses a fork in the road or an exit ramp.

[0077] Figure 5 Additionally illustrated is the control of the vehicle's trajectory as it traverses a fork in the road or an exit ramp.

[0078] Figure 6 Examples of a comfort mode, a transition mode, and a precision mode for controlling the trajectory of a vehicle are illustrated. DETAILED DESCRIPTION

[0079] The present disclosure is susceptible of embodiments in many different forms. Representative examples of the present disclosure are shown in the accompanying drawings and described in detail herein as non-limiting examples of the disclosed principles. For this reason, elements and limitations described in the Abstract, Introduction, Summary, and Detailed Description sections but not explicitly recited in the claims should not be incorporated, individually or collectively, into the claims by implication, inference, or otherwise.

[0080] For the purposes of this specification, unless otherwise stated, the use of the singular includes the plural, and vice versa, the terms "and" and "or" shall be both conjunctions and disjunctions, "any" and "all" shall mean "any and all", and the words "include", "comprising", "including", "having" and the like shall mean "including but not limited to". In addition, approximate words such as "about", "almost", "substantially", "substantially", "approximately" and the like may be used herein in the sense of "at, close to or nearly at", or "within 0-5% thereof", or "within an acceptable manufacturing tolerance", or their logical combinations thereof.

[0081] First reference Figure 1 . A vehicle 100 is illustrated. The vehicle 100 may be an autonomous or semi-autonomous driving vehicle, wherein steering and route planning are at least partially performed without or with limited human intervention. The vehicle 100 may be any type of vehicle, such as a car, truck, van, sport utility vehicle, or other vehicle. Also refer to Figure 2 , the vehicle 100 has a steering control system 102 .

[0082] The steering control system 102 may include one or more electronic control units (ECUs), such as the ECU 110. The ECU 110 may be a microprocessor-based controller and should be understood to have electronic resources (microcontroller, software, memory, inputs, outputs, circuitry, and the like) to perform the functions attributed in this disclosure to the ECU 110. The functions described in this disclosure may also be distributed among one or more electronic control units in the vehicle 100, which may be networked together via a data bus and / or hardwiring and, thus, may share data and may share computational responsibilities.

[0083] Since the ECU 110 and other controllers on the vehicle 100 can be microprocessor-based devices, they can operate based on instructions; such instructions can include one or more programming software commands. In addition, some or all of such instructions can include additional instructions.

[0084] Inputs to the ECU 110 may include one or more steering angle sensors 111. The steering angle sensor(s) 111 may provide the angles of the steering wheels of the vehicle 100. The vehicle 100 may have one or more steering wheels. The vehicle 100 may have two steering wheels. The vehicle 100 may also have more than two steering wheels, such as four steering wheels.

[0085] The input to the ECU 110 may also include the output of a navigation system 114. The navigation system 114 may carry map data to understand the configuration and location of roads, including their boundaries, lane dividing lines, and intersections. The navigation system 114 may also contain the desired target or destination of the vehicle 100 and one or more nominal paths for the vehicle 100 to reach the target.

[0086] Additionally, inputs to the ECU 110 may include perception sensors, such as one or more cameras 112, light detection and ranging (LIDAR) sensing 116, radar 118, and global positioning satellite (GPS) sensing 120. Such perception sensors may provide the ECU 110 with an indication of the environment surrounding the vehicle 100. Such environment may include the current location of the vehicle 100. The environment may include visual or other perceptible indications of other vehicles or obstacles in the vicinity of the vehicle 100. The environment may also include road lane markings, guardrails, road edges, intersections, obstacles, and other features of the road on which the vehicle 100 may be traveling.

[0087] Outputs from the ECU 110 may include one or more actuators 122 for controlling the steering wheels of the vehicle 100. Thus, the ECU 100 is adapted to control the steering wheels of the vehicle 100 in order to steer or control the trajectory of the vehicle 100. The vehicle 100 may have one or more steering wheels. The vehicle 100 may have two steering wheels. The vehicle 100 may have four steering wheels.

[0088] Additional references Figure 3, shows a block diagram of a system and method for controlling the trajectory of a vehicle according to the present disclosure. Block 202 is the perception block. There, the position and surrounding environment of the vehicle 100 may be sensed, such as by perception sensors (camera(s) 112, LIDAR remote sensing 116, radar 118, and GPS 120) and / or by the navigation system 114. The output of block 202 may be a nominal or expected path for the vehicle 100 to reach its target destination. At block 204, a reference trajectory for reaching the target destination may be calculated. Multiple reference trajectories may be calculated, such as comfort, transition, and precision trajectories. As will be described in further detail, a comfort trajectory may be used in situations where precise control of the steering or trajectory of the vehicle 100 is deemed unnecessary. For example, this may be along a generally straight road segment with no nearby intersections, no nearby exit or entrance ramps, and no nearby obstacles. (When a comfort trajectory is employed, this disclosure may refer to the control system of the vehicle 100 as being in comfort mode.) On the other hand, a precision trajectory may be used in situations where precise control may be more important. For example, this may be in areas of the road where there are intersections, exit or entrance ramps, road lane restrictions, or nearby obstacles. (When employing a precision trajectory, this disclosure may refer to the control system of vehicle 100 as being in a precision mode.) A transition trajectory may be used in situations where the road transitions between a comfort trajectory and an area where a precision trajectory may be desirable. (When employing a transition trajectory, this disclosure may refer to the control system of vehicle 100 as being in a transition mode.) In comfort mode, control may be performed with fewer control points, with looser boundaries, and / or with a smaller bandwidth than in precision mode in order to make the control of the steering of vehicle 100 feel less "jarring."

[0089] At block 214 , a model of the “plant” being controlled (ie, the vehicle 100 and its steering system) is provided to the model predictive controller 206 .

[0090] The selected trajectory from block 204 may be fed to a model predictive controller 206. The model predictive controller 206 may be within the ECU 110, within another controller in the vehicle 100, or shared among multiple controllers that may be networked together. The model predictive controller 206 will operate to provide control inputs to the actuators 122 in order to cause the vehicle 100 to follow the desired trajectory. The model predictive controller 206 will test various possible input sequences (in this case, steering inputs to be provided via the actuators 122) to obtain an input sequence that will result in an output close to the reference trajectory that will be the minimum cost V over the prediction horizon of predicting “p” steps into the future. The model predictive controller 206 will then command the optimal input sequence (u k) to steer the vehicle. The model predictive controller 206 will then perform the calculation again at the next time interval of digital control. The calculation of the cost V will be described in more detail below.

[0091] The model predictive controller 206 also utilizes other inputs, the generation of which will now be discussed. First, once the planning target and reference trajectory are provided at block 204, obstacle and lane geometry and directional error constraints can be provided from block 204 to block 208. At block 208, the planning nodes and Bezier curves can be applied by the ECU 100.

[0092] Now refer to Figure 4 The planning node applied at block 208 may be a virtual attractor node or a virtual repellor node. Figure 4 Consider that vehicle 100 may transition from traveling on a straight road 300 to traveling on another road 302 through a fork in the road 301. Road 300 may include a first boundary (such as a left edge 300a) and a second boundary (such as a right edge) 300b. Road 302 may include a first boundary (such as a left edge 302a) and a second boundary (such as a right edge 302b). One or more virtual attraction nodes may be placed along the path that vehicle 100 intends to travel (e.g., along the center 300c of road 300 and turning toward the center 302c of road 302). Such virtual attraction nodes may include virtual attraction nodes Virtual attraction node Virtual attraction node Virtual attraction node Virtual attraction node and virtual attractor nodes The purpose of the virtual attractor node is to create a virtual "field" that Figure 3 The virtual attraction node effectively acts to "attract" the vehicle 100 in the calculation of the cost function V illustrated in the model predictive controller 206. Such attraction acts to help induce control of the vehicle 100 to track its intended path. The virtual attraction node can be located at or substantially located on the intended driving path of the vehicle 100.

[0093] The planning node applied at block 208 may also be a virtual exclusion node. Such a virtual exclusion node may include a virtual exclusion node Virtual Exclusion Node Virtual Exclusion Node and virtual exclusion nodes Each virtual exclusion node is spaced from the intended path of vehicle 100. In this case, they are spaced to the right of the intended path and may be located along the right edge of the respective roads 300 and 302. Alternatively, the virtual exclusion nodes may be located along the edge of a lane divider, such as a road lane marking between two lanes in a road.

[0094] Additional virtual exclusion nodes may also be provided, such as virtual exclusion nodes Virtual Exclusion Node Virtual Exclusion Node and virtual exclusion nodes Each virtual repelling node is positioned spaced apart from the intended path of vehicle 100. In this case, they are spaced to the left of the intended path and may be positioned along the left edge of the respective roads 300 and 302. Alternatively, the virtual repelling nodes may be positioned along the edge of a lane dividing divide in the respective roads.

[0095] A Bezier curve may also be drawn by the ECU 110, which is defined by corresponding virtual attraction nodes and virtual repulsion nodes. For example, a Bezier curve 312 that may generally follow the left edge 300a of the road 300 and transition to the left edge 302a of the road 302 may be drawn by Figure 4 B specified in L In addition, the Bezier curve 310 that can generally follow the right edge 300b of the road 300 and transition to the right edge 302b of the road 302 can be described by Figure 4 B specified in R Therefore, it is clear that the Bezier curve 310 and the Bezier curve 312 can be constructed by virtual repulsive nodes.

[0096] The Bezier curve 314 may also be drawn by the ECU 110. The Bezier curve 314 may be drawn substantially along the center 300c of the road 300 (which may be located at or substantially located on the target trajectory of the vehicle 100) and transition to the center 302c of the road 302 (which may also be located at or substantially located on the target trajectory of the vehicle 100 when the vehicle 100 passes through the intersection 301 between the road 300 and the road 302). The Bezier curve 314 may be drawn by Figure 4 B shown in T The parameter equation (3) is used to describe it.

[0097] The perception sensors on the vehicle 100 may also be used at block 202 ( Figure 3 ) identifies an obstacle or potential obstacle in front of the vehicle 100 (here, the second vehicle 340). The ECU 110 can Placed on or near the second vehicle 340, ie, in this example, near the right rear corner of the second vehicle 340. Virtual Repulsion Node Can be constructed as a circle 342. Virtual repulsive node The circle 342 may have a radius that represents the strength of the repulsion node, which may reflect the importance of the potential obstacle in question. That is, if the obstacle or potential obstacle is considered more important, the virtual repulsion node The circle 342 may be positioned further from the obstacle (in this case, on a larger circle) to help the vehicle 100 maintain a greater distance from it. The radius of the circle may also reflect uncertainty about the location of the obstacle; if the obstacle is a moving vehicle, a larger radius may be assigned due to some uncertainty about the obstacle's current location. If the obstacle is stationary, a smaller radius may be used due to greater certainty about the obstacle's location.

[0098] Virtual Exclusion Node It can be placed at vertex 344 of the intersection between roads 300 and 302. Again, vertex 344 can be a particularly important location that vehicle 100 wants to avoid. It can be configured as a circle 346 having a radius that represents the strength of the repulsion node, which can be proportional to or otherwise directly related to the importance of the location that the vehicle 100 wants to avoid. May be facing or substantially facing the vehicle 100 .

[0099] Additional references Figure 5. There are illustrated virtual repulsion nodes 410a, 410b, 410c, 410d, 410e, and 410f. (These virtual repulsion nodes may be collectively referred to as virtual repulsion nodes 410a-410f.) Also illustrated are virtual repulsion nodes 412a, 412b, 412c, and 412d. (These virtual repulsion nodes may be collectively referred to as virtual repulsion nodes 412a-412d.) Also illustrated are virtual attraction nodes 414a, 414b, 414c, 414d, 414e, and 414f. (These virtual attraction nodes may be collectively referred to as virtual attraction nodes 414a-414f.) The virtual attraction nodes and virtual repulsion nodes may have different weights depending, at least in part, on the importance of their locations along the intended path of the vehicle 100. For example, virtual attractor node 414c is located proximate to the intersection of road 300 and road 302, which may be a particularly important point in the guidance and control of vehicle 100. Virtual attractor node 414c is represented in the figure with a larger radius, indicating that it carries a larger relative weight when calculating the virtual attractive force exerted on vehicle 100. Virtual attractor node 410b may have a larger weight due to the importance of its location at the beginning of the intersection between road 300 and road 302. Virtual repulsive node 410d may similarly have a larger weight due to its higher importance due to its location at vertex 344; maintaining a reasonable distance from vertex 344 can prevent vehicle 100 from overrunning the road when traveling from road 300 to road 302.

[0100] Virtual repulsion nodes 410a-410f and the Bezier curve 411 formed by them can generate a virtual repulsion field, as illustrated by the arrows emanating from the virtual repulsion nodes 410a-410f and the Bezier curve 411 formed by them. Virtual repulsion nodes 412a-412d and the Bezier curve 413 formed by them can also generate a virtual repulsion field, as illustrated by the arrows emanating from the virtual repulsion nodes 412a-412d and the Bezier curve 413 formed by them. On the other hand, virtual attraction nodes 414a-414f and the Bezier curve 415 formed by them can generate a virtual attraction field, as illustrated by the arrows pointing to the virtual attraction nodes 414a-414f and the Bezier curve 415 formed by them.

[0101] Block 208( Figure 3The output of the ) can be a net "field" ("net potential field") that represents the attractive or repulsive "potential" of the attracting and repelling nodes and the attracting and repelling Bezier curves. This potential is a measure of the virtual force generated by the attracting and repelling nodes on the vehicle 100. A weighted "cost" associated with this potential ("potential field cost") is calculated at block 210 for use in the model predictive controller 206.

[0102] The model predictive controller 206 may be a discrete digital controller that operates with a control interval or period "k". The controller has a curve 250 representing a reference trajectory of the vehicle 100. The model predictive controller 206 calculates a cost function V as the sum of a number of cost terms as follows:

[0103]

[0104] in

[0105] y is a variable based on the motion of the vehicle 100 (ie, the “output”);

[0106] y ref is a reference state associated with the target path of the vehicle 100;

[0107] u is the input of the vehicle trajectory control system;

[0108] u ref is the pre-computed input reference to the model predictive controller, i.e., the input that will cause the output to track the reference based on the feedforward calculation;

[0109] ε is a step function that indicates whether a given control action will violate any “soft” constraints;

[0110] γ is the net virtual strength of the virtual attraction node, virtual repulsion node, and Bezier curve;

[0111] W y is the weight assigned to the output;

[0112] W u is the weight assigned to the input;

[0113] W Δu is the weight assigned to the input at the rate at which it changes;

[0114] W ε is the weight assigned to violating a “soft” constraint;

[0115] W γ are the weights assigned to the potential fields of the virtual attractor nodes, virtual repulsive nodes, and Bezier curves; and

[0116] p is the prediction horizon.

[0117] In the equation of the cost function V, y and y ref It may be a 4×1 matrix where the variables in the matrix are the lateral position, lateral velocity, rotational position, and rotational velocity of the vehicle 100 . u may be a scalar, ie, the steering angle input command provided to the actuator(s) 122 .

[0118] Item (u k -u k-1 ) 2 Reflects the rate at which the steering angle changes. This term is included in the cost function V as a reflection that less "twitching" in the steering of the vehicle 100 may be desirable.

[0119] A "soft" constraint may be a constraint that may be disadvantageous to violate, such as coming within a predetermined distance of the edge of the road or lane dividing line without actually crossing the edge of the road or dividing line. A "soft" constraint is a constraint that is preferred, but not required, not to be violated, and is therefore included in the other factors in calculating the cost function V. On the other hand, a "hard" constraint may include crossing the edge of the road or lane dividing line. If a control solution cannot be found that will not violate the "hard" constraint, the system may return steering control from autonomous to manual. Another example of the relationship between soft and hard constraints may be that a hard constraint may be imposed that the vehicle 100 should not come within a predetermined distance (e.g., five feet) of a particular obstacle; a related soft constraint may be that the vehicle 100 should not come within a larger predetermined distance (e.g., ten feet) of the obstacle.

[0120] The various W terms in the above equations are weighting terms that can be constants. They can be assigned based on the calibration of the system in order to achieve the desired system performance.

[0121] In the model predictive controller 206, curve 250 shows the reference trajectory of the vehicle 100. Curve 252 is the actual output reflecting the trajectory of the vehicle 100 up to time "k", and curve 254 is the predicted output reflecting the predicted trajectory of the vehicle 100. (Arrows 251 and 253 represent the time before and after time "k", respectively.) Curve 256 is the past control input, and curve 258 is the predicted control input that will cause the vehicle 100 to converge to the reference trajectory. After calculating the minimum cost V within the prediction horizon and the input that will be predicted to result in the minimum cost (curve 258), the model predictive controller 206 applies the first input u accordingly. k+1 The model predictive controller 206 then recalculates the minimum cost V over the incremental prediction horizon and again applies the first input from that calculation, and the process continues.

[0122] Model predictive control operates under constraints. The constraints 212 within which the model predictive controller 206 can operate are Figure 3A There,

[0123] n u Indicates the length of the control range;

[0124] n p Indicates the length of the forecast horizon;

[0125] u min and u max denote the minimum and maximum input constraints respectively;

[0126] y min and y max denote the minimum and maximum output constraints respectively;

[0127] ε represents the aforementioned step function with respect to the soft constraint; and

[0128] A min and A max Indicates programmable parameters.

[0129] The calculation of the overall field strength based on the virtual attraction Bezier curve (i.e., the Bezier curve constructed based on the virtual attraction node) and the virtual repulsion Bezier curve (i.e., the Bezier curve constructed based on the virtual repulsion node) can be as follows. A can be calculated as in is the position of the virtual attractive Bezier curve, and y is the position of the vehicle 100 in the xy coordinate set (y is the lateral direction relative to the vehicle 100, and x is the longitudinal direction defined by the vehicle 100). That is, the virtual attractive force is greater when the vehicle 100 is further away from the virtual attractive Bezier curve. (This force can be scaled based on the strength of the corresponding attractive node that forms the basis of the Bezier curve.) On the other hand, the virtual repulsive force γ R It can be:

[0130]

[0131] That is, the virtual repulsive force may be greater as the vehicle 100 is closer to the virtual repulsive Bezier curve.The force may be scaled based on the strength of the corresponding repulsive nodes that form the basis of the Bezier curve.

[0132] Therefore, the total cost of the potential field based on any longitudinal position of the vehicle 100 can be as follows:

[0133]

[0134] Costs γ attributable to the virtual attracting and repelling nodes can similarly be calculated based on the lateral distance y of the vehicle 100 from the virtual attracting and repelling nodes. (The virtual attractive and repelling forces can be scaled based on the strength of the respective virtual attracting and repelling nodes.) These costs can be similarly added. All costs γ can then be summed to provide a total cost attributable to the virtual attracting and repelling nodes and virtual attracting and repelling Bezier curves for use in the calculation of V by the model predictive controller 206.

[0135] Now refer to Figure 6 . The use of comfort mode, transition mode, and precision mode is shown there. In this example, vehicle 100 may be on road 500 and intends to stay on road 500, rather than turning onto road 502 via fork 501. When vehicle 100 is traveling on section 504 of road 500 before fork 501, vehicle 100 may be controlled in comfort mode. The positions of the virtual repulsion nodes and the resulting Bezier curves 506 and 508 may be relatively widely spaced, as the precise control and relative roughness that may be required may not be as beneficial on sections of road without intersections and obstacles. However, as vehicle 100 approaches fork 501, it may be more important for vehicle 100 to avoid deviating from road 502. Therefore, transition mode may be entered for road section 509, where Bezier curve 510 on the right side (i.e., toward the fork) is more closely aligned with the intended path of vehicle 100 than Bezier curve 512 on the left side. In this way, the controller (i.e., the path planner) can impose an asymmetric error constraint or an asymmetric error bound. In this case, the controller imposes a comfort trajectory on the left side and a precise trajectory on the right side. In addition, in precise mode, in road segment 514, Bezier curve 516 and Bezier curve 518 can then be arranged relatively more closely (i.e., closer together). Finally, the behavior may return to the default comfort mode. At this point, due to the fact that vehicle 100 is no longer traveling on a road segment where particularly precise control may be advantageous, Bezier curve 520 and Bezier curve 522 can again be spaced relatively farther apart, entering comfort mode.

[0136] Additionally or alternatively, the precision mode can be reflected by increasing the number of control points to which the trajectory of vehicle 100 can be directed. In the case of model predictive control, this can be achieved by increasing the bandwidth of the digital control involved. The increased precision of the driving maneuver or position (which would benefit from the increased precision) may come at the expense of greater harshness imposed by the more precise control. Comfort mode can be reflected by using fewer control points, and transition mode can be reflected by the number of control points between the precision mode and comfort mode.

[0137] Precision mode or precision trajectory may be used, for example, in areas of an upcoming vehicle turning maneuver, an upcoming road intersection, an upcoming road ramp, nearby obstacles (such as other vehicles), or construction zones where precise control of the trajectory of vehicle 100 may be advantageous.

[0138] Embodiments of the present disclosure are described herein. However, it is to be understood that the disclosed embodiments are merely examples, and other embodiments may take various forms and alternatives. The drawings are not necessarily to scale; some features may be exaggerated or minimized to illustrate details of particular components. Therefore, the specific structural and functional details disclosed herein should not be construed as limiting, but merely as a representative basis for teaching those skilled in the art to employ the present disclosure in various ways.

[0139] Furthermore, the embodiments shown in the drawings or the features of the various embodiments mentioned in this specification are not necessarily to be understood as independent embodiments. Rather, it is possible that each of the features described in one of the examples of an embodiment can be combined with one or more of the other desirable features from other embodiments, resulting in other embodiments not described in words or by reference to the drawings. Such other embodiments are therefore within the scope of the appended claims. Furthermore, the present disclosure expressly encompasses all combinations and subcombinations of the elements and features presented above and below.

Claims

1. A method for controlling a vehicle, the method comprising: Through one or more controllers: Determine the vehicle's intended driving path; Determine the location of the virtual attraction node on the expected driving path; determining locations of virtual exclusion nodes along one or more boundaries spaced from the intended driving path; calculating a virtual attraction force between one or more locations of the vehicle and a virtual attraction node; calculating a virtual repulsive force between one or more locations of the vehicle and a virtual repulsive node; as well as The trajectory of the vehicle is controlled at least in part using the virtual attractive force and the virtual repulsive force. 2 . The method according to claim 1 , further comprising assigning different weights to different virtual attraction nodes, the different weights representing different virtual attractions generated by the different virtual attraction nodes. 3 . The method according to claim 2 , further comprising assigning different weights to different virtual repulsion nodes, the different weights representing different virtual repulsion forces generated by the different virtual repulsion nodes. The method of claim 3 , wherein at least some of the virtual repulsion nodes are constructed as circles, the radius of the circles representing weights of at least some of the virtual repulsion nodes. The method according to claim 4 , wherein at least some of the virtual repulsion nodes configured as circles are located at obstacles that the vehicle is to avoid.

6. The method according to claim 1, further comprising: Use virtual attractive forces and virtual repulsive forces to determine costs; and Wherein controlling the trajectory of the vehicle further comprises using the cost in a model predictive controller that controls the trajectory of the vehicle.

7. The method according to claim 1, further comprising: The trajectory of the vehicle is controlled using a comfort mode and a precision mode, each of which uses control points, with a greater number of control points used in the precision mode than in the comfort mode.

8. The method of claim 7, further comprising using the precision mode in the area of ​​an upcoming vehicle turning maneuver, an upcoming road intersection, an upcoming road ramp, a construction zone, or an area of ​​relatively high traffic volume.