猎户星空API完整参考手册.md 17 KB

猎户星空机器人 API 完整参考手册

本手册整合猎户星空机器人三层 API 能力(本地 APK/OPK 端 + 服务端 API + NLP 配置),按功能维度整理,供开发人员快速查阅。


一、API 能力全景

猎户星空机器人提供三层开发接入方式:

层级 接入方式 说明
本地端 APK Android 原生 SDK 使用 Java/Kotlin 开发,直接调用 RobotOS SDK
本地端 OPK React Native 插件 使用 JavaScript 开发,通过 orionos-eve-core 库
服务端 API HTTPS RESTful API 远程控制机器人,域名 openapi.orionstar.com
NLP 配置 开发者平台配置 在 console.orionbase.cn 配置语音交互规则

二、服务端 API(远程控制)

基础域名:https://openapi.orionstar.com 协议:HTTPS RESTful 鉴权方式:Bearer Token(通过 appId + appSecret 获取)

2.1 鉴权

方法 路径 说明
POST /auth/token 获取访问令牌(使用 appId + appSecret)

2.2 企业信息

方法 路径 说明
GET /enterprise/info 获取企业信息
GET /enterprise/robot/list 获取企业下所有机器人列表

2.3 企业 SSO 免登录

方法 路径 说明
POST /enterprise/sso/create 创建 SSO 登录链接
POST /enterprise/sso/verify 验证 SSO Token
POST /enterprise/sso/logout 注销 SSO 会话

2.4 企业人员管理

方法 路径 说明
POST /enterprise/person/create 创建人员(含人脸图片)
POST /enterprise/person/update 更新人员信息
POST /enterprise/person/delete 删除人员
POST /enterprise/person/search 人脸识别搜索

2.5 企业访客邀约

方法 路径 说明
POST /enterprise/visitor/invite 创建访客邀约
GET /enterprise/visitor/list 获取访客列表

2.6 机器人信息

方法 路径 说明
GET /robot/info 获取单台机器人详情(SN、在线状态、电量、位置等)
GET /robot/status 获取机器人实时状态
GET /robot/list 获取机器人列表
POST /robot/config/get 获取机器人层级配置
POST /robot/config/set 设置机器人层级配置

2.7 机器人地图信息

方法 路径 说明
GET /robot/map/list 获取机器人地图列表
GET /robot/map/info 获取地图详情(含位置点)
GET /robot/map/current 获取当前使用地图

2.8 机器人控制(12 个接口)

核心远程控制能力,可通过服务端直接操控机器人行为。

方法 路径 说明
POST /robot/control/navigate 远程导航到指定位置点
POST /robot/control/navigate/stop 停止导航
POST /robot/control/tts 远程 TTS 语音播报
POST /robot/control/tts/stop 停止 TTS
POST /robot/control/voice 远程语音指令(模拟 ASR 输入)
POST /robot/control/mode 切换工作模式(接待/巡逻/静默等)
POST /robot/control/sleep 休眠
POST /robot/control/wakeup 唤醒
POST /robot/control/reboot 重启
POST /robot/control/shutdown 关机
POST /robot/control/charge 回充
POST /robot/control/charge/leave 脱离充电桩

2.9 机器人任务

方法 路径 说明
POST /robot/task/create 创建任务(招财豹/豹小递/豹厂通)
GET /robot/task/list 获取任务列表
GET /robot/task/info 获取任务详情
POST /robot/task/cancel 取消任务

2.10 QA 问答管理

企业级 QA

方法 路径 说明
POST /qa/enterprise/create 创建企业级 QA
POST /qa/enterprise/update 更新企业级 QA
POST /qa/enterprise/delete 删除企业级 QA
GET /qa/enterprise/list 获取企业级 QA 列表

设备级 QA

方法 路径 说明
POST /qa/device/create 创建设备级 QA
POST /qa/device/update 更新设备级 QA
POST /qa/device/delete 删除设备级 QA
GET /qa/device/list 获取设备级 QA 列表

