This commit is contained in:
2026-04-12 11:57:14 +08:00
parent cedcd4738e
commit 9ffb750072
10 changed files with 521 additions and 107 deletions

View File

@@ -31,6 +31,7 @@ typedef enum {
GNAV_ENTRY_STRAIGHT, /* 入场直线 */
GNAV_TURN_INTO_CORRIDOR, /* 转向进入垄沟 (原地转 90°) */
GNAV_REACQUIRE, /* 重捕获走廊 */
GNAV_ALIGN, /* 捕获成功后停车对齐航线 */
GNAV_CORRIDOR_TRACK, /* 沟内闭环跟踪 */
GNAV_TURN_OUT_OF_CORRIDOR, /* 到端后出沟转向 (原地转 90°) */
GNAV_LINK_STRAIGHT, /* 连接段直行 */
@@ -61,17 +62,31 @@ typedef struct {
float reacquire_v; /* 重捕获速度 m/s */
float reacquire_conf_thresh; /* 重捕获置信度阈值 */
float reacquire_width_tol; /* 走廊宽度容差 m */
float reacquire_min_odom; /* 重捕获最小入沟里程 m */
uint8_t reacquire_confirm_ticks; /* 连续确认拍数 */
uint32_t reacquire_timeout_ms;
/* 对齐 */
float align_kp_th; /* 对齐航向P增益 (rad/s per rad) */
float align_kp_y; /* 对齐横向P增益 (rad/s per m) */
float align_th_tol_rad; /* 对齐航向容差 (rad) */
float align_y_tol_m; /* 对齐横向容差 (m) */
uint8_t align_confirm_ticks; /* 对齐确认拍数 */
uint32_t align_timeout_ms; /* 对齐超时 ms */
float reacquire_min_back_dist; /* 重捕获最小后激光距离 (m),用于判断是否真正进沟 */
/* 沟内 */
float corridor_end_detect_dist; /* 到端检测距离 m */
float corridor_length_max; /* 沟内里程保护上限 m */
/* 连接段 */
float link_v; /* 连接段速度 m/s */
float link_distance; /* 连接段标称距离 m */
float link_v;
float link_distance;
uint32_t link_timeout_ms;
float link_gap_runout; /* 检测到沟口后继续前冲距离 (m) */
float link_wall_target; /* 墙壁跟随目标距离 (m) */
float link_wall_kp; /* 墙壁跟随P增益 */
float link_wall_blend; /* 墙壁跟随权重 (0~1) */
/* 出场 */
float exit_v; /* 出场速度 m/s */