type
status
date
slug
summary
tags
category
icon
password
传统的两种方式:使用遥操作或者使用人类活动的视频
遥操作对硬件和操作者的专业性有极高的要求,而人类活动的视频与机器人运动差异很大
使用爪子的方式可以提供很多动作,但是机器人只能学习其中的一部分(比如简单的抓握等)
不充分的可视化内容,摄像头太近了(in hand摄像头)——信息不足,通过鱼眼和侧视镜解决
动作不准确,采用单目运动结构算法(单目自然就没办法准确了),会限制任务的精度。
延迟问题,在训练的过程中由于是手持的,所以没有延时,但是在推理动作的时候,就会出现各种各样的延时——实时性不够,在进行更加复杂的动作的时候,就体现的更明显
学习策略表示的问题(感觉就是学长说的最终的策略用什么形式的文件?)——感觉是后面模型选择的问题?
最后的解决方式是增加可视化的信息,然后探索出了一个合适的策略接口
好处是让我们在任何环境下都可以描述动作并保留了人类动作到机器人策略的可转移性
数据集工作流
传统的BC受限于高延时和使用者的直觉
UMI消除了在数据收集过程中对物理机器人的要求(使数据集可以更通用?),并且提供了一套更可移植的接口
UMI可以将训练过的策略进行泛化,适应更多的环境
可以带着UMI爪到任何一个环境中开始数据收集。也就是便携性
能力更强,可以有学习更多的动作
数据集更充分(鱼眼和侧边镜),但是包含的与特定具身相关的信息又要足够少以便进行移植
二次开发的能力
下面就是如何设计实现上面的这些目标的
 
 

这里是说UMI的外部显示出来的接口的策略。

可以理解为是硬件层面上的设计
 
论文里面说了没有外部的静态摄像头,我们还是选择使用了外部的静态摄像头对吗
 
移植性是怎么实现的?我觉得数据集很难不跟机械臂本身的姿态有关吧。
?我怎么感觉直接把机械爪拿下来然后我手动操作就行了。这样也不会遮挡到in hand摄像头?
 
UMI用了SLAM以及IMU
 
是否需要外部摄像头?
 
使用了鱼眼摄像头之后就可以聚焦于目标本身,而不会过多的收到背景信息的限制;而矫正过后的图像会存在失真(目标分辨率不如直接使用鱼眼摄像头图像本身)
 
数据怎么获取?直接传视频?
 
数字反射是什么?如何实现论文中说的裁剪镜子中的图像,然后进行数字反射?总不能人为手动去做吧
ORB SLAM是什么?看论文感觉像是摄像头和IMU的互补滤波,论文中举的例子是从上向下看桌子,这个时候视觉特征会消失,但是IMU能感知到当前的状态
 
二元夹爪可能就是说他只有两种状态,一种是抓,一种是不抓。换一种说法就是夹爪间距只有两种取值;但是连续夹爪就是可以随意调整夹爪间距,而不是简单的二元取值
 
这里说的串联弹性末端执行器原理,实际上就是在说是在执行器和负载(也就是机器人和被抓的东西之间)之间加上了一个弹性元件(如弹簧,在UMI中是夹爪软指),进而实现对力度的精准控制。这样就能实现抛等动作了。
 
这里说的基于运动学的数据过滤说的是通过简单的运动学方法过滤掉一些无用的数据(不符合运动学规律的数据)
 
难点,可能需要学一下运动学的知识?我并不知道UMI的代码是否是开源的,还是说需要我们自己去编写。
 
需要的设备可能就是一个GoPro,3D打印一下夹具,还有两个镜子
 

这里说的是UMI模型策略接口的设计

也可以理解为是模型软件层面的设计
RGB图像就是红绿蓝三色图像。这里我们的模型应该做到的是,在当前夹爪的状态的基础上,根据图像,输出夹爪的次态,然后根据次态进行进一步的控制
UMI的模型训练出来的结果不希望过多的受到硬件平台的影响,这个就与延时有关,而延时又与所使用的系统有关。
夹具只是在进行模型的训练
不太明白这里的一句话,什么叫做“夹爪捕获的所有的信息流相对于图像观测而言都不存在延迟”?(这竟然是通过外部设备解决的,也就是GoPro和IMU)
 
 
模型的输出应该是什么格式?这个问题感觉比较重要,因为UMI的很重要的一个目的就是让训练出来的模型能够在不同的机器人平台上使用,那我觉得最起码在输出的层面上不应该出现差异,也就是使用一种统一、通用的格式,就是需要可推广(可推广到不同的地方去)
 
