摘要
行为决策模块作为无人驾驶汽车的大脑,占有重要地位。近年来,强化学习逐渐被引入该领域,并取得了一系列成果,但仍存在场景遍历广度不足、泛化性、无法实现数据驱动、短视性等问题,本文通过设计分层行为决策框架、合理设计智能体观测空间、迁移应用BCQ(Batch-Constrained Deep Q-learning)算法、设计混合动作空间等方法来解决这些问题。 本文主要工作如下: (1)为解决场景遍历广度不足的问题,设计分层行为决策框架,将基于规则和基于学习的两种行为决策系统进行结合。在顶层,本论文考虑城市中的四种典型场景,采用基于规则的有限状态机实现各场景间的切换,使系统具有良好的可扩展性,能够遍历足够丰富的场景。在底层,为每个场景训练一个智能体,使用强化学习实现对指定场景的深度遍历,以提高决策精度。无人车在城市环境中行驶时,首先用有限状态机确定汽车所处的场景,然后选择相应的智能体进行决策。 (2)为解决从仿真环境到真实环境的泛化性问题,本文将高层次的语义信息作为智能体的输入,同时针对不同场景,分析智能体输入的差异,为各个场景下的智能体研究设计合理有效的观测空间。为引导智能体训练,本文以安全性、遵守交通规则、任务完成度和乘坐舒适性为原则研究设计奖励函数。本文使用近端策略优化算法训练智能体,之后对其进行测试。总体来说,在所有场景中,无人车的完成率在90%以上,碰撞率在5%以下。 (3)为解决数据驱动问题,本文将离线强化学习领域的BCQ算法应用到无人驾驶行为决策任务中,首先通过训练采集者采集大量的行驶数据构成数据集,然后BCQ算法利用此数据集训练新智能体。对比采集者和BCQ新智能体,无论是获得的奖励还是碰撞率、完成率,BCQ新智能体都实现了提高,实现了行为决策领域的数据驱动。 (4)为解决短视性问题,受Lattice算法的启发,为智能体设计一种混合动作空间,决策时将智能体输出的期望到达的路径点和到达该点时的期望速度作为一种长时间的决策,之后由纯追踪算法控制车辆到达该点并满足速度要求,完成长时间决策的执行。强化学习仍是一种黑盒模型,为保证足够的安全性,本文研究设计了安全控制器,切实避免碰撞的发生。通过与其他算法的对比,验证了算法的有效性。 本文提出了一种基于强化学习的分层行为决策框架,并设计了两种不同的动作空间,解决了强化学习在无人驾驶领域存在的场景遍历广度不足等问题,经仿真实验验证,提出的算法能够实现无人车的安全行驶。通过迁移应用BCQ算法实现了行为决策领域的数据驱动,大大提高了数据的利用效率。