强化学习在仿真模拟环境中取得了较大成功,但在真实世界的实际系统中缺乏安全保证,无法有效的进行探索。针对传统深度强化学习在运动体训练过程中缺乏安全保证的问题,本文结合深度确定性策略梯度算法及控制障碍函数算法在事后经验回放的样本采样机制下提出了一种控制器的体系结构,无模型强化学习控制器在控制障碍函数的约束下进行在线学习,以确保学习过程中的安全性,同时为了解决奖励稀疏问题,引入了事后经验回放算法,对中间状态也给予奖励。最后通过一个一阶积分器模型的避障任务验证了算法的可行性与有效性。

1 问题描述

系统描述

本文研究的运动体运动学方程为:

其中 为位置, 为速度。 是控制输入。控制运动体的 方向的速度以 到达目标区域。具体的任务场景如图 1-1 所示:

定义为所有障碍物的位置集合。以单位向量 表示测量方向, 障碍物测量模 型为:

其中 , 构造控制障碍函数:

结合二次规划 (1.4), 将控制障碍函数做为约束条件, 进行求解:

其中 为强化学习的策略输出动作, 在不断的探索过程中, 以滤波器的形势保证 系统的安全。

目标到达任务系统状态

(1)状态空间 : 状态空间 为智能体自身状态和环境信息的集合。在该任务中设状态 空间 由运动体所在位置坐标 、目标所在位置坐标 、无人机与目标之间的 欧氏距离 、传感器范围内无人机与障碍物的欧氏距离 和无人机的速度 组成, 并对数 据进行归一化:

(2)目标区域(Goals): 目标描述了目标的期望位置, 具有一定固定的容差, 也就是 在这个公式中, 是物体在状态 中的位置。 是区 域的半径。

(3)奖赏(Rewards): 奖赏是二进制值, 即稀疏奖赏, 通过 其 中 是机器人在状态 下执行动作 后的状态。

(4)观察(Observations):观察矢量包含小车的绝对位置、物体与目标之间的相对位置、 物体与障碍之间的相对位置。给出了四轮小车的位置、速度、方向以及所有障碍物的位置。

(5)动作(Actions): 二维动作空间: 方向的运动速度。

2 控制障碍函数

障碍函数最先用于优化问题, 它是一种制约类函数, 亦称内惩罚函数。在数学领域约 束优化中, 障碍函数是一个连续函数, 通过更容易处理的目标函数中的惩罚项来代替不等 式约束, 其中点的值随着点到达优化问题的可行区域的边界而增加到无穷大。控制障碍函 数与障碍函数的作用类似, 也是从优化问题的约束入手, 对目标函数形成区域性惩罚, 保 证目标点一直处于可行域之内。不同的是控制障碍函数与李雅普诺夫函数形式类似, 满足 李雅普诺夫函数的相关理论。本节介绍了控制障碍函数的形式, 并将控制避障函数的理论 与二次规划问题结合, 体现出了在仿射系统下二次规划与控制障碍函数的真正用处。

控制障碍函数的形式

考虑一个非线性系统的形式:

其中 是局部李普希茨的, 对于任何初始条件 , 存在一个最 大的时间间隔 使 在该时间间隔内是(1)唯一的解; 在 是前向完备的时 候, 。对于 而言, 当初始 在集合 中, 其他任何时刻的状态 都在 中, 即对于所有的 , 那么该关于状态的集 被称为(前向) 不变集.

给定一个闭集 , 确定函数条件满足: , 这样 是前向不变的, 有了这些条件, 进行障碍函数的构造:

假设集合 定义如下:

其中, 是一个连续的微分方程, 我们假设 是非空的, 并且没有孤立的点, 即

受优化中障碍函数对数形式的启发, 我们考虑如下形式的对数障碍函数:

此满足以下性质:

上述问题变成了对 施加约束以保证 的前向不变性, 传统的约束 是严格 , 但这个条件过于严格, 不利于规划问题的求解, 将条件放宽至:

