给定地图与市区内的初始点和目的地,确定一条最短的路线,控制汽车的油门、刹车、方向盘,实现自动驾驶功能。
-
给定百度地图中的数据,利用A*搜索算法搭建一条最短的路径。
-
横向控制:利用Stanley控制器,对方向盘进行建模,根据路径,利用PD控制模拟汽车的循迹路线
-
纵向控制:利用PID控制器,对油门和刹车进行建模,利用PD控制模拟汽车的运行速度
备注:(1)纵向控制通过输入路径s,期望速度 v_ref,期望加速度a_ref来实现,因此需要对路径进行速度和加速度的规划(未完成)(2)PID参数需要根据规划进行调整
-
得到仿真动画
data
文件夹包含:A*
算法直接生成的路径、利用贝塞尔曲线逐段平滑的路径以及利用贝塞尔曲线平滑大弯道后的路径。
image
文件夹同。
code
文件夹包含了A*
算法、地图处理、全局平滑、局部平滑的python
版本与c++
版本。
LongitudinalControl
文件夹包含了油门刹车标定代码,油门刹车标定总表Calibration.mat
以及双PID纵向控制Simulink模型
LateralControl
文件夹包含了Stanley控制器代码与Simulink模型
https://github.com/ahmedmoawad124/Self-Driving-Vehicle-Control
https://blog.csdn.net/zgpeace/article/details/121643308
https://zhuanlan.zhihu.com/p/469303639