OpenSim教程四——在人体肌骨模型中添加三维模型

本文目标

OpenSim自带的人体模型只有骨骼、肌肉和关节,如果需要研究人体与其他物体的相互作用(比如说人提起一个重物时胳膊各肌肉的受力分析),就需要在原模型中添加实体模型(该模型需在三维CAD软件中建好)。本文就以人提水桶为例,介绍如何在一个上肢模型中添加一个水桶。

步骤

1、导入人体模型。打开OpenSim 4.0,在File->Open Models…中选择Models\Arm26\arm26.osim,导入人体上肢肌骨模型,如下图。
Arm26
2、用xml编辑器(如Notepad++)打开arm26.osim(该文件一般在我的文档\OpenSim\4.0\Models\Arm26下),浏览该文件,可以发现主要包含BodySet, ConstraintSet, ForceSet, MarkerSet, ContactGeometrySet, ControllerSet, ProbeSet, 和ComponentSet这八块内容,如下图。
osim
BodySet模块中,可以发现在objects标签下有ground, r_humerusr_ulna_radius_hand三个Body条目,表示组成现有模型的三块部分(上半身、大臂、小臂)。
将文件复制、重命名为arm26_with_bucket.osim,在新的文件中进行编辑,以免破坏原文件。
添加一个新的Body条目,命名为bucket,如下图
在这里插入图片描述
3、在bucket标签中添加水桶质量、质心、转动惯量等属性(mass, mass_center, inertia_xx, inertia_yy, inertia_zz, interia_xy, inertia_xz, inertia_yz),如下图
在这里插入图片描述
4、添加连接信息。在bucket里面添加Joint标签,定义PinJoint,其中location_in_parentorientation_in_parent定义了连接点在母体上的位置,locationorientation定义了连接点在子体上的位置,具体看下图
在这里插入图片描述
5、定义广义坐标。在PinPoint标签里添加Coordinate标签,设置关节类型、默认值、默认速度、运动范围等属性,如下图
在这里插入图片描述
6、设置几何属性。在Joint标签下面添加VisibleObject标签,里面包括定义模型几何参数的GeometrySet,其中水桶的模型文件bucket.vtp(也可以是其他格式的文件)放在geometry_file标签下,如图所示
在这里插入图片描述
7、保存文件,在GUI中打开arm26_with_bucket.osim,即可看到添加了水桶的人体模型。
在这里插入图片描述

总结

至此,我们演示了如何将一个现有的三维CAD实体模型嵌入到OpenSim的人体肌骨模型中,这在一些人机工程学的研究中十分有用。事实上,除了对.osim文件进行编辑,我们还可以直接在OpenSim软件GUI中直接对物体的参数进行设置。

评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值