Skip to content
帮助

获取 SDK

灵巧手 SDK(Software Development Kit)是专为 BrainCo Revo 3 系列设备开发的跨平台软件开发包,旨在为开发者提供高效、稳定、直观的编程接口。通过该 SDK,您可以快速实现对 21 电机独立关节的高频低延迟控制、状态读取(包括位置、速度、电流及电机状态等物理反馈)与固件 OTA 升级。

系统要求

为了保障 SDK 的稳定运行与高频通讯表现,您的宿主机环境需满足以下规格要求:

  • Python: 3.9 ~ 3.12 运行环境
  • Linux: Ubuntu 20.04/22.04 LTS (支持 x86_64 / aarch64 架构), 要求 glibc ≥ 2.31
  • macOS: 10.15+ 系统版本
  • Windows: Windows 10/11 系统环境
  • 通讯接口: 物理机需配备支持 5M 超高波特率通讯的工业级 RS485 串口模块或总线卡

下载与安装

1. 示例代码与 SDK 集成

运行示例前,请先拉取 SDK 仓库代码:

bash
git clone https://github.com/BrainCoTech/brainco-revo3-sdk.git
cd brainco-revo3-sdk

2. Python 依赖包安装

我们建议在虚拟环境(如 Conda 或 venv)中安装 Revo 3 核心开发包:

bash
python3 -m venv .venv
source .venv/bin/activate

# 安装 Revo 3 核心 SDK 包
pip3 install bc-revo3-sdk==1.1.0

⚠️ 高频通讯下的系统权限与延迟优化

在 Linux 系统下,5M 超高波特率通讯通常要求获取串口的硬件独占访问权限:

  • 串口访问权限配置:请在运行示例前将当前用户加入 dialout 用户组,以获得免 sudo 执行权限(需重启生效):
    bash
    sudo usermod -a -G dialout $USER
  • 开启 FTDI 低时延模式:为了降低 USB 串口的硬件排队延迟,强烈建议在连接串口后开启 low_latency 标志:
    bash
    sudo setserial /dev/ttyUSB0 low_latency

示例代码运行说明

在获取仓库资源后,您可以直接在 python/c/ 目录下找到专为 Revo 3 灵巧手量身定制的演示示例。设备默认通信波特率已配置为 5M (5000000 bps),左手默认从机 ID 为 126,右手默认从机 ID 为 127

1. Python 示例

进入 python/ 目录并安装依赖后,即可运行演示脚本:

bash
cd python
pip install -r requirements.txt

# 运行自动检测串口与 ID
python revo3/auto_detect.py
# 运行灵巧手基础运动控制演示
python revo3/hand_demo.py
# 运行轨迹规划与示教演示
python revo3/hand_trajectory.py
# 运行 OTA 固件在线升级
python revo3/hand_dfu.py /path/to/firmware.bin
# 启动图形化 Qt 调试面板(含 Mock 模式)
python gui/main.py --mock
💡 预期 Python 控制台输出日志 (Expected Python Console Output)
python
$ python revo3/hand_demo.py
[2026-05-27 10:10:02.124] [INFO] Stark SDK version 1.1.0 initialized.
[2026-05-27 10:10:02.125] [INFO] Scanning serial port: /dev/ttyUSB0 (Baudrate: 5000000 bps)
[2026-05-27 10:10:02.341] [INFO] Found Revo 3 Dexterous Hand [Right Hand, ID: 127]
[2026-05-27 10:10:02.342] [INFO] Performing initial joint origin calibration sweep...
[2026-05-27 10:10:04.512] [INFO] Calibration complete. All 21 motors successfully zeroed.
[2026-05-27 10:10:04.513] [INFO] Sending command: Move thumb flexion to 50.0°, index to 60.0°
[2026-05-27 10:10:05.102] [INFO] Feedback: Position[Thumb]=49.8°, Current[Thumb]=84mA | Status: MOTOR_RUNNING
[2026-05-27 10:10:05.612] [INFO] Feedback: Position[Thumb]=50.0°, Current[Thumb]=12mA | Status: MOTOR_IDLE
[2026-05-27 10:10:06.000] [INFO] Demo completed. Closing serial port.
  • auto_detect.py:自动扫描系统串口,发现并检测绑定的 Revo 3 灵巧手 ID 和波特率。
  • hand_demo.py:演示 Revo 3 灵巧手的核心关节位置运动控制与状态反馈。
  • hand_trajectory.py:演示多指复杂运动轨迹规划与高自由度协调抓取。
  • hand_dfu.py:固件在线升级(OTA)脚本,为设备的安全维护提供支持。
  • gui/main.py:配备 Revo 3 控制与波形观测面板的图形化交互调试工具。

2. C++ 示例

对于追求极致低时延的科研与工业应用,可在 C++ 环境下编译并执行示例程序:

bash
# 1. 下载核心动态依赖库
sh download-lib.sh
# 2. 编译 C++ 示例项目
make -C c

# 3. 运行对应可执行程序
# 自动检测设备
./c/demo/auto_detect
# 运行基本控制演示
./c/demo/hand_demo
# 运行轨迹演示
./c/demo/hand_trajectory
# 运行固件 OTA 升级
./c/demo/hand_dfu firmware.bin
💡 预期 C++ 控制台输出日志 (Expected C++ Console Output)
bash
$ ./c/demo/hand_demo
[STARK INFO] Serial port successfully opened on /dev/ttyUSB0 at 5000000 bps.
[STARK INFO] Connecting to device ID: 127...
[STARK INFO] Device acknowledged. Firmware version: v3.2.14
[STARK INFO] Launching motor sweep calibration...
[STARK SUCCESS] Joint calibration completed in 2.18s.
[STARK INFO] Write [Target: Position] | ID 127 -> Motor[0]=12000, Motor[1]=15000
[STARK INFO] Read [Feedback] | Motor[0]: Pos=12000, Vel=0, Cur=10 | Status=0x01
[STARK INFO] Execution successful. Terminating connection.
  • auto_detect:C++ 编写的硬件与 RS485 通道自动扫频检测工具。
  • hand_demo:基于 C ABI 接口开发的极速电机读写控制与反馈监控示例。
  • hand_trajectory:C++ 下的多关节平滑轨迹规划与控制逻辑实现。
  • hand_dfu:串口通道下的固件分块 OTA 传输与安全升级工具。