全国大学生智能车竞赛
发展简介:全国大学生智能汽车竞赛起源于韩国,韩国汉阳大学汽车控制实验室在飞思卡尔半导体公司资助下举办的以HCS12单片机为核心的大学生课外科技竞赛,之后流入中国,2006年第一届全国大学生智能车竞赛于清华大学举办,并命名为“飞思卡尔杯智能车大赛”,2016年飞思卡尔半导体公司被恩智浦半导体公司收购,并更名为“恩智浦杯智能车大赛”。
比赛规则:组委会提供一个标准的汽车模型、直流电机和可充电式电池,参赛队伍要制作一个能够自主识别路径的智能车,在专门设计的跑道上自动识别道路行驶,最快跑完全程而没有冲出跑道并且技术报告评分较高为获胜者。其设计内容涵盖了控制、模式识别、传感技术、汽车电子、电气、计算机、机械、能源等多个学科的知识,对学生的知识融合和实践动手能力的培养,具有良好的推动作用。
比赛流程:
竞赛首先在各个分赛区进行报名与预赛,各分赛区的优胜队将
参加全国总决赛。各分赛区有华南赛区、东北赛区、华北赛区、浙江赛区、华东赛区、西南赛区等。
每年的大概11月份至12月份开始发布赛题和组织方式。
全国大学生智能车竞赛官网:https://smartcar.cdstm.cn/index

全国大学生智能车竞赛总舵主清华大学自动化系卓晴博士CSDN主页:https://blog.csdn.net/zhuoqingjoking97298?type=blog
比赛时间:
省赛于6月份在各赛区的举办学校举行
赛区赛于8月份在各赛区承办学校举行
国赛于赛区赛后在决赛承办学校举行
第十七届全国大学生智能车竞赛详细规则:
竞赛交流微信公众号:tsinghuazhuoqing

参赛组别:
每届比赛根据参赛队伍和队员情况,分别设立光电组、摄像头
组、电磁组、电轨组(仅 2016 年)、节能组(2018 年后为无线节能组)、室外越野组、创意组、双车接力组等多个赛题组别,每年的组别会有所更改。


16届杭州电子科技大学双车接力组视频参考:https://www.bilibili.com/video/BV1Mh411r79W?from=search&seid=17386005179994689113&spm_id_from=333.337.0.0
16届北京科技大学国一基础四轮组视频参考:https://www.bilibili.com/video/BV1C3411t7ng?from=search&seid=7898413610462135284&spm_id_from=333.337.0.0
16届哈尔滨工业大学紫丁香一队基础四轮组视频参考:https://www.bilibili.com/video/BV1tL4y1H7jn?from=search&seid=3281510094685465968&spm_id_from=333.337.0.0
16届单车拉力组视频参考:https://www.bilibili.com/video/BV1Zf4y1V7Cv?from=search&seid=15921049877668718806&spm_id_from=333.337.0.0
16届电磁越野组视频参考:https://www.bilibili.com/video/BV16f4y1n7X1?from=search&seid=14549999043498802551&spm_id_from=333.337.0.0
参赛队员:
至多三人一个组别,软件硬件自行分配,一般为一人硬件,两人软件,硬件队员负责智能车主板、驱动板的绘制、焊接与测试,软件队员负责智能车的控制系统、赛道元素的编写。
前期准备:
1、牢固的C语言基础
2、51单片机的原理与使用
3、STM32单片机的学习与使用
4、学会电路板的绘制、Altium Designer软件或者立创EDA的使用、两层板四层板的绘制,会查看芯片手册。
一些智能车常用的知识与算法:
电磁组:
电磁组的赛道铺有电磁线,并且电磁线通有交流电,通过变化的电场产生磁场,可以通过电感来感应赛道交变磁场。
认识电感
工字电感:
感应赛道交变磁场,产生感应电动势,后续电路通过对感应电动势进行一些列的选频、放大、检波,得到稳定信号并输入到单片机对赛道信息进行识别,对电机发出加减速、舵机直行拐弯的指令。

