跳至主要内容
版本:3.5.x

v3.5.3

3.5.3 是一个补丁版本。 主要更新包括:更智能的自动配对功能——当您更换已配对的Inverse3 与握把套装中的一半时,系统会自动重新配对;消除了有线Verse Grips上的虚假电池警报;更可靠的固件功能检测,不再默认忽略不支持的命令;连接时的状态LED指示灯更稳定;以及服务停止/重启时不再发生崩溃。此外,该版本还整合了多项设备和序列号相关的修复,以及若干字节级别的通信优化。

亮点

  • 当更换套装中的一半设备时,自动配对功能会重新进行配对。当自动配对的Inverse3 + Verse Grip套装中的一台设备被更换时,SDK现在会解除过期的配对,并重新与新连接的设备进行配对。手动配对则保持不变。
  • 有线版Verse Grips将不再出现虚假的电池警报。低电量和电量临界警报现在仅针对无线连接的Verse Grips触发;有线版Verse Grips将不再触发虚假的低电量或电量临界警告。
  • 可靠的固件功能检测。 向设备请求其固件版本过旧而无法运行的触觉功能——固件版本低于7.5时请求均匀或定向阻尼,固件版本低于7.4时请求返回起点——现在会返回HTTP 422状态码,并附带一条 device-protocol-unsupported 事件,而不是那个会悄无声息地丢弃请求、容易引起误解的 200 状态码。
  • 连接时状态指示灯更稳定。 Inverse3 的状态指示灯不再在每次连接或重新连接时闪烁红色:连接会在唤醒后约5秒的稳定期内保持活跃,因此固件的连接看门狗不再触发。
  • 服务停止和重启时不再发生崩溃。停止和重启服务时不再出现崩溃或卡死的情况;已重新设计了关闭和重启流程,以消除在启用和禁用服务时出现的系统崩溃和卡死现象。

内部改进

  • 离合器导航模式(实验性功能,默认关闭)。这是一种新的导航模式,允许操作员在物理设备持续移动的同时,缩小或完全冻结服务向场景输出的运动——包括用于精细定位的半速“精确”模式,以及用于重新定位工作空间的完全冻结模式——并在释放时将累积的偏移量折算到工作空间中,从而确保场景光标不会出现跳动。无论采用何种速率,力反馈都会持续输出。 本周期可选择启用该功能;默认连接方式保持不变。
  • 会话范围内的力值缩放(预览版)。客户端可将某个模拟会话的触觉输出降至接近零——例如在圆饼菜单打开时——并将设备交由 Hub 处理,以便菜单触觉反馈通过常规控制路径渲染;当会话结束或菜单关闭时,系统会自动恢复原设置。本周期已开启预览功能;默认连接方式保持不变。
  • 围绕枢轴点缩放工作区(实验性功能)。在更新工作区变换时传入一个枢轴点(例如活动光标),视图将围绕该点进行缩放,从而使枢轴点在屏幕上的位置保持不变——实现即时“缩放至光标”效果。仅限Inverse3 ;本开发周期为实验性功能,因此默认连接线保持不变。
  • 将 JSON 序列化引擎(glaze)升级至 v7.8.4。仅涉及基础架构——公共 API 或行为均无变化。同时进行了一项保留值的浮点数-文本传输格式调整;请参阅下文的“潜在破坏性变更”。

修复

  • 更改或重置设备的挂载变换不再会导致系统崩溃。此前,一个残留的原型代码路径会在每次挂载变更时将固件工作区边界框推入系统;该代码路径现已移除。
  • 在墨水瓶底座重新校准后,身体姿态数据会刷新。在墨水瓶底座重新对接并完成校准后,流式传输的身体姿态数据现在将从设备端实时刷新,而非像之前那样一直报告校准前的数值,直到下次重新连接为止。此功能需要设备安装最新固件;数据传输格式保持不变。
  • Minverse 总是报告校准受阻。 Minverse 现在会发出一个 device-calibration-failed 每当固件报告校准受阻时(包括此前会默默忽略该故障的振荡霍尔效应边际情况),都会触发该事件,因此“设备管理器”会始终显示“校准失败”的消息。
  • “居中”预设会将原点设置在工作区的实际可达中心位置。 arm_front_centeredled_front_centered (Inverse3 / Inverse3x) 沿手臂关节轴对齐,而该轴并未位于可及包络的中心,因此 set_cursor_position 在原点 {0, 0, 0} 着陆位置偏离中心;Minverse 的中心原点位置也向右偏移了约10毫米。目前,每个偏移量均为各轴可达范围的一半,该范围是在排除固件安全弹簧限制区域后测得的,而非机械上可实现的范围。(参见“潜在破坏性变更”部分中的原点偏移说明。)

