能力开发手册
能力平台概述
平台概述
完成行为能力开发、封装、验证、上架全流程操作,遵循平台标准化流程,提升开发与联调效率。
适用范围
- 适用于原子行为能力库开发、节点封装、部署上架全流程
- 用于测试环境/正式环境能力发布与验证
核心功能
- 新手引导:三步快速上手(开发→封装→上架)
- 行为能力开发:能力开发和编译
- 行为能力封装:CR/CRD 转 JSON、节点模板配置、前端交互
- 能力上架:上架 IDE/Studio 进行使用
- 能力验证:测试/正式环境提交、可视化交互使用
快速入门(新手引导)
首页头像旁快速教程按钮,共 3 页:
- 行为能力开发:了解开发入口与流程
- 行为能力封装:了解节点生成与配置
- 行为能力上架:了解测试→正式发布流程
快速入门教程
首页操作
进入工具默认展示首页,包含两大入口:
- 行为能力开发:新建、开发、部署、管理能力
- 行为能力封装:将能力转为可视化节点并上架
能力开发工具界面
行为能力开发(核心流程)
能力列表页面
- 搜索:按能力 ID/名称/IP 搜索
- 筛选:全部/已部署/未部署
- 列表字段:序号、能力 ID、名称、部署时间、部署人、版本、状态、IP、仓库地址、操作
能力列表页面
新开发行为能力
- 点击【新开发行为能力】
- 弹窗填写:英文名称(唯一标识),a.b.c格式;
- 进入 Web VSCode 在线开发环境
- 编写能力程序
能力开发界面
编译能力程序
在左侧功能栏中使用编译功能:
- 选择编译场景:通用场景;SMT 场景;Yolo 场景
- 选择编译方式:单文件编译、目录编译;
目录结构说明
能力项目的标准目录结构如下:
workspace/
package/
bin/ # 存放脚本文件
crds/ # 存放能力和设备定义文件
crs/ # 原子能力的注册与配置文件
package.yaml # 包基础信息配置
src/
ability_sdk/ # 能力 SDK 依赖目录
ArmAbilityAbility.py # 能力主逻辑实现文件
.clangd # 代码补全配置
.gitmodules # git 子模块配置
make-package.sh # 打包构建脚本
README.md # 说明文档
行为能力封装上架(节点生成)
步骤 1:行为封装
- 进入行为封装页面,右键进入封装
- 按需配置能力参数,配置项:
- 查看模板 JSON
- 设置能力名称
- 添加字段描述
- 设置是否必填(出现按钮开关,可选参数是否填入)
- 配置前端交互(输入框、下拉框等)
- 设置范围约束限制
- 设置是否显示在小节点、是否引用和是否可编辑
- 上传图标、
- 设置输出参数是否显示
行为封装页面
封装配置详情1
封装配置详情2
步骤 2:提交环境
- 点击【完成】
- 选择:上架生产环境 / 返回列表
- 弹窗提示 → Toast 提示上架完成
应用案例(夹爪移动能力)
开发能力
- 点击【新开发行为能力】
- 弹窗填写:英文名称(唯一标识),a.b.c格式;
- 进入 Web VSCode 在线开发环境
- 编写能力程序(packages下的cr和crd文件需要开发, 二者的规范与样例见)
- crd文件:存放能力和设备定义
- cr文件:原子能力注册与配置
以上是一个机器人头部控制能力的CRD.
能力开发界面
编写CRD规范后, 为能力类实现生命周期回调接口.
截图
生命周期接口有:
- on_start(), 此时能力初始化自身资源, 连接底层设备
- on_connect(), 此时能力开启api服务器, 可接受任务
- on_disconnect(), 此时能力关闭api服务器
- on_terminate(), 程序终止, 释放资源 编写生命周期接口后, 为能力实现任务接口, 当能力connect 后, 可接受任务. 以该能力408行的头部控制任务为例
def head_joint_control_func(self,task_status: task.TaskStatus, input: dict = None) -> dict:
它除自身外, 还接受 task_status,用于发送任务进程消息, 接受input,用于获取输入内容. 根据任务结果, 它将返回值包裹在一个dict中.
编译能力程序
在左侧功能栏中使用编译功能:
- 选择编译场景:通用场景即可
- 选择编译方式:单文件编译
项目编译配置
封装能力
- 在行为封装界面右键选择封装进入参数配置界面
- 设置入参和结果展示效果
行为封装入口
行为配置页面
入参配置1
入参配置2
结果配置
上架能力
能力上架
结果查看
登录Insight Studio进入项目中,查看行为卡片列表,可拖拽节点进行使用。
Insight Studio流程编排界面
