李飞飞团队发布ReKep:机器人“空间智能”获突破性进展,整合GPT-4o

视觉与机器人学习的深度融合。

当两只机器手丝滑地互相合作叠衣服、倒茶、将鞋子打包时,加上最近老上头条的 1X 人形机器人 NEO,你可能会产生一种感觉:我们似乎开始进入机器人时代了。

事实上,这些丝滑动作正是先进机器人技术 + 精妙框架设计 + 多模态大模型的产物。

我们知道,有用的机器人往往需要与环境进行复杂精妙的交互,而环境则可被表示成空间域和时间域上的约束。

举个例子,如果要让机器人倒茶,那么机器人首先需要抓住茶壶手柄并使之保持直立,不泼洒出茶水,然后平稳移动,一直到让壶口与杯口对齐,之后以一定角度倾斜茶壶。这里,约束条件不仅包含中间目标(如对齐壶口与杯口),还包括过渡状态(如保持茶壶直立);它们共同决定了机器人相对于环境的动作的空间、时间和其它组合要求。

然而,现实世界纷繁复杂,如何构建这些约束是一个极具挑战性的问题。

近日,李飞飞团队在这一研究方向取得了一个突破,提出了关系关键点约束(ReKep/Relational Keypoint Constraints)。简单来说,该方法就是将任务表示成一个关系关键点序列。并且,这套框架还能很好地与 GPT-4o 等多模态大模型很好地整合。从演示视频来看,这种方法的表现相当不错。该团队也已发布相关代码。本文一作为 Wenlong Huang。

论文标题:ReKep: Spatio-Temporal Reasoning of Relational Keypoint Constraints for Robotic Manipulation

项目网站:https://rekep-robot.github.io

不方便下载的我已打包好,还准备了一份研究生及SCI论文攻略包

李飞飞表示,该工作展示了视觉与机器人学习的更深层次融合!虽然论文中没有提及李飞飞在今年 5 年初创立的专注空间智能的 AI 公司 World Labs,但 ReKep 显然在空间智能方面大有潜力。

以下是对原文内容的重点罗列:

  1. 机器人操作涉及与环境中物体复杂的交互,这些交互可以表现为空间和时间领域的约束。
  2. 以倒茶入杯为例,机器人需要抓握把手、保持杯子直立、对准壶嘴和目标容器,然后以正确角度倾斜杯子进行倒茶。
  3. 约束不仅包括中间子目标(如对准壶嘴),还包括过渡行为(如运输过程中保持杯子直立),这些共同决定了机器人行动的空间、时间和组合要求。
  4. 为现实世界中的多样化任务有效制定这些约束存在挑战。
  5. 使用机器人与物体之间相对姿态表示约束是一种直接且常用的方法,但这种方法不能描述几何细节,需要预先获取物体模型,且不适用于可变形物体。
  6. 数据驱动方法可以在视觉空间中直接学习约束,但如何有效收集随着物体和任务数量组合增长的数据尚不清楚。
  7. 提出的问题是:如何表示广泛适用、可扩展获取、实时优化的操作约束。
  8. 提出了关系关键点约束(ReKep),将约束表示为将一组关键点映射到数值成本的Python函数,每个关键点是场景中与任务相关的、有语义意义的三维点。
  9. 每个函数由关键点上的(可能是非线性的)算术运算组成,并编码了它们之间的所需“关系”,关键点可能属于环境中的不同实体,如机器人手臂、物体部分和其他代理。
  10. 通过在关键点间强制实施刚性,多个关键点可以集体指定线条、表面和/或三维旋转。
  11. 研究了ReKep在顺序操作问题中的应用,其中每个任务涉及具有空间和时间依赖性的多个阶段。
  12. 通常,约束是手动定义的,但ReKep具有自动化优势,可以通过预训练的大视觉模型(LVM)和视觉语言模型(VLM)实现。
  13. 利用LVM提出场景中细粒度且语义上有意义的关键点,利用VLM将约束编写为Python函数,从RGB-D观察和自由形式的语言指令中指定ReKep。

以下是所提供内容的重点概述:

  1. 什么是关系关键点约束(Relational Keypoint Constraints,ReKep):这部分讨论了ReKep的定义,它是一种用于表示机器人操作任务中关键点之间空间关系的方法。

  2. 如何使用ReKep将操作表述为一个带约束的优化问题:这部分介绍了如何将机器人操作过程中的约束条件整合到优化问题中,通过ReKep定义目标关键点关系和路径约束。

  3. 我们的算法实例能够实时解决优化问题:此处提到了一种算法实现,它能够实时解决上述定义的优化问题,从而指导机器人的动作。

  4. 如何从RGB-D观测和语言指令中自动获取ReKep:这部分解释了如何使用DINOv2算法从观测到的场景中提出关键点候选,并使用GPT-4o生成描述不同任务阶段关键点关系的ReKep约束。

 以下是一些具体细节:

  • ReKep是一个函数,它将一组关键点映射到一个无界的代价上,如果函数值小于等于0,则表示约束被满足。
  • 一个操作任务通常包含多个阶段,每个阶段可能涉及不同的空间关系。为此,任务被分解为N个阶段,每个阶段使用ReKep指定子目标约束和路径约束。
  • 以倒茶任务为例,分为抓握、对齐和倒茶三个阶段,每个阶段都有相应的子目标约束和路径约束。
  • 优化问题被表述为最小化一个涉及机器人末端执行器姿态的代价函数,该代价函数受ReKep定义的约束条件限制。

