封面.png

一、从 19999 元到 3.4KB:一个技能包的全部重量

2026 年的人形机器人市场,整机价格战已经打到两万元档——启元 Q1 人形机器人 19999 元起。但如果你去启元开发者社区的 PrimeHub 技能市场逛一圈,会发现另一组更有意思的数字:一个能让 Q1「被摸头就开心」的技能包,下载下来只有 3.4KB。

3.4KB,比一张手机拍的 JPG 小两个数量级。就这么点东西,订阅一个触摸事件,调四个服务接口,机器人就会表情、台词、灯效、动作一起上。这组对比里藏着人形机器人产业的一个关键判断:本体降价之后,决定这台机器好不好的,是它上面能跑多少技能,以及写一个新技能的门槛有多低。

移动 App 时代,我们叫它 App Store;今天的机器人行业,各家都在搭自己的版本。启元这套是 PrimeHub(技能市场)+ PrimeConsole(桌面端工具)+ rpk 技能包格式。概念在产品发布会上听过了,但「写一个技能到底要会什么」这件事,不看代码是说不清的。

为什么选「拆包」这个角度?因为生态类产品吹不得也黑不得,代码不会说谎:接口设计是否清晰、注释是否诚实、降级逻辑是否考虑过真实场景,拆开看一眼就有答案。一个愿意把技能包做成「纯文本、可读、可改」的公司和一个把技能做成黑盒的公司,走的是两条路——前者赌的是开发者愿意进来。

所以我决定干一件有点 geek 的事:把 PrimeHub 上一个真实的技能包下载下来,解压、逐行读代码、改掉它、重新打包、再放进仿真里跑一遍——全程不接真机,一台 Windows 电脑搞定。这篇文章就是全程记录,代码、配置、坑,全部原样呈现。

二、工具就位:PrimeConsole 装多大、什么底子

PrimeConsole 从启元开发者社区(dev.primebot.com)下载,Windows 安装包 215MB,提供 Windows / macOS / Linux 三端。我拿到手的版本是 1.0.2。
ZZ_未使用_工作区目录截图.png

安装过程本身没什么可挑的:双击下一步装完,桌面出图标

从安装目录里的 LICENSE.electron.txt、LICENSES.chromium.html 能看出来,这是一个 Electron 应用。对后端读者来说这是个可预期的选择:跨三端复用一套 Web 技术栈,开发效率优先。实际体验下来,界面响应流畅,3D 场景渲染也不卡——Electron 的锅从来不在渲染,在工程化水平,这个做得不差。
04_设置_应用设置.png

设置项不多但都在点子上:应用设置管主题、语言、照片和下载的存储路径;机器人配置管设备绑定;Skill 设置管技能导入策略。整个软件没有广告位、没有推荐流,工具属性很纯粹。

三、先看「机器人控制」页:一台没连上的 Q1 长什么样

打开软件默认落在「机器人控制」页,布局是经典的三栏:

  • 左栏「连接」:设备连接日志,有「日志 / 摘要 / JSON」三个视图切换——JSON 视图对开发者很友好,原始报文直接可见;
  • 中栏:机器人相机画面区(未连接时是占位图),下面是方向控制盘和一颗显眼的红色急停按钮;
  • 右栏「语音 TTS」:输入文字让机器人播报,上限 300 字符。
    01_机器人控制页_未连接.png

左栏的三个视图分层是有讲究的:日志给人看,摘要做概览,JSON 给程序和排障用。做底层联调的工程师都懂,一个工具愿不愿意把原始 JSON 露给你,基本能判断它的目标用户是不是真开发者——PrimeConsole 把它放在了一级界面。中栏的方向盘是一组方向键加一颗醒目的红色按钮,急停做成整个控制区里视觉权重最高的元素——这个优先级排序是对的,物理交互产品里「停下」永远应该比「走」更显眼。

底部的「动作」和「表情」两个面板,在未连接状态下都是「0 项」。这个空状态逻辑合理——动作和表情列表是从机器人侧拉取的,没设备自然没有内容。中栏画面区底部一行「尚未获取图像」的小字也交代得很清楚:占位图只是底图,相机流要连上真机才有。但这也意味着:不插真机,「机器人控制」页基本是一个精美的预览。真正无真机能玩的东西,在另一个页签里,这是这篇实测的第一个转折点。

四、真机的门槛:SN 码与云端资产校验

