具体来说,我们首先通过逆运动学将人类动作重定向到人形机器人,并训练一个具有特权状态信息访问权限的人形机器人控制器[18-Perpetual humanoid control for real-time
simulated avatars],以在模拟中模仿未经滤波的动作
之后,去除特权模仿器 无法跟踪的动作序列(we remove the motion sequences that the privileged imitator fails to track )
通过这样做,创建了一个大规模的人形机器人兼容动作数据集。在获得可行动作的数据集后,再开发了一种可扩展的训练过程,用于现实世界的动作模仿器,该过程结合了广泛的域随机化以弥合模拟与现实之间的差距
为了促进实时远程操作,设计了一个状态空间,优先考虑现实世界中使用RGB摄像头可获得的输入,例如关键点位置。在推理过程中,我们使用一个现成的人体姿态估计器[27-Hybrik: A hybrid analytical-neural inverse kinematics solution for 3d human pose and shape estimation]来提供全局人体位置以供人形机器人追踪
1.0.2 将人类动作转移到现实世界的仿人机器人上
在基于强化学习的类人控制器出现之前,传统方法通常采用基于模型的优化来跟踪重新定位的动作,同时保持稳定性 [1-Teleoperation of humanoid robots:A survey]
Zhang 等人 [11-Slomo: A general system for legged robot motion imitation from casual videos] 使用隐式接触的模型预测控制MPC来跟踪从视频中提取的动作,但轨迹必须首先离线优化以确保动态可行性
此外,由于计算负担,MPC中使用的模型需要简化 [6,11,14],这限制了可跟踪动作的能力。基于强化学习的控制器可能提供一种不需要明确接触信息的替代方案
一些研究[43, 44]使用模仿学习将人类风格的动作转移到控制器上,但不能准确跟踪人类动作。Cheng等人[22-Expressive whole-body control for humanoid robots]训练了全身类人控制器,可以从离线的人类动作中复制上半身动作,但下半身依赖于根部速度跟踪,并未跟踪精确的下半身动作
首先,由于SMPL身体模型可以表示不同的身体比例,故需要++在SMPL中找到一个最接近人形结构的身体形状++ First,since the SMPL body model can represent different body proportions,we first find a body shape β′ closest to the humanoid structure.
即选择12个在人类和人形之间具有对应关系的关节(We choose 12 joints that have a cor-respondence between humans and humanoids),如下图所示「将SMPL身体拟合到H1人形模型。(a)人形模型关键点的可视化(红点),(b)红色的人形模型关键点 分别与SMPL关键点(绿色点和网格)在拟合SMPL形状β′之前和之后的对比,(c) 拟合前后的对应12个关节位置」
并在形状参数上执行梯度下降,以使用一个通用的静止姿势最小化关节距离(perform gradient descents on the shape parameters to minimize the joint distances using a common rest pose)
在找到最优的β′后,给定以SMPL参数表示的一系列动作,使用原始的平移p和姿势θ,但使用拟合的形状β′来获取身体关键点的位置集 After finding the optimal β′, given a sequence of motions ex-pressed in SMPL parameters, we use the original translationp and pose θ, but the fitted shape β′ to obtain the set of body keypoint positions.
然后,通过使用Adam优化器[54]最小化12个关节位置差异,将++动作从人类重定向到人形++ Then we retarget motion from human tohumanoid by minimizing the 12 joint position differencesusing Adam optimizer [54].
请注意,该重定向过程试图匹配人类的末端执行器到人形 (例如脚踝、肘部、手腕),以保持整体运动模式 Notice that our retargeting process try to match the end effectors of the human to the humanoid(e.g. ankles, elbows, wrists) to preserve the overallmotion pattern.
顺带补充几点
另一种方法是直接复制人类到人形的局部关节角度,但这种方法可能会由于运动学树的巨大差异导致末端执行器位置的巨大差异 Another approach is direct copying the localjoint angles from human to humanoid, but that approach can lead to large differences in end-effector positions due to the large difference in kinematic trees.
因此,作者提出了一种"模拟到数据"的程序,其中训练了一个动作模仿器(类似于PHC [18-Perpetual humanoid control for real-time simulated avatars]),该模仿器可以访问特权信息privileged information且没有域随机化domain randomization,以模仿所有未被进一步清洗的数据 Thus, we propose a "sim-to-data" procedure, where we train a motion imitator πprivileged (similar to PHC [18]) with accessto privileged information and no domain randomization toimitate all uncleaned data ˆQretarget.
没有域随机化,可以在动作模仿中表现良好,但不适合转移到真实的人形机器人 Without domain random-ization, πprivileged can perform well in motion imitation, butis not suitable for transfer to the real humanoid.
然而,代表了动作模仿性能的上限,而无法模仿的序列则代表不合理的序列
具体来说,按照PULSE [32-Universal humanoid motion representations for physics-based control]中提出的相同状态空间、控制参数和困难负样本挖掘程序训练,并训练一个单一的模仿策略来模仿整个重定向的数据集
接下来,为了训练,故遵循PULSE [32],并训练一个具有"人形机器人的完整刚体状态访问权限"的动作模仿器「To train πprivileged, wefollow PULSE [32] and train a motion imitator with access to the full rigid body state of the humanoid」
目标状态定义为
其中包含了人形机器人中所有刚体的当前模拟结果与参考结果之间的一帧帧差异(which contains the one-frame difference between the reference and current simulation result for all rigid bodies on the humanoid)
它还包含了下一帧的参考刚体方向和位置,所有值都被归一化到人形机器人的坐标系中
人类可以描述所需的动作,例如"举起你的右手",然后MDM生成相应的动作目标,由OmniH2O跟踪「with humans describing desired motions, such as "raise your right hand". MDM generatesthe corresponding motion goals that are tracked by the OmniH2O」