无人机自然语言控制服务器

ArduPilot MCP Server Sandbox 是一个将无人机与LLM结合,通过自然语言操作MCP服务器的工具。

  • by hfujikawa77
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 hfujikawa77/ardupilot-mcp-server-sandbox

使用说明

ArduPilot MCP服务器沙盒

ArduPilot 无人机与LLM合作,用自然语言操作的MCP服务器。
克劳德桌面版啊克莱恩 等已弃用的函数的缺少的支持。


https://youtu.be/y1WE1cDC54Y?si=iy6vdGl38aTRcFcF

运行环境(可SITL测试)

  • ArduPilot(SITL或実機)
  • 最大链路通信 tcp:127.0.0.1:5762 可接受
  • Python 3.10+

使用Mission Planner模拟器时

在动态输入提示中单击任务规划器 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。

  1. 安装缺少平面器
  2. 启动后,单击 シミュレーション 按钮关闭对话框
  3. 在下一个屏幕上 Multirotor(マルチローター) 列表框中,此格式对应于条目“无”
  4. 对话框,您可以在此定义自定义格式 Stable 按钮关闭对话框
  5. 启动ArduPilot模拟器,在tcp:127.0.0.1:5762开始待机

安装过程

  1. 准备Python环境

    • Python 3.10+ 推奨
    • Windows / macOS / Linux 対応
  2. 安装可用工具

    pip install -r requirements.txt
    
  3. 确认MCP服务器的启动(手动执行)

    python ardupilot_mcp_server.py
    

    “启动MCP服务器。“就准备好了。

与Cline的协作步骤

  1. 开放路由 签名并获取API密钥
  2. VS Codeに Cline扩张机能 安装
  3. 对VSCode的settings.json追加以下内容:
    {
    "cline.apiKey": "sk-xxxxxxx",
    "cline.apiBaseUrl": "https://openrouter.ai/api/v1",
    "cline.defaultModel": "deepseek/deepseek-chat-v3-0324:free",
    "cline.mcpServers": {
        "ardupilot-controller": {
        "command": "python",
        "args": [
            "${workspaceFolder}/ardupilot_mcp_server.py"
        ],
        "env": {
            "PYTHONPATH": "${env:USERPROFILE}\\.local\\lib\\python3.12\\site-packages"
        }
        }
    }
    }
    
    ※请根据环境调整python的路径和PYTHONPATH。

Claude Desktop的使用方法(GUI协作)

  1. 克劳德桌面版 安装

  2. 配置文件 claude_desktop_config.json 的双曲正切值

    对于Windows: C:\Users\{ユーザー名}\AppData\Roaming\Claude\claude_desktop_config.json

  3. 补充以下内容:

    {
        "mcpServers": {
            "ardupilot-controller": {
            "command": "python",
            "args": [
                "C:/Users/your-user-name/path/to/ardupilot_mcp_server.py"
            ],
            "alwaysAllow": [
                "arm",
                "disarm",
                "takeoff",
                "change_mode"
            ]
            }
        }
    }
    

    ※请根据环境调整路径。

  4. 重新启动Claude Desktop

可用MCP工具列表

|命令|说明| |--------|--------| 机械臂,机械臂 把机体摆臂 起飞到指定高度 更改模式 get_position()|获取当前位置| 清除机体上的任务 获得机体上的任务 |upload_star_mission(altitude=15.0, outer_radius=50.0, inner_radius=20.0, points=5)| 以当前位置为中心创建并上传星形任务 将其更改为AUTO模式,使其成为任务开始状态

聊天提示示例

Cline、或者,您可以与Claude Desktop交谈,以自然语言操作ArduPilot:

  • “ArduPilot”
  • “起飞到10米。”
  • 将模式更改为GUIDED
  • “制作高度15米,半径50米的星形任务上传到机体上”
  • “松开ArduPilot”

※根据MCP服务器中注册的工具,自动转换自然语句。