跳转至正文

v3.5.3

3.5.3 是一个补丁版本。主要变更包括:更智能的自动配对功能(当更换成对的Inverse3 + 握把套装中的一侧时,设备会自动重新配对);修复了有线 Verse Grip 上出现的错误电池警告;优化了固件功能检测,不再对不支持的命令进行静默忽略;连接时的状态指示灯更稳定;以及服务停止和重启时不再发生冲突。 此外,本次更新还包含多项设备相关及序列化方面的修正,以及若干关于字节级数据传输格式的说明。

主要内容​

  • 更换套装中的一件设备后,系统将重新执行自动配对。在已自动配对的Inverse3 +Verse Grip套装中,若其中一件设备被更换,SDK会移除旧的配对关系,并重新与新连接的设备进行配对。手动配对设置保持不变。
  • 有线版 Verse Grip 不再出现错误的电池警告。电池电量不足和电池危险提示现在仅针对无线连接的 Verse Grip 出现。有线版 Verse Grip 不再触发错误的电池电量不足或电池危险警告。
  • 固件功能检测已明确。 当设备因固件版本过旧而无法执行所请求的触觉功能时——例如固件版本低于 7.5 时的均匀或定向阻尼,以及固件版本低于 7.4 时的返回原点功能——现在系统将不再默默忽略该请求并返回 200,而是返回 HTTP 422 响应,同时 device-protocol-unsupported 事件被触发。
  • 连接时,状态 LED 的工作状态更为稳定。 Inverse3 状态 LED 不会在每次连接或重新连接时闪烁红色。由于连接会在唤醒后约 5 秒的稳定化阶段内保持,因此固件中的连接看门狗将不再被触发。
  • 停止和重启服务时不会发生冲突。即使停止并重启服务,也不会再出现冲突或卡死的情况。为了消除在启用和停用服务时出现的系统崩溃和卡死现象,我们重新设计了终止和重启流程。

内部改进事项​

  • 离合器导航模式(实验性功能,默认关闭)。这是一种新的导航模式,当实际设备持续移动时,操作员可以缩小或完全固定服务传输到场景中的移动幅度。该模式提供用于微调位置的半速“精确”模式,以及用于重新布置工作空间的完全固定模式;解除该模式时,系统会将累积的偏移量反映到工作空间中,以防止场景光标发生跳跃。 力反馈在所有比例下均持续传递。在此版本中,该功能仅以“主动启用”方式提供,默认线缆格式未发生改变。
  • 会话级力反馈缩放(预览版)。例如,当派菜单打开时,客户端可以将单个模拟会话的力反馈输出降低至接近0,并将设备交由Hub处理,以便菜单的力反馈通过常规控制路径进行渲染。当会话关闭或菜单关闭时,设置将自动恢复。 在本次发布中,该功能仅作为预览功能提供,默认线缆格式未发生更改。
  • 以枢轴点为基准缩放工作区(实验性功能)。在更新工作区变换时,若传入枢轴点(例如实时光标),视图将围绕该点进行缩放,从而保持枢轴点在屏幕上的位置不变。也就是说,视图会立即以光标位置为中心进行缩放。该功能仅在 Inverse3 中支持,且在本版本中仍处于实验阶段,因此默认线格式未发生改变。
  • 已将 JSON 序列化引擎(glaze)升级至 v7.8.4。本次升级仅涉及基础架构变更,公开 API 和行为均未发生改变。此次升级还包含了一项可保留值的浮点数文本序列化格式调整。请参阅下文所述的潜在兼容性破坏变更。

