为了探索智能车竞赛的比赛形式和内容, 培养同学们现场解决工程问题,团队协作能力,第十八届全国大学生智能汽车竞赛总决赛在举办期间将举行现场挑战赛。所有前来参加全国总决赛竞速赛的队伍可以报名参加。现场挑战赛的基本规则是要求参与挑战的队伍在限定时间内,用指定的硬件,利用MicroPython
进行快速开发,完成室外折线路径电磁小车循迹竞速赛。
MicroPython
是一个小型的开源Python
编程语言解释器,运行在微控制器上。使用MicroPython
,可以编写干净、简单的Python
代码来控制硬件,而不必使用复杂的底层语言,如C
或C++
用于编程。
Python
编程语言的简单性使MicroPython
成为编程和硬件新手的理想选择。MicroPython
功能非常齐全,支持大多数Python
语法,所以即使是经验丰富的Python
老手也会发现使用MicroPython
很熟悉和有趣。
引入更加简洁方便的Pyhon作为编程手段,一方面可以减轻同学们编程的负担,让同学们能够有更多的精力进行创新,另一方面也希望能够吸引更多学生(包括专科学校、非电类的同学)参加这一竞赛活动,锻炼当代大学生的专业交叉运用能力。
从技术上讲,现场挑战赛要求小车实现自动电磁循迹,需要使用MCU高速实时地进行环境判断和电机控制,在实施各种逻辑计算的基础上,必须满足高实时控制的要求。要使用Python等解释型编程语言,就要求MCU要有更高的运算速度,以满足对Python脚本的实时解析、字节码的执行、对象实体的处理等操作。
本次挑战赛现场所使用的 MicroPython 平台是 基于恩智浦RT1021微控制器制作的MicroPython开发套件。i.MX RT系列MCU在计算性能上与传统的MCU相比有了质的飞跃,外设的配置上也更加丰富,并且成倍增加了内存的容量,如果再考虑外部SDRAM扩展、SD存储卡的扩展等,完全可以胜任运行Micropython的各项要求。
电磁寻迹小车一般会用到GPIO、ADC、PWM、Encoder、Ticker等主要功能,本次提供适配i.MX RT1021的MicroPython固件均已支持上述功能,满足基于MicroPython制作电磁循迹小车的基本需求。
1、RT1021核心板1块(已烧录MicroPython固件)
2、RT1021扩展板1块
3、4路运放模块1个
4、电磁传感器模块1个
5、双路直流电机驱动模块1个
6、霍尔传感器模块1个
7、无线串口模块1对(1个USB端、一个排针端)
8、50厘米6P电磁传感器连接线1根
9、30厘米3P霍尔传感器连接线1根
10、Type-C数据线1根
11、扩展板固定铜柱1包
12、磁标1个
▲ 图2.1 现场免费发放挑战赛硬件套件
1、车模(可以是任何组别的参赛车模,也可以选择、自制其它车模)
2、4路运放模块(可自行选用自备的或发放的)
3、电磁传感器(可自行选用自备的或发放的)
4、测速编码器(用于给自选车模进行测速,编码器需兼容RT1021扩展板的编码器预留接口,也可选择不安装编码器,速度开环控制)
5、2.0寸串口屏(可选项,目前仅支持逐飞科技的IPS2.0串口屏幕,可用于参数调试显示,如果参赛队伍没有对应的屏幕,可以通过Thonny的REPL通信进行参数调试)
6、电磁传感器安装支架(适用于自备车模的电磁传感器安装支架)
7、电池及充电器
8、电磁信号源
9、工具仪表等
比赛环境等基本规则沿用竞速赛总规则,因挑战赛采用电磁寻迹,所以环境可以室外平整地面,也可以是室内平整地面;赛道采用电磁线按折线铺设的电磁引导闭合赛道,没有PVC赛道,直接将电磁线铺设在地面或地板上,形成闭合路段即可,其中电磁线的最小折角为90°,最小直线路段为1m,如下示意图所示;
▲ 图3.1 现场挑战赛赛道示意图
没有车库,要求车模从起跑线前出发沿着赛道运行一周之后通过起跑线后停止,发车方向自定,比赛成绩以两次通过起跑线的时间差进行衡量,赛道上会设置路障和坡道,可以由小车自行检测路障完成避障,也可以遥控小车完成避障。
允许在比赛过程中使用发放的无线串口模块,使得 PC与小车能实时通信,可以在小车运行的过程中人工通过PC发送命令辅助小车通过障碍、坡道或赛道的其他元素,目的在于通过本次现场挑战赛探索自动控制和人工控制的结合应用。
与竞速组要求一致,同一学校只允许组成一支队伍进行报名,可以由同一学校的同一支队伍组成挑战赛队伍,也可以由同一学校的不同组别之间的队员跨组别组成,但都只能是已晋级国赛的队伍中的成员,每支队伍不超过3名队员。
开展MicroPython现场挑战赛旨在引入 MicroPython 开发的易用性与拓展性,降低硬件学习门槛,降低代码量,实现微控制器应用开发方式的多元化,应用多元化以及复杂任务处理的方向。
发放的RT1021核心板中已烧录好固件,为保证比赛的公平性,挑战赛限定使用官方提供的固件,不允许烧录其他固件,届时会辅以技术手段检查是否自行替换固件防止作弊;固件已封装好主要模块的调用接口,包括:machine类下Pin、ADC、UART、PWM模块,NXP提供的smartcar类下的ADC_Group、encoder、Ticker模块,逐飞科技提供的seekfree类下的IMU660/963RA、KEY_HANDLER模块。参赛队伍需要使用Thonny软件通过Type-C连接的虚拟串口通信进行调试和开发,不允许使用C语言编写应用程序,不允许使用DAP、J-Link等在线调试器进行下载和调试,循迹、控制等算法均需要同学使用 Python 语言自行编写,程序的写入和调试只能使用Type-C数据线进行。对于违规队伍做取消资格处理。
编译环境采用自备或者资料中附带的Thonny软件,使用方法请通过所提供的资料包了解学习。
提供的参考学习资料和软件工具包括:
1、 RT1021 V2主板套件 与 MicroPython 固件接口说明 文档
2、 RT1021核心板原理图
3、 RT1021主板原理图
4、 运放模块资料
5、 电磁传感器模块资料
6、 双路直流电机驱动模块资料
7、 霍尔传感器模块资料
8、 Thonny安装包
9、 脱机启动示例程序(含模块的使用示例)
10个竞速赛组别中,所有晋级全国总决赛的队伍均可在报到时进行现场登记报名。最终将会从所有报名队伍中随机抽取10-15支参赛队,被抽中的队伍自动获得挑战赛参赛资格,组委将于8月17日晚公布抽签结果,并通知获得参赛资格的队伍前来领取开发套件。届时将在承办学校天津工业大学内铺设一处用于这两天调试参与挑战赛小车的场地,具体地点现场进行通知。
参赛队自领取开发套件后,自行安排时间准备和制作调试,于8月19日13:00-14:30之间的45分钟左右时间范围内开展现场挑战赛比拼,比拼方式为所有参与挑战赛的队伍同时进入调试赛道进行调试,准备好的队伍举手示意进入挑战赛比赛赛道开始比赛,同时由队员向裁判告知自己的学校和队伍名称,若本次挑战完成,则记录本次比赛时间为当前挑战队伍的一次有效成绩,并下场;若本次挑战失败也立即下场到调试赛道准备。随即由下一只准备好的队伍上场开始比赛。若同一只队伍已经取得3次成绩,则该队伍挑战赛结束,整个过程循环进行,直到挑战赛时间结束。时间结束后通过现场记录的各队比赛成绩进行排名并设置奖项。
MicroPython挑战赛需要一定的Python基础,但Python语言以其简单易学易用而著名,有意向报名参与的队伍可以提前进行熟悉,其中智能视觉组的队伍可能有一点技术储备的优势,但相信国赛的队伍中一定有相当数量的队伍勇于接受挑战。
第十八届全国大学生智能汽车竞赛总决赛MicroPython现场挑战赛正式向你发出挑战,欢迎同学们前来挑战。