获取 SDK
SDK 概述
灵巧手 SDK(Software Development Kit)是专为 BrainCo RevoHand 设备开发的软件工具包,提供完整的编程接口和控制功能。SDK 支持 Revo 1、Revo 2 和 Revo3 全系列设备,面向机器人、假肢、工业自动化等领域的开发者,提供 Python 和 C++ 两种开发语言及丰富的示例代码。
系统要求
- Python: 3.8 ~ 3.12
- Linux: Ubuntu 20.04/22.04 LTS (x86_64/aarch64), glibc ≥ 2.31
- macOS: 10.15+
- Windows: 10/11
支持的通信协议
| 设备 | RS-485 | Protobuf | CAN | CANFD | EtherCAT |
|---|---|---|---|---|---|
| Revo 1 | ✅ | ✅ | ✅ | ❌ | ❌ |
| Revo 2 | ✅ | ❌ | ✅ | ✅ | ✅ |
| Revo3 | ✅ | ❌ | ❌ | ❌ | ❌ |
下载与安装
SDK 仓库
Python SDK 安装
bash
# 从 PyPI 安装
pip3 install bc-stark-sdk
# 国内镜像(阿里云 OSS)
bash install_whl.sh 1.4.2示例代码
更新日志
v1.4.2 (2026/04/17)
🚀 Revo3 设备支持
- 全面支持 Revo3 系列设备(Ultra / Pro / Basic)
- 21 自由度电机控制,支持位置、速度、电流、MIT 阻抗、阻尼等控制模式
- MIT 阻抗调试工具:跟踪、绘图、轨迹生成
- 新增 Revo3 专用示例:
revo3_motor.py(基础控制)、revo3_teaching.py(示教模式)、revo3_benchmark.py(高频时延测试)
🚀 新增触觉设备类型
- 新增 阵列压阻触觉版 (
Revo2TouchArrayPressure) — 3D 力与力矩数据采集(Fx, Fy, Fz, Mx, My),通过ArrayPressureTouchDataBuffer - C++ 示例:
hand_demo和hand_monitor新增array_pressure模式 - Python GUI:力/力矩数据 2D 矢量罗盘可视化
- 触觉类型判断 API:
is_capacitive_touch()— 电容触觉(Revo1/Revo2 Touch)is_pressure_touch()— 压阻触觉is_force3d_touch()— 三维力触觉is_array_pressure_touch()— 阵列压阻触觉
🎨 Python GUI
- Revo3 电机控制、配置、示教模式面板
- 触觉面板:热力图可视化,支持电容/压阻/三维力/阵列压阻/视触觉
- 时序测试:Revo2/Revo3 Worker,动态频率切换
- 国际化支持(中/英)
🔧 SDK & API 变更
- 新增硬件类型:
Revo2TouchForce3D、Revo2TouchArrayPressure、Revo3Ultra/Revo3Pro/Revo3Basic(hw_type 10-27) - 新增 API:
uses_revo3_motor_api()、uses_revo3_touch_api()、uses_array_pressure_touch_api()
🐛 问题修复
- 修复 CAN 错误帧处理和自动检测协议分发
- SocketCAN
recv_can/recv_canfd新增CAN_ERR_FLAG检查
📚 文档与项目结构
- 弃用的
linux/和windows/目录归档至archive/ - 新增 Revo3 Python API 文档和关节映射
- 新增
install_whl.sh脚本用于 Python Wheel 安装
v1.1.9 (2026/03/03)
🔧 改进
- 串口打开后新增 150ms 预热延迟,提升 Modbus 自动检测首次成功率
📚 新增示例
c/demo/debug_detect.cpp— C++ 调试工具,用于 Modbus 寄存器检查和原始 Protobuf 自动检测
v1.1.6 (2026/02/28)
🚀 新增功能
- 自动检测新增 BrainCo USBCANFD 适配器支持
v1.1.5 (2026/02/09)
🐛 问题修复
- 修复 CANFD 边界检查问题
- SocketCAN 扫描改为遍历所有接口
🚀 新增功能
- SocketCAN Python 绑定(
init_socketcan_canfd、close_socketcan、socketcan_scan_devices) - 设备上下文查询 API:
stark_get_protocol_type、stark_get_port_name、stark_get_baudrate等 - CAN 设备初始化:
init_device_handler_can()/init_device_handler_can_with_hw_type() StarkProtocolType::Auto = 0枚举值,支持自动检测所有协议
🔧 示例改进
- 运行时 CAN 后端选择,新增通信频率测试工具
v1.1.3 (2026/02/06)
🚀 新增功能
- SocketCAN 内置支持 (Linux) - 无需外部代码
- Protobuf 协议支持 - Revo 1 串口协议,波特率 115200,Slave ID 10-254
v1.1.0 (2025/02/05)
🚀 新增功能
- ZQWL CAN 适配器内置支持(Linux / macOS / Windows,无需额外 DLL)
- 统一设备自动检测 API:
auto_detect()→init_from_detected()→close_device_handler() - Stark 1.8 触觉能力支持(RS-485 / CAN 协议)
- 跨平台 C++ 示例(
c/demo/) - Python GUI 调试工具(电机控制、触觉数据、波形监控)
⚠️ Breaking Changes
- 硬件类型枚举重构,新增
Revo1Advanced/Revo1AdvancedTouch - API 重命名:
is_revo1()→uses_revo1_motor_api(),is_revo2()→uses_revo2_motor_api() - 初始化拆分:
init_config()→init_logging()+init_device_handler() - C 结构体添加
C前缀(如MotorStatusData→CMotorStatusData) linux/和windows/示例目录已弃用,请迁移至c/
📚 迁移指南
详见 CHANGELOG.md
v1.0.0 (2025/12/08)
🎉 正式版本
- 细节优化,正式升级到 1.0 版本
v0.9.9 (2025/11/19)
🚀 新增功能
- 支持 Revo 1 进阶版设备 ⭐
- 统一控制参数范围:位置控制 0~1000,速度/电流/PWM 控制 -1000~+1000
- 适用于 Modbus、CANFD 和 CAN2.0 所有通信协议
⚠️ 重要提示
- Revo 1 进阶版设备需要 SDK v0.9.9 或更高版本
- Revo 1 基础版和触觉版可使用任意版本
v0.9.8 (2025/11/04)
🚀 新增功能
- CAN/CANFD 协议: 完整的 Revo 2 CAN2.0/CANFD 通信协议栈
- ZLG CAN 支持: Python 接口(Windows/Linux),含驱动库封装
- CANFD 分块读写: 支持超过 29 个寄存器的大数据传输
- EtherCAT 触觉: 触觉传感器数据采集(PDO/SDO)
- 压力触觉支持: EtherCAT/CANFD/RS-485 多协议通信
- 保护电流接口: ProtectedCurrent 读写,支持 CAN/EtherCAT
- 动作序列执行:
run_action_sequence支持 CAN 2.0 - 设备类型判断: 基于序列号判断(
get_hardware_by_sn) - 多设备混用: 支持 Revo1/Revo2 同时使用
⚡ 高频通信优化
- C/C++ 异步调用:
set类指令改为异步执行,避免阻塞主线程 - 高频接口禁用重试:
get/set_finger_*、触觉读取等,避免指令堆积 - 低频接口重试优化: 设备信息读取等降至 2 次重试
🐛 问题修复
- 修复 TurboConfig 字节序、Modbus C API 异步调用、OTA 升级包大小处理等问题
v0.9.0 (2025/09/20)
🐛 问题修复
- 修复已知问题,提升稳定性
v0.8.6 (2025/08/20)
🚀 新增功能
- 新增一代灵巧手 CAN2.0 协议支持
🔧 API 改进
- 函数命名优化:
modbus_→stark_(更通用的前缀,适用于 CANFD 和 EtherCAT)create_device_handler()更新命名,避免歧义canfd_init(uint8_t master_id)更新命名,避免歧义init_cfg不再需要传递固件类型,通过get_device_info接口自动获取
📚 示例代码
- ROS 2 示例增加 CAN/CANFD 支持
- 新增 CAN/CANFD C++ 示例
v0.7.0 (2025/07/18)
🚀 新增功能
- 自动检测 Modbus 从机波特率和设备 ID
- 二代灵巧手触觉版接口支持
🐛 问题修复
- 修复 DFU 固件升级问题
v0.6.2 (2025/07/14)
🚀 新增功能
- EtherCAT 协议支持:二代灵巧手支持 EtherCAT 高速通信协议
- 扩展 RS485 波特率:新增 1M、2M 和 5M 波特率选项,满足高性能应用需求
- Linux 串口性能优化:默认启用 LOW_LATENCY 模式,460800 波特率下通信频率提升 400%
🔧 API 改进
- 重构设备上下文命名:
ModbusContext→DeviceContext(更通用的设备上下文)ModbusHandler→DeviceHandler(统一设备操作接口)
🛠 开发工具
- 集成
python-stub-gen工具链,自动生成类型存根文件(.pyi),提升 IDE 智能提示和类型检查体验
⚠️ 兼容性提示
- 从旧版本迁移时,请注意 API 命名变更
v0.5.3 (2025/06/12)
🚀 新增功能
- 自定义 Modbus 读写接口
- 动作序列控制
- LED、蜂鸣器、震动马达控制接口
🐛 问题修复
- 修复实时位置/速度/电流返回值错误
v0.4.5 (2025/05/14)
🚀 新增功能
- 新增
get_single_touch_status单指触控状态检测
🔧 改进
- 简化
modbus_open函数,移除冗余参数
v0.4.4 (2025/05/06)
🚀 新增功能
- 新增 CANFD 协议支持
🐛 问题修复
- 修复多个已知问题,提升稳定性
v0.3.6 (2025/04/16)
🎉 里程碑
- 首次支持二代灵巧手
- 建立基础通信框架
v0.1.9 (2025/03/17)
📌 初始版本
- Modbus 通信协议
- Python / C 代码集成
- SDK 基础架构