点「连接机器人」,弹窗提示「暂无设备,请先在设置 → 机器人配置中添加设备」
02_连接机器人弹窗_暂无设备.png

添加设备的方式是输入机器人 SN 码(示例格式 T1-2024-0052),弹窗里有两句值得注意的原话:

「PrimeConsole 将向启元机器人校验资产与授权状态。」
「SN 位于机身铭牌或启元机器人设备详情页。」

03_添加设备_输入机器人SN.png

也就是说,桌面端不是「发现局域网里的机器人就连接」,而是先过一遍云端资产校验——设备是不是正规渠道的、授权状态是否有效。这套逻辑并不陌生:手机有 SN 激活与保修校验,企业设备有统一的资产管理系统。机器人整机开始走向消费市场,设备资产数字化几乎是必然动作——桌面端先验资产,意味着后续的固件更新、保修服务、远程诊断都有了统一的锚点。对用户来说是多了一步输入 SN,对生态来说是少了很多来路不明的设备。两笔账怎么算见仁见智,但机制本身值得记录。这个设计对开发者意味着一件事也很明确:没有真机 SN,控制链路走不通,这是硬门槛。 没有真机的读者(包括我),请直接把注意力转到下一节的「Skill 验证」。

五、转折点:Skill 验证页里藏着一台仿真 Q1

顶部页签切到「Skill 验证」,画风突变:一个 3D 场景,白色的 Q1 人形模型站在网格地面上,可以缩放旋转。左上角有一行很诚实的小字——「只能仿真上肢动作」;右上角是「复位仿真」按钮和机型下拉框(Q系列 · Q1)。
06_Skill验证页_未导入_按钮置灰.png

下方四个面板:「Skill 所调用的原子能力列表」「验证报告(最近 3 条记录)」「原子能力全部展示(源码视图)」「机器人状态(健康检查快照)」。四个面板各管一段工作流:原子能力列表告诉你「这个技能用了哪些能力」,源码视图把技能元数据直接摊开(后面拆包会看到它和 pkg.yaml 的内容一致),机器人状态做健康检查快照,验证报告记录验证历史。信息架构是按开发者的工作流组织的,不是按功能堆砌的。

此时的关键状态是:「开始模拟仿真」按钮是灰的。鼠标悬停的反馈和页面提示都指向同一个原因——还没有导入任何技能。这台仿真 Q1 不是让你手动摇杆玩的,它是技能的验证台:你给它一个 .rpk,它把技能里声明的动作在模型上跑给你看。

场景交互做得克制:右侧一列缩放、全屏、复位、缩小按钮,配合鼠标拖拽旋转视角,没有多余的装饰元素。左上角那句「只能仿真上肢动作」值得一提——官方没有含糊地写一个「仿真」了事,而是直接告诉你边界在哪。这个提示背后是务实的取舍:Q1 的上肢动作(挥手、加油、表情配合)用预设动作就能覆盖,验证成本低、呈现效果好;而下肢和全身运动涉及平衡控制,离线环境很难给出有物理意义的验证结果,硬做反而误导开发者。把能力边界写在界面上的做法,比文档里藏着一句好得多。

这个设计思路对开发者非常友好:真机是稀缺资源,仿真不是。写完技能先在仿真里过一遍动作编排,再上真机,是标准工作流。

六、技能从哪来:PrimeHub 市场实地走访

07_PrimeHub技能商店首页.png

PrimeHub(skillhub.primebot.com)的定位写在首页标题里:「面向机器人作业的技能市场」「在一个清爽工作台中构建、验证并发布机器人技能」。技能仓库当前显示「12 个已发布技能(共 17 个)」,支持按分类、标签、机器人型号(Q1/T1)筛选。

分类体系是四维的:机器人型号(Q1/T1)、模块(语言/动作/表情)、功能(睡眠/音乐/电台/垃圾处理)、场景(客厅/卧室/厨房/实验室)。从技能清单能看出社区创作的几个方向:一是「人格皮肤」系列(节日模式、日常模式、生日模式),一份配置切换台词、动作、表情和灯效,同一位作者连发三作,明显是把「调教机器人性格」当成了一种轻创作;二是触发交互类,比如「Q1 路过迎宾」,标签里出现了「目标识别」「视觉」,说明社区技能已经开始碰感知能力;三是跨端与工具类,「WorkBuddy 控制的机器人绘本创作」和「Windows 版本 T1 机器人-WorkBuddy 连接器」挂的是 T1 机型标签,走的是和 PC 软件联动的路子。十几个技能谈不上繁荣,但类型分布不单一,这是生态早期比较健康的样子。

