BubbleRob 教程
本教程将介绍众多的 V-REP 功能,这些将用在设计简单的移动机器人 BubbleRob 中。有关本
教程的 V-REP 场景文件位于 V-REP 的安装文件夹的教程/ BubbleRob 文件夹中。
下图显示了模拟的场景,我们将设计:
由 于 本 教 程 将 涵 盖 许 多 不 同 的 方 面 , 请 务 必 也 看 看 其 他 教 程 ,
http://www.coppeliarobotics.com/helpFiles/
一,建立本体
首先,启动 V-REP。该模拟器将显示默认的场景。我们将从设计 BubbleRob 的本体开始。
我们添加一个直径为 0.2 的原始球体与场景[菜单栏 - >添加 - >基本形状 - >球
[Menu
Primitive
shape
Add
-->
bar
-->
-->
Sphere]
我们调整 X 尺寸到 0.2,其他默认即可,然后单击确定。创建的球体将出现在默认情况下,
默认在可视层 1 层,能够动作,并支持响应(因为我们项目创建时默认启用了动力学和响应
功能)。这意味着,BubbleRob 的球体可以滚动,并能与其它能够响应的形状(即由物理引
擎模拟)产生碰撞反应。
(模拟器仿真时将不同形状的物体分为四种静止/非静止, 能够响应/非能够响应。
在动态/动力学仿真,静态的形状将不会被影响(即相对于它们的父对象的位置是固定的),
而非静态的形状将通过重力或其他约束直接影响(例如动态地启用接头,或电机驱动)。
能够响应形状动态碰撞过程中相互影响(即它们产生相互碰撞的反应,他们会相互弹开)。
两个能够响应形状将始终产生一个碰撞反应,除非各自的碰撞掩码不重叠。
静止/非静止,能够响应/非能够响应形状属性,以及碰撞掩模这些特性可以的形状的动力学
属性对话框进行设置。)
我们可以看到这是该形状的动力学特性:对象主体响应性和动力学性已经启用。
我们开始模拟(通过工具栏按钮,
并复制和粘贴所创建的球体(然后复制该球对象 并粘贴然后< Ctrl -v>):这两个球将
产生碰撞和滚远。
我们停止模拟:复制出来的球体将自动被删除。此默认行为可以在模拟对话框中修改。
我们还通过其他的计算模块(例如最小距离计算模块)来操作 BubbleRob 的球体。出于这个
原因,我们需要使能该形状对象的可碰撞,可衡量,可渲染和可探测的公共属性。
如果需要,我们现在可以也改变我们的球体的形状和外观。
现在我们打开位置和变换对话框中,选择代表 BubbleRob 的球体部分,并在对话框的部分对
象/目标 转换及缩放操作,我们设置 Z 的缩放为 0.02。
我们确保相对于项目设置为世界。然后我们点击 转换按钮。这意味着所有选择的对象都会
移动到 Z 轴绝对距离 2 厘米沿的地方,球体将会稍微变化一点点。
在场景层次,我们双击球体的名字,这样我们就可以编辑其名称。我们输入 bubbleRob,然
后按回车。
二,添加接近传感器
下一步,我们将添加一个接近传感器,这样 BubbleRob 知道什么时候接近了障碍物:
我们选择[菜单栏 - >添加 - >接近传感器 - >圆锥型] [Menu bar --> Add --> Proximity sensor
--> Cone type] (超声波)。
在位置和旋转对话框,在第对象/项目旋转操作,我们输入 90 绕 Y 和绕 Z 轴,然后单击旋转
按钮。
在位置和转换对话,在第对象/项目的位置,我们 X 坐标输入 0.1。Z-坐标 0.12。
接近传感器(超声波)现在正确相对 BubbleRob 的身体位置。
在场景列表我们双击接近传感器的图标,打开其属性对话框。
我们点击显示音量参数来打开的接近传感器(超声波)音量控制对话框。我们调整偏移到 0.005,
角度为 30,范围为 0.15。
然后,在接近传感器特性,我们点击查看检测参数。这将打开接近传感器检测参数对话框。
我们取消项目【不允许检测,如果距离小于】然后再次关闭该对话框。
在 场景 列表, 我们 双击接 近传 感器的 名字, 这样 我们 就可以 编辑其 名称 。我 们输入
bubbleRob_sensingNose,然后按回车。
我们选择 bubbleRob_sensingNose,然后 ctrl+选 bubbleRob,然后单击[菜单栏 - >编辑 - >做
最后选定的对象的继承者。
这 个 操 作 将 会 把 传 感 器 安 装 到 机 器 人 的 主 体 上 。 我 们 也 可 以 在 场 景 列 表 拖 拽
bubbleRob_sensingNose 到 bubbleRob。
这就是我们现在有:
三,添加轮子和电机
接下来,我们开始设计 BubbleRob 的轮子。我们与[菜单栏 - >文件 - >新建场景] [Menu bar -->
File --> New scene]一个新的场景。
通常来讲在模拟器中操作多个场景是非常容易的。我们添加一个尺寸(0.08,0.08,0.02),原
始的圆柱体。安装在 BubbleRob 的身上,我们使能该圆柱体可碰撞,可衡量,可渲染和可探
测属性(Collidable, Measurable, Renderable and Detectable)。
然后,我们设置了圆柱的绝对位置(0.05,0.1,0.04)和其绝对方向(-90,0,0)(我们可以在坐
标系和转换对话框做到这一点)。