接口"/>
OpenSim教程六——Matlab接口
OpenSim的Matlab接口
OpenSim是进行人体肌骨模型仿真的免费软件,虽然它是开源的,但非计算机专业的人一般只会用官方提供的GUI。这个GUI是用JAVA写的,实现对自定义肌骨模型及其运动效果的可视化,功能比较有限。如果想自己实现一些对肌骨模型的控制,或者是想做物理实体与肌骨模型相互作用的联合仿真,则建议在Matlab中调用OpenSim的API,毕竟Matlab/Simulink有强大的数据处理和控制系统建模的能力。
本文参照官网教程,演示如何在Windows的Matlab中设置OpenSim接口。本人的软件版本信息:Windows10(64位),Matlab 2018b(64位), OpenSim 4.0,其他版本应该也可以。需要注意的是,在matlab中调用OpenSim API需要先源码安装OpenSim。
设置Matlab环境
假设已安装OpenSim和Matlab。
- 将目录OPENSIM_INSTALL_DIR/bin(如C:/OpenSim 4.0/bin)添加到系统环境变量Path中,并确保它置于所有OpenSim安装之首;
- 打开Matlab,更改目录到OpenSim安装文件夹下放Matlab脚本的子文件夹,默认是C:/Users//Documents/OpenSim/4.0/Code/Matlab;
- 运行该文件夹下的脚本 configureOpenSim.m,在弹出的对话框中选择OpenSim的安装目录,一般是C:/OpenSim 4.0。完成后,会弹出成功对话框;
- 重启Matlab,在命令行窗口打下面指令;
>>> org.opensim.modeling.opensimCommon.GetVersion();
若出现OpenSim版本号则说明设置成功。
使用OpenSim库函数
在设置好Matlab环境后,需要载入OpenSim的库才能调用相关的函数,即每次在Matlab使用OpenSim API 前都要输入指令
>>> import org.opensim.modeling.* % Import OpenSim Libraries
若查看OpenSim某个类有哪些方法,可以输入以下指令
>>> methods Body
>>> methodsview Body
后一种方式可以返回一个详细的窗口列表
一个Matlab例程
将Matlab目录转到当前文件夹的Hopper_Device子文件下,这里有一个官方给出的单肌肉驱动弹跳的仿真代码,挺有参考价值的,具体可以打开README.txt看下。
如运行RunHopper.m会弹出OpenSim的仿真窗口(OpenGL绘制的),随便按键盘一个键就开始仿真,按Esc退出。
如运行InteractiveHopper.m会出现一个交互界面,可以选择带/不带助力装置、设置不同的肌肉模型、设置助力策略、画出对应的肌肉活性度和弹跳高度。
更多推荐
OpenSim教程六——Matlab接口
发布评论