生态活跃度可以从几个细节读出来:

  • 下载数是真实的:视频电话 112 次、拿衣服 83 次、天气预报 50 次、点歌台 7 次;
  • 作者是社区账号:「用户_81270061」「用户_89179231」这类 ID,说明技能不全是官方自制,普通开发者可以上传(市场里有「上传到 PrimeHub」的完整链路);
  • 更新时间新鲜:从 2026-09-18 到我实测当天(10-21)都有更新记录。
    08_PrimeHub技能仓库_选择摸头开心.png

我选中的样本叫「摸头开心」,作者用户_81270061,标签是「情绪安慰 / 动作 / 机器人Q」,简介:「摸摸 Q1 的头,它会开心:随机撒娇台词 + 开心表情 + 天蓝呼吸灯,偶尔挥手,3 秒节流不刷屏。」——商店页面还标注它是「全市场首个触摸触发型技能」。

选它做拆包样本有三个理由:体量小(3.4KB,一屏代码读完);能力全(四个原子能力一次见齐,覆盖表情/语音/动作/灯效);类型新(触摸触发在现有技能里少见,比定时播报类的样本有意思)。顺带一提,PrimeHub 上的技能包都可以这样下载拆开——每一个都是官方认可格式和接口用法的参考实现,这比文档更能回答「接口怎么用才对」。

下载有两条路:网页端点卡片右上角的下载图标;或者直接在 PrimeConsole 的「导入 Skill」弹窗里浏览 PrimeHub 一键安装。两条路殊途同归,文件都是同一个 .rpk,落在我前面提到的下载目录里——实测网页下载完成时,PrimeConsole 顶部会弹出「已保存到下载目录:…\pat_pat_happy.rpk」的提示,把两条下载路径接到了同一个落点上,这个细节说明客户端和商店是当作一个产品设计的。

七、拆包:rpk 就是一个 zip

把 pat_pat_happy.rpk 拖进解压工具(或直接 unzip),答案揭晓:rpk 本质是 zip 压缩包,里面三个文件:

pat_pat_happy.rpk (3.4KB)
├── README.md        # 1097 字节,技能说明
├── cfg/pkg.yaml     # 303 字节,包元数据
└── main.py          # 5173 字节,全部业务逻辑

1a6cbd98-7b24-41f5-94eb-7d0f79a631d5.png

没有二进制、没有混淆、没有依赖地狱。值得一提的是 README 的质量:结构是标准的「它做什么 / 真机运行 / 说明」三段,把前置条件(SDK 版本、开发者模式)、运行命令、甚至「动作被运控层拒绝时静默跳过」这种异常行为都写清楚了。一个 3.4KB 的技能包配一份 1KB 的认真 README,这个细节比任何生态宣言都更能说明平台方希望技能被读懂、被复用。先看元数据 cfg/pkg.yaml:

name: pat_pat_happy
package_name: pat_pat_happy
version: 1.0.0
author: primebot_dev
robot_model: q1
description: 摸头开心——订阅头部触摸事件,Q1 随机做出开心反应(表情 + 台词 +
  天蓝呼吸灯,偶尔挥手/加油),3 秒节流。全市场首个触摸触发型技能。

六个字段说清一件事:这是什么技能、什么版本、给哪个机型用。注意 robot_model: q1——技能是按机型声明的,T1 和 Q1 的技能不通用,这和 PrimeHub 按型号筛选的逻辑对上了。

README 里最有信息量的是「真机运行」一节,它交代了这个技能的真实运行环境:

前置:启元 Q1 SDK v1.0.0.0 已编译(aimdk_msgs),机器人处于开发者模式。
source /opt/ros/humble/setup.bash && source <你的SDK路径>/install/setup.bash && python3 main.py

两个关键词:aimdk_msgs(启元的消息/服务定义包)和 ROS2 Humble。没看错,机器人技能就是跑在 ROS2 上的 Python 程序——对后端工程师来说,这个技术栈几乎没有学习成本。

README 里还有一个容易被略过的细节:它明确写了「技能无外部依赖,只用 SDK 标准接口」。这既是写给使用者的承诺(装完就能跑,不用 pip install 一堆东西),也透露了平台的打包策略——技能的依赖声明、解析、安装由工具链接管,PrimeConsole 设置里那个「自动安装依赖」开关就是给未来留的口子。

