最新综述 | 强化学习中从仿真器到现实环境的迁移

©PaperWeekly 原创 · 作者|李文浩

学校|华东师范大学博士生

研究方向|强化学习

最近 survey 了一下 sim2real 领域最近的相关工作,先整理个第一版(共有七篇论文)的总结。

整篇总结分为以下四个部分:

  • 问题的定义以及工作的出发点

  • 方法的分类

  • 具体算法

  • 一个实例

问题的定义以及工作的出发点

sim2real 的全称是 simulation to reality,是强化学习的一个分支,同时也属于 transfer learning 的一种。主要解决的问题是机器人领域中,直接让机器人或者机械臂在现实环境中与环境进行交互、采样时,会出现以下两个比较严重的问题:

  • 采样效率太低(在用强化学习算法解决机器人相关问题时,所需要的样本量一般会达到上千万,在现实环境中采集如此数量级的样本要耗费几个月的时间)

  • 安全问题 (由于强化学习需要通过智能体在环境中进行大范围的随机采样来进行试错,因而在某些时刻其做出的行为可能会损伤机器人自身,例如手臂转动角度过大或者避障任务中由于碰撞造成的不可逆损伤等等;也可能会损害周围的环境甚至生物)

但是如果我们在模拟器中进行强化学习算法的训练,以上两个问题均可迎刃而解。但是,这里同样会存在一个问题,由于模拟器对于物理环境的建模都是存在误差的,因而在模拟环境中学习到的最优策略是否可以直接在现实环境中应用呢?

答案往往是否定的,我们把这个问题称为 “reality gap”。而 sim2real 的工作就是去尝试解决这个问题。

这里值得注意的一点是,虽然这个方向叫做 sim2real,其实其中的所有的算法都可以直接应用在 sim2sim,real2real 等的任务中。

方法的分类

sim2real 中的典型工作大致可以分为以下五类:

  • Domain Adaption 主要是通过学习一个模拟环境以及现实环境共同的状态到隐变量空间的映射,在模拟环境中,使用映射后的状态空间进行算法的训练;因而在迁移到现实环境中时,同样将状态映射到隐含空间后,就可以直接应用在模拟环境训练好的模型了。

  • Progressive Network 利用一类特殊的 Progressive Neural Network 来进行 sim2real。其主要思想类似于 cumulative learning,从简单任务逐步过渡到复杂任务(这里可以认为模拟器中的任务总是要比现实任务简单的)。

  • Inverse Dynamic Model 通过在现实环境中学习一个逆转移概率矩阵来直接在现实环境中应用模拟环境中训练好的模型。

  • Domain Randomization 对模拟环境中的视觉信息或者物理参数进行随机化,例如对于避障任务,智能体在一个墙壁颜色、地板颜色等等或者摩擦力、大气压强会随机变化的模拟环境中进行学习。

具体算法

这一部分将对以下六篇论文进行详细的说明:

[1] Towards Adapting Deep Visuomotor Representations from Simulated to Real Environments [arXiv 2015] Eric Tzeng, Coline Devin, Judy Hoffman, Chelsea Finn, Xingchao Peng, Sergey Levine, Kate Saenko, Trevor Darrell

[2] Learning Invariant Feature Spaces to Transfer Skills with Reinforcement Learning [arXiv 2017] Abhishek Gupta, Coline Devin, YuXuan Liu, Pieter Abbeel, Sergey Levine

[3] Sim-to-Real Robot Learning from Pixels with Progressive Nets [arXiv 2016]  Andrei A. Rusu Deepmind.

[4] Transfer from Simulation to Real World through Learning Deep Inverse Dynamics Model [arXiv 2016] Paul Christiano, Zain Shah, Igor Mordatch, Jonas Schneider, Trevor Blackwell, Joshua Tobin, Pieter Abbeel, and Wojciech Zaremba

[5] Sim-to-Real Transfer of Robotic Control with Dynamics Randomization [ICRA 2018] Xue Bin Peng, Marcin Andrychowicz, Wojciech Zaremba, and Pieter Abbeel

[6] Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World [IROS 2017] Josh Tobin, Rachel Fong, Alex Ray, Jonas Schneider, Wojciech Zaremba, Pieter Abbeel

3.1 GDA

论文标题:Towards Adapting Deep Visuomotor Representations from Simulated to Real Environments

论文链接:https://arxiv.org/abs/1511.07111

该论文属于 Domain Adaption 类别。

▲ 虚拟环境以及现实环境收集到的图像对比

如上图,本文的基本思想是,无论是在模拟环境还是在现实环境智能体收集的图像中,对于任务比较重要的便是一些可控制物体或者目标的位置。因而希望学到的隐含表示能够保留这部分物体的位置信息。

