OpenSim学习笔记(五):IK的原理和操作

本文目录

  • 逆运动学(Inverse Kinematics)
    • IK的主要原理
  • IK的操作方法

逆运动学(Inverse Kinematics)

逆运动学Inverse Kinematics,简称IK,在OpenSim中主要用于生成模型的运动信息。

在OpenSim官网中,我们可以看到这样的描述:IK工具将遍历运动的每个时间步(帧)来计算广义坐标,该坐标将模型的marker放置在与实验数据(受试者标记点)最匹配/最贴合的位置。在数学上,“最匹配”表示为加权最小二乘问题。

通俗的说,当你通过实验获得了一组受试者身体各个标记点的运动轨迹数据之后,利用IK工具,可以让模型的markers沿着实验数据的各点轨迹来运动,这样整体看来,模型就以受试者的姿态完成了在计算机中的“运动”(这个过程也可以认为是将实验运动数据加载到OpenSim模型中的过程,这只是便于理解,实际上并非如此)

IK的主要原理

在IK中,逆运动学计算算法的基本原理就是,按照采样频率将实验数据分成一个一个的“帧”,我们可以假设某次实验用采样频率为30Hz的试验台收集了十秒数据,那么OpenSim中就认为这组数据有300帧,

首先将第一帧到第二帧的实验标记点位置变化记录下来。

紧接着,用模型的markers的位置,来和第二帧的实验标记点进行比较,并驱动模型的各个拥有自由度的关节,使模型姿态发生改变,以达到markers与实验标记在空间上其广义坐标值“完全一致”

这时,我们可以认为,模型已经和第二帧的受试者动作保持一致了。接下来就用第三帧的实验数据和第二帧的模型姿态作为基础,重复上述两个步骤,以此类推直到完成全部帧的计算。

完成上述步骤后,模型就会与实际的人的运动姿态相一致了。

当然,上述过程只是一种理想化的计算。在实际过程中,往往无法保证全部的markers都与目标标记点重合,那么这时候就要引入最小二乘函数来对重合的程度加以评判,以确定什么时候能够达到基本重合,并且进行下一步操作。

关于最小二乘法的具体原理和误差调整的方法,我会在后面的文章中进行详细的探讨,主要原因是我自己现在也没有弄得太清楚**(当然不是指算法本身!而是操作方面)**,基本上都是使用默认设置哈哈

IK的操作方法

与Scale一样,IK同样拥有两种计算方法,分别是利用现有的数据进行计算或者是利用实验室测量的数据进行计算,与Scale类似的是,如果利用现成的配置进行计算的话,仅仅需要载入IK配置文件——IK-Setup.xml之类的文件。这种操作相对来说比较简单,不清楚的同学可以参见我的上一篇文章: OpenSim学习笔记(四):Scale的原理以及操作

那么下面我们将主要集中介绍一下如何使用自己从实验室获取的数据来进行IK操作

在开始之前,我们默认已经进行了模型缩放Scale的操作,并且此时我们拥有实验数据walk.trc,此处我们选择Gait2392模型作为参考模型,缩放后的模型如下图所示:

打开Tools- Inverse Kinematics,我们看到如下界面

这个界面分为三个部分,其中Current Model部分可以不用管,在IK Trail这一部分中,我们首先点击Marker Dara From Trail后面的小文件夹图标,这样可以载入实验测得的数据(注意这个数据文件必须是.trc格式的),在此处我们选用如下所示的文件:

紧接着,勾选Coordinate data from trail,并点击后面小文件夹,选择subject01_walk1.mot这一文件

并且在最后一栏Output处选择一个你希望存储计算结果的路径,最后点击Run就可以完成计算了。

完成上述计算的过程中,大家可能会碰到一个问题,那就是自己的文件夹中可能并没有刚刚提到的subject01_walk1.mot这个文件,因为大家的实验过程中也没有得到这样一个文件,那么这个文件到底是干嘛的呢?

首先,就算我们从OpenSim给出的模型库中使用其标准IK配置文件,我们也会发现,在文件夹中是看不到这样一个名为subject01_walk1.mot的mot文件的,这个文件仅仅在你从OpenSim内部进行勾选Coordinate data from trail,并点击后面小文件夹之后才会看到(如上图所示)。

也就是说,一个比较诡异的事情就是在原始的文件夹中找不到这样一个文件(也不是被隐藏了,我不是傻子),但是从OpenSim里面却清楚的看到这个文件确实存在。

那么对于没有这个配置文件的我们来说,要怎么办才能完成IK呢?

