码迷,mamicode.com
首页 > 其他好文 > 详细

论文总结

时间:2015-03-28 20:23:13      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

看了 Real-Time Control of Physically Based Simulations using Gentle Forces这篇文章
文章截图如下:
技术分享

文章要完成的任务是,首先给定一个参考网格序列,然后在实际物理模拟中,对照参考序列施加额外的力,使得模拟的序列既保持物理真实,又能够受到参考序列控制。

对于有限元模拟,有动力学方程
技术分享
其中p是顶点位移,dp/dt是速度。
令状态变量z=[p,dp/dt],可化为:
技术分享
其中w是额外施加的控制力
由此可见,wfb变化时,z(t)是wfb的函数,因为对于每组wfb序列,由物理模拟方程
技术分享
都可以得到z的序列。

为了当不具有外力输入时,物体按照参考轨迹运动,首先把上式的w分成多项
技术分享
wff称为前馈控制力,预先算出。方法是把参考轨迹代入动力学方程得下式,反求出wff。
技术分享
wext为外力,例如是用户在模拟过程中通过交互施加的力,因此模拟之前不可预知。

此处讲讲前馈与反馈:
前馈的意思是,假定预先知道系统的一些特性(此处就是物体要沿着参考轨迹运动),基于这些知识,预先给系统施加一些力。
与前馈相对的是反馈,反馈的做法是根据此时系统实际的运行偏差(此处是在模拟过程中,会遇到突然施加的一些外力),施加力使得系统偏差缩小。
前馈控制是基于"先验知识"的,是事先设计好的(正式物理模拟之前已经算出每步的wff),而反馈控制是基于实际偏差,是一种事后补救方法(在物理模拟的进行过程中,根据当前偏差去修正)。

控制的方法是,在每一个时刻,最小化以下关于wfb的函数:
技术分享

其中z(t)是状态变量

由于z关于wfb高度非线性,需要在参考序列附近对其线性化。
令 Δz = z - zref , zref是参考序列的状态,有:
技术分享,于是
技术分享,当Δz为0时,由前述定义,wfb也为0
于是Δz变成wfb的线性函数,于是最小化的(5)式就是wfb的二次型,便可快速求解。







论文总结

标签:

原文地址:http://www.cnblogs.com/dydx/p/4374675.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!