【产品研究】MyoSuite:面向肌肉骨骼运动控制的富接触仿真套件 总结

原文链接:MyoSuite – A contact-rich simulation suite for musculoskeletal motor control

myosuite_demo online

一、研究背景与问题

  1. 现有研究局限:传统 embodied agents(具身智能体)在连续控制领域接触的任务,难以充分探索生物体内实现灵活敏捷行为的肌肉骨骼细节。当前研究肌肉骨骼控制的框架存在不足,要么缺乏生理层面的复杂精细度,要么无法支持物理世界交互能力,且未融入复杂熟练的运动任务,在计算效率和可扩展性上也难以满足现有学习范式对运动学习研究的需求。
  2. 生物肌肉骨骼系统的复杂性:人体生物力学系统是复杂的多关节 - 多执行器肌肉骨骼系统,肌肉只能单向发力(拉伸而非推动),其发力能力会受长度、收缩速度、疲劳状态等影响,还可能因年龄(如肌肉减少症)、运动、手术干预(如肌腱转移)、辅助设备(如外骨骼)等发生变化。同时,肌肉控制空间维度高(约600块肌肉控制约300个关节)、存在冗余性(多块肌肉作用于同一关节)和多关节性(肌肉常作用于多个关节),导致系统面临“维度灾难”和非平稳性挑战,这与机器人关节级控制有显著差异。
  3. 现有基准测试缺陷:OpenAI - Gym、DmControl 等是连续控制领域行为合成的常用基准,但多为简单问题且已基本解决,对智能体在非平稳环境变化下的适应性测试能力有限。此前基于物理的肌肉骨骼仿真引擎(如 OpenSim、AnyBody)虽在相关研究中应用广泛,但计算成本高且对富接触交互支持有限;机器人领域的物理引擎(如 PyBullet、MuJoCo)虽效率高且支持接触交互,却缺乏对解剖学和功能验证的肌肉骨骼模型的足够支持。

二、MyoSuite 核心内容

(一)整体定位

MyoSuite 是一个生理精确且计算高效的框架,旨在为研究人体运动控制背后的生理细节和挑战提供平台,包含肘部、腕部和手部的生理精确生物力学模型,具备物理接触能力,可支持复杂、熟练的富接触现实世界任务。

(二)关键技术与组件

  1. 模型转换与构建 pipeline
    • 开发了全自动、模型无关的 pipeline(MyoSim),将现有的经过验证的 OpenSim 肌肉骨骼模型优化转换为 MuJoCo 模型,转换后的模型与原模型数值等效,仿真速度比原模型快两个数量级。
    • 转换过程分三步:
      • 几何转换:将骨骼几何结构、肌肉附着点和包裹表面从 OpenSim 模型转换到 MuJoCo 模型,基于先前研究的扩展实现。
      • 力臂优化:优化 MuJoCo 中包裹表面侧位点的 3D 位置,使力臂与参考 OpenSim 模型匹配。
      • 肌肉力优化:优化 MuJoCo 中的肌肉参数,确保肌肉发力能力与参考 OpenSim 模型一致。
  2. 肌肉骨骼模型
    • MyoFinger:基于相关研究的简化直观模型,具有 4 个自由度,由 5 个简化的拮抗肌 - 肌腱单元驱动,还提供带简单扭矩执行器的机器人对应模型,便于对比研究。
    • MyoElbow:1 个自由度的人体肘关节模型,基于 OpenSim 的默认测试手臂模型,使用多组主动肌/拮抗肌对(3 个屈肌和 3 个伸肌)驱动。
    • MyoHand:复杂的前臂 - 腕部 - 手部模型,包含 29 块骨骼、23 个关节和 39 个肌 - 腱单元,基于两个流行的 OpenSim 模型(MoBL 人体上肢模型和 2nd - Hand 手部和手指模型),肌肉附着和运动范围基于尸体研究,还添加了对手动灵活性至关重要的对掌肌,并结合功能研究恢复部分肌肉的力 - 长特性。
  3. 任务设计
    • 利用上述肌肉骨骼模型构建了一系列不同难度的任务,任务难度从任务复杂性(简单/困难)和任务非平稳性两个维度变化,重置条件有固定、随机和无三种,非平稳性有 8 种(若肌腱转移和外骨骼辅助不可行则为 4 种)组合。
    • 共包含 204 个任务(9 个任务家族×2 个难度级别×3 个重置条件×8 或 4 个非平稳性变化组合),具体任务如下表:

示例说明

任务名称任务描述难度版本
Finger Joint Pose(手指关节姿态任务)控制 MyoFinger 模型达到指定姿态简单版(目标关节姿态固定,myoFingerPoseFixed - v0);困难版(目标姿态由关节随机配置生成,myoFingerPoseRandom - v0)
Finger Tip Reach(手指指尖到达任务)控制 MyoFinger 指尖到达工作空间中的指定位置简单版(固定位置,myoFingerReachFixed - v0);困难版(随机位置,myoFingerReachRandom - v0)
Elbow Flexion(肘关节屈曲任务)简化 MyoElbow 模型,仅考虑肘关节旋转,控制其达到随机姿态两个版本,分别用 1 块肌肉(myoElbowPose1D6MFixed - v0)和 6 块肌肉(myoElbowPose1D6MRandom - v0)控制
Key Turn(钥匙旋转任务)控制 MyoHand 手指运动协调旋转钥匙简单版(钥匙旋转半圈,myoHandKeyTurnFixed - v0);困难版(从不同随机位置和旋转状态开始旋转一整圈,myoHandKeyTurnRandom - v0)
Hand Tips Pose(手部指尖姿态任务)控制 MyoHand 模型关节达到指定姿态简单版(固定姿态,myoHandPoseFixed - v0 - v0);困难版(随机姿态,myoHandPoseRandom - v0 - v0)
Hand Tips Reach(手部指尖到达任务)控制 MyoHand 手指指尖到达指定位置简单版(固定位置,myoHandReachFixed - v0);困难版(工作空间内随机位置,myoHandReachRandom - v0)
Hand Object Hold(手部物体握持任务)控制 MyoHand 模型保持物体在手中平衡不坠落简单版(物体放在手掌固定位置,HandObjHoldFixed - v0);困难版(物体放在手掌随机位置,myoHandObjHoldRandom - v0)
Pen Twirling(转笔任务)控制 MyoHand 旋转手中的笔到达指定方向且不坠落,任务复杂源于物体与多根手指的间歇性接触及物体稳定控制需求简单版(目标方向固定,myoHandPenTwirlFixed - v0);困难版(目标方向随机,myoHandPenTwirlRandom - v0)
Baoding balls(保定球任务)高度灵活的任务,需控制 MyoHand 使手掌上两个自由漂浮的球相互相对旋转简单版(交换球的位置,myoHandBaodingFixed - v1);困难版(实现球的持续旋转,myoHandBaodingRandom - v1)
  1. 非平稳任务变化
    • 肌肉减少症(Sarcopenia):模拟老年人常见的肌肉疾病,表现为肌肉质量或体积减少,将每块肌肉的最大等长力降低 50%。
    • 肌肉疲劳(Fatigue):模拟肌肉在持续或重复自主运动后的短期疲劳效应,整合动态肌肉疲劳模型,考虑不同类型肌纤维对疲劳的贡献和抵抗力差异,通过公式(F_{upd }{Max}(t)=F{Max} exp \left(k_{fatigue } * \int_{0}{t}-\frac{F_{m}{Act}(u)}{F^{Max }} d u\right))更新肌肉当前最大发力,疲劳系数(k_{fatigue}=1)。
    • 肌腱转移(Tendon - transfer):模拟肌腱转移手术,将肌肉 - 肌腱单元的发力作用点从一个关节自由度重定向到另一个,如将示指固有伸肌(EIP)的肌腱转移以替代拇长伸肌(EPL),用于研究术后肌肉控制变化。
    • 外骨骼辅助(Exoskeleton assistance):模拟人机交互场景,在 MyoElbow 模型中添加肘部软外骨骼(如绳索驱动),外骨骼作为理想扭矩执行器与肘关节对齐,辅助力为生物关节扭矩的一定百分比。