以下是文章内容的重点摘要: 

  1. 提出了关系关键点约束(ReKep),一种使用约束的结构任务表示方法,通过操作语义关键点来指定机器人臂、物体(部分)和环境中的其他智能体之间的期望关系。
  2. 结合点跟踪器,证明了ReKep约束可以在分层优化框架中重复且高效地解决,充当以实时频率运行的闭环策略。
  3. ReKep的一个独特优势是它可以由大型视觉模型和视觉-语言模型自动合成。
  4. 在两个机器人平台上展示了结果,涉及多阶段、野外、双臂和反应性行为的各种任务,且没有任务特定数据、额外训练或环境模型。
  5. 尽管有这些优势,但仍然存在一些限制:
  • 优化框架依赖于基于刚度假设的关键点前向模型,尽管有高频反馈循环来放宽模型的准确性要求。
  • ReKep依赖于准确的点跟踪来正确地在闭环中优化动作,而这本身是一个具有挑战性的3D视觉任务,因为存在严重的间歇性遮挡。
  • 当前公式假设每个任务有一个固定的阶段序列(即骨骼),使用不同的骨骼进行重新规划需要以高频运行关键点提议和VLM,这带来了相当大的计算挑战。
  1. 文章详细讨论了算法的实现步骤,包括子目标问题求解、路径问题求解、执行动作等。
  2. 一个实验平台是一个安装在带轮子底座上的Franka臂,底座没有电机,不能自主移动,但允许在实验室环境之外测试提出的方法。
  3. 实验中使用位置控制,固定频率为20Hz,通过逆运动学计算目标关节位置,并使用关节阻抗控制器达到目标关节位置。
  4. 机器人配备了两个RGB-D相机,以固定频率捕捉RGB图像和点云。
  5. 另一个实验平台是一个固定双臂平台,由两个Franka臂组成,同时控制两个臂以20Hz的频率运行,解决两个6-DoF末端执行器姿态序列的问题。

 【要点】:本文提出了一种新的机器人操作任务表示方法Relational Keypoint Constraints(ReKep),通过将任务表达为一系列视觉基础的约束关系,实现了无需手动标注和实时优化机器人行为的能力。

【方法】:ReKep使用Python函数将环境中的3D关键点映射到数值成本,并通过层级优化过程来求解机器人行为。

【实验】:研究者在带有轮子的单臂平台和固定的双臂平台上实现了ReKep系统,展示了该系统能够完成多种复杂的操作任务,如多阶段、野外、双手操作和反应性行为,且无需特定任务数据或环境模型。具体的数据集名称在论文中未明确提及。

 

 

### 6-DOF Robotic Arm MATLAB Simulation Using Forward Kinematics Analysis Method For simulating a six-degree-of-freedom (6-DOF) robotic arm in MATLAB, the forward kinematics approach is fundamental to determine the position and orientation of the end-effector given joint angles. The Denavit-Hartenberg (DH) parameters are commonly used for this purpose. The DH convention provides a systematic way to define coordinate frames on each link of the robot[^1]. Below is an example code snippet that demonstrates how one can set up such a simulation: ```matlab % Define DH Parameters for a hypothetical 6 DOF manipulator d = [0.333 0 0.316 0.0825 0.0825 0]; % Link offsets a = [0 0.0825 0 0 0.088 0]; % Link lengths alpha = deg2rad([90 0 -90 90 -90 0]); % Twist angles theta = deg2rad([0 0 0 0 0 0]); % Joint variables initialized at zero degrees % Create SerialLink object from Robotics Toolbox robot = SerialLink(larray(dhparam(a,d,alpha,theta)), 'name', 'SixR'); % Plot initial configuration figure; plot(robot); title('Initial Configuration'); hold on; % Animate through some random configurations q_random = rand(6, 1)*pi-pi/2; % Random joint values between -π/2 and π/2 radians traj = jtraj(zeros(6,1), q_random, 50); % Generate trajectory with 50 steps for i=1:size(traj.q, 2) plot(robot, traj.q(:,i)); pause(0.05); end ``` In addition to setting up the model as shown above, it's important to consider inverse kinematics when aiming for specific tasks or trajectories because while forward kinematics computes where the end effector will be based on known joint states, inverse kinematics solves what those joint states should be to reach desired positions[^2]. However, if focusing solely on simulations without real-world experiments, similar approaches have been taken but might lack validation against physical systems which could limit practical applications[^3]. When developing more advanced models incorporating machine learning techniques like ReKep’s method mentioned by Dr Yao, these methods may offer advantages over traditional ones especially regarding adaptability under varying conditions due to their data-driven nature[^4]. --related questions-- 1. How does the choice of different sets of DH parameters affect the accuracy of forward kinematic calculations? 2. What challenges arise during the transition from simulated environments into actual hardware implementations concerning 6-DOF arms? 3. Can you explain the difference between using symbolic computation versus numerical approximation within MATLAB for solving forward kinematics problems? 4. Are there any particular considerations needed when applying deep learning algorithms specifically designed for motion retargeting onto robots equipped with closed-loop kinematics?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值