柔性触觉阵列显示层在线双态蠕变观测器补偿算法

摘要 柔性触觉阵列在反复增减同一负载时,前一代显示层补偿器暴露出一个结构性缺陷:整片卸载后重新加载,239 s 受载历史累积的蠕变补偿被状态机清零,同一负载的前后显示相差 2516 ADC(满载族极差),用户看到的就是"丢基线"。此后用事件式"蠕变记忆"修补,虽修好了目标工况,却在随机切换工况上把显示整体下移约 1200 ADC——账本式记忆伤害了它没见过的工况,该方案已废弃。本文给出第三条路线:把传感器与夹具当作线性粘弹性体,逐通道在线维护两个 Kelvin-Voigt 非弹性状态(快态 + 慢态),叠加一个近零带内慢速再校准的零点跟踪,显示 = 零点 + 纯弹性响应。整条算法没有事件账本、没有状态清零,受载门由弹性估计的自然下限形成;慢态跟随实测慢漂移速率,因为辨识表明蠕变幅度因工况差 3 倍、固定幅度必在一边过扣一边欠扣。针对"阶跃后约 2 s 见峰、随后回落过大"的现场问题,算法内建三重沿后机制:上升沿后的快态前馈(沿后短窗内加快收敛)、慢态沿后软冻结(沿后按指数权重逐步放开积分)、以及显示侧的补偿预留池(受载期施加补偿的增速不超过输入快速导数加小余量,会把显示往下拉的部分先预留、慢相阶段随输入爬升逐步释放)。在真实数据回放上(13 会话、73 个加载事件):纯过补偿回落中位 262→27 ADC(反复增减工况 fall 中位 332→94、落位 9.2→6.6 s);346 s 恒载保压显示漂移 −108 ADC(输入自身 +1010);首次加载见峰 2~4 s。代价如实:快相期间显示比真实弹性电平略偏高(预留池暂时未扣的部分),随后数十秒缓慢归位;频繁切换工况的保压段 std 相对固定幅度版上升;卸载后到零点再校准完成前显示有一段低于原始零点的过渡(τ₀=8 s 量级)。在线实现与独立复算实现逐帧对拍,最大逐帧差 5×10⁻⁵ ADC。 关键词 触觉阵列;粘弹性蠕变;在线观测器;Kelvin-Voigt 模型;零点跟踪;无事件补偿;一致性 1 引言 1.1 丢失的 2000 ADC:上一代方案的失效方式 前代显示层补偿(事件状态机方案)建立在事件状态机上:加载沿、卸载沿、变载各自触发状态迁移,补偿量挂在事件血统上逐代继承。它在"加载—保持—再加载"的家族路径上工作正常,但有一条它没有覆盖的路径:整片卸载。 现场录制 R1(31306 帧,21 通道)里的时间线是:239~240 s 输入经约 1.5 s 四级台阶塌到基线,检测器 240.08 s 确认卸载、240.86 s 状态机转入空载并清空全部慢相补偿状态;244.3 s 重新加载被当作全新事件,幅度参考直接锚在快相终点电平上。于是第一次加载段(t16~239)显示 = 输入 − 累积补偿(补偿从 +1570 涨到 +2289,这是正确行为:load1 从 2.4 s 一直压到 239 s,其蠕变一直在长),而重载段(t246 起)的扣除是 −54 与 +13——239 s 受载历史被整段遗忘。同一满载的前后显示相差 2516 ADC(族极差),这就是用户报障的"丢基线"。 ...

September 19, 2026 · 2 min · Leventure

受力平衡分析:质心与扭转

这是一篇面向开发和调试的算法文档。读完后你应该能回答三件事: 算法在算什么、为什么这么算、界面上每个元素对应公式里的哪个量。 全文用一个贯穿例子:一块 5×5 的受力区域,压力沿主对角线(左上—右下)分布,左上端更重。 1. 算法要做什么 阵列式压力传感器的数据就是一张二维表:每个格子一个力值。画成三维曲面(坐标做底面、力值做高度),哪里轻哪里重一目了然。 图 1:起点。 左:压力曲面沿对角线隆起、左上端更高;右:同一组数据的 2D 视图和每格数值。人眼能看出"不均匀",算法要把这件事变成数字结论。 用户拿压头按传感器时,“按得不规范"有两种情况,物理上完全不同: 问题类型 表现 用户该怎么修 位置偏移 压头放歪了位置,但贴得是平的。压力分布形状正常,只是整体挪了位 照着箭头把压头挪过去 姿态歪斜 位置可能很正,但压头翘了边。翘起的一侧轻、压下的一侧重,分布形状被扭曲 停下来,检查贴合,重新放平 修法完全不同,所以算法输出两个相互独立的结论,各管一类: 位置通道:受力中心偏在哪 → 画面上画一个箭头; 扭转通道:压力沿哪条线失衡、哪侧重 → 画面上画一条双向轴线 + 偏重侧铺色。 后面所有设计都是围绕这两个通道展开的。第 2~3 节分别讲两个通道怎么算,第 4 节给出完整流程汇总,第 5 节讲界面怎么读,第 6 节讲能力边界和参数。 2. 位置通道:算受力中心(质心) 2.1 符号约定 后面所有公式共用这套记号: 受力区域(下称"斑块”)内的格子编号为 $i = 1, 2, \dots, n$; $V_i$:第 $i$ 格的力值(热力图上显示的那个数); $p_i = (r_i, c_i)$:第 $i$ 格中心的坐标,$r$ 是行号(向下),$c$ 是列号(向右); $\sum_i$:只对斑块内的 $n$ 个格子求和。 2.2 公式 把每格的力值当权重,对格子位置做加权平均,得到的点就是受力中心(质心): ...

September 6, 2026 · 4 min · Leventure