指令文件格式

字段名 数据类型 说明
version String 配置文件的版本号
commands Array 包含所有命令定义的数组

命令定义 (commands)

commands 数组包含多个命令对象,每个对象定义了一类控制意图。

命令对象结构

字段名 数据类型 说明
intent String 命令的意图或类别名称,可包含具有类型控制指令的对象
actions Array 此意图下支持的操作列表
objects Array 此意图下可操作的对象列表

操作定义 (actions)

actions 数组定义了在特定意图下可以执行的操作。

操作对象结构

字段名 数据类型 说明 示例
action String 具体的动作名称 "start", "stop", "compile"
keywords Array<String> 或 Array<Array<String>> 触发此动作的关键词列表,数组中每个元素是与关系,必须包含,如果一个意图中包含空格表示或关系只需要出现一次即可 ["启动 打开"] 数组第一项包含空格,表示"启动","打开"任意一个出现就满足条件;
["图像", "采集"] 数组包含两项,表示"图像"和"采集"两个词汇同时出现才满足条件

对象定义 (objects)

objects 数组定义了可以操作的具体对象。

对象对象结构

字段名 数据类型 说明 示例
object String 具体的对象名称 "node_camera_raw", "face_recognition"
keywords Array<String> 或 Array<Array<String>> 用于匹配此对象的关键词列表 ["图像", "采集"]

匹配规则

基本规则

匹配: 语音识别结果中必须在同一个"intent"中匹配一条"action"和一条"object"才算匹配成功
顺序: 匹配按顺序解析,满足一条匹配规则结束,定义关键字时应避免同时满足多要"intent"项

匹配示例

语音识别结果: "启动图像采集"
匹配动作: start (关键词: "启动")
匹配对象: node_camera_raw (关键词同时包含: "图像", "采集")
发布识别结果: { "action": "start", "object": "node_camera_raw" }