目录
前言
本系列文章是为了帮助第一次接触智能车或者学校没有传承,不知道如何上手做智能车的同学。
通过阅读完整个系列,你应该能够制作一辆正常参赛的智能车。
我写这一系列博客的初衷主要是为了方便新手快速入门智能车。
如果追求高级算法以及提速,你可以去和别的学校进行交流或者学习其他优秀大佬的开源方案。
同时欢迎各位大佬提出建议。
现在这一篇文章是讲一下准备参加智能车竞赛要了解的东西,包括经验和比赛介绍,不包含技术性知识,在本系列后面的文章中会引导学习技术性的知识。如果有问题和疑问,欢迎在评论区留言。
经验分享
入门过程
入门过程大体上是,学C语言,安装软件,购买零件,跟着视频尝试调用模块,然后搭建代码让车动起来,最后让车跑起来。
具体要了解的知识有:
C语言、单片机、使用电机和舵机等器件、PWM、ADC、中断、UART等。
掌握了以上知识就能勉强制作出一个能动的车。
接着,可以通过增加模块、按键调参、匿名上位机传参、数据存储、使用其他软件分析数据、优化算法等方式,丰富功能来提高车模能力或者提高调车效率。
这系列文章以软件为主,可能会稍微参杂一点硬件教程。
本人时间不是很充裕
一些文章可能只是简单点拨一下,写不了长文,深层的知识需要跟着引导查阅相关博客
其实好多东西看不懂根本不用怕,会使用就好了,等到学会了,回头那些知识说不定就都会了。
这是我的经验,这让做能让你们少走一些我走过的弯路,我的这一系列教程也是按照这个思路写的。
智能车竞速组有很多组别,如果你还没有想好要参加哪个组别,下面我简单介绍一下各个组别。
个人觉得最基础的是电磁组和摄像头组。
其他竞速组别是在这两个组别的基础上进行创新和拓展。
关于竞速组别
智能车竞速组有很多组别,其中电磁组和摄像头组是最基础的。其他竞速组别是在这两个组别的基础上进行创新和拓展。电磁组上手最快,大部分人只要能坚持做下去都能完赛,但也意味着竞争比较激烈。摄像头组的难点在于元素识别和速度。
推荐资源
我使用的是逐飞的库,
他们已经把一些器件模块封装好,直接调用,能够节约时间和学习成本
然后想锻炼自己的能力或者自己添加一些器件,就可以在官方的固件库基础上写。
我觉得这个过程比较合理,
当你按照教程做好一辆车的时候,对软件编程就有了一定的了解,再看别人的底层库/自己写底层库时,就知道从哪下手
江科大自动协的个人空间
这个up讲的51和32系列的课程,我觉得挺好的
正点原子,野火 的教程,我个人觉得,暂时没必要去看,他们那什么都讲,有的知识,简单做个车其实用不到,看了有点费时间。如果你时间比较充裕并且想系统地学习单片机,可以看看他们的视频。
下面是来自东北林业大学参加第十六届智能车竞赛的同学卢佰奇创建的专门收集历年智能车竞赛开源项目代码的网页仓库。
仓库的GitHub链接: https://github.com/ittuann/Awesome-IntelligentCarRace
项目的网页地址: https://ittuann.github.io/Awesome-IntelligentCarRace
网页的镜像地址:https://awesome-intelligentcarrace.netlify.app
逐飞科技和龙邱科技是两家算是专注于为参加智能车的同学服务的企业。
龙邱是是官方指定赛事系统供应商。通俗来讲,龙邱是造车模的,部分组别的车模是使用龙邱设计的车模。
逐飞是竞赛赞助商合作伙伴。通俗来讲,逐飞科技是提供技术服务的,逐飞科技是乐山师范学院当年做智能车的大佬毕业了组建的团队,致力于智能车爱好者平等交流然后发展壮大的。
在tb搜索 逐飞科技和龙邱科技可以买智能车套件、配件。
在wx公众号搜索 逐飞科技和龙邱科技,他们也会发一些关于比赛的文章, 在比赛规则出来以后,他们一般会出一些文章,介绍各个组别的准备流程和思路介绍。
每年差不多放寒假前,龙邱和逐飞会建立各组别交流群,一般逐飞的群大一点,交流的人也很多。 可以去公众号上找,或者向tb客服要。
智能车官方也会出入门讲解直播,一般是该组别的MCU赞助商和逐飞科技联合直播。
一定要多多关注卓晴TSINGHUAJOKING的账号,多多留意推文和评论区。
比赛介绍与分析
全国大学生智能车竞赛是从2006开始,由 教育部高等教育司委托高等学校自动化类教学指导委员会 (教高司函[2005]201号文)举办的旨在加强学生实践、创新能力和培养团队精神的一项创意性科技竞赛。
比赛形式包括有竞速类比赛、综合类比赛以及现场挑战类比赛三大类。
竞速类比赛中包含不同的组别,指标相对单一,难度适合高校不同年级学生参赛;
综合类比赛则是基于综合智能车硬件车模平台上,重点培养和考察对复杂无人系统软件算法设计;
现场挑战类比赛则是在竞赛现场临时组织发起的具有探索和挑战类的比赛。
竞速类比赛是我们常说的智能车竞赛,比如电磁组、摄像头组、越野组等。竞速组只有本科和专科可以参加。
综合类比赛是创意组别,比如百度、讯飞、航天、大疆等创意组。创意组,博士、研究生、本科、专科都可以参加,但是一般来说,创意组比竞速组,学习成本更高,器件成本也高,参与度没有竞速组高。
竞速类比赛规则一般每年的11月份公布,
创意组比赛规则是单独给出的,
但是比赛规则会不断修正,大家要多留意,避免比赛时犯规,导致一年努力白白浪费。
官方账号
- 公众号: TSINGHUAJOKING
- CSDN: 卓晴
- bilibili: TSINGHUAJOKING
- 官方网站: 全国大学生智能汽车竞赛
如果有问题,在微信、哔哩哔哩等平台留言,老师一般会解答。
比赛流程
比赛分省赛和国赛,
省赛有东北、华北、华东、华南、西部、安徽、山东、浙江,一共8个赛区。一般在7月份进行。
- 一等奖:分赛区参赛队伍前20%队伍。
- 二等奖:分赛区参赛队伍35%。
- 三等奖:正常完成比赛但未获得一、二等奖的队伍。
- 优秀奖:未正常完成比赛,但通过补赛完成比赛的队伍。
国赛一般在8月份进行,每个组别按照 50 支队伍遴选进入国赛的队伍数量,
每个赛区的比赛时间和赛道不同,所以不是按照省赛的成绩前50支队伍进入国赛,而是各赛区按照加权得出国赛名额,比如摄像头组,东北赛区参赛队伍40支,全国一共400支队伍,那么分到东北赛区摄像头组就5个名额。
参赛选手组成参赛队伍,使用竞赛秘书处统一指定的竞赛车模套件、微控制器平台,自主构思车模控制方案进行系统设计,包括传感器信号采集处理、电机驱动、转向舵机控制以及决策算法软件开发等,完成智能车参赛作品工程制作及调试。
- 首先根据比赛规则选用指定车模,车模可以在TB 龙邱科技、逐飞科技等渠道购买套件
如果是自制车模,
二轮直立/三轮车模速度上限高一点,D车模加一个小轮子改装为三轮,D车模本身性能足够强,轮距宽转向稳定, 并且做工也和质量也有保障,基本上新车上2.5m/s都很轻松,想上3m/s则需要对轮胎进行一些处理。自制车模最重要的就是降低车模的重量并且电机的动力要够强劲。
四轮车模(B车、C车)上手简单一点,对于入门,推荐直接使用C车模,C车模历经多年考验,性能和质量有目共睹,基本上新车上2.7m/s都不算难,想上3m/s则需要对轮胎进行一些处理。往届使用C车模使用摄像头寻迹跑到3.5m/s都不少,因此可以看出C车模性能完全够用了。
对于一个车模,机械结构也是影响车辆性能的重要因素。
- 微控制器平台需要使用规则指定的
例如:Infineon微控制器
TC264 , TC212
TC377 , TC364
CYT4BB5,CYT4BB7
此外还允许使用Infineon出品的Aurix️™系列TC2XX和TC3XX其它型号的单片机
越贵性能一般越好,但是有时候没必要用最贵的,根据任务量进行合理的选择。
微控制器是核心,需要一定的C语言基础和单片机基础。后面推荐学习C语言的单片机的一些途径。
- 传感器信号采集处理 这里就需要各种传感器
比如摄像头、GPS、电磁线圈、光电管完成赛题任务所必须的传感器
和运放、陀螺仪、TOF、霍尔、编码器等辅助车模运行的传感器
后续会教大家如何使用。
- 电机驱动、转向舵机控制
电机驱动、转向舵机是车模运行所必须的,后面会有驱动电机和舵机的教程。
这里注意一下,指定车模的电机和舵机不能换其他型号!
比赛时,指定车模的组别的车的舵机和电机需要有全国大学生智能汽车竞赛的标志,如图:
假设电磁组,规则指定使用C车,那么比赛时车模上就用C车的电机和舵机,而且要有官方指定标签。
假设摄像头组,规则是自制车模,你可以用自制的车模,也可以用C车。如果用C车模,电机和舵机是可以换成别的型号,而且不需要带标签。
决策算法软件开发是区别各个队伍最主要的因素
系列文章目录
文章分为三个层次
速通版
是希望通过简化的步骤搭建出寻迹小车,进而了解整个智能车是如何实现的,快速上手,为后续参与智能车竞赛做基础。
如果只是为了完成学校智能车初期培训,做出能简单循迹的小车,可以看这个速通版。
全程引导篇
是讲了做出能够完赛的智能车的整个过程,大部分文章只是简单点拨一下,但是附上了相关的文章链接,方便根据自己的情况深入了解。
全程引导篇,能够带你比较系统地了解整个智能车的制作过程,推荐备赛初期或者有车模之后学习。
详细讲解篇
是全程引导篇的补充,由于全程引导篇是引导性质,文章内容只是点拨,缺乏相应的原理或代码讲解,因此写详细讲解篇作为补充。
详细讲解篇会渗透在全程引导篇中。
速通版
智能小车速通版——手把手教程
全程引导篇
智能小车速通版——教程引导(原版)
智能小车速通版——教程引导
智能车入门——IDE安装以及库函数选用
智能车入门——编程语言(c)的学习
智能车入门——简单驱动常用模块
智能车入门——车模器件篇
智能车入门——模块化编程
智能车入门——跑车前的零碎知识
智能车入门——电磁循迹原理与实现
智能车入门——实现低速完赛
详细讲解篇
智能车入门补充篇
智能车入门补充篇——逐飞开源库介绍
智能车入门补充篇——常见宏定义和使用
智能车入门补充篇——模块化编程
智能车入门补充篇——电感值处理、转向控制与巡线
智能车入门补充篇——元素识别
智能车模块详解——按键及按键调参
智能车模块详解——数据存储与读写(eeprom/flash)
智能车入门——I/O、PWM
智能车入门——中断
智能车入门——编码器
智能车入门——陀螺仪
智能车入门——摄像头和CCD
智能车入门——舵机
总结
省赛的时候,有一些学校并不能完赛,隔壁一学校是指导老师亲自来调车,他们不知道有逐飞科技的库,是基于STC官方的固件库去写的程序,“重复造轮子”的同时效果也不好,车上没有屏幕,一些像入库等基础功能都实现不了,电机驱动是洞洞板做的…
我想到了我起初的时候,学做摄像头组别,寒假在家,没有学长带着,就一点点在CSDN上搜教程,知识都是零散的,没有总体教如何上手智能车的,回到学校实验室,才知道有很多我不知道的常识。
因此,虽然我只拿到了国二,但是还是想出一系列教程,让更多人知道搭建一辆智能车的流程,少走弯路。
码字不易,希望多多点赞支持!