使用Inverse3进行开发
本文以快速入门指南为基础,介绍了将Inverse3用作触觉开发工具的方法。为此,文章探讨了多种硬件配置、控制方式,以及会改变设备行为的关键功能。
设备的左右手配置与坐标系
Inverse3 提供两种硬件配置,分别针对不同的使用场景进行了优化。

每台设备均可供左撇子或右撇子用户使用,但在某些情况下,右撇子用户可能会觉得右手配置的设备更易于使用。
在双手操作场景中同时使用两台设备时,应将配置在左手上的设备放在左侧,配置在右手上的设备放在右侧,以尽量减少碰撞和干扰。

两台设备均采用右手坐标系,该坐标系标注在Inverse3臂侧的设备铭牌上。坐标系原点位于设备安装板的平面上,靠近中心位置。
请查阅您计划使用的语言或插件对应的 InverseSDK 文档,因为 SDK 提供的坐标系可能已经遵循特定游戏引擎的坐标系。
控制3
对Inverse3的控制不仅限于力,还可以控制其关节扭矩和角度。本节概述了各种控制模式,以及相关的输入、输出及其对应单位。
使用任何一种模式都会给用户和设备带来固有风险,有关安全信息,请参阅Inverse3的安全使用说明。
笛卡尔控制
力控制是使用Inverse3的首选方式:它以牛顿(N)为单位接收力输入,并以米(m)为单位返回位置、以米每秒(m/s)为单位返回速度。在位置控制模式下,Inverse3会移动并保持在指定位置。两种模式之间可以无缝切换,因此二者可以结合使用,从而提供更好的用户体验。例如,在仿真开始时,可以将设备移离可交互对象;或者,在使用带追踪功能的VerseGrip时,切换工具时位置控制模式可以保持光标位置不变。

关节控制
同样,也可以直接控制Inverse3的关节扭矩和角度。在扭矩控制模式下,设备将产生以牛·毫米(N·mm)为单位指定的扭矩;在关节角度控制模式下,设备将移动至以度(°)为单位指定的角度。无论哪种情况,设备都会以度(°)为单位返回其位置,并以每秒度数(°/s)为单位返回速度。
颜色代码
Haply 标志的状态指示灯会根据设备的运行模式改变颜色。下表列出了最新固件的状态指示灯颜色(有关旧版固件的颜色,请参阅下方的“旧版状态指示灯颜色”部分)
| 颜色 | 灯光序列 | 状态 | 说明 |
|---|---|---|---|
| 关闭 | 关闭 | 已拔出 | USB-C 数据线已断开 |
| 红色 | 闪烁 | 未完成的握手 | 尚未与服务建立连接 |
| SOS 闪烁 | 超时 | 检测到通信超时,未从服务端收到任何指令 | |
| 黄色 | 闪烁 | 未校准且未通电 | 电源适配器已断开,且需要进行校准 |
| 渐入/渐出 | 未校准 | 需要对设备进行校准 | |
| 白色 | 常亮 | 空闲 | 未激活任何控制模式 |
| 闪烁 | 空闲且未通电 | 电源适配器已断开,且未启用任何控制模式 | |
| 绿色 | 常亮 | 力控制 | 设备在力控制模式下运行 |
| 闪烁 | 处于力控制状态且未供电 | 电源适配器已断开,且设备处于力控制模式 | |
| 蓝色 | 常亮 | 位置控制 | 设备在位置控制模式下运行 |
| 闪烁 | 位置已锁定且未通电 | 电源适配器已断开,且设备处于位置控制模式 | |
| 橙色 | 常亮 | 安全触发 | 检测到不稳定状态,安全触发机制已启动 |
注意:如果状态指示灯持续显示红色,可能是您的 USB 无法正常传输数据。请确保连接牢固,或更换数据线。如果状态指示灯未按上述预期模式显示,请提交支持请求。
可选的性能优化功能
Inverse3 提供了多项功能,用于控制其性能和手感。本节简要介绍了这些功能及其用途。
速度估算
速度并非通过直接测量获得,而是根据位置数据推算得出的,这可能会导致信号中存在噪声且不够精确,因此需要进行滤波。Inverse3 配备了板载速度估算算法,可利用其集成硬件生成无需额外滤波的速度信号。
请注意,速度估算值仅为近似值,可能并不完全精确。随着改进工作的推进,其性能和精度可能会得到进一步优化。
重力补偿
重力补偿可消除Inverse3各部件质量产生的作用力,使其在任何安装方向下都能带来失重般的手感。在模拟开始时,设备会利用板载传感器对算法进行校准;若在运行过程中改变设备的安装方向,将导致行为异常。
重力补偿仅在力控制模式下生效。

重力补偿强度可通过重力缩放系数进行调节(默认值为 0.75),也可以使用特定 SDK 的命令将其完全关闭(详见 SDK 参考文档)。
力缩放
Inverse3 在不同方向上产生的力大小各不相同。因此,如果尝试生成超出 Inverse3 能力范围的力,实际产生的力方向可能与预期方向不同。启用力缩放功能可以保持力的方向,但会降低其大小。该功能默认开启,也可以使用特定 SDK 的命令将其禁用。
VerseGrip 姿态追踪
要使用Inverse3追踪工具进行姿态追踪,需要配备VerseGrip。
您可以在《入门指南:VerseGrip》一文中进一步了解 VerseGrips。
旧版状态指示灯
固件 7.4.x 及以下版本
| 颜色 | 灯光序列 | 状态 | 描述 |
|---|---|---|---|
| 熄灭 | 熄灭 | 未连接 | USB-C 数据线已断开 |
| 红色 | 闪烁 | 未握手 | 尚未与该服务建立连接 |
| 紫色 | 常亮 | 未校准 | 需要对设备进行校准 |
| 闪烁 | 未校准且未通电 | 电源适配器未连接,且需要进行校准 | |
| 白色 | 常亮 | 空闲 | 未激活任何控制模式 |
| 闪烁 | 处于空闲且未通电状态 | 电源适配器未连接,且未启用任何控制模式 | |
| 绿色 | 常亮 | 力控制 | 设备处于力控制模式 |
| 闪烁 | 处于力控制状态且未通电 | 电源适配器未连接,且设备处于力控制模式 | |
| 宝蓝色 | 常亮 | 位置控制 | 设备处于位置控制模式 |
| 闪烁 | 已定位且未通电 | 电源适配器未连接,且设备处于位置控制模式 | |
| 蓝色 | 常亮 | 阻尼安全 | 已触发速度/力阻尼安全机制 |
| 粉色 | 常亮 | 稳定性上限 | 多次出现不稳定情况,力限制上限已下调 |
| 紫罗兰色 | 常亮 | 已触发稳定性辅助 | 检测到不稳定,力将自动逐步降低 |
| 橙色 | 常亮 | 紧急制动 | 立即停止,紧急制动已启动 |
| 黄色 | 快速闪烁 | 超时 | 检测到通信超时 |