Skip to content

示教器插件开发流程

环境配置

  1. 软件环境:

    分类名称推荐版本
    操作系统Ubuntu16 及以上
    软件QT Creator5.0.0 及以上
    软件配置QT5.12.9 及以上
    软件配置GCC7.5 及以上
  2. 打开终端,进行以下操作,安装 aubo_caps:

    git clone https://github.com/AuboRobot/plugin_template
    cd template
    chmod +x ./INSTALL.sh
    ./INSTALL.sh
  3. 操作完成以后,可以进行以下操作查看是否操作成功:

    • 打开 QT Creator,单击【文件 > 新建文件或项目】。

    • 弹框中选择【Library】,查看是否存在 aubo_caps。

    • 如果没有 aubo_caps ,请尝试重新进行第 2 步操作。

新建插件工程

  1. 打开 QT Creator,单击菜单栏【文件 > 新建文件或项目】。

  2. 在【新建文件或项目】的向导中单击【Library > aubo_caps】,单击【Choose】。

  3. 设置新工程的名称及保存路径,单击【下一步】。

  4. 设置工程详细信息:厂商名字(Vendor name)、邮箱(Email)、工程描述(Description)、官网链接(URL),单击【下一步】。

  5. 选择编译系统,单击【下一步】。目前仅支持 CMake。

  6. 选择编译工具链,单击【下一步】。选择 Qt 5.12.9 + gcc7.5 工具链。

  7. 检查添加到工程的文件,单击【完成】。

编译工程

  1. 单击工程名字,右键弹出下拉菜单,单击【执行 CMake(Run CMake)】。

    • CMake 将联网下载依赖,因此这一步要求开发设备必须联网;
    • 根据网络连接情况,CMake 过程会持续一段时间。
  2. CMake 完成之后即可对该工程进行编译,单击工程名字,右键弹出下拉菜单,单击【构建(Build)】。

工程内添加新节点

  1. 菜单栏单击【文件 > 新建文件或工程】,在【新建文件或项目】的向导中单击【aubo_caps > Aubo installation/program Node】,单击【Choose】。

  2. 设置安装/程序节点名称(Installation/Program Node name)。

  3. 单击【浏览(Browse)】设置节点路径。在【src】文件夹下新建文件夹【installation】或【program】,单击【打开(Open)】选择文件夹。单击【下一步】。

    • 安装节点对应【installation】文件夹,程序节点对应【program】文件夹。
  4. 选择节点类型,单击【下一步】。

  5. 检查将要添加到工程的文件列表,单击【完成】。

  6. 添加节点后,需对【CMakeLists.txt】和【activator.cpp】进行相应的配置:

    1. 在【CMakeLists.txt】中添加节点源码。由于在【src】文件夹下已经创建【installation】文件夹或【program】文件夹,因此将下面对应的语句取消注释(删除前面的 "#")即可。

      ...
      # file(GLOB_RECURSE install_src "src/installation/*")
      # file(GLOB_RECURSE program_src "src/program/*")
      ...
    2. 在【activator.cpp】中添加响应语句。

      1. 将对应的服务类头文件引入。

        #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;">

      2. 取消对应需要注册的节点类型的注释,修改类名。

  7. 单击工程名字,右键弹出下拉菜单,单击【构建(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 为空可能会因为兼容问题导致插件不可用。

插件打包

  1. 插件开发环境下,打开终端,运行以下指令,通过执行【deploy,sh】脚本进行打包。

    cd <工程根目录>
    chmod +x ./deploy.sh
    ./deploy.sh
    
    # 插件将生成在 build 目录
  2. 脚本运行成功后,【build】文件夹中将创建一个 zip 文件,即打包成功。