V-REP学习笔记(二):认识自带工具箱和脚本

一、利用计算模块

V-REP提供七个封装好的计算模块

我们以距离计算为例来说明如何利用相应的模块

首先创建两个目标实体

因为我们要计算距离,所以在目标的属性中勾选可测量

为了展示距离的动态变化,我们让关节动起来,角速度为5deg/s

在计算模块中选择要计算距离的两个目标

为了使结果可视化,添加一个graph,并将数据输入选为距离

点击开始仿真,就可以看见距离(这里计算的是最小距离)随时间的变化关系

二、工具箱

tools中有许多常见的辅助工具

1)center of mass visualization tool(质心可视化)

可以显示选择目标的质心,直接将其拖到目标下即可

2)high-resolution screenshot tool(高分辨率截图)

将该工具拖到某一相机下,再选择好分辨率即可保存截图,

截图保存在V-REP3\V-REP_PRO_EDU目录下

3)normal vector tool(法向量测量)

将该工具拖入场景后点击任意目标的某个平面,会自动计算该平面的法向量

4)denavit-hartenberg param.extractor(关节D-H参数计算)

D-H参数在机器人正运动学解算中被广泛应用,可以方便计算出关节末端相对于基坐标系的坐标。将该工具拖入场景后点击关节便可以自动计算D-H参数。

 

其他调节光线颜色等工具不经常用到,就不列举了。

三、认识脚本

V-REP中的每一个场景都包括一个主脚本(main script),一般来说不需要对主脚本进行修改。主脚本一般包括:

sysCall_init():初始化部分

sysCall_actuation():执行部分

sysCall_sensing():传感数据部分

sysCall_cleanup():结束清理部分

sysCall_suspend():终止部分

sysCall_resume():重启部分

对我们来说,一般更多都是在子脚本(child scripts)上进行仿真代码的实现,子脚本分为两种,非线程模式(non-threaded)和线程(threaded)模式,顾名思义,线程模式会在后台新开一个线程运行,执行结束并不返回,而非线程模式更像函数调用,执行完即返回主函数。

子脚本一般包括上述前四个部分,比如我们为立方体添加一个脚本并在执行部分加上

function sysCall_actuation()
    simAddStatusbarMessage('0')
end

这句话的有点像c++中的cout<<'0'<<endl,点击开始仿真,则可以看到如下结果

如果一个目录下有多个子脚本,默认是按顺序执行,比如我又创建了一个脚本输出1,那么结果就是

一个很自然的想法就是应该可以调整子脚本执行的顺序才是合理的,在scripts的属性中可以修改各个脚本的优先级

猜你喜欢

转载自blog.csdn.net/banzhuan133/article/details/85068694
今日推荐