Ros_mcp_server

Ros_mcp_server

🚀 ROS MCP 服务器

ROS MCP 服务器致力于支持机器人执行复杂任务,能有效适应各种环境。它借助一组函数,将用户通过大语言模型(LLM)输入的自然语言命令转化为 ROS 命令,以此控制机器人。此外,该服务器通过使用 rosbridge,可与 ROSROS2 系统协同工作,并且利用 WebSocket 通信,能在多个平台广泛应用。

静态徽章 静态徽章 smithery 徽章 静态徽章

✨ 主要特性

  • 支持将自然语言命令转换为 ROS 命令,方便用户控制机器人。
  • 可与 ROSROS2 系统兼容,适用范围广。
  • 采用 WebSocket 通信,便于在多个平台使用。
  • 支持特定的消息类型,如 geometry_msgs/Twistsensor_msgs/Image

支持的消息类型

  • geometry_msgs/Twist
  • sensor_msgs/Image

📦 安装指南

通过 Smithery 安装

若要通过 Smithery 为 Claude Desktop 自动安装 ros-mcp-server,可使用以下命令:

npx -y @smithery/cli install @lpigeon/ros-mcp-server --client claude

本地安装

uv 安装

  • 可使用以下命令安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh

或者

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

MCP 服务器配置

将 MCP 设置保存到 mcp.json 中。

"ros-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/ros-mcp-server",
"run",
"server.py"
]
}

若您使用 Claude Desktop,可通过以下命令找到 mcp.json

  • MacOS/Linux
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • Windows
code $env:AppData\Claude\claude_desktop_config.json

💻 使用示例

MCP 函数

get_topics

  • 目的:检索机器人 ROS 系统中可用的主题列表。
  • 返回:主题列表(List[Any]

pub_twist

  • 目的:通过设置线速度和角速度向机器人发送运动命令。
  • 参数
    • linear:线速度(List[Any]
    • angular:角速度(List[Any]

pub_twist_seq

  • 目的:向机器人发送一系列运动命令,实现多步骤的运动控制。
  • 参数
    • linear:线速度列表(List[Any]
    • angular:角速度列表(List[Any]
    • duration:每个步骤的持续时间列表(List[Any]

sub_image

  • 目的:订阅并接收机器人摄像头的主题图像数据。
  • 返回:接收到的图像数据(Image

使用指南

  1. 设置 IP 和端口:根据实际需求,配置 ROS 系统中的 IP 地址和端口号。
  2. 运行服务器:启动 MCP 服务器,开始处理命令。
  3. 发送命令:调用 MCP 函数对机器人进行控制。

📚 详细文档

模拟测试

在 NVIDIA Isaac Sim 环境中,该服务器展示了对机器人的有效控制和响应。

  • 0 关注
  • 0 收藏,26 浏览
  • system 提出于 2025-10-02 08:21

相似服务问题

相关AI产品