Crowd-Robot Interaction 论文阅读

论文信息

题目:Crowd-Robot Interaction:Crowd-aware Robot Navigation with Attention-based Deep Reinforcement Learning
作者:Changan Chen, Y uejiang Liu
代码地址:https://github.com/vita-epfl/CrowdNav
来源:arXiv
时间:2019

Abstract

对于在拥挤空间中运行的机器人来说,以有效且符合社会规范的方式进行移动是一项重要但具有挑战性的任务。最近的工作显示了深度强化学习技术在学习社会合作政策方面的力量。然而,随着人群的增长,他们的合作能力会下降,因为他们通常将问题放松为单向人机交互问题。在这项工作中,我们希望超越一阶人机交互,并更明确地模拟人群与机器人交互(CRI)。

我们建议
(i)重新思考与自注意力机制的成对交互
(ii)在深度强化学习框架中联合建模人与机器人以及人与人的交互。我们的模型捕捉了密集人群中发生的人与人的互动,这间接影响了机器人的预期能力。

Introduction

遵守社交礼仪导航是一项具有挑战性的任务。

由于代理(例如人类)之间的通信并不广泛,因此机器人需要感知和预测人群的演变,这可能涉及复杂的相互作用(例如排斥/吸引)。轨迹预测方面的研究工作提出了几种手工或数据驱动的方法来模拟智能体之间的交互[12]-[15]。然而,将这些预测模型整合到决策过程中仍然具有挑战性。

作为替代方案,强化学习框架已用于训练计算高效的策略,这些策略隐式编码代理之间的交互和合作。尽管最近的工作[19]-[22]取得了重大进展,但现有模型仍然受到两个方面的限制:
i)人群的集体影响通常通过成对相互作用的简化聚合来建模,例如最大最小运算符[19]或LSTM[22],它们可能无法完全表示所有交互;
ii)大多数方法侧重于人类与机器人的单向交互,但忽略了可能间接影响机器人的人群内的交互。这些限制降低了复杂和拥挤场景中协作规划的性能
在这里插入图片描述

Background

Related Work

早期的工作主要利用精心设计的交互模型来增强机器人导航的社交意识。
一项开创性的工作是社会力[23]-[25],它已成功应用于模拟和现实环境中的自主机器人[26]-[28]。

另一种名为交互高斯过程(IGP)的方法将每个智能体的轨迹建模为单独的高斯过程,并提出一个交互势项来耦合单独的 GP 进行交互 [18]、[29]、[30]。在多智能体设置中,相同的策略应用于所有智能体,RVO [5] 和 ORCA [6] 等反应方法在相互假设下寻求联合避障速度。这些模型面临的主要挑战是它们严重依赖手工制作的功能,并且不能很好地泛化到各种人群合作的场景。

另一项工作使用模仿学习方法从期望行为的示范中学习政策。 [31]-[33] 中通过直接模仿专家演示来开发映射各种输入(例如深度图像、激光雷达测量和本地地图)以控制操作的导航策略。除了行为克隆之外,[10]、[11]、[34] 中还使用了逆强化学习,使用最大熵方法从人类数据中学习潜在的合作特征。这些工作中的学习成果高度依赖于示范的规模和质量,这不仅消耗资源,而且限制了人类努力学习的政策的质量。在我们的工作中,我们采用模仿学习的方法来热启动我们的模型训练。

强化学习(RL)方法在过去几年中得到了深入研究,并应用于各个领域,因为它开始在视频游戏中取得优异的性能[35]。在机器人导航领域,最近的工作已经使用强化学习从原始观察中学习静态和动态环境中的感觉运动策略[21]、[36],并利用代理级状态信息学习社会合作策略[19]、[20] ,[22]。为了处理不同数量的邻居,[19]中报告的方法通过最大最小操作从两个智能体适应多智能体情况,该操作针对人群的最坏情况采取最佳行动。后来的扩展使用 LSTM 模型按照与机器人的距离相反的顺序顺序处理每个邻居的状态 [22]。与这些简化相反,我们提出了一种新颖的神经网络模型来明确捕捉人群的集体影响。

Problem Formation

