V-rep学习笔记:机器人模型创建2—添加关节

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

时间: 2024-10-08 15:26:26

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

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

接着之前写的V-rep学习笔记:机器人模型创建2-添加关节继续机器人创建流程.如果已经添加好关节,那么就可以进入流程的最后一步:搭建层次结构模型和模型定义(build the model hierarchy and finish the model definition).但是想要进行动力学仿真(碰撞.接触.自由落体...)的话,还需要进行额外的一些操作: Building the dynamic shapes VREP中几何体的属性可以分为: dynamic or static: 具有动态属性

ObjectARX 学习笔记007:创建模态对话框的一般步骤

1.新建一个工程,注意将"使用MFC"选项勾上. 2.使用[insert/Resouce]菜单项插入一个对话框. 3.此时会弹出一个窗体,直接按Enter键可以调出[属性]面板.设置窗体的ID和窗体的Caption. 4.可以点击[属性]面板左上角的图钉图标将其常显. 5.向窗体中插入控件,依次设置其ID与Caption. 6.按Ctrl+W为对话框资源创建一个类.此时系统会在工程中添加一个.cpp文件和一个对应的.h文件. 7.注册一个新命令,用于显示新的对话框. 8.在xxxCom

sqlite学习笔记2:创建数据库

在上一次笔记中最后生成了一个sqlite可执行文件,cd到sqlite所在的目录下面执行: sqlite3 MyDataBase.db 就会创建了一个名叫MyDataBase.db的数据库,在当前路径下面就会生成一个叫MyDataBase.db的文件 #切记不是先运行sqlite3,然后再上述命令,而是在终端直接输入上述命令,否则会报错:Error: near "sqlite3": syntax error 然后运行命令: .databases 可以查看刚刚创建的数据库,退出数据库命令

学习笔记-CIFAR10模型理解简述

学习笔记-CIFAR10模型理解简述 整个结构中包含三个convolution layer.三个pooling layer和两个fully connected layer. 每个层有多个Feature Map,每个Feature Map通过一种卷积滤波器提取输入的一种特征,然后每个Feature Map有多个神经元. 首先是数据层,测试数据100张为一批(batch_size),后面括号内是数据总大小.如100*32*32*3= 307200 Top shape: 100 3 32 32 (30

[Spring Data Repositories]学习笔记--为repository添加通用的方法

如果想把一个方法加到所有的repository中,用前一篇提到的方法就不合适了. 英文原版,请看 http://docs.spring.io/spring-data/data-mongo/docs/1.5.2.RELEASE/reference/html/repositories.html#repositories.custom-behaviour-for-all-repositories 1. 定义自己的repository,要从基础的repository进行继承. public interf

Elasticsearch学习笔记-03.3创建索引

来吧,咱们一起创建一个名为"customer"的索引,然后查看集群中的所有索引: PUT /customer?pretty GET /_cat/indices?v 第一个命令使用PUT创建了一个名为customer的索引.我们简单的在命令后追加了一个pretty参数,用于将JSON类型的返回值格式化后打印在控制台. 我们也可以使用POST MAN操作,我们会得到类似下图所示的返回结果: 第二个命令的结果告诉我们(为方便查看,我直接在浏览器中打开了链接:http://localhost:

CSS学习笔记——盒模型,块级元素和行内元素的区别和区别

今天本来打算根据自己的计划进行前端自动化的学习的,无奈早上接到一个任务需求需要新增一个页面.自从因为工作需要转前端之后,自己的主要注意力几 乎都放在JavaScript上面了,对CSS和HTML这方面其实基础真的很差,今天在写页面的时候就被浮动啊.内外边距啊这些耽误了不少时间. 反思一下,自己确实在这些基础方面的不足很多,所以今后的学习笔记主要是我在工作中遇到的一些问题和他们的解决方法.其中可能中会有JS.CSS.HTML各方面的,我会把自己每一天学到的内容都记录一下,辅助自己打好基础. 今天在

Git学习笔记(一)创建版本库并添加文件

最近从廖雪峰老师的个人网站上学习git,做点笔记. ★★★★★ 先注册自己的username和email,否则会报如下错误: 注册:git config --global user.name "XXX"    -------这是注册username git config --global  user.email "[email protected]"   -------这是注册email git config  --list    -------这是查看config

[struts2学习笔记] 第三节 创建struts 2 HelloWorld所需的六个步骤

本文地址:http://blog.csdn.net/sushengmiyan/article/details/40349201 官方文档:http://struts.apache.org/release/2.3.x/docs/hello-world-using-struts-2.html 本文作者:sushengmiyan ---------------------------------------------------------------------------------------