发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、能够实现在线优化、提高控制性能的基于近似策略迭代的自适应巡航控制方法。
为解决上述技术问题,本发明采用以下技术方案:
一种基于近似策略迭代的自适应巡航控制方法,其步骤为:
(1)采集样本;
(2)使用近似策略迭代算法在样本上学习,得到一个近似最优策略;
(3)在巡航控制中在线优化PI控制器参数,即采用上述近似最优策略以数据驱动的方式去在线的优化PI控制器的参数,使巡航控制达到期望的性能。
作为本发明的进一步改进:所述步骤(1)的具体流程为:
(1.1)输入:Nstep,该采样周期中最大的采样步数;ε,随机的动作选择策略被执行的概率;π,基于主动学习的动作选择策略;
(1.2)初始化:D={},样本集合;s,初始状态;nstep=0,当前的样本采集步数;
(1.3)样本采集:
ε0,在区间[0,1]上均匀随机地抽取的随机数;
a,如果ε0<ε,执行基于主动学习的动作选择策略;否则,执行基于主动学习的动作选择策略π;
(s,a,s’,r),通过在环境中执行动作a获得的样本,(s,a,s’,r)表示系统在某一时刻的状态为s,执行动作a后进入下一个状态s’,同时得到一个即时回报r;
D=D∪(s,a,s’,r);
nstep=nstep+1,当前的样本采集步数;如果nstep<Nstep并且状态s’不是吸收态,s=s’,返回重新执行步骤(1.3)。
(1.4)返回采集到的样本集合D。
作为本发明的进一步改进:所述步骤(2)是通过执行器采用一个近似最优策略根据当前的状态估计每一个候选动作的性能,具体步骤为:
(2.1)巡航控制的MDP模型可定义为:一个马尔科夫决策过程用一个五元组来表示:(S,A,P,R,γ),其中,S是有限的状态集,A是有限的动作集,P是状态概率转移模型,R是回报函数,γ∈[0,1)是折扣因子;一个MDP的策略π是状态到动作的映射,其中,Ω(A)表示动作转移概率的集合;
一个策略π的状态-动作值函数定义为:
对所有的状态-动作对(s,a),动作值函数Qπ(s,a)必须满足贝尔曼方程:
其中,π(s',a')表示在当前状态s下选择动作a进入下一个状态s’后选择下一个动作a'的概率;写成矩阵形式,可以表示为:
Qπ=R+γΡΠπQπ
(I-γΡΠπ)Qπ=R
对一个确定性的策略集合,存在一个最优策略π*,使得对每一个状态-动作的回报值Qπ最大:
当求出最优值函数Q*(s,a)时,最优策略通过下式得到:
(2.2)MDP的状态和动作集合;根据状态和动作的定义,策略可以描述为:当车辆的速度和加速度为vc和ac、车辆的速度离期望速度还有Δv时,车辆到达期望速度所需要的最优系数;
(2.3)回报函数;
先利用一个样条函数来平滑车辆的加速、减速过程,称作目标曲线;用上述样条函数来定义动态过程,学习的目标就是使控制器能将车速的变化控制得像该样条函数一样;样条函数如下式所示:
其中,ci(i=0,1,…7)是多项式的系数;
定义好了学习目标以后,回报函数定义如下:
(2.4)近似策略迭代学习算法;第一个步骤是利用基于近似线性相关的核稀疏化过程来得到一个核词典;第二个是利用贪婪策略和得到的核词典通过迭代得到一个近似最优策略π*。
作为本发明的进一步改进:所述步骤(3)通过把近似策略迭代算法与PI控制器相结合,形成自学习巡航控制器;该控制器由一个PI控制器和一个执行器组成,其中,执行器由值函数、策略改进和系数调整三个模块组成;KP和KI分别为PI控制器的比例系数和积分系数,vc和ac表示车当前的实际速度和加速度,vd是给出的期望速度,Δv是实际速度与期望速度的差,u是油门刹车命令;值函数模块根据当前车的实际速度、加速度和速度误差来计算每一个(KP,KI)向量的回报值,然后策略改进模块根据每一个(KP,KI)向量的回报值选出一个回报值最大的(KP,KI)向量,最后系数调整模块将PI控制器原来的系数替换成当前选出的最优系数。
与现有技术相比,本发明的优点在于:
1、本发明的基于近似策略迭代的自适应巡航控制方法,原理简单、能够实现在线优化、提高控制性能,它通过执行器-评价器架构中的执行器利用一个近似最优策略来选择一组最优的PI参数,从而使控制性能得到改善。该近似最优策略是通过基于核的近似策略迭代算法利用样本离线得到的。
2、本发明实现了以数据驱动的汽车巡航控制器参数在线优化,使得巡航控制的性能得到了改善。
3、本发明使用离线的学习方法使得学习的过程安全、高效,方便。
具体实施方式
以下将结合说明书附图和具体实例对本发明做进一步详细说明。
本发明基于近似策略迭代的自适应巡航控制方法,采用离线的使用近似策略迭代学习算法,整个优化算法分为三个阶段:首先是采集样本;其次是使用近似策略迭代算法在样本上学习,得到一个近似最优策略;最后在巡航控制中在线优化PI控制器参数,即使用该近似最优策略以数据驱动的方式去在线的优化PI控制器的参数,从而使巡航控制达到期望的性能。在具体实例中,具体流程如下:
(1)样本采集;
一个样本的组织形式如下:
(s,a,r,s′)
上述样本表示:智能体在某一时刻的状态为s,执行动作a后进入下一个状态s’,同时得到一个即时回报r。
样本的采集过程分为四个步骤:1.初始化期望速度、当前回报、当前车的状态;2.选择一个动作;3.执行该动作;4.记录当前车的状态、动作、回报和执行动作后的状态。样本要尽可能的遍历整个状态-动作空间。
期望速度的初始化通过随机选取一个均匀分布的随机数,该随机数在零到最大速度上均匀分布。通过定义的样条函数被用来平滑两个不同的期望速度之间的过渡过程,使得加速和减速能够比较平滑。
当前回报可以初始化为一个数值较大的负数,如-1000。
考虑到速度传感器的精度以及车辆在不同速度上不同的纵向动力学特性,车速的初始化也是随机、均匀的选取一个随机数,该随机数也是在零到最大速度之间均匀分布。加速度的初始化由一个标准正态分布的随机数产生,这是由于当车速不经常变化时,车的加速度基本上在零的附近。最后,速度误差初始化为车辆速度与期望速度的差。
与仿真不同的是,车辆的初始状态不能立刻达到。因此,当初始化状态产生后,需要利用一个PI控制器或者其它的速度控制器使车达到初始状态。但是,初始状态中的速度和加速度常常不能同时满足,在这种情况下,当车速达到初始化速度时,记下此时的速度和加速度,并将这两个量作为初始状态中相应分量,同时进入下一个步骤——动作选取。
为了减少有限样本集中的干扰样本,如果当前的即时回报为零,那么就不需要再去选取别的动作,因为当前的动作已经是最好了。如果当前的即时回报小于零,则在动作集中随机选取一个动作。
动作选取完以后,保存当前的状态s、动作a,然后执行该动作。一个采样周期过后,记录下当时的状态s’、即时回报r,一个样本(s,a,r,s’)就产生了。当目标速度不再变化,并且及时回报为零时,当前的状态就是吸收状态。
采集样本是任何解决增强学习问题的离线方法的首要步骤,并且对问题的解决产生重大影响。所以离线地解决增强学习问题,需要一个良好的采样策略。本发明给出一个新的基于核的采样策略,来提高近似策略迭代算法的性能。在该采样策略中采用在线的近似策略迭代算法,由于该算法能够在线的自动构造非线性特征并且用这些特征逼近行为值函数,所以通过这个策略采集到的样本都是具有代表性的来逼近行为值函数,同时逼近的行为值函数又能够采集到更有意义的样本。
为了能够很好地平衡在线效能和探索尝试之间的关系,在基于核的采样算法中引入了近似贪婪(ε-贪婪)的动作选择机制。在这个机制下,样本的采集策略中动作的选择策略由随机的动作选择策略和基于主动学习的动作选择策略组成。随机的动作选择策略就是均匀地随机选择动作,基于主动学习的动作选择策略就是基于当前主动学习获取的知识来选择动作。关键参数ε(ε∈[0,1])表示随机的动作选择策略被执行的概率,那么基于主动学习的动作选择策略被执行的概率为1-ε。
在具体实例中,在每一个样本的采集周期中,样本采集算法如下所示:
正如上面算法中所示,主动学习通过现有知识得到的动作选择策略π对有效的样本采集是十分重要的。因此,在每个样本采集后或者每个样本采集周期后,必须及时地更新基于主动学习的动作选择策略π。由于近似策略迭代算法具有自动构造非线性特征的特点,故采用该算法来逼近基于主动学习的动作选择策略会改善样本采集的效果。
(2)利用近似策略迭代求解近似最优策略;
具体过程为:
(2.1)巡航控制的MDP模型定义
一个马尔科夫决策过程(MDP)可以用一个五元组来表示:(S,A,P,R,γ),其中,S是有限的状态集,A是有限的动作集,P是状态概率转移模型,R是回报函数,γ∈[0,1)是折扣因子。一个MDP的策略π是状态到动作的映射,,其中,Ω(A)表示动作转移概率的集合。
一个策略π的状态-动作值函数定义为:
对所有的状态-动作对(s,a),动作值函数Qπ(s,a)必须满足贝尔曼方程:
其中,π(s',a')表示在当前状态s下选择动作a进入下一个状态s’后选择下一个动作a'的概率。写成矩阵形式,上式可以表示为:
Qπ=R+γΡΠπQπ,
(I-γΡΠπ)Qπ=R。
对一个确定性的策略集合,存在一个最优策略π*,使得对每一个状态-动作的回报值Qπ最大:
当求出最优值函数Q*(s,a)时,最优策略就可以通过下式得到:
(2.2)MDP的状态和动作集合;
由于智能车辆的非线性纵向动力学特性,智能车辆在每一个速度上的动力学特性是不一样的,因此智能车辆状态的定义是一个三维向量:
s=(vc,ac,Δv),
其中,vc和ac是智能车辆当前的速度和加速度,Δv等于实际速度vc减去期望速度vd:Δv=vc-vd。这里当Δv表示的是智能车辆的一个状态分量,因此它的最大值不应被限制,但是当Δv用于PI控制器中时,为了安全Δv的最大值应该被限制为一个定值。
动作a的定义为PI控制器的比例积分系数,也是一个向量:
a=(KP,KI)。
根据状态和动作的定义,策略可以描述为:当车辆的速度和加速度为vc和ac、车辆的速度离期望速度还有Δv时,车辆到达期望速度所需要的最优系数。
(2.3)回报函数;
定义回报函数之前,首先需要定义一个学习目标。利用一个样条函数来平滑车辆的加速、减速过程。本发明就用该样条函数来定义动态过程,称作目标曲线。学习的目标就是使控制器能将车速的变化控制得像该样条函数一样。因此,该样条函数就是学习目标。
该样条用作学习目标而不是期望速度主要基于两点原因。首先,在PI控制参数优化的过程中,核函数的计算比较费时间,因此为了保证整个底层控制程序的实时性,要求控制、优化算法尽量简单。其次,在实际的自主驾驶过程中,由于驾驶环境的复杂性,期望速度的变化速度有时会比较快,这就造成平滑的样条函数不存在,但是在采样阶段期望速度的持续时间是可以人为控制的,因此该样条函数只用在采样阶段来当作学习目标使用。
该样条函数由三部分组成:第一、三部分是一个二次多项式,第二部分是一个一次多项式,因此该样条函数被称作2-1-2样条,如下式所示:
其中,ci(i=0,1,…7)是多项式的系数。
由该样条计算出的速度和加速度称作目标速度和目标加速度。目标加速度小于最大期望加速度amax,它是一次多项式的斜率。目标加速度是目标速度的微分形式:
为了得到一个光滑的样条函数,在满足下列条件时,系数ci在实数域内应该有解:
表示为矩阵形式,系数可以通过上式计算得出:
C=T·V,
其中,
C=[c0,c1,c2,c3,c4,c5,c6,c7]T,
V=[vstart,0,0,vend,0,0,0,0]T,
另外,如果期望速度变化的太快,这些系数ci在实数域内可能无解。
两个不同的期望速度之间的过渡时间由下式得出:
其中,vstart和vend的含义如图2所示。两个二次函数持续的时间(t1-t0)和(t3-t2)相同,都等于一次函数持续时间(t2-t1)的三分之一。图2是当期望速度改变时,根据该样条函数生成目标速度和目标加速度的一个例子。其中一条实线代表期望速度,另一条实线是生成的目标速度,该目标速度就是定义的学习目标,虚线是根据目标速度得出的目标加速度。
定义好了学习目标以后,回报函数定义如下:
由于车辆的非线性动力学特性和速度传感器的噪声,车辆的速度和加速度与目标速度和目标加速度完全相等,即满足条件:vc-vt=0和ac–at=0。因此需要规定一个范围,只要速度和加速度误差在该范围内,就认为已经达到了目标。吸收状态定义为当目标加速度为零时,
如果得到的即时回报为零,那么就认为该状态为吸收状态,同时结束当前的周期进入下一个周期。
(2.4)近似策略迭代学习算法
本发明采用的近似策略迭代有两个步骤。第一个步骤是利用如下的基于近似线性相关的核稀疏化过程来得到一个基于核函数特征的词典;第二个是利用贪婪策略和得到的核词典通过近似策略迭代得到一个近似最优策略π*。
基于核的近似策略迭代是通过在近似策略迭代(API)中引进核机制,有效地实现了API的非线性逼近能力。在基于核的近似策略迭代算法中,基函数用核函数来描述:{φ
i(s)=k(s,s
i)}(i=1,2,…,M),其中k(s,s
i)为Mercer核函数,该核函数是一个正定函数。对一任意有限点集{s
1,s
2,…,s
n},核矩阵K=[k(s
i,s
j)]
n×n是正定的。根据Mercer定理,存在一个再生核Hilbert空间H,以及从原状态空间S到H的映射函数
,且该高维空间H中的所有内积运算<.,.>均可通过计算核函数来替代:
k(si,sj)=<φ(si),φ(sj)>
在近似策略迭代算法中需要解决的关键问题是如何保证解的稀疏性,从而减小核方法的计算与存储代价,同时有效地提高算法的泛化性能。实际上,在各种核方法的应用中,由于在通常情况下基于核的学习机器的可调参数与样本点的个数相同,所以当观测样本点个数增加时,核方法必须要解决解的稀疏化问题。本发明采用如下的快速核稀疏化方法:
在近似策略迭代算法中,一个策略π的动作值函数通过一个线性架构来近似:
其中,s和a分别为当前的状态和动作,k(.,.)是核函数,ω
i是核函数的系数,s
i(i=1,2,…,d)是核词典中的元素,d是核词典中元素的个数,
是基于核的特征向量:
对于所用的动作,近似状态-动作值函数是关于动作的一个分段函数:
为了解决这样的问题,可以采用一类线性结构的逼近器来对状态-动作值函数Qπ[t](s,a)进行逼近。状态-动作值函数Qπ[t](s,a)可由M个带权值的基函数来线性逼近为:
其中
Na是动作的数量,动作a被标记为l,,{φi(s)}是基函数,ω=(ω1,ω2,…,ωM×Na)T是权值向量。给定一个样本集D={(si,ai,si’,ri)|i=1,2,…,L},令
则近似策略迭代算法的解为:
以上公式所示为一个迭代过程,其中t为迭代次数,该迭代过程结束于最大迭代次数满足或者两次迭代的策略参数向量误差小于给定的阈值。
(3)在巡航控制中在线优化PI控制器参数。
通过把近似策略迭代算法与PI控制器相结合,自学习巡航控制器的结构框图如图1所示。该控制器由一个PI控制器和一个执行器组成,其中,执行器由“值函数”、“策略改进”和“系数调整”三个模块组成。
在图1中,KP和KI分别为PI控制器的比例系数和积分系数,vc和ac表示车当前的实际速度和加速度,vd是给出的期望速度,Δv是实际速度与期望速度的差,u是油门刹车命令。
“值函数”模块根据当前车的实际速度、加速度和速度误差来计算每一个(KP,KI)向量的回报值,然后“策略改进”模块根据每一个(KP,KI)向量的回报值选出一个回报值最大的(KP,KI)向量,最后“系数调整”模块将PI控制器原来的系数替换成当前选出的最优系数。整个优化过程是通过数据驱动的方式完成的。此外,为了保证行驶安全,速度误差和积分项的最大值应该限制为一个定值。
以下将以一个具体实例对本发明做进一步详细说明。
在样本采集的实验中,初始期望速度的集合为{0,1,3,5,7,9,11,13,15,17}米/秒,初始化车速以2米/秒为增量,在0到17米/秒的范围内进行离散化。动作集合由六个动作组成,这六个动作是根据经验和实验得到。
A={a1,a2,a3,a4,a5,a6},
其中:
a1={-0.5,-0.0005}
a2={-0.5,-0.001}
a3={-0.25,-0.0005}
a4={-0.25,-0.001}
a5={-0.1,-0.0005}
a6={-0.1,-0.001}
除了近似最优策略的求解,所有的实验都是实验平台上完成的。
样本采集是在城市环境中进行的。样本采集的时间间隔是50毫秒,一共500个周期,每个周期最大有200步,即每个周期最多10秒钟。最终得到的样本集有96460个样本,总共用了大约3个小时。在样本采集的过程中,最大期望加速度amax的设定由下式决定:
其中,vstart和vend如图3所示。
核函数为径向基函数,近似策略迭代算法中的参数如表 1所示。
表1近似策略迭代算法中的参数:
参数 |
Imax |
ε |
γ |
δ |
w |
值 |
10 |
10-8 |
0.9 |
0.5 |
(4.5,1.5,9) |
其中,Imax是最大迭代次数;ε是迭代结束的条件,表示当两次迭代产生的策略之间的距离小于ε时,迭代结束;γ是折扣因子;δ是使用ALD进行稀疏化时的阈值;w是径向基函数的半径。
最终得到的核词典由58个状态向量组成,近似状态-动作值函数中系数ωi的个数为348,等于动作的个数乘以核词典中元素的个数。学习巡航控制器(参见图1)的计算频率为20Hz,总共所需的时间不超过1毫秒,因此最终得到的控制器满足实时控制的要求。
如图4所示,为本发明采用近似策略迭代学习前后控制效果的对比以及与LSPI学习后控制效果的对比,在城市交通环境中的长时间巡航驾驶以及在越野环境中的自主驾驶。其中,图4(a)控制器1:KP=-0.5,KI=-0.0005,图4(b)控制器2:KP=-0.5,KI=-0.001,图4(c)控制器3:KP=-0.25,KI=-0.0005,图4(d)控制器4:KP=-0.25,KI=-0.001;图4(e)控制器5:KP=-0.1,KI=-0.0005,图4(f)控制器6:KP=-0.1,KI=-0.001,图4(g)控制器7:近似策略迭代学习后的控制性能。控制器i(i=1,2,…,6)是具有动作i(每一个动作对应一个KP,KI)的PI控制器。控制器7为学习控制器,使用的是近似策略迭代方法。对比结果如下表所示:
控制器 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
平均绝对误差(km/h) |
1.1806 |
1.0809 |
1.148 |
1.0967 |
1.8571 |
1.3040 |
1.0494 |
标准方差(km/h) |
2.6606 |
2.5064 |
2.1821 |
2.1545 |
2.3876 |
1.8943 |
2.0648 |
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。