Lateral controller for autonomous vehicles
One or more processors of an autonomous vehicle can determine a surrogate trajectory for navigating the autonomous vehicle towards a target trajectory; generate a curvature target for the autonomous vehicle based on the surrogate trajectory, a lateral error, and a velocity of the autonomous vehicle, the curvature target defined in part by at least three points; and navigate the autonomous vehicle according to the curvature target.
1 . A method, comprising:
determining, by one or more processors coupled to a non-transitory memory, a target trajectory in which to maintain an autonomous vehicle while traveling, the target trajectory corresponding to a desired actual travel path for the autonomous vehicle;
identifying, by the one or more processors, a point along the target trajectory closest to a current position of the autonomous vehicle;
determining, by the one or more processors, a lateral error is present between the current position of the autonomous vehicle and the point along the target trajectory closest to the current position of the autonomous vehicle;
in response to determining the lateral error is present, determining, by the one or more processors, a surrogate trajectory for navigating the autonomous vehicle towards the determined target trajectory, the surrogate trajectory distinct at least in part from the target trajectory and including the point along the target trajectory closest to the current position of the autonomous vehicle;
generating, by the one or more processors, a curvature target for the autonomous vehicle based on the surrogate trajectory, the lateral error, and a velocity of the autonomous vehicle, the curvature target defined in part by at least three points; and
navigating, by the one or more processors, the autonomous vehicle according to the curvature target.
2 . The method of claim 1 , wherein the curvature target is generated further based on a heading error.
3 . The method of claim 2 , wherein the heading error is calculated based on an estimation of a slip angle.
4 . The method of claim 3 , wherein the slip angle is estimated based on the velocity of the autonomous vehicle, a curvature of the target trajectory, and a bank angle of a road upon which the autonomous vehicle is operating.
5 . The method of claim 1 , wherein the surrogate trajectory is determined based on a bank angle of a road upon which the autonomous vehicle is operating.
6 . The method of claim 5 , wherein the surrogate trajectory is determined further based on a curvature of the road or a curvature of the target trajectory ahead of the autonomous vehicle.
7 . The method of claim 1 , further comprising generating, by the one or more processors, a steering command for the autonomous vehicle based on the curvature target.
8 . The method of claim 1 , wherein navigating the autonomous vehicle comprises causing the autonomous vehicle to align with the target trajectory.
9 . The method of claim 1 , wherein the lateral error is determined based on a proportional-integral-differential (PID) function.
10 . The method of claim 1 , wherein the lateral error is determined relative to front axle or a reference point along a longitudinal axis of the autonomous vehicle.
11 . A system, comprising:
one or more processors coupled to memory, the one or more processors configured to:
determine a target trajectory in which to maintain an autonomous vehicle while traveling, the target trajectory corresponding to a desired actual travel path for the autonomous vehicle;
identify a point along the target trajectory closest to a current position of the autonomous vehicle;
determine a lateral error is present between the current position of the autonomous vehicle and the point along the target trajectory closest to the current position of the autonomous vehicle;
in response to determining the lateral error is present, determine a surrogate trajectory for navigating the autonomous vehicle towards the determined target trajectory, the surrogate trajectory distinct at least in part from the target trajectory and including the point along the target trajectory closest to the current position of the autonomous vehicle;
generate a curvature target for the autonomous vehicle based on the surrogate trajectory, a lateral error, and a velocity of the autonomous vehicle, the curvature target defined in part by at least three points; and
navigate the autonomous vehicle according to the curvature target.
12 . The system of claim 11 , wherein the curvature target is generated further based on a heading error.
13 . The system of claim 12 , wherein the heading error is calculated based on an estimation of a slip angle.
14 . The system of claim 13 , wherein the slip angle is estimated based on the velocity of the autonomous vehicle, a curvature of the target trajectory, and a bank angle of a road upon which the autonomous vehicle is operating.
15 . The system of claim 11 , wherein the surrogate trajectory is determined based on a bank angle of a road upon which the autonomous vehicle is operating.
16 . The system of claim 15 , wherein the surrogate trajectory is determined further based on a curvature of the road or a curvature of the target trajectory ahead of the autonomous vehicle.
17 . The system of claim 11 , wherein the one or more processors are further configured to generate a steering command for the autonomous vehicle based on the curvature target.
18 . The system of claim 11 , wherein the one or more processors are further configured to navigate the autonomous vehicle comprises by causing the autonomous vehicle to align with the target trajectory.
19 . The system of claim 11 , wherein the lateral error is determined based on a proportional-integral-differential (PID) function.
20 . The system of claim 11 , wherein the lateral error is determined relative to front axle or a reference point along a longitudinal axis of the autonomous vehicle.