Extend frenet_optimal_trajectory to support more scenarios (#1114)

* feat: Add third derivative and curvature rate calculations to CubicSpline classes

* feat: Extend frenet_optimal_trajectory to support more scenarios

* fix: frenet optimal trajectory type check

* fix: cubic spline planner code style check

* fix: frenet optimal trajectory review

* feat: frenet_optimal_trajectory update doc

* fix: frenet optimal trajectory review

* fix: frenet optimal trajectory

* fix: frenet optimal trajectory
This commit is contained in:
Aglargil
2025-01-22 17:57:12 +08:00
committed by GitHub
parent 2bc59fe612
commit 5a66105ff5
5 changed files with 667 additions and 150 deletions

View File

@@ -1,14 +1,40 @@
Optimal Trajectory in a Frenet Frame
------------------------------------
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/FrenetOptimalTrajectory/animation.gif
This is optimal trajectory generation in a Frenet Frame.
The cyan line is the target course and black crosses are obstacles.
The red line is predicted path.
High Speed and Velocity Keeping Scenario
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/FrenetOptimalTrajectory/high_speed_and_velocity_keeping_frenet_path.gif
This scenario shows how the trajectory is maintained at high speeds while keeping a consistent velocity.
High Speed and Merging and Stopping Scenario
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/FrenetOptimalTrajectory/high_speed_and_merging_and_stopping_frenet_path.gif
This scenario demonstrates the trajectory planning at high speeds with merging and stopping behaviors.
Low Speed and Velocity Keeping Scenario
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/FrenetOptimalTrajectory/low_speed_and_velocity_keeping_frenet_path.gif
This scenario demonstrates how the trajectory is managed at low speeds while maintaining a steady velocity.
Low Speed and Merging and Stopping Scenario
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/FrenetOptimalTrajectory/low_speed_and_merging_and_stopping_frenet_path.gif
This scenario illustrates the trajectory planning at low speeds with merging and stopping behaviors.
Ref:
- `Optimal Trajectory Generation for Dynamic Street Scenarios in a