Opensim教程1-骨骼肌肉建模入门

【Ps: 以下教程用于opensim4.0及更高版本】

一个刚刚接触opensim的小白,从官网上扒的教程,乱七八糟的整理到一起,还有很多疑问。

I. Objectives

1) OpenSim简介Introduction to OpenSim

肌肉骨骼模型Musculoskeletal models使我们能够研究神经肌肉协调性neuromuscular coordination,分析运动表现athletic performance并估算肌肉骨骼负荷 estimate musculoskeletal loads。OpenSim是一个开源软件,允许用户开发,分析和可视化肌肉骨骼系统的模型,并生成运动的动态模拟[1]。在OpenSim中,肌肉骨骼模型由通过关节连接joints的刚体段rigid body segments 组成。肌肉跨越这些关节并产生力和运动。一旦创建了肌肉骨骼模型后,OpenSim使用户能够创建自定义研究,包括研究肌肉骨骼几何musculoskeletal geometry,关节运动学joint kinematics,和肌肉肌腱特性对肌肉产生的力和关节力矩的影响。借助OpenSim,我们的目标是提供一个框架,使生物力学团体可以创建、共享和扩展可用于研究和量化人类和动物运动的模型和动态仿真工具库。

2) 目的Purpose

本教程的目的是通过演示基于图形的肌肉骨骼建模框架的实用程序向用户介绍OpenSim,以研究研究肌肉肌腱长度和手臂力矩是如何依赖于四肢形态limb configuration的。在本教程中将:
1\熟悉OpenSim的图形用户界面(GUI)。
2\发现肌肉骨骼模型的一些局限性。
3\探索单关节(“1-joint”)和双关节(“2-joint”)肌肉之间的差异。
4\使用OpenSim解决一个重要的临床问题

3) OpenSim GUI简介Introduction to the OpenSim GUI

注意:当第一次打开OpenSim时,页面不会加载任何模型。
OpenSim GUI的几个关键组件
Toolbar工具栏

Motion Textbox运动文本框
Motion Slider/ Video Controls运动滑块/视频控制

Navigator Window导航窗口

Visualizer Window可视化工具窗口

Coordinates Window坐标窗口

Properties Window属性窗口

II. Musculoskeletal Model of the Lower Extremity下肢肌肉骨骼模型

完成任务:将把下肢模型[2]加载到OpenSim中,并使该模型“行走”。
该模型代表一名成年受试者,身高约1.8米,体重约75公斤。该模型由13个刚体部分组成,包括92块肌肉的活动轨迹(每条腿43块,躯干6块)。

1) Loading a Model加载模型

使用模型:gait2392.osim
File-Open Model–Models(要先把Resources解压才能看到,教程中剩下的所有模型和运动文件都将位于这个模型文件夹中)-Gait2392_simbody folder-gait2392_simbody.osim


加载模型后,Navigator窗口将显示模型与给定模型的名称,可以通过rename重命名,若导航窗口不可见可以通过Window-Navigator调出来。

2) Viewing a Model查看模型

方法一:鼠标:旋转模型-左击鼠标拖动;平移模型-右击鼠标拖动;放大缩小-滚动
方法二:视图窗口右侧的六个定向图标(从上到下,从左到右操作结果如下):

3) Model Coordinates模型坐标

Window-Coordinates:包含与模型中的关节坐标或自由度相对应的滑块。



Poses-Default恢复默认状态;New-Poses创建新姿势;Set Default,把创建姿势设置为默认状态。

4) Muscles in a Model模型肌肉

肌肉-肌腱路径Muscle-tendon paths 由线段连接的一系列点表示。
显示单个肌肉:Navigator-Forces-Muscles-right click-display-Show Only-the gluteus medius(臀中肌)-glut_med1_r, glut_med2_r, glut_med3_r


对于一些肌肉,肌肉起始点和插入点origin and insertion两个点足以描述肌肉路径。
对于其他包裹在骨骼上或受支撑肌约束的肌肉,必须确定中间包绕点或通过点wrapping or via points。要查看这些点wrapping points:
放大右膝关节zoom in on the right knee joint-R_knee_ext-Fully flex the right knee using the knee_angle_r
请注意,在某些膝盖的伸肌中会出现一些绕点,这样肌肉路径就会扭结,看起来就会缠绕在骨骼上。一些肌肉在极端范围的运动中穿过骨骼或更深的肌肉。