其中 为正, 这个不等式允许玄在解远离 的边界时增长。当解接近边界时, 增长率减 小到零。

为了保证 的可行性, 下面进行理论验证:

根据(2.4)对 进行求导:

结合公式 得到 相对于 的变化速率:

假设非线性系统的解 是正向完备的, 我们由比较引理 得出:

因此, 如果 , 对于所有的 , 即对于所有 的 。意味着在条件(2.6)下轨迹将会始终处于安全集合。

除了上述倒数障碍函数, 优化中还经常使用的是倒数形式(inverse-type)障碍函数:

根据比较引理得到:

同理可以知道, 对于所有的 , 也就是对于所有的 。意味着轨迹将会始终处于安全集合内。

基于二次规划的障碍函数避障算法

在实际系统中, 大多数对象动力学方程都可通过欧拉-拉格朗日方程建模成仿射形式, 那么考虑运动体可以用一个非线性仿射模型进行描述:

其中, 是局部李普希茨的, 是局部李普希茨的, 其中 可以表示为一个凸多面体形式:

其中 是一个 矩阵, 是一个 行向量, 是一个正整数。

定义障碍函数:

其中, 是局部李普希茨的, 类函数。

定义如下关于控制输入 的集合:

可以得到, 当 时, 将会保证集合 的前向不变性, 意味着运动体的轨迹始终处于安全区域内。

下面进行避障场景下的障碍函数构造, 图 2-1 为运动体与障碍物相对位置示意图:

图 2-1 运动体与障碍物相对位置示意图

假设运动体速度文是有界的:

假设 代表运动体的位置, 代表障碍物位置信息, 通过位置信息构造障碍函数:

障碍函数是小车的位置 与障碍物的位置是 之间的距离, 同时考虑障碍物及小车的 膨胀半径 , 得到障碍函数

引入不变集描述安全性:

当障碍函数 满足如下关系:

其中, . 类函数。在这个条件下保证了由运动体位置 构成的集合 的前 向不变性, 保证了运动体的安全。

根据期望条件与(2.20)约束条件进行二次规划算法 (QP) 的组合, 将运动体安全问题 转换成二次规划求解问题:

其中 是任意的平滑成本函数, 可根据控制输入 的期望权重进行选择。

3 强化学习算法

在强化学习领域, 按照输入数据类型可以分为基于值函数的强化学习方法和基于策略 梯度的强化学习方法。基于值函数的强化学习方法是一种面向离散控制的算法, 也就是说 输出的动作是离散的, 不是连续的。在本文中, 需要控制为运动的小车, 小车电机转动输 出是连续值, 也就是在一个范围内任意取值。即使把每一个输出离散化, 对于四个电机的 小车环境, 是一个十分庞大的动作空间, 已经无法用于正常训练; 而且如果想进一步提升 这个精度, 那么最终取值的数量就会成倍增加。而策略梯度方法是一种学习连续的行为控 制策略的方法, 通过将策略参数化, 训练得到一个最优策略, 直接输出具体的动作值。因 此本文最终采用基于策略梯度优化的深度强化学习方法为基线算法, 而后与事后经验回放 算法、控制障碍函数算法分别进行组合对比。

深度确定性策略梯度算法

深度确定性策略梯度 (Deep Deterministic Policy Gradient) 方法, 是结合了深度学习和 确定性策略梯度方法的一种算法; 该方法是使用了强化学习中经典的 Actor-Critic 框架, 并 借鉴了 的两种技巧:经验回放和固定 网络; 是一种 的扩展算法。其框架如 图 3-1 所示:

图 3-1 深度确定性策略梯度算法框图

DQN 方法是 Deep network 和 Q-learning 相结合的一种方法, 其算法动作价值函数的更 新公式为:

