论文阅读(9)Residual Force Control for Agile Human Behavior Imitation and Extended Motion Synthesis

Residual Force Control for Agile Human Behavior Imitation and Extended Motion Synthesis

研究目标

基于物理的运动生成模型通过引入物理约束能够生成更加自然的动作,但由于训练环境中使用的动力学模型与测试/现实中的实际动力学模型存在差异(人体模型 vs 真实人体、仿真环境 vs 真实环境,等),导致人体模型与真实人类的动力学不匹配问题,从而难以实现高敏捷动作模仿(如芭蕾舞蹈)和无任务引导的多模态长期运动合成

研究贡献

  1. 引入残差力控制(Residual Force Control,RFC)概念,用于微调已有控制策略的输出,使其适应当前真实环境的动力学(质量、摩擦力、重力、关节力矩、速度和加速度等),增强模型应对复杂动作的能力(高敏捷动作)
  2. 提出双策略控制框架,能够在没有任务指导或用户输入的情况下合成多模态的长期人体运动

问题建模

该论文将人体控制的动作模仿任务建模成马尔科夫决策过程(MDP),然后使用强化学习进行求解。MDP 由五部分组成 M=(S,A,T,R,γ)\mathcal{M}=(\mathcal{S,A,T},R,\gamma)M=(S,A,T,R,γ),其中

  • S\mathcal{S}S 为状态空间(States),表示当前的身体姿态 x=state(q,q˙)x=state(q,\dot{q})x=state(q,q˙),其中 qqq 表示所有关节的自由度(Degrees of Freedom),由根关节自由度 qrq_rqr(身体位置和朝向)和非根关节角度 qnrq_{nr}qnr 组成,q˙\dot{q}q˙ 表示所有关节自由度的速度(线速度、角速度)
  • A\mathcal{A}A 为动作空间(Actions),采用目标角度 uuu 作为强化学习的策略输出,然后使用比例微分(PD)控制器计算对应关节扭矩 τ\tauττ=kp∘(u−qnr)−kd∘q˙nr\tau=k_p\circ (u-q_{nr}) - k_d \circ \dot{q}_{nr}τ=kp(uqnr)kdq˙nr,其中 kp,kdk_p,k_dkp,kd 为手动设置的比例和微分增益,分别用于跟踪目标角度和抑制关节速度过快导致的振荡
  • T\mathcal{T}T 为转移函数(Transition),根据给定当前状态 sts_tst 和动作 ata_tat,计算下一状态 st+1s_{t+1}st+1 的概率分布 T(st+1∣st,at)\mathcal{T}(s_{t+1}|s_t,a_t)T(st+1st,at)
  • RRR为奖励函数(Reward),用于计算 agent 身体姿态 xtx_txt 与参考动作 x^t\hat{x}_tx^t 的相似度,包括衡量 agent 非根关节自由度、关节速度、末帧姿势、质心与参考动作的差异
  • γ\gammaγ 为折扣因子,用于平衡即时奖励与长期奖励
    采用参数化的高斯策略,给定状态 sss 输出动作 aaa 的条件分布 πθ=N(a∣s)\pi_\theta=\mathcal{N}(a|s)πθ=N(as)

残差力控制(RFC)

在原始控制动作 ata_tat 之外引入额外的修正动作 a~t\tilde{a}_ta~t(即残差力),形成复合动作(at,a~t)(a_t, \tilde{a}_t)(at,a~t)。该残差力作为时变的动力学补偿项,允许 agent 更好地模仿参考动作。因此,需要设计复合策略 π~θ(at,a~t∣st)\tilde{\pi}_\theta(a_t,\tilde{a}_t|s_t)π~

脆性断裂相场建模的残差控制交错求解方案(Residual control staggered solution scheme for phase - field modeling of brittle fracture)是用于处理脆性断裂相场模型数值求解的一种方法。 在脆性断裂的相场建模中,通常需要求解多个相互耦合的方程,例如描述位移场的力学方程和描述裂纹相场的方程。交错求解方案是将这些耦合方程分开依次求解,而残差控制则是在求解过程中通过监测残差来控制求解的精度和收敛性。 通过残差控制,可以动态地调整求解过程中的参数,比如迭代次数、时间步长等,以确保每一步求解的结果都满足一定的精度要求。在交错求解中,会交替地求解位移场和相场,在每一次交替求解后计算残差,当残差小于预先设定的阈值时,认为求解收敛。 以下是一个简单的伪代码示例,展示残差控制交错求解方案的基本流程: ```python # 初始化参数 t = 0 dt = 0.1 max_iter = 100 tolerance = 1e-6 # 初始化位移场 u 和相场 phi u = initialize_displacement() phi = initialize_phase_field() while t < total_time: iter_count = 0 residual = 1e10 while iter_count < max_iter and residual > tolerance: # 求解位移场 u ,固定相场 phi u_new = solve_displacement(u, phi) # 计算位移场的残差 residual_u = calculate_residual(u, u_new) # 求解相场 phi ,固定位移场 u_new phi_new = solve_phase_field(u_new, phi) # 计算相场的残差 residual_phi = calculate_residual(phi, phi_new) # 总残差为位移场残差和相场残差的某种组合 residual = max(residual_u, residual_phi) u = u_new phi = phi_new iter_count += 1 t += dt ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值