PDA

查看完整版本 : [原创]第一个机构仿真与虚拟现实结合的例子


shiqiang
2008-05-16, 22:49
最近有点忙,近期做了一个曲柄滑块的机构仿真与虚拟现实相结合的例子,拿来与大家分享。

shiqiang
2008-05-16, 23:24
在做这个例子的过程中遇到了种种困难,不过,最终还是被我克服了,现在我把我在制作过程中取得的经验与大家分享。
1.机构模块的建立中,要注意的是各个铰接部分的坐标轴,比如对于转动副,假设它是绕z轴旋转的,它的旋转坐标可以设置为两种形式[0 0 1]和[0 0 -1],这两种形式一定要区别开来,在机构仿真中,旋转的方向符合右手定则。(即右手拇指指向坐标轴的正方向,四指弯向的方向就是旋转的正方向)
2.关于局部坐标和全局坐标的有关问题
在虚拟现实vrml语言中,了解了这两个坐标可以说是就可以随心所欲的控制它的运动了,对于Transform节点中的物体来说,本身的形体建立是基于自身的局部坐标系的,一般是形体左下角是坐标原点,坐标轴符合右手定则,y轴竖直向上,x轴水平向右,z轴指向屏幕外,Transform 中的域center 是基于自身的局部坐标系定义的,它是旋转和尺度变换的中心。例如,实现一个物体的平移,定义它的中心点,然后对域translation输入一个与时间相关的位移函数就可以实现物体的平移运动。而用相关的sensor得到的位移信号是关于全局坐标来定义的。
3.关于simmechanics与vrml的组合应用
simmechanics是实现机构的建立,虽然也可以实现可视化,但是很不形象,而vrml却可以实现生动的可视化,现在很多三维软件都支持vrml格式(在文件选项中选择另存为wrl格式),保存得到的只是这个三维模型,并不能实现机构的运动,需要通过DEF定义Transform节点为相关的机构组件名称,然后在该节点的层内加入center ,rotation,translation等域,并填写相关的初始域值。然后在机构模块中添加需要实现运动的各模块的运动信号作为虚拟现实的输入信号,就这样,用simmechanics实现机构的建立和运动的分析,信号的整理采集,然后将信号输入vrml模型,这样就可以实现机构的真是仿真和可视化。
4.更多的相关资料,希望大家能认真学习vrml语言和simmechanics工具箱,这会让你得到很多的乐趣。

glqinhan
2008-05-23, 11:26
好,谢谢!

neuriky
2008-06-16, 18:32
不错 支持楼主 辛苦了

neuriky
2008-06-16, 18:34
如果有SIMMECHANIC和一些先进控制算法结合的仿真就更好了
加入力与力矩还有干扰信号什么的

iamhuxiaolei
2008-12-05, 14:13
不错 支持楼主 辛苦了

hynh
2009-01-04, 12:34
怎么运行不起来啊?总是报错,好像s函数有错还是什么原因,谢谢lz指教!!

luckyling
2009-02-11, 21:12
不错,楼主!

黯蓝山
2009-06-10, 17:28
楼主,附件中少了slider.wrl,无法运行

yfl
2009-06-10, 18:17
不能运行啊,请楼主在看看!!!!!!!

黄方块儿
2011-01-24, 17:07
我想问一下VRML和SIMLINK怎么联系在一起,在Matlab里可以直接编辑VRML么

mzg0406
2012-04-01, 14:21
我想做个控制水箱液位高度的例子,但是在VRML里有高度height这个域吗?我看translation节点只有translation、rotation、scale等域名啊!simulink输出的信号要控制水箱的液位高度,我看有些文章里是控制scale这个域,我曾这样试过,它会沿着Y轴上下都变化,我希望的是能液位能从着X-Z平面沿着Y轴的正方向上升。我初学,不太理解别人做的,请高手指点。我的qq是40696660,希望高手能加我,困惑好久急切需要指点。