cbb
|
208b37048b
|
fix: IK 全面审查三处修复——NaN 防线、实时拖拽被入场动画覆写、滚转角miss突跳
- 求解器 inLimit/evalAt 容差比较改否定式:原写法在 NaN 下比较恒假,
NaN 目标/姿态曾产出 ok=true 且 q 含 NaN(UI 有 number 输入净化+isFinite
双保险触不到,但公开 API 与将来的 MCU 端口会中招)
- glue setJoints(q,false) 补 anim=null:直接写入不再被在飞的 620ms 入场动画
覆写、结尾不再跳回旧目标(实时追踪拖拽撞上入场动画的窗口期)
- glue rollAngleAt 射线错过平面改返回 null:原来返回 0 会让滚转角按 -a0 突跳,
现在该帧直接跳过
- 回归:node 六项全绿;NaN/Inf 目标三种注入均 ok=false 且 q=null;
40 组随机位形与 fast 副本仍逐位一致;浏览器冒烟已到达/零报错
|
2026-09-29 00:24:58 +08:00 |
|
cbb
|
4fdc37da9f
|
perf: IK求解器姿态路径提速1.41×——轴夹角预筛+Set去重+免hypot,并修正牛顿收口取错行的列下标bug
- 4.3牛顿收口 err2 原取 [M5[6..8]](行主序第2行)当"列2工具轴",正确应为列2
[M[2],M[5],M[8]];该节因此从未起作用。修复后 selfTest 姿态命中 5/6→6/6、
最差 oerr 0.602°→0.024°
- scoreBranch 轴夹角预筛:θ6 只滚转不改工具轴 ⇒ oerr≥轴夹角(20万样本零违反),
轴夹角就超 POSETOL 的候选免 orient 全矩阵+acos 直接拒
- keepBand.indexOf → Set.has(原 O(n²) 约6000×4000恒等比较/次);evalAt 误差范数
hypot→平方和
- A/B 40 组随机位形输出与合入前逐位一致(Δθ=0.000°、nSol 一致、oerr 零变差),
node 六项回归全绿,浏览器冒烟已到达/残差6.4e-14mm/零报错
|
2026-09-29 00:10:12 +08:00 |
|
cbb
|
a70724e8a9
|
feat: 查看器新增姿态控制算法与箭头拖拽交互(TCP位置+工具姿态6自由度联合IK),IK控制条改两行,补充定位图截图
- arm-ik-solver.js:位置闭式支附加 θ6 滚转解算(N=R5^T·R_des,工具轴与 θ6 无关的结构);达标带(e≤1°)按 e 升序取种子 + escalating(惩罚×100 重扫)+ (θ4,θ5) 二维牛顿收口,分层保证"姿态达标再谈省关节角";超可达空间走 6 维阻尼最小二乘(位置 mm+姿态 deg 联合)兜底;自检补姿态重构
- ik-glue.js:姿态控制开关 + 方位/仰角/滚转输入 + 取当前/垂直向下;目标点处方向箭头(弧球法调指向)与粉色侧球/箭杆(调滚转),就近仲裁不抢黄球拖拽;面板显示目标/实际姿态与残差(闭式/场景图双口径)
- 界面语义统一为工具朝外法向,入栈绕工具 x 翻 180° 换算求解器内部约定
|
2026-09-28 22:09:09 +08:00 |
|
cbb
|
c0c78251b5
|
feat: 新增IK实时求解与运动模拟功能,集成正逆运动学查看器,补充定位图截图
|
2026-09-28 12:08:41 +08:00 |
|