2.11 统计数据

  • 招财豹统计:迎宾次数、互动时长、客流分析等
  • 豹小秘统计:接待次数、导航次数、语音交互次数等
  • 15 个 统计接口

2.12 事件回调

回调类型 说明
任务事件回调 任务开始/完成/失败等事件推送
预警通知回调 设备异常、电量低等预警推送

三、本地端 APK 原生开发 API

开发语言:Java / Kotlin 接入方式:引入 RobotOS SDK(AAR 包) 需在 Manifest 中声明权限和服务 通过 Server 连接、状态监听、reqId 管理调用

3.1 SDK 接入

  • 基于 Android,引入 RobotOS SDK(AAR 包)
  • 需在 Manifest 中声明权限和服务
  • 通过 Server 连接、状态监听、reqId 管理调用

3.2 视觉能力 API(PersonApi)

API 说明
PersonApi.detectFace() 人脸检测
PersonApi.registerFace() 人脸注册
PersonApi.recognizeFace() 人脸识别
PersonApi.switchCamera() 切换摄像头(前/后/广角)
SurfaceShareApi 摄像头数据流共享(获取 YUV 原始数据)

3.3 基础运动 API

API 说明
RobotApi.goForward(speed) 前进(线速度 0~1.2 m/s)
RobotApi.goBackward(speed) 后退(无避障!
RobotApi.turnLeft(angularSpeed) 左转(角速度 0~2.2 rad/s)
RobotApi.turnRight(angularSpeed) 右转
RobotApi.stopMove() 停止运动
RobotApi.setLinearVelocity(v) 设置线速度
RobotApi.setAngularVelocity(w) 设置角速度
RobotApi.controlHead(horizontalAngle, verticalAngle) 控制云台头部

3.4 地图与定位 API

API 说明
RobotApi.isRobotEstimate() 是否已定位
RobotApi.getPosition() 获取当前坐标 {x, y, theta}
RobotApi.getMapName() 获取当前地图名
RobotApi.getPlace(placeName) 获取位置点坐标
RobotApi.getPlaceList() 获取所有位置点列表
RobotApi.switchMap(mapName) 切换地图
RobotApi.setFixedEstimate(pose) 固定位姿定位 {px, py, theta}
RobotApi.getMultiFloorConfigAndCommonPose() 获取多楼层配置和点位

3.5 导航 API

API 说明
RobotApi.startNavigation(destination) 导航到指定位置(7 种重载)

导航参数:

  • destination - 目标点名称
  • linearSpeed - 线速度
  • angularSpeed - 角速度
  • arrivalRange - 到达范围
  • timeout - 超时时间
  • 支持加减速模式

导航状态码:

状态码 说明
32730001 开始导航
32730004 避障中
32730011 堵死
32730009 定位丢失

导航结果码:

结果码 说明
32610007 到达目的地
-32620001 未定位
-32620009 路径规划失败

3.6 梯控导航 API(跨楼层)

API 说明
RobotApi.startElevatorNavigation(floorIndex, destination) 乘电梯导航

梯控状态码:

状态码 说明
32750004 到达电梯门
32750005 进入电梯
32750009 离开电梯

3.7 过闸机导航 API

  • 闸机路径判断与通过流程

3.8 基础场景 API

场景 说明
引领模式 人跟机器人走
焦点跟随 机器人视线追踪人脸
唤醒 检测到人后唤醒交互

3.9 语音 API

功能模块 说明
SkillApi 场景管理(注册/切换/退出语音场景)
SkillCallback 语音回调(ASR 结果、NLP 解析、唤醒事件等)
TTS 播放 普通/流式播放
拾音模式 单次/持续识别
NLP 处理 意图识别结果解析
音频采集 原始音频流获取
Text 转 MP3 文本转语音文件

3.10 语音大模型流式数据

ChatStreamInterface 结构:

字段 说明
sid 会话 ID
idx 消息序号
content 文本内容
tts TTS 音频数据
sender 发送者
extra 扩展字段
  • 支持流式接收和关闭控制

3.11 电量控制 API

API 说明
RobotApi.getBatteryLevel() 获取电量(1-100)
RobotApi.startCharge() 自动回充
RobotApi.stopCharge() 离桩
RobotApi.disableSystemCharge() 禁用系统自动充电

3.12 多机协作 API

  • ESP32 模块通信
  • MultiRobotStatus 数据结构(多机状态同步)

3.13 电动门控制 API

  • 两种控制方式(自动/手动)
  • Door1-4 独立控制
  • 门状态查询

3.14 系统功能 API

功能 说明
状态监控 获取系统运行状态
灯效控制 底盘灯带/按钮灯
设备信息 SN 号、版本号
禁用系统功能 关闭默认行为
休眠控制 控制机器人休眠/唤醒
安装 APK 远程安装应用

四、本地端 OPK 插件开发 API

开发语言:JavaScript(React Native) 核心库:orionos-eve-core

4.1 功能组件

4.1.1 导航组件 NavigationComponent

参数:

参数 说明 默认值
destination 目标位置点(必填 -
coordinate_deviation 到达范围 0.5m
线速度 移动速度 0.1-1.2 m/s
角速度 转弯速度 0.2-1.8 rad/s
避障距离 检测障碍物距离 -
超时时间 导航超时 -

状态事件码: 开始导航、避障、堵死、定位丢失等

结果事件码: 到达、未定位、路径失败、目标不存在等

4.1.2 巡逻组件 CruiseComponent

参数:

参数 说明
巡逻路线 JSON 数组,至少 2 个点
堵死超时 堵死后等待超时时间
起始点 巡逻起始位置
  • 支持多点循环巡逻

4.1.3 头部控制 HeadTurnComponent

参数 范围
水平角度 -80° ~ 80°
垂直角度 50° ~ 95°

4.1.4 人脸识别组件(6 个)

组件 说明
WakeupAndPreWakeupStartCheckComponent 唤醒/预唤醒检测
PersonAppearComponent 按条件找人
PersonDisappearComponent 人丢失检测
RegisterComponent 人脸注册
RecognizeComponent 查询注册信息
ReceptionRegisterCameraView 注册预览

4.1.5 引领追踪组件(5 个)

组件 说明
SoundLocalizationComponent 声源定位转向
FaceTrackSoundLocalizationComponent 人脸追踪 + 拾音
StandardFaceTrackComponent 自动追踪最近人脸
FaceTrackComponent 追踪指定人
LeadingTrackComponent 引领(人跟机器人走)

4.1.6 充电组件

组件 说明
ChargeStartComponent 自动回充
LeavePileComponent 脱离充电桩

4.1.7 梯控组件

组件 说明
NavigationElevatorComponent 导航乘梯(跨楼层)
ChargeElevatorComponent 充电乘梯

4.2 基础接口

4.2.1 地图与位置(11 个 API)

API 说明
RobotApi.isRobotEstimate() 是否已定位
RobotApi.getPosition() 获取当前坐标
RobotApi.getMapName() 获取当前地图名
RobotApi.getPlace() 获取位置点坐标
RobotApi.getPlaceList() 获取所有位置点列表
RobotApi.getPlaceListWithName() 按名称获取位置点列表
RobotApi.resumeSpecialPlaceTheta() 恢复特殊位置点角度
RobotApi.switchMap() 切换地图
RobotApi.setFixedEstimate() 固定位姿定位
locationEstimateUtil.havePlace() 判断位置点是否存在
locationEstimateUtil.isInPlace() 判断是否在某位置点范围内

4.2.2 运动控制

API 说明
RobotApi.motionArcWithObstacles(lineSpeed, angularSpeed) 弧线运动(带避障)
  • 线速度范围:-1.2 ~ 1.2 m/s
  • 角速度范围:-2.2 ~ 2.2 rad/s

4.2.3 电源管理(5 个 API)

API 说明
RobotApi.getBatteryLevel() 获取电量百分比
RobotApi.getBatteryTimeRemaining() 获取剩余使用时间
RobotApi.getChargeTimeRemaining() 获取剩余充电时间
RobotSettingApi.isCharging() 是否正在充电
SettingsUtil.isCharging() 是否正在充电(工具类)

4.2.4 语音接口(11 个 API)

TTS(文本转语音):

API 说明
speechApi.playText() 播放文本语音
speechApi.playStreamText() 流式播放文本语音
speechApi.stopTTS() 停止 TTS 播放

ASR(语音识别):

API 说明
speechApi.setRecognizable() 设置是否可识别
speechApi.setRecognizeMode() 设置识别模式
speechApi.queryByText() 文本查询(模拟语音输入)

声源定位:

API 说明
speechApi.setAngleCenterRange() 设置拾音角度范围
speechApi.resetAngleCenterRange() 重置拾音角度范围

音频播放:

API 说明
speechApi.playToneByLocalPath() 播放本地音频文件
speechApi.stopTone() 停止音频播放

大模型:

API 说明
speechApi.closeStreamDataReceived() 关闭流式数据接收

4.2.5 灯带控制(3 个 API)

API 说明
LightApi.playEffect() 播放灯效
LightApi.playLightColor() 设置灯带颜色
LightApi.playLightAnimation() 播放灯带动画

4.2.6 人脸识别(4 个 API,1.x 版本)

API 说明
PersonManager.getAllPerson() 获取所有已注册人员
PersonManager.getAllPersonNum() 获取已注册人员数量
PersonManager.getLastPersonId() 获取最近识别人员 ID
PersonManager.getLastPersonName() 获取最近识别人员姓名

4.2.7 应用管理(9 个 API)

API 说明
AppManager.getAppJson() 获取应用配置 JSON
AppManager.getOpkExtraPath() 获取 OPK 附加资源路径
AppManager.getOpkPath() 获取 OPK 安装路径
AppManager.getAppConfig() 获取应用配置
AppManager.setConfigUpdateListener() 设置配置更新监听
AppManager.getAppId() 获取应用 ID
AppManager.getAppIcon() 获取应用图标
AppManager.restartApp() 重启应用
OpenAppApi.openThirdPartyApp() 打开第三方应用

4.2.8 系统信息(3 个 API)

API 说明
SystemInfo.getRobotVersion() 获取机器人系统版本
SystemInfo.getDeviceSn() 获取设备 SN 号
SystemInfo.getVersionByROM() 获取 ROM 版本号

4.3 UI 组件

组件 说明
ExDisplay 大屏显示
ImageFrame 帧动画
BlurOverlay 高斯模糊
RNCameraFilterView 摄像头预览(含拍照)
emojiPlayerModel 大眼睛表情
UiController.showStatusBar() 状态栏显示/隐藏

4.4 高级功能

功能 说明
语音大模型流式数据 接入大模型流式输出
视频通话 TRTC 仅豹小秘 Mini 支持
定时任务 Crontab OPK 内定时任务调度
梯控系统 跨楼层导航
OPK 首页设置 自定义首页展示
多入口配置 多个语音/触屏入口
动态扩展组件 加载 dex/so 库

五、NLP 配置能力

5.1 配置入口

5.2 核心概念

概念 说明 示例
Domain 领域 medicalnavigation
Intent 意图 guide_toquery_report
Slot 槽位 department_namepatient_id

5.3 配置方式

配置项 说明
自定义语音指令 定义触发关键词和对应动作
意图识别规则 配置 NLU 规则匹配用户意图
多轮对话设计 设计多轮交互流程
第三方 NLP 插入 支持 Dialogflow 等外部 NLP 引擎
语音链路测试 在线测试语音识别和意图解析

5.4 NLP 数据流

语音输入 → ASR 识别 → NLP 意图解析 → 匹配 Domain & Intent → 触发对应 OPK/APK 应用

六、适用机型对照

机型 导航 人脸 追踪 回充 TRTC 梯控 屏幕
豹小秘
豹小秘 Mini
豹小秘2 - -
招财豹
招财豹Pro - -
豹小递 Max
豹小秘 DP 部分 部分 大屏
消毒豹 - - - - -

本手册基于猎户星空开发者文档整理,如有更新请以官方文档为准。