Overview

Overview

site icon
2025.05.09 0
Python机器人控制自然语言处理其它
ROS MCP Server 是一个专为机器人设计的控制框架,通过将自然语言命令转换为ROS命令来控制机器人。它支持ROS和ROS2系统,利用rosbridge实现跨平台通信,适用于多种开发环境。该服务器具有WebSocket通信、跨平台支持、与LLM和AI系统集成、可扩展功能集等特性,无需修改现有ROS节点即可实现机器人控制。
View on GitHub

Overview

基本能力

产品定位

ROS MCP Server 是一个机器人控制框架,旨在通过自然语言命令控制机器人,支持ROS和ROS2系统,适用于机器人开发和研究。

核心功能

  • WebSocket通信:支持ROS和ROS2系统,通过rosbridge实现无缝集成。
  • 跨平台支持:可在Linux、Windows和MacOS上运行。
  • 与LLM和AI系统集成:将自然语言命令直接转换为机器人动作。
  • 可扩展功能集:通过扩展MCP工具接口添加新的机器人控制或传感器功能。
  • 无需修改ROS节点:与现有ROS/ROS2主题和服务交互,无需修改机器人核心代码。
  • 原生ROS/ROS2命令兼容:支持本地ROS/ROS2库,可同时使用WebSocket和原生ROS命令。

适用场景

  • 机器人控制研究
  • 自然语言交互机器人开发
  • 跨平台机器人应用开发
  • 机器人模拟环境测试

工具列表

  • rosbridge:用于ROS和ROS2系统的WebSocket通信。
  • uv:用于虚拟环境管理和依赖安装。

常见问题解答

  • 如何连接rosbridge?:在server.py中设置LOCAL_IPROSBRIDGE_IPROSBRIDGE_PORT
  • 如何启动rosbridge?:ROS1使用roslaunch rosbridge_server rosbridge_websocket.launch,ROS2使用ros2 launch rosbridge_server rosbridge_websocket_launch.xml

使用教程

使用依赖

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

pip install uv
  1. 创建并激活虚拟环境(可选):
uv venv
source .venv/bin/activate

安装教程

  1. 通过Smithery安装:
npx -y @smithery/cli install @lpigeon/ros-mcp-server --client claude
  1. 本地安装:
  2. 配置mcp.json文件,设置ros-mcp-server的命令和参数。

调试方式

  1. 设置rosbridge连接信息:
  2. 修改server.py中的LOCAL_IPROSBRIDGE_IPROSBRIDGE_PORT

  3. 启动rosbridge服务器:

  4. ROS1:
roslaunch rosbridge_server rosbridge_websocket.launch
  • ROS2:
ros2 launch rosbridge_server rosbridge_websocket_launch.xml
  1. 运行导入ros-mcp-server的AI系统。

  2. 输入自然语言命令(如“Make the robot move forward.”)并检查rosbridge_serverros topic的输出。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。