Appearance
示教器插件开发流程
环境配置
软件环境:
分类 名称 推荐版本 操作系统 Ubuntu 16 及以上 软件 QT Creator 5.0.0 及以上 软件配置 QT 5.12.9 及以上 软件配置 GCC 7.5 及以上 打开终端,进行以下操作,安装 aubo_caps:
git clone https://github.com/AuboRobot/plugin_template cd template chmod +x ./INSTALL.sh ./INSTALL.sh
操作完成以后,可以进行以下操作查看是否操作成功:
打开 QT Creator,单击【文件 > 新建文件或项目】。
弹框中选择【Library】,查看是否存在 aubo_caps。
如果没有 aubo_caps ,请尝试重新进行第 2 步操作。
新建插件工程
打开 QT Creator,单击菜单栏【文件 > 新建文件或项目】。
在【新建文件或项目】的向导中单击【Library > aubo_caps】,单击【Choose】。
设置新工程的名称及保存路径,单击【下一步】。
设置工程详细信息:厂商名字(Vendor name)、邮箱(Email)、工程描述(Description)、官网链接(URL),单击【下一步】。
选择编译系统,单击【下一步】。目前仅支持 CMake。
选择编译工具链,单击【下一步】。选择 Qt 5.12.9 + gcc7.5 工具链。
检查添加到工程的文件,单击【完成】。
编译工程
单击工程名字,右键弹出下拉菜单,单击【执行 CMake(Run CMake)】。
- CMake 将联网下载依赖,因此这一步要求开发设备必须联网;
- 根据网络连接情况,CMake 过程会持续一段时间。
CMake 完成之后即可对该工程进行编译,单击工程名字,右键弹出下拉菜单,单击【构建(Build)】。
工程内添加新节点
菜单栏单击【文件 > 新建文件或工程】,在【新建文件或项目】的向导中单击【aubo_caps > Aubo installation/program Node】,单击【Choose】。
设置安装/程序节点名称(Installation/Program Node name)。
单击【浏览(Browse)】设置节点路径。在【src】文件夹下新建文件夹【installation】或【program】,单击【打开(Open)】选择文件夹。单击【下一步】。
- 安装节点对应【installation】文件夹,程序节点对应【program】文件夹。
选择节点类型,单击【下一步】。
检查将要添加到工程的文件列表,单击【完成】。
添加节点后,需对【CMakeLists.txt】和【activator.cpp】进行相应的配置:
在【CMakeLists.txt】中添加节点源码。由于在【src】文件夹下已经创建【installation】文件夹或【program】文件夹,因此将下面对应的语句取消注释(删除前面的 "#")即可。
... # file(GLOB_RECURSE install_src "src/installation/*") # file(GLOB_RECURSE program_src "src/program/*") ...
在【activator.cpp】中添加响应语句。
将对应的服务类头文件引入。
#include "program/firstnode_program_node_service.h"
<img class="img-center" src="../../rs_pics/dev/plugin_pendant/qtcreator-cpp-add-include.png"style="width:40em;">
取消对应需要注册的节点类型的注释,修改类名。
单击工程名字,右键弹出下拉菜单,单击【构建(Build)】。
插件打包
示教器软件第一次载入某个插件时,需先在开发环境下将插件打包成 zip 文件,然后将打包后的文件拷贝至示教器软件指定路径下,打开示教器软件加载插件,方可使用插件。
插件载入示教器软件后,如果需要更新,只需要更新【.../arcs_ws/extensions】文件夹下对应插件的内容即可,具体内容请参见 “5. 插件调试”。
准备工作
插件中的 package.json 文件用于描述插件信息,其包含的字段如下:
json
"name": "plugin_name", # 插件名称
"displayName": "plugin_name",
"group": "aubo_scope",
"description": "Visual localization plugin",
"version": "0.1.0",
"publisher": "aubo-robotics",
"url": "https://www.aubo-robotics.com",
"email": "aubo_developer@aubo-robotics.com",
"license": "aubo",
"icon": "",
"api_version": "0.6.0" # 插件当前使用的 api 版本
其中,api_version 用于表示开发当前插件所使用的 aubo_caps_interface 版本,是打包前必须添加的字段。示教器软件会验证当前插件所用的 api 版本,若所用的版本大于示教器软件所支持的版本,将无法加载插件(可通过升级示教器软件版本解决无法加载问题)。若 api_version 为空可能会因为兼容问题导致插件不可用。
插件打包
插件开发环境下,打开终端,运行以下指令,通过执行【deploy,sh】脚本进行打包。
cd <工程根目录> chmod +x ./deploy.sh ./deploy.sh # 插件将生成在 build 目录
脚本运行成功后,【build】文件夹中将创建一个 zip 文件,即打包成功。