Tune grip guard/frames per stability level, unify open speed 80%, rebuild aarch64 package

- Guard (release_min_hold_seconds): sensitive 0.4 s / stable 0.7 s / firm 1.0 s, label clarified
- Y-displacement samples 3-4-6, release_confirm_samples aligned 3-4-6 so the bar shows consistent frames
- release_open_speed 80% for all modes; level summary shows frames and open speed
- Rebuild ubuntu24.04 aarch64 lite 20261008 with stable-level-50 config; drop old release packages

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
cheng
2026-10-08 17:21:25 +08:00
parent 2a3fcf868f
commit eaf54420ad
13 changed files with 31 additions and 32 deletions
+18 -13
View File
@@ -5,9 +5,10 @@ from __future__ import annotations
import copy
# sensitive = 灵敏:跟手释放,自适应夹持力
# stable = 较稳定:接触即 70% 恒力夹持,2 s 保护期,Y 拟合偏移 0.6 N 张开
# firm = 十分稳定:接触即 100% 恒力夹持,2.5 s 保护期,Y 拟合偏移 0.8 N 张开
# sensitive = 灵敏:跟手释放,自适应夹持力,0.4 s 保护期
# stable = 较稳定:接触即 70% 恒力夹持,0.7 s 保护期,Y 拟合偏移 0.6 N 连续 4 帧张开
# firm = 十分稳定:接触即 100% 恒力夹持,1.0 s 保护期,Y 拟合偏移 0.8 N 连续 6 帧张开
# 三挡张开速度统一 80%。
# 稳定度 0..100:三挡分别位于 0 / 50 / 100,中间值按比例插值(见 grip_behavior_level_profile)。
GRIP_BEHAVIOR_MODES = ("sensitive", "stable", "firm")
@@ -130,20 +131,20 @@ _SENSITIVE_PROFILE = {
"release_guard_fast_paths": False,
"release_shear_axes": "",
"release_shear_displacement": 0.0,
"release_shear_displacement_samples": 6,
"release_shear_displacement_samples": 3,
"release_object_lost_open": False,
"release_open_speed": 55,
"release_open_speed": 80,
"release_open_accel": 70,
"release_open_decel": 70,
"release_arm_delay_seconds": 0.28,
"release_min_hold_seconds": 0.65,
"release_min_hold_seconds": 0.4,
"release_settle_seconds": 0.12,
"release_min_change": 0.08,
"release_touch_window_seconds": 0.14,
"release_side_touch_change": 0.12,
"release_confirm_window_seconds": 0.14,
"release_sample_timeout_seconds": 0.2,
"release_confirm_samples": 4,
"release_confirm_samples": 3,
"release_slow_confirm_samples": 8,
"release_normal_rate": 2.6,
"release_shear_rate": 2.4,
@@ -181,22 +182,24 @@ _STABLE_PROFILE = {
# Full clamp swings Y by several N and flips sign, so onset confirmation
# keeps cancelling; open on sustained fitted Y displacement instead.
"release_shear_displacement": 0.6,
"release_shear_displacement_samples": 6,
"release_shear_displacement_samples": 4,
# The close command keeps pushing: reaching close_pos means the object is gone.
"release_object_lost_open": True,
"release_open_speed": 55,
"release_open_speed": 80,
"release_open_accel": 70,
"release_open_decel": 70,
"release_arm_delay_seconds": 0.55,
# Protection: no release of any kind within 2s of contact.
"release_min_hold_seconds": 2.0,
# Protection: no release of any kind within 0.7 s of contact.
"release_min_hold_seconds": 0.7,
"release_settle_seconds": 0.22,
"release_min_change": 0.12,
"release_touch_window_seconds": 0.22,
"release_side_touch_change": 0.24,
"release_confirm_window_seconds": 0.28,
"release_sample_timeout_seconds": 0.3,
"release_confirm_samples": 8,
# Unused by the displacement release; kept equal to its frame count so the
# stability bar scales the sensitive confirm 3 -> 4 instead of toward 8.
"release_confirm_samples": 4,
"release_slow_confirm_samples": 12,
"release_normal_rate": 4.0,
"release_shear_rate": 3.6,
@@ -230,8 +233,10 @@ _STABLE_PROFILE = {
_FIRM_PROFILE = {
**_STABLE_PROFILE,
**_constant_force(100),
"release_min_hold_seconds": 2.5,
"release_min_hold_seconds": 1.0,
"release_shear_displacement": 0.8,
"release_shear_displacement_samples": 6,
"release_confirm_samples": 6,
}
GRIP_BEHAVIOR_PROFILES = {