从公式可以看出, 由于 函数智能处理离散型问题, 导致该方法不 能处理连续性控制的问题。DQN 由 Q-learning函数发展而来, 其使用神经网络解决了 learning不能解决连续连续状态空间的问题; 而 DDPG 方法则使用神经网络来替代 , 解决了 不能解决连续控制型问题。 DeepMind 的 D.Silver 等在 2014 年提出 DPG 算法, 该算法每一步的行为通过函数直接 获得确定的值: 其原理图如图 3-2 所示:

图 3-2 DPG 原理图

给定状态 , 策略网络输出一个动作 , 然后价值网络会给 打一个分数: 。参数 影响 , 从而影响 。分数 可以反映出 的好坏程度。训练策略网 络的目标就是改进参数 , 使 变得更大。

如果当前状态是 , 那么价值网络的打分就是 , 我们期望打分尽量高, 那么就定义目标函数为:

用梯度上升算法来增大 。每次用随机变量 的一个观测值(记作 ) 来计算梯度:

它是 的无偏估计。 叫做确定策略梯度(deterministic policy gradient)。

通过链式法则 得到:

其中 , 得到更新策略网络参数 的公式:

对于价值网络, 就是期望价值网络给出的 预测越来越接近真实价值函数 。首先让价值网络做预测:

利用时序差分计算损失值, 损失函数为:

其中 , 计算梯度:

得到价值网络的参数更新公式:

这样通过不断的交替更新价值网络与策略网络即可求出最优策略。

随后, DeepMind 又在 2016 年提出 DDPG 算法,全称是深度确定性策略梯度 (Deep Deterministic Policy Gradient), 是将深度学习神经网络融合进 DPG 的策略学习方法。其原 理图如图 3-3 所示:

图 3-3 DDPG 原理图

其中 Critic 网络的作用是估计 值, 其输入为动作值和状态值, 网络的 loss 采用 TDerror; Actor 网络的作用是输出一个动作 , 使这个动作在输入到 Critic 网络后, 能够获得 最大的 值。以往的实践证明, 如果只使用单个 “ 神经网络” 的算法, 学习过程很不稳 定, 为解决此问题, DDPG 分别为策略网络、 网络各创建两个神经网络拷贝, 一个叫做 online, 一个叫做 target。

事后经验回放算法

在稀疏奖励环境[21]下的高效学习是深度强化学习(DRL)的一个重要挑战。一个常见的 挑战, 特别是对于机器人来说, 是需要设计一个奖赏函数功能, 它不仅反映了当前的任务, 而且还需要正确地指导智能体优化策略[22]。奖赏函数的设计限制了 RL 在现实世界中的适 用性, 因为它既需要 RL 的专业知识, 也需要特定领域的知识。此外, 在不知道什么是可 接受的行为的情况下, 它也不适用。因此, 开发能够从非定性奖赏信号(如表明任务成功完 成的二进制信号)中学习的算法具有很大的实用意义。与当前强化学习智能体不同的是, 人 类拥有的一种能力是, 可以从不期望的结果和期望的结果中学到几乎一样多的东西。想象 一下, 你正在学习如何打曲棍球, 并试图将冰球射入网中。你击中了冰球, 但它没有在右 侧入网。强化学习智能体在这种情况下得出的结论是如果在执行的一系列动作后不能成功 入网, 那么智能体将认为该过程无法学习到有用的知识。

事后经验回放技术则不需要任何领域来设计奖赏函数。在稀疏奖励的环境中, 如果智 能体观测序列 且目标任务 , 则智能体在该回合内的每一步的奖 赏都为-1。HER 的思想是用一个不同的目标重新检查这条轨迹一虽然这条轨迹可能不会帮 助智能体学习如何实现目标任务 , 但该轨迹在回放时肯定会告诉智能体学习一些如何实 现状态 的信息。这些信息可以通过使用非策略 RL 算法和经验回放来获取, HER 技术将 经验池中的 替换为 。智能体在经验回放时采样一个额外子目标 的集合来代替期望 目标任务 , 并重新计算奖赏, 然后形成转移样本 放入经验池中。因 此, 即使智能体没有实现目标任务 , 智能体也可以学习到关于实现虚拟目标任务 的信 息。在 HER 中, 采样虚拟目标任务 的方式如下:

