Skip to content

Revo 1 进阶版

Revo 1 进阶版在 SDK 中对应 Revo1Advanced;带电容触觉的型号对应 Revo1AdvancedTouch。本文说明如何识别设备、选择示例和确认可用 API。

接入前确认

  1. 核对设备型号、完整 SN、供电范围和物理通信接口。产品参数见 Revo 1 概述
  2. 安装 bc-stark-sdk 并使用统一自动检测入口连接设备。
  3. 通过 SDK 获取设备信息。SDK 根据设备 SN 识别型号,并通过 DeviceInfo.hardware_type 返回识别结果;确认结果为 Revo1AdvancedRevo1AdvancedTouch,同时核对序列号和固件版本。应用无需自行解析 SN。
  4. 先读取设备状态,再执行运动命令。首次运动前确保灵巧手活动范围内没有人员或障碍物。

不要使用基础版的公开 Modbus 寄存器表直接实现进阶版控制。需要绕过 SDK 时,应先向 BrainCo 技术支持确认目标设备、固件、接口和协议版本。

Motor API 兼容性

Revo 1 进阶版的 Motor API 与 Revo 2 一致,两者在 SDK 中使用同一套 Revo 2 电机命令族。应用读取 DeviceInfo 并确认 info.uses_revo2_motor_api() 返回 true 后,可使用对应的位置、速度、电流、状态和动作序列接口。

这一兼容关系仅适用于 Motor API。设备类型、通信接口与参数、固件、触觉 API 和机械规格仍应按 Revo 1 进阶版处理;不要把 Revo1AdvancedRevo1AdvancedTouch 硬编码为 Revo 2 设备。

SDK 能力分类

SDK 类型电机 API 判断触觉 API 判断说明
Revo1Advancedinfo.uses_revo2_motor_api() 返回 true无触觉进阶版电机控制
Revo1AdvancedTouchinfo.uses_revo2_motor_api() 返回 trueinfo.uses_revo1_touch_api() 返回 true进阶版电机控制与 Revo 1 电容触觉

这里的 info.uses_revo2_motor_api() 表示底层电机命令族,不改变产品归属。应用应使用检测结果和能力判断选择 API。

示例选择

优先使用 brainco-hand-sdk 中支持自动检测的统一示例:

进阶版不要照搬仅按目录名区分设备的旧示例。统一示例会先读取硬件类型,再由 SDK 选择正确的电机和触觉 API 族。

进阶版可用 API

基础的位置、速度、电流、状态、设备配置和动作序列接口仍通过统一的 DeviceContext 调用。进阶版电机 API 还支持带持续时间或速度的位置命令:

设置单指目标位置和持续时间
Pythonctx.set_finger_position_with_millis()
C ABIstark_set_finger_position_with_millis()
设置单指目标位置和速度
Pythonctx.set_finger_position_with_speed()
C ABIstark_set_finger_position_with_speed()
设置六个电机的目标位置和持续时间
Pythonctx.set_finger_positions_and_durations()
C ABIstark_set_finger_positions_and_durations()
设置六个电机的目标位置和速度
Pythonctx.set_finger_positions_and_speeds()
C ABIstark_set_finger_positions_and_speeds()

完整 Python 类型和签名见 Python SDK 提供的 main_mod.pyi,完整 C ABI 见 C/C++ SDK 提供的 stark-sdk.h。参数范围、返回值和错误行为以当前 SDK 发布包中的同版本文件为准,不要混用不同版本的库、类型存根和头文件。

触觉版

Revo1AdvancedTouch 使用 Revo 1 电容触觉 API,可读取启用状态、固件版本、原始数据和解析后的触觉状态,也可执行触觉设置、复位和校准。调用前先检查 info.uses_revo1_touch_api();没有触觉能力时不要发送触觉命令。

下一步

帮助