在这里说到在实际的应用过程中,可能还是会存在观测时延(就是视频信息和其他的传感器信息吧,就是夹爪的观测值)和动作时延(机器人控制所需要的时延)上的差异,这样就会导致控制有问题(一般而言动作时延比较小,那当摄像头观测到了一个状态,并计算出了次态之后,动作相应之后,由于观测时延比较长,就会导致观测值没有发生变化,传递的控制信息仍然不变,但是实际上当前夹爪的状态已经发生变化了)
在观测延迟中,各种数据流的观测延迟也是不一样的,为了让这些数据流匹配(也就是说传递来的一组观测数据必须是同一时刻的数据),那很自然的做法就是短板效应,将所有的数据流都向延迟最高的对齐
我不太明白为什么要对RGB进行下采样,可能这里意思是下采样减少数据量,但是频率又不能太低,因为太低的话精度就不够了(也就是文章中提到的“需要”的意思)
然后根据RGB图像的采样频率对其他数据流进行线性插值(两段的采样点相加除以2?),这样就实现了采样的同步
 
一个小问题,在双臂系统中为什么两个摄像头帧的最大偏差是1/60s?
动作延时是通过提前发送指令来完成的,假设延时时间为1,比如说我期望在t+1时刻使机械臂达到姿态m,那么我就需要在t时刻发送该指令,经过延时之后恰好在t+1时刻达到目标姿态。相当于就是每次在预测出后面的动作之后,就舍弃掉前面几个动作,这是因为延时的存在,这些动作已经没有意义了(这个会不会是那个视频抖动的原因?每次采样之后的动作由于可能需要截断一部分,导致连续型被破坏)
 
采用相对坐标来描述EE的姿态能够避免依赖于实体的绝对坐标
增量应该是会存在误差的积累的,但是如果按照绝对坐标的话,就不会这样了,因为每次都会给出一个绝对的坐标
感觉这里的处理方式跟四轴是一样的,实际上就是在使用旋转矩阵(也就是SE(3)变换)来记录姿态。文章中也是说,将从某一时刻开始的姿态序列,记录为一系列的SE(3)变换。
相对轨迹更适合获取速度信息,因为速度信息需要通过两个绝对轨迹之间的差值(也就是位移,或者说相对轨迹)得到。
我不太明白为什么使用相对轨迹就不需要对系统进行校准了——文章中所说的校准可能是在说不用对夹爪的绝对坐标进行校准。如果使用绝对坐标的话很自然就跟基座的位置有关了,因为通常情况下会选择基座作为绝对坐标
如果使用绝对坐标系的话,对数据采集的难度就比较大,因为不同的绝对坐标系,得到的数据集可能是不一样的
首先需要知道在双臂操作的时候,两个夹爪之间的相对位置是很重要的,尤其是当仅仅通过两个摄像头无法确定两个夹爪的相对位置的时候(也就是文章中所说的重叠区域较小),那么如何去获取相对位置呢?如果没有办法通过摄像头直接得到的话,就只能通过绝对坐标得到了(也就是文章中说的先建图后定位),因为如果仅仅靠两个夹爪的各自运动的相对坐标是无法准确得到两个夹爪之间的相对坐标的
 
UMI做的更好自然就是数据效率更高吧
 
能力实验不考虑泛化,因此训练环境应该和测试环境相同(不相同的话就涉及到泛化能力了),只不过初始状态不同,这就会导致机械臂运动的复杂度不同,以检测机械臂是否能完成不同难度的任务。
 
对目标物体的不确定(也就是矫正后的图像的不清晰),会导致模型变得不必要的多模态(就是有多种策略)——强调使用鱼眼的重要性
 
这里在测试的过程中还提到了相对运动的必要性,就是SLAM与机器人基准坐标系之间校准不准确,就导致动作选择的效果不好。——强调使用相对坐标的重要性
 
侧视镜的效果
 
动态投掷中主要是关注延迟匹配的问题。如果关闭延匹配的话,就会导致数据采集不同步,进而导致抖动
 
双手叠布中主要是关注双手相对位置的重要性,最后策略也是,先根据双手的相对位置来将双手定位到抓取位置,然后再实现同步抓取
 
如何实现数字反射?
 
视觉编码器是什么?
 
CLIP预训练的ViT-L/14是什么?
 
泛化实验主要关注于UMI收集“野外”数据的能力,这样能更好的实现模型的泛化,说明收集多样化数据的重要性
 
第七个部分主要就是说UMI采集数据很简单吧(也就是这里说的数据收集吞吐量高)
 
遥操作不太好做出准确的投掷动作(就是使用遥操作其实没办法控制力度的,但是投掷是需要力度和动作协调起来才能成功的)
 
这里说的SLAM跟踪系统的准确性,应该就是最终动作差异的问题?也就是预期姿态和实际姿态的差异
 
如何过滤掉无效的数据?因为在使用夹爪的时候,人是很自由的;但是在训练出来模型之后,可能还是需要根据实际的机器人过滤掉不符合其该机器人运动学的数据
 
什么叫可以从有效但硬件不可行的行动中“转移技能”?意思是在某种程度上硬件不可行的动作,采用其他的方式来处理,以使这个原来无效的数据对应到更多的技能上?比如说当机械臂够不到东西的时候,如果机器人可以移动的话,这些超出机械臂范围的数据就不会被丢弃,而被转换为机器人移动的技能?
 
