论文部分内容阅读
本文对协同式自适应巡航控制中的跟驰控制算法进行了研究和建模。区别于传统的PID控制方法,在本文中采用了强化学习的方法对这一问题进行了研究和实验。本文对五车系统进行研究和实验,但是在进行系统设计时,考虑到了系统设计的难度和健壮性以及可扩展性等方面,将系统设计为对每一辆车进行抽象概括的独立的智能体,以使系统具有可作为一个车队系统的子系统的功能,可将通信范围内任意多个车辆智能体组成车队,而不仅限于五车的车队系统。首先使用Q-Learning学习方法对CACC跟驰算法进行了建模和研究。针对算法中使用表格对状态动作Q值进行存储的限制,对其中的状态和动作进行了离散,离散精度为1。在对回报进行设计时,考虑了本时刻状态中自车与前车的车距和期望安全车距的关系,对比于下一时刻状态中自车与前车的车距和期望安全车距的关系,以此作为学习算法回报的设计思想。在期望安全车距的计算中,使用前车与自车的相对速度进行计算,并采用了饱和函数。学习过程中对动作的选择使用了ε-贪婪策略,同时基于自车车辆与前车安全距离和期望安全车距的关系来对动作选择进行指导,形成启发式ε-贪婪动作选择策略的规则,对选择过程进行剪枝,加速学习过程,避免选择无用动作。在对基于Q-Learning的CACC跟驰控制的训练过程中,发现其学习得到的回报与学习轮次图中,回报曲线的方差特别大。经过分析认为是离散精度不够导致在取整时,状态和动作存在误差,误差经过积累便导致了曲线波动大的现象。基于此,又将CACC跟驰控制问题引入Deep Q-Learning的领域。在Q-Learning方法中对Q值的表示是通过表格存储实现的,在权衡运行效率和表格存储等限制下,Q表格无法过于庞大,因此状态和动作的离散进度无法进一步细致。因此针对于神经网络的万能逼近的性质,采用神经网络对学习算法的Q值函数进行逼近。通过值函数逼近法将神经网络引入QLearning算法中,形成Deep Q-Learning算法。Deep Q-Learning算法避免了QLearning算法的Q表格形式,可以容纳更大的状态空间和动作空间。在这种情况下,对状态和动作的离散精度设置为0.1,同时也增加了状态的维度,将前车加速度信息纳入到状态变量中。基于Deep Q-Learning的CACC跟驰控制算法中的回报函数设计思想与使用QLearning的CACC跟驰控制算法中的回报函数一致,使用了考虑到前车加速度对于运动趋势的车头时距策略。通过训练,得到了较为合理的回报与学习轮次的曲线。在对比试验中,两种CACC方法皆展现出了协同式的优点,即车队系统中车辆对于运动趋势变化的反应较为一致。但是基于Q-Learning的方法较基于Deep Q-Learning的方法明显动作“生硬”,也能够表示基于Deep Q-Learning的CACC跟驰控制方法更加贴近在实际中应用。然而本文中基于Deep Q-Learning的CACC跟驰控制方法也存在缺点,车辆控制毕竟是一种连续控制问题,对状态和动作进行离散多少会产生误差,因此在接下来的工作中也会对基于连续控制的强化学习方法进行研究和学习。