参考与前言


  1. 2010年,论文 Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame 地址:https://www.researchgate.net/publication/224156269_Optimal_Trajectory_Generation_for_Dynamic_Street_Scenarios_in_a_Frenet_Frame
  2. Python代码示意地址:https://gitee.com/mirrors/PythonRobotics/tree/master/PathPlanning/FrenetOptimalTrajectory
  3. csdn上matlab解释:https://blog.csdn.net/caokaifa/article/details/108015374
  4. 为什么是frenet而不是笛卡尔:https://zhuanlan.zhihu.com/p/109193953#:~:text=技术优点:,等参数给控制层。

主要是自己一直听过这个frenet的规划... 但是一直没了解到底是个啥,趁着这次杰哥的指点,顺便套娃一下基础知识好了。关于规划的使用中,19年的时候做二维grid map 小小圆盘二轮车用的Dijkstra/A*做的全局,然后局部是DWA(但是当时实验时车子总是蛇皮走位)照现在的感觉应该是膨胀系数给大了,DWA更新快了?然后路径规划完哎往墙走,哎躲个墙,哎再往墙走,就这种蛇皮 emmm 这么说好像还是不是很清楚原因,放着万一啥时候想通了呢 hhhh。这次这个主要是基础系列补... 补... 补

如果觉得下面的枯燥无味,可以先看一下目录 直接跳到 运行示例 直观感受一波?

基础知识


因为基础补充,所以就... 慢慢来了,就当把自己的理解总结一下好了..

Frenet坐标系

首先是关于这个坐标系的,一般呢我们用的是笛卡尔坐标系(大白话 xy坐标轴),然后这个的不同之处就是按照你的那个车的路径定的,纵向距离叫s,横向距离叫d。例如此手画图:[这里的横纵是指车子在开的方向,车头前方是纵,方向盘的就是横]

手画示意

手画示意

python代码运行示意

python代码运行示意

感觉这个在生成轨迹后的切换方面很舒服噢

至于为什么用frenet呢?在参考引用部分我贴出了一个知乎的回答:https://zhuanlan.zhihu.com/p/109193953

笛卡尔坐标系缺点

  1. 道路条件:由于大部分的道路并不是笔直的,而是具有一定弯曲度的弧线