Split profile trajectories
Trajectories, such as for autonomous vehicles, are provided. The trajectories may be defined by a geometric profile and a temporal profile. The geometric profile defines a path through an environment independent of time. The temporal profile defines desired states of the vehicle along the path at defined points in time. In some examples, one of the profiles is modified to provide a modified profile. The vehicle is controlled at least in part on the modified profile on the other of the geometric profile and the temporal profile.
1 . A system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing instructions that, when executed, cause the system to perform operations comprising:
generating a trajectory associated with controlling a vehicle in an environment to bring the vehicle to a stop, the trajectory defined by a geometric profile and a temporal profile, wherein:
the geometric profile comprises a sequence of geometric control states defining a time-independent path through the environment, a geometric control state of the sequence of geometric control states specifying at least a target position or heading for the vehicle to follow,
the temporal profile comprises a sequence of temporal control states defining expected progress of the vehicle along the path, a temporal control state of the sequence of temporal control states defining at least a target velocity or acceleration for the vehicle, an end of the sequence of temporal control states associated with an expected stopping point of the vehicle along the path, wherein the geometric profile is modifiable independently of the temporal profile and the path defined by the sequence of geometric control states extends beyond the expected stopping point, and wherein the sequence of temporal control states terminates at the expected stopping point; and
controlling the vehicle in accordance with the geometric profile and the temporal profile of the trajectory before the end of the sequence of temporal control states, and in accordance with the geometric profile of the trajectory and not the temporal profile after the end of the sequence of temporal control states.
2 . The system of claim 1 , the operations comprising:
determining a current position of the vehicle;
projecting the current position of the vehicle onto the path defined by the sequence of geometric control states to determine a current distance along the path;
interpolating between a first temporal control state and a second temporal control state of the sequence of temporal control states based on the current distance along the path to determine an expected temporal attribute of the vehicle associated with the current distance along the path; and
controlling the vehicle based at least in part on the expected temporal attribute of the vehicle.
3 . The system of claim 1 , wherein a first geometric control state of the sequence of geometric control states comprises a position within the environment, a vehicle heading, a path curvature, a sideslip and/or a position along the path.
4 . The system of claim 1 , wherein a first temporal control state of the sequence of temporal control states comprises a position along the path, a time, a speed, a velocity, and/or an acceleration.
5 . A method comprising:
receiving a trajectory associated with controlling a vehicle in an environment, the trajectory defined by a geometric profile and a temporal profile, wherein:
the geometric profile comprises a sequence of geometric control states defining a path through the environment, and
the temporal profile comprises a sequence of temporal control states defining expected progress of the vehicle along the path, the geometric profile modifiable independently of the temporal profile;
determining, as a modified profile, a modification of one of the geometric profile or the temporal profile; and
controlling the vehicle based at least in part on the modified profile.
6 . The method of claim 5 , wherein a number of geometric control states in the geometric profile is different to a number of temporal control states in the temporal profile.
7 . The method of claim 5 , further comprising:
determining, based at least in part on the geometric profile, a potential collision,
wherein the modified profile is a modified temporal profile and is determined further based at least in part on the potential collision.
8 . The method of claim 5 , wherein the geometric profile defines a path extending beyond an expected stopping position defined in the temporal profile, and
wherein the modified profile comprises a modified temporal profile determined to cause the vehicle to stop within a portion of the path extending beyond the expected stopping position.
9 . The method of claim 5 , wherein the modified profile comprises a modified temporal profile, the method further comprising generating a contingent trajectory based on the modified profile and the geometric profile, wherein the contingent trajectory is associated with deceleration of the vehicle and/or a safe stop of the vehicle.
10 . The method of claim 5 , wherein the modified profile is generated by an optimization algorithm.
11 . The method of claim 5 , wherein the geometric profile is mapped to the temporal profile via a common parameter.
12 . The method of claim 11 , wherein the common parameter is distance along the path.
13 . The method of claim 11 , wherein a change in value of the common parameter between a first geometric control state and an adjacent second geometric control state is different to a change in value of the common parameter between a first temporal control state and an adjacent second temporal control state.
14 . One or more non-transitory computer-readable media storing instructions executable by one or more processors, wherein the instructions, when executed, cause the one or more processors to perform operations comprising:
receiving a trajectory associated with controlling a vehicle in an environment, the trajectory defined by a geometric profile and a temporal profile, wherein:
the geometric profile comprises a sequence of geometric control states defining a path through the environment, and
the temporal profile comprises a sequence of temporal control states defining expected progress of the vehicle along the path, the geometric profile modifiable independently of the temporal profile;
determining, as a modified profile, a modification of one of the geometric profile or the temporal profile; and
controlling the vehicle based at least in part on the modified profile.
15 . The one or more non-transitory computer-readable media of claim 14 , wherein a first geometric control state of the geometric profile comprises a first arc length defining a first distance along the path, and wherein a first temporal control state of the temporal profile comprises a second arc length defining a second distance along the path.
16 . The one or more non-transitory computer-readable media of claim 14 ,
wherein the modified profile comprises a modified geometric profile and a modified temporal profile.
17 . The one or more non-transitory computer-readable media of claim 14 , wherein the geometric profile specifies expected positions in the environment, vehicle yaw, yaw rate, path curvatures, sideslips and/or positions along the path for the vehicle.
18 . The one or more non-transitory computer-readable media of claim 14 , wherein the temporal profile specifies expected positions along the path, times, speeds, velocities, and/or accelerations for the vehicle.
19 . The one or more non-transitory computer-readable media of claim 14 , the operations comprising:
projecting a current attribute associated with the vehicle onto the modified profile.
20 . The one or more non-transitory computer-readable media of claim 14 , the operations comprising:
interpolating between states of the modified profile based on a current expected attribute of the vehicle determined from the geometric profile or the temporal profile.