修正朝上判断、接触高度与过期姿态目标

朝上判断误用平台轴、接触高度报旋转前数值、多点对准复用缓存姿态,且多点会话被复核入口拒绝;
现按修正计划改正并接通 autocal-multipoint-1.0 只读复核,缺失帧源如实报告而不补零。

离线验证:新回归在 dc5a6f8 上失败、此处通过,panel_check 通过,两截图点接触高度复现
19.0510 / 21.5781 mm;实机项未做,详见 .scratch/autocal-motion-fix/verification.md。
This commit is contained in:
ykcheungab
2026-10-15 06:52:28 +08:00
parent 5339624ffa
commit bcc55a3b97
29 changed files with 2179 additions and 209 deletions
+25 -1
View File
@@ -43,6 +43,13 @@
"role_pitch": "pitch(俯仰)",
"role_axis": "驱动器",
"axes_duplicate": "同一驱动器被分配给多个方向:{detail}",
"tab_press": "压轴零位",
"press_hint": "解算给出的是接触点在台面原点平面之上的几何高度(mm);驱动器收到的是它自己的坐标,从它自己的机械零位算起。两者只差一个实机测量值。没有标定之前,执行动作会保持压轴不动,而不会把几何高度当成控制器目标直接下发。",
"press_zero": "零点(压头触到台面原点平面时的读数)",
"press_rising": "坐标增大时压头上升",
"press_calibrated": "已在本机测量并确认",
"press_set": "已标定:压轴目标 = 零点 ± 接触高度。",
"press_unset": "未标定:执行动作会保持压轴不动。",
"close": "关闭",
"chip_hint": "点击打开设备设置 — {name}"
},
@@ -56,7 +63,7 @@
"confirm_title": "确认运动",
"confirm_execute": "将同时移动:\n\n{steps}\n\n请确认仿真与机床一致。",
"confirm_return": "将同时移回零点:\n\n{steps}\n\n请确认机床上没有干涉。",
"hold_note": "不动作:{roles}(压轴由 P7 的接触检测与压深另外管)",
"hold_note": "不动作:{roles}(这些轴保持现状,不参与本次动作)",
"cancelled": "已取消,未发出任何运动",
"confirm_check": "移动前确认",
"confirm_hint": "取消勾选后,执行动作与回初始位将直接发出(停止不受影响)。",
@@ -359,7 +366,11 @@
"no_map": "请先载入传感器导出包,让「选择测点」出现曲面。",
"no_solver": "姿态求解还没有接上。",
"align_select": "请先在左边表里点中要去的测点,再点「对齐法向」。",
"align_busy": "这一轮还在采集:等它结束再对准其它测点,中途移动平台会让这次记录作废。",
"pose_refused": "这个点的姿态不能执行:{reason}",
"point_moved": "这个点记录的坐标与当前映射不符(相差 {mm} mm)。请重新在「选择测点」里取这个点并确认,不要用旧记录移动平台。",
"normal_moved": "这个点记录的法向与当前映射不符(相差 {deg}°)。请重新在「选择测点」里取这个点并确认。",
"point_unmapped": "这个点没有可用的来源坐标(既没有 UV 映射,也不是传感器坐标)。请重新在「选择测点」里取这个点。",
"no_finger": "手指调试页面还没有接上。",
"no_finger_points": "手指调试里还没有选点。",
"branch_baseline": "空载",
@@ -401,9 +412,20 @@
"row_sensor_normal": "曲面法向",
"row_platform_point": "平台坐标 (mm)",
"row_pose": "位姿 X / Y / yaw / pitch",
"row_branch": "所选姿态与理由",
"row_table_move": "工作台移动 X / Y",
"row_press": "压轴目标",
"row_residual": "对齐残差",
"row_frames": "坐标映射",
"branch_none": "—",
"branch_value": "{reason}(本解合计 {travel}°,另一精确解 {other}°)",
"branch_only": "唯一精确解",
"branch_alignment": "残差最小",
"branch_in_range": "行程内",
"branch_upright": "传感面仍朝上",
"branch_smallest": "转动量最小",
"press_unset": "未标定零位:本动作保持压轴不动(在 设备设置 → 压轴零位 填入实测零位)",
"press_target": "{target} mm(几何接触高度 {height} mm)",
"tool_xy": "刀具 X / Y",
"tool_hint": "刀具在工作台坐标系中的位置。每个测点的工作台移动都相对这个位置计算。",
"sensor_xy": "传感器 X / Y",
@@ -681,6 +703,8 @@
"no_sites": "会话没有测点",
"candidate": "候选窗口",
"insufficient_samples": "有效样本不足",
"no_frame_source": "本次循环没有录像帧来源:参考窗口已记录,但没有可用于计算的原始法向信号",
"time_basis_not_comparable": "时间基准与保持窗口不可比(录像不是本机实时采集),未参与计算",
"replay": "视频调试",
"unverified": "稳定性未复核",
"fit": "加载分支初步拟合:灵敏度 {sensitivity_raw_per_n:.6g} raw/N;增益 {gain_n_per_raw:.6g} N/raw;偏置 {offset_n:.6g} N;拟合 RMSE {rmse_n:.4g} N(不是独立验证误差)",