[论文笔记]High-Speed Autonomous Drifting With Deep Reinforcement Learning
High-Speed Autonomous Drifting With Deep Reinforcement Learning
本文指出,在漂移任务中大多数传统方法均建立在汽车动力学运动方程的基础之上;我们所提出的该方法则采用了"soft actor-critic"架构;通过将漂移问题被表述为轨迹跟踪问题。
补充知识
actor-critic
强化学习中的算法通常由两部分组成:演员(Actor)负责生成动作并与环境交互;策略函数由Actor控制以生成动作,并与环境进行互动。同时,在这一过程中,Critic则用于评估演员的表现, 并通过价值函数指导其下一阶段的动作
soft actor-critic
- Actor-Critic架构(该框架利用两个神经网络分别近似策略函数与价值函数/Q函数)
- 采用离线策略(提升样本利用率)
- 通过最大化熵(熵)实现策略稳定性与探索性平衡
强化学习
on-policy
若交互/采样策略 和评估及改善的策略 是同一个策略,如Sarsa

在 Sarsa 的 T 步策略估计过程中,在每一步骤中都采用了基于当前第 T 步策略所应采取的T+1步动作,并且这些动作实际上等于该 T 步策略本身;因此属于 on-policy。
off-policy
若交互/采样策略 和评估及改善的策略 是不同的策略,如Q-learning
在 Q-learning 的 T 步策略评估过程中,在第 T+1 步采取了具有最高 Q 值的动作(action),这基于贪心原则是一种贪心(greedy)策略。然而,在实际应用中,在后续步骤中,并不一定总是选择该动作(action),从而形成了一个非策略型(off-policy)的学习机制
Model-based
在强化学习领域中所指的基于模型的方法并非是基于已知的环境模型或状态转移概率。相反地,则是从经验中建立一个环境模型或其他映射关系,并利用训练得到的模型加快策略优化的过程。这种方法特别适用于机器人等领域的应用
Model-free
Model-free 即是我们常说的 DQN、DDPG 和 PPO 这类 SOTA 算法。
它们之间的主要区别在于是否在策略迭代之外利用经验进行操作。
所有 Model-free 都是可以转换为 Model-based 的,
而 Model-based 实际上只是一个体系结构,
任何 Model-free 的算法都可以嵌入其中。
PILCO
PILCO包含三部分
**底层:**学习一个状态转移的概率动力学模型

**中层:**基于概率动力学模型框架,在策略 Π 下实施策略评估过程以实现对值函数 V 的数值模拟计算
**顶层:**利用基于梯度的方法对策略 Π 进行参数更新
DQN
DQN与常规的DQN学习都遵循基于值迭代的方法,在传统的DQN学习中当状态与动作空间均为离散且维度较低时可以通过构建Q-Table来存储每个状态-动作对对应的Q值;然而在状态与动作空间均为高维连续的情况下直接应用表格方法则面临巨大挑战
DDPG
简单来说就是 DQN + Actor-Critic
该方法采用了先前积累的DQN结构,并增强了Actor-Critic机制的稳定性与收敛性。为了体现其核心理念,每种神经网络都需相应地被细分。
Actor包含估计器和实体模块。其中用于生成实时动作指令的部分称为估计子系统,在实际场景中应用这些指令以指导操作流程。而用于更新价值模型的部分则构成实体子系统。- 从
Critic的角度来看,在其架构中同样存在两个功能模块:一个是真实路径模块(Real Path Module),另一个是估算路径模块(Estimated Path Module)。这两个模块都负责评估当前状态下各节点的价值系数。然而,在输入端有所不同:真实路径模块利用来自动作真实路径模块的动作信号与观测到的状态信息进行综合评估;同时,在状态预测模块中,则会基于当前Actor执行的行为指令来构建对系统行为模式的预测模型。
漂移的角度β由车头的方向和重心速度的方向的夹角决定,如下图