(1) Final-从与环境最终的状态对应的目标中采样虚拟目标 ;

(2) Future-从同一个回合的末来时间步中采样虚拟目标 g';

(3) Episode-从同一个回合中随机采样虚拟目标 g';

(4) Random-在整个训练过程中采样虚拟目标

事后经验回放(HER)技术通过使用已实现的目标 ag 代替期望目标 , 形成虚拟目标 。 使智能体在稀疏奖励环境中, 增强了探索。即使在没有成功的情况下, 智能体也可以得到 一些信息, HER 算法的伪代码如表 3-2 所示。

表 3-2 事后经验回放伪代码

基于 CBF 补偿的强化学习安全控制

强化学习 的重点是寻找一个的最优得策略, 以获得最大化的长期回报。它通过反 复观察智能体的状态、采取行动, 并获得奖励来反复优化策略以获得最佳策略。该方法已 成功应用于连续控制任务, 其中多次策略迭代得策略已学会稳定复杂机器人。然而, 由于 专注于最大化长期奖励, 它很可能在学习过程中探索不安全的行为。这个特性是有问题 的尤其对于将部署在硬件上的 RL 算法, 因为不安全的学习策略可能会损坏硬件或给人类 带来伤害。本文是将现有的无模型 RL 算法(DDPG)与控制障碍函数 集成, 在稀疏 奖励下完成运动体的安全控制, 提高学习过程中的探索效率。

由于控制障碍函数具有强约束性的特点, 将强化学习策略探索过程中的动作输出作为 标称控制器的输出, 即控制障碍函数的输入, 以保证探索过程中的实时安全, 其与环境交 互的原如图 3-4:

图 3-4 基于 补偿的强化学习安全控制框图

运动体执行的动作为:

在无模型强化学习的策略探索中, 给出了一个动作, 试图优化长期奖励, 但可 能是不安全的。 控制器 过滤掉强化学习动作中不安全的行为, 并提供最 小的控制干预, 以确保总体控制器 , 同时使系统状态保持在安全集内。

控制器的输出 由以下公式在每个时间步长进行一次规划求解得出:

其中 是对输出的限幅, 在实际控制对象中, 执行器的动作 空间有限, 将动作界限做为二次规划的约束条件, 其输出结果就是在界限内的安全动作, 保证运动体的安全。

4 仿真实验

为了验证基于强化学习与控制障碍函数的运动体安全控制算法的有效性, 采用高保真 仿真平台 Pybullet 进行环境的搭建与算法的运行。这里我们选用了麦克纳姆四轮小车做为 控制对象,因其轮子带有多个小辊子可实现车体的全向移动,在理论公式中可将其视为一 阶积分器 , 满足控制障碍函数与五模型强化学习的控制对象要求, 下面进行实验的 设计与算法实现。

首先我们对小车的运动学进行建模分析。运动学分析以 长方形的安装方式为例, 如 图 4-1, 四个轮子的着地点形成一个矩形。正运动学模型将得到一系列公式, 让我们可以 通过四个轮子的速度, 计算出底盘的运动状态; 而逆运动学模型得到的公式则是可以根据 底盘的运动状态解算出四个轮子的速度。

图 4-1 O-长方形式麦克纳姆轮布局三维模型图

底盘的运动可以分解为平动速度 和旋转速度 , 其中平动速度可以分解为 轴平动、 轴平动, 因此可以用三个运动变量表示, 且这三个变量之间相互独立。 表示底盘沿 轴运动的速度, 正方向为右; 表示底盘沿 轴运动的速度, 即前后方向, 正方向为前; 表示底盘绕 yaw 轴自转的角速度, 正方向为逆时针方向。同时规定轮子轴心的运动速度 矢量为 ; 根据轮子轴心的速度 , 可以分解出沿辊子方向 和垂直于辊子方向的速度 , 速度分解示意图如图 4-2 所示(这里参考古月居博客34385)

