概述
ROS MCP 服务器旨在支持机器人执行复杂任务并有效适应各种环境,它提供一组函数,将用户通过 LLM 输入的自然语言命令转换为用于机器人控制的 ROS 命令。此外,通过利用rosbridge ,它可以配置为与ROS和ROS2系统兼容,其基于 WebSocket 的通信使其能够广泛适用于各种平台。
基于该项目的研究可以在下面链接的视频中找到。
Related MCP server: ROS2 MCP Server
支持的类型
几何信息/扭曲
sensor_msgs/图像
sensor_msgs/联合状态
特征
基于 WebSocket 的通用兼容性:使用 rosbridge 与 ROS 和 ROS2 系统进行通信,无论 ROS 版本如何,都能实现无缝集成。
跨平台支持:适用于 Linux、Windows 和 MacOS,适用于不同的开发和部署环境。
轻松与 LLM 和 AI 系统集成:自然语言命令可以通过 MCP 功能直接转换为机器人动作。
可扩展的功能集:通过扩展MCP工具接口,轻松添加新的机器人控制或传感器功能。
无需修改 ROS 节点:无需更改机器人的核心代码即可与现有的 ROS/ROS2 主题和服务进行交互。
本机 ROS/ROS2 命令兼容性:可选择支持使用本地 ROS/ROS2 库,因此您可以运行本机 ROS 命令和工具以及基于 WebSocket 的控制。
贡献
欢迎投稿!
无论您是修正拼写错误、添加新功能还是提出改进建议,我们都非常感谢您的帮助。
请遵循贡献指南以获取有关如何为该项目做出贡献的更多详细信息。
安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装ros-mcp-server :
本地安装
uv安装
要安装
uv,您可以使用以下命令:
或者
创建虚拟环境并激活它(可选)
MCP 服务器配置
将 MCP 设置设置为 mcp.json。
如果您使用 Claude Desktop,您可以使用以下命令找到 mcp.json:
MacOS/Linux
视窗
MCP 功能
您可以在MCPFUNCTIONS.md中找到函数列表。
如何使用
1.设置IP和端口来连接rosbridge。
打开
server.py并更改你的LOCAL_IP、ROSBRIDGE_IP和ROSBRIDGE_PORT。(ROSBRIDGE_PORT的默认值为9090)
2.运行rosbridge服务器。
活性氧 1
ROS 2
3. 运行任何已导入ros-mcp-server AI 系统。
4. 输入“使机器人向前移动。”。
5.检查rosbridge_server和ros topic 。
rosbridge_serverros topic
模拟测试
在 NVIDIA Isaac Sim 模拟环境中使用 MOCA 移动机械手进行基于 MCP 的控制。