简介
Hello Robot ! 欢迎开启机器人开发之旅,基于猎户星空开发平台可快速实现对机器人的全面控制,打造属于自己的机器人。猎户星空机器人提供多种接入方式,当前文档主要介绍如何使用JavaScript语言开发一个机器人应用,如果您想使用Java语言进行开发,请移步RobotOS开发文档。
opk = 机器人插件(OPK),是使用JavaScript进行轻应用开发来控制机器人
平台简介
平台核心服务
机器人核心服务,负责对接处理不同型号机器人上的各种硬件,向机器人应用开发者提供简单一致的机制来控制复杂而又大不相同的各种硬件设备,并提供一整套安全防护机制,防止机器人应用开发者过度使用硬件,保护机器人安全,其内部包含OTA、低电量自动回充、自检、重定位等机器人系统级功能,简化应用开发者开发难度。
Native SDK
依托于机器人平台核心服务,提供统一的机器人访问控制接口,开放全部能力,应用开发者可通过集成SDK的形式,深度定制自己的业务。
RN平台
RN平台是对Native SDK的扩展改造,基于React-Native,引入更细粒度的OPK开发机制,使用JavsScript语言进行开发。充分利用RN特性,引入插件化机制,支持功能的动态安装及卸载,可根据场景灵活组合机器人功能,应用开发者可针对单一功能进行定制,快速迭代升级,大大减少了开发难度。
应用商店
应用商店是机器人平台的配套补充,应用开发者将开发的OPK上架到应用商店,可通过应用商店远程安装或卸载OPK,应用商店支持OPK的自动更新,应用开发者可不必再关注版本的更新发布,支持动态修改OPK配置,可随时更改设置,保持机器人最优运行状态。
预备知识
RN平台是基于React Native扩展而来,支持React Native所有特性,使用JavaScript语言开发,要开发机器人应用,需要对React Native及JavaScript有一定了解,如果以前未接触过React Native及JavaScript,可先浏览下React Native及JavaScript的官方文档:
React Native 文档:https://reactnative.dev/docs/getting-started
JavaScript 文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript
RN平台扩展了对机器人的访问控制支持,开发时需要在package.json中引入“orionos-eve-core”开发库,其内部包含机器人对外开放的所有接口及功能组件,机器人应用最终会编译成一个OPK文件,可通过我们的脚手架工具或应用商店安装到机器人上使用,后续文档中出现的机器人应用均是指OPK。
基础接口
基础接口是一些更细粒度的Api调用,可随时在代码中通过RobotApi.getMapName() 这种方式进行调用,支持在参数中指定回调,用于接收Api调用结果。
let listener = new CommandListener(); listener.addListener(CommandListener.EVENT_RESULT, (result: number, message: string) => { //TODO: 命令执行结果 //删除listener listener.removeListener(); }); RobotApi.getMapName(listener.getId());
组件
组件是一组api的调用集合,包含一定的功能策略及状态处理,运行时会有状态上报及结果返回,开发者可以根据业务需求进行处理,快速实现需求。组件的使用方式与RN的Component一样,通过在render函数中直接使用<></>标签引入即可,组件会随着界面的显示隐藏而启动或停止。
> <
public onFinish = (result?: ComponentEvent): boolean => { //TODO: 结果处理 return true; }; public render() { let personAppearParam = new PersonAppearParam(); return ( <> <PersonAppearComponent param={personAppearParam} onFinish={this.onFinish} /> </> ); }
组件在文档中分为三类:
- 功能组件:机器人功能相关,包含人脸识别、机器人的运动控制等
- UI组件:UI相关的组件,包含机器人扩展屏的显示及一些图片效果
- 三方组件:主要是当前集成的三方开源库及动态扩展三方库的方式
接口及组件兼容性
猎户星空机器人种类繁多,每一种机器人形态不动,所能支持的接口及组件也不同,在每一个接口及组件后会有一个表格用于说明当前适用的机器人型号。除此之外对于同一种型号的机器,不同的系统版本支持的接口及组件也会有所不同,接口及组件说明中包含一个最低版本说明,该最低版本是“orionos-eve-core”开发库的版本,每一个“orionos-eve-core”版本会有一个能兼容的机器人系统版本。
可能遇到的问题
1. 机器人分辨率
豹小秘 | Mini | 招财豹 | 豹小秘DP |
1200×1920 | 1920×1080 | 1200×1920 | 上屏1200×1920下屏1080×1920 |