图 4-2 底盘速度分解示意图 由速度向量的分解得到轮子的转速为:

那么四个轮子的各自速度为:

根据运动体的速度与轮子的转速关系, 控制麦克纳姆小车完成动作的执行。同时根据 模型的仿真参数表 4.1 , 在 pybullet 环境下进行四轮小车的搭建。

表 4. 1 四轮小车仿真模型参数表

参数 说明 数值
m 四轮小车总质量 3.8kg
g 重力加速度 9.8m/s2
dx 质心在机体坐标系 x 轴位置 0.055m
dy 质心在机体坐标系 y 轴位置 0.055m
dz 质心在机体坐标系 z 轴位置 0m
Jcx 小车绕惯性主轴 x 的转动惯量 0.05851kg·m2
Jcy 小车绕惯性主轴 y 的转动惯量 0.05851kg·m2
Jcz 小车绕惯性主轴 z 的转动惯量 0.1053kg·m2

为了验证强化安全控制算法, 最终搭建实验环境如图 4-3, 采取了一个身避障碍(图 中紫色正方体) 到达目标 (图中绿色圆形区域) 的实验任务, 运动体 (四轮小车) 需要绕 过紫色障碍, 安全到达绿色区域即可获得相应奖励。同时为了验证本文的算法, 分别以连 续奖励下的深度确定性策略梯度算法, 稀疏奖励下的深度确定性策略梯度结合事后经验回 放算法及稀疏奖励下的深度确定性策略梯度结合事后经验回放算法与控制障碍函数算法三 个算法进行对比实验。

图 4-3 避障仿真实验环境图

在目标到达任务中:

(1)状态(States):状态包括四轮小车的位置、速度、方向以及所有障碍物的位置。

(2)目标(Goals):目标描述了目标的期望位置, 具有一定固定的容差, 也就是 , 在这个公式中, 是物体在状态 中的位置。

(3)奖赏(Rewards): 奖赏是二进制值, 即稀疏奖赏, 通过 其 中 是机器人在状态 下执行动作 后的状态。

(4)观察(Observations): 观察矢量包含小车的绝对位置、物体与目标之间的相对位置、 物体与障碍之间的相对位置。给出了四轮小车的位置、速度、方向以及所有障碍物的位置。

(5)动作(Actions): 二维动作空间: 方向的运动速度。

在对比实验中, 使用原始的 DDPG算法作为基准算法, 本文提出的算法为 DDPG 。对比在训练期间 DDPG、DDPG 三种算法在 机器人避障环境中的成功率表现。为了保证对比实验的一致性, 三种算法中的超参数设置 大部分是相同的, 这样的设置保证了对比的公平性, 保证了对比实验的统一性和有效性。 具体说明如下:

异策略强化学习算法使用的是 DDPG, 该算法是行动者-评论家网络结构, 该结构有两 个 网络, 一个单独的评论家网络。所有的网络有两个隐藏层, 其大小是 256 , 激活函数 是 relu。使用 3 层全连接层。在 学习和策略更新中使用的学习率为 0.001 。使用 Adam 优 化器训练网络, 学习率为 , 训练批次大小是 256 。事后经验的回放策略为末来策略 (future)。使用百度飞桨 (PaddlePaddle) 深度学习框架进行训练, 在 16GB 内存, 8 核心 i77700 处理器, Tesla V100 显卡的 Linux 的系统下进行训练, 训练轮数为 600 , 单个算法的运 行时间大约为 16 小时, 最终得到图 4-4 三组训练过程中算法测试成功率曲线图。

image-20230610182503495

由图4-4可以看出:

(1)深度确定性策略梯度算法在避障任务环境中并不收敛,成功率一种为0。说明在没有事后经验回放(HER)的机制下算法很难探索到目标区域,经验池中有限的目标点不足以支持算法的计算收敛。