我们考虑一个导航任务,其中机器人穿过 n 个人的人群向目标移动。这可以表述为强化学习框架中的顺序决策问题[19]、[20]、[22]。
对于每个智能体(机器人或人类),位置 p = [ p x , p y ] p = [p_x, p_y] p=[px,py]、速度 v = [ v x , v y ] v = [v_x,v_y] v=[vx,vy] 和半径 r r r 可以被其他智能体观察到。机器人还知道其不可观察的状态,包括目标位置 p g p_g pg 和首选速度 v p r e f v_{pref} vpref 。我们假设机器人的速度 v t v_t vt 可以在动作命令 a t a_t at 之后立即达到,即 v t = a t v_t = a_t vt=at。令 s t s_t st 表示机器人的状态, w t = [ w t 1 , w t 2 , . . . , w t n ] w_t = [w^1_t ,w^2_t , . .. ,w^n_t] wt=[wt1,wt2,...,wtn]表示人类在时间 t t t的状态。机器人导航的关节状态定义为 s t j n = [ s t , w t ] s^{jn}_t = [s_t,w_t] stjn=[st,wt]
在这里插入图片描述

我们遵循[19]、[20]中定义的奖励函数的公式,该函数奖励任务成就,同时惩罚碰撞或不舒服的距离
在这里插入图片描述

Value Network Training

价值网络通过时差法、标准经验回放和固定目标网络技术进行训练[19],[35]。如算法 1 中所述,模型首先使用一组演示者经验(第 1-3 行)通过模仿学习进行初始化,然后根据交互经验进行细化(第 4-14 行)。与之前的工作[19]、[20]的一个区别是,第7行中的下一个状态S jn t+1是通过查询环境的真实值而不是用线性运动模型近似来获得的,从而减轻了系统动力学问题训练。在部署期间,转移概率可以通过轨迹预测模型[12]、[13]、[15]来近似。
在这里插入图片描述

为了有效地解决问题(1),价值网络模型需要准确逼近隐式编码智能体之间社会合作的最优价值函数V*。该轨道之前的工作并未完全模拟人群互动,这降低了人口稠密场景的价值估计的准确性。在以下部分中,我们将提出一种新颖的人群机器人交互模型,该模型可以有效地学习在拥挤的空间中导航。

Approach

当人类行走在人口稠密的场景中时,他们会通过预测附近邻居的行为来与他人合作,特别是那些可能参与未来某些互动的邻居。这促使我们设计一个模型,可以计算相对重要性并编码邻近代理的集体影响,以实现社交合规导航。受社交池[13]、[15]和注意力模型[14]、[44]-[48]的启发,我们引入了一个由三个模块组成的社交注意力网络:
• Interaction module:显式地建模人机交互,并通过粗粒度局部映射对人机交互进行编码。
• Pooling module:通过自注意力机制将交互聚合成固定长度的嵌入向量。
• Planning module:估计机器人与人群的关节状态对于社交导航的价值。

在这里插入图片描述

Parameterization

我们遵循[19]、[22]中以机器人为中心的参数化,其中机器人位于原点,x轴指向机器人的目标。机器人和行走人变换后的状态为:
在这里插入图片描述

Interaction Module

每个人都会对机器人产生影响,同时也会受到他/她的邻居的影响。对人类之间的所有交互对进行显式建模会导致 O(N2) 复杂性 [14],这对于在密集场景中扩展的策略来说在计算上是不可取的。我们通过引入一个成对交互模块来解决这个问题,该模块显式地模拟人机交互,同时使用局部地图作为人机交互的粗粒度表示。
在这里插入图片描述

给定大小为 L 的邻域,我们构造一个以每个人 i 为中心的 L × L × 3 地图张量 M i M_i Mi 来编码邻居的存在和速度,在图 3 中称为局部地图:
在这里插入图片描述
我们使用多层感知器(MLP)将人类 i 的状态和地图张量 M i M_i Mi 以及机器人的状态一起嵌入到固定长度的向量 e i e_i ei 中:
在这里插入图片描述
嵌入向量 e i e_i ei 被馈送到后续的 MLP 以获得机器人和人 i 之间的成对交互特征:
在这里插入图片描述
在这里插入图片描述

Pooling Module

由于不同场景中周围人群的数量可能会有很大差异,因此我们需要一个能够将任意数量的输入处理为固定大小的输出的模型。

Everett 等人 [22] 提出将所有人类的状态按照与机器人的距离降序依次输入 LSTM [49]。然而,最接近的邻居具有最强影响力的基本假设并不总是正确的。其他一些因素,例如速度和方向,对于正确估计邻居的重要性也至关重要,这反映了该邻居如何潜在地影响机器人的目标获取。利用自注意力机制的最新进展,其中序列中某个项目的注意力是通过查看序列中的其他项目来获得的[44]、[46]、[50],我们提出了一个社交注意力池模块以数据驱动的方式了解每个邻居的相对重要性以及人群的集体影响。

交互嵌入 e i e_i ei 转换为注意力分数 α i α_i αi 如下:
在这里插入图片描述
给定每个邻居 i 的成对交互向量 h i h_i hi 和相应的注意力分数 α i α_i αi,人群的最终表示是所有对的加权线性组合:
在这里插入图片描述

