1.0
This commit is contained in:
@@ -269,14 +269,14 @@ void AppTasks_RunVl53Task_Impl(void *argument)
|
||||
|
||||
/* =========================================================
|
||||
* 4. 走廊导航控制任务 (Nav Pipeline)
|
||||
* 周期:20ms (50Hz),与 CAN 发送同频
|
||||
* 周期:由 PARAM_NAV_TASK_PERIOD_MS 配置
|
||||
* 流水线:Obs → Filter → Ctrl → Script → FSM → CmdSlot_Push
|
||||
* ========================================================= */
|
||||
void AppTasks_RunNavTask_Impl(void *argument)
|
||||
{
|
||||
(void)argument;
|
||||
uint32_t wake_tick = osKernelGetTickCount();
|
||||
const uint32_t period_ticks = AppTasks_MsToTicks(20U);
|
||||
const uint32_t period_ticks = AppTasks_MsToTicks(PARAM_NAV_TASK_PERIOD_MS);
|
||||
uint32_t last_ms = HAL_GetTick();
|
||||
|
||||
/* 等传感器全部就绪再启动 (避免刚上电全是脏数据)。
|
||||
@@ -293,7 +293,7 @@ void AppTasks_RunNavTask_Impl(void *argument)
|
||||
uint32_t now_ms = HAL_GetTick();
|
||||
float dt_s = (float)(now_ms - last_ms) / 1000.0f;
|
||||
if (dt_s <= 0.0f || dt_s > 0.5f) {
|
||||
dt_s = 0.02f; /* 容错:防止首拍或溢出 */
|
||||
dt_s = (float)PARAM_NAV_TASK_PERIOD_MS / 1000.0f; /* 容错:防止首拍或溢出 */
|
||||
}
|
||||
last_ms = now_ms;
|
||||
|
||||
@@ -440,6 +440,11 @@ void AppTasks_Init(void)
|
||||
.w_max = PARAM_CTRL_W_MAX, /* 角速度限幅 */
|
||||
.v_max = PARAM_CTRL_V_MAX, /* 线速度限幅 */
|
||||
.speed_reduction_k = PARAM_CTRL_SPEED_REDUCTION, /* 调优:弯道减速系数 */
|
||||
.speed_reduction_deadband = PARAM_CTRL_SPEED_RED_DB,
|
||||
.w_slew_rate = PARAM_CTRL_W_SLEW_RATE,
|
||||
.startup_dist = PARAM_CTRL_STARTUP_DIST,
|
||||
.startup_kp_y_scale = PARAM_CTRL_STARTUP_KPY_SCALE,
|
||||
.startup_w_scale = PARAM_CTRL_STARTUP_W_SCALE,
|
||||
.exit_front_dist = PARAM_CTRL_EXIT_FRONT_DIST, /* 调优:出沟检测距离 */
|
||||
.wall_escape_dist = PARAM_CTRL_WALL_ESCAPE_DIST,
|
||||
.wall_escape_kp = PARAM_CTRL_WALL_ESCAPE_KP,
|
||||
|
||||
Reference in New Issue
Block a user