三、实验与结果

实验结果配图1

(一)模型验证

  1. 几何与运动学验证:以含 2 个关节、6 块肌肉的 OpenSim 肘关节模型为参考,对比转换后的 MuJoCo 模型,在正向运动学检查中,所选标记点在两个模型中的位置一致,表明几何和关节定义匹配。
  2. 力臂与肌肉力验证:经过力臂优化和肌肉力优化步骤后,MuJoCo 模型与 OpenSim 模型的力臂差异大幅减小,肌肉力差异也显著降低。肘关节模型的肌肉力臂均方根(RMS)差异为 0.044±0.09%,手部模型为 0.38±0.57%;肘关节模型的力 RMS 误差为 2.2±1.4% (F_{max})(OpenSim 峰值力),手部模型为 4.1±2.0%,证明转换后的 MuJoCo 模型在解剖学和动力学上与先进的 OpenSim 模型相似。
  3. 仿真速度对比:正向仿真显示 MuJoCo 模型比 OpenSim 快多个数量级(60 倍到 4000 倍),随着肌肉数量增加,OpenSim 计算时间呈指数增长,而 MuJoCo 增长不明显,这得益于 MuJoCo 中肌肉执行器的简化实现,使其仿真更快、更稳定。

(二)基准测试结果

使用自然策略梯度(NPG)算法在部分平稳、简单和困难且固定重置复杂度的条件下进行基准测试。结果显示,较简单的任务(如手指关节姿态、指尖到达等)能在较少样本(如 500 万样本内)达到较高成功率,而复杂任务(如保定球任务)虽能解决,但样本复杂度更高,需超过 7000 万样本,且成功率较低(5 个随机种子中仅 1 个成功)。同时,成功完成任务的策略展现出生理相关的行为,如肘关节模型中肌肉能自动利用屈肌和伸肌的拮抗作用,肌肉共收缩能自然演化以补偿肌肉特性变化(如肌肉减少症和疲劳)。

(三)内在非平稳扰动实验

  1. 肌肉减少症与疲劳影响:在肘关节交替到达任务中,肌肉减少症下,正常情况下可独立完成任务的肱桡肌(BRA)需更强激活并借助协同肌肉(肱二头肌长头 BICLong、肱二头肌短头 BICShort)才能完成任务;肌肉疲劳下,随着时间推移,协同肌肉逐渐增加发力以补偿肌肉力量损失。
  2. 肌腱撕裂影响:在钥匙旋转任务中,训练好的策略在不同拇指肌肉撕裂后表现不同,拇长屈肌(FPL)和对掌肌(OP)对任务完成至关重要,OP 撕裂后 FPL 无法补偿,导致钥匙旋转角度减小,而伸肌(如拇短伸肌 EPB)和外展肌(如拇长展肌 APL)撕裂对任务影响较小。
  3. 肌腱转移影响:将 EIP 肌肉重定向替代 EPL 肌肉后,原本训练好的策略无法完成任务,需大量额外训练才能重新控制拇指,这与患者术后需大量物理治疗重新学习拇指控制的现实情况一致。

(四)人机交互实验

实验结果配图3
实验结果配图2

在 MyoElbow 模型中添加外骨骼,进行两项实验:

  1. 屈伸实验:在不同手部负重(0kg、1kg、2kg)下,控制肘关节在不同角度范围(0 - 30°、0 - 60°、0 - 80°)屈伸并保持 2 秒。结果显示,有外骨骼辅助时,即使增加负重,关节角度误差仍较小(0kg 时 4.95±3.42°,1kg 时 4.54±3.12°,2kg 时 4.34±3.43°),且肌肉激活和力量显著降低(如 2kg 负重时,肱二头肌长头激活降低 60%、力量降低 60%,肱二头肌短头激活降低 54%、力量降低 58%,肱桡肌激活降低 66%、力量降低 67%)。
  2. 静态保持实验:在肘关节保持 90°静态位置的情况下,考虑正常、肌肉减少症和疲劳三种状态。结果表明,无外骨骼且无内在扰动时,位置保持受影响较小;有内在扰动时,外骨骼能部分补偿(肌肉减少症时角度误差 6.03±2.97°,疲劳时 11.89±4.03°),同时肌肉激活和力量也有所降低。

