干货分享:关键是数据!一文概括全球学术、工业等前沿的具身智能数据收集策略——Franka具身智能机器人操作数采方案

作为具身智能的子领域,自动驾驶已经步入了端到端时代。具身智能是自动驾驶的升维问题,不论是硬件的本体构型和形态、还是算法的模型输入输出都还在百花齐放的萌芽状态。在具身领域,大家也对 VLA 端到端大模型的方案很青睐,但是端到端自动驾驶该遇到的问题一个也逃不掉(端到端问题的详情可以见之前写的

除此之外,由于没有现成大规模部署好的具身本体,具身智能还有非常棘手的数据问题,如何高效地大规模采集机械臂数据用作模仿学习算法的燃料,来训练一个通用场景下,有通用技能的操作算法是一个大问题。运动控制大部分都是用 RL 进行训练,所以本文只讨论操作任务面向模仿学习/行为克隆的数采方式

01具身数据的数据金字塔

02工业界具身数采现状

这里主要讨论三家企业:特斯拉、Physical Intelligence 以及智元

2.1 Tesla

从 Tesla 放出的视频中可以看出,目前 Optimus 的数据来自于 VR 遥操 + 动捕手套:

  • 操作员会戴上 VR 眼镜用于和机器人的视野对齐

  • 动捕手套捕捉的手指运动转发到 Optimus 的灵巧手上

另外,从 Tesla 前段时间的 We Robot 发布会上可以看到 Optimus 的表现,从南哥的分析也可以看到,Optimus 的上肢行为应该是遥操,但其 locomotion 能力以及整机遥操的丝滑程度都还是很强的。BTW,前几天放出的接球 Demo 看着也有点像是遥操,进一步证明了遥操延时很低,而且 Retargeting 的映射做的很好

2.2 Physical Intelligence

其实也可以把 Physical Intelligence(PI)也归类到学术界里面,但是 Paper 里面展示的 1w 小时的数据实在是很难把其作为一个学校实验室来看待。

PI 并不做自己的本体,而且做的大模型 π0 也发布了一篇 Paper,有一些非常有价值的结论,放出的 demo 也蛮有意思,已经在和国内的公司合作,各个具身实验室或者企业也都在复现,非常有参考价值。从 Paper 中可以看到 PI0 Paper 中使用了 1w 小时的数据,共计七种 or 八种本体构型的数据

2.3 智元机器人

从视频中所公开的画面可以看到,智元至少在并行走两条数采方式,此外主要展示的是夹爪任务,而不是灵巧手

  • VR 遥操:和 Tesla 的 VR 遥操方式不太一样,操作员将 VR 头盔挂在胸前,而不是戴在头上。所以他们的头盔只用作控制器的定位,而不用做视野对齐

  • 仿真生成:视频里有一小段很炫的仿真 Demo,机器人将鸡蛋放到碗里,除了机器人本体以及交互对象(鸡蛋和碗)之外,周围仿真环境以及物体资产一直在变。看样子是已经串通了这样的 Scale Up 流程。如果能在仿真环境中生成一个轨迹,可以规模化地扩充和生成若干条轨迹

具身智能机器人领域,机械臂是执行系统中的重要组成部分。不同类型的机械臂应用于不同场景,单臂和双臂机器人专注于特定操作任务,如工业装配、物流搬运等 [^1]。 在结构设计上,具身智能机器人的机械臂需综合考虑多种因素。从本体能力方面来看,机械臂的设计涉及高爆发大力矩驱动、低损耗高精度传动、高集成灵巧结构设计和高能量密度电池技术,这些是实现高速、高灵巧、高爆发能力的关键 [^4]。例如,在设计单臂机器人(如 Franka Emika Panda 、UR5e )和双臂机器人(如 AgileX Cobot Magic V2.0 )的机械臂时,要确保其备足够的动力驱动和精确的传动,以完成各类操作任务 [^2]。 从运动能力角度,机械臂的结构设计要涉及高自由度复杂运动规划、动态变构精确建模、未知扰动下的平衡控制技术,这是实现高动态运动和作业能力的关键 [^4]。机械臂需要能够在不同的环境中,灵活地完成各种动作,并且在受到外界干扰时保持稳定。 在智能能力方面,机械臂的设计要与多模态感知融合、实时环境建模与推理、复杂任务规划与执行等技术相适配,以实现自主决策、环境感知和任务执行 [^4]。机械臂需要通过先进的传感器技术(如视觉、触觉、力觉等)来感知环境,结合高效的计算能力和算法(如深度学习、强化学习等)进行智能决策,同时依靠精确的机械控制技术(如关节力控等)来实现对动作的精准控制 [^1]。 此外,在能源解决方案上,机械臂的设计还需要考虑产业链协同节能。未来具身智能机器人的能源解决方案将强调跨学科协作,通过材料、机械、电子、算法等领域的深度融合,打造真正高效的动力系统 [^3]。 ### 代码示例 以下是一个简单的 Python 示例,模拟机械臂的运动规划: ```python import numpy as np # 机械臂关节数量 num_joints = 3 # 初始关节角度 initial_angles = np.zeros(num_joints) # 目标位置 target_position = np.array([1, 1, 1]) # 简单的运动规划函数(这里只是示例,实际会更复杂) def simple_motion_planning(initial_angles, target_position): # 这里可以添加更复杂的算法来计算关节角度的变化 new_angles = initial_angles + 0.1 * np.ones(num_joints) return new_angles # 执行运动规划 new_angles = simple_motion_planning(initial_angles, target_position) print("新的关节角度:", new_angles) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值