可能导致兼容性问题的变更

  • POST/DELETE /config/filters/damping 在低于 7.5 版本的固件上,现在会返回 HTTP 422 状态码 用一个 device-protocol-unsupported 事件,而不是返回200并默默放弃写入操作。固件7.5及更高版本不受此影响(仍返回200)。迁移方案:将设备固件升级至7.5或更高版本,或处理422错误。
  • POST/DELETE /home_return 在缺少该命令的固件(早于 7.4 版本)上,现在会返回 HTTP 422 状态码 而不是无条件的 200。仅受旧固件版本的设备受此影响。解决方法:将固件升级至 7.4 或更高版本,或处理 422 错误。
  • 启用命令回显 config/mountstate/transform (GET/POST/PATCH/DELETE) 现已支持序列化 transform.rotation{w,x,y,z} 键的顺序 而不是 {x,y,z,w}, 与流媒体内容相匹配 state 快照的旋转顺序。仅限字节级——值和键名保持不变,仅键的顺序发生变化;三个组件仍会被完整复制。采用名称键值的 JSON 客户端无需采取任何操作;进行严格的字节/顺序比较时,应重新标记。
  • 此规则适用于单设备配置的变更通知范围名称。 会话更新后的变更通知事件现在会报告配置范围名称(config.mount, config.basis, config.preset) 而不是仅使用名称 (mount, basis, preset) 当应用单个设备的配置时。过滤这些事件作用域字符串的客户端必须更新其匹配规则。
  • Glaze 浮动文本在所有数值连线上的重新格式化,v3.0 和 v3.1 (例如 1.0E-7 -> 1E-7, 16777216 -> 1.6777216E7, -1.0E-37 -> -1E-37). 仅限字节级——数值解析器读取的值相同;仅文本形式发生了变化。使用字符串相等性验证的代码应重新为其测试数据赋予bless属性。
  • 以中心为基准的预设原点偏移。 由于居中预设现在以实际可达的中心为目标,因此其设置的原点相对于 3.5.2 版本发生了位移: arm_front_centered / led_front_centered 沿设备深度轴方向平移 25 毫米,Minverse 居中预设值在 X 轴方向平移 10 毫米、在 Y 轴方向平移 20 毫米、在 Z 轴方向平移 20 毫米,并且 minverse_zup 在 X 方向上平移 20 毫米,在 Y 方向上平移 30 毫米。这是一个默认启用的曲面,并且 minverse_zup 对检测到的自由形式会话自动应用。爆炸半径:当启用“居中”预设时,内容位于原点处,或几何体相对于原点定位——它会随原点一起移动。迁移:重新检查锚定于原点的几何体,或将之前的偏移量显式写入作为自定义安装变换。非居中预设(device_defaults, arm_front, led_front) 是恒等式且不受影响。

折旧

  • 传承 values inverse3 控件命令中的 input 参数现已被标记为“已弃用(带警告)”。 发送 values 数组到 set_cursor_force, set_cursor_position, set_angular_positionset_angular_torques 而不是该命令的命名字段(vector / position / angles / torques) 仍然有效,但现在会引发一个 command-deprecated 事件(每条命令每30秒限发一次),而不是被系统默认接受。迁移 values 到指定字段;该旧版输入方式计划在 4.0 版本中移除。
  • 除此之外,本周期内没有其他影响公共线路的情况。