Speed planning for autonomous vehicles
Aspects of the disclosure relate to identifying and adjusting speed plans for controlling a vehicle in an autonomous driving mode. In one example, an initial speed plan for controlling speed of the vehicle for a first predetermined period of time corresponding to an amount of time along a route of the vehicle is identified. Data identifying an object and characteristics of that object is received from a perception system of the vehicle. A trajectory for the object that will intersect with the route at an intersection point at particular point in time is predicted using the data. A set of constraints is generated based on at least the trajectory. The speed plan is adjusted in order to satisfy the set of constraints for a second predetermined period of time corresponding to the amount of time. The vehicle is maneuvered in the autonomous driving mode according to the adjusted speed plan.
1. A method of maneuvering a vehicle in an autonomous driving mode, the method comprising:
identifying, by one or more processors, an initial speed plan for controlling speed of the vehicle for a first predetermined period of time corresponding to an amount of time along a route of the vehicle, the initial speed plan corresponding to a selected speed of the vehicle defined at least in part by a legal speed limit on the speed of the vehicle for a roadway on which the vehicle is currently located;
receiving, by the one or more processors, from a perception system of the vehicle, data identifying an object and characteristics of that object;
predicting, by the one or more processors, a trajectory for the object that will intersect with the route at an intersection point at a particular point in time using the data;
generating, by the one or more processors, a set of constraints including a first constraint based on at least the trajectory and a second constraint based on expected comfort of at least one of a passenger within the vehicle or a person associated with the object;
determining whether the first and second constraints can both be satisfied during a second predetermined period of time corresponding to the amount of time;
upon determining that both of the first and second constraints can be satisfied;
adjusting, by the one or more processors, the initial speed plan in order to satisfy the first and second constraints for a second predetermined period of time corresponding to the amount of time;
maneuvering, by the one or more processors, the vehicle in the autonomous driving mode according to the adjusted initial speed plan; and
upon determining that the first and second constraints cannot both be satisfied:
comparing an expected result if the vehicle were to return to the selected speed with an expected result if the vehicle were to come to a complete stop.
2. The method of claim 1 , wherein the initial speed plan corresponds to a previously adjusted initial speed plan such that the initial speed plan is adjusted as an iterative process.
3. The method of claim 1 , wherein a constraint of the set of constraints includes constraint that the vehicle should not be within a predetermined distance of the intersection point at the particular point in time.
4. The method of claim 1 , further comprising determining a status of a traffic signal, and wherein generating a constraint of the set of constraints is based on the determined status.
5. The method of claim 1 , further comprising:
receiving from the perception system of the vehicle, second data identifying a second object and characteristics of the second object including a speed of the second object, wherein the second object corresponds to a road user;
predicting a second trajectory of the second object that indicates that the vehicle will pass the second object; and
wherein the set of constraints includes a constraint that limits the speed of the vehicle relative to the speed of the second object when the vehicle passes the second object.
6. The method of claim 1 , further comprising receiving from the perception system of the vehicle, second data identifying a second object and characteristics of the second object including a signal of the second object, wherein the second object corresponds to a road user, and wherein generating the set of constraints includes generating a first constraint of the set of constraints based on the signal of the second object.
7. The method of claim 6 , further comprising, adjusting the adjusted initial speed plan to generate a speed plan based on the first constraint where the signal does not persist while the speed plan is being generated, and wherein the signal is a hand signal and the second object is a bicyclist.
8. The method of claim 1 , wherein a constraint of the set of constraints is selected from a group consisting of:
a constraint that includes a deceleration limit corresponding to a mechanical limit of deceleration for the vehicle;
a constraint that includes a deceleration limit for the vehicle corresponding to a level of deceleration less than a recommended deceleration level to safely operate the vehicle;
a constraint that includes a headway distance limit between the vehicle and the object corresponding to a distance greater than a recommended headway distance to safely operate the vehicle; and
a constraint that includes a lateral gap distance limit between the vehicle and the object corresponding to a lateral gap distance greater than a recommended lateral gap distance to safely operate the vehicle.
9. The method of claim 1 wherein the speed of the vehicle remains constant during the initial speed plan.
10. The method of claim 1 , wherein generating the second constraint based on the expected comfort includes determining an expected jerk value associated with the vehicle during the second period of time.
11. A system for maneuvering a vehicle in autonomous driving mode, the system comprising one or more processors configured to:
identify an initial speed plan for controlling speed of the vehicle for a first predetermined period of time corresponding to an amount of time along a route of the vehicle, the initial speed plan corresponding to a selected speed of the vehicle defined at least in part by a legal speed limit on the speed of the vehicle for a roadway on which the vehicle is currently located;
receive from a perception system of the vehicle, data identifying an object and characteristics of that object;
predict a trajectory for the object that will intersect with the route at an intersection point at a particular point in time using the data;
generate a set of constraints including a first constraint based on at least the trajectory and a second constraint based on expected comfort of at least one of a passenger within the vehicle or a person associated with the object;
determine whether the first and second constraints can both be satisfied during a second predetermined period of time corresponding to the amount of time;
upon determining that both of the first and second constraints can be satisfied;
adjust the initial speed plan in order to satisfy the set of constraints for a second predetermined period of time corresponding to the amount of time;
maneuvering the vehicle in the autonomous driving mode according to the adjusted initial speed plan; and
upon determining that the first and second constraints cannot both be satisfied:
compare an expected result if the vehicle were to return to the selected speed with an expected result if the vehicle were to come to a complete stop.
12. The system of claim 11 , wherein the initial speed plan corresponds to a previously adjusted initial speed plan such that the initial speed plan is adjusted as an iterative process.
13. The system of claim 11 , wherein a constraint of the set of constraints is selected from a group consisting of:
a constraint that includes constraint that the vehicle should not be within a predetermined distance of the intersection point at the particular point in time;
a constraint that includes a deceleration limit for the vehicle corresponding to a level of deceleration less than a recommended deceleration level to safely operate the vehicle;
a constraint that includes a headway distance limit between the vehicle and the object corresponding to a distance greater than a recommended headway distance to safely operate the vehicle; and
a constraint that includes a lateral gap distance limit between the vehicle and the object corresponding to a lateral gap distance greater than a recommend lateral gap distance to safely operate the vehicle.
14. The system of claim 11 , wherein the one or more processors are further configured to determine a status of a traffic signal, and generating a constraint of the set of constraints is based on the status.
15. The system of claim 11 , wherein the speed of the vehicle remains constant during the initial speed plan.
16. A non-transitory computer readable medium on which instructions are stored, the instructions when executed by one or more processors, cause the one or more processors to perform a method of controlling a vehicle in an autonomous driving mode, the method comprising:
identifying an initial speed plan for controlling speed of the vehicle for a first predetermined period of time corresponding to an amount of time along a route of the vehicle, the initial speed plan corresponding to a selected speed of the vehicle defined at least in part by a legal speed limit on the speed of the vehicle for a roadway on which the vehicle is currently located;
receiving from a perception system of the vehicle, data identifying an object and characteristics of that object;
determining whether the first and second constraints can both be satisfied during a second predetermined period of time corresponding to the amount of time;
upon determining that both of the first and second constraints can be satisfied;
predicting a trajectory for the object that will intersect with the route at an intersection point at a particular point in time using the data;
generating a set of constraints including a first constraint based on at least the trajectory and a second constraint based on expected comfort of at least one of a passenger within the vehicle or a person associated with the object;
adjusting the initial speed plan in order to satisfy the set of constraints for a second predetermined period of time corresponding to the amount of time;
maneuvering the vehicle according to the adjusted initial speed plan; and
upon determining that the first and second constraints cannot both be satisfied:
comparing an expected result if the vehicle were to return to the selected speed with an expected result if the vehicle were to come to a complete stop.