修正朝上判断、接触高度与过期姿态目标
朝上判断误用平台轴、接触高度报旋转前数值、多点对准复用缓存姿态,且多点会话被复核入口拒绝;
现按修正计划改正并接通 autocal-multipoint-1.0 只读复核,缺失帧源如实报告而不补零。
离线验证:新回归在 dc5a6f8 上失败、此处通过,panel_check 通过,两截图点接触高度复现
19.0510 / 21.5781 mm;实机项未做,详见 .scratch/autocal-motion-fix/verification.md。
This commit is contained in:
@@ -43,6 +43,13 @@
|
||||
"role_pitch": "pitch (tilt)",
|
||||
"role_axis": "Drive",
|
||||
"axes_duplicate": "One drive is claimed by more than one direction: {detail}",
|
||||
"tab_press": "Press zero",
|
||||
"press_hint": "The solver reports the contact's geometric height above the table's origin plane, in millimetres. The drive is commanded in its own coordinate, counted from its own mechanical zero. One bench measurement relates the two. Until it is entered, Execute holds the press axis rather than passing a geometric height to the controller as a target.",
|
||||
"press_zero": "Zero (reading with the tip on the origin plane)",
|
||||
"press_rising": "A larger coordinate lifts the tip",
|
||||
"press_calibrated": "Measured and confirmed on this machine",
|
||||
"press_set": "Calibrated: press target = zero ± contact height.",
|
||||
"press_unset": "Not calibrated: Execute holds the press axis.",
|
||||
"close": "Close",
|
||||
"chip_hint": "Open device setup — {name}"
|
||||
},
|
||||
@@ -56,7 +63,7 @@
|
||||
"confirm_title": "Confirm motion",
|
||||
"confirm_execute": "Will move these axes together:\n\n{steps}\n\nCheck this against the machine before continuing.",
|
||||
"confirm_return": "Will move these axes back to zero together:\n\n{steps}",
|
||||
"hold_note": "Not moved: {roles} (the press axis is P7's business — contact detection and press depth)",
|
||||
"hold_note": "Not moved: {roles} (these axes stay where they are and take no part in this move)",
|
||||
"cancelled": "Cancelled; nothing was commanded",
|
||||
"confirm_check": "Confirm before moving",
|
||||
"confirm_hint": "Unchecked, Execute and Return to zero are sent directly. Stop is never affected.",
|
||||
@@ -359,7 +366,11 @@
|
||||
"no_map": "Load a sensor bundle so Select point shows the surface.",
|
||||
"no_solver": "The pose solver is not connected.",
|
||||
"align_select": "Select the destination point in the table, then click Align normal.",
|
||||
"align_busy": "This run is still recording: wait for it to finish before aligning another point, because moving the platform now would invalidate it.",
|
||||
"pose_refused": "This pose cannot be commanded: {reason}",
|
||||
"point_moved": "This point's recorded position no longer matches the current map (off by {mm} mm). Pick it again on Select point and confirm it; do not move the platform to the old record.",
|
||||
"normal_moved": "This point's recorded normal no longer matches the current map (off by {deg}°). Pick it again on Select point and confirm it.",
|
||||
"point_unmapped": "This point has no usable source coordinate: no UV mapping and not a sensor-frame position. Pick it again on Select point.",
|
||||
"no_finger": "The finger page is not connected.",
|
||||
"no_finger_points": "The finger page has no picked points.",
|
||||
"branch_baseline": "baseline",
|
||||
@@ -401,9 +412,20 @@
|
||||
"row_sensor_normal": "Surface normal",
|
||||
"row_platform_point": "Platform point (mm)",
|
||||
"row_pose": "Pose X / Y / yaw / pitch",
|
||||
"row_branch": "Chosen pose and why",
|
||||
"row_table_move": "Table move X / Y",
|
||||
"row_press": "Press-axis target",
|
||||
"row_residual": "Alignment residual",
|
||||
"row_frames": "Frame mapping",
|
||||
"branch_none": "—",
|
||||
"branch_value": "{reason} (this pose {travel}° total, the other exact pose {other}°)",
|
||||
"branch_only": "only exact pose",
|
||||
"branch_alignment": "smallest residual",
|
||||
"branch_in_range": "inside travel",
|
||||
"branch_upright": "face still up",
|
||||
"branch_smallest": "smallest turn",
|
||||
"press_unset": "Zero not measured: this move holds the press axis (enter it in Device setup → Press zero)",
|
||||
"press_target": "{target} mm (geometric contact height {height} mm)",
|
||||
"tool_xy": "Tool X / Y",
|
||||
"tool_hint": "Where the tool is in the table frame. Each point's table move is measured from this position.",
|
||||
"sensor_xy": "Sensor X / Y",
|
||||
@@ -681,6 +703,8 @@
|
||||
"no_sites": "No sites in this session",
|
||||
"candidate": "Candidate window",
|
||||
"insufficient_samples": "Insufficient valid samples",
|
||||
"no_frame_source": "This repeat has no recorded frame source: the reference window exists, but no raw normal signal can be computed from it",
|
||||
"time_basis_not_comparable": "Time base is not comparable with the hold window (the recording is not live capture on this host); it was left out of the calculation",
|
||||
"replay": "Replay debug",
|
||||
"unverified": "Stability unverified",
|
||||
"fit": "Exploratory loading fit: sensitivity {sensitivity_raw_per_n:.6g} raw/N; gain {gain_n_per_raw:.6g} N/raw; offset {offset_n:.6g} N; fit RMSE {rmse_n:.4g} N (not independent validation error)",
|
||||
|
||||
Reference in New Issue
Block a user