DRL-VO Learning to Navigate Through Crowded Dynamic Scenes Using Velocity Obstacles

一、知识点

  1. 强化学习(Reinforcement Learning, RL)与深度强化学习(Deep Reinforcement Learning, DRL)

    • 强化学习是一种机器学习范式,其中智能体(agent)通过与环境交互来学习行为策略,以最大化累积奖励。
    • 深度强化学习结合了深度学习与强化学习,使用深度神经网络来近似策略或价值函数,从而能够处理高维状态空间和复杂任务。
  2. 激光雷达(Lidar)数据处理

    • 激光雷达是一种通过发射激光并测量反射时间来获取周围环境三维信息的传感器。
    • 在本论文中,激光雷达数据被用于构建观测空间,通过预处理步骤(如下采样、投影到占用网格地图、池化等)来提取有用的特征。
  3. 速度障碍(Velocity Obstacles, VO)

    • 速度障碍是一种用于避免碰撞的方法,它定义了一个速度空间,其中任何速度都会导致智能体与障碍物发生碰撞。
    • 本论文扩展了速度障碍的概念,将其应用于奖励函数中,以指导智能体在避免碰撞的同时向目标移动。
  4. 观测空间(Observation Space)与行动空间(Action Space)

    • 观测空间包含了智能体从环境中获取的所有信息,用于决策。
    • 行动空间定义了智能体可以采取的所有可能行动。
  5. 数据池化

    • 数据池化是机器学习中的一种技术,用于减少数据的维度或特征的数量。
    • 常用的方法包括最小值池化和平均值池化。
  6. 零阶碰撞避免与一阶碰撞避免

    • 零阶碰撞避免通常指的是基于距离的碰撞避免方法,它只考虑机器人与障碍物之间的距离,而不考虑障碍物的运动状态。这种方法通常会导致机器人采取被动的碰撞避免行为,即只有当机器人接近障碍物到一定程度时才会采取避让措施。文档中提到,零阶碰撞避免项通常用于DRL(深度强化学习)基础的导航策略中,它包括一个基于距离的碰撞避免项和一个目标达成项,分别指导机器人避免碰撞和到达目标。然而,这种零阶碰撞避免项迫使机器人只能被动地避免碰撞,而不是主动采取避让行动。
    • 一阶碰撞避免则考虑了障碍物的运动状态,特别是速度信息。通过使用速度障碍(Velocity Obstacles, VO)来创建一阶碰撞避免项,可以引导机器人选择当前和未来都是安全的动作。这种方法允许机器人主动地避免碰撞,而不是仅仅在碰撞即将发生时才做出反应。文档中提到,使用速度障碍作为奖励项可以指导机器人采取安全的行为,并且在实验中显示,这种一阶主动奖励函数极大地提高了机器人导航的安全性和速度。

二、方法

  1. 观测数据提取与处理

    • 从原始激光雷达数据中提取观测数据,包括使用不同的预处理操作(如重塑、投影到占用网格地图、池化等)。
    • 结合当前附近行人的运动学信息,以及一个短暂的激光雷达数据历史,构建输入到神经网络的观测空间。
  2. 网络架构

    • 使用深度神经网络作为控制策略,网络架构允许灵活设计,能够融合来自不同输入源的中间表示。
    • 网络输出智能体的行动概率,用于指导智能体的导航行为。
  3. 奖励函数设计

    • 奖励函数是强化学习中的关键组成部分,用于指导智能体的学习行为。
    • 本论文设计了一个包含多个奖励项的奖励函数,包括到达目标的奖励、避免碰撞的奖励、以及保持朝向目标方向的奖励。
    • 特别地,扩展了速度障碍的概念,将其应用于奖励函数中,以指导智能体在避免碰撞的同时高效地向目标移动。
  4. 深度强化学习算法

    • 采用深度强化学习算法来训练控制策略,使智能体能够在模拟环境中通过试错学习最佳导航行为。
    • 算法通过最大化累积奖励来优化策略,使其能够在复杂的动态环境中自主导航。

三、工作

1. 观察空间