本文的主要工作 :
开发出了一种基于无模型的深度强化学习闭环控制系统,在80至128公里每小时的速度范围内运行,并且能够安全可靠地通过急弯。
针对多种环境配置(不同弯道形态和车辆性能参数/轮胎与路面的摩擦特性)进行了控制器评估,并展现出卓越的通用性能。
开源代码资源以及数据集集合
漂移的控制方法:
传统的技术手段;基于车辆动力学模型构建漂移控制器的系统,并包含单轨模型和三态单轨模型等多种形式。传统的技术依赖于轮胎特性与路面摩擦系数等因素,在实际运行环境中其复杂性使得精确获取这些关键参数的数据变得困难;因此,在参数精度不足的情况下必然会影响系统的控制效果。
②基于学习的方法中,[Cutler](M.Cutler and J.P.How,"Autonomous drifting using simulation-aided reinforcement learning,"in Proc.IEEE Int.Conf.Robot.Autom.,2016,pp.5442–5448.) 等人开发了基于模型的RL算法(PILCO),用于实现稳态漂移
该研究团队开发了一种融合模型预测控制(MPC)与神经网络的技术架构,在广度较大的道路曲线半径及较大偏移角范围内实现了车辆自主漂移功能;
而本文采用的是无模型深度RL算法SAC来训练闭环漂移控制器。
本文实验在CARLA 上进行,共7张地图。

Reward Shaping:

策略网络作为SAC中的actor,价值网络和Q网络作为Critic。
采用两个具有相同架构的Q网络以实现双重Q学习策略,并被单独训练从而显著提升在此任务中的训练效率

本文旨在通过对比分析来评估不同控制方法的效果,并分别采用DQN算法、深度Deterministic政策梯度算法以及改进型SAC-WOS算法(其中与标准SAC控制器相同的是采用了相同的控制策略,在改进型版本中则去除了动作平滑处理)来训练控制器。

本文采用7个指标来衡量不同方法的性能:
C.T.E.(cross track error) and H.A.E (heading angle error)
MAX-VEL and AVG-VEL (maximum and average velocity of a driving test)
L.T. (the lap time).
SMOS (measures the smoothness of driving)
SLIP (maximum slip angle during a driving test)
在测试的四种方法中均表现出色,并且在速度方面位居榜首。具体而言,在漂移过程中实现了最优的速度表现以及最大的滑移角(Maximum Roll Angle);此外,在结合WOS策略后(即SAC-WOS),系统能够实现最低程度的累积时间误差(C.T.E.)。值得注意的是,在单独使用SAC策略时(即传统的自适应控制),其独特的优势在于能够引导汽车以与人类驾驶相同的最佳转向角度完成转弯动作;相比之下,其他方法往往更倾向于沿着轨迹上的关键点进行跟踪操作而非全局优化。其平滑性特征尤为突出

该研究通过比较不同车辆模型采用相同的方法展示了 S\textsubscript{A}\textsuperscript{C} 方法表现出色。进一步验证发现 即使在无专家驾驶轨迹参考的情况下 S\textsubscript{A}\textsuperscript{C} 模型仍能与 S\textsubscript{A}\textsuperscript{C} 控制器达到可比性 上表 S\textsubscript{A}\textsuperscript{P}\textsubscript{P} 表现优异
Jk0P3rKz-1638881626033)]
此外,在实验中对比了不同车辆模型采用相同方法的情况下,并且进一步验证了该SAC方法展现出较强的泛化性能。同时,在没有专家驾驶轨迹参考的条件下对SAC模型进行了性能评估,并发现其表现依然能够与SAC控制器相媲美(如表 S-APP)。
思考:本文对强化学习的一些方法在自动驾驶领域进行了比较研究,特别针对那些涉及急弯以及利用漂移等高难度动作以提高驾驶效率的问题进行了深入研究。尤其是在高原等具有挑战性的驾驶场景中,可借鉴文中所采用的SAC算法以解决类似的复杂问题。
