选择主题:AI
项目介绍
随着近年来生成式 AI 技术的快速发展,传统机器人行业迎来了新的机遇与挑战。传统机器人通常依赖遥控操作,或按照预设程序机械地执行固定动作,缺乏自主理解、智能交互与灵活决策能力,因而在复杂场景中的适应性和智能化水平受到较大限制。
本项目旨在将 AI 小智 接入 PiSloth 机器人平台,为机器人赋予“AI 大脑”。通过融合生成式 AI 的自然语言理解、任务推理与智能决策能力,机器人不仅能够完成基础动作控制,还能够根据用户指令进行更自然的人机交互。可为传统机器人从“机械执行”向“智能交互”升级,提供一个低成本、可落地的解决方案。
硬件介绍
树莓派4B(核心主控板):
- CPU:Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.8GHz
- RAM: 1GB

Pisloth机器人套件(本次活动订单器件):
- sunfounder在2021年左右发布一款Raspberry Pi 机器人开发套件
- 金属驱体+ 4个舵机
- robot hat 控制板,用于舵机、IO等控制

自行设计的前脸PCB:
- 无UI交互下,AI状态LED显示(联网状态、聆听状态、说话状态等)
- 仿真眼睛:PCB丝印眼镜+凸透镜+LED
电池、麦克风、喇叭等基础外围
框图及设计思路
框图简介:

本项目使用树莓派4B作为核心主控,麦克风、扬声器作为机器的语音输入和输出;主控通过websocket与云端大模型进行交互,实现语音识别、逻辑推理、意图识别等;主控通过I2C接口与Robot Hat控制板交互,实现机器人关节的舵机控制;AI机器人的当前实时状态则通过前脸的LED进行指示。
设计思路:
在终端与云端AI的语音交互方面,AI小智是近两年来很热门的一个项目方案,并且是开源的,对于个人开发而言,服务端也完全免费,没有大模型Token消耗成本。对于树莓派这种Linux终端,本文选择Python版本的py-xiaozhi开源项目作为基础代码进行二次开发。
py-xiaozhi实现了终端与云端AI的语音交互,那如何让机器人与云端AI实现硬件交互呢?答案是:目前主流的MCP(即模型上下文协议)。将机器人的动作、功能抽象为一个MCP工具,云端AI在获取到MCP的描述后,即可获得控制机器人的技能。当识别出控制机器人意图时,会下发对应的工具调用指令,从而实现机器人的硬件控制。
原理图及PCB
本项目对PiSloth机器人的前脸电路进行了重新布局规划,使用KiCad设计了一个低成本的LED状态显示逻辑及一双灵动的双眸:


在PCB设计方面,充分利用黑色油墨与白色丝印,绘制了机器人的眼部轮廓,同时配上微光LED及凸透镜,使得机器人双眸栩栩如生,实际效果如下:

软件关键实现
py-xiaozhi部署
- 克隆项目仓库
git clone https://github.com/huangjunsen0406/py-xiaozhi
- 修改项目requirement.txt
由于本项目使用的是仅1GB RAM的树莓派,所以只能使用命令行模式,因此QT相关的组件需要注释掉。
...
pygame==2.6.1
#PyQt5==5.15.11
opencv-python-headless==4.11.0.86
...
- 安装requirement.txt即完成部署

robot_hat组件安装
- pip直接安装
pip install robot-hat
robot_hat组件包含一套robot_hat控制板的硬件控制函数,通过这些函数实现舵机的驱动。
机器人MCP实现
- 在src/mcp/tools目录下创建pisloth文件夹,实现下面四个关键文件

其中,sloth.py是机器人控制的直接操作函数,manager.py则主要是对该工具的prompt描述:
add_tool(
(
"control_pisloth",
"【机器人动作控制】这是你的身体,当用户要求你前进、后退、跳舞或站立时调用此工具。\n"
"功能:控制 Pisloth 机器人执行物理动作,如前进、后退、跳舞或站立。\n"
"支持的动作:\n"
"- 'forward': 机器人前进\n"
"- 'backward': 机器人后退\n"
"- 'dance': 执行跳舞动作(机器人会进行舵机运动模拟跳舞)\n"
"- 'stand': 站立不动(默认动作)\n"
"使用场景:用户说'前进'、'后退'、'跳个舞'、'跳舞'、'站好'等时调用。\n"
"参数说明:action_type - 动作类型,字符串类型,默认 'stand'\n"
"注意:这是物理机器人控制,确保硬件连接正常。",
control_props,
control_pisloth,
)
交互状态LED指示实现
- 修改src下cli_display的update_status,根据不同状态对LED进行控制。如当机器人连接服务器后,双眸的微光LED点亮,当机器人在聆听状态时,额头绿色LED点亮。

云端大模型配置

在云端服务器,配置机器人的昵称,并选择使用的大模型,本项目选用Qwen3.5大模型,该模型具有极强的指令遵循及工具调用能力。

机器人整体展示

效果演示
https://www.bilibili.com/video/BV1PSDxBkEyr/?vd_source=b3875874dae83ca6abad9d14e2e3d762
小结
本项目在树莓派4B上,将AI 小智 接入 PiSloth 机器人平台,实现了一个AI智能机器人。该思路及方法可以应用到其它传统机器人/智能硬件中,可为传统机器人/智能硬件从“机械执行”向“智能交互”升级,提供一个低成本、可落地的解决方案。
(本项目完整代码开源,开源地址见附件txt文档)