以上是针对图像局部信息的约束。而对于整体图像来说,本文希望模拟环境以及现实环境在这个公共的隐含表示空间中的隐含表示无法被一个二分类器所分辨出来。另外,对于一对图片,例如上图,本文希望这一对图片的隐含表示的欧氏距离能够尽可能接近。

根据以上三个约束,可以得到以下三个损失函数:

Pose Estimation Loss:

Domain Confusion Loss:

其中:

  • 7
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 将Turtlebot3从仿真环境移植到现实环境需要以下步骤: 1. 购买硬件:首先需要购买Turtlebot3机器人实体,包括底盘、传感器、电池等组件。同时还需要购买一台支持ROS的计算机(比如Raspberry Pi),用于控制Turtlebot3。 2. 安装ROS:在计算机上安装ROS,确保ROS和Turtlebot3的通信正常。 3. 编译代码:将Turtlebot3的代码编译为适合实际机器人运行的形式。 4. 部署代码:将编译好的代码部署到Turtlebot3上,确保机器人可以正常运行。 5. 调试:在实际环境,可能会遇到一些问题,需要进行调试。比如传感器数据异常、机器人无法移动等问题,需要逐一排查解决。 6. 测试:在实际环境,进行一些简单的测试,确保机器人可以按照预期的方式运行。 总体来说,将Turtlebot3从仿真环境移植到现实环境需要一定的技术和实践经验。需要有一定的ROS和机器人控制方面的知识储备,并且需要耐心地进行调试和测试,才能确保机器人在现实环境正常运行。 ### 回答2: 要将Turtlebot3从仿真环境移植到现实环境,需要以下步骤: 首先,需要准备一个实际的机器人平台,该平台应该具备移动底盘和传感器等硬件组件,以便Turtlebot3能够在现实环境运行。 其次,需要在机器人平台上安装ROS(机器人操作系统)和turtlebot3软件包。ROS是一个流行的开源框架,用于实现机器人控制和感知等功能。turtlebot3软件包是Turtlebot3机器人系列的软件支持,包含了控制、导航和感知等相关功能。 接下来,需要将在仿真环境开发的控制、导航和感知算法等移植到现实机器人平台上。这些算法可以使用ROS提供的节点(nodes)和消息(messages)进行实现和通信。通过与硬件的接口,将传感器数据输入到算法,并通过控制命令控制机器人的运动。 同时,还需要进行机器人的标定和校准工作。这涉及到传感器的精确度和准确度的调整,以确保机器人在现实环境的感知和控制能力能够达到预期的效果。 最后,需要进行实地测试和调试工作。通过连接到机器人的电脑,可以远程控制机器人,获取传感器数据并调整相应的参数。在测试过程,需要不断地改进和优化算法,直到达到预期的效果。 总之,将Turtlebot3从仿真环境移植到现实环境需要考虑硬件平台的支持、软件配置和移植、传感器的标定和校准,以及实地测试和调试等关键步骤。通过以上步骤的实施,我们可以在真实环境使用Turtlebot3进行各种任务和应用。 ### 回答3: 将TurtleBot3从仿真环境移植到现实世界,需要进行以下步骤: 首先,需要选取适合现实世界环境的硬件平台。TurtleBot3有多个版本可供选择,其包括Burger、Waffle和Waffle Pi。根据任务需求和机器人的功能,选择合适的硬件平台。 接下来,需要安装和配置机器人的硬件和软件。将所选的硬件组装到机器人上,并连接传感器、执行器等组件。然后,安装机器人操作系统(ROS)和相关软件包,以便进行远程控制和编程。 在硬件和软件配置完成之后,需要对机器人进行校准和调试。这可以包括校准机器人的传感器,例如摄像头、激光雷达和里程计,以确保其准确性和稳定性。同时,也需要对底盘进行调试,以确保机器人能够平稳地移动和导航。 完成校准和调试后,可以开始在现实世界环境测试和使用TurtleBot3。通过编写控制程序和路径规划算法,可以实现机器人的自主移动、避障和导航等功能。此外,还可以与其他设备和系统进行集成,例如人机交互界面或物联网设备。 最后,移植到现实世界后,需要确保机器人的安全性和稳定性。定期进行维护和保养,修复机器人可能出现的故障和损坏,确保其长期可靠地运行。 总结起来,将TurtleBot3从仿真移植到现实世界需要选择合适的硬件平台,安装和配置硬件和软件,进行校准和调试,并在现实环境测试和使用机器人。同时,还需要确保机器人的安全性和稳定性,以实现长期可靠的运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值