概要
ROS MCPサーバーは、ユーザーがLLMを介して入力した自然言語コマンドをロボット制御用のROSコマンドに変換する機能群を提供することで、ロボットが複雑なタスクを実行し、様々な環境に効果的に適応するのを支援するように設計されています。さらに、 rosbridgeを利用することで、 ROSとROS2両方のシステムで動作するように構成されており、WebSocketベースの通信により、多様なプラットフォームに幅広く適用可能です。
このプロジェクトに基づく研究については、以下のリンク先のビデオをご覧ください。
Related MCP server: ROS2 MCP Server
サポートされているタイプ
ジオメトリメッセージ/ツイスト
センサーメッセージ/画像
センサーメッセージ/ジョイント状態
特徴
WebSocket ベースのユニバーサル互換性: rosbridge を使用して ROS および ROS2 システムの両方と通信し、ROS のバージョンに関係なくシームレスな統合を可能にします。
クロスプラットフォーム サポート: Linux、Windows、MacOS で動作し、さまざまな開発および展開環境に適しています。
LLM および AI システムとの簡単な統合: MCP 機能を介して自然言語コマンドをロボットのアクションに直接変換できます。
拡張機能セット: MCP ツール インターフェイスを拡張することで、新しいロボット制御機能やセンサー機能を簡単に追加できます。
ROS ノードの変更は不要: ロボットのコアコードを変更することなく、既存の ROS/ROS2 トピックおよびサービスと対話します。
ネイティブ ROS/ROS2 コマンドの互換性: オプションでローカル ROS/ROS2 ライブラリの使用をサポートしているため、WebSocket ベースの制御と並行してネイティブ ROS コマンドとツールを実行できます。
貢献
貢献を歓迎します!
タイプミスの修正、新しい機能の追加、改善の提案など、どのような場合でもご協力をお願いいたします。
このプロジェクトに貢献する方法の詳細については、貢献ガイドラインに従ってください。
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用のros-mcp-server自動的にインストールするには:
ローカルにインストールする
uvインストール
uvをインストールするには、次のコマンドを使用します。
または
仮想環境を作成してアクティブ化する(オプション)
MCP サーバーの構成
MCP 設定を mcp.json に設定します。
Claude Desktop を使用する場合は、次のコマンドを使用して mcp.json を見つけることができます。
macOS/Linux
ウィンドウズ
MCP機能
関数のリストはMCPFUNCTIONS.mdにあります。
使い方
1. rosbridge に接続するための IP とポートを設定します。
server.pyを開き、LOCAL_IP、ROSBRIDGE_IP、ROSBRIDGE_PORTを変更します。(ROSBRIDGE_PORTのデフォルト値は9090です)
2. rosbridge サーバーを実行します。
ROS1
ROS2
3. ros-mcp-serverをインポートした AI システムを実行します。
4.「ロボットを前進させる」と入力します。
5. rosbridge_serverとros topicを確認します。
rosbridge_serverros topic
シミュレーションテスト
NVIDIA Isaac Sim シミュレーション環境内で MOCA モバイル マニピュレータを使用した MCP ベースの制御。