SLAM对环境的纹理有要求,给我的感觉是,SLAM是根据环境纹理定位物体在环境中的位置的,这就导致使用SLAM可能没办法在纯白的墙壁上实现跟踪
 
最后就是让夹具更轻便并且自由度更高,更像人类的手
 
延迟测量怎么做?
 
先是数据采集的延时,然后是采集了这些数据到机器人做出反应(所以可以使用ping进行测量,因为ping的时延的一半实际上就是做出机器人做出响应的时间,所以也是使用策略被接受的时间戳来作为被减数的)的延时(这个就是本体延时),然后做出反应到最终到达目标状态之间,无论是
 
机器人指令是怎么发送的?是通过网络吗?(应该是网络吧,之前老师有说使用的是CAN口)是通过网络的话那我觉得用ping指令来测试本体延时是合理的。
 
夹爪延时测量方式中提到的交叉卷积最优对齐是什么?
 
策略应该是指用于指导机器人动作的东西,或者换句话说就是,模型的输出
 
这里说的GoPro时间校准中提到了1/60,这应该就是前面说的双臂情况下,相邻帧之间的最大时间差值
 
夹爪校准在每次数据采集之前都最好做一下
 
因为SLAM需要环境纹理才能确定位置,因此最开始的建图就比较重要
 
从原始视频转换为数据集需要上传云端执行脚本
 
文章中提到很难去判断是否是成功的,因为可能判断是否成功带有主观因素
 
所以我觉得需要同步一下成功的判断标准?(我觉得一步一步来好一点)
复现的时候可以参考文章中提到的判断标准
 
原始SLAM需要依赖环境,但是UMI可能会改变环境,导致定位不是很精准。原始的SLAM会保留原始地图,并认为其不再变化;修改之后就是,SLAM保留的地图将被作为地图更新优化的基准
 
SLAM在户外或者重复图案较多的情况下表现不佳,采取的策略应该是通过人为增加基准标记,然后修改SLAM让其能够有选择性的去利用这些标记,以便区分环境(比如区分摄像头捕捉到的不同的树木等等)
 
 
可以稍微了解一下SLAM
 
可以稍微了解一下扩散策略
 
可以使用预训练的CLIP ViT
 
注意策略输出的频率
 
还得对视频有不同的处理,调整视频的参数等等(比如饱和度、亮度等等),这样能够提高策略的泛化能力(这是很自然的,因为训练数据集更加多样了)
 
我觉得首先得先知道SLAM的作用吧,SLAM一般用来构建Map,然后在Map中得到目标的姿态(平移加旋转)。附录中说的SLAM的建图应该是说,在重新回到现有的建图之后再进行SLAM操作然后更新视图

Fast UMI

P1

它采用解耦的硬件设计,并结合了广泛的机械修改,消除了对专用机器人组件的依赖,同时保持了一致的观察视角。2) 它还通过用现成的跟踪模块替换复杂的视觉惯性里程计 (VIO) 实现来改进算法管道,在保持准确性的同时显著降低部署复杂性。3) FastUMI 包括一个生态系统,用于数据收集、验证以及与已建立和新开发的模仿学习算法的集成,从而加速策略学习的进步。此外,我们还开源了一个高质量的数据集,其中包含超过 10,000 个真实世界的演示轨迹,跨越 22 项日常任务,形成了迄今为止最多样化的类似 UMI 的数据集之一。实验结果证实, FastUMI 有助于快速部署,降低运营成本和劳动力需求,并在各种作场景中保持稳健的性能,从而推进可扩展的数据驱动机器人学习。
目前的方法大致可分为
  • 基于远程操作的技术:费力、昂贵,并且受到非直观和特定于任务的人到机器人映射挑战的限制(遥操作)
  • 视觉驱动的演示:缺乏对政策学习至关重要的丰富、细粒度的交互动态(直接用视频?)
  • 传感器增强界面:直接捕获与机器人的机载传感模式紧密一致的各种多模态信号(RGB、IMU等等),保持保真度和精度,同时使人类演示数据能够无缝传输到机器人框架中。此外,这些接口可以以较低的成本制造和部署,从而有助于在实际条件下更快、更高质量地收集数据(UMI夹爪)。在此过程中,他们缩小了人类演示和自主机器人执行之间的差距(无法区分主体是人还是机器人),从而实现了快速和高质量的数据收集。
