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中直接对物体的参数进行设置。

  • 20
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 38
    评论
以下是基于Windows系统的OpenSim安装教程: 1. 下载OpenSimulator二进制文件 在OpenSimulator的官网(https://opensimulator.org/)上下载最新的Windows二进制文件。选择“Download”页面上的“Windows Binaries”链接,然后选择你需要的版本进行下载。 2. 解压缩OpenSimulator文件 将OpenSimulator文件解压缩到你想要存放它的文件夹。你可以选择将其解压缩到C:\Program Files\OpenSimulator目录下,但这需要管理员权限。 3. 配置OpenSimulator文件 进入解压缩后的OpenSimulator文件夹,找到“bin”目录下的“OpenSim.ini.example”文件,并将其重命名为“OpenSim.ini”。 4. 配置OpenSimulator数据库 如果你想要使用MySQL数据库,请确保已经安装了MySQL服务器,并设置了正确的用户名和密码。在“OpenSim.ini”文件,找到以下内容: ```[Startup] ; default is to use BasicData.ini as the data source, but you can choose ; to use a different one here. ; DataSource = "BasicData.ini" DataSource = "MySQL" ``` 将“DataSource”设为“MySQL”,并在下面添加以下内容: ```[DatabaseService] ; Connect string for the MySQL database server. ; This assumes you have a database called "opensim" which ; you have granted rights to the user specified below. ConnectionString = "Database=mysql;Server=localhost;Port=3306;Uid=root;Pwd=mypassword;Database=opensim;" ``` 将“Uid”和“Pwd”修改为你的MySQL用户名和密码,将“Database”修改为你想要使用的数据库名称。 5. 启动OpenSimulator 双击“bin”目录下的“OpenSim.exe”文件,OpenSimulator将会启动。如果出现错误,请检查“OpenSim.ini”文件的配置是否正确。 6. 连接到OpenSimulator 用一个Second Life兼容的客户端(比如Firestorm、Singularity等),连接到OpenSimulator。在登录界面,输入你的用户名和密码,以及OpenSimulator的IP地址和端口号(默认为“localhost:9000”),然后点击“连接”按钮。 7. 开始使用OpenSimulator 现在你可以在OpenSimulator创建一个虚拟世界,并开始构建你的虚拟环境了!
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值