八、精读 main.py:一个 ROS2 节点的「自我修养」

main.py 一共 200 行出头,是一个标准的 rclpy 节点。骨架非常清晰:订阅 1 个话题 + 调用 4 个服务,这正是 PrimeConsole 解析出的「四个原子能力」的代码本体。

给不熟 ROS2 的读者补两句背景:话题(topic)是广播模式,发布者只管发、订阅者各取所需,适合事件流;服务(service)是一问一答的远程调用,带明确的请求和响应,适合「让机器人执行一个动作并确认结果」。这个技能的接口选型是教科书式的:触摸事件走高频率广播的话题,四个输出能力走可确认的服务。

输入侧——订阅触摸话题:

self.touch_sub = self.create_subscription(
    TouchState, "/aima/hal/touch/state", self.on_touch, 1)

回调里做两件事:过滤事件(头部传感器 sensor_id == 1 且 event_type == 1 单击),然后做 3 秒节流(time.monotonic() 记上次反应时间)。README 提到这个话题是「触发式(Reliable / Depth=1)」,符合官方《接口说明.md》§2.3。传感器编号、事件类型都提取成了具名常量(HEAD_SENSOR_ID、SINGLE_CLICK),素材池(台词、动作编号、灯效参数)全部集中在文件头部——改起来不用碰逻辑代码,这个组织方式对二次开发非常友好,也侧面说明官方希望技能包被改。

输出侧——四个服务客户端,与 PrimeConsole 原子能力列表一一对应:

原子能力SDK 服务代码里的关键参数
语音合成/aimdk_5Fmsgs/srv/PlayTtspriority_level = 6(INTERACTION_L6 交互档)
表情播放/srv/PlayEmotionemotion_ids = [3003](Q1 表情:开心)
预设动作/srv/SetMcPresetMotion挥手 3004 / 开心 3005
LED 灯效/srv/LedStripCommand呼吸模式 254,RGB (80,160,255),周期 800ms

12_仿真待机_源码视图可见元数据.png

反应逻辑 react_happy() 就是把这四件事按顺序发出去:先灯效(氛围拉满)、再表情、再台词,然后掷骰子——30% 概率追加一个小动作(开心 3005 或挥手 3004 二选一)。动作请求被运控层拒绝时(比如状态机前置条件不满足)静默跳过,不影响表情/台词/灯效主体验,这个降级策略写在 README 里,工程上很老练。

实现细节里还有几处防御性写法值得单独点出来:每个服务调用前都有 wait_for_service(timeout_sec=1.0),服务没起来就静默返回,技能不会崩;TTS 请求里塞了 trace_id(技能名加时间戳),方便在日志里追踪一次语音播报的完整链路;is_interrupted = True 表示新的播报可以打断上一段——机器人和人对话时,「能被打断」比「说完再说」重要得多。这些细节不是模板代码,是踩过坑之后才会有的写法。

代码里还有一处注释值得单独说:

「动作编号写成字面量赋值,便于 PrimeConsole 静态扫描识别(它按代码文本匹配动作编号,不执行代码)。」

这句话解释了仿真按钮为什么在导入前是灰的:PrimeConsole 靠扫描代码文本里的动作编号来生成 3D 仿真动作序列,不是真的在跑这个 ROS2 节点。这既是限制(仿真不执行你的业务逻辑,改概率、改台词在仿真里无感),也是聪明的折中(仿真不需要 ROS2 环境和真机服务,一台普通电脑就能跑)。对开发者的实际影响是:仿真验证的是「技能包结构合法 + 动作编排正确」这一层,业务逻辑要靠真机或本地起 ROS2 环境自测。理解这一点,后面改造时就不会踩坑。

九、动手改造:三处改动,五分钟拥有自己的版本

读懂了结构,改造就是体力活。策略上我刻意只动「素材」不动「逻辑」——台词、颜色、概率都是纯数据,不碰订阅和服务的骨架,这样改动风险最低,也最贴近大多数人第一次改技能的真实场景(换个说法、换个配色、调个频率)。逻辑层面的改造(加新的触发源、加状态机)涉及对 SDK 接口的更深入理解,留到有真机的时候再玩。我的目标是做一个 v1.0.1 自定义版,改动三处:

改动一:台词池整段换成自己的(原版是「嘿嘿,摸头好舒服呀。」等 5 句):

