V-rep学习笔记:曲柄摇杆机构
在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学习笔记:曲柄摇杆机构的更多相关文章
- Unity的学习笔记(摇杆制作)
最近看到了一个很新颖的摇杆,就是按下后,会出现在按下的位置,并且拖着走的时候,到一定距离整个摇杆也会跟着走,于是自己测试做了一下这种摇杆 首先,先说一下我的摇杆预设体结构 代码挂在哪里都无所谓,关键是 ...
- <老友记>学习笔记
这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...
- (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU
首页 视界智尚 算法技术 每日技术 来打我呀 注册 OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...
- Android 数字签名学习笔记
Android 数字签名学习笔记 在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的pro ...
- java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)
java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- linux前四天学习笔记
以下是在linux培训机构所学的内容,感觉比较乱 MySQL学习笔记MySQL的安装 linux中的超级管理员rootaixocm vnc的退出: F8 MySQL的特点.优点:关系型开源.免费c++ ...
- R语言与机器学习学习笔记
人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经网络由大量的人工神经元联结进行计算.大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自 ...
- https学习笔记三----OpenSSL生成root CA及签发证书
在https学习笔记二,已经弄清了数字证书的概念,组成和在https连接过程中,客户端是如何验证服务器端的证书的.这一章,主要介绍下如何使用openssl库来创建key file,以及生成root C ...
随机推荐
- React快速入门
目录: 简介 Hello React! 虚拟DOM React组件 轮子来了:JSX 使用JSX 简介 React是Facebook开源的一个用于构建用户界面的Javascript库,已经 应用于Fa ...
- Reporting Service报表项默认可见+号和-号的显示问题
在Reporting Service里面可以设置报表项(组.tablix行.tablix列.文本框等所有SSRS报表项)的可见性,并且可以设置某个报表项的可见性由点击另外一个报表项来控制,比如报表项A ...
- OpenMP的调度
schedule(static, size) 这是静态调度,如果没有设置size, 默认是根据任务书来决定, 比如我电脑是8核,有26个任务,那么分配后结果是4 4 3 3 3 3 3 3. 因为先分 ...
- android 项目学习随笔十(自定义ProgressBar)
android:innerRadius 内部半径 android:thickness 厚度 gradient 渐变 android:useLevel="false" 取掉控件自带旋 ...
- shell 在文件名后面添加特定数据
for a in `ls mo-*`;do mv ${a%:} ${a%:}-1;done
- win7 dos命令窗口内容显示不全解决办法--将命令执行结果输出到一个文件中
执行命令:命令 >>某某路径\文件全名
- ubunt1204安装配置vsftp
本文将搭建一个最简单的ftp服务,即通过root用户可进行登录.上传.下载,具体步骤如下: 1.安装vsftpd服务 sudo apt-get install vsftpd 2.编辑vsftp配置文件 ...
- php单链表实现的代码
<?php/*** 单链表*/ class Demo{private $id;public $name;public $next;public function __construct ($id ...
- PHP和Java的主要区别有哪些呢?
解释 PHP与Java作为两种截然不同的程序开发语言,无论是技术层面还是发展空间,亦或是市场份额占比,都有着不同的表现方式,理念上的不同导致了Java和PHP在Web应用开发上显示了不同的结果.若要一 ...
- 记录整合sprinmvc+log4j的的过程
简介 由于进一步的学习以及便于自己更好的调试程序中遇到的错误,开始了将log4j整合到web项目中,项目是基于springmvc的,所以就做了一个springmvc和web项目的整合demo,本篇博客 ...