mirror of
https://github.com/deepmodeling/Uni-Lab-OS
synced 2026-05-23 05:50:00 +00:00
fix(layout_optimizer): update arm_slider reach value and improve scene poll version handling
This commit is contained in:
@@ -78,7 +78,7 @@ class MockReachabilityChecker:
|
||||
"elite_cs66": 0.914,
|
||||
"elite_cs612": 1.304,
|
||||
"elite_cs620": 1.800,
|
||||
"arm_slider": 1.07, # 线性导轨臂:body 2.14m × 0.35m,reach ≈ half length
|
||||
"arm_slider": 0.3, # 线性导轨臂:1.07 body 2.14m × 0.35m,reach ≈ half length
|
||||
}
|
||||
|
||||
# 未知型号回退臂展:realistic default for lab-scale arms
|
||||
|
||||
@@ -80,7 +80,7 @@ def _run_de(
|
||||
best_vector = init_pop[best_idx].copy()
|
||||
|
||||
# Early stopping 跟踪
|
||||
patience = 20
|
||||
patience = 200
|
||||
best_cost_history: list[float] = [best_cost]
|
||||
|
||||
for gen in range(1, maxiter + 1):
|
||||
@@ -102,6 +102,8 @@ def _run_de(
|
||||
# 默认 currenttobest1bin:mutant = target + F*(best - target) + F*(r1 - r2)
|
||||
mutant = (
|
||||
init_pop[i]
|
||||
# add a scaled minimum to encourage exploration
|
||||
+ f_val * 0.1 * (upper - lower) * rng.uniform(-1, 1, size=ndim)
|
||||
+ f_val * (best_vector - init_pop[i])
|
||||
+ f_val * (init_pop[r1] - init_pop[r2])
|
||||
)
|
||||
|
||||
@@ -1200,13 +1200,13 @@ loadDeviceCatalog().then(() => {
|
||||
});
|
||||
|
||||
/* ── Scene Poller (demo agent) ─────────────── */
|
||||
let _scenePollVersion = -1; // -1 = uninitialized, first poll sets baseline
|
||||
let _scenePollVersion = 0;
|
||||
setInterval(async () => {
|
||||
try {
|
||||
const res = await fetch('/scene/placements');
|
||||
if (!res.ok) return;
|
||||
const data = await res.json();
|
||||
if (_scenePollVersion === -1) { _scenePollVersion = data.version; return; } // baseline on first poll
|
||||
if (data.version < _scenePollVersion) _scenePollVersion = 0; // server restart
|
||||
if (data.version <= _scenePollVersion) return;
|
||||
_scenePollVersion = data.version;
|
||||
const labW = parseFloat(document.getElementById('lab-w').value) || 4;
|
||||
|
||||
Reference in New Issue
Block a user