基于树莓派实现的AI智能机器人--PiSloth


腾讯orkbuddy注册即可得2000积分,可以干不少活。下载链接:https://www.workbuddy.cn/

百度Dumate智能体,也是工作搭配好工具:邀请码及下载地址:百度 Dumate邀请码: 7D8DUYG

字节TraeWork免费4500积分,点击下载字节跳动TraeWork免费4500积分

Tabbit AI浏览器,在浏览器里用AITabbit AI浏览器,点击下载

MonkeyCode 长亭百智云Monkeycode-AI,点击在线使用

\n

项目背景

随着近年来生成式 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
  • 电池、麦克风、喇叭等基础外围

Py-Xiaozhi介绍

py-xiaozhi 是一个使用 Python 实现的小智语音客户端,是基于xiaozhi-esp32移植的。

官方仓库:https://github.com/huangjunsen0406/py-xiaozhi

方案框图

框图简介:

本项目使用树莓派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.11opencv-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点亮。

云端大模型配置:

  • 打开小智AI服务器官网,配置机器人的昵称,并选择使用的大模型。

本项目选用Qwen3.5大模型,该模型具有极强的指令遵循及工具调用能力,本公众号曾验证其上一代Qwen3-1.7B小参数模型即可正常进行工具调用。

机器人整体展示

效果演示

已关注
关注
重播 分享
ETRD

0/0

00:00/00:51
进度条,百分之0
00:00
/
00:51
00:51
全屏

倍速播放中

继续观看

基于树莓派实现的AI智能机器人--PiSloth

原创
,
基于树莓派实现的AI智能机器人--PiSloth
ETRD
已同步到看一看写下你的评论

小结

本项目在树莓派4B上,将AI小智接入PiSloth机器人平台,实现了一个AI智能机器人。该思路及方法可以应用到其它传统机器人或者智能硬件中,可为传统机器人/智能硬件从“机械执行”向“智能交互”升级,提供一个低成本、可落地的解决方案。

本项目完整源码,可关注“ETRD”公众号,回复 “AI小派” 获取。

暂无评论,快来发表第一条评论吧!

📮 需求咨询