码迷,mamicode.com
首页 > 其他好文 > 详细

V-rep学习笔记:曲柄摇杆机构

时间:2016-09-30 15:19:31      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

 在ADAMS中创建一个曲柄摇杆机构很方便,但是V-rep中建模就比较麻烦。下面将自己在V-rep中建立曲柄摇杆机构模型的过程记录下来(由于对V-rep不是很熟,可能会有一些错误,只能等以后发现了再改进)。首先曲柄摇杆机构要满足杆长条件,即最短杆和最长杆长度之和要小于或等于其它两杆(参考机械原理)。假设杆长L1=0.1m,L2=0.15m,L3=0.13m,L4=0.12m,选取L1作为曲柄,L4为机架。然后开始建立机构。主要步骤如下:

1.创建一个平面作为机架(Ground),这里将其属性设为不可见,所以图中没有显示出来

2.在点(0,0,0)创建旋转关节J1,在点(0.1,0,0)创建J2,在(0.25,0,0)创建J3,在(0.12,0,0)创建J4。然后创建连杆L1,L2,L3(L4为机架,实际上存在于J1和J4之间)

3.以大地Ground作为根节点, 按照Ground->J1->L1->J2->L2->J3的顺序构建一条支链,再按照Ground->J4->L3的顺序构建出另一条支链,如下图所示。

技术分享

那么问题来了,上面的两条支链并没有连接在一起,进行仿真时会断开,即出现下图所示的情况。因此就需要将J3和L3连接起来,然而他们分别位于两条支链中,怎么样才能将其连接起来呢?下面就要用到Dummy object(A dummy object is the simplest object available: it is a point with orientation, and it can be seen as a reference frame),根据V-rep帮助中的这一描述,Dummy object相当于ADAMS中的Marker(即一个参考坐标系)。

技术分享

如下图所示Shape_1和Shape_2之间由dummy object连接,连接类型设为Dynamics, overlap constraint时,在动力学仿真过程中这两个dummy object会尝试以相同的位置和姿态连接到一起。 

技术分享

下面做一个测试:先创建连杆L1,L2(L2设为静态物体固定不动,且L1,L2隔开一段距离);然后创建Dummy1,Dummy2分别作为其子对象(Dummy2的坐标系绕X轴旋转45°);接着打开Dummy object的属性对话框在Dummy-dummy linking的选项栏中将Dummy1,Dummy2连接起来,Link type选为Dynamics,overlap constraint。开始仿真前如下图所示。

技术分享

点击仿真开始按钮,两个物体自动连接到一起(L1->L2)。而且从下图中可以看出L1也跟着Dummy1旋转了45°

技术分享

按照上面的方法,在J3和L3下面添加Dummy object,并设置好其属性就可以开始仿真了。为了研究机构的一系列性质,可以添加Graph记录下想获取的信息。这里用Graph记录下J3关节在空间中的位置:浮动窗口中显示J3的X,Y,Z坐标随时间的变化曲线,黄色曲线trajectory为其空间轨迹曲线。

技术分享

如果想将曲线数据导出并用Excel或MATLAB等软件进一步处理,可以先选中Graph然后按 [Menu bar --> File --> Export --> Selected graphs as CSV...]输出CSV格式的文件. The unit of exported data streams will be in meters, kilograms, seconds and degrees (or a combination of those). 输出的CSV文件用Excel打开如下图所示。

技术分享

V-rep学习笔记:曲柄摇杆机构

标签:

原文地址:http://www.cnblogs.com/21207-iHome/p/5914613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!