HAPPY_LINES = [
    "哎呀,被你摸得毛都顺了。",
    "再来一次,就一次!",
    "摸头达标,今日份元气充满。",
    "警告:再摸就要摇尾巴了。",
    "这颗头,给你摸出好感度暴击。",
]

改动二:灯效换色——天蓝改粉色,节奏加快:

LED_RGB = (255, 105, 180)   # 粉色(原版为天蓝 80,160,255)
LED_PERIOD = 600            # 亮→灭 600ms(原版 800ms)

改动三:小动作概率——把 react_happy() 里的 random.random() < 0.3 提到 0.6(摸一下有一半以上概率看见它挥手/加油),顺手提成了常量 MOTION_PROBABILITY = 0.6。

再加一处版本号:cfg/pkg.yaml 的 version: 1.0.0 改为 1.0.1,description 更新。改完重新打包——就是打一个 zip,注意保持三个文件的相对路径不变:

# 在技能目录下(含 README.md / cfg/pkg.yaml / main.py)
python -c "import zipfile; \
  z=zipfile.ZipFile('pat_pat_happy_1.0.1.rpk','w',zipfile.ZIP_DEFLATED); \
  [z.write(f) for f in ['README.md','cfg/pkg.yaml','main.py']]; z.close()"

或者用你顺手的任何压缩工具压成 zip 后改后缀名为 .rpk。我打出来的包 3.6KB,结构与原版完全一致。改造版全套源文件和打包脚本我放在了 AtomGit 仓库(见文末),不想逐处改的读者可以直接拿去复现。

自己打包时注意三点:一是三个文件的相对路径必须原样保留(cfg/pkg.yaml 不能拍平到根目录),PrimeConsole 按这个结构找元数据;二是 pkg.yaml 对缩进敏感,改 description 这类长字段时留意 YAML 的换行缩进规则,改完可以用任何 YAML 校验器过一遍;三是文件用 UTF-8 编码保存——台词里有中文,编码错了真机上 TTS 会念出乱码甚至直接报错。三个坑都不深,但踩一次就要多折腾一轮导入。
05_设置_Skill设置.png

导入前看一眼 Skill 设置:「重复 Skill 处理方式」默认「覆盖」——同 name 的包再导入会覆盖旧版本,所以不必改技能名,直接导入 v1.0.1 就会顶掉 v1.0.0。

十、导入与仿真验证:改造版跑起来

回到 PrimeConsole「Skill 验证」页,点「导入 .rpk」。导入弹窗里有三种技能来源,值得逐一说明:
09_导入Skill弹窗_三种导入方式.png

  • 导入本地 Skill:从本机选 .rpk 包,文件不超过 200M;
  • 导入 PrimeHub 的 Skill:客户端内直接浏览市场,筛选搜索后一键安装;
  • 导入机器人侧 Skill:从当前已连接机器人上已安装的技能中选择导入(需要真机)。

第三种方式值得多说一句:它意味着真机上的技能可以回读到电脑里——机器人在出厂或运营过程中装的技能,开发者可以拉回本地查看、修改、再验证。这个方向打通之后,「机器人侧的技能」就不再是黑盒,对排查「这台机器人为什么这么表现」这类问题非常实用。

选中 pat_pat_happy_1.0.1.rpk,顶部弹出绿色提示「已上传技能包」,左下面板立刻发生变化:标题从「未选择 Skill」变成 pat_pat_happy · v1.0.1,四行原子能力(语音合成 / 预设动作 / 表情播放 / LED 灯效)自动解析出来,「开始模拟仿真」按钮从灰色变成白色可用。
15_改造版导入_版本1.0.1.png

点「开始模拟仿真」,3D 场景里的 Q1 开始执行动作:先是一个双臂高举的「开心」(状态条显示「仿真播放中 1/2:开心」),然后是单臂「挥手」(「2/2:挥手」),底部 toast 写得很明白:「开始模拟仿真:本地驱动模型 2 个动作(未连真机)」。按钮同步变成「停止仿真」。

整个验证过程的交互节奏不错:导入即时反馈(toast 提示加面板刷新)、仿真有带进度的状态条、结束可以「复位仿真」重来。对一个版本号还停在 1.0.x 的工具来说,这条核心链路的完成度是超预期的——它清楚自己 v1 阶段该把哪一件事做扎实。
13_仿真播放中1之2_开心动作.png

14_仿真播放中2之2_挥手动作.png

