【导读】

在这一系列的V-REP自学笔记中,我们定了一个小目标,完成一个Demo。使用官方提供的KUKA公司的YouBot机器人模型来实验机器人的感知和控制过程,控制机器人从A点抓取物品,然后移动到B点将物品放置在B点的工作台上,这其中涉及到V-REP环境中的机器人感知和控制过程。

我的专栏:

在上一期中,我们讲述了如何下载和安装V-REP到电脑。在本期笔记中,我们来熟悉软件的基本使用方法,话不多说,先放一个总的演示视频:

【V-REP自学笔记(二)】使用入门 - 知乎 (zhihu.com)

1. V-REP软件界面简介

1.1 软件启动界面

与大多数开发软件一样,V-REP软件的主界面分为几个部分:

  • A1:顶部菜单栏和工具栏。其中,工具栏中是一些对环境和模型的基本操作过程,包括视图转换、视图放大缩小、机器人模型的平移、旋转等,还包括物理引擎的选择、仿真程序的启动、暂停和加减速等基本功能;
  • A2:侧边栏工具栏用于展开/隐藏我们的模型文件树和场景文件树(Scene)。Scene是一个工程环境,我们新建Scene来新建仿真环境,在里面添加所需的模型即可;
  • B:模型文件树。用于管理和展示软件自带的各种模型以及我们自定义的模型,里面包括了各种现成的机器人模型和桌子、沙发、门等一些基本的模型组件,组合这些组件可以构造我们需要的仿真环境;
  • C:场景文件树(Scene)。我们每次执行一个仿真的任务时,所有的模型组件都被放置到这个文件目录下,在新建一个Scene时软件会自带一个Camera和3个基本模型:Floor、Light和Camera:
    • Floor就是一个放置模型的“地板”。因为V-REP是一个物理仿真环境,所有有质量的物体在该环境中都会受到重力的作用,如果没有Floor,模型就会“掉下去”,大家可以试着拖动一个模型到Floor以外的区域,然后点击开始试一试;
    • Light就是光源。在三维场景中,如果没有光源,就无法看见物体,也没有立体的感觉,所以需要光源。更重要的,如果我们要在仿真环境中使用光学类传感器(例如Camera),没有光源是无法使用的。用户可以根据需要自行添加Light,包括点状的、线性的光源等;
    • Camera就是摄像机。用于在机器人仿真时候,从各个角度来观察机器人的运动仿真情况,默认的Camera包含了从X-Y-Z坐标系的各个平面进行观察的Camera,也可以同时进行多个窗口的观察,这一点在后文我们会看到。
  • D:仿真环境的可视化。我们所有的模型在实际仿真过程中如何运动的都是通过该区域的可视化来展示,便于我们直观的观察。当然,渲染复杂的三维模型需要的计算力比较多,当模型比较复杂的时候我们可以通过关闭可视化来提升仿真的速度;
  • E:状态栏。用于显示当前仿真环境的状态。

1.2 一些基础操作

软件的工具栏A1和A2可以根据自己的需求拖动放在任意位置:

在软件的场景文件树区域C,鼠标右键单击可以选择添加Light、Joint等各种组件到当前的Scene:

在软件的可视化区域D,鼠标右键单击可以选择可视化的模式,例如是否显示网格线等:

2. Scene介绍

Scene是一个基本的工程环境,相当于一个容器,在这个容器里面放置各种模型来进行仿真。新建、保存和关闭当前Scene在菜单栏可以找到,Scene文件后缀名为 .ttt,名字可以自行设定,保存位置也可以自定义。所有加入仿真环境的模型和传感器等都会在Scene中展现,所以在实际仿真操作过程中,Scene是一个我们的基本操作台。

3.使用现有的模型

我们使用现有的机器人模型来熟悉软件的操作过程,在新建好Scene以后,从左边的模型文件树里面选择我们要仿真的模型,直接鼠标左键选中拖入右边的可视化区域即可,这里我们选择了一个移动式的多足爬行机器人(路径:robots/mobile/ant hexapod.ttm)和一个非移动式的机械臂(robots/non-mobile/ABB IRB 4600-40-255.ttm)。

我们可以通过工具栏的平移、旋转、缩放等按钮来转移可视化区域的视角,便于完整的观察机器人的模型:

放置好机器人模型以后,如果觉得机器人放置的位置不是很好,可以通过工具栏的模型平移、旋转等操作来移动机器人模型,确保处于一个比较好的位置和姿态:

一切就绪以后,我们可以发现,在Scene中多出来了2个模型文件,他们分别对应我们刚刚加入的2个模型:

点击模型文件左边的加号,可以展开模型文件。点击模型文件中对应的部分,V-REP软件会指示我们该部分文件对模型的哪一部分结构:

此外,我们双击Scene文件树中对应模型名称后面的那个文件符号,可以获取得到该模型的控制代码,使用Lua语言编写,如果是想要使用Lua语言编写自己的控制代码,那么就可以在这里编写。这次我们先使用模型自带的代码进行一个Demo运行展示。

4. 仿真过程

通过前面的步骤,我们已经新建好了自己的仿真环境,加载了对应的模型,那么,接下来就可以利用模型自带的控制代码进行仿真了。首先,我们来熟悉一下工具栏中跟仿真相关的部分:

  1. 物理引擎的选择。V-REP自带Bullet、ODE、Newton等几种基本的物理引擎,用户可以自行选择,对于初学者来说,这几个物理引擎的差别不大,默认即可;
  2. 仿真精度。由于高精度的仿真计算和跟踪过程需要消耗大量的计算力,因此用户可以根据自己的需求选择合适的精度,初学者默认即可;
  3. 仿真周期。即仿真循环的时间周期,不同的时间对应不同的仿真速度,初学者默认即可;
  4. 开始/暂停/停止。
  5. 加速/减速仿真过程。
  6. 多窗口观测仿真过程。

下面放一个加速/减速仿真过程的示范视频

【V-REP自学笔记(二)】使用入门 - 知乎 (zhihu.com)

下面放一个多窗口观察仿真过程的示范视频:

【V-REP自学笔记(二)】使用入门 - 知乎 (zhihu.com)

到此为止,V-REP软件的基本使用过程已经介绍完了,从下一篇笔记开始,我们将学习如何编写代码来控制机器人模型的运动过程。

【后记】

本文是自学笔记的第2篇,介绍了V-REP软件的使用方法。更高级的用法将在后续的文章中逐步介绍,本项目涉及到的代码都将发布在Github上的V-REP-YouBot-Demo项目,项目地址:

作者知识有限,有不正确的地方还望读者能够指出来,大家共同学习和进步,不胜感激!也欢迎读者关注我的微信公众号。

        欢迎关注公众号:博士的沙漏。