作者:小柠檬 | 来源:3DCV
添加微信:dddvision,备注:SLAM导航,拉你入群。文末附行业细分群
标题
:
Reinforcement Learned Distributed Multi-Robot Navigation with Reciprocal Velocity Obstacle Shaped Rewards
论文
:
https://arxiv.org/pdf/2203.10229.pdf
代码
:
https://github.com/hanruihua/rl_rvo_nav
1、导读
本文提出了一种基于深度强化学习的分布式多机器人导航方法,该方法利用回馈速度障碍(RVO)技术来解决碰撞避免问题。在各种复杂环境中,与状态最先进的方法和其他基于学习的方法相比,该方法在成功率、旅行时间和平均速度方面表现优越。
2、主要贡献
主要贡献包括:
-
用RVO和速度障碍(VO)向量分别表示静态和动态障碍物的交互环境状态;
-
开发了一个基于双向门控循环单元(BiGRU)的神经网络,它可以直接从不同数量的移动机器人状态映射到控制动作;
-
开发了一个基于RVO区域和预期碰撞时间的奖励函数,以鼓励机器人学习回馈碰撞避免行为。
3、系统概述
该部分主要介绍了系统的框架设置和问题陈述,具体内容如下:
-
系统框架:介绍了多机器人导航系统,其中包括一组差动驱动机器人,在共享的工作空间中导航。每个机器人都配备有限范围的传感器,能够感知周围的机器人,并根据传感器信息独立决策。系统利用RVO向量和VO向量来表示环境状态,并通过神经网络训练碰撞避免策略。同时,设计了基于RVO区域的奖励函数来评估状态和动作。
-
RVO和VO定义:对RVO和VO的几何定义进行了总结。RVO和VO都由一个六维向量表示,包含顶点、左射线方向和右射线方向。机器人选择一个不在RVO和VO区域内的速度,以实现碰撞避免。
图1.动态代理和静态线障碍的速度障碍物和倒数速度障碍物的图示
-
问题陈述:将多机器人碰撞避免问题定义为优化问题,目标是找到一系列最优速度,在避免碰撞的前提下,最小化旅行时间。为每个机器人定义了状态、观察和动作,并提出了一个受约束的优化问题,旨在在当前时间步找到最优的速度增量。同时,通过增加约束条件,确保在机器人速度、位置更新时满足避障要求。
-
观测空间和动作空间:观测空间包含自身观测和外部观测,动作空间为速度增量。通过将速度增量转换为过渡速度和旋转速度,实现对差动驱动机器人的控制。
4、强化学习框架
该部分主要阐述了所采用的强化学习框架,具体内容如下:
-
观察空间和动作空间:观察空间包含机器人自身的观测以及外部环境的观测。动作空间则定义为速度增量,通过叠加到当前速度上以控制机器人的运动。
-
神经网络架构:采用双向门控循环单元(BiGRU)来处理可变长度的输入序列。与单向的LSTM相比,BiGRU可以更准确地找到输入向量之间的关系。具体来说,外部观测按预期碰撞时间和距离顺序输入到BiGRU中,并产生两个隐藏状态,最终融合为一个固定长度的表示。此外,与自身观测拼接后,作为神经网络的输入。
图2.导航策略参与者和批评者提出的基于BiGRU的神经网络架构的图示
-
奖励函数:设计了基于RVO区域和预期碰撞时间的奖励函数。具体来说,当速度在RVO区域内时,根据预期碰撞时间对速度质量进行评估;当速度不在RVO区域内时,则根据速度与期望速度的差异来评估。该奖励函数鼓励机器人进行相互避障行为。
-
策略网络:策略网络包含策略行动者和策略评论家。策略行动者网络将观察映射到动作空间,输出速度增量的均值。策略评论家网络则评估每个状态-动作对的价值。
5、策略训练
-
策略训练算法:采用了流行的PPO算法来训练和更新多机器人碰撞避免策略。该算法首先初始化策略行动者和评论家的神经网络参数。
算法:策略训练算法
-
数据收集:在训练循环中,每个机器人使用策略行动者πθ进行T步时间步长的运行,并收集T步的观测、奖励和动作数据。
-
GAE计算:利用广义优势估计(GAE)来估计每个动作的优势,并计算T步的回报序列。随后,将数据存储在缓冲区,用于后续的策略更新。
-
策略更新:针对每个缓冲区数据,构建CLIP损失函数和评论家网络损失函数,并分别使用Adam优化器进行优化。为了控制模型更新速度,设置KL散度阈值。当KL散度超过阈值时,停止当前策略更新。
-
训练细节:策略网络在循环训练中逐步优化,以达到最优的碰撞避免效果。
6、实验结果
具体内容如下:
-
仿真设置
:在9m x 9m的圆环场景中训练碰撞避免策略,并在相同场景中继续训练10个机器人,用于实现基本功能。为了加快收敛,采用两阶段训练过程。
-
评价指标
:使用成功率、旅行时间和平均速度三个指标来评估策略性能。此外,还比较了单个控制动作的平均计算成本。
-
仿真实验
:在圆环和随机场景中,与其他三种策略(SARL、GA3C-CADRL和NH-ORCA)进行了比较。结果表明,随着机器人数量的增加,成功率、平均速度降低,旅行时间增加。但在密集情况下,该策略表现出较高的成功率和平均速度,以及较低的旅行时间。
-
Ablation实验
:通过替换RVO向量输入、BiGRU模块和奖励函数,比较了策略组件的功能。结果表明,RVO输入、BiGRU模块和基于RVO的奖励函数对策略性能至关重要。
-
真实实验
:在真实环境中使用4、6、8个Turtlebot机器人进行了实验。结果表明,该策略具有更好的成功率和旅行时间效率,以及比NH-ORCA更低的旅行时间。
表一:训练过程的超参数
表二:四种方法在不同数量机器人的循环和随机场景中的性能比较
表三:消融实验的结果
多机器人导航的模拟场景:(a)圆形场景,(b)随机场景,(c)走廊场景
圆场景中四种方法分别生成的轨迹图
比较每个机器人实现单一控制动作的平均计算成本
四种策略在模拟场景下三个指标的测试结果
综上所述,该部分详细阐述了仿真实验、Ablation实验和真实实验的设计和结果,证明了所提出方法在多机器人导航中的有效性。
7、总结
本文提出了一种基于强化学习的多机器人导航方法,利用RVO技术解决碰撞避免问题。该方法通过RVO表示动态和静态环境状态,采用BiGRU网络提取环境特征并映射到控制动作,以及设计基于RVO区域和预期碰撞时间的奖励函数来鼓励相互避障行为。在仿真和真实环境中进行的实验结果表明,该方法在密集环境中具有优越的碰撞避免能力和时间效率。未来工作将包括将该方法扩展到处理更多不确定性挑战,以解决更复杂的多机器人导航问题。
本文仅做学术分享,如有侵权,请联系删文。
3D视觉精品课程:
3dcver.com
3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、三维视觉C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪。
▲长按扫码学习3D视觉精品课程
3D视觉学习圈子
3D视觉从入门到精通知识星球
、国内成立最早、6000+成员交流学习。包括:
星球视频课程近20门(价值超6000)
、
项目对接
、
3D视觉学习路线总结
、
最新顶会论文&代码
、
3D视觉行业最新模组
、
3D视觉优质源码汇总
、
书籍推荐
、
编程基础&学习工具
、
实战项目&作业
、
求职招聘&面经&面试题
等等。欢迎加入3D视觉从入门到精通知识星球,一起学习进步。