这里要如实交代仿真的边界:因为 PrimeConsole 是静态扫描动作编号驱动模型,台词和灯效的改动在仿真里是看不到的(模型不会说话,也没有灯可点)——这两处改动要等真机才能验证。所以改造版和原版在仿真里的动作是同一组(开心、挥手),肉眼可见的变化只有面板上的版本号:v1.0.0 变成了 v1.0.1。我在真机到来前也一度疑惑「怎么动作一模一样」,回头看重读代码注释才反应过来——这恰恰是那行「静态扫描」注释的价值所在。仿真验证的是「动作编排是否合法、技能包结构是否正确」这一层。这个边界之内的事儿,仿真都办了:v1.0.1 导入无报错、四行原子能力解析正常、动作序列完整播放,改造完成。
16_改造版仿真_播放中.png

整体判断:PrimeConsole 当前是一个面向技能开发者的验证工具,而不是消费级遥控器。它的完成度放在「v1.0.x」的版本号上是相符的——核心链路(导入 → 解析 → 仿真)扎实可用,周边(验证报告、真机部署)还是待完善的半成品状态。工具的迭代速度可以从版本号变迁持续观察,但就二次开发这件事而言,核心链路已经够用了:结构解析、能力展示、动作仿真、发布入口,一条线上没有断点。

写在最后:这台机器人的「二次开发栈」清单

把这次实测摸到的东西收拢成一张清单,给想上手的读者。先说结论:这套二次开发体系对 Python 开发者是敞开的,门槛卡在「愿不愿意花一个下午」,而不是「会不会机器人」——

  • 技能语言:Python(rclpy),无私有 DSL、无模板框架;
  • 运行时:ROS2 Humble,消息与服务定义在 aimdk_msgs;
  • 技能格式:.rpk = zip(README.md + cfg/pkg.yaml + main.py),无编译、无签名门槛(社区开发者可自行打包上传);
  • 能力接口:话题 + 服务两类,原子能力含语音合成、表情、预设动作、LED 灯效等,PrimeConsole 自动解析展示;
  • 开发工具:PrimeConsole(导入/解析/仿真三连),真机前置为 Q1 SDK v1.0.0.0 + 开发者模式;
  • 发布渠道:PrimeHub 技能市场,支持社区作者上传,下载数公开。

再看一眼触发源这一侧的想象空间:「摸头开心」用的是触摸事件,而 PrimeHub 的分类标签里已经出现了语音、视觉(目标识别)、音乐、电台这些能力词——意味着触发源完全可以从「摸头」换成一句语音指令、一次目标识别、一个定时点。同样的四件套输出(台词/表情/动作/灯效),换一个触发源就是一个新技能,这是这套原子能力设计真正省力的地方:输入输出解耦,技能 = 触发源 + 能力编排。

入门成本换个说法:一个会 Python、了解 ROS2 话题/服务概念的后端或学生开发者,从装 PrimeConsole 到在仿真里跑通自己改的技能,一个下午绰绰有余——本文的完整流程就是证明。

给一条具体的学习路径:第一步,把 PrimeHub 上三五个技能包全部下载拆开,只看 pkg.yaml 和 main.py 的结构,很快你会发现模式是固定的——订阅一个触发源,调用若干原子能力;第二步,挑文案级别的参数下手(台词、灯色、概率),打包、导入、仿真,走通全流程;第三步,照着官方 README 提到的《接口说明.md》把话题和服务清单过一遍,想想还有什么传感器事件可以当触发源——走到这里,你脑子里应该已经有一两个新技能的雏形了。真机到位之前,拆包和仿真足够陪你走完前两步半。

真正的分水岭在真机:SN、SDK 编译、开发者模式,那是下一个阶段的门槛。但这些前置挡住的是「部署」,不是「学习」——接口长什么样、技能什么结构、工具怎么用,在无真机的这一天里就可以全部弄明白,等机器人到位时,你缺的只剩一根电源线。

如果你也想试试:开发者社区在 dev.primebot.com,PrimeConsole 安装包和 SDK 文档都在那里,PrimeHub 上现有的十几个技能都可以拆开当参考实现

本文改造后的完整技能包(main.py、cfg 与打包好的 rpk 成品)也开源在了 gitcode.com/stubborn-stone/pat_pat_happy

clone 下来即可对照本文的拆包与改造章节逐行阅读——读别人代码,是学一门新系统最快的方式。

启元机器人开发者社区:https://dev.primebot.com/

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