trajectoryOptimalFrenet
Find optimal trajectory along reference path
Description
The trajectoryOptimalFrenet object is a path planner which
samples and evaluates local trajectories based on a reference path. The planner generates a
set of terminal states based on the reference path and other parameters in the object. The
planner then connects the state to each terminal state using fourth or fifth-order
polynomials. To choose an optimal path, sampled trajectories are evaluated for kinematic
feasibility, collision, and cost.
Creation
Description
trajectoryOptimalFrenet(
creates a refPath,validator)trajectoryOptimalFrenet object with reference path,
refPath, in the form of an n-by-2 array of
[x
y] waypoints and a state validator,
validator, specified as a validatorOccupancyMap object.
sets additional properties using one or more name-value pairs in any order.planner = trajectoryOptimalFrenet(___,Name,Value)
Input Arguments
Properties
Object Functions
cart2frenet | Convert Cartesian states to Frenet states |
copy | Create deep copy of object |
frenet2cart | Convert Frenet states to Cartesian states |
plan | Plan optimal trajectory |
show | Visualize trajectories |
Examples
Limitations
Self-intersections in the reference path can lead to unexpected behavior.
The planner does not support reverse driving.
Initial orientation for planning should be within
-pi/2andpi/2to the reference path.Limit the number of TerminalStates for real-time applications since computational complexity grows with it.
More About
References
[1] Werling, Moritz, Julius Ziegler, Sören Kammel, and Sebastian Thrun. "Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame." 2010 IEEE International Conference on Robotics and Automation. 2010, pp. 987–993.
[2] Bertolazzi, Enrico, and Marco Frego. “Fast and Accurate Clothoid Fitting.” Mathematical Methods in the Applied Sciences 38, no. 5 (March 30, 2015): 881–97. https://doi.org/10.1002/mma.3114.
Extended Capabilities
Version History
Introduced in R2019b
![Figure contains an axes object. The axes object with title Binary Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains 5 objects of type image, line, patch. One or more of the lines displays its values using only markers These objects represent Waypoints, Reference Path, Optimal Trajectory.](../../examples/nav/win64/OptimalTrajectoryPlanningInTheFrenetSpaceExample_01.png)
![Figure contains an axes object. The axes object with title Binary Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains 6 objects of type image, line, patch. One or more of the lines displays its values using only markers These objects represent Waypoints, Reference Path, Optimal Trajectory, Lane Boundaries.](../../examples/nav/win64/PartitionLongitudinalTerminalStatesTrajectoryGenerationExample_01.png)