这是一个基于Infineon TC26B微控制器的智能车前车控制系统,主要用于智能车竞赛中的图像处理、路径规划和运动控制。该系统集成了摄像头图像处理、路径跟踪、特殊元素识别(环岛、十字、斑马线等)和精确的运动控制功能。
- 主控制器: Infineon TC26B (TriCore架构)
- 图像传感器: MT9V03X摄像头
- 存储器: W25N04 NAND Flash (512MB)
- 通信: UART、SPI接口
- 调试工具: 逐飞科技串口调试助手
- All_Init.c/.h: 系统总初始化模块,负责所有硬件设备和软件模块的初始化配置
- PID.c/.h: PID控制器实现,包含位置式PID、增量式PID、差速控制等多种PID算法
- ladrc.c/.h: 线性自抗扰控制器(LADRC)实现,提供更加鲁棒的控制性能
- Filter.c/.h: 数字滤波器实现,用于传感器数据滤波处理
- image_processing.c/.h: 核心图像处理模块
- 逆透视变换和透视变换
- 大津阈值处理和自适应阈值
- 边界线检测和跟踪
- 种子点搜索
- 贝塞尔曲线拟合
- 图像滤波和增强
- perspective.c/.h: 透视变换专用模块,实现图像坐标系到鸟瞰图的转换
- exposure_adjust.c/.h: 摄像头曝光时间自动调节,适应不同光照环境
- PTS_Deal.c/.h: 点集处理核心模块
- 边界数据结构管理(
BoundaryData,FBoundaryData) - 中线数据处理(
MidlineData) - 左右边界点的提取和处理
- 边界数据结构管理(
- point_judge.c/.h: 关键点判断,用于识别道路特征点和拐点
- Ring.c/.h: 环岛识别与处理
- 支持左环岛和右环岛检测
- 多阶段状态机处理环岛进入、通过、退出
- 基于角度累计的环岛判断
- cross.c/.h: 十字路口识别与处理
- 十字路口状态机控制
- 十字路口入口和出口检测
- Zebra.c/.h: 斑马线检测,基于图像边缘变化次数判断
- element_manager.c/.h: 元素管理器,统一管理各种道路元素的识别和处理优先级
- speed_decision.c/.h: 智能速度决策,根据道路情况和元素类型动态调整车速
- menu.c/.h: 菜单系统实现
- 多级菜单结构
- 按键导航和功能执行
- 参数调试界面
- menu_list.c: 菜单项列表定义和菜单结构配置
- key.c/.h: 按键输入处理,支持多按键组合和长短按识别
- parameter_flash.c/.h: 参数Flash存储系统
- 64个可配置参数的管理
- 参数的保存、加载和重置
- 实时参数调试功能
- parameter_scheme.c/.h: 参数方案管理
- 多套参数方案存储
- 方案快速切换
- W25N04外部Flash备份
- w25n04.c/.h: W25N04 NAND Flash驱动
- 512MB大容量存储
- DMA高速数据传输
- 坏块管理和纠错
- image_storage.c/.h: 图像存储模块,实现图像数据的Flash存储和回放
- pico_gy.c/.h: 逐飞科技上位机通信协议
- 图像数据实时传输
- 调试数据可视化
- 参数实时监控
- pico_link_ii.c/.h: 逐飞Link II通信协议底层实现
- Show_data.c/.h: 数据显示模块,用于调试信息的格式化输出
- clip.c/.h: 数值裁剪和限幅函数
- infrared_nec.c/.h: 红外遥控器NEC协议解码
- PIT_Demo.c/.h: 定时器中断演示和配置
- infineon_libraries/: Infineon官方iLLD底层驱动库
- zf_common/: 逐飞科技通用库
- zf_components/: 逐飞科技组件库
- zf_device/: 设备驱动封装
- zf_driver/: 硬件驱动抽象层
- cpu0_main.c: CPU0主程序入口
- cpu1_main.c: CPU1主程序入口
- isr.c/.h: 中断服务程序
- 实时图像预处理和增强
- 自适应阈值二值化
- 逆透视变换生成鸟瞰图
- 高精度边界线检测和跟踪
- 曲线拟合和轨迹预测
- 环岛自动识别和处理(左/右环岛)
- 十字路口检测和通过策略
- 斑马线识别和停车控制
- 多元素优先级管理
- PID位置控制和速度控制
- LADRC自抗扰控制
- 差速转向控制
- 智能速度规划
- 参数在线调试
- 图像实时传输和显示
- 多方案参数管理
- Flash数据存储
- IDE: AURIX Development Studio 或 Eclipse
- 编译器: TASKING C/C++ Compiler for TriCore
- 调试器: Infineon DAS (Debugger Access Server)
- 上位机: 逐飞科技串口助手
- 使用标准C语言(C99)
- 文件命名采用下划线分隔
- 函数命名采用Pascal命名法
- 所有头文件使用包含保护
- 详细的函数注释和文档
- 打开项目工程文件(
.project) - 配置编译环境和工具链
- 选择目标配置(Debug/Release)
- 编译生成
.elf可执行文件 - 通过调试器下载到目标板
如有技术问题,请参考:
- 逐飞科技官方技术文档
- Infineon TC26x系列用户手册
- 项目内的注释和文档
- 当前版本: V2.9.0
- 更新日期: 2024年
- 兼容性: TC26B系列微控制器
该项目是智能车竞赛的完整解决方案,集成了从底层驱动到上层算法的全套代码,具有良好的模块化设计和可扩展性。