Skip to content

mique11a/BrainCo-RPS-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

BrainCo x Unitree G1 - Rock-Paper-Scissors Robot (人型机器人猜拳游戏)

这是一个结合了 YOLOv8 视觉识别Unitree G1 人型机器人运动控制以及 BrainCo Stark 灵巧手动作执行的石头剪刀布游戏项目。

项目分为服务端(PC)和客户端(机器人)两部分:

  • 服务端 (Server):运行在高性能 PC 上,通过 RealSense 相机画面进行实时 YOLO 推理,识别用户的猜拳手势。
  • 客户端 (Client):运行在 Unitree G1 机器人内部,负责读取相机数据发送给服务端,并根据识别结果控制 G1 手臂抬起,同时驱动灵巧手做出获胜手势。

📋 目录


🛠 硬件要求

  • 机器人平台:Unitree G1 Humanoid Robot
  • 末端执行器:BrainCo Stark 灵巧手 (Revo 系列)
  • 视觉传感器:Intel RealSense 深度相机 (如 D435i)
  • 计算设备
    • PC 端:带有 NVIDIA 显卡的 Windows/Linux 电脑 (用于 YOLO 推理)
    • 机器人端:G1 内部自带计算单元 (Ubuntu 环境)

📂 目录结构

BrainCo-RPS-Game/
├── client/                     # 机器人端代码
│   ├── rpsclientv2.py          # 客户端主程序
│   ├── bc_stark_sdk/           # BrainCo 灵巧手 SDK 包 (需厂商提供)
│   └── requirements_client.txt # 客户端依赖
├── server/                     # 服务端代码
│   ├── server.py               # 推理服务主程序
│   ├── yolo_rps.pt             # 训练好的 YOLO 模型权重
│   └── requirements.txt        # 服务端依赖
└── README.md                   # 项目说明文档


🖥 环境配置(服务端 - PC)

服务端运行在 PC 上,建议使用 Conda 创建独立的 YOLO 推理环境。

  1. 创建并激活环境
conda create -n rps_server python=3.10
conda activate rps_server
  1. 安装 Python 依赖
cd server
pip install -r requirements.txt
  1. 准备模型: 确保 yolo_rps.pt 文件位于 server/ 目录下。

🤖 环境配置(客户端 - G1 机器人)

客户端运行在机器人的机载电脑(Ubuntu)上。为了不破坏机器人原有的系统环境,强烈建议使用 Miniconda 进行隔离。

1. 创建 Conda 环境

如果机器人上未安装 Conda,请先安装 Miniconda

# 创建名为 rps_client 的环境,指定 Python 3.10
conda create -n rps_client python=3.10

# 激活环境
conda activate rps_client

2. 安装基础依赖

安装 RealSense 驱动和基础图像处理库:

cd client
pip install -r requirements_client.txt

(主要包含:numpy, opencv-python, pyrealsense2)

3. 安装 Unitree SDK 2

用于控制 G1 机器人的身体运动(如抬手动作)。

  1. 安装编译依赖(需 sudo 权限):
sudo apt install python3-pip
  1. 克隆并安装 SDK
cd ~
git clone https://github.com/unitreerobotics/unitree_sdk2_python.git
cd unitree_sdk2_python
pip install -e .
  1. 依赖补全: SDK 依赖 cyclonedds。如果安装过程遇到 Could not locate cyclonedds 错误,请参考文末常见问题排查章节进行编译安装。

4. 安装 BrainCo Stark SDK

用于控制灵巧手做出剪刀、石头、布的动作。

  1. 准备 强脑手 SDK 文件
git clone https://github.com/BrainCoTech/stark-serialport-example.git
cd brainco_hand_sdk/python
pip3 install -r requirements.txt
  1. 依赖检查: BrainCo SDK 需要以下库支持:
pip install "asyncio>=3.4.3" "colorlog>=6.9.0"

🚀 快速开始

第一步:修改配置

  1. 修改 IP 地址: 打开 client/rpsclientv2.py,找到配置区域,修改 PC_IP 为你 服务端 PC 的局域网 IP 地址。
PC_IP = "192.168.123.xxx"  # 你的电脑 IP
  1. 确认 USB 端口: 确认灵巧手连接在机器人的哪个 USB 口(通常为 /dev/ttyUSB0/dev/ttyUSB1),并在 rpsclientv2.py 中修改 HAND_CONFIG

第二步:启动服务端 (PC)

conda activate rps_server
cd server
python server.py

看到 "🚀 PC端推理服务已启动..." 即表示就绪。

第三步:启动客户端 (机器人)

conda activate rps_client
cd client
python rpsclientv2.py
  • 程序启动后,机器人会自动“预热”灵巧手。
  • 当你在相机前做出猜拳手势时,机器人将识别并控制手臂抬起,同时出拳获胜。

🔧 常见问题排查

1. Unitree SDK 报错 Could not locate cyclonedds

如果在安装 unitree_sdk2_python 时遇到此错误,需要手动编译 cyclonedds

# 1. 编译 Cyclonedds
cd ~
git clone https://github.com/eclipse-cyclonedds/cyclonedds -b releases/0.10.x 
cd cyclonedds && mkdir build install && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=../install
cmake --build . --target install

# 2. 设置环境变量并重新安装 SDK
cd ~/unitree_sdk2_python
export CYCLONEDDS_HOME="~/cyclonedds/install"
pip install -e .

2. 灵巧手无法连接

  • 检查 USB 权限:sudo chmod 777 /dev/ttyUSB*
  • 检查波特率是否匹配(SDK 默认会自动检测,但有时需要手动指定)。

3. 画面传输延迟高

  • 确保机器人和 PC 处于同一局域网(推荐使用千兆路由器或网线直连)。
  • 检查 rpsclientv2.py 中 RealSense 的分辨率设置,降低分辨率可降低延迟。

About

宇树G1人形机器人+Brainco Revo2强脑手 + yolo模型 简单的猜拳机器人

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages