GO2 运动控制脚本与 MCP 服务
当前目录现在同时提供:
- go2_motion_control.py:命令行脚本
- server.py:FastMCP 服务
- mcp_server.json:MCP 配置示例
底层都通过 ROS2 向 /api/sport/request 发布 unitree_api/msg/Request 控制 GO2。
命令行用法
cd /home/huang/xxx_go2sport
python3 go2_motion_control.py forward --duration 2
python3 go2_motion_control.py backward --duration 2
python3 go2_motion_control.py left --duration 2
python3 go2_motion_control.py right --duration 2
python3 go2_motion_control.py stop
python3 go2_motion_control.py move --vx 0.2 --vy 0.0 --vyaw 0.3 --duration 3
MCP 启动
stdio 模式:
cd /home/huang/xxx_go2sport
python3 server.py
或:
cd /home/huang/xxx_go2sport
./run_mcp_server.sh
HTTP 模式:
cd /home/huang/xxx_go2sport
python3 server.py --transport streamable-http --host 127.0.0.1 --port 8000
MCP 工具
go2_drive_directiongo2_movego2_stand_upgo2_stopgo2_motion_defaults
MCP 配置
示例文件见 mcp_server.json。
如果你要把它放进 Claude Code / Cursor 的 MCP 配置,可直接用:
{
"mcpServers": {
"go2-sport-control": {
"command": "python3",
"args": [
"/home/huang/xxx_go2sport/server.py"
],
"env": {
"PYTHONPATH": "/home/huang/xxx_go2sport",
"GO2_REQUEST_TOPIC": "/api/sport/request",
"GO2_DEFAULT_LINEAR_SPEED": "0.3",
"GO2_DEFAULT_ANGULAR_SPEED": "0.8",
"GO2_DEFAULT_DURATION": "2.0",
"GO2_DEFAULT_RATE": "10.0",
"GO2_STAND_UP_WAIT": "1.5"
}
}
}
}
控制协议说明
MOVE请求api_id = 1008STOP_MOVE请求api_id = 1003STAND_UP请求api_id = 1004MOVE参数格式:{"x": vx, "y": vy, "z": vyaw}
go2_drive_direction 在未显式传 speed 时,前进/后退默认使用 0.3 m/s,左转/右转默认使用 0.8 rad/s。












