Skip to content
帮助

获取 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-485ProtobufCANCANFDEtherCAT
Revo 1
Revo 2
Revo3

下载与安装

SDK 仓库

GitHub - brainco-hand-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_demohand_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 变更

  • 新增硬件类型:Revo2TouchForce3DRevo2TouchArrayPressureRevo3Ultra / 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_canfdclose_socketcansocketcan_scan_devices
  • 设备上下文查询 API:stark_get_protocol_typestark_get_port_namestark_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 前缀(如 MotorStatusDataCMotorStatusData
  • linux/windows/ 示例目录已弃用,请迁移至 c/

📚 迁移指南

详见 CHANGELOG.md


v1.0.6 (2025/01/26)

🚀 新增功能

  • 新硬件支持: Revo1Advanced(BCMEL/BCMER)、Revo1AdvancedTouch(BCMTL2/BCMTR2
  • 序列号自动识别: 根据序列号前缀自动判断硬件类型
  • 状态读取优化: 底层多线程采集,上层被动读取,性能大幅提升
  • SocketCAN 支持: Linux 平台新增 SocketCAN 后端
  • 自动检测增强: 多端口遍历、协议自动识别、Quick/Full 扫描模式

🐛 问题修复

  • 修复物理量模式下参数 1000 倍缩放问题
  • 修复 RS-485 固件升级波特率检测问题

📚 示例更新

  • 新增 revo2_touch_collector.py 马达/触觉状态读取示例
  • 新增 revo2_timing_test_gui.py 时序测试 GUI 工具

⚠️ 注意

  • Revo1Advanced 系列设备请使用 revo2 目录下的示例代码

v1.0.1 (2025/12/23)

🚀 新增功能

  • 支持 EtherCAT 多从站通信

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 或更高版本

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)

🚀 新增功能

  • 新增二代灵巧手 CAN2.0 协议支持
  • 新增二代灵巧手触觉版 EtherCAT 协议支持

🐛 问题修复

  • 修复已知问题,提升稳定性

v0.8.8 (2025/09/02)

🚀 新增功能

  • 新增二代灵巧手 CAN2.0 协议支持

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.8 (2025/07/31)

🚀 新增功能

  • EtherCAT 固件增加 DC 同步功能

v0.7.3 (2025/07/28)

🐛 问题修复

  • 修复 CANFD 通信中协议 MasterID 配置问题
  • 修复 EtherCAT 通信中 PDO 读取位置问题
  • 修复 MotorStatusData 中 description 字段错误

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 改进

  • 重构设备上下文命名:
    • ModbusContextDeviceContext(更通用的设备上下文)
    • ModbusHandlerDeviceHandler(统一设备操作接口)

🛠 开发工具

  • 集成 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 基础架构