zoukankan      html  css  js  c++  java
  • A Dynamic Motion Control Technique for Humanlike Articulated Figures

    [source] Eurographics

    [year] 2001

    对基于物理的人体动画中人物的动态控制技术

    Tracking input motion specified by a user

    Dynamic Response

    Comfort and balance control to compute the angular acceleration of joints

    Assumes input motion is already realistic and is aimed at dynamically changing the input motion in real-time only when unexpected physical input is applied to the figure.

    2 相关工作

    分别回顾了 时空约束方法、 Dynamic Simulation (PDS) 、Motion Control Using Dynamics

    3.系统描述

    3.1 人体模型

    骨架模型, 肌肉:设置力矩上下限(可由limit及角速度估计)

    3.2运动表示

    角速度轨迹

    3.3 动力学模拟

    Euler integration

    ZMP & MMP

    4 跟踪

    4.1Agular Acceleration of Each Joint

    这里就比较奇怪了…

    文中讲用的是PDS的思想,但产生的不是力矩,而是对角度直接作用…

    这点很淫荡,相当于直接曲线编辑了…那还叫什么动力学跟踪…

    编辑时,Ferguson curve,( time, value, derivative) at knot points

    1.确定target point: 最近的extremity point

    2.曲线:q(s) = (2s^3 –3s^2+1)\theta + (-2s^3+3s^2)\theta_t + (s^3 – 2s^2+s)\dot \theta + (s^3-2s^2+s)\dot \theta_t

    T = target_time –current_time, s= \frac{t – current_time}{T}  (\theta_t, \dot \theta_t)目标

    求二次导,且令s=0,可求出\DDot \theta

    [这边 extremity points怎么求的啊?? Tell Me]

    4.2Angular Acceleration of Limb Joints

    腿跟手臂可能受到约束

    5 Dynamic Motion Control

    为了产生反应性动作。

    新的角加速度由之前跟踪得到的加速度与一个加速度增量构成

    5.1control foundation

    5.1.1 comfort control

    \tao = H(\theta) \ddot\theta + C(\theta,\ddot \theta) + G(\theta) + F(\theta)

    H: moment of inertia

    C:coriolis and centrifugal force

    G:gravity

    F:external force

    \tao_{stress},I = {1,2,3种情况

    目标,最小化上\tao_{stress}

    5.1.2 Balance Control

    5.2Control Strategy

    f(\Delta \ddot \theta) = || + || + ||

    即除了原始的增量外还要考虑 comfort 和 平衡

    使之最小化,得到最优增量

    对身体分三部分控制

    5.3 Control Algorithm

    几个部分之间相互作用,导致难以计算,因此按重要程度依次计算。 【有点扯啊,虽然见过类似处理,但这个也太粗暴了】

    文中给出了伪代码,参考原文.

    总得说来,还是通过对各关节角度的精巧控制来实现的。这种精巧的东西应该不是理解的方案。

  • 相关阅读:
    记Spring搭建功能完整的个人博客「Oyster」全过程[其二] Idea中Maven+SpringBoot多模块项目开发的设计和各种坑(模块间依赖和打包问题)
    记Spring搭建功能完整的个人博客「Oyster」全过程[其一] 整体思路:需求、架构及技术要求
    [总结-动态规划]经典DP状态设定和转移方程
    HDU-6217 BBP Formula 脑洞
    UVA-11426 GCD
    UVA-11806 Cheerleaders 计数问题 容斥定理
    CodeForces-546D Soldier and Number Game 筛法+动态规划
    CodeForces-148D Bag of mice 概率dp
    Gym-101615D Rainbow Roads 树的DFS序 差分数组
    AVL树 算法思想与代码实现
  • 原文地址:https://www.cnblogs.com/justin_s/p/2063574.html
Copyright © 2011-2022 走看看