一种基于强化学习的运动规划与自动泊车方法与流程

文档序号:28278309发布日期:2021-12-31 21:10阅读:178来源:国知局
1.本发明涉及自动驾驶
技术领域
:。具体涉及一种基于强化学习的运动规划与自动泊车方法。
背景技术
::2.随着汽车保有量迅速增加,停车位紧张的现象逐渐加剧,由此引发了较多泊车事故,近年来为缓解此类泊车事故的发生,提高人们出行安全,自动泊车系统应运而生。目前关于自动泊车控制策略的研究方向有两个:1.基于经验的泊车运动控制策略;2.基于路径规划与路径跟踪的泊车控制策略。而基于经验的泊车运动控制策略需要大量的经验数据,将经验转化为泊车控制策略需要经历繁杂的步骤,同时使用的算法过于复杂(模糊控制、神经网络),很难满足系统实时性要求,并且对于不同的泊车环境,往往需要不同的泊车经验数据,适用性较差,不利于实际应用。3.基于路径规划与路径跟踪的泊车运动策略先结合车辆的运动学约束规划泊车路径,再使用控制算法进行路径跟踪。(先通过传感器来进行车位以及车身姿态的估算,再规划最优泊车路径)。传统的规划方法(ex.圆弧法)虽然可以满足需求,但约束条件会相应增加,求解过程变得更加复杂,降低了规划精度与响应速度。为了进一步提高自动泊车系统的控制精度和实效性,并且使其在不同泊车环境下都有较好的适用性,本发明使用基于强化学习的自动泊车算法。技术实现要素:4.为解决上述问题,本发明提供一种基于强化学习的运动规划与自动泊车方法,其主要包括几个问题:1.通过传感器获取并绘制停车场邻近区域的图像,包括道路、可停泊区域和道路标识等,然后模拟进训练系统。2.通过本发明算法识别道路标识、绘制停泊轨迹。3.通过本发明算法所规划的运动轨迹操作车辆准确停泊入指定位置,从而实现自动泊车,此即为整个自动泊车过程。本发明就是要对收集的停车经验数据集进行训练,使得其更加有利于自动泊车的进行。本发明的算法需要经过强化学习的训练才能运行,整体训练过程主要分为几个部分:数据集收集(该数据集是基于经验的停车轨迹的规划,通过对多种情况下完整停车轨迹的搜集,来形成本发明的数据集)、深度学习框架搭建与参数设置、模型训练和模型应用。本发明结合了传统的基于规划的自动泊车系统和基于(经验的,也就是强化学习)强化学习的自动驾驶方法之优点完成自动泊车系统的训练,以提高自动泊车过程中的速度与效率。5.两种方法结合的优点具体表现为降低了决策树的深度与广度,从而大大减少了强化学习方法一次迭代所需要的时间,从而提高了训练过程的效率。同时传统的基于规划的自动泊车系统的轨迹数据的精度较高,可以较好地用于强化学习。6.本发明的技术解决方案为:一种基于强化学习的运动规划与自动泊车方法:7.第一,收集强化学习所需要的用到的停车经验数据集;其包含停车开始到结束过程中车辆的坐标信息、速度信息、转向角信息和环境中障碍物的具体坐标信息;8.第二,建立自动泊车系统中车辆的动力学系统,包括不同车辆的初始位置中心点坐标的坐标集p0={(x0,y0),(x1,y1),(x2,y2),(x3,y3),(x4,y4)..},由于模拟过程是将车辆放入一个二维平面进行模拟,因此此处的x,y表示车辆的横纵坐标;车辆默认初始速度v0均为0,车辆的加速度的范围被限制在区间(0,am)之间;车辆的速度被限制在区间(0,vm)之间,车辆的转动方向由转动角限制在(‑α,α)之间,车辆最小转弯半径限制在(r1,r2)之间;设置停车场边界线四点坐标{(x0,y0),(x1,y1),(x2,y2),(x3,y3),(x4,y4)},停车位四点坐标{(x0,y0),(x1,y1),(x2,y2),(x3,y3),(x4,y4)},停车场内每个物体都由数量不等的坐标集构成{(x0,y0),(x1,y1),(x2,y2),(x3,y3),(x4,y4)..};9.第三,使用q‑learning的强化学习方法针对已有的模型数据进行训练:初始化所有(状态,动作)的q(s,a),就是在某一时刻的s状态下(s∈s),采取经验数据集中的动作a(a∈a)能够获得收益的期望,环境会根据agent的动作反馈相应的回报r,算法是将state与action构建成一张q‑table来存储q值,然后根据q值来选取能够获得最大的收益的动作。10.优选的,停车训练过程中使用了基于强化学习用到的停车经验数据集和基于运动规划的两个策略进行训练;在进行初始化时,给予一个概率值e_greedy0,当处于环境1时,按照算法中的强化学习所需用到的停车经验数据集中的停车路线策略进行动作选择的概率为e_greedy(s1,a1)(表示车辆处于状态1下选择动作1的概率),而为了避免局部最优以及进行更多的探索,在不同的训练迭代过程中被训练的自动驾驶车辆会按照不同的e_greedy的概率进行随机选择。在算法中所用到的概率的计算是通过所在状态和选择的动作得到的,其值正比于所选动作的权重值大小。11.优选的,在车辆未停止时:12.根据当前q‑values的估计值estimates(q(s,*)),选择当前状态s的动作a;运行动作a,得到r和输出的新状态s’并更新q(s,a)的表项。13.优选的,14.q(s,a)=q(s,a)+α[r+γmaxq(s′,a′)‑q(s,a)][0015](α:learningrate,γ:discountfactor)[0016]在获取下一步环境的实际情况之后再进行学习,学习函数对q‑table表更新的重要参数之一就是获取下一步的环境的实际情况;具体来说,在进行学习过程时,q‑learning的对象会根据所处的当前环境下所获得的积累得分和下一步的环境的实际情况(最大得分)对当前环境的q‑table表进行更新;其中α为学习速率(learningrate),γ为折扣因子(discountfactor),学习速率决定了对先前的训练结果的保留程度,也即α越大,保留先前的训练成果越少;折扣因子γ决定了项maxq(s′,a′)的作用程度,该项是先前训练的步骤获取到的收益,而项q(s,a)是当前的训练步骤期望获得的收益,也即折扣因子γ越大,模型会更注重过往经验,该值越小模型会更注重眼前的收益;[0017]所有的动作会有一个起始收益值(也即后文提到的回报值),该值取决于提供给强化学习的数据中的动作出现的频率,也即原数据集中同一动作出现的频率越高,收益值越大。在强化学习的迭代过程中,成功的学习结果会“强化”轨迹中所有动作的收益值,也就使得我们预期获得的结果更接近最优的结果。[0018]这个过程会基于本发明通过环境获取到的环境信息进行最佳决策,也就是短期内的局部最优解和exploration,也就是基于概率的探索来拟合的全局最优解,本发明通过公式[0019][0020]来对本发明的局部最优解进行随机化,从而在多次训练后期望得到全局最优解。[0021]优选的,对停车经验数据集进行优化剪枝,神经网络对动作价值利用公式:[0022][0023]进行近似,式中的ω代表了强化学习的神经网络在q(s,a)处的权重,模型在该处动作的回报值越大,权重也会越大。[0024]优选的,状态集的终止条件包括正常停车和异常停车两种:其中正常停车要求自动行驶车辆对应agent的中心距离给定的泊车点位的距离小于hm且车辆方向角与泊车点位方向角偏差不超过i°;异常停车包括自动行驶车辆与环境物体发生了碰撞、自动行驶车辆与停车场边缘发生碰撞,自动行驶车辆在超过给定的训练时间后仍未停入指定位置。[0025]与现有技术相比,本发明使用了q‑learning的强化学习方法,从而避免了在模型拟合和学习的过程中陷入局部最优解,无法获得全局的最优解的后果。同时结合了基于机器学习的方法和基于经验的自动泊车方法,从而使该方法同时具有基于经验的自动泊车方法的高效率、快速响应的优点,加快了机器学习过程中的收敛速度,同时仍保证了常规的机器学习方法的高度适应性和在多条件、复杂环境下的效果。[0026]算法在通过强化学习的具体方法完成训练时通过概率引入了基于规划的自动泊车系统的车辆行驶的相关参数,从而减小了强化学习中决策树的深度和广度,实现了训练效率的提升。附图说明:[0027]图1为本发明系统模型流程图。[0028]图2为本发明强化学习算法模型图。[0029]图3为强化学习的训练过程场景1图。[0030]图4为强化学习训练过程的场景2图。[0031]图5为强化学习训练过程的场景3图。[0032]图6为强化学习训练过程的场景4图。[0033]图7为场景1训练结果图。[0034]图8为场景2训练结果图。[0035]图9为场景3训练结果图。[0036]图10为场景4训练结果图。[0037]图11为初始条件下综合场景的停车成功率图。[0038]图12为在epsilon=0的条件下综合场景的停车成功率图。[0039]图13为在epsilon=0.05的条件下综合场景的停车成功率图。[0040]图14为在epsilon=0.1的条件下综合场景的停车成功率图。具体实施方式[0041]以下结合附图对该实施例进行进一步说明。[0042]该方法首先建立自动泊车整体的环境模型和车辆模型,基于二维平面中的近似直角坐标系进行坐标的给定。[0043]在神经网络中的基于经验的训练用数据集来源于从真实场景中的泊车数据,这些数据包括了车辆(轿车、商务车或越野车)的转向角、速度、加速度和在每一时刻下的坐标,数据精度在秒级。基于强化学习所需要用到的停车经验数据集来源手工操作、软件采集的数据,所含数据内容同基于经验的训练用数据集。[0044]为了提升自动控制中的精确程度和系统对车辆实时操控的表现,并且使系统能够适应多种条件、环境下的自动泊车,系统以强化学习训练出的自动泊车模型为主对车辆进行操控,其系统模型流程图如图1所示。[0045]首先建立自动泊车系统中车辆的动力学系统,包括车辆的初始位置坐标集p0={(x0,y0),(x1,y1),(x2,y2),(x3,y3),(x4,y4)..},车辆的坐标集中,只表示出车辆中心坐标点的一个坐标,该坐标集是多个车辆的具有车辆中心点坐标的坐标集。车辆边缘尺寸已经提前测量输入,该系统的一次训练是针对同一车型进行训练的,这样根据车辆中心坐标点计算可以推算出车辆的四角坐标,只有当车辆即将碰触到障碍物时才考虑四点坐标,这样可以大大减小计算。而收集的停车经验数据集只包含该车型的泊车经验数据。由于模拟过程(电脑系统模拟)是将车辆放入一个二维平面中进行模拟,所以此处的x和y分别代指其在这个坐标系平面中的横纵坐标而非经纬度坐标;车辆的默认初始速度v0均为0(模拟的初始状态,是车辆到达停车位前方,类似于在现实生活中人为开到或其他系统将车辆开到停车位前停车的位置,然后打开本发明训练好的系统进行停车即可);为了符合车辆的动力学规律,车辆的加速度a的范围会被限制在区间(0,am)之间,其转动方向由转动角angle限制在(‑90,90)之间,转动角即车轮相对于车头正前方的夹角。同时由于车辆非一个无体积的刚性,因此需要对其最小转弯半径进行限制,一般限制在(0.5m,0.7m)之间。[0046]然后设置一系列的环境物体以满足多种停车目标,包括停车场边界线,其由四个点坐标构成{(x0,y0),(x1,y1),(x2,y2),(x3,y3),(x4,y4)},环境物体(由于停车场内有柱子、其他车辆、路障等形状不等的物体,因此每个物体均使用相应的数量的坐标对其形状边界进行表征。),每个物体都由数量不等的坐标集构成{(x0,y0),(x1,y1),(x2,y2),(x3,y3),(x4,y4)..}。[0047]根据强化学习的马尔可夫决策过程,自动行驶车辆对应的agent基于初始状态s1,不断尝试action集合,对于每个给定的action都有一个q‑learning方法中的q值q(si,ai),agent倾向于选择reward最大的对应action,并通过该action进入到下一个状态s2。在实例中停车轨迹总体长度在(3.5m,5m)区间内,基于经验的自动泊车算法的停车轨迹的精度约在0.1m,转动角精度在1°左右,所以在未剪枝情况下的状态集可以达到4540数量级。可以看出利用传统的强化学习方法记录所有状态action表会导致状态表空间过大,使用该表也会导致维度灾难,因此神经网络对对动作价值利用公式:[0048][0049]进行近似,公式中的ω代表了强化学习的神经网络在q(s,a)处的权重,模型在该处的回报值越大,权重也会越大。在优化剪枝后其状态集的大小约在1012数量级,在该数量级下进行自动泊车的强化学习是可行的。[0050]然后根据以上条件使用q‑learning的强化学习方法针对已有的模型数据进行训练:[0051]任意初始化所有(状态,动作)的q‑values,也即q(s,a),就是在某一时刻的s状态下(s∈s),采取动作a(a∈a)动作能够获得收益的期望,此状态和动作就是数据收集时收集的过往的停车经验的状态和动作。环境会根据agent(目标物体,即需要训练的车辆)的动作反馈相应的回报rewardr,所以算法的主要思想就是将state与action构建成一张q‑table来存储q值,然后根据q值来选取能够获得最大的收益的动作;[0052]在进行初始化时,给予一个概率值e_greedy0,设置环境f,当处于环境1时,环境1即停车初始状态时车辆所处的环境。停车训练过程中使用了基于强化学习用到的停车经验数据集和基于运动规划的两个策略进行训练,按照算法中的强化学习所需要用到的停车经验数据集中的停车路线策略进行动作选择的概率为e_greedy,而为了避免局部最优以及进行更多的探索,仍按照e_greedy的概率进行随机选择;[0053]以下是状态和动作表:[0054]状态rewardaction2action3stateli0=0orelseq(s1,a2)q(s1,a3)state2i1=i0+r(s2|s1,a)q(s2,a2)q(s2,a3)state3i2=i1+r(s3|s2,a)q(s3,a2)q(s3,a3)[0055]未停止时:[0056]根据当前q‑values的估计值estimates(q(s,*)),选择当前状态s的动作a;运行动作a,得到rewardr和输出的新状态s’并更新q(s,a)的表项。[0057]q(s,a)=q(s,a)+α[r+γmaxq(s′,a′)‑q(s,a)][0058](α:learningrate,γ:discountfactor)[0059]在获取下一步环境的实际情况之后再进行学习,学习函数对q‑table表更新的重要参数之一就是获取下一步的环境的实际情况;具体来说,在进行学习过程时,q‑learning的对象会根据所处的当前环境下所获得的积累积分和下一步的环境的实际情况(最大得分)对当前环境的q‑table表进行更新;其中α为学习速率(learningrate),y为折扣因子(discountfactor),学习速率决定了对先前的训练的结果的保留程度,也即α越大,保留先前的训练成果越少;折扣因子y决定了项maxq(s′,a′)的作用程度,该项是先前训练步的骤获取到的收益,而项q(s,a)是当前的步骤期望获得的收益,也即折扣因子y越大,模型会更注重过往经验,该值越小模型会更注重眼前的收益。[0060]这个过程会基于通过exploitation获取到的环境信息进行最佳决策,也就是短期内的局部最优解和exploration,也就是拟合的全局最优解,通过公式:[0061][0062]对局部最优解进行随机化,从而在多次训练后期望得到全局最优解。[0063]状态集的终止条件包括正常停车和异常停车两种。其中正常停车要求自动行驶车辆对应agent的中心距离给定的泊车点位的距离小于0.3m且车辆方向角与泊车点位方向角偏差不超过10°。异常停车主要包括自动行驶车辆与环境车辆发生了碰撞、自动行驶车辆与停车场边缘发生碰撞,自动行驶车辆在超过给定的训练时间后仍未停入指定位置,其中前两项在算法中合并处理。[0064]在车辆行驶的过程中,因为自动泊车的停车场景是低速行驶,将车辆的行驶轨迹设置为公式所示情况,其中x,y分别为车辆中心的横纵坐标,a为车辆中心的转动方向角与停车位标识的正方向之间的夹角,δ为车辆前轮的转动方向角与停车位标识的正方向之间的夹角,v为车辆的速度。[0065]x=vcos(θ)[0066]y=vsin(θ)[0067][0068]随后根据已设置好的迭代次数对模型进行训练,迭代次数通常在3000000次之内,在自动泊车车辆达到提前设置好的终止条件后即停止训练。[0069]强化学习算法模型如图2所示。其中agent在本模型中代表被训练的车辆,environment代表环境车辆、车库和对应车道线等环境物体的集合,action,state,reward分别代表前文中提到的动作、状态和回报值。[0070]图3为强化学习的训练过程场景1。图4为强化学习训练过程的场景2,自动泊车车辆进入固定车辆区域。图5为强化学习训练过程的场景3,自动泊车车辆到达与终点站相邻的区域,从俯视图看,其中分为左上,右上,左下,右下区域。图6为强化学习训练过程的场景4,反向停车,本发明之前提到过圆弧直线法;可以看出,通过本发明的训练得到的结果与圆弧直线法得到的结果很近似:其中标注的第一条线表示被训车辆的正前方朝左的预期倒车轨迹,第二条线线表示被训练车辆的正前方朝右的预期倒车轨迹,第三条虚线表示有圆弧直线法生成的预期轨迹。[0071]训练步骤:[0072]1.让小车在多个场景中按照最优路径停车入库,得到训练数据集合。[0073]2.结合q‑learning构建好强化学习模型。[0074]3.将小车放入到模型中去强化训练,最终得到模型最优的参数。[0075]训练结果:[0076]其中用图7为场景一训练结果,图8为场景二训练结果,图9为场景三训练结果,图10为场景四训练结果。[0077]图7‑10中,succ_rate_smo表示模型能够达到预期结果的比例,hit_cars_rate_smo表示车辆因与环境车辆发生碰撞而使训练过程异常终止的比例,hit_wall_rate_smo表示车辆因与环境中的其他物体发生碰撞而使训练过程异常终止的比例,out_of_time_rate_smo表示车辆长时间未停入指定的区域内而使总训练时间超出预先给定值导致训练终止的比例。[0078]联合图3、图4和图5所示的三个场景,在接下来的几张图中(图11‑14),succ_rate_smo表示综合模型能够达到预期结果的比例。[0079]εeffect:使用上面指定的ε,从左上角区域到终端训练agent4000个集合。[0080]测试代理,使用ε=0测试2000个集合。[0081]给agent的初试角度加上噪声(±11.25°for2000episodes)[0082]其中图11,图12中ε=0,图13中ε=0.05,图14中ε=0.1。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1