DDL vector机器人 oskr使用教程
简介:
在DDL接手anki的vector机器人事业之后,发起了大量的众筹和软硬件售卖。其中我最感兴趣的是oskr和escape-pod。
oskr是开放vector机器人的权限,用户可以ssh远程登录到vector机器人的操作系统上,进行各自操作。并且DDL将机器人上面跑的部分程序代码(go语言代码)开源,用户可以进行修改编译后再替换到机器人上面运行,以实现自己的功能。
escape-pod是可以将vector机器人连接的语音云端地址修改掉。并且官方提供了一些开源代码和工具 来帮助用户实现和部署自己的云服务,以脱离官方的云服务。
有了这2个功能权限,vector开放给用户更多的权限,官方开源了一些代码。vector机器人就有更多的可玩性,用户可以实现自己想要的功能。当然,这两个权限都是要花钱购买的,买完之后好多人不知道怎么使用。其实还需要主动通过发邮件的方式,让官方帮忙制作 指定机器人 拥有oskr和escape-pod权限的固件(也叫升级包/安装包,就是解锁了权限的操作系统+应用软件整套)。收到官方回复后,下载固件安装到自己的机器人上。自己的机器人就是一个解锁过的机器人,可以玩oskr和escape-pod功能了。
解锁方式可以参考官方文档:https://oskr.ddl.io/oom/
关于oskr和escape-pod的最新动态可以参考oskr官网:https://oskr.ddl.io/
开源代码可以在github上下载:https://github.com/digital-dream-labs
官方在gitlab上的开源项目分为几种类型:
0.c/c++语言项目,vector机器人上运行的核心引擎,和驱动对接,向上游go服务提供能力接口。
1.go语言项目,编译后可以替换到vector上运行。
2.js语言项目,运行在自己电脑上的web页面程序,一般是一些工具。
3.公共库,其他项目会来调用,或者用来做测试的。
oskr:
以下是vector机器人上运行的子程序列表,分别实现了不同的功能,组成了完整的vector机器人功能。
以下是我在我的机器人上面列出来的进程列表,可以看到各个进程的存在:
其中箭头指向的2个是已经开源了的程序,代码在上面的github上。
2023-10-24更新:
替换官方提供的新程序到vector上,就可以脱离官方语音云,而连接到自己的服务器:
上图中的资源:
本地云服务镜像下载地址:https://support.digitaldreamlabs.com/article/358-launching-your-escape-pod-2
机器人内部程序/anki/bin/vic-gateway和/anki/bin/vic-cloud下载地址:https://github.com/digital-dream-labs/vector-cloud/releases/tag/v1.0.0
链接成功后,就可以开始阅读源码并开始尝试修改源码实现功能了
参考文档:
https://support.digitaldreamlabs.com/category/367-launching-your-escape-pod
https://support.digitaldreamlabs.com/article/350-oskr-users-pi-flashing-for-the-escape-pod
https://randym32.github.io/Anki.Vector.Documentation/index.html
后续更新......
搭建逃生舱:
1.搭建本地云服务运行,让vector连上
官方的教程是购买一个树莓派(小型电脑),然后把官方提供的img镜像文件复制到内存卡上,再将内存卡插入树莓派启动。img镜像内包含了本地云服务。树莓派可以放在家里长期运行。
img镜像文件:是一个以.img为后缀名的raw文件,可以理解为把硬盘按字节拷贝到一个文件里。硬盘是3.8GB左右,所以这个img文件也是3.8GB左右。可以当成一个硬盘的内容。把这个文件再拷贝回内存卡,树莓派就可以通过这个内存卡启动起来并自动运行里面的程序。下载地址:https://support.digitaldreamlabs.com/article/358-launching-your-escape-pod-2
树莓派:一个嵌入式电脑,把所有硬件(CPU、内存、显卡等)都放在一张身份证大小的卡片上,使用SD卡当硬盘。所以可以将Img复制到SD卡上,再插上去就能运行。
对于不想购买树莓派的人来说,通过虚拟化软件,也能模拟出一个树莓派来,我平时玩游戏多,所以用的是windows操作系统,尝试了VMware、virtuaBox来跑官方提供的img,都没跑通。查阅资料后发现:
树莓派的CPU架构是ARM的,而VMware、virtuaBox只能模拟本机的CPU架构的硬件,也就是intel的x86/x64架构(复杂指令集)。最终找到了一篇文章介绍可以使用qemu模拟树莓派Pi 3B+主板(https://zhuanlan.zhihu.com/p/452590356),于是我发现了qemu原来有windows版本的:
1.在windows下载最新的qemu:https://qemu.weilnetz.de/w64/2023/qemu-w64-setup-20230822.exe
2.点击下载的安装包qemu-w64-setup-20230822.exe进行安装
3.安装后路径是在C:\Program Files\qemu下,将qemu-system-***所在的路径添加到系统环境变量path中,这样在cmd运行qemu命令就不用加全路径了。(qemu-system-***是一个虚拟化软件,可以模拟各种硬件架构运行虚拟机,而本次要通过qemu-system-aarch64.exe
模拟树莓派3 B+,并在上面运行vector的逃生舱img)
4.下载模拟树莓派需要的内核文件(我不清楚树莓派为什么都有img了还需要内核文件)并解压:https://github.com/dhruvvyas90/qemu-rpi-kernel/archive/refs/heads/master.zip
5.修改img文件大小:由于img文件只是硬盘的前3.8GB内容,硬盘后面的内容是空的,所以没写到img中。但是运行虚拟机的话,硬盘需要按官方要求的大小>8GB,运行命令修改img的大小:qemu-img.exe resize D:\anki_robot\ubuntu-20.04.4-escape-pod-1.8.2.img 8G
6.运行cmd命令启动虚拟机(替换命令中的文件路径为你本地电脑对应文件所在的路径):
如果报错了,那大概率是你的这几个文件路径和我电脑的不一样,上面这条命令中需要你本地有这4个文件:
qemu-system-aarch64.exe:安装qemu之后就有,执行上述1、2、3步
bcm2710-rpi-3-b.dtb:上述第4步下载的
5.4.51 kernels\kernel8.img:上述第4步下载的
ubuntu-20.04.4-escape-pod-1.8.2.img:从vector官网下载的img(https://support.digitaldreamlabs.com/article/358-launching-your-escape-pod-2)
如果没报错,那你大概能看到虚拟机启动的全过程,如果出现kernel panic了(未知原因),就退了重新运行一次:
启动成功后,显示linux的登录界面,输入官方提供的账号密码即可登录:
账号:ubuntu 密码:ubuntu
重置密码为自己设定的密码后进入系统:
查看逃生舱服务进程和文件:
切换到root用户,查看网络监听端口:
为树莓派添加了usb网卡,但是镜像不支持usb网卡驱动;为树莓派添加网卡,发现树莓派没有pci总线。。。放弃树莓派。
从镜像中提取出escape-pod程序,然后就可以放在正常机器上运行了:
https://github.com/chenhongjun/escape-pod-linux-arm64
2.调整代码实现一些验证性功能,搭建交叉编译环境完成编译
3.尝试实现自己的功能(中文语音、chatgpt等)
4.整体分析原理并整理文档
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?