智能车竞赛技术报告 | 基础四轮组 - 电磁与视觉融合的循迹策略
1. 电磁与视觉融合的循迹策略设计思路
在智能车竞赛基础四轮组中,赛道环境往往复杂多变。光照不均、反光干扰等问题会严重影响单一传感器的可靠性。我们团队经过多次实测发现,单纯依赖摄像头在强光环境下会出现20%-30%的图像失真率,而仅用电磁传感器在弯道处存在10-15cm的盲区。这种局限性促使我们采用传感器融合方案,通过电磁与视觉数据的互补提升系统鲁棒性。
电磁传感器的优势在于不受光照影响,能稳定输出10-100kHz范围内的赛道电磁信号。我们使用6.8nF电容与10mH电感组成LC谐振电路,实测在20kHz导引信号下可获得±2cm的定位精度。但电磁数据缺乏图像的空间连续性,难以识别特殊元素。而OV7725摄像头虽然能提供320×160分辨率的赛道俯视图,但在阳光直射时二值化错误率会骤增至40%以上。
我们的融合策略核心是分层决策机制:
- 底层采用加权投票算法,对电磁横/斜电感数据(ADC采样值)和摄像头边界坐标进行实时可信度评估
- 中层通过卡尔曼滤波融合多源数据,建立包含位置、角度、曲率的赛道状态向量
- 上层根据融合结果动态调整控制参数,如前瞻距离从30cm(纯视觉)扩展到50cm(融合模式)
实测数据显示,该方案将直道循迹误差控制在±1.5cm内,弯道误差不超过±3cm,相比单一传感器性能提升60%以上。
2. 硬件系统设计与传感器布局
2.1 传感器选型与安装
电磁板采用四电感布局:两个水平电感(间距15cm)负责中线定位,两个45°斜置电感(间距20cm)用于圆环检测。这种排布在实测中表现出良好的方向敏感性:
- 水平电感差值>200时触发弯道补偿
- 斜电感峰值差>150且时延<0.3s判定为圆环入口
摄像头安装严格遵循竞赛规则,镜片中心距地9.3cm。为减少广角畸变,我们设计了可调俯角的3D打印支架:
- 俯角范围:25°-35°(通过螺纹微调)
- 抗反光措施:加装偏振片(实测降低60%反光干扰)
- 固定方式:碳纤维杆+热熔胶双重加固
2.2 电路设计要点
主控使用TC264双核单片机,关键电路设计包括:
电源模块:
- TPS565201提供5V/3A输出(效率92%)
- 双路AMS1117-3.3实现数字/模拟电源隔离(纹波<50mV)
信号调理电路:
// 电磁信号放大电路参数 #define GAIN_STAGE1 33 // LM324第一级放大倍数 #define GAIN_STAGE2 10 // 第二级放大倍数 #define RC_FILTER 100 // 低通滤波截止频率(Hz)电机驱动:
- BTN7971组成H桥(最大持续电流7A)
- 死区时间设置为1.2μs(实测开关损耗降低15%)
3. 核心算法实现与优化
3.1 最长白列算法改进
传统逐行扫描法在复杂赛道中会出现30%以上的误识别。我们改进的最长白列算法包含三个关键步骤:
纵向预扫描:
def vertical_scan(image): white_columns = [] for col in range(0, 320, 8): # 8像素间隔采样 upper, lower = find_boundary(col) height = upper - lower white_columns.append((col, height)) return max(white_columns, key=lambda x:x[1]) # 返回最高白列动态ROI设置:
- 以最长白列为基准,左右各扩展1/4图像宽度
- 行扫描间隔随车速动态调整(20-50ms)
断点补偿机制:
- 当相邻行边界突变>15像素时
- 采用二阶差分检测(阈值m=5)
- 补偿斜率限制在±0.5范围内
实测表明该算法将图像处理耗时从12ms降至7ms,同时将十字路口识别准确率提升至92%。
3.2 PID控制参数整定
速度控制采用双环PID结构:
- 内环(电流环):频率1kHz,KP=0.8, KI=0.05
- 外环(速度环):频率100Hz,KP=1.2, KI=0.1, KD=0.3
舵机控制引入动态PD调节:
void set_pid_params(float curvature) { if(fabs(curvature) > 0.3) { // 弯道模式 P = 0.6 * curvature; D = 0.4 * curvature; } else { // 直道模式 P = 0.3; D = 0.2; } }通过蓝牙上位机实时调参,我们最终获得的性能指标:
- 速度阶跃响应超调量<5%
- 稳态误差<0.5cm
- 弯道过渡时间<0.2s
4. 特殊赛道元素处理策略
4.1 圆环识别方案
圆环处理分为四个阶段:
入环检测:
- 斜电感差值持续>150超过300ms
- 摄像头检测到单侧边界消失
环内循迹:
- 固定打角量(占空比45%)
- 速度降至最高速的60%
出环预判:
- 电磁信号出现反向峰值
- 图像出现连续3行贯通白列
退出补偿:
- 维持入环角度1.5s
- 渐进式恢复正常PID参数
4.2 坡道应对措施
针对坡道带来的速度波动,我们实施:
机械调整:
- 前轮外倾角设为2°
- 差速器预紧力增加20%
控制策略:
- 上坡前提前加速(预判距离30cm)
- 坡度检测通过陀螺仪Z轴变化率(阈值>15°/s)
- 功率补偿算法:
void power_compensate(float pitch) { target_pwm += 0.15 * sin(pitch); // 坡度补偿系数 }
这套方案使车模在15°坡道上的速度波动控制在±0.2m/s内。
5. 系统调试与性能优化
5.1 上位机开发
基于PyQt5定制开发的上位机具备以下功能:
- 实时显示赛道图像与边界识别结果
- 电磁信号波形分析(支持FFT变换)
- PID参数曲线拟合工具
- 数据回放与对比分析
通信协议采用自定义二进制格式,帧头0xAA+0x55,115200波特率下传输延迟<5ms。
5.2 实测性能指标
最终调校后的车模参数:
| 项目 | 参数值 | 测试条件 |
|---|---|---|
| 最高速度 | 3.2m/s | 直道加速 |
| 最小转弯半径 | 35cm | 90°标准弯 |
| 圆环通过率 | 98% | 直径60cm圆环 |
| 平均功耗 | 8.5W | 全程运行 |
机械调整方面,通过将电池重心降低2cm,弯道侧倾角减少40%。轮胎表面用砂纸处理(800目)后,实测摩擦系数从0.6提升至0.8。
