2.5 KiB
2.5 KiB
比赛参数固化
截至 2026-07-04,16速,45秒两圈
设备实际配置文件 (/home/root/smartcar2/)
speed=16 # 目标速度 (% 占空比)
deadband=8 # 舵机死区 (显示空间像素)
steer_gain=1.5 # 舵机增益
foresee=40 # 舵机前瞻行 (显示空间像素)
foresee_lost_scale=0.6# 丢线时前瞻缩放
sharp_turn_scale=0.5 # 急弯前瞻缩放
zebrasee=18 # 斑马线近界阈值 (模型空间 cy)
curve_slope=0.2 # 弯道减速斜率
curve_min=0.8 # 弯道最低速度倍率
cone_avoid_gain=0.3 # 锥桶推离力度
cone_avoid_range=30 # 锥桶斜坡陡峭度
cone_speed=0.5 # 锥桶速度倍率 (当前未生效)
cone_min_frames=3 # 锥桶确认帧数
cone_margin=0 # 0=中心点, 1=框边缘
cone_thresh=0.80 # 锥桶置信度阈值
cone_hold_frames=30 # 锥桶消失后保持帧数
brake_scale=10 # 刹车速度→占空比系数
brake_max=10000 # 最大刹车占空比 (ns)
lidar_enable=1 # 激光避障 (代码中已禁用)
start=1 # 电机使能运行中
debug=1 # 热调参模式 (每30帧重载配置)
showImg=0 # LCD 预览关闭
代码硬编码行为
斑马线状态机
- 进入 Z_STOP: 播报语音 + LCD 显示
pedestrian_stop.png - 停车: 3 秒编码器刹车
- 冷却 Z_COOLDOWN: 5 秒内不检测斑马线
斑马线冷却期控制 (Z_COOLDOWN)
| 时间 | 控制 |
|---|---|
| 0~0.7s | boost 1.5x 起步 |
| 2~5s | foresee 缩短为 24 |
| 3.3~5s | 降速上限 13 + 方向锁定一次性打满 |
斑马线冷却期 bang-bang 转向
- 3.3~5 秒内部署
- 偏差超出死区后锁定方向一次性打满
- 方向翻转或回到死区即退出,机会用完
- 退出后走正常线性转向
模型
- Mild v13 (文件名为
mild_v12.bin) - 输入 160×120 BGR,输出 4 类:锥桶/红灯/绿灯/斑马线
- 阈值:
{0.80, 0.70, 0.80, 0.85} - 推理频率:每 2 帧一次
硬件
- LCD: 160×128 RGB565
- 摄像头: 640×480 MJPEG → 1/4 解码 160×120
- 舵机: pwmchip1/pwm0, 3ms 周期, 1.2~1.8ms 量程
- 电机: pwmchip8/pwm1+2, 20kHz, 开环占空比
- 编码器: GPIO67 脉冲, GPIO72 方向, 100ms 窗口测速
- 语音: I2C-2 地址 0x34
编译
cd smartcar2 && mkdir -p build && cd build
cmake .. && make -j$(nproc)
- 工具链:
/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.6 - OpenCV: 4.13.0 (交叉编译, 仅 core/imgproc/imgcodecs/videoio)