This commit is contained in:
2026-04-03 13:46:45 +08:00
parent 1bd0a73a73
commit 7afa32f7dc
4 changed files with 180 additions and 32 deletions

View File

@@ -2,6 +2,17 @@
* @file track_map.h
* @brief 赛道地图 — 固化 S 型遍历拓扑
*
* 赛道几何 (参见 Doc/map.md):
* - 场地 300cm(X) × 390cm(Y)5 条横向垄背把场地切成 6 条横向垄沟
* - 垄沟沿 X 轴方向,长 220cm宽 40cm
* - 左右两端各有一条纵向端部通道 (宽 40cm长 390cm)
* - 启动区在左下角,入口对齐左端通道
* - 垄沟1(最靠近入口) 到 垄沟6(最远离入口) 自下而上排列
*
* S 型遍历:
* 入场→左端通道→右转入C1(→)→右端到端→左转→北行→左转入C2(←)
* →左端到端→右转→北行→右转入C3(→)→...→C6(←)→左端→左转→南行出场
*
* 地图不做全局坐标定位,只回答三个问题:
* 1. 从第 N 条沟完成后,下一条是第几条?
* 2. 这次该往哪转?(左/右)
@@ -31,8 +42,8 @@ extern "C" {
/** 沟内行驶方向 */
typedef enum {
TRAVEL_DIR_POSITIVE = 0, /* 从左端到右端 (→) */
TRAVEL_DIR_NEGATIVE = 1 /* 从右端到左端 (←) */
TRAVEL_DIR_EAST = 0, /* 从左端到右端 (→, +X) 奇数沟 */
TRAVEL_DIR_WEST = 1 /* 从右端到左端 (←, -X) 偶数沟 */
} TravelDirection_t;
/** 转向方向 */