在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. 【crunch bang】 tint2-用来控制桌面的布局

    tint2配置: #--------------------------------------------- # TINT2 CONFIG FILE #----------------------- ...

  2. 详解Android AM命令

    1.简介 在Android中,我们除了从界面上启动程序之外,还可以从命令行启动程序,如使用命令行工具am. am全称activity manager,是Android下非常实用命令,其代码在frame ...

  3. Servlet概念框架

    以 Servlet 3.0 源代码为基础.Servlet 是 Javaweb 应用的基础框架,犹如孙子兵法之于作战指挥官,不可不知. 概念框架 机制: 事件 Event, 监听器 Listener 数 ...

  4. docker学习整理

    1.安装 Docker 支持 CentOS6 及以后的版本 对于 CentOS6,可以使用 EPEL 库安装 Docker CentOS7 系统 CentOS-Extras 库中已带 Docker,可 ...

  5. 输入框焦点时自动清除value

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <script typ ...

  6. 使用Xcode和Instruments调试解决iOS内存泄露

    转载自:http://www.uml.org.cn/mobiledev/201212123.asp  (或者http://www.cocoachina.com/bbs/read.php?tid=129 ...

  7. node-webkit教程<>Native UI API 之Menu(菜单)

    node-webkit教程(6)Native UI API 之Menu(菜单)1 前言... 2 6.1  Menu 概述... 3 6.2  menu api6 6.2.1  new Menu([o ...

  8. C#:通过Window API接口实现WiFi

    1.获取Mac地址 //WiFi通知回调 private WlanApi.WLAN_NOTIFICATION_CALLBACK _notificationCallback; this._notific ...

  9. 修改ecshop让订单详情里将会员地址详情全部显示

    $sql = "SELECT concat(IFNULL(c.region_name, ''), '  ', IFNULL(p.region_name, ''), " . &quo ...

  10. 收藏本网站兼容火狐IE

    <script type="text/javascript"> function AddFavorite(sURL, sTitle) {try { window.ext ...