UMI传感器增强接口的限制:
  • 它与特定机器人组件(例如 Weiss WSG-50 夹持器)的紧密耦合限制了适应性,并增加了经济和物流负担。将 UMI 集成到不同的机器人平台中,不仅需要特定的夹具和相关硬件,还需要大量的工作,包括机械重新设计、传感器重新校准和代码参数修改。这些调整会带来大量的人力开销,并且缺乏通用性,最终阻碍了在不同部署环境和应用程序上下文中的广泛采用——硬件耦合,需要特定的硬件,还需要校准
  • 第二个限制来自软件框架,特别是对基于 GoPro 的 VIO(视觉惯性里程计)管道与开源 SLAM 算法的依赖 [7]。通过实验评估,我们观察到 UMI 系统在涉及长时间闭塞的任务中遇到困难,例如长时间、前后动作依赖的作业。因此,当视觉信号间歇性丢失时,UMI 软件配置难以保持稳健运行,从而降低数据质量并降低其对后续学习任务的效用。此外,VIO 过程对参数化很敏感,需要复杂的校准程序和多个坐标转换。这些因素共同增加了运营复杂性,阻碍了可重现性,并破坏整个框架的用户友好性——软件耦合,原来的UMI软件架构性能不高,而且处理过程比较复杂,,没办法重现
Fast UMI的重新设计:
  • 硬件解耦
  • 通过软件驱动的即插即用功能提高效率。我们的软件堆栈强调即时可用性,需要最少的配置和用户培训。这种设计选择有助于快速收集数据,并显著降低操作复杂性。此外,它会自动适应不断发展的硬件配置,确保当前和未来机器人平台的长期兼容性和可靠性。
  • 建立强大的生态系统以确保数据质量和算法兼容性。我们的生态系统旨在通过提供基本数据类型,如末端执行器轨迹和联合轨迹,来支持各种模仿学习算法(例如,Action Chunking with Transformers (ACT) [49] 和扩散策略 (DP) [9])。此外,我们还提供用于快速数据验证的工具,以确保收集的数据集始终满足提高作能力所需的质量标准。
FastUMI 支持生成两种不同类型的数据集(末端效应器轨迹和联合轨迹),以符合不同算法的特定输入要求。具体来说,该框架包含两类突出的模仿学习算法 — ACT 和 DP。

P2

硬件中心的原型设计
硬件设计
三维解耦
  • 物理解耦:标准化接口和模块化组件支持跨一系列机器人平台无缝集成,无需进行大量特定于硬件的修改。
  • 视觉一致性:手持式和机器人安装配置之间的相机视角一致,确保在一种设置中采集的数据可以轻松传输到另一种设置,而无需进行大量重新校准。这种一致性使人工演示的数据可以直接应用于机器人执行。
  • 操作独立性:该系统包含独立的跟踪和传感模块,减少了对外部计算框架的依赖,并确保了在各种部署场景中的稳健性能。
手持设备
  • 鱼眼摄像头模块(2):捕获广角图像,可以有效地捕捉更多的环境背景并增强视觉特征提取,从而提高策略学习结果。
  • 姿态跟踪模块(1):消除了原版UMI复杂的校准步骤并增强了可用性。另外这个还是可以替换的,也就是文章中说的
    • Moreover,our system is robust to different camera models, allowing smooth integration of alternative sensors without major modifications to the existing pipeline
      文章中举的例子是可以 RoboBaton MINI 替换 T265
  • 顶盖、指尖和标记 (3)(4)(5):在原始 UMI 设计中,顶盖经常出现在 GoPro 的视野中,从而防止硬件完全解耦。为了解决这一限制,我们将 GoPro 重新定位到更靠近指尖的位置,并确保顶盖保持在鱼眼镜头范围之外。虽然将相机移近指尖自然会带来更大的图像失真,但我们通过优化标记的大小和位置来应对这一挑战。这些改进最大限度地减少了镜头失真效应,提高了标记检测的准确性,并增强了耐用性和易于安装。这种重新设计提高了系统的灵活性和可靠性。
机器人安装设备
  • 法兰盘:为了减少安装时间
  • 插入式的指尖:可以适应不同的夹持器形状,提升了手持式夹爪和不同机器人之间的兼容性
  • 可调节摄像机安装结构(6)(7)(8):模块化延伸臂有助于将 GoPro 与夹持器的指尖精确对齐,确保不同机器人设置的视点一致。即使夹持器的大小或形状差异很大。可插入的指尖扩展进一步确保在异构硬件配置之间保持一致的视点。
    • 💡
      这里有一个视觉对齐原则:为了确保手持设备和机器人安装设备之间的视觉一致性,我们采用了一个简单的规则:“GoPro 的鱼眼镜头图像的底部与夹持器指尖的底部对齐”,如图 3 所示。此标准视点可确保所有用户捕获几乎相同的观测结果,从而增强不同部署之间的互作性。尽管可以定义替代标准,但偏离这种一致性会降低共享数据集对更广泛应用的效用。如果夹持器尺寸不同,我们的可调节机械设计可适应精细的机械臂调整,以保持视觉对齐。在实践中,手持设备采用固定的摄像头配置,而由于手臂几何形状和末端执行器设计的变化,安装在机器人上的设备需要可调节的设置。
      所以后面如果需要使用Fast UMI开源的数据的话,需要将GoPro摄像头调整到这个位置