Planning Module

基于人群 c 的紧凑表示,我们构建了一个规划模块,用于估计合作规划的状态值 v:
在这里插入图片描述

Implementation Details

局部地图是一个以每个人为中心的 4 × 4 网格,每个网格的边长为 1m 。函数 ϕ e ( ⋅ ) 、 ψ h ( ⋅ ) 、 ψ α ( ⋅ ) 、 f v ( ⋅ ) \phi_e(·)、ψ_h(·)、ψ_α(·)、f_v(·) ϕe()ψh()ψα()fv() 的隐藏单元分别为 (150,100)、(100,50)、(100,100)、(150,100,100)。

我们在 PyTorch [51] 中实现了该策略,并使用 Adam [52] 以 100 的批量大小对其进行训练。对于模仿学习,我们使用 ORCA 收集了 3k 集演示,并以学习率 0.01 训练了策略 50 个时期。对于强化学习,学习率为0.001,折扣因子γ为0.9。 ε-贪婪策略的探索率在前 5k 集中从 0.5 线性衰减到 0.1,并在剩余 5k 集中保持 0.1。 RL 训练在 i7-8700 CPU 上花费了大约 10 个小时。

这项工作假设机器人具有完整的运动学,即它可以向任何方向移动。动作空间由 80 个离散动作组成:5 个速度在 (0, vpre f ] 之间呈指数分布,16 个方向在 [0, 2π) 之间均匀分布。

Experiments

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/78391.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ES新特性部分

文章目录 Symbol创建使用拓展对象的方法直接添加 控制对象控制类型检查控制是否展开 遍历迭代器自定义遍历 生成器函数(实现异步编程)解决回调地狱 Promise连续读文件 SetMap类静态属性继承ES5ES6 GET与SET 数值Object方法模块化导入另一种导入 babel ES…

2023华数杯数学建模竞赛选题建议

提示&#xff1a;DS C君认为的难度&#xff1a;C<B<A&#xff0c;开放度&#xff1a;B<A<C 。 A题&#xff1a;隔热材料的结构优化控制研究 A题是数模类赛事很常见的物理类赛题&#xff0c;需要学习不少相关知识。 其中第一问需要建立平纹织物整体热导率与单根纤…

力扣 -- 467. 环绕字符串中唯一的子字符串

一、题目 二、解题步骤 下面是用动态规划的思想解决这道题的过程&#xff0c;相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴。 三、参考代码 class Solution { public:int findSubstringInWraproundString(string s) {int ns.size();vector<int> dp(n,1);int re…

Android 刷新与显示

目录 屏幕显示原理&#xff1a; 显示刷新的过程 VSYNC机制具体实现 小结&#xff1a; 屏幕显示原理&#xff1a; 过程描述&#xff1a; 应用向系统服务申请buffer 系统服务返回一个buffer给应用 应用开始绘制&#xff0c;绘制完成就提交buffer&#xff0c;系统服务把buffer数据…

移动开发最佳实践:为 Android 和 iOS 构建成功应用的策略

您可以将本文作为指南&#xff0c;确保您的应用程序符合可行的最重要标准。请注意&#xff0c;这份清单远非详尽无遗&#xff1b;您可以加以利用&#xff0c;并添加一些自己的见解。 了解您的目标受众 要制作一个成功的应用程序&#xff0c;你需要了解你是为谁制作的。从创建…

接口自动化测试Mock Get和Post请求

Mock可以模拟一个http接口的后台响应&#xff0c;可以模拟request&#xff0c;response 下载 moco-runner-0.11.0-standalone.jar 下载链接: https://pan.baidu.com/s/1bmFzvJPRnDlQ-cmuJ_3iRg 提取码: kpjv 确保安装了jdk,cmd下可以运行java -version 一、模拟不带参的get请求…

AQL品质抽样标准

AQL抽样标准 - 百度文库 Acceptance Quality Limit 接收质量限的缩写&#xff0c;即当一个连续系列批被提交验收时&#xff0c;可允许的最差过程平均质量水平。 AQL普遍应用于各行业产品的质量检验&#xff0c;不同的AQL标准应用于不同物质的检验上。在AQL 抽样时&#xff0c;…

VUE框架:vue2转vue3全面细节总结(3)路由组件传参

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人_python人工智能视觉&#xff08;opencv&#xff09;从入门到实战,前端,微信小程序-CSDN博客 最新的uniapp毕业设计专栏也放在下方了&#xff1a; https://blog.csdn.net/lbcy…