电感是电磁车的眼睛,赛道中漆包线流过的微弱的电流与电感产生电磁感应,产生的感应电流经过运放放大,最后传给单片机的AD采集口,即可获取赛道信息。
什么是滤波
滤波(Wave filtering)是将信号中特定波段频率滤除的操作,是抑制和防止干扰的一项重要措施。它可以从含有干扰的接收信号中提取有用信号,很大程度上保证了采集到的信号的真实性和稳定性。正因如此,滤波算法也成了在智能车控制中不可或缺的一种控制算法。
常见的软件滤波办法
限幅法
一般来说,每个电感在赛道上采集到的值都有一个固定的范围,由于电感排布方案的不同(水平电感、竖直电感或斜电感等)或不同赛道电磁信号的差别,这个范围也会随之变化。这时我们可以在程序的初始化中加入一个扫描赛道的程序,在初始化程序运行时令车左右扫描,将每个电感的最大值和最小值分别记录入两个一维数组中,让其作为每个电感采集信号值的上下限(这样也是为了提高赛车对于不同赛道的适应性)。在后续赛车行驶过程中,便可以过滤在这个范围之外的电感值,从而排除偶然误差,达到软件滤波的效果。
掐头去尾求平均法
将采集到的一串数据通过冒泡排序进行排列,然后去掉第一个数和最后一个数,再将剩下的数求平均值。
归一化
归一化就是将所有数据都变成0-1之间的数,将数据映射到0~1范围之内处理,使数据观察更便捷快速。在电磁车行驶过程中,由于需要通过分析各个电感采集值的情况来判定前方为何种路段,所以更要求这些采集值有迹可循,归一化便是一种很好的方法,先将所有采集到的值缩小到0-1范围内,再适当放大(常见的放大倍数为100),这样既能更容易的由电磁值分析出路况,又不会因为数据过小而失真。
归一化的公式如下:(x-Min)/(Max-Min)。
摄像头组:
通过摄像头对赛道信息的采集,提取出赛道两边的边线,再求出中线,让智能车按照中线的路径前行。
灰度图:
摄像头采集到的图像是灰色的,图像是由一个个像素点组成,每个像素点都具有一定的数值,且这个数值一定在0~255之间,而如果像素点的值为255,那么就是纯白色,如果像素点的值是0,那么就是纯黑色。
什么是二值化:
二值化是图像分割的一种最简单的方法。二值化可以把灰度图像转换成二值图像,把大于某个临界灰度值(阈值)的像素灰度设为灰度极大值(255),把小于这个值的像素灰度设为灰度极小值(0),从而实现二值化。
简单来说:设定一个阈值valve,对于图片矩阵中的每一行,从左至右比较各像素值和阈值的大小,若图像灰度值大于或等于阈值,则判定该像素对应的255;反之,小于阈值的灰度值则为0。就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。


(灰度图像) (二值化后)
提取边线:
提取边线的方法有许多种,四领域法、八邻域法、边缘追踪算法等,这里介绍一种最常见的普通寻边线的方法。
得到一张图像后,可以从最近的一行的中心开始往左与往右遍历像素数组,当寻找到左边一个点满足白黑黑,右边一个点也满足白黑黑,则此行的左右跳变点(白向黑跳变)就找到了,然后此行的中线的列坐标=(左边线的列坐标+右边线的列坐标)/2


核心算法:PID
PID,即比例Proportion、积分Integral和微分Derivative三个单词的缩写。可以通过调整这三个单元的增益Kp,Ki和Kd来调定其特性,PID控制器主要适用于基本上线性,且动态特性不随时间变化的系统。 利用偏差,纠正偏差。 闭环自动控制技术是基于反馈的概念以减少不确定性,在闭环自动控制原理中,我们把它叫做“PID控制器”,拿控制电机来说,参考下面模型:


比例环节:及时成比例地反映控制系统的偏差信号,偏差一旦产生,控制
器立即产生控制作用,以减少偏差。
积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决
于积分时间常数,越大,积分作用越弱,反之则越强。
微分环节:能反映偏差信号的变化趋势(变化速率),并能在该偏差信号变得
太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,
减小调节时间。