四、讨论与结论

  1. 研究意义:MyoSuite 提供了生理真实且计算高效的模型和任务框架,用于研究人体运动控制,模拟了肌肉疲劳、肌肉减少症、肌腱转移等现实场景的非平稳性,包含现实中高度熟练的操控任务。该平台有望推动机器人控制领域发展,类似计算机视觉和自然语言处理领域中具有挑战性的数据集和基准测试所起的作用,且由于肌肉骨骼模型的激活可与人类受试者记录的(标准化)肌内活动直接关联,便于通过实验验证学习解决方案。
  2. 现有局限:当前实现的模型只是肌肉骨骼系统近似的第一版,仍需进一步开发和验证,任务和肌肉特性的生理变化也只是可能变化的一部分。
  3. 未来期望:期望该工作促进不同领域(机器学习、生物力学、机器人学)之间的交叉融合和新思想产生。机器学习领域可获得具有三阶动力学的更具挑战性任务和更生理真实的非平稳性场景;生物力学领域可拥有能大规模研究富接触交互的新平台;机器人领域可基于生物系统开发策略,最终实现创建真实的仿真环境,为人类、机器人及其交互的计算机模拟试验开辟道路。

五、附录补充

(一)MyoSim 详细转换流程

  1. 几何转换(Cvt1):解析 OpenSim 模型中的运动学细节(身体段长度、关节、肌肉 - 肌腱路径等)和基准标记,转换到 MuJoCo 模型,扩展现有代码以添加标记和肌肉包裹表面,避免运动中与骨骼碰撞,通过正向运动学验证(Vlt1)检查不同关节配置下运动链上显著位置的匹配度。
  2. 包裹优化(Cvt2):由于 OpenSim 和 MuJoCo 定义肌肉包裹表面的方式不同,优化 MuJoCo 中肌肉包裹位置(“侧位点”)和包裹物体尺寸(用其他表面近似 MuJoCo 中缺失的椭圆体和圆环面等),采用模拟退火(SA)优化方法,最小化所有关节角度下所有肌肉的力臂差异,通过力臂映射验证(Vlt2)检查力臂匹配情况。
  3. 力特性优化(Cvt3):OpenSim 和 MuJoCo 建模肌肉力特性的方法不同,优化 MuJoCo 中的肌肉力参数(最小归一化肌肉长度(l_{min})、最大归一化肌肉长度(l_{max})、最大归一化被动纤维力(fp_{max})、最大肌肉力绝对值(f_{max})),采用差分进化(DE)优化方法,最小化不同肌肉长度和激活下的肌肉力差异,肌肉激活动力学和力 - 速度关系在两模型间一致,可直接转移,通过肌肉力曲线验证(Vlt3)检查力 - 长 - 激活差异。

(二)MyoHand 模型肌肉列表

标签肌肉名称数量
ECRL桡侧腕长伸肌1 块
ECRB桡侧腕短伸肌1 块
ECU尺侧腕伸肌1 块
FCR桡侧腕屈肌1 块
FCU尺侧腕屈肌1 块
PL掌长肌1 块
PT旋前圆肌1 块
PQ旋前方肌1 块
EIP示指固有伸肌1 块
EPL拇长伸肌1 块
EPB拇短伸肌1 块
FPL拇长屈肌1 块
APL拇长展肌1 块
OP拇对掌肌1 块
FDS指浅屈肌4 块
FDP指深屈肌4 块
EDC指总伸肌4 块
EDM小指伸肌1 块
RI桡侧骨间肌4 块
LU - RB蚓状肌4 块
UI - UB掌侧或尺侧骨间肌4 块
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑符石

感谢小主对原创的大力支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值