机器人操作规划——Deep Visual Foresight for Planning Robot Motion(2017 ICRA)

news2024/11/17 2:50:01

1 简介

model-based RL方法,预测Action对图像的变化,以push任务进行研究。

采用完全自监督的学习方式,不需要相机标定、3D模型、深度图像和物理仿真。

在这里插入图片描述

2 数据集

采用几百个物体10个7dof机械臂采集了包括5万个push attempts的数据集。

每个push有以下步骤:

  • 在bin的边缘上随机选择一个起始gripper位姿
  • 以5Hz频率循环迭代以下步骤episodes次:
    • 随机选择一个新的target gripper pose:末端的3D坐标和pitch、yaw旋转(roll固定)
    • 移动gripper到该pose
    • 机器人以10Hz记录当前gripper pose、target gripper pose、RGB图像

3 预测网络

预测模型输入:当前和上一个的图像、当前和上一个的gripper pose、未来的action序列(序列长度是超参数)

  • 使用图像和gripper pose对的原因是,允许模型估计物体的速度。

预测模型输出:在当前状态施加action后的图像(网络一次输出一张图像,将该输出图像再作为输入,循环输出多张图像)。

网络架构:以卷积LSTM为核心,masks指定了物体像素的当前位置,归一化卷积核mc提供了物体运动的相对位置权重,以此计算输出图像中每个像素的值与输入图像同位置像素周围边长为2K的区域内所有像素的关系权重flow map,基于该map与输入图像得到输出图像。(如果物体被其他物体压住,像素目标位置丢失,方法效果会如何?)

  • 网络详细介绍参考作者另一篇论文:Unsupervised Learning for Physical Interaction through Video Prediction

在这里插入图片描述

4 基于预测模型的视觉MPC

MPC:Model-Predictive Control

包括三部分:如何通过图像指定任务goal、验证action、使用MPC进行规划和重规划。

4.1 使用像素运动指定goals

通过指定图像中物体上的起始像素,及该像素的goal位置。

只能用于push这种平面操作任务。

4.2 使用隐式像素对流验证action

给定图像中一个起始像素点位置和一个目标像素点位置,计算经过H步action之后,网络预测的起始像素点运动后的位置是否与目标像素位置一致,如果一致,成功率为1,否则为0。

对于多个像素点,分别计算成功率并求和。

还需要采样Action序列,下一节介绍。

4.3 基于采样和深度模型的MPC

采用cross-entropy方法,在每个时间步t的短期horizon内进行优化。使用一个光流求解器来跟踪像素点的变化。

详细算法看论文:

在这里插入图片描述

5 实验

构建实验来回答两个问题:

  • 能否使用基于action的预测模型来操作训练中未见过的新物体?
  • 仅从原始像素上训练的模型能否对实际物体产生有意义的推理?

测试时, H = 3 H=3 H=3 T = 15 T=15 T=15,且在 H H H时间步内action保持不变,即每次采样的action序列其实是相同的H个action。

5.1 量化对比

对比了三个baselines:

  • 均匀采样action,随机移动
  • 移动gripper到目标像素位置(需要手眼标定)
  • 从当前像素位置移动到目标像素位置,随着像素位置变化进行重新规划,使用光流求解器跟踪像素位置变化(需要手眼标定)

结果如下图,没感觉本文方法比baseline3好多少

在这里插入图片描述

5.2 定性结果

测试方法能否进行复杂操作,需要推理物体旋转和重心。

该方法在机械臂挡住物体时会失败。

6 讨论和未来计划

作者任务提高预测模型的精度能有效提高操作任务的复杂程度,本人不敢苟同,不管预测精度高不高,基于图像的方法在本质上就不能用于3D复杂操作和克服遮挡情况。

