下面接着之前经过简化并调整好视觉效果的模型继续工作流,为了使模型能受控制运动起来必须在合适的位置上添加相应的运动副/关节。一般情况下我们可以查阅手册或根据设计图纸获得这些关节的准确位置和姿态,知道这些信息以后就可以通过[Menu bar --> Add --> Joints --> ...]来添加关节了, 之后可以通过位置和姿态对话框来调整关节位置姿态。在之前写过的V-rep学习笔记:曲柄摇杆机构中就是按照这种方式添加的关节。

  如果我们有机器人的DH参数表也可以使用VREP中的工具来生成关节[Model browser-->tools-->Denavit-Hartenberg joint creator]. 以机器人学导论书中简单的三连杆机械手臂为例:

  可以很容易写出其DH参数表:

  我们将关节创建工具拖入场景中,选择地面作为根节点,然后填入表格中所示的DH参数,点击创建旋转关节。L1、L2杆长均为0.5m,$\theta$为关节变量,这里初始化为0,则三次的参数分别输入为:


  有时我们无法知道关节的准确位置,只能通过现有的网格模型去创建关节。以基座的转动关节为例(先将其它部分隐藏,后面会讲到),可以用基座上表面的规则圆面作为参考来定位关节。

  进入Shape edit模式,通过Page selector选择俯视图(如下面左图所示),在Triangle edit模式下通过框选可以很容易选中所有三角面片;或者可以选择正视图,进入顶点编辑模式(Vertex edit mode),选中如下面右图所示的所有顶点,然后切换回面编辑模式,可以发现所有的三角面已经选中。接着点击Extract cylinder在这个位置上生成规则圆柱体。

  接下来添加转动关节:按Ctrl键先后选中该关节和之前创建的圆柱体,然后打开位置调整对话框,点击Apply to selection,这一操作会使关节的X、Y、Z坐标与圆柱体一致。如果想单独控制X、Y、Z坐标对齐,可以点左侧的Apply X/Y/Z to selection,这样就将关节放到了合适的位置。

  剩下的关节也可以按照这种方式创建:


  有时为了对特定的部件进行操作需要隐藏其它部分以便观察,可以通过设置物体所在图层来实现这一功能。双击要隐藏物体的图标打开Common属性页,在可见性一栏中可以看到16个图层:物体默认创建在图层1,将其移动到图层9中(默认图层1~8内的物体是可见的,图层9~16内的物体是隐藏的),隐藏后物体名将变灰。

  如果要显示图层9~16内的物体可以打开Layer selection对话框:

[Layer selection dialog toolbar button]

  如下图所示,默认只勾选了图层1~8,要显示图层9只需要勾选该图层即可:

参考:

Building a clean model tutorial

V-rep学习笔记:机器人模型创建1—模型简化

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

V-rep学习笔记:机器人模型创建2—添加关节的更多相关文章

  1. V-rep学习笔记:机器人模型创建3—搭建动力学模型

    接着之前写的V-rep学习笔记:机器人模型创建2—添加关节继续机器人创建流程.如果已经添加好关节,那么就可以进入流程的最后一步:搭建层次结构模型和模型定义(build the model hierar ...

  2. JUC学习笔记——共享模型之管程

    JUC学习笔记--共享模型之管程 在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的管程部分 我们会分为以下几部分进行介绍: 共享问题 共享问题解决方案 线程安全分析 Monitor ...

  3. JUC学习笔记——共享模型之内存

    JUC学习笔记--共享模型之内存 在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的内存部分 我们会分为以下几部分进行介绍: Java内存模型 可见性 模式之两阶段终止 模式之Balk ...

  4. Django:学习笔记(7)——模型进阶

    Django:学习笔记(7)——模型进阶 模型的继承 我们在面向对象的编程中,一个很重要的的版块,就是类的继承.父类保存了所有子类共有的内容,子类通过继承它来减少冗余代码并进行灵活扩展. 在Djang ...

  5. Django:学习笔记(6)——模型

    Django:学习笔记(6)——模型 快速上手 模型到底是什么呢?我们可以想,如果一张数据表的各个字段可以自动映射到一个类的各个属性,则每条记录对应这个类的一个对象.那我们通过类方法来操作对象(即表记 ...

  6. JVM学习笔记——内存模型篇

    JVM学习笔记--内存模型篇 在本系列内容中我们会对JVM做一个系统的学习,本片将会介绍JVM的内存模型部分 我们会分为以下几部分进行介绍: 内存模型 乐观锁与悲观锁 synchronized优化 内 ...

  7. ArcGIS案例学习笔记2_2_模型构建器和山顶点提取批处理

    ArcGIS案例学习笔记2_2_模型构建器和山顶点提取批处理 计划时间:第二天下午 背景:数据量大,工程大 目的:自动化,批处理,定制业务流程,不写程序 教程:Pdf/343 数据:chap8/ex5 ...

  8. InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移

    系列目录 InterSystems Ensemble学习笔记(一) Ensemble介绍及安装InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移 一 ...

  9. 【opencv学习笔记八】创建TrackBar轨迹条

    createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...

随机推荐

  1. java转义符和正则表达式转义符

    举例来说,连续相同的3位数字的正则表达式的标准语法是: ([\d])\1{2} 但是如果在java代码中这么写,就会出现语法错误,如下: String regEx = "([\d])\1{2 ...

  2. [转]使用PHPExcel判别和格式化Excel中的日期格式

    From : http://renzhen.iteye.com/blog/799391 最近,在做一个导入功能,在系统中使用PHPExcel类库,读取上传的Excel文件,然后进行字段映射,最后将Ex ...

  3. [转]mysql 存储过程中使用多游标

    From : http://www.netingcn.com/mysql-procedure-muti-cursor.html mysql的存储过程可以很方便使用游标来实现一些功能,存储过程的写法大致 ...

  4. android自己定义换行居中CenterTextView

    在我们开发app时,TextView一定是使用最多的控件了,android自带的TextView的功能也十分强大.但还是有些小的地方不能满足我们的需求.几天要说的这个功能也是开发中非经常见的.就是,在 ...

  5. xml获取配置DataTable

    在CSDN写博客时,经常遇到需要绑定数据源的时候,可是自己从数据库获取数据的函数都是已经封装好了的,这样别人复制你的代码,要想看到结果,还得修改修改,很是麻烦,博客实例,数据源简单点就好,这样别人写你 ...

  6. IIS6 Gzip 网页GZIP压缩(转)

    现在主流浏览器基本都支持 Gzip 压缩,因此这也成了 WebServer 优化策略的一种常规手段.启用压缩后能有效减少网页传输数据大小,使得有限带宽能提供更多的请求,并在一定程度上提高了网页 &qu ...

  7. Wildcard Matching leetcode java

    题目: Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single charact ...

  8. 杨晓峰-Java核心技术-6 动态代理 反射 MD

    目录 第6讲 | 动态代理是基于什么原理? 典型回答 考点分析 知识扩展 反射机制及其演进 动态代理 精选留言 Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAnd ...

  9. 深入浅出Nodejs读书笔记

    深入浅出Nodejs读书笔记 转:http://tw93.github.io/2015-03-01/shen-ru-qian-chu-nodejs-reading-mind-map.html cate ...

  10. Vue上传图片预览组件

    父组件: <template> <div> <h4>基于Vue.2X的html5上传图片组件</h4> <div style="widt ...