Unitree Go2 Mcp Server について
Unitree Go2 MCP Server は、LLM が解釈した自然言語の指示で Unitree Go2 ロボットを制御する MCP サーバーです。指示は ROS2 の命令に変換され、Go2 を扱う開発者や研究者を対象としています。
主な機能
- 01自然言語による Go2 の動作制御
- 02指示から ROS2 命令への変換
- 03rosbridge の接続設定(任意)
- 04uv と mcp.json によるセットアップ
活用シーン
- 01テキストの指示による Go2 の前進や旋回
- 02LLM を介した文脈に応じた指示の処理
- 03障害物回避とインタラクションのデモ実行
MCP 対応
Go2 ロボットの制御機能を AI システムに提供する MCP サーバーで、クライアントは mcp.json の設定を通じて接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Unitree Go2 MCP サーバー
Unitree Go2 MCP サーバーは、Model Context Protocol(MCP)に基づいて構築されたサーバーです。大規模言語モデル(LLM)が解釈した自然言語コマンドを使って、Unitree Go2 ロボットを制御できます。これらのコマンドは ROS2 の命令に変換され、ロボットが対応する動作を実行します。
必要要件
MCP の機能
機能の一覧は MCPFUNCTIONS.md で確認できます。
インストール
1. unitree_ros2 環境をセットアップする
https://github.com/unitreerobotics/unitree_ros2
- 上記のリンク先リポジトリで、
Step 2: Connect and testまでのセットアップを完了する必要があります。
2. このリポジトリをクローンする
git clone https://github.com/lpigeon/unitree-go2-mcp-server.git
cd unitree-go2-mcp-server
3. uv のインストール
uvは次のコマンドでインストールできます。
curl -LsSf https://astral.sh/uv/install.sh | sh
または
pip install uv
- 仮想環境を作成して有効化します(任意)
uv venv
source .venv/bin/activate
4. MCP サーバーの設定
mcp.json に MCP の設定を行います。
設定は Go2 に接続されている PC で行う必要があることにご注意ください。
{
"mcpServers": {
"unitree-go2-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/unitree-go2-mcp-server",
"run",
"server.py"
]
}
}
}
Claude Desktop を使用する場合は、次のコマンドで mcp.json を確認できます。
- MacOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
- Linux(Ubuntu)
claude-desktop-debian を使って Claude Desktop をインストールできます。
code ~/.config/Claude/claude_desktop_config.json
- Windows
code $env:AppData\Claude\claude_desktop_config.json
使い方
1. UNITREE_ROS2_SETUP_SH_PATH を設定します。
server.pyを開き、UNITREE_ROS2_SETUP_SH_PATHを変更します(例:/home/lpigeon/unitree_ros2/setup.sh)
rosbridge を使用する場合は、接続先の IP とポートを設定する必要があります(任意)。
server.pyを開き、LOCAL_IP、ROSBRIDGE_IP、ROSBRIDGE_PORTを変更します(ROSBRIDGE_PORTのデフォルト値は9090です)。
2. Go2 ロボットがネットワークに接続されていることを確認します。
ターミナルで次のコマンドを入力します。
ros2 topic list
次のトピックが表示されるはずです。
/wirelesscontroller
トピックが表示されない場合は、Go2 ロボットとネットワーク間の接続を確認してください。
3. unitree-go2-mcp-server をインポートした AI システムを実行します。
4. 「Go2 ロボットを 0.5 m/s の速度で 3 秒間前進させてください。」と入力します。
5. Go2 ロボットの動きを確認します。
6. やりたいことを入力して、楽しみましょう!
文脈の理解
「Go2 が疲れてきたようです」のようなコマンドを入力すると、LLM が文脈を踏まえて解釈し、ロボットには休憩やストレッチが必要かもしれないと理解します!
簡単なタスク
このタスクは、Unitree Go2 ロボットの障害物回避、方向転換、ユーザーとのインタラクション機能を紹介する総合デモです。
貢献
貢献を歓迎します!
誤字の修正、新しい機能の追加、改善案の提案など、皆さまのご協力に感謝します。
このプロジェクトへの貢献方法の詳細については、貢献ガイドラインに従ってください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。