一种基于人工势场法和强化学习的智能车路径规划方法与流程

文档序号:35381294发布日期:2023-09-09 07:04阅读:117来源:国知局
一种基于人工势场法和强化学习的智能车路径规划方法与流程

本技术涉及自动驾驶,尤其涉及一种基于人工势场法和强化学习的智能车路径规划方法。


背景技术:

1、路径规划是自动驾驶的关键技术之一,是自动驾驶汽车安全行驶的必要条件。人工势场法(apf)是路径规划领域比较成熟和实时性较好的规划方法,工作原理是将环境信息抽象为引力场函数和斥力场函数,通过合力场函数来规划出一条从起始点到目标点的无碰撞路径。传统人工势场法无法保证路径规划的效率,原因在于其存在两大缺陷:车辆可能陷入局部最小点问题以及某些条件下目标不可达。

2、针对上述传统人工势场在智能车路径规划中存在的问题,通过建立道路边界斥力势场以限制汽车的行驶区域;通过改进障碍物斥力势场函数来解决局部最优和目标不可达的问题;通过建立速度斥力势场来更加准确的描述障碍物的信息,以解决汽车与障碍物的碰撞问题。贝绍轶等发明了一种基于改进型人工势场法的无人车局部路径规划方法(cn202111673751.6),在引力函数中设定距离阈值,在斥力函数中增加斥力场调节因子,当无人车陷入局部最优解时,在满足无人车自身转向约束的前提下,采用基于较小转向角的跳出局部最优解的策略,但增加了算法的计算量和复杂度。时培成等发明了一种改进人工势场算法的智能车路径规划方法(cn202011307835.3),自动根据局部极小值点影响区域大小调整移出影响区域的步长和轨迹,来智能车陷入局部极小值点时自动逃离,但其整体轨迹规划计算量过大,规划的路径不够平滑。

3、强化学习算法是一种不需要先验知识的学习方法。它强调与环境的互动学习,并通过不断尝试获得环境反馈来积累奖励,然后选择最佳行动来完成路径规划任务。在路径规划领域应用最为广泛的强化学习算法是q-learning算法,q-learning算法是强化学习中基于值的算法,在特定状态下尝试一个动作,并根据它收到的即时奖励或惩罚以及它对所采取的状态的价值的估计来更新q值。通过反复尝试所有状态下的所有动作,然后根据q值来选取能够获得最大收益的动作。


技术实现思路

1、本技术提出了一种基于人工势场法和强化学习的智能车路径规划方法,在传统人工势场方法上加入强化学习算法,通过利用apf加权引导q-learning不仅克服了传统势场法自身存在的局部极小值等问题,还加快了经典q-learning的收敛速度,解决了智能车辆在复杂环境下的路径规划问题。

2、为达到上述目的,本技术采用如下技术方案:一种基于人工势场法和强化学习的智能车路径规划方法,包括以下步骤:

3、步骤s1:获取环境图像,建立格栅地图;

4、步骤s2:定义强化学习状态空间和动作空间;

5、步骤s3:初始化算法参数;

6、步骤s4:在状态集中随机选取初始状态;

7、步骤s5:构建人工势场,势场由引力势场和斥力势场叠加而成;

8、步骤s6:在动作空间中,采用apf加权或ε-贪婪策略选择动作;

9、步骤s7:在状态s执行当前动作,得到新状态st+1和奖励r;

10、步骤s8:更新q值;

11、步骤s9:每一步选择q值最大的动作,得出最优路径;

12、步骤s10:复执行6,7,8步,直到达到一定步数或一定收敛条件为止;

13、步骤s11:生成从起点q0到目标点qf的路径,将最终生成的路径发送到智能车的控制中心,智能车按照此路径进行行驶。

14、进一步的,所述步骤s1的具体操作如下:基于智能车摄像头获得环境图像,并将图像分割成25×25的栅格,采用栅格法建立环境模型,如果在格栅中发现障碍物,则定义该栅格为障碍物位置,智能车不能经过;如果格栅中发现目标点,则定于该格栅为目标位置,为智能车最终要到达的位置;其他的栅格定义为无障碍物的栅格,智能车可以经过。

15、进一步的,所述步骤s2的具体操作如下:定义强化学习的状态空间为智能体的当前位置坐标和上一位置坐标,动作空间为上、下、左、右四个方向的动作,每次执行动作之后智能体朝相应的方向移动一个栅格。

