
Doly 多利 一款全栈开源的多才多艺的桌面AI机器人
简介
Doly是一款基于树莓派 CM4 打造的开源桌面 AI 陪伴机器人,集语音交互、视觉识别、自主运动于一体。其结构与硬件电路设计精良,全栈开源的软件生态,是一款非常难得的 AI 机器人学习与开发平台。
简介:Doly是一款基于树莓派 CM4 打造的开源桌面 AI 陪伴机器人,集语音交互、视觉识别、自主运动于一体。其结构与硬件电路设计精良,全栈开源的软件生态,是一款非常难得的 AI 机器人学习与开发平台。开源协议
:GPL 3.0
描述
Doly/多利 - 一款多才多艺的桌面AI机器人
简介:Doly是一款基于树莓派 CM4 打造的开源桌面 AI 陪伴机器人,集语音交互、视觉识别、自主运动于一体。其结构与硬件电路设计精良,全栈开源的软件生态,是一款非常难得的 AI 机器人学习与开发平台。
你没看错这么炫酷的机器人,居然是开源的!学习了这个项目之后你也能做出这样的机器人,甚至做出更好的只属于自己的桌面AI机器人!
为什么选择 Doly?
如果你想探索激动人心的 AI 和机器人技术,但又不想在资源有限的单片机(STM32、ESP32)上开发,也无法忍受交叉编译远程部署才能测试的痛苦,想放开手脚实现激动人心的最新想法,如果你想探索奇妙的机器人世界,那么Doly是一个很好的开始!
Doly 允许你在一个功能强大的 Linux 环境中,使用 C/C++、Python 等语言直接开箱即撸。丰富的传感器和执行器件结合树莓派丰富的开源软件栈,可以让你轻松实现各种 AI 和机器人应用。
Doly 充分考量了成本和性能的平衡,拥有强大的计算能力和丰富的接口,同时整体成本和功耗控制在合理范围内,让更多爱好者能够负担得起并参与到 AI 机器人开发中来。
Doly已经将树莓派CM4的潜力进行最大化的开发,并采用了丰富的传感器和执行器件,丰富的扩展:USB,PWM,GPIO,I2C,串口调试等,为爱好者提供了一个功能齐全、易于开发的桌面AI机器人平台。无论你是初学者、学生、Maker 还是专业开发者,Doly 都能为你提供一个理想的学习和开发环境。
如何利用多利做开发?
使用VSCode ssh连接多利之后你可以:
- 丰富的底层、应用层API可以快速进行Python二次开发
- 使用 copilot 进行vibe coding
- 部署小龙虾(open claw)等等玩法!
目前的版本全新升级,加入离线唤醒模块,唤醒更加灵敏,可以自定义唤醒词和命令词,支持多达上百条离线语音指令!
预设几套不同眼睛风格,几十种预设行为动作,自己预设动画,可以使用模板自定义动画!
已经移植好小智!
可编程动画引擎
opencv人脸识别
音乐播放器等
应用层Python,底层cpp
多利快速开始指南:
https://gitee.com/makeshare/DOLY-DIY/wikis/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B/
一、项目背景
[Doly] 机器人开源了硬件但是软件基本上没有开源,本人业余花了近2年时间,期间断断续续开发,放弃了好几次,因为是在太多的的问题和坑!经历了多次抓狂,无奈,绝望!但是多利的设计太优秀了没有一套软件是在可惜!好在有热心粉丝不断的监督和催促(在此深表感谢,没有你们我是不可能坚持下来!)下终于基本上磨出了Doly整个基础软件栈,大致上可以把玩,学习开发的话足够了!现开源出来,让每个机器人爱好者都能拥有一台自己专属可以私人定制的Doly!
初心:打造一台"大白"式的桌面机器人——它能看、能听、能说、会思考,陪伴用户工作和学习。与市场上动辄数千元的商用方案不同,Doly 通过开源硬件 + 开源软件,让任何爱好者都能以不到¥800 的成本复刻一台功能完整的 AI 机器人。同时抛砖引玉,希望大家能共同参与设计、改进与创新。打造一个良好氛围的开源社区,让更多人了解和参与到 AI 机器人开发中来。不断完善和加入更多功能,趣味性和实用性将与日俱增。
不同于市面上的闭源商用机器人,Doly 完全开源透明,用户可以自由查看、修改和扩展硬件与软件设计。这样不仅促进了技术交流与创新,也让用户能够根据自身需求定制和开发出自己想要的功能!
核心特性:
- 🤖 语音交互:离线唤醒 + 离线指令+ Edge-tts/Piper 语音互动
- 👁️ 视觉智能:MobileFaceNet脸识别、支持活体检测、拍照功能
- 🚀 灵活运动:双轮差速、自主漫游、避障导航
- 💡 情感表达:双240×240液晶屏眼睛、RGB灯条、手臂动作
- ⚡ 强大计算:享受树莓派丰富的开源软件栈,无需交叉编译,直接开发
- 💰 成本友好:大概¥800 的完整开源方案,远低于商用产品
能学到什么
一个完整的产品级桌面AI机器人系统的优秀设计,从结构设计到硬件再到软件全栈开发
结构
一款优秀的产品级桌面机器人机械结构设计
硬件
一款优秀的产品级桌面机器人硬件设计
- 硬件模块化设计
- 传感器选型和接口设计
- 扩展IO和USB接口设计
- 摄像头和音频模块集成
- 电机驱动与运动控制
- 电源管理
- 等等
软件
- 树莓派开发环境搭建
- OpenCV人脸识别
- 语音识别和语音合成
- 离线唤醒词模块整合
- 机器人运动控制与导航
- 多路舵机控制
- NLU自然语言理解
- AI大模型融合编程
- 小智AI语音交互的整合,配合开源后台服务器开发出更强的AI功能
未来功能展望:
- 🧠 情感行为系统:基于行为树的情感表达与决策
- 🧩 可视化编程:Blockly可视化编程
- 🌐 远程控制:Web控制台、实时日志、体征监测
- 电量低自动回充
二、硬件设计
1. 核心架构
| 组件 | 型号 | 用途 |
|---|---|---|
| 主控 | 树莓派 CM4 | ARM四核64位,1.5GHz,2GB RAM |
| 屏幕 | 2× 240×240 IPS LCD | 表情眼睛、UI显示 |
| 摄像头 | IMX219 | Pi V2 800万像素无畸变镜头 |
| 音频 | WM8960 编解码器 | 立体声MIC输入/双路1W立体声输出 |
| 电机 | N20 直流减速电机(霍尔编码器) | 双轮差速运动 |
| 电源 | 2000mAh 18650锂电池 | 约2小时续航 |
| 传感器 | IMU、TOF距离、触摸感应、悬崖检测 | 姿态感知、避障、交互 |
2. 机械结构
- 3D打印外壳:热熔打印(FDM)即可!
- 材料推荐:PETG!
- 结构:
- 差分履带底盘:双电机带编码器
- 底盘:电池 + 主板PCB
- 头部:摄像头 + 屏幕(眼睛)+ 立体声MIC和喇叭 + 2路Tof避障
- 两侧:磁吸手臂
3. 采购清单(成本估算)
| 类别 | 物品 | 单价 | 数量 | 小计 |
|---|---|---|---|---|
| 核心 | 树莓派CM4开发板 | ¥260 | 1 | ¥260-300 |
| PCBA | PCBA(共6块板子) | ¥360 | 套 | ¥360 |
| LCD屏幕模块(2×) | ¥10 | 2 | ¥20 | |
| 感知 | IMX219摄像头 | ¥30 | 1 | ¥30 |
| 执行 | 直流减速电机 | ¥25 | 2 | ¥50 |
| 9g金属舵机 | ¥10 | 2 | ¥20 | |
| 电源 | 锂电池(18650) | ¥12 | 1 | ¥12 |
| 结构 | 3D打印件(约150g)仅PLA材料费 | ¥15 | 1 | ¥15 |
| 履带 | ¥5 | 2 | ¥10 | |
| 螺钉/连接件 | ¥5 | 1 | ¥5 | |
| 其他 | 喇叭、LED、线材等 | ¥25 | 1 | ¥25 |
| 总计 | ≈¥800 |
三、软件架构
1. 系统框架
┌─────────────────────────────────────────────────────────────┐
│ 微服务总线 (MQTT/ZMQ) │
│ 各模块通过事件驱动通信 (解耦架构) │
└────┬──────────┬──────────┬──────────┬─────────────┬──────────┘
↓ ↓ ↓ ↓ ↓ ↓
Drive Sensors Audio Vision AnimationEngine DolyDaemon
(运动) (传感器) (音频) (视觉) (动作编排) (Daemon)
2. 核心模块
| 模块 | 功能 | 技术栈 |
|---|---|---|
| Drive | 电机控制、避障、导航 | C++ HAL |
| Sensors | IMU、距离、触摸检测 | Python、I2C/SPI 驱动 |
| Audio | 唤醒词检测、语音识别、TTS合成 | snowboy、Vosk、Piper |
| Vision | 人脸检测、目标识别、拍照 | MobileFaceNet、YOLOv8n、ncnn推理 |
| AnimationEngine | 眼睛动画、手臂动作、LED灯效 | 动画序列、关键帧插值 |
| Skills | 用户技能脚本、Blockly程序执行 | Python、沙箱隔离 |
3. 运行时环境
- OS:Raspberry Pi OS 64-bit Bullseye
- Python:3.9+
- AI 推理:ncnn 框架(ARM优化)
- IPC:MQTT(模块间通信)
- 数据库:SQLite(设置、日志、技能存储)
4. 性能指标
| 指标 | 目标 |
|---|---|
| 眼睛显示帧率 | 30 FPS |
| 语音识别延迟 | <200ms |
| 人脸检测帧率 | >8 FPS |
| 电池续航 | 2小时 |
| 整机功耗 | <3W |
四、功能演示展望
场景 1: 语音交互
用户:"嘿Doly,今天天气如何?"
→ 唤醒词识别(离线)
→ 眼睛亮起、呼吸灯闪烁
→ ASR离线识别或云端识别
→ 技能系统调用天气API
→ Edge/Piper TTS合成语音
→ 扬声器播放回复
场景 2: 视觉识别
用户:"给我拍张照片"
→ 执行拍照技能
→ 眼睛眯起(快门表情)
→ 快门音效
→ 图片保存到相册
→ 并通过邮件发送到用户邮箱
场景 3: 自主漫游 调试中完善中
开启自主巡航
→ 随机移动、避开悬崖
→ 遇到人脸触发挥手动画
→ 电量低自动回充
→ 边界检测避免跌落
五、快速开始
5.1 准备工作
- 硬件组装:参考组装指南完成硬件拼装(约1.5小时)
- 系统烧录:下载预编译镜像,刷入SD卡(16GB+)
- 首次启动:上电后20秒内出现眨眼动画
项目资源
QQ交流群:
群号:1075655412
开源资源
友情提示:系统镜像已经上传到百度网盘
用Raspberry Pi Imager 配置好wifi 烧到sd卡或者emmc开箱即用
大部分为python代码,无需文档都可以看懂!
由于是业余项目,不可能尽善尽美!希望大家多多支持我!详细的教程和文档正在加紧制作中。。。
也希望大家能一起参与完善和维护Doly开源,开源更多好玩的功能!
- 硬件设计(嘉立创):oshwhub.com/doly(含原理图、PCB、3D文件)
代码仓库
- 开源代码:https://github.com/lryain/dolydev (GitHub主仓库)
- gitee:https://gitee.com/makeshare/DOLY-DIY (Gitee镜像)
文档与教程
社区交流
- 💬 Discussions:GitHub Discussions(功能建议、技术讨论)
- 💬 Issues:项目issue列表(报告bug)
- 📹 视频演示:B站频道
- 🛒 DIY材料:[造物乐趣](咸鱼搜索 “造物乐趣”)
- 🛒 DIY材料:淘宝店铺
友情提示
本项目比较复杂,复刻成功还是比较有挑战性的!新手不推荐一开始就复刻,正确的姿势应该是先使用功能完好的硬件来测试学习开源代码,吃透熟悉之后再去设计自己的硬件,进而打造只属于自己的桌面机器人!
常见问题 (FAQ)
Q: 需要多少编程知识才能开始?
A: Python SDK需要基础Python知识。你甚至可以使用AI编程!可以使用Blockly 模板进行行为动画编写。
Q: 语音识别支持哪些语言?
A: 默认中文/EN。Vosk支持多语言模型,可自行配置英文、日文等。
Q: 电池能用多久?
A: 正常使用约2小时。可采用大容量电池组扩展至4-6小时。
Q: 能否实现自动充电?
A: 目前不可以,但是硬件是支持的,未来会通过软件更新实现。
Q: 开源协议是什么?
A: 硬件和软件均为 GPL-3.0;仅限学习交流,非商业使用。
路线图
Phase 1 (已完成 ✅)
全部底层硬件驱动已经完成包括不限于:
- 核心运动系统(电机、舵机)
- 传感器系统(IMU、距离、触摸)
- 音频系统(唤醒词、语音识别、TTS)
- 视觉系统(人脸检测、跟踪和识别)
- 语音交互(唤醒、识别、合成)
- 手臂动作与LED灯效
Phase 2 (进行中 🔄)
- Web控制台基础功能
- 情感行为树系统
- 实时日志和远程调试
Phase 3 (规划中 📋)
- 自主漫游优化(SLAM)
- 低电量回充
- 手臂夹爪控制
- Blockly编程界面 也许
致谢
[Doly] 机器人硬件开源
我自己 - 造物の乐趣 开源
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