其他设计优化
  • 加固的关键安装结构: 提高结构完整性以减少振动。
  • 碳纤维组件: 加强材料特性,同时减轻重量。
  • 标准化的公母接口设计:允许延长臂的顺序连接以调整长度,而不会产生明显的振动。

P3

原始数据采集
整体数据采集管道:FastUMI 使用三个主要的 ROS 节点来记录多模态演示数据:
  • 首先,摄像机节点从 GoPro 摄像机连续流式传输广角图像(例如,1920×1080,帧率为 60 fps)。
  • 其次,跟踪节点以更高的速率(例如 200 Hz)提供来自 T265 传感器的姿态估计。每个姿势都表示为 (x, y, z, q, q, q, q),其中 (x, y, z) 表示平移向量(也就是平动),(q, q, q, q) 表示四元数形式的方向(也就是转动)。
  • 最后,存储节点将这些流聚合并同步到分层数据格式版本 5 (HDF5) 文件中,以供后续处理。
由于每个传感器独立运行,因此该系统可以通过添加相应的 ROS 节点来扩展以适应其他模态(例如,触觉传感器)。
💡
如果要加触觉传感器的话,可能就是再加上一个ROS节点
使用T265的优缺点
  • 优点:提高了部分遮挡下的可靠性,而且无需进行大量校准和 VIO 参数调整,从而显著加快了部署速度。
  • 缺点:
    • 数据子采样和同步:在多传感器数据融合中,不同的采样率和数据模式通常会阻碍精确对准。这里同步时钟采用统一的ROS时钟,而数据的子采样就选择以 20 Hz(确定为 200 Hz 和 60 Hz 之间的最大常见频率,200、60分别为T265和GoPro的采样频率)对两个流进行子采样。具体方法是在每三个GoPro帧中保留一个,并将每个保留的帧与时间上最接近的 T265 姿势配对。这种方法实现了亚毫秒级偏移量,减少了插值误差,并确保下游学习任务的数据始终同步。
      • 💡
        那这么看的话,之前四轴应该也是有问题的?加速度计和陀螺仪之间可能需要同步。但是感觉因为那个时候传感器延时比较小,所以不考虑对性能也没有太大的影响
    • T265 的累积漂移校正:尽管 T265 提供了稳健的姿态估计,但它会在剧烈运动(例如,突然加速)期间累积漂移。为了解决这个问题,我们采用两种主要策略:
      • 💡
        类似陀螺仪的积累误差,应该也是因为类似陀螺仪之类的传感器,在进行当前姿态估计的时候是在上一个姿态上的叠加。
      • 重新初始化。最简单的补救措施是以固定的预定义参考姿势重新启动 T265。此作将重置设备的内部状态并恢复准确的姿势跟踪。
      • 闭环。另一种策略利用视觉上不同的参考区域——桌子上的蓝色 3D 打印凹槽(图 5 左)——来促进环闭合。当 T265 重新访问该区域时,它会重新遇到先前映射的视觉特征(也就是蓝色凹槽),通常在轻微漂移下将估计的轨迹与 RVIZ 中的初始参考(在图 5 右中以绿色虚线框突出显示)重新对齐。但是,如果在返回标记区域后仍然存在明显的错位,则认为闭环关闭无效,必须重新初始化 T265 以恢复准确的姿势跟踪。
        • 💡
          大概意思就是使用一个明显的标记点,当机器人返回这个标记点的时候,将根据RVIZ中的初始位置进行重新对齐。
原始数据质量评估(收集过程中需要注意这个)
没有现有的工作可以完全量化什么是“理想”数据质量。我们通过传感器置信度轨迹平滑度检查来加强一致性。T265 提供四个离散置信度 — 失败、低、中和高;为避免长时间的低置信度数据,我们首先通过确认至少 95% 的样本姿势达到高置信度来验证环境。照明条件会显著影响 T265 的性能,昏暗或低光环境通常会导致置信度降低和漂移增加
💡
这里的传感器置信度应该是衡量当前T265给出的姿态的可靠性;而轨迹平滑度应该是从数据上看运动的平滑情况。
在实际录制期间,任何低置信度姿势都会被排除,并从相邻帧中插值,以保持连续性。同时,用户定义的速度、加速度和相对方向阈值可识别突然的过渡,进一步提高数据保真度(这个应该就是在保证平滑度了)。
💡
在正式开始自己训练模型的时候需要评估一下自己的数据集质量,然后进行一定的处理
训练的数据准备
数据类型:轨迹数据主要分为三种,TCP 轨迹(绝对和相对)和关节轨迹。
输入数据和假设:主要的原始输入是来自 T265 相机的姿态估计值(应该是相对于相机初始坐标系的姿态),由相机局部坐标系中的 p(位置矢量)和 R(旋转)给出。还需要以下附加信息:
  • 已知机械臂的统一机器人描述格式 (URDF)。
    • 💡
      是一种用于描述机器人物理结构、关节、传感器、外观等信息的XML文件
  • 从 T265 相机中心到夹持器中心(以相机框架表示)的已知偏移量
  • 在机器人坐标系中,夹持器中心的已知姿态(这个应该是说初始的姿态)