Q1. Degrees of Freedom自由度
a. 模型共有多少自由度?3+3+7+7+3=23
列举右腿自由度:Hip_flexion_r:-120120;Hip_adduction_r:-120120;Hip_rotation_r:-120~120;Knee_angle_r: -120~10 Ankle_angle_r: -90~90;Subtalar_angle_r: -90~90;Mtp_angle_r: -90~90
b. 模型中的自由度与现实自由度进行比较。给出一个不包括在这个模型中的运动的例子。(踢毽子)

Q2. Muscles肌肉
a. 模型中有多少块肌肉? 92块

这和模型中的自由度有什么不同呢?要完全驱动模型,最少需要多少块肌肉?
提示:充分驱动膝盖意味着膝盖弯曲和膝盖伸展。
b. 除了臀中肌the gluteus medius以外的由多条运动线所代表的肌肉。为什么你认为这些肌肉是这样表现的?协同作用


c. 哪些膝关节伸肌有绕点?在每一个膝盖伸肌上膝盖的哪个角度出现缠绕点?一块肌肉可以有多个绕点。

III. Joint Angles, Muscle-tendon Lengths & Moment Arms关节角度,肌肉肌腱长度,力矩臂

研究肌肉肌腱长度和手臂力矩是如何依赖于四肢结构的。
肌肉骨骼几何结构对于肌肉功能和量化肌肉骨骼模型的发展非常重要,肌肉肌腱力Muscle-tendon forces 依赖于肌肉肌腱长度muscle-tendon length,而关节力矩 joint moments 同时依赖于肌肉肌腱力muscle-tendon forces和力矩臂moment arms。因此,建立一个准确的骨骼肌肉模型对于预测肌肉肌腱力和关节力矩非常重要。

Using the Plotter 使用绘图机
生成股直肌和股中间肌的纤维长度与膝关节角度图:
fiber-length vs. knee angle for the rectus femoris and vastus intermedius muscles:
Tools-Plot-Y Quantity-fiber-length- Muscles-model-group「可以通过肌肉群muscle group方便过滤所需肌肉」-R_knee_ext「右膝关节伸肌组right knee extensors group」-rect_fem_r「股直肌femoris」、vas_int_r「股中间肌intermedius」-X Quantity-knee_angle_r-Properties-type Fiber-Length vs. Knee Angle into the textbox under the Title tab「可在plot中注上单位」-OK-Add-Export image.

注意:只要 plotter window 打开,不必关闭muscles window窗口,在同一幅图上创建多条曲线时,这将非常有用。不要关闭plot窗口,因为您将在下一节中添加更多的曲线。

Q4. Muscle Fiber Length vs. Joint Angle
a. 研究肌纤维长度与膝关节角度的关系。对于股直肌和股中间肌,如果右髋屈曲,你认为纤维长度曲线会有所不同吗?会。为什么或为什么不?髋关节屈曲对股直肌Rect_fem_r纤维长度影响大,不影响股中间肌纤维长度。


b. Coordinates window-adjust the model’s right hip flexion to 45 degrees-save the pose as r_hip_flex_45)-add rectus femoris and vastus intermedius fiber-length curves for 45º hip flexion添加股直肌和股中间部纤维长度曲线45º髋关节屈曲。
将之前绘制的未弯曲臀部的模型的肌肉曲线与刚刚绘制的模型的曲线进行比较。曲线是如何变化的?解释你的发现。双关节肌如何使分析复杂化?

Q5. Muscle Moment Arm vs. Joint Angle
画出右股直肌和股中间肌的膝关节伸展力矩臂与膝关节角度。plot the knee extension moment arm vs. knee angle for the right rectus femoris and vastus intermedius muscles.
打开一个新plot-Y-Quantity -moment arm -knee_angle_r-X-Quantity-knee_angle_r-Muscule-group- R_knee_ext-Select the right rectus femoris (rect_fem_r) and vastus intermedius (vas_int_r) muscles- title:Knee Extension Moment Arm vs. Knee Angle-Add.
单位:米(长度),牛顿(力),牛顿-米(力矩)。

IV. Assessment of Hamstrings Length During Crouch Gait评估蹲姿时腿筋长度

