v3.5.3
3.5.3 是一个补丁版本。主要变更包括:当更换已配对的 Inverse3 + 握把组合中的一方时,会自动执行智能重新配对;修复了有线 Verse Grip 上的错误电池警告;改进了固件功能检查,确保不再默认忽略不支持的命令;稳定了连接时的状态 LED 指示;以及在不导致崩溃的情况下停止并重启服务。此外,该版本还包含针对多设备及序列化问题的修复,以及关于字节级有线规范的若干说明。
亮点
- 更换套装中的一件设备后,系统将自动重新配对。当自动配对的 Inverse3 + Verse Grip 套装中的一件设备被更换时,SDK 现会取消旧的配对关系,并与新连接的设备重新配对。手动配对不受此影响。
- 有线版Verse Grip不再出现错误的电池警告。低电量和危险电量电池警报现仅针对无线连接的Verse Grip发出。有线版Verse Grip不再会错误地发出低电量或危险电量警告。
- 准确检查固件功能。 当设备因固件版本过旧而无法执行某些触觉功能(例如:固件版本低于7.5时的均匀或定向阻尼,以及固件版本低于7.4时的返回主屏幕功能)时,系统不再像以前那样默默丢弃请求并返回易引起误解的200状态码,而是
device-protocol-unsupported现在,该事件会返回 HTTP 422 状态码。 - 连接时的状态LED已稳定。Inverse3的状态LED不再在每次连接或重新连接时闪烁红光。由于在唤醒后约5秒的稳定期间内连接得以维持,因此固件的连接看门狗不再触发。
- 服务停止和重启时不再发生崩溃。在停止和重启服务时,不再出现崩溃或卡死的情况。为了解决在切换服务开关时出现的异常终止或卡死问题,我们重新设计了关机和重启的处理流程。
内部改进
- 离合器导航模式(实验性功能,默认关闭)。这是一种新的导航模式,当物理设备持续运动时,操作员可以缩小或完全固定服务输出到场景中的运动。该模式包含用于精细定位的半速“precise”模式,以及用于重新布置工作空间的完全固定模式。解除该模式时,系统会将累积的偏移量导入工作空间,因此场景光标不会发生跳动。无论力反馈比率如何,力反馈都会持续输出。在本发布周期中,该功能采用主动启用机制,默认线缆规格未作更改。
- 按会话进行的力值缩放(预览版)。客户端可以在某些情况下(例如显示派状菜单时),将某个模拟会话的触觉输出降低至零,并将设备控制权移交给Hub。这样,菜单的触觉反馈将通过常规控制路径进行渲染。当会话结束或菜单关闭时,系统会自动恢复原状。在本发布周期中,该功能仅在预览版中有效,默认的线缆规格未作更改。
- 以枢轴点为中心的工作区缩放(实验性功能)。在更新工作区变换时,若传入枢轴点(例如:当前光标位置),视图将以该点为中心进行缩放,因此枢轴点在屏幕上的位置保持不变。这样便能立即实现对光标位置的缩放。该功能仅在 Inverse3 中可用。由于在本发布周期中该功能仍处于实验阶段,因此默认线框规格未作更改。
- 已将JSON序列化引擎(glaze)升级至v7.8.4。此次仅涉及基础架构变更,公开API及行为均未发生改变。此外,还包含一项针对存储值的浮点数文本的线格式重新格式化。详情请参阅下文的“潜在破坏性变更”。
修正
- 即使更改或重置设备的安装变换,也不再有崩溃的风险。此前,由于原型开发阶段遗留的代码路径,每次更改安装方式时都会发送固件的工作区边界框。该代码路径现已删除。
- 在 Inkwell Dock 进行重新校准后,物体方向现已能够实时更新。在 Inkwell 进行重新对接和重新校准后,流式传输的物体方向将不再报告校准前的值直至下次重新连接,而是由设备实时更新。此功能需要最新版本的设备固件。数据传输格式未发生变化。
- Minverse 现在会始终报告校准模块。 每当固件报告校准块时,Minverse 会
device-calibration-failed现在会触发事件了。这包括以前会默默压制失败情况的振荡孔的边界情况。因此,“设备管理器”中将始终显示“校准失败”的消息。 - 在“对中预设”中,原点现已设置为工作空间中实际可到达的中心位置。
arm_front_centered和led_front_centered(Inverse3 / Inverse3x)虽然已沿机械臂关节轴进行了对齐,但该轴并非可达包络线的中心。因此,原点{0, 0, 0}でset_cursor_position执行后发现偏离了中心。此外,Minverse 的居中原点也向右偏移了约 10 mm。各偏移量已调整为各轴可达范围的一半。测量时排除了固件的安全弹簧限制区域,而非机械上可行的范围。(请参阅“可能导致破坏性变更”一节中关于原点偏移的说明。)
可能导致破坏性变更
- 在 7.5 之前的固件版本中,
POST/DELETE /config/filters/damping现在会返回 HTTP 422 状态码了。与之前默默丢弃的 200 条帖子不同,device-protocol-unsupported将发生该事件。固件 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)。这仅是字节级别的更改。数值解析器仍会读取相同的值。唯一发生变化的是文本格式。对于需要进行字符串相等比较的消费者,请更新测试数据。 - 对中预设的原点偏移。 由于对齐预设现在针对的是实际可到达的中心点,因此与 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将自动应用于检测到的 Freeform 会话。影响范围:在居中预设生效期间放置在原点处的内容,或以原点为基准放置的几何体,将随原点一起移动。迁移方法:请重新检查固定在原点处的几何体,或将之前的偏移量显式写入为自定义安装变换。未居中的预设(device_defaults、arm_front、led_front)是恒等变换,因此不受影响。
不建议
- 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 版本中移除。 - 此外,在本发布周期中,没有其他会影响公开代码库的变更。