谷歌开发者用Gemma 4与树莓派做出桌面恐龙机器人DinoDesk AI
项目作者bebechien与同事Shama用乐高积木、树莓派和Pirate Audio扬声器搭建了一台无摄像头的桌面伴侣机器人,通过本地PC网关在Gemma 4与Gemini Flash之间按需切换,本地闲聊首token延迟约200毫秒,云端推理约800毫秒。
谷歌开发者账号发布的一篇技术博客中,作者bebechien与同事Shama记录了他们搭建桌面伴侣机器人DinoDesk AI的全过程。根据这篇博客,这是一台用乐高积木和Technic机械结构做外壳、以树莓派为主控、搭配Pimoroni Pirate Audio扬声器扩展板的桌面机器人,定位是不带摄像头的低功耗AI伴侣。
本地Gemma 4与云端Gemini Flash之间的三种切换模式
DinoDesk AI的“大脑”分两处:用户主PC上运行一个统一LLM网关(路由器),桌面的树莓派通过Wi-Fi发送同样的OpenAI兼容请求,不区分背后是哪个引擎。本地引擎由LM Studio运行Gemma 4,云端引擎使用Gemini Flash与Gemini Live。
博客列出了三种模式。默认的本地模式下,Gemma 4提供零成本、离线、完全私密的对话,首token延迟约200毫秒,适合闲聊、桌面计时器和快速状态查询。云端模式使用Gemini Flash或Gemini Live,首个token约800毫秒,面向编码帮助、复杂数学、深度解释或语言辅导。自动混合模式默认走本地Gemma 4,当复杂度分类器检测到“解释”“比较”“写代码”等多步推理关键词时,会悄悄把请求升级到Gemini Flash。
切换方式有三种:双击Pirate Audio按钮X、在电容触摸传感器上长按3秒,或用语音命令“Switch to Cloud Mode”。当自动混合模式把问题升级到云端时,机器人指示灯会从常亮绿色暂时变为常亮金色,回答结束后恢复绿色,让用户一眼知道是哪个大脑在作答。
乐高积木外壳与Pirate Audio硬件清单
作者说他们想让DinoDesk AI更像一个实体玩具,而不是冷冰冰的智能音箱。因此没有用3D打印密封塑料外壳,而是用基础乐高积木和Technic杠杆机构拼出身体,方便任何人改装或维修。
博客给出的核心物料清单包括:Raspberry Pi加32GB MicroSD卡作为主控制器;Pimoroni Pirate Audio Speaker扩展板提供1.3英寸240×240 ST7789 IPS LCD、I2S 1W扬声器和4个触觉按键;一个带清脆咔哒声的迷你按钮开关用于开始或停止语音采集;一个紧凑型USB迷你麦克风;以及驱动脖子运动和尾巴摇摆的电机。
- Button A(GPIO 5):取消或静音,立即停止当前回答流、静音音频并让机器人回到闲置状态。
- Button B(GPIO 6):复位,把所有舵机拉回中位,不打断当前状态。
- Button X(GPIO 16):单击手动切换面部表情,双击在本地与云端模式间切换。
- Button Y(GPIO 24):单击触发一次摇尾巴序列以验证机械对齐,长按2秒循环切换提示音音量(低→中→高→静音)。
用五状态有限状态机协调眼睛、声音和身体
作者认为伴侣机器人只有在眼睛、声音和身体一起动时才会显得“活着”。为此他们设计了一个五阶段有限状态机,协调240×240 LCD上的眼睛表情、8位提示音和电机动作。
五个状态分别是:睡醒、闲置、聆听、思考和说话。睡眠状态在闲置3分钟或房间变暗时进入,LCD显示闭眼和“zzz”,电机放松、头略向下倾斜。闲置状态是默认待机,眼睛会自主眨眼,偶尔有唤醒或眨眼提示音,头部回正并缓慢摆动脖子。聆听状态由按钮点击或传感器触发,眼睛睁大,响起上扬的“Beep-Boop!”,头朝用户倾斜15度。思考状态在音频已发送、路由器正在推理时进入,瞳孔旋转并显示模式徽章,伴随不规则的“tick-teek-poh”处理音,脖子缓慢左右摆动。说话状态在接收SSE token流时进入,表情随内容眨眼并滚动字幕,每个token伴随8位打字机提示音,尾巴按文本长度同步摇摆。
项目当前状态:代码已开源,完整语音对话尚未实现
博客最后说明这仍是一个进行中的项目,还不完美。作者表示会回来补上完整实现的语音对话功能,目前可以先用每次按按钮时的8位音效。代码仓库地址已在文章中给出,作者也邀请读者留言分享自己的创作计划。