本发明涉及无人车,具体涉及到一种基于pid的无人车循迹控制算法。
背景技术:
1、目前,现有的无人车循迹控制算法中,多将路径曲线以离散的点进行存储,在运动控制规划时,不断检索多个离散的点计算代价函数后,选取最优目标点进行控制,这种算法对控制器的存储空间占用大,且对离散点迭代计算代价函数时算力使用大,算力不足会对造成整车的实时控制有较大偏差,响应不及时。
技术实现思路
1、针对上述问题,本发明提供了一种基于pid的无人车循迹控制算法。
2、解决上述技术问题的技术方案如下:
3、一种基于pid的无人车循迹控制算法,包括以下步骤:
4、s1,将无人车起点、终点、途经点坐标以[n×2]维矩阵的形式输入,n为路径点的个数,坐标建立在以起点作为原点的笛卡尔坐标系下;
5、s2,利用输入的路径坐标向量拟合由直线和贝塞尔曲线交替形成的路径曲线,为各曲线按拟合顺序编号,并以函数系数矩阵的形式存储路径信息;
6、s3,利用车辆传感器实时获取车辆当前状态,如车速、航向角、车辆相对于起点的坐标位置;
7、s4,利用车辆当前位置坐标判断当前车辆所行驶的路径序号,并根据当前所行驶的路径及车辆当前位置计算车辆在曲线上的最近距离点,根据前向预瞄距离计算行驶预瞄点坐标、预瞄点切线方向;
8、s5,根据车辆当前位置坐标、航向角信息、预瞄点的坐标及预瞄点切线方向,计算距离误差及角度误差,利用pid控制算法,以车辆转向曲率作为信号输出,控制车辆行驶。
9、进一步地,所述s2中,由直线和贝塞尔曲线交替形成的路径曲线拟合方法为:直线是以两个固定端点的连线,贝塞尔曲线为三个点进行拟合的二阶贝塞尔曲线。
10、进一步地,所述s3中,实时获取车辆当前状态信息是利用惯性导航实时采集,车速信息由整车vcu控制器车速计算模块输出。
11、进一步地,所述s4中,最近距离点具体为:贝塞尔曲线上的点与车辆当前位置绝对距离最小的点坐标,前向预瞄距离是一个固定弧长长度。
12、进一步地,所述s4中,预瞄点需满足以下条件:以最近距离点为起点,预瞄点与最近距离点之间的弧长大小等于前向预瞄距离。
13、进一步地,所述s5中,pid算法的输入是根据为车辆当前位置坐标、航向角信息、预瞄点的坐标及预瞄点切线方向,计算距离误差及角度误差,pid输入为距离误差及角度误差的和,pid的输出为车辆的转向曲率。
14、本发明的有益效果是:本发明提供的一种基于pid的无人车循迹控制算法解决了离散点众多导致算力损失的情况,实现了无人车在已知目标点信息后,完成拟合路径-自主避障-循迹控制的一系列功能,达到了自主避障的目的。
15、本发明的有益效果是:本发明提供的一种基于pid的无人车循迹控制算法解决了离散点众多导致算力损失的情况,实现了无人车在已知目标点信息后,完成拟合路径-自主避障-循迹控制的一系列功能,达到了自主避障的目的。
1.一种基于pid的无人车循迹控制算法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于pid的无人车循迹控制算法,其特征在于,所述s2中,由直线和贝塞尔曲线交替形成的路径曲线拟合方法为:直线是以两个固定端点的连线,贝塞尔曲线为三个点进行拟合的二阶贝塞尔曲线。
3.根据权利要求1所述的一种基于pid的无人车循迹控制算法,其特征在于,所述s3中,实时获取车辆当前状态信息是利用惯性导航实时采集,车速信息由整车vcu控制器车速计算模块输出。
4.根据权利要求1所述的一种基于pid的无人车循迹控制算法,其特征在于,所述s4中,最近距离点具体为:贝塞尔曲线上的点与车辆当前位置绝对距离最小的点坐标,前向预瞄距离是一个固定弧长长度。
5.根据权利要求1所述的一种基于pid的无人车循迹控制算法,其特征在于,所述s4中,预瞄点需满足以下条件:以最近距离点为起点,预瞄点与最近距离点之间的弧长大小等于前向预瞄距离。
6.根据权利要求1所述的一种基于pid的无人车循迹控制算法,其特征在于,所述s5中,pid算法的输入是根据为车辆当前位置坐标、航向角信息、预瞄点的坐标及预瞄点切线方向,计算距离误差及角度误差,pid输入为距离误差及角度误差的和,pid的输出为车辆的转向曲率。