速差滑移转向车辆的目标跟随及动态障碍物避障控制方法与流程

文档序号:20343931发布日期:2020-04-10 22:28阅读:612来源:国知局
速差滑移转向车辆的目标跟随及动态障碍物避障控制方法与流程
本发明属于无人驾驶
技术领域
,尤其涉及一种速差滑移转向车辆的目标跟随及动态障碍物避障控制方法。
背景技术
:目前,最接近的现有技术:传统方法进行目标跟随及避障时,主要采取路径规划和路径跟踪控制方法。即先由当前目标状态和障碍物信息规划出一条路径,然后利用轨迹跟踪控制方法,控制车辆沿着规划好的路径行进,同时采取局部路径规划的方式进行动态障碍物避障。在进行轨迹跟踪时通常是定速模式,采取路径规划和轨迹跟踪结合的方式,且由于速差滑移转向车辆的控制复杂性,不能很好的根据目标和障碍物的动态变化实时调整被控车辆。轮式滑移转向车辆作为载体底盘,可搭载摄像头、激光雷达、组合导航和车载计算机等设备,并与人工智能技术、计算机技术、信息通信技术、控制技术、车辆技术等其他学科交叉融合,具有广阔的应用前景。轮式滑移转向车辆由于其不需要特定的转向机构,结构简单,又有灵巧的转向运动特性,且体型相对小巧;同时具有高机动性和高通过性,在非结构环境中能够充分发挥车辆的极限行驶性能,现正越来越多的应用在户外环境和科学探索工作中。理想状态下,车辆在目标跟随运动中能够根据目标车辆的状态和障碍物的状态信息实时调整自身的纵向速度和角速度,使其和目标车辆之间有一个相对稳定的安全距离,以便能更好的跟随目标。在车辆的目标跟随运动中需要兼顾跟随目标和躲避静态及动态障碍物的任务,对轮式滑移转向车辆的控制精度要求非常高。强化学习是机器学习的一种,通过奖励指导智能体在与环境交互过程中的行为,包含四个元素:智能体、环境、动作和奖励。而强化学习中的ddpg算法可以解决连续空间问题,可以选择控制车辆运动的连续动作,但当智能体和所交互的环境比较复杂时,奖励函数的设计也会很困难,考虑到被控车辆和目标车辆及障碍物之间的运动效果,奖励函数的设计应该综合考虑三者之间的距离和速度。同时,不当的奖励函数设置也会使得学习模型输出的动作不能有效的解决问题,从而使训练效果大打折扣。车辆跟随及避障比较好的效果是,被控车辆的速度随着目标车辆速度的改变而改变,和目标车辆保持一个相对稳定的距离,同时以一个较短的路径绕过障碍物。如果奖励函数没有考虑被控车辆的速度,那么被控车辆的速度在目标车辆加减速时可能不会变化。如果奖励函数没有考虑到为了绕过障碍物所产生的附加路程问题,那么被控车辆为了绕过障碍物可能会产生一个特别大的附加路程。为了取得比较好的效果,需要给被控车辆加一些约束,这些约束反映到模型中就是奖励函数的设计问题。针对轮式滑移转向车辆,轮式速差滑移转向车辆在转向时,两侧车轮会有滑移和滑转,不满足非完整约束条件。同时,不同速度状态下的滑移和滑转率也有所不同,因此速差滑移转向车辆的运动相对有转向机构的车辆运动有更多的不确定性。且在求车辆的位姿信息时要用到积分操作,会产生累积误差,使得控制精度变低;基于传统车辆行驶控制原理和目标跟踪及避障的研究比较复杂且精度不高,难以应对其他突发情况,影响车辆跟随及避障的效果。综上所述,现有技术存在的问题是:(1)在进行轨迹跟踪时通常是定速模式,采取路径规划和轨迹跟踪结合的方式,且由于速差滑移转向车辆的控制复杂性,不能很好的根据目标和障碍物的动态变化适时调整被控车辆。(2)强化学习中的ddpg算法当智能体和所交互的环境比较复杂时,奖励函数的设计也会很困难。同时,不当的奖励函数设置也会使得学习模型输出的动作不能有效的解决问题,使训练效果大打折扣。解决上述技术问题的难度:(1)针对轮式速差滑移转向车辆,基于传统路径规划及轨迹跟踪方法,会有很大的不确定性,且控制精度的进步空间不大,难以应对各种突发情况。(2)强化学习中的ddpg算法在解决复杂环境问题时,很难设计奖励函数,从而会导致训练效果和理想情况有很大的偏差。(3)训练过程中,为了得到真实的轨迹信息,要载入目标车辆和障碍物,使得系统计算效率变慢。解决上述技术问题的意义:针对轮式速差滑移转向车辆,采用强化学习中的ddpg算法,将传统方法的不确定性考虑进去,从另一个角度研究此车辆的控制方法,同时对训练过程中的仿真做了进一步改进优化,能够方便的生成目标和障碍物轨迹信息。经过大量的数据训练,能够更好的应对各种突发情况。技术实现要素:针对现有技术存在的问题,本发明提供了一种速差滑移转向车辆的目标跟随及动态障碍物避障控制方法。本发明是这样实现的,一种速差滑移转向车辆的目标跟随及动态障碍物避障控制方法,所述速差滑移转向车辆的目标跟随及动态障碍物避障控制方法利用强化学习中的深度确定性策略建立四个神经网络;通过actor-critic策略确定连续动作输出,构建障碍物的代价范围从而确定动作的单步奖励函数,并利用梯度传递不断更新网络参数;训练出根据当前状态进行跟随和避障的网络模型;所述训练出能够根据当前状态进行跟随和避障的网络模型包括:步骤一,设置初始参数,最低训练回合数t,每个回合最大训练步数s,数据集存放容量c,每次训练所取得数据样本数量n,输入状态的维度state_dim,输出动作的维度action_dim,actor网络学习率lra,critic网络学习率lrc,折扣因子γ,作用在速度上的ou噪声noise(v)和作用在角速度上的ou噪声noise(ω);步骤二,每个回合开始时,初始化环境,包括被控制车辆位置姿态信息,目标车辆位置姿态信息和障碍物位置姿态信息,定义为此回合的初始状态;其中,目标车辆和障碍物的位置姿态信息由之前训练好的神经网络预测模型提供;步骤三,加入ou过程,用平衡神经网络的探索和利用之间的关系,根据车辆行驶过程中纵向加速度和转向角度的特性,调整ou随机过程中的θ、μ和σ;将ou过程作用在神经网络输出的动作上,经过f_clip()函数后将最终动作值noise(v)和noise(ω)传递到训练环境中去;步骤四,训练环境接收环境状态,随机生成目标车辆和障碍物信息的纵向加速度和角速度并传给神经网络预测模型,神经网络预测模型生成目标车辆和障碍物的位置和姿态信息;同时,训练环境接受步骤三传的动作v和ω,作用在执行体上dt时间,使车辆达到一个新的环境状态;步骤五,由步骤一环境状态和采取的动作,确定奖励函数;步骤六,神经网络从数据集记忆库中随机抽取一部分数据进行训练,每步训练开始时首先进行判断,若数据记忆库内存放的数据集数量不足c,则不进行训练,若记忆库内数据集存放数量高于c,则网络开始进行训练;步骤七,actor策略网络和criticq网络根据步骤六中的数据改变网络参数,两个网络各自创建两个神经网络拷贝,一个为在线online网络,一个为目标target网络;训练完一个批次的数据后,online网络参数更新,然后缓慢更新target网络;步骤八,若训练次数达到单回合最大训练步数或者满足规定的跟随和避障要求时,此回合结束,跳出此回合循环,执行步骤九;否则继续从步骤三开始执行;步骤九,若完成目标的回合数达到要求且总训练回合数满足t,则训练完成,保存参数,得到优化后的训练模型;否则,继续从步骤二开始执行。进一步,所述速差滑移转向车辆的目标跟随及动态障碍物避障控制方法模拟真实车辆和障碍物的运动状态的神经网络预测模型的建立包括以下步骤:步骤一,建立神经网络框架,构建一个含有两层隐藏层的神经网络并初始化参数,输入层接收上一步的状态及将要执行的动作,输出层输出预测的dt时间后车辆在世界坐标系下的位置姿态和速度信息:xy坐标值、横摆角及下一时刻的速度;步骤二,车辆在环境中执行步骤一接收的动作,并达到下一步状态;获取下一步状态在环境中的绝对位姿信息作为标签,和步骤一中预测的位姿信息作对比,判断差值是否在定义的范围内;将差异反向传递到神经网络中,训练模型参数;步骤三,更新神经网络参数,若满足预想要求同时达到最小训练次数,则结束训练,保存神经网络参数,否则重复步骤一-至步骤二。进一步,所述网络模型每步的奖励函数有三部分构成:第一部分,提出代价思想,针对障碍物信息,当被控车辆行驶在障碍物的特定范围内,对车辆的动作增加一个附加的代价值,被控车辆距离障碍物越近,付出的代价就越大,奖励就越低,车辆趋于原理障碍物;针对训练时的步数,每行驶一步都有一个附加的固定代价值,即车辆如果太偏离目标车辆,不尽快满足跟随条件结束循环的话,代价值就会增大;第二部分,针对相距目标车辆距离的奖励,若规定跟随距离为r,则当距离大于r时,若距离有减小的趋势则增大奖励值,若有增大的趋势则减小奖励值,当距离小于r时,奖励值反向变化,即距离维持在r时有最高的奖励值;将此次步骤一环境,采取的动作,得到的奖励值和下一步环境信息放入数据集记忆库内;进一步,所述速差滑移转向车辆的目标跟随及动态障碍物避障控制方法的应用部分包括:步骤一,读取训练完毕的神经网络参数,初始化环境;步骤二,将实际中的目标车辆和障碍物对应到训练部分模拟生成的目标和障碍物上,生成环境状态;步骤三,actor网络根据环境状态,输出控制车辆运动的动作,并作用在车辆上执行动作;步骤四,若无退出命令,则继续获取dt后的环境状态,回到步骤三继续执行,否则整个系统结束。进一步,所述速差滑移转向车辆的目标跟随及动态障碍物避障控制方法具体包括以下步骤:步骤一,系统获取自身的位置姿态,同时获取目标车辆及障碍物信息的位置姿态,将状态整合发送至训练好的基于ddpg的改进算法中;步骤二,基于ddpg的神经网络接受状态信息,生成控制车辆运动的速度和角速度;步骤三,被控车辆执行步骤二中生成的动作,进行目标跟踪和避障,并到达下一步状态;步骤四,若无退出命令,则系统从步骤一开始循环往下执行;若有退出命令,则系统结束运行。进一步,所述速差滑移转向车辆的目标跟随及动态障碍物避障控制方法的ddpg的训练算法包括以下步骤:步骤一,将回合的状态si输入ddpg的策略网络,生成初始动作ai;步骤二,根据车辆运动学特性,给初始动作ai增加ou噪声,行程叠加之后的最终动作ai;步骤三,将步骤二中的最终动作ai输入ddpg的交互环境中,得到dt后的下一步状态si+1;步骤四,将交互环境中的(si,ai,si+1)信息输入到交互环境中的奖励函数中,得到(si,ai,ri,si+1),存储到数据集记忆库中;步骤五,对数据集记忆库中数据的数量进行判断,若数据集数量小于数据集存放容量c=60000,则跳至步骤一开始继续往下执行;若满足数据集存放容量,则从中随机采样,抽取n=1000个数据进行训练;步骤六,计算在线评价网络的梯度,更新在线评价网络参数,包括:(1)定义在线评价网络的loss函数:其中,q(si,ai|θq)为在线评价网络在状态si下执行动作ai得到的在线评价值,yi看作标签:yi=ri+γq′(si+1,μ′(si+1|θμ′)|θq′);其中,利用dqn的思想,q′(si+1,μ′(si+1|θμ′)|θq′)为目标评价网络在状态si+1下执行动作μ′(si+1|θμ′)得到的目标评价值;其中,μ′(si+1|θμ′)是目标动作网络在状态si+1下输出的目标动作;(2)计算loss函数针对在线评价网络参数θq的梯度▽θql,并采用adamoptimizer更新在线评价网络参数θq;步骤七,计算在线策略网络的梯度,更新在线策略网络参数,在线策略网络的目标函数针对在线评价网络参数的梯度:由此梯度,采用adamoptimizer更新在线策略网络参数θμ。进一步,所述速差滑移转向车辆的目标跟随及动态障碍物避障控制方法的训练算法中的神经网络预测模型训练包括以下步骤:步骤一,建立神经网络框架,构建一个含有两层隐藏层的神经网络,输入为纵向速度和角速度,输出为世界坐标系下的位置姿态,xy坐标值和横摆角,具体包括:(1)建立输入层:建立输入层网络,输入层输入控制车辆运动的动作:action=(a,w);车辆模型接收的直接动作为纵向速度和角速度,由生成的动作action知:v=v0+a·dt;ω=ω;将动作值action=(v,w)限制在action_max和action_min之间:v=fv_clip(v,vmin,vmax);ω=fω_clip(ω,ωmin,ωmax);action=(v,ω);其中:故车辆模型接收的动作为action=(v,w);(2)建立隐藏层:两个隐藏层的神经元个数n1=1000和n2=1000,训练总次数为t=1000,单次训练最大步数为n=1000,学习率为lrc=0.01,更新周期时间长度dt=0.05,输入是控制车辆运动的动作action=(v,w);(3)建立输出层,输出预测值:建立输出层网络,输出值是经过dt时间后车辆在大地坐标系下的预测的绝对位置信息,包括坐标和横摆角:statepredict=(xpredict,ypredict,θpredict);步骤二,车辆在环境中执行步骤一接收的动作,并达到下一步状态;获取下一步状态在环境中的绝对位姿信息作为标签,和步骤一中预测的位姿信息作对比,得到损失函数并判断差值是否在定义的范围内,通过最小化损失函数更新网络:训练的标签为同一时刻得到的真实坐标和横摆角:statetrue=(xtrue,ytrue,θtrue);损失函数:步骤三,更新神经网络参数,若满足预想要求同时达到最小训练次数1000,则结束训练,保存神经网络参数,否则重复步骤一-步骤二。进一步,所述速差滑移转向车辆的目标跟随及动态障碍物避障控制方法的训练算法的交互环境为被控车辆信息、目标信息和障碍物信息;被控车辆信息:(xrobot,yrobot,θrobot);目标信息:(xtarget,ytarget,θtarget,atarget,vtarget,ωtarget);障碍物信息:(xbarrier,ybarrier,θbarrier,abarrier,vbarrier,ωbarrier);步骤一,在当前环境状态si下,被控车辆执行动作ai,目标和障碍物执行各自的动作(vtarget,ωtarget),(vbarrier,ωbarrier);步骤二,交互环境根据步骤一中执行的动作,到达状态si+1;步骤三,交互环境根据步骤一和步骤二中的(si,ai,si+1)定义单步奖励函数ri如下,由目标信息影响的奖励函数rtarget和障碍物信息影响的代价函数rbarrier以及每和环境交互一次都会产生的固定代价值rstep叠加而成:rtarget=ftarget(si,ai,si+1);rstep=constant;rbarrier=fbarrier(si,ai,si+1);ri=rtarget+rstep+rbarrier;其中,rtarget=ftarget(si,ai,si+1)为相距目标车辆距离针对当前动作的奖励;若规定跟随距离为r,则当距离大于r时,若距离有减小的趋势则增大奖励值,若距离有增大的趋势则减小奖励值;当距离小于r时,奖励值反向变化,即距离维持在r时有最高的奖励值;rstep=constant为每和环境交互运行一次都会产生的固定附加代价值;rbarrier=fbarrier(si,ai,si+1)为相对障碍物距离针对当前动作的代价;步骤四,整合信息(si,ai,ri,si+1),存入ddpg中的数据记忆库中。本发明的另一目的在于提供一种应用所述速差滑移转向车辆的目标跟随及动态障碍物避障控制方法的载体底盘,所述载体底盘搭载摄像头、激光雷达、组合导航、车载计算机。本发明的另一目的在于提供一种应用所述速差滑移转向车辆的目标跟随及动态障碍物避障控制方法的智能控制系统。综上所述,本发明的优点及积极效果为:在ddpg训练过程中,本发明将目标车辆和障碍物的速度信息和姿态信息加入到环境状态中,能够使得神经网络同时考虑到目标和障碍物的姿态和速度对生成动作值的影响;使得被控车辆能够根据目标车辆的速度和姿态以及障碍物的速度和姿态改变自身的动作值,更加稳定的跟随目标及避障。本发明采取代价和奖励叠加的方式,在保证避障的同时又让车辆行驶尽可能小的步数,防止车辆为了避障过分远离目标点,使得到达目标位置的步数增加;分块简化了奖励函数的定义,总体比较符合车辆在跟随避障时的运动特性。本发明直接利用训练好的神经网络根据当前状态来实时调整被控车辆的运动,免去了复杂的路径规划和轨迹跟踪算法。训练过程中考虑了目标和障碍物的动态信息,使得被控车辆能够很好的适应动态目标和障碍物不断变化的状态。在车辆运动过程中,神经网络输出的动作为纵向速度和角速度;加载在纵向速度上的噪声均值为正,趋于平均值的速度较大,波动较小,即希望速度更加平稳且多为正;加载在角速度上的噪声均值为零,趋于平均值的速度较小,波动较大,即希望角速度方向改变更加频繁,探索更多方向。本发明根据车辆的运动特性,改变了ou随机过程的参数,避免了网络模型陷入局部最优;同时平衡利用和探索之前的关系。本发明利用强化学习的思想,不需要人工标注数据集,减小了大量人工。仿真过程生成的网络模型,能够很好的移植到真实的环境中,提高目标跟随和避障的准确性和可靠性。神经网络预测模型模拟真实车辆和障碍物的运动状态。随机生成控制车辆运动的动作值,根据动作值生成目标和障碍物位置姿态信息。车辆行驶时,纵向速度的变化幅度不应该很大,但是车辆横摆角速度可以变化很频繁,考虑到实际车辆的运动状态,选择输入随机动作为纵向加速度和横摆角速度,后续经过简单运算处理变为直接传递给模型的纵向速度和角速度。此神经网络预测模型的目的是,在后续ddpg网络模型仿真中,提供一个相对真实的目标车辆和障碍物的信息,减少cpu的运算消耗,提高训练效率。相对传统的基于规则的控制算法,本发明提升了车辆跟随及避障的智能性,能够更好的适应未知环境并很好的应对其他突发情况;减小了强化学习训练过程中建立仿真环境的复杂度。在仿真过程中,仿真回合数很多;为了提高仿真效率,建立回归预测模型,由初始位置姿态和每步动作值就能得到目标车辆和障碍物的每一步的位置姿态,提高了20%的仿真准确率和效率。本发明在仿真和建立回归预测模型的过程中,涉及到目标车辆和障碍物的运动时;为了更加符合真实规律,采用的随机动作为加速度和角速度,这样使得目标车辆和障碍物的轨迹更加平滑,符合真实规律。本发明的方法可以将不确定性通过神经网络来处理,强化学习根据实际状态下的真实信息,经过大量的数据训练,能够取得比较精确的效果。目标车辆及障碍物的状态都是连续的,为了保证被控车辆的运动连续性,其动作也是连续取值的。结合ddpg强化学习神经网络模型,可以很好的解决连续性问题。附图说明图1是本发明实施例提供的速差滑移转向车辆的目标跟随及动态障碍物避障控制方法流程图。图2是本发明实施例提供的被控车辆目标跟随及避障示意图。图3是本发明实施例提供的速差滑移转向车辆的目标跟随及动态障碍物避障控制方法实现流程图。图4是本发明实施例提供的ddpg训练流程框图。图5是本发明实施例提供的ddpg中神经网络预测模型训练流程框图。图6是本发明实施例提供的ddpg中交互环境示意图。图7是本发明实施例提供的单步奖励函数中动作代价及目标奖励示意图。图8是本发明实施例提供的ddpg训练过程前1000回合的训练情况示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。针对现有技术存在的问题,本发明提供了一种速差滑移转向车辆的目标跟随及动态障碍物避障控制方法,下面结合附图对本发明作详细的描述。如图1所示,本发明实施例提供的速差滑移转向车辆的目标跟随及动态障碍物避障控制方法包括以下步骤:s101:利用强化学习中的深度确定性策略建立四个神经网络;s102:通过actor-critic策略确定连续动作输出,构建障碍物的代价范围从而确定动作的单步奖励函数,并利用梯度传递不断更新网络参数;s103:训练出根据当前状态进行跟随和避障的网络模型。本发明提供的速差滑移转向车辆的目标跟随及动态障碍物避障控制方法还包括训练部分和最终效果:训练部分包括以下几个步骤:步骤一,设置初始参数,最低训练回合数t,每个回合最大训练步数s,数据集存放容量c,每次训练所取得数据样本数量n,输入状态的维度state_dim,输出动作的维度action_dim,actor网络学习率lra,critic网络学习率lrc,折扣因子γ,作用在速度上的ou噪声noise(v)和作用在角速度上的ou噪声noise(ω)。步骤二,每个回合开始时,都要初始化环境,包括被控制车辆位置姿态信息,目标车辆位置姿态信息和障碍物位置姿态信息,定义为此回合的初始状态。其中,目标车辆和障碍物的位置姿态信息由之前训练好的神经网络预测模型提供。步骤三,加入ou(ornstein-uhlenbeck)过程,用平衡神经网络的探索和利用之间的关系。根据车辆行驶过程中纵向加速度和转向角度的特性,调整ou随机过程中的θ、μ和σ。将ou过程作用在神经网络输出的动作上,经过f_clip()函数后将最终动作值noise(v)和noise(ω)传递到训练环境中去。步骤四,训练环境接收上一步的环境状态,然后随机生成目标车辆和障碍物信息的纵向加速度和角速度并传给神经网络预测模型,神经网络预测模型生成目标车辆和障碍物的位置和姿态信息。同时,训练环境接受步骤三传的动作v和ω,作用在执行体上dt时间,使车辆达到一个新的环境状态。步骤五,由上述步骤一中环境状态和采取的动作,确定奖励函数。网络模型每步的奖励函数有三部分构成:第一部分,提出代价思想,针对障碍物信息,当被控车辆行驶在障碍物的特定范围内,就对车辆的动作增加一个附加的代价值,被控车辆距离障碍物越近,付出的代价就越大,奖励就越低,车辆趋于原理障碍物。针对训练时的步数,每行驶一步都有一个附加的代价值,即车辆如果太偏离目标车辆,不尽快满足跟随条件结束循环的话,代价值就会增大;第二部分,针对相距目标车辆距离的奖励。若规定跟随距离为r,则当距离大于r时,若距离有减小的趋势则增大奖励值,若有增大的趋势则减小奖励值,当距离小于r时,奖励值反向变化,即距离维持在r时有最高的奖励值。将此次步骤一中环境,采取的动作,得到的奖励值和下一步环境信息放入数据集记忆库内。第三部分,回合内被控车辆每运行一步,则累加一个单步固定代价。步骤六,神经网络从数据集记忆库中随机抽取一部分数据进行训练。每步训练开始时首先进行判断,若数据记忆库内存放的数据集数量不足c,则不进行训练,若记忆库内数据集存放数量高于c,则网络开始进行训练。步骤七,actor策略网络和criticq网络根据步骤六中的数据改变网络参数。两个网络各自创建两个神经网络拷贝,一个为在线online网络,一个为目标target网络。训练完一个批次的数据后,online网络参数更新,然后缓慢更新target网络。步骤八,若训练次数达到单回合最大训练步数或者满足规定的跟随和避障要求时,此回合结束,跳出此回合循环,执行步骤九,否则继续从步骤三开始执行。步骤九,若完成目标的回合数达到要求且总训练回合数满足t,则训练完成,保存参数,得到优化后的训练模型。否则,继续从步骤二开始执行。应用部分包括以下几个步骤:步骤一,读取训练完毕的神经网络参数,初始化环境。步骤二,将实际中的目标车辆和障碍物对应到训练部分模拟生成的目标和障碍物上,生成环境状态。步骤三,actor网络根据环境状态,输出控制车辆运动的动作,并作用在车辆上执行动作。步骤四,若无退出命令,则继续获取dt后的环境状态,回到步骤三继续执行,否则整个系统结束。下面结合附图对本发明的技术方案作进一步的描述。如图2和图3所示,本发明实施例提供的速差滑移转向车辆的目标跟随及动态障碍物避障控制方法具体包括以下步骤:第一步,系统获取自身的位置姿态,同时获取目标车辆及障碍物信息的位置姿态,将状态整合发送至训练好的基于ddpg的改进算法中。第二步,基于ddpg的神经网络接受状态信息,生成控制车辆运动的速度和角速度。第三步,被控车辆执行第二步中生成的动作,进行目标跟踪和避障,并到达下一步状态。第四步,若无退出命令,则系统从第一步开始循环往下执行;若有退出命令,则系统结束运行。在本发明优选实施例中,第一步的训练基于ddpg的改进算法如图4所示,每个回合开始时,都要初始化环境,包括被控制车辆位置姿态信息,目标车辆位置姿态信息和障碍物位置姿态信息。回合内每步训练开始前,根据车辆当前位姿以及目标车辆和障碍物的位姿信息,定义此回合的状态si。其中,目标车辆和障碍物的位置姿态信息由训练好的神经网络预测模型提供;具体包括以下步骤:步骤一,将si输入ddpg的策略网络,生成初始动作ai。步骤二,根据车辆运动学特性,给初始动作ai增加ou噪声,行程叠加之后的最终动作ai;实现平衡强化学习中探索和利用的关系。步骤三,将步骤二中的最终动作ai输入ddpg的交互环境中,得到dt后的下一步状态si+1。步骤四,将交互环境中的(si,ai,si+1)信息输入到交互环境中的奖励函数中,得到(si,ai,ri,si+1),存储到数据集记忆库中。步骤五,对数据集记忆库中数据的数量进行判断,若数据集数量小于数据集存放容量c=60000,则跳至步骤一开始继续往下执行,存放更多的数据信息。若满足数据集存放容量,则从中随机采样,抽取n=1000个数据进行训练。步骤六,计算在线评价网络的梯度,更新在线评价网络参数,包括:(1)定义在线评价网络的loss函数:其中,q(si,ai|θq)为在线评价网络在状态si下执行动作ai得到的在线评价值,yi可以看作标签:yi=ri+γq′(si+1,μ′(si+1|θμ′)|θq′);其中,利用dqn的思想,q′(si+1,μ′(si+1|θμ′)|θq′)为目标评价网络在状态si+1下执行动作μ′(si+1|θμ′)得到的目标评价值。其中,μ′(si+1|θμ′)是目标动作网络在状态si+1下输出的目标动作。(2)计算loss函数针对在线评价网络参数θq的梯度并采用adamoptimizer更新在线评价网络参数θq。步骤七,计算在线策略网络的梯度,更新在线策略网络参数。策略网络的策略梯度,即在线策略网络的目标函数针对在线评价网络参数的梯度:由在线评价网络参数的梯度采用adamoptimizer更新在线策略网络参数θμ。在ddpg算法中,在线网络和目标网络的结构相同,采用runningaverage的方法,将在线网络的参数缓慢传递给目标网络参数,目的是切断相关性,使得神经网络更新更具有效率:至此为ddpg算法在一次训练中的步骤流程。如此时达到回合内的最大训练步数或者是此回合内完成目标,则退出本回合训练,开始下一回合,否则跳至步骤一,然后继续往下执行。若达到最大回合数,则结束训练,保存神经网络参数,否则进行环境充值并初始化,然后从步骤一开始执行。在本发明优选实施例中,第一步基于ddpg的改进算法的训练算法中的神经网络预测模型训练流程图如图5所示,包括以下步骤:步骤一,建立神经网络框架,构建一个含有两层隐藏层的神经网络,输入为纵向速度和角速度,输出为世界坐标系下的位置姿态,即xy坐标值和横摆角。具体包括:(1)建立输入层网络,输入层输入控制车辆运动的动作:action=(a,w);车辆模型接收的直接动作为纵向速度和角速度。故由生成的动作action知:v=v0+a·dt;ω=ω;将动作值action=(v,w)限制在action_max和action_min之间:v=fv_clip(v,vmin,vmax);ω=fω_clip(ω,ωmin,ωmax);action=(v,ω);其中:故车辆模型接收的动作为action=(v,w)。(2)建立隐藏层:两个隐藏层的神经元个数n1=1000和n2=1000,训练总次数为t=1000,单次训练最大步数为n=1000,学习率为lrc=0.01,更新周期时间长度dt=0.05,输入是控制车辆运动的动作action=(v,w)。(3)建立输出层,输出预测值:建立输出层网络。输出值是经过dt时间后车辆在大地坐标系下的预测的绝对位置信息,包括坐标和横摆角:statepredict=(xpredict,ypredict,θpredict)。步骤二,车辆在环境中执行步骤一接收的动作,并达到下一步状态。获取下一步状态在环境中的绝对位姿信息作为标签,和步骤一中预测的位姿信息作对比,得到损失函数并判断差值是否在定义的范围内,通过最小化损失函数更新网络:训练的标签为同一时刻得到的真实坐标和横摆角:statetrue=(xtrue,ytrue,θtrue);损失函数:步骤三,更新神经网络参数,若满足预想要求同时达到最小训练次数1000,则结束训练,保存神经网络参数,否则重复步骤一-步骤二。在本发明优选实施例中,第一步基于ddpg的改进算法的训练算法中的交互环境如图6所示:交互环境为被控车辆信息、目标信息和障碍物信息的综合考虑,相互之间互相影响,分别包括:被控车辆信息:(xrobot,yrobot,θrobot);目标信息:(xtarget,ytarget,θtarget,atarget,vtarget,ωtarget);障碍物信息:(xbarrier,ybarrier,θbarrier,abarrier,vbarrier,ωbarrier);步骤一,在当前环境状态si下,被控车辆执行动作ai,目标和障碍物执行各自的动作(vtarget,ωtarget),(vbarrier,ωbarrier)。步骤二,交互环境根据步骤一中执行的动作,到达状态si+1。步骤三,交互环境根据步骤一和步骤二中的(si,ai,si+1)定义单步奖励函数ri如下,由目标信息影响的奖励函数rtarget和障碍物信息影响的代价函数rbarrier以及每和环境交互一次都会产生的固定代价值rstep叠加而成:rtarget=ftarget(si,ai,si+1);rstep=constant;rbarrier=fbarrier(si,ai,si+1);ri=rtarget+rstep+rbarrier;其中,rtarget=ftarget(si,ai,si+1)为相距目标车辆距离针对当前动作的奖励。若规定跟随距离为r,则当距离大于r时,若距离有减小的趋势则增大奖励值,若距离有增大的趋势则减小奖励值;当距离小于r时,奖励值反向变化,即距离维持在r时有最高的奖励值。rstep=constant为每和环境交互运行一次都会产生的固定附加代价值,即车辆如果为了躲避障碍物过分偏离目标车辆,则最后达到目标所运行的次数就会增大,代价值就会增大。rbarrier=fbarrier(si,ai,si+1)为相对障碍物距离针对当前动作的代价。当被控车辆行驶在障碍物的特定范围内,就对车辆的动作增加一个附加的代价值,被控车辆距离障碍物越近,此步的动作付出的代价就越大,奖励就越低,车辆趋于远离障碍物。如图7所示,对于目标车辆,在距离目标车辆r范围时有最大的奖励值。对于障碍物,距离障碍物越近,得到的动作代价值越大。步骤四,整合信息(si,ai,ri,si+1),存入ddpg中的数据记忆库中。在本发明优选实施例中,第二步中的ddpg神经网络结构参数如表1所示,神经网络训练总次数为t=2000,单次训练最大步数为step_max=1000,actor网络学习率为lra=0.0001,critic网络学习率lrc=0.001,折扣因子γ=0.9;更新周期时间长度dt=0.05,数据集存放容量c=60000,每次训练所取得数据样本数量n=1000,输入状态的维度state_dim=13,输出动作的维度action_dim=2,softupdate更新参数τ=0.001。表1ddpg神经网络结构参数在本发明优选实施例中,训练算法框图中的ou随机过程参数定义:为了避免网络模型陷入局部最优,同时平衡利用和探索之前的关系,加入ou随机过程,并根据车辆的运动特性,改变了ou随机过程的参数。车辆在运动过程中,神经网络输出的动作为纵向速度和角速度。加载在纵向速度上的噪声均值为正,趋于平均值的速度较大,波动较小,即希望速度更加平稳且多为正;加载在角速度上的噪声均值为零,趋于平均值的速度较小,波动较大,即希望角速度方向改变更加频繁,探索更多方向,定义具体参数数值如表2所示。表2ou随机过程动作参数动作θμσ纵向速度0.60.00.6转向速度1.00.60.2下面结合实验对本发明的技术效果作详细的描述。图8为ddpg训练过程前1000回合的训练情况。每回合内的训练步数。由于程序中设定的每回合最大步数为3000步,由图8可知刚开始的时候,训练回合数较小,被控车辆主要接收随机动作值,故在3000内没能到达目标位置,回合重置。随着训练回合数的增加,被控车辆慢慢能够在较短的回合数内完成目标,故呈现下降趋势。每回合内总的奖励值。由图8可知刚开始的时候,训练回合数较小,被控车辆主要接收随机动作值,随意奖励值较小。随着训练回合数的增加,被控车辆慢慢能够在较短的回合数内完成目标,相应的累计奖励值会增加,故呈现上升趋势。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1