(2)在三个算法中DDPG+HER+CBF相比于DDPG+HER收敛速度更快,成功率更高,说明本文提出的强化学习与控制障碍函数结合的算法相比于传统的强化学习算法性能有了较大提升。

实验效果视频请查看: https://live.csdn.net/v/224968

5 参考文献

[1] Sutton R S, Barto A G. Reinforcement learning: An introduction [M]. MIT press, 1998.

[2] Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks [J].science, 2006, 313(5786): 504-7.

[3] Deng L, Yu D. Deep learning: methods and applications [J]. Foundations and trends® in signal processing, 2014, 7(3–4): 197-387.

[4] Bengio Y, LeCun Y. Scaling learning algorithms towards AI [J]. Large-scale kernel machines, 2007, 34(5): 1-41..

[5] Lange S, Riedmiller M. Deep auto-encoder neural networks in reinforcement learning; proceedings of the The 2010 international joint conference on neural networks (IJCNN), F, 2010 [C]. IEEE.

[6] Lange S, Riedmiller M, Voigtländer A. Autonomous reinforcement learning on raw visual input data in a real world application; proceedings of the The 2012 international joint conference on neural networks (IJCNN), F, 2012 [C]. IEEE.

[7] Mnih V, Kavukcuoglu K, Silver D, et al. Playing atari with deep reinforcement learning [J]. arXiv preprint arXiv:13125602, 2013.

[8] Silver D, Huang A, Maddison C J, et al. Mastering the game of Go with deep neural networks and tree search [J]. nature, 2016, 529(7587): 484-9.

[9] Berner C, Brockman G, Chan B, et al. Dota 2 with large scale deep reinforcement learning [J]. arXiv preprint arXiv:191206680, 2019.

[10] Vinyals O, Babuschkin I, Czarnecki W M, et al. Grandmaster level in StarCraft II using multi-agent reinforcement learning [J]. Nature, 2019, 575(7782): 350-4.

[11] Tai L, Liu M. Towards cognitive exploration through deep reinforcement learning for mobile robots [J]. arXiv preprint arXiv:161001733, 2016.

[12] Tai L, Paolo G, Liu M. Virtual-to-real deep reinforcement learning: Continuous control of mobile robots for mapless navigation; proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), F, 2017 [C]. IEEE.

[13] Gaskett C. Reinforcement learning under circumstances beyond its control, F, 2003 [C].

[14] Gillula J H, Tomlin C J. Guaranteed safe online learning via reachability: tracking a ground target using a quadrotor; proceedings of the 2012 IEEE International Conference on Robotics and Automation, F, 2012 [C]. IEEE.

[15] He C R, Jin I G, Orosz G. Data-based fuel-economy optimization of connected automated trucks in traffic; proceedings of the 2018 Annual American Control Conference (ACC), F, 2018 [C]. IEEE.

[16] Koller T, Berkenkamp F, Turchetta M, et al. Learning-based model predictive control for safe exploration; proceedings of the 2018 IEEE conference on decision and control (CDC), F, 2018 [C]. IEEE.

[17] Silver D, Lever G, Heess N, et al. Deterministic policy gradient algorithms; proceedings of the International conference on machine learning, F, 2014 [C]. PMLR.

[18] Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous control with deep reinforcement learning [J]. arXiv preprint arXiv:150902971, 2015.

[19] Prajna S, Jadbabaie A, Pappas G J. A framework for worst-case and stochastic safety verification using barrier certificates [J]. IEEE Transactions on Automatic Control, 2007, 52(8): 1415-28.

[20] Khalil H K. Nonlinear systems third edition [J]. Patience Hall, 2002, 115.

[21] 杨惟轶,白辰甲,蔡超,赵英男,刘鹏.深度强化学习中稀疏奖励问题研究综述[J].计算机科学,2020,47(03):182-191

[22] Ng A Y, Harada D, Russell S. Policy invariance under reward transformations: Theory and application to reward shaping; proceedings of the Icml, F, 1999 [C].