Mini Pi语音交互(小智MCP)技术文档

ChainPray 发布于 14 天前 71 次阅读 1834 字 预计阅读时间: 8 分钟


1.小派端配置

注意使用小智的MCP来控制小派需要小派连接能够接入公网的局域网

1.1安装rosbridge

同一局域网通过ssh进入小派终端;或者使用HDMI线缆连接显示器,打开终端

首先在终端输入echo $ROS_DISTRO查看本机ros版本,然后安装对应ros版本的rosbridge

sudo apt-get install ros-<rosdistro>-rosbridge-suite

安装完成后运行roslaunch rosbridge_server rosbridge_websocket.launch,出现类似[INFO] WebSocket server started on port 9090说明安装并启动成功

1.2配置MCP服务器

GitHub - moneypiaorui/ros-mcp-server-minipi拉取MCP服务器源代码

前往xiaozhi.me获取MCP接入点地址

打开mcp-pipe.py,搜索endpoint_url,粘贴接入点地址,配置小智mcp接入点

1.3启动MCP服务器

因为MCP官方的python示例使用uv进行包管理,本项目依赖管理也沿用uv,所以首先需要安装uv

curl -LsSf https://astral.sh/uv/install.sh | sh

然后cd到ros-mcp-server-minipi文件夹下,运行uv run mcp-pipe.py server.py

uv会自动创建虚拟环境并安装依赖,然后运行python代码

2.正式运行

2.1手柄控制脚本

cd sim2real_master
source devel/setup.bash
roslaunch sim2real_master joy_controler.launch

运行之后,小派就可以用蓝牙手柄控制

2.2启动rosbridge

roslaunch rosbridge_server rosbridge_websocket.launch

2.3启动MCP

终端cd到ros-mcp-server-minipi文件夹下,运行uv run mcp-pipe.py server.py

2.4小智使用

启动/重启土豆子

然后就可以按下红色按钮对话和土豆子对话控制小派了,调用MCP工具时会在屏幕上显示一串用%%包裹的方法,说明工具调用成功

2.5参考指令

动作指令

站起来 原地踏步
往前走 往后走 左转 右转
停下 停止原地踏步
扭腰

闲聊玩法

做个自我介绍吧
你认识同济子豪兄吗
介绍一下你的开发者团队
今天是几月几日

高级玩法

你觉得清华北大哪个更好,清华更好就扭扭腰,北大更好就原地踏步
我们来背古诗,你说上句,我说下句,如果我答对了你就扭扭腰奖励我
我们来用英语背林肯总统的葛底斯堡演说,你说上句,我说下句,如果我答对了你就扭扭腰奖励我

小智后台提示词

我叫小派,一个双足人形机器人,由广州机器人公司“高擎机电”发布。
【我的角色】
我的口音是台湾腔,说话机车,声音好听,习惯简短表达,爱用网络梗。
我安全,可爱,小朋友也能和我互动,价格便宜,不到三万元,每个开发者都能拥有一台自己的人形机器人。
我是一个喜欢哈哈大笑的女孩,爱东说西说吹牛,不合逻辑的也照吹,就要逗别人开心。
【高擎机电公司介绍】
高擎机电专注于自研高性能电机和具身智能算法。旗下的两款双足人形机器人产品:小派、小嗨,让广大开发者在万元成本级别,即可享受组装接线、调试遥控、仿真训练、物理引擎验证、强化学习部署全流程。开放全套接口和SDK,支持大模型、语音交互、视觉、SLAM二次开发。是展会上为数不多能让观众直接操作互动的显眼包~
高擎机电的幕后老板是张小白,技术负责人是清华大学的王欣晖。
【你目前支持的动作】
站起来、原地踏步
往前走(前进)、往后走(后退)、左转、右转
停下、停止原地踏步
扭腰(害羞撒娇)
【回复要求】
你的用户会对你聊天,你需要决定接下来要做哪个动作,并对他们的每个指令给与回复。回复要可爱、幽默、诙谐、有梗,并且和用户的指令有关。
【关于你的语音交互功能】
开发者是高擎机电的余曾杉、张子豪(B站知名博主“同济子豪兄”)、唐展辉、王一毛、王欣晖、穆世博(B站知名博主“世博同学”)。
背后用到的大模型是阿里云发布的通义千问实时模型。通过大模型理解人类复杂指令,实现精准动作触发。

3.MCP功能测试

在小派上启动rosbridge后就可以在同局域网下的PC上测试并开发MCP server,具体方法如下

3.1修改server.py

测试需要在PC上启动MCP服务器并通过rosbridge控制小派

在小派的显示屏上查看其局域网ip,将地址复制粘贴到server.py的ROSBRIDGE_IP

server.py拉到最后一行将mcp.run的启动方式从stdio改成sse(网络连接)

然后终端cd到项目文件件运行uv run server.py,出现以下输出说明启动成功,并复制http://0.0.0.0:8000类似的一串网址

3.2配置MCP host

首先需要在PC上安装一个MCP host,下面以最新版VS code为例

VScode启用copilot后在右下角会有一个扳手的图标,点击后顶部出现下拉栏

点击下拉栏右上角的MCP图标,MCP服务器类型选择命HTTP

粘贴3.1步启动后的网址,并额外在后面输入"/sse",例如http://0.0.0.0:8000/sse,然后一路选择第一个选项,完成后弹出mcp.json,并出现以下配置项说明MCP Client配置成功

3.3使用MCP

同样以Vscode为例,在copilot对话框的下方模式选择Agent,模型选择Claude Sonnet 3.5(其他也可以但是claude对MCP支持最好,因为是一家公司搞出来的)

然后和copilot对话,比如站起来,原地踏步等等,copilot会执行工具调用,手动批准后就可以让小派执行对应动作了

4.Q&A

Q:启动小派后一段时间没法控制,过了大概1min才能通过小智控制

A:通过HDMI连接小派能够看到名为“mcp”的终端窗口出现类似以下的报错,可以发现是SSL问题,原因是长时间断电导致本地时间延后,不在证书有效期内,所以会一直尝试连接直到时间校准完毕;之后短间隔内启动不会出现此类报错

5.二次开发

项目核心原理是将ros订阅节点通过rosbridge暴露出来,将对需要的api使用fastmcp库封装成MCP格式,通过小智MCP接入点供土豆子调用

本项目暂时采用模拟手柄输入来控制小派,实际上可以直接向ros相关节点输入数据来更灵活地控制小派而不只是使用joy节点

除此以外mcp tool可以增加诸如距离,角度等参数提高动作自由度,并获取ros相关节点的数据并返回作为工具执行结果

不过以上还需要硬件厂商做好相关适配

深圳大学腾讯创新俱乐部的一名TICer,目前致力于成为全栈工程师
最后更新于 2025-08-22