使用了三种类型的数据作为观察空间:激光雷达数据、行人动力学数据和子目标点。这些数据通过最大绝对值缩放转换为(-1,1)的浮点形式,从而能够被导航策略有效利用。

  1. 激光雷达数据:激光雷达数据用于提供环境的基本结构信息。为了编码这些信息,DRL-VO策略首先对激光雷达数据进行最小值和平均池化处理,以压缩数据并减少过拟合的风险。这些处理后的数据被堆叠成一个80x80的数组,形成一个历史地图,该地图反映了过去0.5秒(经检验训练效果最佳)内的环境变化。这种表示方法使得导航策略能够更好地理解周围环境,并做出适应性的决策。

  2. 行人动力学数据:行人动力学数据对于在密集人群中导航至关重要。DRL-VO策略通过检测RGB-D相机数据中的对象、测量其位置并使用多假设跟踪(MHT)算法来融合这些信息,从而获取关于行人运动状态的关键数据。这些数据被编码为与激光雷达数据相兼容的格式,并一起输入到导航策略中。这种表示方法使得导航策略能够区分静态障碍物和动态行人,并根据行人的运动状态来调整其导航行为。

  3. 子目标点:子目标点。这种方法允许机器人在复杂的非凸环境中穿越长路径,并避免了由于到子目标的距离不断变化而产生的标准化问题。选择子目标点gt时,使用了纯追踪算法(pure pursuit algorithm),该算法计算出机器人前方指定距离(本例中为2米)的路径点。通过调整这个距离,机器人可以看得更远或更近。文档中还提到,这种子目标信息将使机器人更准确地导航到最终目标位置。
    子目标算法
    接收参数:子目标方向角度(θg)、来自多假设跟踪(MHT)的行人数据(Bpeds)、机器人的线性速度(vAx)和采样数量(N)。
    输出:最优方向角度(θd)
    算法的主要步骤如下:

  4. 初始化最优方向角度为π/2(即90度)。

  5. 如果没有行人数据(Bpeds为空),则直接设置最优方向角度为子目标方向角度(θg)。

  6. 如果有行人数据,算法将进行N次采样,每次从-π到π(即-180度到180度)的范围内随机选择一个方向角度(θu)。

  7. 对于每个采样的方向角度,算法会计算机器人与每个行人的相对角度(θvA,B)。

  8. 如果机器人与行人之间的相对角度在子目标方向角度的一定范围内(θ − β到θ + β),则认为该方向不安全,需要继续寻找其他方向。

  9. 如果找到一个安全的方向角度(即没有行人在这个方向上),算法会比较这个方向与子目标方向的差异,选择两者中差异最小的方向作为最优方向。

  10. 如果所有方向都被行人占据,则最终方向设置为子目标方向。

2.动作空间

动作空间由两个部分组成:前进速度(vx_t)和旋转速度(ωz_t),这两者都是在局部机器人坐标系中定义的。使用连续动作空间意味着机器人的动作可以是无限多的,而不是离散的几种选择。这样的设计旨在提供更精确的控制。
为了确保动作空间符合实际硬件的限制,作者们设定了前进速度和旋转速度的具体范围。前进速度的范围是[0, 0.5] m/s,旋转速度的范围是to [−2, 2] rad/s秒,这些限制是基于他们使用的硬件平台Turtlebot2的性能和限制,而非模型输入限制。此外,为了标准化处理,动作空间被归一化到了[-1, 1]区间内,这是通过最大绝对值缩放(Max-Abs scaling)实现的。

3. 奖励函数
  1. 达到目标:系统在达到目标位置时会收到奖励。如果目标位置的预测与实际目标位置之间的距离小于某个阈值,系统会得到一个较高的奖励;如果超出了设定的最大时间,会根据路径上的位置差异来计算奖励;否则,没有奖励。
  2. 被动碰撞避免:系统在避免与障碍物碰撞时会得到奖励。如果预测的障碍物位置与实际障碍物位置之间的距离小于一个安全距离,系统会得到一个负奖励(即惩罚);如果预测位置与障碍物的距离在安全距离以上,则没有奖励。
  3. 路径平滑性:系统在保持路径平滑时也会获得奖励。如果机器人的旋转速度超过了某个阈值,系统会得到一个负奖励;如果没有超过,则没有奖励。
  4. 主动朝向控制:系统在朝向控制上也会得到奖励。如果实际朝向与期望朝向之间的偏差小于设定的最大允许偏差,则系统会得到奖励。

3. 训练方法

他们使用了稳定基线(stable-baselines)3框架来实现PPO算法,使用了Adam优化器,在训练过程中使用了步长衰减作为学习率计划,初始学习率为10^-3,并将小批量大小设置为512。训练控制策略时,他们使用了带有34个行人的Lobby环境,并让机器人反复从地图的自由空间内的随机起点到达随机目标位置。

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2023-2025 John Doe
  • Visitors: | Views:

请我喝杯茶吧~

支付宝
微信