7 方法缺陷

  1. 由于采用预测像素位置变化的方式操作物体,因此必须要求物体不能被遮挡(部分遮挡或完全遮挡),而且无法预测物体的3D运动。
  2. 通过采样和交叉熵的方式获取最优的Action序列,使得该方法无法处理无法的操作任务,因为那将使采样数量呈指数上升。
  3. 以图像为单一媒介,无法进行精确的物体操作。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【软件测试】测试工程师的等级划分(初/中/高/专家),你的晋升之路......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 新手(测…

linux下实现Nginx + consul + upsync 完成动态负载均衡

一、yum安装consul #安装yum-utils yum install -y yum-utils#配置consul的下载仓库 yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo#必须上面步骤,不然会找不到仓库 yum -y install consul#查看版本 consul -v 二、启动…

计算机SCI论文课题设计需要注意什么? - 易智编译EaseEditing

课题设计就要本着严谨性和可行性来进行。实验设计的类型要选择准确,统计学的方法要运用合理,研究对象和观察指标的选择也要符合研究目的的要求,技术路线要清晰明了。 关于课题的设计的可行性也要综合考虑,比如前期的相关工作基础…

一文详解Redis持久化的两种方案

一文详解Redis持久化的两种方案1.RDB持久化2.RDB持久化原理3.AOF持久化4.RDB VS AOF1.RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后&#xff0c…

分享107个HTML电子商务模板,总有一款适合您

分享107个HTML电子商务模板,总有一款适合您 107个HTML电子商务模板下载链接:https://pan.baidu.com/s/1VW67Wjso1BRpH7O3IlbZwg?pwd0d4s 提取码:0d4s Python采集代码下载链接:采集代码.zip - 蓝奏云 Aplustemplates 购物模板…

Redis之集群搭建

redis的集群模式简介: redis的集群模式中可以实现多个节点同时提供写操作,redis集群模式采用无中心结构,每个节点都保存数据,节点之间互相连接从而知道整个集群状态。 集群搭建步骤如下 (一台服务器模拟多台服务器) 1.创建6个配置…

关于使用CMT2300A FIFO缓存区间设置为64Byte的问题

首先请看,CMT2300A 是什么产品,或者说是 模组吗? 请看介绍: https://blog.csdn.net/sishuihuahua/article/details/105095994 以及RFPDK 的使用: 这博客,记录了 RFPDK 的使用,以及遇到的一些问题 我说一下&#…

Windows瘦身方法

一、快速删除系统盘临时文件方法, 1、winr打开运行对话框,输入%temp%命令,如图1 图1 2、打开temp文件夹,如图2,选择所有文件,鼠标右键删除或按Del键删除。 图2 二、磁盘清理 1、winr,输入cleanmgr&#x…

重生之我是赏金猎人-SRC漏洞挖掘(十二)-记一次对抗飞塔流量检测的文件上传

0x00 前言 https://github.com/J0o1ey/BountyHunterInChina 欢迎亲们点个star 0x01 起因 某项目靶标,是一个人员管理系统,通过webpack暴露的接口 我们成功找到了一个未鉴权的密码修改接口,通过fuzz 我们获取到了该接口的参数username与…

干了1年“点点点”,自己辞职了,下一步是继续干测试还是转开发?

最后后台有个粉丝向我吐槽,不知道怎么选择了....下面就他的情况说说怎么选择? 目前已经提桶跑路,在大工厂里混了半年初级低级功能测试经验,并没有什么用。测试培训班来的。从破山村贫困户贫困专项出去的,学校上海的。…

基于RK3588的嵌入式linux系统开发(二)——uboot源码移植及编译

由于官方的SDK占用空间较大(大约20GB左右),需要联系相关供应商提供,且官方的SDK通过各种脚本文件进行集成编译,难以理解系统开发的详细过程。本章介绍直接从官方Github网站下载源码进行移植,进行uboot移植及…

动态规划【Day02】

动态规划初探坐标型动态规划115 不同的路径 II序列型动态规划515 房屋染色划分型动态规划题目坐标型动态规划 115 不同的路径 II 题目链接 题目描述: “不同的路径” 的跟进问题: 有一个机器人位于一个 mn 网格左上角。 机器人每一时刻只能向下或…

分布式入门

目录 一、RPC 1.1 RPC调用流程 二、SOA 三、微服务 3.1.什么是微服务 3.2.微服务与微服务架构 1 )微服务架构 2) 微服务 3.3.微服务的优缺点 3.1 微服务的优点 3.2 微服务的缺点 四.微服务的技术栈有哪些 一、RPC RPC(Remote Pro…

Linux磁盘查看,使用(分区、格式化、挂载)

目录 0、观察磁盘分区状态:lsblk、blkid、parted 0.1 lsblk列出系统上的所有磁盘列表 0.2 blkid列出设备的UUID等参数 0.3 parted列出磁盘的分区表类型与分区信息 1、磁盘分区:gdisk、fdisk 1.1 fdisk 2、磁盘格式化(创建文件系统…

Redis高级:数据结构

动态字符串SDS Redis保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题: 获取字符串长度需要进行一个运算非二进制安全…

【Unity VR开发】结合VRTK4.0:其他类抓取

语录: 一个正确的认识,往往需要经过由物质到精神,由精神到物质,即由实践到认识,由认识到实践这样多次的反复,才能够完成。 前言: 前面我们简单的使用了Interactions.Interactable的抓取。今天…

Ant Design Chart词云图

什么是词云图?词云图,也叫文字云,是对网络文本中出现频率较高的“关键词”予以视觉上的突出,出现越多,显示的字体越大,越突出,这个关键词也就越重要。让浏览者通过词云图一眼就可以快速感知最突…

Java_Maven:3. 分模块构建工程

目录 1 需求 2 案例实现 2.1 maven-parent 父模块 2.1.1 创建父工程 2.1.2 定义 pom.xml 2.1.3 将父工程发布至仓库 2.2 ssm_dao 子模块 2.2.1 创建 dao 子模块 2.2.2 定义 pom.xml 2.2.3 dao 代码 2.2.4 配置文件 2.2.5 单元测试 2.2.6 把 dao 模块 install 到本…

MySQL的索引视图练习题

学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score)…

FDX-B|EMID格式低频RFID 读卡模块LD6900技术选型与说明

FDX-B|EMID格式低频RFID 读卡模块LD6900是华翔天诚推出一款基于 RFID 无线射频识别技术的低频(LF)读卡模块,工作频率支持 134.2KHZ、125KHZ,符合 ISO 11784/5 国际标准,支持对 FDX-B、EMID 两种协议格式电子标签的读取…