V-REP-灵活且可扩展的机器人建模平台



我最近在robomodeling平台上看到了一篇有趣的英文文章。并且由于我代表了Navigator校园机器人技术园区,并且我们的活动与建模,机器人技术和电子技术息息相关,所以我认为翻译这篇文章并将其推向群众将是一件很酷的事情。希望翻译会有所帮助。


顺便说一句,已经有关于V-REP robosimulator的出版物,所以我建议阅读。

如今,使用机器人技术的可能性是巨大的,从探索星球到打扫房屋,机器人无处不在。机器人中三个子系统的组合:执行器,传感器和控制使它们在现实世界中有效,但使虚拟仿真复杂化。在本文中,我们想向您介绍模拟机器人系统的框架-V-REP。

介绍
计算机(更不用说三维图形的硬件)计算能力的指数级增长,以及大量开源软件和电子产品的出现,极大地改变了机器人虚拟3D仿真系统。有机会不仅使工作环境复杂化,而且还可以确保实时启动物理机器人系统,并在仿真中包括直接由环境控制的移动/嵌入式系统。

原则上,可以从各种运动学,物理和图​​形库中独立组装仿真器,并且所使用的体系结构和方法学在仿真的性能和准确性方面将具有决定性的重要性。强大的系统方法需要使用通用且可扩展的建模策略。

实际上,模拟器的主要目标是提供大量用于模拟的工具和功能。这样做有困难,因为机器人系统的多样性不允许我们预见模拟器的细节。另外,一些用户需要一种灵活的方法,使其能够使用简单的编程语言进行工作,并使模拟器可移植,适用于所有类型的机器人模型,并且最重要的是可扩展性。

当前有几种建模平台可用,例如Open HRPGazeboWebots。尽管这些平台提供了足够的功能,但它们不能提供各种各样的相互补充的编程功能和技术。他们的仿真模型和控制器只是部分可移植的,它们有各种问题,因此需要单独处理。例如,经常需要将代码重新编译到各种硬件平台上,或者可能有必要仔细调整从两个不同文件中提取的仿真模型和控制器,或者需要可伸缩性支持,并且它是通过鲜为人知的硬编码算法实现的。

V-REP仿真器是尝试满足建模环境的多功能性和可伸缩性的所有要求的结果。除了其他模拟器具有的传统建模方法外,V-REP还添加了其他几种方法。同样在本文的这一部分中,我们将考虑V-REP控制体系结构,这是一种内置脚本技术,可替代仿真模型中的各种类型的控制器,这使这些模型具有极高的可移植性和可伸缩性。
在本文的第二部分中,我们将整体上考虑建模系统的功能及其与仿真模型的集成。另外,作为示例,将考虑在V-REP中创建的三个实用仿真模型及其实现。

当需要构建复杂的场景时,没有比使用分布式控制系统更好的选择了。这种方法通过分离主题的管理来简化任务,加快仿真速度,将处理器负载分布在多个核心或多个计算机上,从而使您可以控制算法的执行。但是,为了实现该目标,必须忘记一些建模要求。

模拟管理技术概述。

使用以下三种方法执行控制仿真代码:

1.在另一台机器上执行控制代码。
该代码可以在单独的机器上执行,也可以在通过特定总线(例如,连接器,串行端口等)连接到机器模拟器的机器人上执行。这种方法的主要优点是控制器的独创性(控制代码是本地代码,可以在原始设备上使用)。另一个优点是减少了机器仿真的计算负担。但是,这种方法对与仿真周期的同步施加了严重的限制。

2.控制代码在同一台机器上执行,但是在与模拟周期不同的进程(或另一个线程)中执行。
通过这种方法,我们还可以减少处理器内核的平衡负载,但这将伴随与仿真周期的缺乏同步。大多数情况下,此过程将与通信滞后或切换延迟配对。此方法通常通过加载到模拟器中的外部可执行程序或插件来实现。

3.控制代码在与仿真周期相同的机器上和同一线程中执行。
这种方法的主要优点是与仿真周期的同步,没有任何延迟。但是,只有增加处理器的计算负荷,这种方法才有可能。通常通过加载到模拟器中的插件来实现此方法。

上述方法的最常见缺点是仿真模型的可移植性差和可伸缩性差:由于控制代码未绑定到相应的仿真模型,因此必须分别分发,编译和安装。这增加了不同平台上的兼容性问题的数量,并增加了与其他库的冲突数量。灵活性也降低了,因为您需要为每个小的修改代码重新编译并重新加载可执行文件。与多机器人建模一样,该模型的副本将由线机制支持,该线机制为模拟模型的每个实例启动新的控件。

V-REP的实现

V-REP允许用户使用几种可能性进行建模:(表1和图2)





内置脚本这
是V-REP最强大的区别功能。主仿真循环lua脚本 ( “ ”) — . , . . , , . , . : , , , , . . 3 II.


, , V-rep lua. ( /), ( ).


V-REP . lua, . . /, . API , ROS (. . ) .

API
API V-REP V-REP . API API . (C/C++, Python, Java, Matlab & Urbi) , , , . , : API , . ( ), ( , / ). API, , , ROS .

ROS
V-REP ROS , ROS V-REP ROS , ROD /. / , .



: marc@coppeliarobotics.com
, ,
, ,
, Coppelia Robotics, .
: , , . .

Source: https://habr.com/ru/post/zh-CN383009/


All Articles