在这些条件下,可以推导出以下轨迹(也就是推导出轨迹的方式)
💡
前面的都是前置条件
  • 绝对 TCP 轨迹:
    • 💡
      绝对TCP轨迹应该是指夹爪中心的运动轨迹
      首先需要将T265与机器人基坐标对齐,然后在 i 时刻由T265提供相机相对于T265初始位置的姿态信息,那么就可以得到相机在机器人基坐标系中的姿态信息(也就是绝对坐标);然后再根据相机的绝对姿态和相机和夹爪中心的位置关系,得到夹爪中心的绝对姿态
  • 相对 TCP 轨迹:
    • 此轨迹由连续的绝对 TCP 帧形成。对于相邻帧 i 和 i + 1,具有相对TCP轨迹就是后者的绝对TCP轨迹减去前者的绝对TCP轨迹。使用相对TCP轨迹可以消除对全局参考系的依赖,进而有利于泛化。
      💡
      在UMI的论文中也有提到,使用相对轨迹可以无视机器人基坐标的位置,只要任务能在机械臂的活动范围内完成,机械臂就能完成任务
  • 绝对关节轨迹
    • 为了得到绝对关节轨迹需要借助URDF通过对绝对TCP轨迹进行逆运动学求解
夹爪宽度
具体来说,我们测量了夹持器钳口上 ArUco 标记(标记应该是在夹爪上的)之间的像素距离,并将其线性映射到夹持器的物理开口宽度。这种方法消除了僵化的硬件依赖性(仅仅根据夹爪的特性就能得到某一时刻的夹爪的宽度?),减少了设计限制并简化了新的或不同尺寸的夹具的集成。
对于每个图像帧,我们检测标记并计算像素距离 d。如果只识别出一个标记,我们通过镜像关于抓手中心轴的已知标记来估计 d;如果未检测到标记,则插入插补值以保持连续性。因此,可以保证每个帧都有有效的标记距离。然后可以通过夹爪的最大物理张开度以线性映射的结果得到夹爪的张开度。
💡
到时候要注意一下标记的问题。

P4

通过将数据驱动的优化整合到基线算法中以适应 FastUMI 独特的数据特性,我们实现了高效的多平台部署,并始终如一地保持高性能,同时也为未来更先进的方法奠定了基础。
💡
这里可以理解为是在做数据层面上的解耦
数据特征or挑战
  • 特写第一人称视角:位于末端执行器附近的摄像机可以捕捉到详细的作线索,但对整个机械臂的可见性有限,从而增加了对先验的依赖,以保持运动学的可行性——通过第一人称视角增强的ACT解决
    • 💡
      这个问题在原始UMI上应该也有,同样的,我们可以自己外置一个静态的摄像头
  • 可变几何图形和场景布局:FastUMI 的硬件无关设计可在不同的臂配置、基框架和环境之间生成异构数据(就是指一个数据集中有很多种结构的数据,看了文章下面的部分之后,我觉得这里的异构可能是,在一次收集的数据集中,数据对应的夹爪的状态是不一样的,比如TCP是否恒定等等),使实现一致的策略学习工作复杂化——通过动态误差补偿算法解决
    • 💡
      意思应该是解耦之后环境变得很多样,而在这些环境下也都能进行数据采集,就导致这些数据是异构的,很难得出一个统一的策略
  • 有限的深度信息:单视图鱼眼图像缺乏明确的三维空间线索,因此难以进行精确的深度估计。当没有深度信号时,需要精确定位的任务,包括物体对齐和夹具闭合,特别容易出错————通过深度增强DP解决
    • 💡
      这个问题在UMI上是通过侧边镜解决的
