技术领域
[0001] 本
申请属于
人工智能技术领域,特别是涉及一种基于强化学习的泊车路径规划方法。
背景技术
[0002] 随着相关领域技术的进步,极大地推动了
汽车向智能化、自主化方向快速发展。目前汽车已成为集成自动控制理论、人工智能理论、
传感器技术、通信技术、信息融合技术等多领域技术于一体的复杂
机电系统。随着人民生活
水平的提高,人们对汽车的舒适性、安全性、智能性和效率的需求日益增加,在这种趋势下,高级辅助驾驶系统迅速发展使汽车智能化的程度越来越高,泊车辅助系统作为高级辅助驾驶系统的一部分,可以帮助人们保证停车安全,提高停车效率。现有的辅助驾驶系统在停车效率和准确性还存在不足。
[0003] 自动泊车过程中,需要根据车位空间进行规划路径,容易受到车位空间和停车初始
位置的影响,对车辆速度和
角度的调整还存在受到人为因素和控制不连续的问题。现有的泊车系统规划出的路径在实际控制中存在控制不连续等问题,导致泊车过程中路径
跟踪能
力差,停车效果不佳。
[0004] 目前国内外关于自动泊车的研究,基于人工智能的泊车控制方法或者进行运动状态规划和运动状态跟踪的控制方法,直接建立多种曲线连续的路径,从路径的连续性方面解决
控制器参数不连续的问题,但是适用性较窄。现在在路径规划方面做了大量工作,包括传统规划方法和智能规划方法,传统规划包括最优控制,动态规划,这类方法需要大量
迭代,计算量较大,时间长;而智能规划
算法,A*算法,Dijkstra算法,D*算法等,这些随着数据量的增大,复杂度越来越大。
发明内容
[0005] 1.要解决的技术问题
[0006] 基于目前国内外关于自动泊车的研究,基于人工智能的泊车控制方法或者进行运动状态规划和运动状态跟踪的控制方法,直接建立多种曲线连续的路径,从路径的连续性方面解决控制器参数不连续的问题,但是适用性较窄。现在在路径规划方面做了大量工作,包括传统规划方法和智能规划方法,传统规划包括最优控制,动态规划,这类方法需要大量迭代,计算量较大,时间长;而智能规划算法,A*算法,Dijkstra算法,D*算法等,这些随着数据量的增大,复杂度越来越大的问题,本申请提供了一种基于强化学习的泊车路径规划方法。
[0007] 2.技术方案
[0008] 为了达到上述的目的,本申请提供了一种基于强化学习的泊车路径规划方法,所述方法包括如下步骤:
[0009] 步骤1:建立车位环境的状态模型,初始化全局状态,确定车位环境的起始点状态和目标点状态;
[0010] 步骤2:建立车辆的单线模型,使用速度和前后角度来描述车辆的在每个点的车辆运动情况,ct=(xs,ys,sinθ,cosθ),在连续弯曲的道路上,定义在曲线某一个点的的
曲率角度代表着期望车辆的航向;
[0011] 步骤3:初始化全局的车辆状态,选择起始车辆状态,定义状态奖励值函数和动作值函数,得到状态和行为函数的贝尔曼方程;
[0012] 步骤4:确定贝尔曼方程中的奖励函数,确定对于Q学习过程中的奖励函数;
[0013] 步骤5:结合奖励确定从某一个当前状态到目标状态的方程;
[0014] 步骤6:结合深度Q学习网络,采用标准的神经网络架构DQN,输出所有动作的Q值向量;
[0015] 步骤7:从固定的回旋曲线
训练数据,训练的数据输入包括目标和起始的车辆状态,确定起始状态到目标状态的最优路径;
[0016] 步骤8:选取平行场景和垂直场景进行生成路径曲线,利用生成的曲线发送到车辆的跟踪控
制模块中,为车辆跟踪
控制模块提供路径数据。
[0017] 本申请提供的另一种实施方式为:所述步骤1中的车辆状态模型包括车辆的出发状态,目标状态和车位环境的目标点状态。
[0018] 本申请提供的另一种实施方式为:所述步骤3中贝尔曼方程为:
[0019]
[0020] 其中,Q(sk,ak)表示状态的动作值函数,表示由状态Sk选择行为ak对应的动作值,r(sk,a,sk+1)表示奖励值函数表示由状态Sk选择行为ak对应的回报价值,Sk表示k时刻的状态,Sk+1表示k+1时刻的状态,ak表示k时刻的行为。
[0021] 本申请提供的另一种实施方式为:所述步骤4中确定贝尔曼方程中的奖励函数,确定对于Q学习过程中的奖励函数,在
节点扩展中,选择以ε-贪心法确定最优策略,搜索函数h选取所有状态节点中的最小值到下一个状态。
[0022] 本申请提供的另一种实施方式为:所述步骤4中贝尔曼方程中奖励函数为:
[0023]
[0024] 本申请提供的另一种实施方式为:所述步骤5中结合奖励确定从某一个当前状态到目标状态的方程,确定当前整个优化过程中的从初始状态到当前状态的函数,确定当前状态到最终状态的搜索启发函数。
[0025] 本申请提供的另一种实施方式为:所述启发函数为:
[0026]
[0027] 式中的L表示从Sk到目标状态的步数,方程中Q(sk,ak)表示状态的动作值函数,表示由状态Sk选择行为ak对应的动作值,Sk表示k时刻的状态,Sk+1表示k+1时刻的状态,ak表示k时刻的行为,ak+1表示k+1时刻的行为,(0<γ<1)表示返还值对于每个时刻回报值的影响因子,Esk+1表示在Sk+1状态的回报值的期望值,r(sk,a,sk+1)表示奖励值函数,代表由状态Sk选择行为ak对应的回报价值得到Sk+1;
[0028] h(splan)=L·Cost表示当前状态到目标状态成本值,rg表示奖励值,具体是指从Sk执行动作ak到达Sk+1并且Sk+1在目标状态的范围内。
[0029] f(splan)=g(splan)+h(splan),g()表示从出发状态到当前状态成本值,h(splan)=L·Cost表示当前状态到目标状态成本值。
[0030] 本申请提供的另一种实施方式为:所述步骤6中结合深度Q学习网络,采用标准的神经网络架构DQN,输出所有动作的Q值向量,利用DQN中的两个神经网络,一个使用正向传播预测Q的目标的数值,一种使用反向传播预测Q估计的数值,如图1所示Q_target网络用于预测前向传播获取Q的目标的数值,Q_eval用于预测Q估计的数值。
[0031] 本申请提供的另一种实施方式为:所述步骤7中从固定的回旋曲线训练数据,训练的数据输入包括目标和起始的车辆状态,采取100条回旋曲线进行训练,对于目标的回旋曲线进行
采样等距点,计算每个点的Reeds-Shepp曲线路径,选取最小的路径作为搜索成本值,利用Q-Network训练好的结果来指导下一步的经验搜索算法,将前一个时刻的状态(也就是代表这个状态的
马尔科夫过程)代入DQN中进行正向传播网络,获取Q目标的状态动作数值,在每个状态节点扩展进行增量搜索,然后对所有展开的节点进行搜索评估,最终确定起始状态到目标状态的最优路径。
[0032] 3.有益效果
[0033] 与
现有技术相比,本申请提供的一种基于强化学习的泊车路径规划方法的有益效果在于:
[0034] 本申请提供的基于强化学习的泊车路径规划方法,基于深度强化学习网络,训练好的深度Q学习网络与启发式搜索相互结合,通过建立泊车环境的状态模型,设立目标点和终点后生成一条连续无碰撞的路径,满足复杂情况条件下的泊车路径规划,提高泊车路径的连续性、适用性。
[0035] 本申请所提的基于强化学习的泊车路径规划方法,通过利用深度Q学习网络与路径规划的启发式搜索相互结合的方式,能快速获得泊车路径,实现方法简单高效,同时能保证路径跟踪控制连续性好的效果。
[0036] 本申请提出的基于强化学习的泊车路径规划方法,基于强化学习Q_Learning算法训练好的经验,将其与启发搜索相互结合,利用Q_Learing的先有经验,获取Q目标值,再对现有状态的
子节点进行分析判断,输出最优点,利用最优的加入Q网络中迭代计算,获取最优路径。
附图说明
[0037] 图1是现有技术采用的路径规划原理示意图;
[0038] 图2是本申请的深度Q学习网络和启发搜索原理示意图;
[0039] 图3是本申请的深度Q学习的目标和评估的网络原理示意图。
具体实施方式
[0040] 在下文中,将参考附图对本申请的具体
实施例进行详细地描述,依照这些详细的描述,所属领域技术人员能够清楚地理解本申请,并能够实施本申请。在不违背本申请原理的情况下,各个不同的实施例中的特征可以进行组合以获得新的实施方式,或者替代某些实施例中的某些特征,获得其它优选的实施方式。
[0041] 强化学习作为
机器学习的方法之一,又称再励学习、增强学习,来源于
生物学中的条件反射理论,其基本思想是对所希望的结果予以奖励,对不希望的结果予以惩罚,逐渐形成一种趋向于好结果的条件反射。强化学习的目的是寻找最优策略序列决策问题被表述为马尔可夫决策过程(MDP)。使用强化学习生成起始点到目标点的最优轨迹,同时还需要考虑到车辆非完整性约束。
[0042] DQN是第一个将
深度学习模型与强化学习结合在一起从而成功地直接从高维的输入学习控制策略。DQN不用Q表记录Q值,而是用神经网络来预测Q值,并通过不断更新神经网络从而学习到最优的行动路径。
[0043] Q学习算法步骤如下:
[0044] 设置gamma参数以及矩阵R;初始化矩阵Q;对于每次episode:随机选择一个初始状态;目标状态没有到达:从当前状态的所有行为中选择一个转移到下一状态;计算;将下一状态设为当前状态;Agent通过以上算法进行学习,每次episode相当于一次训练。在每一次训练中,agent探索环境(矩阵R表示),接受奖励直到到达目标状态。训练的目的是增强agent的大脑,即矩阵Q。训练越多,Q结果越好。通过这种方式,如果Q被加强了,而不是反复探索,不断回到同一房间,就能快速找到目标状态。
[0045] 参数gamma的取值范围是0~1,如果gamma趋近于0,则agent趋向于考虑瞬时奖励,如果接近1,则趋向于未来的奖励,延迟奖励。
[0046] 参见图1~3,本申请提供一种基于强化学习的泊车路径规划方法,所述方法包括如下步骤:
[0047] 步骤1:建立车位环境的状态模型,初始化全局状态,确定车位环境的起始点状态和目标点状态;需要首先确定车辆的单线模型描述车辆每个点的运动状态,建立车辆的状态模型,指明车辆的出发状态和目标状态,确定车位环境目标点状态。
[0048] 步骤2:建立车辆的单线模型,使用速度和前后角度来描述车辆的在每个点的车辆运动情况,ct=(xs,ys,sinθ,cosθ),ct表示车辆某个一时刻t的状态,(x,y)表示车辆的
坐标系中的坐标,θ表示车辆的航向角;
[0049] 在连续弯曲的道路上,定义在曲线某一个特殊点的的曲率角度代表着期望车辆的航向;
[0050] 步骤3:初始化全局的车辆状态,选择起始车辆状态,定义状态奖励值函数和动作值函数(Q函数),得到状态和行为函数的贝尔曼方程;
[0051] 步骤4:确定贝尔曼方程中的奖励函数,确定对于Q学习过程中的奖励函数;
[0052] 步骤5:结合奖励确定从某一个当前状态到目标状态的方程;
[0053] 步骤6:结合深度Q学习网络,采用标准的神经网络架构DQN,输出所有动作的Q值向量;
[0054] 步骤7:从固定的回旋曲线训练数据,训练的数据输入包括目标和起始的车辆状态,确定起始状态到目标状态的最优路径;
[0055] 步骤8:选取平行泊车场景和垂直泊车场景选取起始点和目标点进行生成路径曲线,将生成的曲线供后续的车辆的跟踪控制模块使用,为车辆跟踪控制模块提供路径数据。
[0056] 进一步地,所述步骤1中的车辆状态模型包括车辆的出发状态,目标状态和车位环境的目标点状态。
[0057] 进一步地,所述步骤3中贝尔曼方程为:
[0058]
[0059] 式中Q(sk,ak)表示状态的动作值函数,表示由状态Sk选择行为ak对应的动作值,Sk表示k时刻的状态,Sk+1表示k+1时刻的状态,ak表示k时刻的行为,ak+1表示k+1时刻的行为,(0<γ<1)表示返还值对于每个时刻回报值的影响因子,Esk+1表示在Sk+1状态的回报值的期望值,r(sk,a,sk+1)表示奖励值函数,代表由状态Sk选择行为ak对应的回报价值得到Sk+1。
[0060] 进一步地,所述步骤4中确定贝尔曼方程中的奖励函数,确只有距离目标状态较近的时候是获得奖励值,其他情况奖励值为0,确定对于Q学习过程中的奖励函数,具体的贝尔曼方程奖励函数定义为 (其中Sk表示k时刻的状态,ak表示k时刻的行为,目标状态t(Sg),rg表示奖励值,具体是指从Sk执行动作ak到达Sk+1并且Sk+1在目标状态的范围内),始终在进入目标状态时候获得非零值,其他的状态获得零值,在节点扩展中,选择以ε-greedy算法确定最优策略,搜索函数h()选取所有状态节点中的最小值到下一个状态。
[0061] 进一步地,所述步骤5中结合奖励确定从某一个当前状态到目标状态的方程,确定当前整个优化过程中的从初始状态到当前状态的g(),确定当前状态到最终状态的搜索启发函数h(),f(splan)=g(splan)+h(splan),splan表示在规划时的状态,g(splan)表示从出发状态到当前状态splan的成本值函数,h(splan)表示当前状态到目标状态的估计的成本值函数,也称为度量函数和启发函数,启发式函数的计算同时结合奖励Q函数的可以表示为:
[0062]
[0063] 式中Q(sk,ak)表示状态的动作值函数,表示由状态Sk选择行为ak对应的动作值,Sk表示k时刻的状态,Sk+1表示k+1时刻的状态,ak表示k时刻的行为,ak+1表示k+1时刻的行为,(0<γ<1)表示返还值对于每个时刻回报值的影响因子,Esk+1表示在Sk+1状态的回报值的期望值,r(sk,a,sk+1)表示奖励值函数,γ代表由状态Sk选择行为ak对应的回报价值得到Sk+1。
[0064] 公式中的L表示从Sk到目标状态的步数,rg表示奖励值,具体是指从Sk执行动作ak到达Sk+1并且Sk+1在目标状态的范围内,h(splan)=L·Cost表示当前状态到目标状态成本值。
[0065] 进一步地,所述步骤6中结合深度Q学习网络,采用标准的神经网络架构DQN,输出所有动作的Q值向量,利用DQN中的两个神经网络,一个使用正向传播预测Q的目标的数值q_target,一种使用反向传播预测Q估计的数值q_eval,训练神经网络时候的损失函数值loss=q_target-q_eval,反向传播训练的真正网络是eval_net,target_net只进行正向传播得到q_target,q_target=r+γ·maxQ(s,a),公式中Q(s,a)是若干个经过target_net正向传播的结果,r表示回报值,(0<γ<1)表示返还值对于每个时刻回报值的影响因子。target_net是eval_net的一个历史版本,拥有eval_net网络中很久之前的一组参数,而且这组参数被固定一段时间,然后再被eval_net的新参数所替换,而eval_net这个神经网络拥有最新的神经网络参数。
[0066] 进一步地,所述步骤7中从固定的回旋曲线训练数据,数据输入目标和起始的车辆状态和其中的障碍物的位置,采取100条回旋曲线进行训练,对于目标的回旋曲线进行采样等距点,计算每个点的Reeds-Shepp曲线路径,选取最小的路径作为搜索成本。利用Q-Network训练好的结果来指导下一步的经验搜索算法,将前一个时刻的状态(也就是代表这个状态的马尔科夫过程)代入DQN中进行正向传播网络,获取Q目标的状态动作数值,在每个状态节点扩展进行增量搜索,然后对所有展开的节点进行搜索评估,最终确定起始状态到目标状态的最优路径,结构示意如图2所示。
[0067] 搭建深度Q学习网络使用回旋曲线的数据训练,作为作为预先有的神经网络与启发式搜索算法相结合,利用深度Q学习网络正向传播网络,预测Q目标的数值,使用扩展节点方法对每个状态的子节点进行增量搜索,然后对子节点进行评估,确定是否碰撞和到达目标点,选择最优的节点构成最优路径,为实际的平行泊车场景和垂直泊车场景提供路径曲线,发送到控制模块,为车辆跟踪控制模块提供路径数据。
[0068] 通过将当前的状态代入到前向网络计算Q目标的值,然后使用扩展节点的方法,对当前状态后的子节点状态进行评估,获取最优的子状态,通过判断最优的子状态是否发生碰撞和到达目标点来决定是否进行再次搜索子节点,通过如此迭代,最终获得到达目标点的最优路径。
[0069] 本申请提供的基于强化学习的泊车路径规划方法,基于深度强化学习网络,训练好的深度Q学习网络与启发式搜索相互结合,通过建立泊车环境的状态模型,设立目标点和终点后生成一条连续无碰撞的路径,满足复杂情况条件下的泊车路径规划,提高泊车路径的连续性、适用性。
[0070] 尽管在上文中参考特定的实施例对本申请进行了描述,但是所属领域技术人员应当理解,在本申请公开的原理和范围内,可以针对本申请公开的配置和细节做出许多
修改。本申请的保护范围由所附的
权利要求来确定,并且权利要求意在涵盖权利要求中技术特征的等同物文字意义或范围所包含的全部修改。