使用OpenSim来研究屈膝步态crouch gait的可能原因,是脑瘫患者individuals with cerebral palsy最常见的行走异常walking abnormalities之一。其特点是在站立阶段膝关节过度屈曲,常伴有髋部过度屈曲和内旋It is characterized by excessive flexion of the knee during stance phase, which is often accompanied by exaggerated flexion and internal rotation of the hip.。
判断病人的腿筋hamstrings是否比“正常”更短的一个可能的方法是建立一个肌肉骨骼模型,并比较病人蹲伏步态周期the patient’s crouch gait cycle中腿筋的长度和正常步态周期中a normal gait cycle的腿筋的长度。

1) Loading a Motion加载

gait2392.osim需要将一个相关的运动文件加载到OpenSim中:
File-Load Motion-Gait2392\Tutorial1-normal.mot「This motion file contains kinematics for a normal gait」. -Open-Rename:Normal-Motions
注意:在Navigator窗格中重命名只会改变显示名称,不会影响模型的文件名。

2) Motion Slider运动滑块

3) Multiple Models and Motions多模型运动

open a second gait2392.osim -rename: Crouch-double clicking-Load motion-crouch1.mot-Gait2392\ Tutorial1-hold down Ctrl (Windows) or Command (Mac)-select both motions-Sync. Motions

Q6. Range of Motion
a. 同步播放正常步态和蹲伏步态。一定要循环动画,调整播放速度,并旋转模型。视觉上比较两种运动,定性地描述关节坐标的normal和crouch步态运动。
定量地比较屈膝和正常步态周期的膝关节屈曲角度

b. 标出脚跟着地heel strike和脱趾发生toe-off的时间,以及站立the stance intervals和摆动间隔the swing intervals。
Normal:
前脚掌着地:0.685;左脚跟着地0.764;站立间隔0.685-0.184=0.499;左脱趾0.184;摆动间隔:0.184-0.685=0.501
Crouch:
前脚掌着地:0.718;左脚跟着地0.559;站立间隔0.559-0.154=0.595;左脱趾0.154;摆动间隔:0.154-0.559=0.495
c. 在正常步态中,站立阶段膝关节屈曲的活动范围是多少?-2—-55
d. 与正常步态相比,屈膝步态的膝关节屈曲范围如何?范围小很多

Q7. Hamstrings Length腿筋长度
比较腿筋(半腱肌)长度在病人蹲下步态周期的腿筋长度。
绘制半腱肌-肌腱长度在屈膝和步态周期Plot the semitendinosus muscle-tendon length over the crouch and gait cycles

a. 研究曲线。在正常步态和蹲姿步态中,腿筋的峰值长度是如何比较的?对于这个病人,你会推荐腿筋延长手术吗?
b. 你的分析有哪些局限性?

Q8. Additional Crouch Gait Files (optional)额外的屈膝步态文件(可选)
这位矫形外科医生还要照顾另外三名屈膝走路的病人。对运动文件crouch2、crouch3、crouch4重复上述分析。可以将多个运动与一个模型相关联。对于这些病人,你给外科医生的建议会有什么不同吗?如果你想了解更多关于这种类型的分析,请阅读参考[3]。

References

[1]Delp, S.L., Anderson, F.C., Arnold, A.S., Loan, P., Habib, A., John, C.T., Guendelman, E., Thelen, D.G. OpenSim: Open-source software to create and analyze dynamic simulations of movement. IEEE Transactions on Biomedical Engineering, vol. 55, pp. 1940-1950, 2007.
[2]Delp, S.L., Loan, J.P., Hoy, M.G., Zajac, F.E., Topp E.L., Rosen, J.M. An interactive graphics-based model of the lower extremity to study orthopaedic surgical procedures. IEEE Transactions on Biomedical Engineering, vol. 37, pp. 757-767, 1990.
[3]Arnold, A.S., Liu, M., Ounpuu, S., Swartz, M., Delp, S.L., The role of estimating hamstrings lengths and velocities in planning treatments for crouch gait, Gait and Posture, vol. 23, pp. 273-281, 2006.

