机器人控制服务

提供两种机器人控制方法:基于云的API控制和基于LLM + MCP的硬件控制,适用于智能家居和自动化清洁场景。

  • by rileyseaburg
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 rileyseaburg/shark-robot

使用说明

鲨鱼机器人控制

有两种控制方法可供选择:

方法1:云API(无硬件模块)

通过Shark的云端控制-仅限启动/停止/停靠。

cp .env.example .env
# Edit .env with SharkClean credentials
source venv/bin/activate
python main.py

云API端点

方法 端点 描述
得到 /status 机器人状态
职位 /start 开始清洁
职位 /pause 暂停
职位 /dock 返回码头
职位 /find 使机器人发出唧唧声

方法2:LLM+MCP控制(硬件模块)

通过Portenta H7实现完全控制-驱动、转向、真空控制。

建筑

Claude (LLM) ◄──MCP──► MCP Server ◄──WiFi──► Portenta H7 ──► Motors

所需硬件

  • Arduino Portenta H7
  • 电机驱动器(L298N/DRV8833)
  • 访问机器人电机连接器

设置

  1. 闪光 firmware-portenta/shark_controller.ino 前往波特塔
  2. 更新固件中的WiFi凭据
  3. 通过电机驱动器将电机连接到Portenta
  4. 添加到MCP配置:
{
  "mcpServers": {
    "shark-robot": {
      "command": "python3",
      "args": ["/home/riley/shark/mcp-server/shark_mcp.py"]
    }
  }
}

MCP工具

工具 说明
robot_forward 前进
robot_backward 向后移动
robot_turn_left 左转
robot_turn_right 右转
robot_stop 全部停止
robot_vacuum_on 启动真空
robot_status 获取状态
robot_sensors 读取传感器

LLM命令示例

  • “缓慢向前行驶2秒钟”
  • “右转90度”
  • “以50%的功率开始吸尘”
  • “检查传感器读数”
  • “停止机器人”

文件

shark/
├── main.py                    # Cloud API server
├── mcp-server/
│   ├── shark_mcp.py          # MCP server for LLM
│   └── test_robot.py         # Direct test script
├── firmware-portenta/
│   └── shark_controller.ino  # Portenta firmware
└── sharkiq/                   # SharkIQ library