三种解决方式(感觉主要是在解决关节,或者说绝对关节轨迹的问题)
  • 第一人称视角的增强 ACT
    • 标准 ACT 可预测机械臂的绝对关节轨迹,在第三人称或固定摄像机场景中有效执行。
    • Smooth-ACT:在 Transformer 解码器之上加入门控循环单元 (GRU) 层来增强动作连续性
      • 💡
        这是因为当原生的ACT出现了非法的配置的时候,通常是比较极端的情况,这些情况表现在机器人上应该就是动作变化幅度的问题?
        Transformer 捕获全局时空模式,而 GRU 则优化局部连续性,平滑连续帧之间的突然偏差
        notion image
        最后一项是模型的正则项
    • PoseACT:末端执行器姿势预测。PoseACT 是一种用末端执行器 (TCP) 表示姿态代替绝对关节轨迹预测的变体
      • 💡
        这个就感觉和上面的绝对关节轨迹没啥区别,也是说的是用末端执行器姿态来反解出关节姿态。
        PoseACT在推理过程中,策略会输出相对姿势,然后通过机器人的运动学模型将其映射回绝对关节角度(应该就是反解的意思)。
        该公式结合了绝对运动轨迹和相对运动轨迹
      • 平台独立性:根据局部末端执行器运动来表示操作会降低对基坐标和机械臂几何形态的依赖
      • 数值稳定性:相对轨迹通常表现出较小的可变性,减轻了异常值效应并提高了对新构型的泛化。
        • 💡
          有点不太明白为什么是较小的可变性?相对轨迹中的相邻姿态不是也可能会突变,然后导致机器人表现出来异常状态?
  • 深度增强DP
    • Fast UMI当前的硬件设计没办法很好地获取深度信息。Fast UMI团队不希望像UMI那样增加硬件复杂度,而是选择在软件层面上解决这个问题。我们采用后处理策略来生成深度图。使用开源深度估计工具 Depth Anything V2 [43],我们用相应的深度图补充数据集中的每个帧。
      💡
      这里在获取了原始数据之后,在补充上深度信息,所以说是后处理。流程应该是获取的原始数据需要喂给Depth Anything,然后DA返回出深度图,最终重新补偿到(文章中说的是嵌入到)数据集的每个帧中。
      但是,我们的图像(包含明显的黑色边距)会对 Depth Anything V2 的性能产生负面影响。为了克服这一挑战,我们对图像进行了预处理,裁剪图像以仅保留圆圈内嵌的矩形区域。这确保了高质量的深度图,并专注于与夹持器相关的作区域。
  • 动态误差补偿算法(这部分都要换到基坐标系中理解)
    • 非平行夹爪(就是张开和闭合的时候钳口不是平行运动)在钳口向内移动的时候,可能会导致TCP向靠近机器人的一侧移动
    • 阶段 1:补偿距离。可以理解为根据夹爪钳口的张开程度来计算应该补偿的距离是多少
    • 阶段2:姿势校正。
      • notion image
        这个应该是在计算TCP系中的Z轴在基坐标中的表示

P5

所有原始传感器数据最初都在本地记录,然后再进行后处理。为了支持各种模仿学习和控制范式,我们提供了多种数据表示形式,最值得注意的是关节轨迹和 TCP 轨迹。每个演示都存储在一个专用的 HDF5 文件中,将观察结果(例如图像、跟踪的姿势)和动作(例如夹持器命令)封装在一个统一的数据集中。实现更广泛的兼容性
💡
就是说不同的平台从这个数据集中取出需要的数据即可
我们还提供将 HDF5 文件转换为 Zarr 格式的脚本,该格式保持分层结构,同时在存储后端、分块、压缩和并行访问方面提供更大的灵活性。

P6

评估系统的四个维度(到时候我们也需要定义这样一个标准,也可以直接使用文章中给出的标准)
  • 数据质量:评估 T265 和 MINI 模块在位姿跟踪中的可靠性(就是在二者的误差),以确保收集的数据满足下游应用的先决条件。
    • T265 在近距离特别容易受到严重视觉阻塞的影响。相比之下,MINI 表现出相对稳定的跨任务性能,尽管准确性略有降低。在低遮挡场景中。当视觉输入基本不受阻碍时,T265 可提供卓越的定位,而 MINI 在不同程度的遮挡下表现出更一致的性能。
  • 基线性能:通过包含各种作任务的广泛实验证明了该系统的有效性,从而使用基线 ACT 和 DP 方法突出了其稳健性。
    • 💡
      或者说这里是在验证基线策略的可靠性
  • 算法增强:量化了由于算法改进而带来的任务成功率的改进(这也应该在复现阶段考虑)。
    • 这里主要集中于使用增强第一人称ACT和深度增强DP的效果
  • 其他因素:最后,我们研究了其他变量,例如鱼眼相机的利用率和训练数据集的大小,以评估它们对策略效果的影响。

p7

Fast UMI的限制
  • 有限的传感模式。FastUMI 目前依赖于视觉数据,这对于需要精确力或触觉反馈的任务(例如处理易碎物体)可能不足
    • 💡
      这个不能用UMI中说的夹爪的柔韧性啥的来处理吗
      集成触觉或力传感器可以实现更丰富的环境表示和更强大的政策学习(提供了更多的信息,可以让策略考虑到物体的特性)。特别是对于需要精细或高精度交互的任务。
  • 限制机器人兼容性。尽管 FastUMI 适用于单臂或双臂平台,但它尚未适应更复杂的形态,包括需要全身控制才能进行的移动机械手操作。未来的努力可以侧重于扩展硬件和软件生态系统,以支持具有更大工作空间和非静态基础的高级平台。
  • 有线数据传输。对有线连接的依赖限制了便携性,并限制了移动性或独立作至关重要的现场应用。具有板载处理或无缝网络连接的无线解决方案将大大扩展 FastUMI 的适用性并促进更广泛的部署。