idea添加翻译插件并配置有道翻译

1、安装Translation插件 2、 创建有道云应用 有道智云控制台 3、设置idea 4、效果&#xff08;选中文本右键翻译&#xff0c;默认快捷键CtrlShiftY&#xff09;

图文演示:如何三分钟极速搭建一个元宇宙3D虚拟展厅

引言&#xff1a; 元宇宙3D虚拟展厅时代已经来临。元宇宙是一个虚拟的、立体的数字空间&#xff0c;可以让用户沉浸在其中进行交互操作&#xff0c;并体验无限可能。如何快速搭建一个属于自己的虚拟展厅则受到越来越多人的关注。 一&#xff0e;虚拟展厅类型 1.党建展馆 实现…

Linux 匿名页的生命周期

目录 匿名页的生成 匿名页生成时的状态 do_anonymous_page缺页中断源码 从匿名页加入Inactive lru引出 一个非常重要内核patch 匿名页何时回收 本文以Linux5.9源码讲述 匿名页的生成 用户空间malloc/mmap(非映射文件时&#xff09;来分配内存&#xff0c;在内核空间发生…

前端笔记html-layer使用

layer.open方法 layer.open({type:2, //可传入的值有&#xff1a;0&#xff08;信息框&#xff0c;默认&#xff09;1&#xff08;页面层&#xff09;2&#xff08;iframe层&#xff09;3&#xff08;加载层&#xff09;4&#xff08;tips层&#xff09;title: title,content:[…

网络安全之原型链污染

目录&#xff1a; 目录&#xff1a; 一、概念 二、举例 三、 实操了解 总结 四、抛出原题&#xff0c;历年原题复现 第一题&#xff1a; 五、分析与原理 第二题&#xff1a; 八、分析与原理 九、具体操作&#xff0c;payload与结果 结果&#xff1a; 一、概念 Java…

《面试1v1》ElasticSearch基础

&#x1f345; 作者简介&#xff1a;王哥&#xff0c;CSDN2022博客总榜Top100&#x1f3c6;、博客专家&#x1f4aa; &#x1f345; 技术交流&#xff1a;定期更新Java硬核干货&#xff0c;不定期送书活动 &#x1f345; 王哥多年工作总结&#xff1a;Java学习路线总结&#xf…

阿里云快速部署开发环境 (Apache + Mysql8.0)

本文章的内容截取于云服务器管理控制台提供的安装步骤&#xff0c;再整合前人思路而成&#xff0c;文章末端会提供原文连接 ApacheMysql 8.0部署MySQL数据库&#xff08;Linux&#xff09;步骤一&#xff1a;安装MySQL步骤二&#xff1a;配置MySQL步骤三&#xff1a;远程访问My…

Redis压缩列表

区分一下 3.2之前 Redis中的List有两种编码格式 一个是LINKEDLIST 一个是ZIPLIST 这个ZIPLIST就是压缩列表 3.2之后来了一个QUICKLIST QUICKLIST是ZIPLIST和LINKEDLIST的结合体 也就是说Redis中没有ZIPLIST和LINKEDLIST了 然后在Redis5.0引入了LISTPACK用来替换QUiCKLIST中的…

vue整合脑图编辑管理系统-kitymind百度脑图

前言 项目为前端vue项目&#xff0c;把kitymind百度脑图整合到前端vue项目中&#xff0c;显示了脑图的绘制&#xff0c;编辑&#xff0c;到处为json&#xff0c;png&#xff0c;text等格式的功能 文章末尾有相关的代码链接&#xff0c;代码只包含前端项目&#xff0c;在原始的…

线性代数 | 机器学习数学基础

前言 线性代数&#xff08;linear algebra&#xff09;是关于向量空间和线性映射的一个数学分支。它包括对线、面和子空间的研究&#xff0c;同时也涉及到所有的向量空间的一般性质。 本文主要介绍机器学习中所用到的线性代数核心基础概念&#xff0c;供读者学习阶段查漏补缺…

Visual Studio 2022的MFC框架——应用程序向导

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天我们来重新审视一下Visual Studio 2022开发工具下的MFC框架知识。 MFC(Microsoft Foundation Class&#xff0c;微软基础类库&#xff09;是微软为了简化程序员的开发工作所开发的一套C类的集合&#xf…

roop 视频换脸

roop: one click face swap. 只用一张人脸图片&#xff0c;就能完成视频换脸。 项目地址&#xff1a; https://github.com/s0md3v/roopColab 部署&#xff1a; https://github.com/dream80/roop_colab 本文是本地部署的实践记录。 环境基础 OS: Ubuntu 22.04.2 LTSKernel: 5…