16、进一步的,所述步骤s3中的算法参数包括学习率α∈(0,1),折扣因子γ∈(0,1),贪婪因子ξ∈(0,1),最大迭代次数,奖励函数r;把所有q值初始化为0。

17、进一步的,所述步骤s5的具体操作如下:根据障碍物与目标点的位置,构建目标点的引力场:

18、

19、其中uatt(q)为目标点在位置q产生的引力场,katt为目标点的引力系数,q为位置坐标,qf为目标点所在坐标。

20、构建障碍物的斥力场:

21、

22、其中urep(q)为障碍物所产生的斥力势场,krep为障碍物的斥力系数,ρ表示斥力势场影响的极限距离,ρ0表示当前位置到障碍物的最短距离。

23、总人工势场包括两项,吸引势函数和排斥势函数。总的人工势场u(q)则是这两个势函数的和:

24、u(q)=uatt(q)+urep(q)

25、进一步的,所述步骤s6的具体操作如下:生成均匀随机数。如果均匀随机数大于判决率ξ∈(0,1),则将执行apf加权过程。否则,将执行探索-利用方法。

26、对于apf加权,我们将采用摩尔邻域,其被定义在二维正方形晶格上并且由中心单元(在这种情况下,当前智能车状态st)和围绕它的八个单元组成。

27、分配给st的相邻单元的概率与它们的总人工势场成反比。具有最低总人工势场的相邻小区具有被分配给st+1的最大概率,而具有最高总人工势场的相邻小区具有被分配给st+1的最低概率。

28、计算选择区域的概率pi(i=1,...,k),其中k是相邻小区的数量。选择哪一个区域的概率为:

29、

30、计算标准(单元)apf加权函数。apf加权函数σ:

31、

32、其中i=1,...k,rk→(0,1)k,p=(p1,...,pk)∈rk

33、由apf加权函数获得的累积概率用于选择状态st中的动作at。首先,对p所包含的概率进行排序。然后,生成零和一之间的随机数。从列表的顶部开始,选择累积概率大于随机数的第一相邻小区用于状态st+1。

34、由apf加权函数获得的累积概率用于选择状态st中的动作at。首先,对p所包含的概率进行排序。然后,生成零和一之间的随机数。从列表的顶部开始,选择累积概率大于随机数的第一相邻小区用于状态st+1。

35、如果不执行apf加权过程,则将执行探索-利用方法。生成均匀随机数。如果均匀随机数大于决策率ξ,则将执行开发过程。否则,执行探测过程。

36、进一步的,所述步骤s7的具体操作如下:一旦通过apf加权、利用或探索过程选择了动作at。则执行动作at,接收奖励r,达到新的状态st+1。

37、进一步的,所述步骤s8的q值的更新具体操作如下:它基于状态s,根据s6选择动作a,到达状态s',并获得即时奖励r,用数学公式q值的更新可表示为:

38、

39、其中学习率α根据经验设置为0.3,折扣系数γ设置为0.8,决策率ξ设置为0.2,奖励函数的设置如下:

40、

41、进一步的,所述步骤s10的具体操作如下:

42、新状态st+1被分配给当前状态st以继续迭代过程,如果st+1是终止状态,当前轮迭代完毕,否则转到步骤6,直到达到目标点。

43、进一步的,所述步骤s11中生成路径的方法如下:

44、将目标点采用的指数i初始化为0,起始点q0被分配给当前状态st,接下来进行路径生成的迭代过程。当下一个状态未到达目标点,指数i增加1。进一步的执行环境验证,如果环境改变,则更新环境信息qg;使用学习值qm×n选择当前状态st下的最佳动作at。一旦已经选择了动作at,执行该动作。随后,使用等式st+1=f(st,at)计算新状态st+1。最后,新状态st+1被分配给当前状态st,并且当前状态被分配给目标点qi。如果当前状态st最终等于目标点qf,则算法返回起点q0和目标点qf之间的无冲突路径。

45、本技术提供的一种基于人工势场法和强化学习的智能车路径规划方法,针对传统人工势场法存在的“最小陷阱”问题,通过apf加权将先验环境虚拟化为总人工势场,并计算适当的学习值。该算法成功地解决了已知和未知环境下路径规划问题。将q-学习方法与apf方法相结合,不仅克服了经典q-学习方法学习速度慢、耗时长、无法在已知和未知环境中学习等缺点,也有效地避免了传统人工势场法陷入局部最优化。仿真结果表明,所提出的apf加强化学习算法可以提高学习速度,改善路径规划的路径长度和路径平滑度,并且在运动的障碍物中,能够避开障碍物,顺利到达终点。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1