p8

将Fast UMI与其他的数据收集方法相比较
遥操作:依赖于特定的硬件
视频方式:由于操作数据是从原始视频中推断出来的,因此这些操作有时可能无法准确反映真实操作,从而阻碍了可推广策略的形成。此外,具身不匹配仍然是一个持续的挑战,因为收集数据的域与部署环境之间的差异可能导致策略失败
原始UMI:现有的解决方案结合了基于 SLAM 的视频流估计 [10]、动作捕捉系统 [40] 和基于视觉的跟踪算法 [36]。然而,这些技术通常需要大量的后处理或依赖固定的基础设施(比如GoPro的SLAM去动作捕捉),从而降低整体效率
 
 
 
 
Q
  • 不太明白的是,在Fast UMI中GoPro还有什么用?感觉只是把视觉惯性传感器换成更高级的RealScene T265了
    • 但它不再被用作主要的视觉跟踪传感器
      说明此时GoPro作为辅助的视觉传感器了。而RealScene T265应该使用的不是VIO管道了
      每个模块都有不同的功能:T265 即使在部分遮挡下也能提供准确的姿势跟踪,而 GoPro 则提供对环境上下文捕捉、演示验证和学习算法支持至关重要的广阔视图。由于 GoPro 不负责姿势跟踪,因此可以更灵活地安装,以便在手持和机器人安装设备上保持一致的视点,而 T265 则放置在更安全的位置,以确保稳定的姿势跟踪性能。
  • 机器人安装设备上为什么没有T265?这样能确定深度信息吗?没有使用镜子是因为在原始UMI的实验中,侧边镜对精确度的提升好像并不高。没有T265应该是因为SLAM实际上应该只在获取数据集的时候有用,在机器人上只需要知道夹爪和物体的相对位置应该就行了,而不需要对场景重新建模。在收集数据的时候需要建模是因为这个时候只能根据建图来得到需要的坐标信息
 
 
 
Fast UMI设计的最重要的初衷应该是进一步提高数据采集的效率以及数据采集时的用户友好性,在性能上与原始UMI相近
 
数据集在Fast UMI文章的最后有提到。
 
对成功的定义,一步一步来
 
可以了解一下DP和ACT?
ACT算法将模仿学习应用于从机械臂收集的绝对关节姿态数据,并在固定长度的动作序列上利用时间集成技术来实现平滑和自主的双臂控制[49]。这项工作 [35] 将语言模态集成到 ACT 算法中,微调视觉-语言模型以促进与双臂机器人的基于语言的交互。DP 通过条件去噪过程在机器人动作空间中生成动作,具有表达多模态动作分布、处理高维输出空间和提供稳定训练等优势[9]。UMI 表明,UMIlike 数据可以有效地用于训练扩散策略,并产生有希望的结果 [10]。在我们的工作中,我们使用通过 ACT [49] 和 DP [9] 收集的数据来验证系统的性能。 我们进一步分析了 Fast-UMI 收集的数据的特征,并评估了其对这些算法的影响。基于此分析,我们实施了一系列优化和调整,提高了这些算法在应用于 Fast-UMI 数据时的性能。
 
怎么使用的Depth Anything?
 
RTX 4090
 
TCP坐标系是如何确定的?
 
非平行夹爪在计算姿态的时候需要有矫正
 
动作执行帧之间的时间重映射?
 
怎么用RVIZ
 
数据质量的标准?
 
采取什么数据形式?
 
HDF5和Zarr
 
需要使用什么摄像头?
 
相对坐标表示和绝对坐标表示之间的权衡
此外,我们探索了相对 TCP 以减少对绝对坐标的依赖,旨在更稳健地捕捉轨迹的形状和动力学。如表所示,此增强功能在具有扩展或重复轨迹的任务(例如,“Sweep Trash”)上表现良好。但是,对于需要精确高度估计的任务(例如“Pick Bear”),删除绝对姿势信息会降低垂直定位精度,从而强调相对坐标表示和绝对坐标表示之间的权衡。
 
可以了解一下T265是怎么代替SLAM的?
 
附录中有提到Fast UMI数据集的获取
 
qpos就是姿态的位置和方向信息,也就是包括位置向量和四元数,action会与qpos相对应。
Task1——RT补丁PX4
Loading...
Noah
Noah
永远年轻,永远热泪盈眶
最新发布
UMI论文阅读
2025-3-11
Task1——RT补丁
2025-2-17
Paper2
2025-1-18
操作系统原理与实践
2024-12-24
Embassy_Learn
2024-12-24
数字电路设计与嵌入式系统开发
2024-12-23
公告
❗❗复习笔记问题❗❗
由于兼容性问题
导入md文件可能导致了一些格式错误
🌹如发现格式错误,请联系我~🌹
🌹如博客内容有误也欢迎指出~🌹