在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学习笔记:曲柄摇杆机构的更多相关文章

  1. Unity的学习笔记(摇杆制作)

    最近看到了一个很新颖的摇杆,就是按下后,会出现在按下的位置,并且拖着走的时候,到一定距离整个摇杆也会跟着走,于是自己测试做了一下这种摇杆 首先,先说一下我的摇杆预设体结构 代码挂在哪里都无所谓,关键是 ...

  2. <老友记>学习笔记

    这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...

  3. (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...

  4. Android 数字签名学习笔记

    Android 数字签名学习笔记 在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的pro ...

  5. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  6. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  7. linux前四天学习笔记

    以下是在linux培训机构所学的内容,感觉比较乱 MySQL学习笔记MySQL的安装 linux中的超级管理员rootaixocm vnc的退出: F8 MySQL的特点.优点:关系型开源.免费c++ ...

  8. R语言与机器学习学习笔记

    人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经网络由大量的人工神经元联结进行计算.大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自 ...

  9. https学习笔记三----OpenSSL生成root CA及签发证书

    在https学习笔记二,已经弄清了数字证书的概念,组成和在https连接过程中,客户端是如何验证服务器端的证书的.这一章,主要介绍下如何使用openssl库来创建key file,以及生成root C ...

随机推荐

  1. Maven(一)

    Maven学习总结(一)——Maven入门 一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的 ...

  2. android 学习随笔四(数据库存储)

    SQLite数据库(sqliteexpert工具),sqlite数据库是轻量级数据库,对数据类型要求不是很严格,在数据库中处理是按verchar类型处理,一般定义表字段时还是要求严格按照数据类型定义, ...

  3. python使用装饰器捕获异常

    可以编写一个通用的捕获异常的装饰器, 当程序发生异常时可以继续执行后续动作. 尤其适合于使用大量断言的验证性程序. 装饰器的实现原理使用了回调技术. 如下所示, robust 是一个装饰器. 当在普通 ...

  4. 如何查看和停止Linux启动的服务

    1. 查看Linux启动的服务chkconfig --list 查询出所有当前运行的服务chkconfig --list atd  查询atd服务的当前状态 2.停止所有服务并且在下次系统启动时不再启 ...

  5. Gson将参数放入实体类中进行包装之后再传递

    package com.sinoservices.dms.orderinfo.entity; public class OrderDetailKeyCondition { //工单主键 private ...

  6. JavaScript调试技巧之console.log()详解

    JavaScript调试技巧之console.log()详解 对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式,原因在于:alert()函数会阻 ...

  7. 深拷贝 vs 浅拷贝 释放多次

    如果类中有需要new的数据,那么一定要注意delete; 如果只free一次,但是提示free多次,一定要注意了,有可能是因为你没有定义拷贝函数! 以我的亲身经历来说: operater *(mycl ...

  8. AVAudioplayer时error解决 创建失败 ERror creating player: Error Domain=NSOSStatusErrorDomain Code=2003334207 "(null)"

    AVAudioplayer 有两个初始化方法: 1.[[AVAudioPlayer alloc] initWithData:musicData error&e]; 2.[[AVAudioPla ...

  9. C#:绘制Winform窗体

    Winform窗体缺少左上角效果: public void SetWindowRegion() { System.Drawing.Drawing2D.GraphicsPath FormPath; Fo ...

  10. C#:插件、框架

    1.开源实体映射框架EmitMapper(http://www.cnblogs.com/wuhong/archive/2011/09/21/2184313.html) 2.ffmpeg.exe是一个源 ...