本发明涉及一种基于反向差分进化算法优化的平行泊车路径规划方法,属于泊车路径规划领域。
背景技术:
1、路径规划是自动泊车系统的关键技术之一,需要结合车位与障碍物的位置信息,根据车辆最小转弯半径、车长、车宽等车辆自身参数规划出满足避障条件的泊车路径。目前已经由较为简单的基于几何图形的方法发展到基于地图搜索算法和基于机器学习的方法上。但是使用比较多的还是基于几何图形路径规划的方法,其规划的路径灵活多样,无需采集大量熟练驾驶员的泊车数据,可以精确计算泊车轨迹,使泊车更加安全和高效、不需要大量的数据和计算资源、能在较简单的硬件和传感器的基础上实现。
2、现有的泊车路径规划方法主要分为三种。第一种是传统的泊车路径规划方法,比如两段圆弧法、圆弧与直线结合法,并采用曲线拟合法对曲率突变点进行拟合。该方法使用简单的圆弧法或圆弧与直线结合法进行泊车路径规划时,会出现曲率不连续的情况,不能满足泊车控制要求。采用曲线拟合法对曲率突变点进行拟合时,计算难度大,不宜应用在实时处理器上。
3、第二种是直接用b样条曲线法、五次多项式曲线法等进行泊车路径规划。该方法用b样条曲线法、五次多项式曲线法等进行泊车路径规划时,不能综合考虑路径长度和路径曲率来规划泊车路径,大多仅考虑路径长度,在约束范围内让路径长度尽可能短,或者仅考虑路径曲率,在约束范围内让路径最大曲率尽可能小,但是路径长度和路径最大曲率之间是存在矛盾的,如果只考虑一个方面,那势必会降低另一个方面的效果。
4、第三种是采用智能优化算法的自动泊车路径规划方法,常用的智能优化算法有遗传算法、免疫蛾焰算法、网格法与蚁群优化相结合的算法。该方法容易陷入局部最优解。
技术实现思路
1、本发明针对上述问题提供了基于反向差分进化算法优化的平行泊车路径规划方法,使得车辆的停车姿态更理想、占用的行车道更小、能更好的平衡泊车曲率和泊车长度二者之间的关系,兼顾泊车舒适度及泊车效率。
2、本发明采用如下技术方案:
3、本发明所述的一种基于反向差分进化算法优化的平行泊车路径规划方法;步骤如下:
4、步骤一、依据阿克曼转向原理建立车辆运动学模型,得到车辆的运动学方程如下所示:
5、
6、随后确定车辆参数,再建立车位模型、结合车位设置规范选择最合理的车位参数;
7、式(1)中,(x,y)为车辆位置坐标;υ为车速;φ为等效前轮转角;θ为航向角;l-lf-lr为车辆轴距;
8、步骤二、根据泊车初始位置和终止位置后轴中心点的坐标,结合车辆位姿约束条件求解五次多项式曲线表达式的系数,得到五次多项式规划的初始泊车路径,即优化前的泊车路径;在坐标系下,以停车位右后方的角点c为坐标系原点o,设五次多项式曲线的表达式为:
9、y=k0+k1x+k2x2+k3x3+k4x4+k5x5 (2)
10、式(2)中,k0~k5为曲线表达式的系数,x为车辆后轴中心点的横坐标,y为车辆后轴中心点的纵坐标;
11、曲线表达式的系数k0~k5的确定条件如下:
12、设泊车初始位置的后轴中心点坐标为(x1,y1),泊车终止位置的后轴中心点坐标为(x2,y2);五次多项式规划的泊车路径经过这两个点,可以得到:
13、y1=k0+k1x1+k2x12+k3x13+k4x14+k5x15 (8)
14、y2=k0+k1x2+k2x22+k3x23+k4x24+k5x25 (9)
15、建立车辆位姿约束为:车辆在泊车初始位置车身与车道线平行,终止位置的车身要水平停在车位内,即初始位置和终止位置车辆的航向角都应为零;具体位姿约束步骤如下:
16、车辆在泊车初始位置车身要与车道线平行,终止位置的车身要水平停在车位内,即初始位置和终止位置车辆的航向角都应为零,初始位置和终止位置的一阶导数都为零,可以得到:
17、
18、
19、车辆在泊车初始位置时,未开始转向,转向轮转角为0,路径曲率为0,曲率的计算公式为:
20、
21、式(10)~(12)中,分别为y的一阶和二阶导数。
22、根据上述初始位置路径曲率为零,可由式(10)再次进行求导,得到初始位置处的二阶导数也为零,即:
23、
24、车辆处于泊车终止位置时,为避免转向机构受损,转向轮应处于回正状态,转向轮转角为零,路径的曲率也为零,即五次多项式路径曲线在泊车终止位置处的二阶导数为零,可得到:
25、
26、通过式(8)~(14),结合车辆通过外部传感器获取的后轴中心点起始坐标、终止坐标,即可获得一个初始的泊车路径轨迹。
27、步骤三、建立车辆避障约束以及车辆性能约束,以限制泊车初始位置坐标的可选范围;
28、步骤四、根据路径评价标准建立反向差分进化算法的适应度函数,结合步骤三得到的初始位置坐标的可选范围即适应度函数的变量范围,采用反向差分进化算法对泊车初始位置坐标进行优化;
29、步骤五、将优化后的泊车初始位置坐标带入五次多项式曲线表达式,得到优化后的泊车路径。采用matlab 2021b对水平泊车路径规划进行仿真,设置车辆参数、平行车位参数以及反向差分进化算法的参数,编写相应的m文件,最后对得出的仿真结果进行分析。
30、本发明所述的基于反向差分进化算法优化的平行泊车路径规划方法,步骤三中:
31、建立车辆避障约束为:定义车辆的左前点为a点,左后点为b点,右前点为d点,右后点为c点;
32、定义停车位的前左、右方点分别为边界点a、d;停车位后左、右方点分别为边界点b、c;
33、避免车辆左前点a与行车道边界发生碰撞;
34、避免车辆右侧cd点边与停车位边界点a发生碰撞;
35、避免车辆右前点d与停车位边界ad碰撞;
36、避免车辆右后点c与停车位边界cd碰撞;
37、建立车辆性能约束为:以小于等于车辆最小转弯半径的倒数规划路径曲线的曲率,即:
38、
39、式(3)中,rmin为后轴中心对应的最小转弯半径,k为路径曲率。
40、本发明所述的基于反向差分进化算法优化的平行泊车路径规划方法,步骤四具体优化流程如下:
41、1)、获取车位环境信息、车辆约束信息,确定种群边界;
42、其中,车位环境信息通过车载车载摄像头及激光雷达获取。将车载摄像头及激光雷达采集到的数据解码,结合车辆自身的位置坐标,得到停车位的角点坐标及距离信息。约束信息为车辆的碰撞约束、性能约束;
43、2)、初始化种群x,设置算法基本参数;
44、一个种群由np个实参向量组成,每个实参向量代表种群中的一个个体,每个个体的维数为d,记为:
45、
46、式(15)中,xi,j(0)是第i个个体,第j维。
47、初始种群x是根据均匀概率分布从给定边界约束内的值中随机产生的,公式如下:
48、
49、式(16)中,和分别为第j维的下界和上界,rand(0,1)表示在区间[0,1]上的随机数。
50、3)、使用反向学习策略将种群更新为x0;
51、种群初始化阶段,要在给定的静态变量区间[aj,bj]中使用反向学习(opposition-based learning,obl)机制,记随机初始化的种群为x,反向种群ox的计算公式如下:
52、oxi,j=aj+bj-xi,j (6)
53、式(6)中,i=1,2,…,np,j=1,2,…,d。
54、随后从集合{xuox}中选出前np个最好的个体作为更新后的初始种群x0。
55、4)、根据适应度函数、约束条件即变量范围计算每个个体的适应度;
56、设计适应度函数时,需要考虑泊车路径的长度及泊车过程中的平稳性,泊车终止点的坐标(x2,y2)固定,那么泊车初始位置的坐标(x1,y1)就影响路径长度,始末位置之间的距离公式如式(4)所示:
57、
58、l12越小,泊车路径越短,泊车效率越高,但是路径的最大曲率也相应的会变高。而在泊车过程中,路径的曲率大小影响汽车的稳定性。具体来说,当路径的最大曲率kmax较小时,汽车转向所需的角度也相应较小,此时泊车的稳定性就越高。
59、综上,kmax和l12之间存在矛盾,l12越大,kmax越小,设计适应度函数时,既要构建优化函数以获得最平滑的平行停车路径,又需要权衡路径的长度,因此,设计适应度函数为:
60、fitnessmin=λ1kmax+λ2l12 (5)
61、式(5)中,λ1和λ2为权重系数,取λ1为36,λ2为1。适应度函数值越小,说明初始位置坐标值越优,带入五次多项式曲线表达式求得的轨迹其最大曲率越小、路径越短。
62、5)、对种群采用差分策略进行变异,然后进行交叉操作,最后采用贪婪选择策略进行选择操作,选择较优的个体;
63、初始化种群之后,通过差分策略实现个体变异,随机选取种群中两个不同的个体,将其向量差缩放后与待变异个体进行向量合成,得到合成向量vi(g+1),公式如下所示:
64、vi(g+1)=xr1(g)+f(xr2(g)-xr3(g)) (17)
65、式(17)中,i、r1、r2、r3是不同的随机整数,区间为[1,np],f称为缩放因子,是一个确定的常数,g表示进化代数。
66、经过变异操作得到合成向量后,为了进一步增加种群多样性,采用交叉操作对变异合成向量vi(g+1)和目标向量xi(g)按一定规则组合生成一个测试向量ui(g+1),公式如下所示:
67、
68、式(18)中,cr是预先给定的交叉概率,且cr∈[0,1],决定了变异个体与测试个体的遗传比率,randj(0,1)表示针对第j维产生(0,1)之间的一个随机数,如果randj(0,1)≤cr,则测试向量ui(g+1)从变异合成向量vi(g+1)获得第j维的参数值;jrand是分布在[1,d]之间的随机整数,用来确保至少有一个参数值来自变异向量。
69、最后采用贪婪选择的策略,将测试向量ui(g+1)与目标向量xi(g)二者的适应度函数值进行比较,选择适应度值较优的个体作为新的个体,以最小化适应度函数为例,操作公式如下:
70、
71、6)、判断随机数是否小于跳跃概率,如果小于,则再次使用反向学习策略更新种群,然后进入下一步,否则,直接进入下一步;
72、在迭代跳跃阶段,当随机数rand小于预先给定的跳跃概率jr时,种群进行反向迭代跳跃,公式如下:
73、
74、式(7)中,aj(g)和bj(g)分别表示当前种群中第j维上最小值和最大值,g表示迭代次数。
75、7)、判断是否达到最大进化代数,若达到,则进入下一步,若没达到,则回到5)步骤;
76、8)输出最优结果,得到优化后的泊车初始位置坐标。
77、有益效果
78、本发明提供的一种基于反向差分进化算法优化的平行泊车路径规划方法,能有效解决五次多项式规划的初始路径曲率过大、占用行车道过宽等问题,满足曲率约束、碰撞约束,提高了泊车舒适性、节约了泊车所需的空间。
79、本发明提供的一种基于反向差分进化算法优化的平行泊车路径规划方法,针对原始差分进化算法容易局部收敛的问题,引入了反向学习机制,采用反向差分进化算法对泊车初始位置的坐标进行优化,有效解决了原始差分进化算法容易陷入局部最优解的问题,能权衡路径长度及路径曲率,找到最优泊车路径,兼顾泊车舒适度及泊车效率。
80、本发明提供的一种基于反向差分进化算法优化的平行泊车路径规划方法,能有效解决泊车终止时,车辆与车位不平行、停车姿态差的问题,使泊车终止位置的偏航角为0,泊车姿态更加理想。