使用说明
项目简介
本项目 'ros_mcp_server' 是一个基于 Model Context Protocol (MCP) 的服务器实现,专注于ROS(Robot Operating System)机器人的运动控制。它通过 MCP 协议向 LLM 客户端暴露控制机器人运动的工具,允许 LLM 通过调用这些工具来指挥机器人执行各种运动任务。
主要功能点
- pub_twist 工具: 允许客户端发送线速度和角速度指令,实时控制机器人的运动。
- pub_twist_seq 工具: 允许客户端发送一系列线速度和角速度指令,控制机器人执行连续的运动序列。
- 基于 WebSocket 与 ROS Bridge 通信: 服务器通过 WebSocket 连接到 ROS Bridge,从而控制 ROS 系统中的机器人。
- 使用 FastMCP 框架: 基于 'mcp-server' 库的 'FastMCP' 框架构建,简化了 MCP 服务器的开发。
安装步骤
- 安装 Python 依赖: 确保你的Python环境中安装了以下库:
pip install mcp-server websocket-client - 下载仓库代码: 从 GitHub 仓库 'https://github.com/lpigeon/ros_mcp_server' 下载或克隆代码。
服务器配置
为了使 MCP 客户端能够连接到 'ros_mcp_server',需要提供以下服务器配置信息。这是一个 JSON 格式的配置,通常在 MCP 客户端的配置文件中指定。
{ "server_name": "ros_mcp_server", "command": "python", "args": ["server.py"], "description": "ROS机器人运动控制MCP服务器,提供速度控制工具", "capabilities": [ { "tool_names": ["pub_twist", "pub_twist_seq"] } ], "config": { "rosbridge_ip": "192.168.50.90", // ROS Bridge 服务器 IP 地址,请根据实际情况修改 "rosbridge_port": 9090 // ROS Bridge 服务器 端口号,通常为 9090 } }
配置参数说明:
- 'server_name': 服务器名称,客户端用以识别。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 启动命令的参数,指定服务器脚本为 'server.py'。
- 'description': 服务器的简要描述,方便客户端用户理解服务器功能。
- 'capabilities': 声明服务器提供的能力,包括工具列表。
- 'tool_names': 服务器提供的工具名称列表,这里列出了 'pub_twist' 和 'pub_twist_seq'。
- 'config': 服务器的自定义配置,用于传递服务器运行所需的参数。
- 'rosbridge_ip': [请务必根据实际 ROS Bridge 服务器 IP 地址修改此项] 指定 ROS Bridge 服务器的 IP 地址,'server.py' 将连接到此地址。
- 'rosbridge_port': ROS Bridge 服务器的端口号,通常为 '9090',一般无需修改,除非 ROS Bridge 服务器使用了非默认端口。
请注意: 你需要确保 ROS Bridge 服务器 ('rosbridge_suite') 正在运行,并且 IP 地址和端口配置正确,'ros_mcp_server' 才能成功连接并控制 ROS 机器人。
基本使用方法
- 启动 MCP 服务器: 在安装好依赖并配置好服务器信息后,在 'ros_mcp_server' 仓库目录下,通过命令行运行 'python server.py' 启动 MCP 服务器。
- 配置 MCP 客户端: 在你的 MCP 客户端应用中,配置上述提供的服务器配置信息,确保客户端能够发现并连接到 'ros_mcp_server'。
- 调用工具: 客户端连接成功后,可以调用 'pub_twist' 和 'pub_twist_seq' 工具来控制 ROS 机器人的运动。例如,调用 'pub_twist' 工具并传入线速度和角速度参数,即可让机器人按照指定的线速度和角速度运动。具体工具参数和调用方式请参考 MCP 客户端的文档。
信息
分类
桌面与硬件