前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Script(一)

Script(一)

作者头像
六四零
发布2020-08-04 18:44:18
1.6K0
发布2020-08-04 18:44:18
举报
文章被收录于专栏:小白VREP

V-REP是一个高度可定制的仿真器:仿真的每个方面都可以定制。此外,可以通过一个复杂的应用程序编程接口(API)对仿真器本身进行定制和定制,使其行为完全符合预期。该软件支持六种不同的编程或编码方法,每一种都有其独特的优点(当然也有明显的缺点),但是所有六种方法都是相互兼容的(即可以同时使用,甚至是同步使用)。模型、场景或模拟器本身的控制实体可以位于其中: an embedded script嵌入式脚本(即通过脚本定制模拟(即场景或模型)):编写Lua脚本保证与其他所有默认V-REP安装的兼容性(只要不使用定制的Lua命令,或与分布式插件一起使用)。这种方法允许定制特定的仿真、仿真场景,并在一定程度上定制仿真器本身。这是最简单和最常用的编程方法。 an add-on or the sandbox script一个插件或沙箱脚本:这个方法包括编写Lua脚本,允许快速定制模拟器本身。附加组件(或沙箱脚本)可以自动启动并在后台运行,也可以作为函数调用(例如,编写导入/导出时很方便)。附加组件不应该特定于某个模拟或模型,它们应该提供更通用的、与模拟程序绑定的功能。 a plugin插件(即定制模拟器/通过插件定制模拟器):这种方法基本上包括为V-REP编写插件。通常,插件仅用于提供带有定制Lua命令的模拟,因此与第一种方法结合使用。其他时候,插件用来为V-REP提供一种特殊的功能,这种功能需要快速计算能力(脚本通常比编译语言慢)、硬件设备的特定接口(例如,一个真正的机器人)或与外部世界的特殊通信接口。 a remote API 远程API客户端(即通过远程API客户端应用程序定制模拟器或定制模拟器):这种方法允许外部应用程序(例如位于机器人、另一台机器等)使用远程API命令以一种非常简单的方式连接到V-REP。 a ros node ROS节点(即自定义模拟器和/或通过ROS节点进行模拟):此方法允许外部应用程序(例如位于机器人、另一台机器等上的应用程序)通过ROS(机器人操作系统)连接到V-REP。

BlueZero节点(即通过BlueZero节点定制模拟器和/或模拟):该方法允许外部应用程序(例如位于机器人、另一台机器等)通过BlueZero连接到V-REP。 在外部控制器教程中还讨论了上述6种方法。下表详细描述了每种方法各自的优缺点:

下图展示了V-REP内部和周围的各种定制可能性:

上图所示的各种通信或消息传递机制将在下文简要描述: *从主客户端应用程序或常规API的插件调用C/ c++ API。如果语言提供了调用C函数的机制(例如,在Java的情况下,引用Java本机接口(JNI)),则可以从非C/ C++应用程序中产生。 *有序调用/执行子脚本。在主脚本中的由sim.handleChildScripts发起。

*从主脚本、子脚本或自定义脚本到常规API的调用Lua API。所有的调用都指向V-REP引擎,除了调用回插件的自定义Lua函数。 *从模拟器到插件的回调调用。回调调用源自对自定义Lua函数的Lua脚本调用(参见前面的项目)。 *从模拟器到插件的事件回调调用。请参考sim_message_eventcallback_type消息。 *来自外部应用程序、机器人、远程pc等的遗留远程API调用。 *在V-REP和外部应用程序、机器人、远程pc等之间进行ROS数据交换。 *与外部应用程序的插座、管道、串口等连接。 *从附加组件或沙箱脚本到常规API的Lua API调用。除了调用插件的自定义Lua函数外,所有调用都直接指向V-REP引擎。 *从V-REP引擎到定制脚本的执行调用。 *在V-REP和外部应用程序、机器人、远程pc等之间的数据交换。 *来自外部应用程序、机器人、远程pc等的基于b0的远程API调用。

下面介绍API框架:

V-REP API框架将围绕V-REP的所有接口分组。它有5+1种不同的类型: 常规的API 远程API ROS接口 BlueZero接口 辅助API 其他接口 虽然常规的API可以从内部访问模拟器(例如,从嵌入式脚本,一个插件,插件或主要客户端应用程序),远程API, ROS接口和BlueZero接口可以访问几乎任何可能的外部应用程序或硬件(包括真实的机器人、远程计算机等)。辅助API本身并不是一个接口,而是一组可以嵌入的辅助函数,它们可以自己操作。其他接口项将用户扩展可用接口的所有可能性分组。下图展示了各种接口的概述:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白VREP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档