修改内容​

  • 即使更改或重置设备的挂载转换,也不再存在冲突风险。此前,原型代码中仍保留着每当挂载发生变化时向固件传递工作区边界框的代码路径,该代码路径现已移除。
  • 在 Inkwell 停靠站完成重新校准后,主机方向将得到更新。当在 Inkwell 完成重新对接和重新校准后,流式传输的主机方向值将更新为设备的最新值,而非在下次重新连接前继续报告校准前的值。此功能需要设备安装最新固件,且数据线格式保持不变。
  • Minverse 会始终报告被阻止的校准。 每当报告固件被屏蔽的校准时,Minverse 现在会 device-calibration-failed 这会触发一个事件。由于现在也包含了此前会默默吞噬失败的振荡霍尔(oscillating-hall)边界情况,因此“设备管理器”中现在会始终显示“校准失败”的消息。
  • “中心预设”将原点设置在工作空间中实际可达的中心位置。 arm_front_centered哇 led_front_centered(Inverse3 / Inverse3x) 虽然是沿手臂关节轴对齐的,但该轴并非可达范围的中心。因此,原点 {0, 0, 0}在……中 set_cursor_position调用该命令后,已到达偏离中心的位置。Minverse 中央原点也偏右了约10毫米。现在,每个偏移量均为各轴可达范围的一半,且测量时不考虑机械上可行的范围,而是排除固件安全弹簧限制区域。(请参阅下文“潜在的兼容性变更”中的原点移动指南。)

潜在的兼容性变更​

  • POST/DELETE /config/filters/damping如果在 7.5 之前的固件中调用该功能,现在将返回 HTTP 422 状态码。 此时 device-protocol-unsupported 这些事件会同时发生。此前,写入操作会悄无声息地失败,但仍返回 200 状态码。7.5 及以上版本的固件不受此影响,仍会返回 200 状态码。迁移方案:将设备固件升级至 7.5 及以上版本,或处理 422 响应。
  • 在没有该命令的固件(7.4 及更早版本)中, POST/DELETE /home_return调用该方法后,现在会返回 HTTP 422 状态码。 以前会无条件返回 200。此问题仅影响使用旧版本固件的设备。迁移方案:将固件升级至 7.4 及以上版本,或处理 422 响应。
  • config/mount 以及 state/transform在 (GET/POST/PATCH/DELETE) 请求回显中,现在 transform.rotation这个 {x,y,z,w}而不是 {w,x,y,z} 按键顺序进行序列化。 这是正在流媒体播放的 state 此更改旨在与快照的旋转顺序保持一致。仅在字节级别进行调整,值和键名保持不变,仅调整了键的顺序。这三个组成部分仍会继续被回显。通过键名访问的 JSON 客户端无需采取任何措施。如果使用了严格的字节或顺序比较,则需要重新生成基准数据。
  • 应用单设备配置时,变更通知范围的名称会发生变化。 一旦应用了单设备配置,会话更新变更通知事件现在将采用无前缀的名称(mount, basis, preset) 而是配置范围名称(config.mount, config.basis, config.preset) 报告。对该事件的范围字符串进行过滤的客户端必须更新匹配逻辑。
  • 在 v3.0 和 v3.1 中,对所有数字线值的 Glaze 浮点数文本进行了重新格式化 (例如: 1.0E-7 -> 1E-7, 16777216 -> 1.6777216E7, -1.0E-37 -> -1E-37). 仅进行了字节级别的更改,数字解析器读取的仍是相同的值。仅文本格式发生了变化。使用字符串相等比较的调用方需要重新生成基准数据(fixture)。
  • 中央预设的原点移动。 由于“中心预设”现在针对的是实际可达到的中心点,因此与 3.5.2 版本相比,安装的原点位置发生了变化。 arm_front_centered / led_front_centered沿设备深度轴移动25mm,Minverse 的中心预设值为X轴10mm、Y轴20mm、Z轴20mm, minverse_zup沿X轴移动20毫米,沿Y轴移动30毫米。这是默认启用的区域, minverse_zup将自动应用于检测到的 Freeform 会话。影响范围:当“中心”预设处于激活状态时,放置在原点处的内容或以原点为基准定位的几何体将随原点一起移动。迁移:请重新检查固定在原点上的几何体,或通过自定义安装转换显式指定之前的偏移量。“非中心”预设(device_defaults, arm_front, led_front) 作为恒等元(identity),因此不受影响。

计划停用的项目​

  • inverse3 控制命令的遗留问题 values 该输入项现已标记为“已弃用”,并会显示警告。 set_cursor_force, set_cursor_position, set_angular_position, set_angular_torques命令名称所在的字段(vector / position / angles / torques) 而不是 values 发送数组的方式仍然有效。只是现在不会被默默接受了,而是 command-deprecated 将触发该事件(每条命令限每30秒触发一次)。 values请将该字段迁移到指定字段中。旧版输入功能将在 4.0 版本中移除。
  • 在此版本中,没有其他影响公开线缆的变更。