能力开发手册


能力平台概述


平台概述

完成行为能力开发、封装、验证、上架全流程操作,遵循平台标准化流程,提升开发与联调效率。


适用范围

  1. 适用于原子行为能力库开发、节点封装、部署上架全流程
  2. 用于测试环境/正式环境能力发布与验证

核心功能

  1. 新手引导:三步快速上手(开发→封装→上架)
  2. 行为能力开发:能力开发和编译
  3. 行为能力封装:CR/CRD 转 JSON、节点模板配置、前端交互
  4. 能力上架:上架 IDE/Studio 进行使用
  5. 能力验证:测试/正式环境提交、可视化交互使用

快速入门(新手引导)

首页头像旁快速教程按钮,共 3 页:

  1. 行为能力开发:了解开发入口与流程
  2. 行为能力封装:了解节点生成与配置
  3. 行为能力上架:了解测试→正式发布流程

快速入门教程快速入门教程


首页操作

进入工具默认展示首页,包含两大入口:

  1. 行为能力开发:新建、开发、部署、管理能力
  2. 行为能力封装:将能力转为可视化节点并上架

能力开发工具界面能力开发工具界面


行为能力开发(核心流程)


能力列表页面

  1. 搜索:按能力 ID/名称/IP 搜索
  2. 筛选:全部/已部署/未部署
  3. 列表字段:序号、能力 ID、名称、部署时间、部署人、版本、状态、IP、仓库地址、操作

能力列表页面能力列表页面


新开发行为能力

  1. 点击【新开发行为能力】
  2. 弹窗填写:英文名称(唯一标识),a.b.c格式;
  3. 进入 Web VSCode 在线开发环境
  4. 编写能力程序

能力开发界面能力开发界面


编译能力程序

在左侧功能栏中使用编译功能:

  1. 选择编译场景:通用场景;SMT 场景;Yolo 场景
  2. 选择编译方式:单文件编译、目录编译;

目录结构说明

能力项目的标准目录结构如下:

workspace/
  package/
    bin/              # 存放脚本文件
    crds/             # 存放能力和设备定义文件
    crs/              # 原子能力的注册与配置文件
    package.yaml      # 包基础信息配置
  src/
    ability_sdk/      # 能力 SDK 依赖目录
    ArmAbilityAbility.py  # 能力主逻辑实现文件
    .clangd           # 代码补全配置
    .gitmodules        # git 子模块配置
    make-package.sh    # 打包构建脚本
    README.md          # 说明文档

行为能力封装上架(节点生成)


步骤 1:行为封装

  1. 进入行为封装页面,右键进入封装
  2. 按需配置能力参数,配置项:
    1. 查看模板 JSON
    2. 设置能力名称
    3. 添加字段描述
    4. 设置是否必填(出现按钮开关,可选参数是否填入)
    5. 配置前端交互(输入框、下拉框等)
    6. 设置范围约束限制
    7. 设置是否显示在小节点、是否引用和是否可编辑
    8. 上传图标、
    9. 设置输出参数是否显示

行为封装页面行为封装页面

封装配置详情1封装配置详情1

封装配置详情2封装配置详情2


步骤 2:提交环境

  1. 点击【完成】
  2. 选择:上架生产环境 / 返回列表
  3. 弹窗提示 → Toast 提示上架完成

应用案例(夹爪移动能力)


开发能力

  1. 点击【新开发行为能力】
  2. 弹窗填写:英文名称(唯一标识),a.b.c格式;
  3. 进入 Web VSCode 在线开发环境
  4. 编写能力程序(packages下的cr和crd文件需要开发, 二者的规范与样例见)
  5. crd文件:存放能力和设备定义
  6. cr文件:原子能力注册与配置

HeadAbility.crd.yaml

以上是一个机器人头部控制能力的CRD.

能力开发界面能力开发界面

编写CRD规范后, 为能力类实现生命周期回调接口.

截图截图

生命周期接口有:

  • on_start(), 此时能力初始化自身资源, 连接底层设备
  • on_connect(), 此时能力开启api服务器, 可接受任务
  • on_disconnect(), 此时能力关闭api服务器
  • on_terminate(), 程序终止, 释放资源 编写生命周期接口后, 为能力实现任务接口, 当能力connect 后, 可接受任务. 以该能力408行的头部控制任务为例

HeadAbility.py

def head_joint_control_func(self,task_status: task.TaskStatus, input: dict = None) -> dict: 它除自身外, 还接受 task_status,用于发送任务进程消息, 接受input,用于获取输入内容. 根据任务结果, 它将返回值包裹在一个dict中.


编译能力程序

在左侧功能栏中使用编译功能:

  1. 选择编译场景:通用场景即可
  2. 选择编译方式:单文件编译

项目编译配置项目编译配置


封装能力

  1. 在行为封装界面右键选择封装进入参数配置界面
  2. 设置入参和结果展示效果

行为封装入口行为封装入口

行为配置页面行为配置页面

入参配置1入参配置1

入参配置2入参配置2

结果配置结果配置


上架能力

能力上架能力上架


结果查看

登录Insight Studio进入项目中,查看行为卡片列表,可拖拽节点进行使用。

Insight Studio流程编排界面Insight Studio流程编排界面