PAPER DEEP DIVE
BeyondMimic:从追踪到通用人形控制
BeyondMimic 用统一动作追踪策略掌握多种高动态人形动作,并以引导式潜扩散模型组合技能、处理未见任务,实现零样本真机部署。
作者:Qiayuan Liao、Takara E. Truong、Xiaoyu Huang、Yuman Gao、Guy Tevet、Koushil Sreenath、C. Karen Liu。
论文:arXiv:2508.08241 项目页:beyondmimic.github.io
代码状态:训练实现最初公开于 HybridRobotics/whole_body_tracking,该仓库于 2026 年 10 月 15 日标记为退役,相关动作追踪实现已迁移到 mujocolab/mjlab;真机部署控制器公开于 HybridRobotics/motion_tracking_controller。本文核对时使用的提交分别为 9db9158 与 742924f。
一句话总结
BeyondMimic 先用同一套强化学习配方训练大量高动态动作追踪策略,再把策略产生的状态与动作压缩到潜空间,用状态—动作扩散模型和测试时引导组合技能,从而在 Unitree G1 上零样本执行弹跳、翻滚、跑步、摇杆控制、关键帧补全和避障等任务。
研究背景与动机
人形机器人的机械结构接近人体,因此它最有希望直接继承人类已经积累的动作数据。问题在于,人形机器人同时存在浮动基座、二三十个关节、复杂接触和欠驱动摆动,单是稳定站立就需要协调全身。把一段真人动作变成可执行控制时,研究者不仅要回答“关节往哪里动”,还要处理重心、支撑脚、角动量、脚底摩擦以及落地冲击。
模型控制路线通常把问题拆成低频质心或落脚点规划,再由高频全身控制器跟踪。这种分层方式计算可控,却容易把完整的人体运动压缩成几个简化变量。为了求解稳定,规划器倾向维持固定质心高度、弯曲膝盖或连续迈步,机器人因此远离人类自然的全身配合。遇到地面翻滚、空中转体和连续武术动作时,接触模式本身快速变化,手工建立的简化模型很难覆盖。
强化学习能绕过一部分建模困难,但传统奖励往往需要针对每个动作重新调参。行走奖励强调速度与落脚,翻滚奖励又要鼓励躯干旋转并允许非足端接触,二者的约束相互冲突。若为每个动作设计一套奖励、观测和域随机化,技能数量增加后训练成本会线性膨胀,也容易出现“能站稳但动作不像人”的结果。
动作追踪把问题转成参考轨迹跟随,可以较直接地保有真人动作风格。DeepMimic 式方法已经证明跳跃、平衡和武术片段能够被学习,但常见实现依赖针对动作的奖励塑形;对抗动作先验可以学习风格分布,却通常仍需为任务重新训练策略。它们解决了单个动作的自然性,没有自然解决技能复用和测试时组合。
另一条路线是“低层追踪器加高层规划器”。追踪器可复用,规划器负责新目标,但两层分别训练时存在动力学和时序失配;尤其在空中转体或接触瞬间,规划器给出的轨迹未必位于追踪器真正能够执行的分布内。VAE 生成模型能组合训练时见过的技能,却通常要求把目标在训练阶段明确编码为条件,遇到“绕过障碍”或“从关键帧补全动作”这类隐式目标时容易产生抖动和分布外行为。
BeyondMimic 的出发点是把可扩展性和测试时适应性拆开。第一阶段只解决一件事:用统一、紧凑的追踪公式掌握多种动作。第二阶段不重新训练任务策略,而是学习“技能如何按时间演化”的生成先验,再在推理阶段用可微代价把生成轨迹推向新目标。这样,动作自然性来自真实人体数据,任务通用性来自测试时优化,二者不必挤进同一套任务奖励。
预备知识
第一阶段使用马尔可夫决策过程描述追踪。状态包含机器人本体感知和参考动作进度,动作是关节位置设定量,奖励衡量机器人身体相对参考动作的误差。策略以 50 Hz 运行,并通过仿真到现实的零样本迁移部署到 Unitree G1。
第二阶段采用两段式生成建模。条件 VAE 先把参考动作相位与锚点误差压缩为低维运动意图潜变量,扩散模型再学习状态—潜变量序列的去噪分布。与只生成下一步动作的策略不同,模型同时生成未来状态与对应动作潜变量,因此任务代价可以直接约束“未来走多快、离目标多远、是否靠近障碍”。
分类器引导是关键推理工具。扩散模型提供无条件轨迹分布,任务代价提供“这条轨迹离目标还有多远”的梯度。每一步去噪都沿负代价方向修正样本,使输出逐步满足新任务。这里不需要在训练时见过摇杆目标或障碍物,只需在部署时定义代价函数。
方法详解
1. 用统一奖励覆盖差异极大的动作
论文没有为空翻、跑步和舞蹈分别设计奖励,而是选择一组跨动作稳定的目标身体,并同时追踪位置、朝向、线速度和角速度。第 b 个目标身体的参考量与实际量之间的均方误差经过指数函数映射,误差越接近零,奖励越接近一。这样的形式把不同物理单位分项处理,避免直接用裸误差相加。
$$r(\bar e_s,\sigma_s)=\exp\left(-\bar e_s/\sigma_s^2\right),\qquad r_{\mathrm{task}}=\sum_{s\in\{p,R,v,\omega\}}r(\bar e_s,\sigma_s).$$四个分项分别对应身体位置、旋转、线速度和角速度。每个误差先在目标身体集合上取均值,再按各自尺度归一化。参考数据中的快速踢腿由角速度项强调,落地稳定性则由位置和线速度共同约束。统一结构让同一组权重能处理慢速站立与高速空中动作。
奖励只保留三项正则:关节软限位、相邻动作变化和平滑,以及非足端自碰撞。总奖励写成任务得分减去惩罚。源码配置中关节限位权重为 10,动作平滑和接触惩罚权重均为 0.1。相比堆叠大量步态启发式,这种设计把“像参考动作”作为主要信号,只在硬件安全与可执行性上增加必要约束。
$$r=r_{\mathrm{task}}-\lambda_l r_{\mathrm{limit}}-\lambda_s r_{\mathrm{smooth}}-\lambda_c r_{\mathrm{contact}}.$$对长动作序列,均匀采样会把大量训练时间花在已经学会的简单片段,而空中转体或起身段落很少被重复。论文按失败率维护动作时间桶的采样概率,让困难段落获得更多回合;掌握后再逐渐恢复均匀覆盖。该机制直接服务于“一套参数适配多段动作”,因为难点位置并不需要人工标注。
2. 相对锚点追踪,允许全局漂移
若要求机器人每个身体都严格回到世界坐标中的参考位置,现实扰动造成的小幅滑移会立刻放大为巨大误差,策略会把恢复全局位置误当成动作目标。BeyondMimic 改用锚点相对表示:锚点自身跟随参考,其他身体在锚点坐标系中匹配参考动作。这样,机器人的整体位置可被扰动推开,但四肢相对躯干的比例、节奏和姿态仍保持一致。
$$R_b^{\mathrm{des}}=R_\Delta R_b^{\mathrm{ref}},\qquad p_b^{\mathrm{des}}=p_\Delta+R_\Delta(p_b^{\mathrm{ref}}-p_{\mathrm{anchor}}^{\mathrm{ref}}).$$其中旋转对齐只取当前锚点与参考锚点之间的偏航差,高度不参与这种全局旋转补偿。位置平移同样保留参考锚点高度,因此机器人不会因为自身骨盆瞬时下降就把整段动作整体下沉。这个变换保留了动作内部结构,同时允许合理的地面滑移和落脚调整。
$$p_\Delta=[p_{\mathrm{anchor},x},p_{\mathrm{anchor},y},p_{\mathrm{anchor},z}^{\mathrm{ref}}],\qquad R_\Delta=R_z(\operatorname{yaw}(R_{\mathrm{anchor}}{R_{\mathrm{anchor}}^{\mathrm{ref}}}^{\top})).$$部署代码与这一思想对应。MotionCommand.cpp 先把参考动作首帧按当前位置和偏航对齐,再在机器人锚点局部坐标中输出位置与 6D 旋转。网络输出不仅包含关节动作,还显式给出未来身体位置、朝向、关节位置和速度,供扩散层读取。训练和部署都在同一语义下交换参考状态,减少了世界坐标约定差异。
// motion_tracking_controller/src/MotionCommand.cpp
worldToInit_ = worldToAnchor * initToAnchor.inverse();
auto anchorPos = motionPolicy_->getBodyPositions()[anchorMotionIndex_];
return anchorPoseReal.actInv(worldToInit_.act(anchorPos));
3. 执行器建模优先于激进域随机化
论文对“仿真差距”的处理很有针对性。许多流程用很宽的摩擦、质量、延迟和观测噪声随机化来强迫策略鲁棒,但如果机器人执行器响应本身建模错误,策略只能在错误动力学里学会保守动作。BeyondMimic 根据 Unitree G1 的执行器惯量、连杆惯量和目标响应计算 PD 增益,把自然频率设为 10 Hz,并配置与硬件相匹配的动作尺度,再进行少量真正不确定参数的随机化。
域随机化只覆盖摩擦与恢复系数、默认关节位置偏差、躯干质心偏移和根部速度扰动。与动辄几十项随机化相比,这套集合更紧凑,避免把训练分布扩得过大而牺牲高动态动作的精度。论文还指出,过高的关节阻抗会让机器人像刚体位置伺服,放大噪声并削弱落地缓冲,因此需要保留可感知的柔顺性。
策略输出是标准化关节位置设定量,经每关节动作尺度转换为驱动器目标。设定量并不是必须精确到达的轨迹点,而是用来塑造底层 PD 力矩的中间变量,所以训练中不把动作硬裁剪到关节极限。相应源码中的奖励函数用指数误差和少量正则实现论文公式,配置则在 PPO 层保持 24 步每环境、30000 次迭代、三层 MLP [512, 256, 128] 与自适应学习率。
# whole_body_tracking/.../tracking/mdp/rewards.py
error = torch.sum(torch.square(
command.body_pos_relative_w[:, body_indexes]
- command.robot_body_pos_w[:, body_indexes]), dim=-1)
return torch.exp(-error.mean(-1) / std**2)
4. 无历史堆叠的紧凑观测
追踪策略的输入由参考动作相位、锚点位姿误差、IMU 速度、关节相对位置、关节速度和上一动作组成。参考相位只告诉策略“动作进行到哪里”,并不要求机器人直接复制参考关节角。IMU 速度帮助恢复推挤,上一动作与当前关节状态共同隐含了正在形成的接触和力矩,因而不必依赖很长的观测历史。
$$o=[\psi,e_{\mathrm{anchor}},\mathcal V_{\mathrm{imu}},\theta-\theta^0,\dot\theta,a_{\mathrm{last}}].$$动作设定写成默认关节位置加上缩放后的网络输出。这个轻量接口降低了仿真与真机之间的时序差异,也使同一策略更容易在不同物理引擎间迁移。论文强调系统级同步和低延迟,而不是把所有差异都交给随机化吸收。真机追踪策略以 ONNX Runtime 在机器人 CPU 上运行,单次推理低于 1 ms。
$$\theta^{\mathrm{sp}}=\theta^0+\alpha\odot a.$$5. 从策略轨迹到动作潜空间
第二阶段不是直接在关节空间做扩散。条件 VAE 的编码器只读取参考动作相位 ψ 与锚点误差 e_anchor,把它们压缩成表示运动意图的低维潜变量;解码器再结合当前本体感知恢复动作。VAE 的重建项保证潜变量保留可执行信息,KL 项约束潜空间连续,使扩散模型能在紧凑、平滑的空间中学习。参考相位和锚点误差提供条件,因此同一潜变量会随动作上下文落在合理区域。
训练数据来自第一阶段各追踪策略的在线采样,而不是人工标注的任务数据。为了覆盖真机可能出现的偏差,作者给动作加入时间相关的 Ornstein–Uhlenbeck 噪声,记录偏离参考后的状态和策略恢复动作。若只收集无噪声的理想轨迹,扩散模型会熟悉“完美演示”,却不熟悉部署时的误差带。
VAE 之后,状态—动作扩散模型学习潜变量序列。前向过程按噪声调度把干净潜变量变成高斯噪声,逆过程则由 Transformer 预测应去掉的噪声。干净的潜变量和对应的噪声残差构成监督目标;完成后,模型只需从随机噪声出发,经过固定步数去噪便可生成一段未来轨迹。
$$q(z^k\mid z^0)=\mathcal N\left(\sqrt{\bar\alpha_k}z^0,(1-\bar\alpha_k)I\right),\qquad \bar\alpha_k=\prod_{i=1}^k\alpha_i.$$ $$\mathcal L_{\mathrm{Diffusion}}=\mathbb E\left[\|z_\phi(\tau^k,k)-\tau\|^2\right].$$这里的“状态—动作联合”是方法能够接受下游代价的结构基础。若只生成动作,摇杆目标无法直接判断未来机器人是否达到速度;若只生成状态,生成结果又不能驱动机器人。联合轨迹让任务代价同时看到未来运动学结果和对应控制,形成预测控制式的闭环。
flowchart TD
A[Retargeted human motion] --> B[Shared RL tracking recipe]
B --> C[Stage-1 tracking policies: 50 Hz]
C --> D[Retrained 25 Hz trackers + OU rollouts]
D --> E[Conditional VAE]
E --> F[State-latent trajectories]
F --> G[Transformer diffusion prior]
H[New test-time cost] --> I[Classifier guidance]
G --> I
I --> J[Future state-latent trajectory]
J --> K[VAE decoder]
K --> L[25 Hz G1 commands]
6. 用任务梯度改写扩散轨迹
设 clean trajectory 为 τ*,当前含噪轨迹为 τ。分类器引导把条件分布的对数梯度拆成无条件生成梯度与任务似然梯度。实现时,任务只提供代价 G,所以每一步去噪都对代价求梯度并向低代价方向移动。模型先验保证结果仍像训练动作,任务梯度负责把它拉到新目标附近。
$$\nabla_\tau\log p(\tau\mid\tau^*)=\nabla_\tau\log p(\tau)+\nabla_\tau\log p(\tau^*\mid\tau)=-\nabla_\tau G(\tau).$$摇杆控制使用未来根节点平面速度与目标速度之间的平方误差。与只惩罚当前一步不同,代价覆盖 0.64 秒预测时域,使机器人提前调整步幅和身体倾角。代价可同时约束多个未来时刻,因而生成的响应比单步策略更连续。
$$G_{\mathrm{js}}(\hat\tau_t)=\frac12\sum_{i=0}^{H}\left\|V_{xy,i}(\hat\tau_t)-g_v\right\|^2.$$航点任务的代价随距离切换。离目标远时,位置误差占主导并推动机器人靠近;离目标近时,指数权重让速度项变大,促使机器人在目标处减速而非高速穿过。这个分段并非硬切换,权重由当前预测距离连续调整。
$$G_{\mathrm{wp}}(\hat\tau_t)=\sum_{i=0}^{H}(1-e^{-2d_i})\left\|P_{xy,i}(\hat\tau_t)-g_p\right\|^2+e^{-2d_i}\left\|V_{xy,i}(\hat\tau_t)\right\|^2.$$避障任务使用符号距离场。各身体球体到障碍的距离减去碰撞半径后送入障碍函数,越接近边界,代价越大。动作补全则把已知关键帧直接作为条件,让模型填补中间轨迹。三种任务共享同一个扩散先验,只更换代价或约束,因此不需要分别训练摇杆、航点和避障控制器。
7. 实时部署链路
第一阶段的独立追踪策略以 50 Hz 运行;为给扩散推理留出时间,第二阶段的数据收集与联合控制器部署会按同一公式重训追踪策略,并把整套控制降到 25 Hz。状态扩散 Transformer 约 1980 万参数,在 RTX 4060 Mobile Mini PC 上用 TensorRT 执行,20 次去噪每步约 20 ms;轻量 VAE 解码器在 CPU 上同步运行。预测线程与机器人控制线程异步连接,以缓解 GPU 推理时延。
这套链路没有把原始像素或外部动捕投入摇杆与补全任务。摇杆和关键帧任务使用本体状态估计;航点与避障实验则使用动作捕捉同时提供更准确的定位和环境上下文。部署讨论必须区分这些输入条件,不能把三类任务的自主感知能力视为完全相同。
实验结果
作者用约 2.5 小时人体动作训练第一阶段策略,并在高保真仿真中验证全部动作。真机测试挑选了 30 段代表性片段,总长约 15 分钟,涵盖单脚站立、跳跃、旋转踢、空中侧手翻、连续侧手翻、地面爬行、起身、老年步态、舞蹈和体育庆祝动作。图 2 展示的动作跨度说明,同一套奖励与超参数并未只针对某一种竞技动作调优。
最具代表性的高动态结果是空中侧手翻。机器人腾空阶段峰值加速度达到 31 m/s²,骨盆角速度最高约 20 rad/s,平均 7.01 rad/s。论文引用的熟练人类空中动作平均角速度约为 7.75 rad/s,说明 G1 的躯干旋转能力已经进入可与高水平人体动作比较的量级。落地后恢复需求很小,说明空中姿态并不只是“转得快”,还需要与着陆时机对齐。
自然性验证同时使用生物力学测量和主观评价。作者比较机器人走路、跑步的垂直地面反作用力曲线:走路出现脚跟着地和蹬离两个峰,跑步接近单峰;整体时序与人体相似,但机器人缺少脚趾关节,走路峰值更尖。随后 77 名参与者观看 20 组成对视频,每组在 5 秒片段中选择更自然的一方。
| 评价维度 | BeyondMimic | Unitree 原生控制器 | 统计结果 | 效应量 |
|---|---|---|---|---|
| 整体自然度(N=77) | 70.8% | 29.2% | p < .001 | Cohen’s h = 0.859 |
| 跑步 | 84.7% | 15.3% | p < .001 | h = 1.532 |
| 走路 | 57.0% | 43.0% | p < .001 | h = 0.281 |
跑步偏好的优势远大于走路,这与视觉可辨性一致。高速跑步中,手臂摆动、躯干前倾和腾空节奏差异更容易被观察者捕获;走路受脚趾缺失和硬件足底形状限制,步态改善仍存在但效应量较小。整体结果支持“自然性来自真实动作追踪”,同时也说明用户偏好不能替代接触力、能耗和长期可靠性测量。
测试时控制展示了三种互补能力。速度摇杆可以前后、侧向和转向移动;航点任务从不同初始位置生成平滑路径;动作补全给定稀疏关键帧后生成中间技能。图 5 展示摇杆指令与走跑切换,图 6 展示关键帧补全、技能组合和避障。关键是这些任务没有进入第二阶段训练目标,策略只在推理时通过代价函数被引导。
消融与鲁棒性
动作追踪的难点分布高度不均。论文报告,不使用失败率自适应采样时,选出的四个动作中仍有三个在训练 30000 次迭代后失败;简单动作使用自适应采样约 2000 次迭代掌握,而对照约为 4000 次。该结果说明,统一奖励解决了“同一目标如何覆盖多种动作”,采样策略则解决了“困难局部片段如何获得足够训练信号”。
潜空间建模并非只影响生成平滑度。消融中,带潜变量的侧手翻成功率为 95%,去掉潜变量后降到 5%。关节空间轨迹维度和局部非平滑性更高,扩散 Transformer 要在有限数据中直接拟合完整动作动力学,难度显著上升。VAE 在这里承担了降维与连续化,而非单纯的展示模块。
部署时延实验揭示了系统同步的重要性。2 ms 额外延迟会增大速度误差;5 ms 时三次试验出现一次失败,10 ms 时有两次失败。对慢速站立而言,毫秒级偏差可能无害;对腾空转体和快速落脚而言,参考状态与驱动时刻一旦错位,动作相位就会在接触前发生偏移。这一结果把“低延迟实现”从工程细节提升为方法成立的条件。
| 条件或消融 | 论文报告结果 | 解释 |
|---|---|---|
| 无自适应采样 | 4 个选定动作中 3 个在 30000 次迭代后失败 | 困难片段采样不足 |
| 简单动作收敛 | 自适应约 2000 次;对照约 4000 次 | 更早聚焦失败区段 |
| 侧手翻无潜变量 | 成功率 5%;带潜变量为 95% | 潜空间降低生成建模难度 |
| 额外时延 2 ms | 速度误差增大 | 预测与执行相位开始错位 |
| 额外时延 5 ms / 10 ms | 3 次中 1 次失败 / 3 次中 2 次失败 | 高动态闭环对时序敏感 |
论文还测试了 ASDF 几何障碍、外力踢扰以及机器人在行走中被按住后恢复。后者表明策略不会僵硬地维持参考速度,而会先停下、重新建立支撑,再恢复步态。该行为与统一追踪奖励和低阻抗执行器设计相符:策略追踪动作节奏,同时允许机器人在接触约束下暂停和重启。
讨论
BeyondMimic 把“技能学习”和“任务求解”分开的工程意义大于单个动作成绩。第一阶段输出的是可执行先验,第二阶段输出的是可在线优化的生成模型。新任务只需写代价函数,不必重新定义强化学习奖励,也不必为每个目标收集专家。对于动作库持续增长的人形机器人系统,这种分层比把所有指令都塞进一个多任务策略更容易维护。
分类器引导也带来明确边界。引导在潜空间或状态空间中的梯度必须可靠,任务代价必须能从预测轨迹计算。若代价依赖不可微地图、离散接触决策或长期语义推理,单次 0.64 秒预测无法独自解决。论文因此将摇杆、短时航点和局部障碍避开列为合适对象,而没有声称模型已经具备长距离自主导航或复杂任务规划能力。
从系统设计看,成功率不只由网络容量决定。执行器参数、PD 响应、动作尺度、仿真步长、ONNX 接口、异步线程和状态估计时间都参与最终表现。作者用大量动作共享参数,减少的是任务级调参;部署层仍需严格工程实现。复现工作若只复制策略网络而忽略执行器与同步,可能得到完全不同的 sim-to-real 结果。
局限分析
作者明确指出,状态估计误差会传播到扩散模型。未来轨迹会以当前锚点位置、朝向和速度为条件,若估计偏了,生成器会把偏差当成真实运动状态继续外推。真实系统可以通过传感器融合或学习式状态估计改善,但论文没有给出跨多种退化条件的系统误差曲线。
第二个作者自述限制是预测时域只有 0.64 秒。这个长度足以完成反应式平衡和局部避障,却不足以提前处理远处障碍或需要多阶段决策的任务。若直接把更远目标和当前代价连接起来,模型仍只能生成短轨迹并反复滚动,缺少显式长时规划。
第三个限制来自历史条件。历史可以稳定未来预测,却可能让模型陷入重复步态或重复动作;增大引导权重能打破重复,又会让模式切换和初始阶段更不稳定。论文观察到机器人在稳定进入步态后表现良好,但在动作开始和结束时更容易踉跄。这是生成先验、引导强度与时序状态之间尚未完全解耦的问题。
独立来看,硬件验证虽然包括 30 段动作,但平台只有 Unitree G1,且没有按动作类型系统报告多次试跑成功率、能耗和硬件磨损。不同动作的难度、持续时间与风险并不相同,统一列出的“成功部署”不能替代分层可靠性统计。用户研究也只比较 Unitree 原生步态,尚未覆盖更多参考动作和跨文化评价。
航点与避障依赖动作捕捉提供定位和环境上下文,而摇杆与关键帧任务使用本体状态估计。因此论文展示的是不同感知条件下的任务集合,不应把图 5 和图 6 的所有能力等同于同一套完全自主系统。扩散推理还使用带 RTX 4060 Mobile 的 Mini PC,并非 G1 板载计算单元;其 20 ms 单步时延是在该外部计算配置下取得。
结论与展望
BeyondMimic 的核心贡献不是把扩散模型附加到已有控制器,而是建立了一条可追踪的接口:统一动作追踪把真人动作变成高质量执行技能,潜扩散模型把技能组织成可组合轨迹,分类器引导再根据新任务代价改变生成结果。图 1 的系统总览中,数据、策略、生成模型和真机控制形成闭环,而训练阶段从未直接见到摇杆、航点或障碍物任务。
后续改进有三个自然方向。感知上,需要把更可靠的状态估计、局部地图和预测代价连接起来,减少对动作捕捉的依赖;时间上,需要更长时域或多尺度规划,让 0.64 秒局部预测与远程目标协调;控制上,需要比手工调整引导权重更细的接口,使机器人能够精确控制速度、落脚位置和动作风格,而不在模式切换时失稳。
这项工作也给出一个可复用的评估基准:动作不仅要在仿真中跟得上,还要在真实接触中保持节奏、自然性和抗扰恢复;生成控制不仅要会组合训练样本,还要在部署后才能接收新的可微目标。只有同时测量这些层面,才能判断“通用人形控制”究竟是更大的动作清单,还是能够在新任务中重新组织已有技能。
金句:真正的通用动作控制,不是把一个动作练得更像,而是让已有的动作在新目标下重新组织,同时仍保持身体的自然与可执行。