Opensim教程1-骨骼肌肉建模入门相关推荐

  1. 【3d建模】zbrush教程非常适合零基础入门,一学就会

    ZBrush 是一款新型的 CG 软件,它的优秀的Z球建模方式,不但可以做出优秀的静帧,而且也参与了很多电影特效.游戏的制作过程(大家熟悉的指环王III,半条命II都有Zbrush 的参与).它可以和 ...

  2. 3Dmax人物建模入门教程教学- 头部制作

    一般头部建模有两种方法 1.用box调整出头部轮廓然后细调整: 2.用面片挤压,逐步挤压出整个面部,这里用第一种方法,直观感觉较快 形体初始准备阶段 1. 创建一个长方体 2. 将长方体改为长.宽.高 ...

  3. Opensim教程3-缩放,逆运动学,逆动力学

    [Ps: 以下教程用于opensim4.0及更高版本] Tutorial 3 - Scaling, Inverse Kinematics, and Inverse Dynamics I.目的 本教程的 ...

  4. 例一---骨骼肌肉模型简介

    一:目标 Opensim简介 骨骼肌肉模型能用来研究神经肌肉的自由度,分析运动表现,预测肌肉负荷.Opensim是一款开源软件,允许用户开发.分析.可视化骨骼肌肉模型并进行运动动力学仿真.软件中的骨骼 ...

  5. python教程视频哪个好-Python入门视频哪个好?

    Python入门视频哪个好?假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程,那么这些Python入门教程将带你走入Python的大门.如果你希望真正学好一门语言,你还是需要亲 ...

  6. 3D游戏建模入门基础:3dmax常用功能详解

    你收藏了那么多教程,却不知道3dmax怎么入门?掌握3dmax常用功能是3dmax入门的基础之一,所以呢小编今天就为您盘点了一些3dmax最常用到的功能和使用方法,快来和小编一起学习3dmax入门基础 ...

  7. 3D游戏建模入门初级教学:制作纹理逼真的法线贴图

    下图是一只恐龙的低模布线,细心的朋友估计会看到恐龙头部的布线密度是要远远高于身体和四肢的,这种布线的好处就是可以在你需要着重刻画的部位经过细分后生成的模型面数会远远高于那些次要部分,会使你的细节刻画更 ...

  8. 速写为什么要把人画丑?骨骼肌肉比画的更像加分

    很多同学不明白为什么一个很好看的模特画出来的感觉好丑?我们首先要了解到为什么丑?我们传统意义下的考试不是要求画的更像,更好看,而是看这幅作品有没有得分点,速写的加分点更重要的是人体的结构.线条.比例和 ...

  9. 3D建模入门看什么书?怎么才能高效有技巧学习

    近两年,动漫游戏行业发展的越发红火,刚刚过去的一年,不管是动漫行业还是游戏行业都交出了令人满意的答卷,动漫电影票房轻松过亿,电视动画精品佳作层出不穷,游戏行业销售收入创下历史新高,预计未来5-10年, ...

最新文章

  1. 代码即财富之我学Java对象序列化与反序列化(2)
  2. [票据打印]打印走纸控制(1) - 设置纸型
  3. python插件化设计_Python打造出适合自己的定制化EclipseIDE
  4. java实验指导书(实验四)答案_java程序设计实验指导书答案
  5. oracle orapath,SQLNET.ORA中的NAMES.DIRECTORY_PATH设置
  6. Python设置常量不可修改的办法
  7. android统一错误ui展示,Android UI异常分析
  8. 通过代码下载全国范围详细区县行政区Shp数据
  9. # 研究杂感 × VOSviewer(第四辑)
  10. 大一c语言基础试题及答案,大一大学计算机基础期末考试试题「附答案」
  11. 2020年最好用的离线下载网盘,不限速度和空间
  12. 初中作文计算机想象作文,初中想象作文600
  13. 进口吲哚菁绿活化脂,ICG-NHS ester,Indocyanine Green - Activated Lipid
  14. 前端和后端哪个工资高?前端工程师的工资,比后端低吗?
  15. 姓名转拼音的几种格式
  16. 车轮轨迹原理_方向盘与车轮轨迹图解,方向盘和车轮的动态图
  17. Windows下使用Jconsole远程监控Linux系统中java服务器资源占用情况
  18. 【784. 字母大小写全排列】
  19. 解决Google Chrome浏览器字体模糊的问题
  20. C/C++,定时关机代码和取消定时关机(应用范畴)

热门文章

  1. 基于微信小程序的食堂订餐
  2. 购置税用计算机怎么算,进口车辆购置税可以通过网络购置税计算器来计算
  3. 禁止scrollview上下拖动
  4. 基于OpenAL的音频采集模块
  5. ARM架构与编程2--ARM架构(基于百问网ARM架构与编程教程视频)
  6. 2020春节寒假总结
  7. java 时间 pm_以AM / PM以12小时格式显示当前时间
  8. 【MSP430】基于MSP430G2553的非接触式转速测量仪
  9. nuxt使用antv-l7踩坑
  10. 使用sysbench进行压测达梦V8数据库