结论就是:这个.mot文件其实完全可以不要,当你不勾选Coordinate data from trail时,这样其实就可以直接计算了,只不过Run按钮可能是灰色的。你可以通过如下图所示的weight选项卡

从其中将红色背景,标注 From File- Not Found的行前面的勾全部取消掉,之后Run按钮就可以点击了。

以下是Ik计算的结果,通过最上方的播放控制按钮可以观看计算结果了

(0)

相关推荐

  • 招投标案例,基于语义的招标文件示范文本智能更新研究

    文章链接:2021年8月23日,招投标案例,基于语义的招标文件示范文本智能更新研究 中国招标投标协会 阳光采购引领者广州品时 收录于话题 #以往法律法规条例,公众号文章目录15 #以往招投标动态,公众 ...

  • ES入门及安装软件

    es介绍 Elasticsearch,简称es,是一款高扩展的分布式全文检索引擎.它可以近乎实时的存储,检索数据.es是面向文档型的数据库,一条数据就是一个文档,用json做为文档序列化的格式.es是 ...

  • 建立慢性疾病的通用模型和终极算法

    历史的长河,孕育出许多大师,他们通过对大自然的观察.思考.分析.总结,找到自然现象的共同规律,并通过提取模式.建立模型.设计算法,形成了解析自然.预测未来.改变世界的科学定律.苹果落地激发牛顿逆向演绎 ...

  • 对立 │ 每日糊图:20190917

    每日糊图 No.14612 对立 INVERSE 有时为了做好一件事情, 你需要找到一些支持对立面的证据. Sometimes in order to do one thing well, you m ...

  • C# LINQ学习笔记五:LINQ to XML

    本笔记摘抄自:https://www.cnblogs.com/yaozhenfa/p/CSharp_Linq_For_Xml.html,记录一下学习过程以备后续查用. 一.生成xml 1.1创建简单的 ...

  • 《中医基础理论》学习笔记(五)

    五行学说 五行是中国古代哲学的基本范畴之一,是中国上古原始的科学思想."五",是木.火.土.金.水五种物质:"行",四通八达,流行和行用之谓,是行动.运动的古义 ...

  • 学习笔记五

    奋斗的理由是厌恶了之前的圈子.不要自以为是,要让别人为是.认为自己什么都不是,别人才认为你是.过五关中毅力关最难过. 找心一致,行动一致,志同道合的人. 因为一个和字,就可以让你小成功光宗耀祖,大成功 ...

  • 什么是ATT试验?开关型油动机油路学习(上汽学习笔记五)

    润滑油系统学习推荐: 为什么汽轮机润滑油温一般要求控制在38℃-45℃,30℃行不行?50℃行不行? 主机润滑油冷油器切换现场操作展示 为什么25项反措要求主机润滑油系统的阀门门芯必须与地面水平安装? ...

  • 密封油系统停运,先停空侧还是先停氢侧?(学习笔记五))

    昨天学习密封油系统启动操作相关知识,学习笔记如下: 为什么发电机内没有压力,氢侧油箱无法自动排油?(启动学习笔记四)) 前几日学习笔记: 密封油系统启动时,油从哪来?(学习笔记一) 密封油四路备用油源 ...

  • 辅行诀大小泻肺汤学习笔记(五)

    四.肺之虚实为病 <辅行诀>云:肺虚则鼻息不利:实则喘咳,凭胸仰息. 肺病者,必咳喘逆气,肩息,背痛,汗出憎风:虚则胸中痛,少气,不能报息,耳聋,咽干. 邪在肺,则皮肤痛,发寒热,上气喘, ...

  • IOS之学习笔记五(合成存取方法)

    一.主要属性介绍 1.自动合成setter.getter方法 1).接口部分@property指定属性  2).实现部分@synthesize 如果 @syntheszie  widows = _wi ...

  • 甲状腺体系化课程--学习笔记五

    在 10 月 11 日上线的甲状腺病理学体系化课程中,朱教授为我们讲述了甲状腺肿瘤性病变-微小癌的诊断与鉴别诊断. 面对这样知识点丰富的课程,除了反复观看之外,我们也要利用学习笔记来加深记忆哦.本期小 ...

  • Tekla 软件 学习笔记(五)

    5.2 平移 要平移,请按住鼠标中键. 指针变为手形符号后,单击并拖动模型可将模型移动到视 图窗口的任意位置. 要激活或禁用鼠标中键平移,请单击工具 > 选项 > 中间按钮平移,或者按 S ...