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

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

两台设备均遵循右手坐标系,该坐标系标示在Inverse3臂侧的设备铭牌上。坐标系原点位于设备安装板的平面上,靠近中心位置。
请查阅您计划使用的语言或插件对应的 InverseSDK 文档,因为 SDK 提供的坐标系可能已经遵循特定游戏引擎的坐标系。
控制Inverse3
对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 线缆已断开 |
| 红色 | 闪烁 | 未握手 | 尚未建立与服务的连接 |
| 紫色 | 常亮 | 未校准 | 需要对设备进行校准 |
| 闪烁 | 未校准且未通电 | 电源适配器未连接,且需要进行校准 | |
| 白色 | 常亮 | 空闲 | 未激活任何控制模式 |
| 闪烁 | 空闲且未通电 | 电源适配器未连接,且未激活任何控制模式 | |
| 绿色 | 常亮 | 力控制 | 设备处于力控制模式 |
| 闪烁 | 力控制且未通电 | 电源适配器未连接,且设备处于力控制模式 | |
| 宝蓝色 | 常亮 | 位置控制 | 设备处于位置控制模式 |
| 闪烁 | 位置控制且未通电 | 电源适配器未连接,且设备处于位置控制模式 | |
| 青色 | 常亮 | 阻尼安全 | 已触发速度/力阻尼安全机制 |
| 粉色 | 常亮 | 稳定性上限 | 多次出现不稳定,力限制上限已降低 |
| 紫罗兰色 | 常亮 | 已触发稳定性辅助 | 检测到不稳定,力将自动逐步降低 |
| 橙色 | 常亮 | 紧急制动 | 立即停止,紧急制动已激活 |
| 黄色 | 快速闪烁 | 超时 | 检测到通信超时 |