简 介: 本文给出了第十九届全国大学生智能汽车竞赛镜头组中 MicroPython 赛道的要求。该赛道允许本科生、专科生参加。
关键词
: 智能车竞赛,恩智浦,MicroPython
第十九届全国大学生智能汽车竞赛[1] 将于2024年暑期举行,竞速比赛规则已于2023年11月公布。竞速比赛分为8个赛题组,其中“镜头组”由最开始设定的本、专两个赛道,调整为以不同主控和编程方式来区分的三个赛道(分别为infineon赛道、STC赛道、NXP-MicroPython赛道)。三个镜头组赛道的比赛任务、比赛环境、传感器要求均不变,车模也都允许自制,但NXP-MicroPython赛道因为编程方式和传统的用C语言对单片机进行编程有所不同,因此通过本文进行说明。正式文档将会公布在全国大学生智能车竞赛网站。
关于MicroPython,相信大家已经不那么陌生,在第十八届竞赛的总决赛上已经进行过一次基于MicroPython的挑战赛,那次现场挑战赛使用了现成的硬件来进行限时开发,这也得益于MicroPython开发的便捷,让参加现场挑战赛的同学们能在短短两天不到的时间里完成基本挑战任务,有了挑战赛的探索经验,使得我们对今年专门的MicroPython赛道信心满满。
MicroPython是一个小型的开源Python编程语言解释器,运行在微控制器上。使用MicroPython,可以编写干净、简单的Python代码来控制硬件,而不必使用复杂的底层语言,如C或C++用于编程。
Python编程语言的简单性使MicroPython成为编程和硬件新手的理想选择。MicroPython功能非常齐全,支持大多数Python语法,所以即使是经验丰富的Python老手也会发现使用MicroPython很熟悉和有趣。
引入更加简洁方便的Pyhon作为编程手段,一方面可以减轻同学们编程的负担,让同学们能够有更多的精力进行创新,另一方面也希望能够吸引更多学生(包括专科学校、非电子类专业的同学)参加这一竞赛活动,锻炼当代大学生的专业交叉运用能力。
由前文可知,镜头组的MicroPython赛道将不能够使用传统的C语言对单片机进行编程,为保证比赛的公平性,本届大赛要求使用提前烧录了MicroPython固件的特价核心板,只能使用Python语言来对单片机进行编程,从而完成小车的制作。从镜头组的任务需求我们已经知道,MicroPython赛道要求小车通过光学传感器实现赛道环境感知,通过Python编程实现自动循迹,按前进顺序完成沿赛道完整运行一圈并自动停在起跑线后1米内的赛道上,赛道中包含常规的直道、弯道、十字、环岛、坡道、障碍等已知元素。
该核心板基于恩智浦RT1021微控制器制作,恩智浦i.MX RT系列MCU被定义为跨界MCU,在计算性能上与传统的MCU相比有了质的飞跃,RT1021主频高达500M,外设的配置上也更加丰富,并且成倍增加了内存容量,同时核心板上板载了QFlash,完全可以胜任运行Micropython的各项要求。本次提供适配i.MX RT1021的MicroPython固件已支持制作小车会用到GPIO、EXTI、ADC、PWM、Encoder、Ticker、UART、SPI等各主要功能,满足基于MicroPython制作镜头组循迹小车的基本需求。
▲ 图2.1 RT1021核心电路板
指定的RT1021核心板中已烧录好固件,且限定使用官方提供的固件,不允许烧录其他固件,届时会辅以技术手段检查是否直接使用的C语言编程,比如通过REPL操作台现场读取固件中的隐藏命令,如不能得到正确响应,则判定为违规;或者在线下比赛前,使用现场提供的核心板进行比赛,选手现场将Python代码写入现场提供的核心板中,然后替换到选手的小车上进行比赛,防止采用C语言编程带来的公平性影响。
固件已封装好主要模块的调用接口,包括:
参赛队伍需要使用Thonny软件通过Type-C连接的虚拟串口通信进行调试和开发,不允许使用C语言编写应用程序,不允许使用DAP、J-Link等在线调试器进行下载和调试,循迹、控制等算法均需要同学使用 Python 语言自行编写,程序的写入和调试只能使用Type-C数据线进行。对于违规队伍做取消成绩处理。
编译环境采用Thonny软件,使用方法请通过所提供的资料包了解学习。资料包中包含RT1021核心板原理图、相关传感器使用说明及相关资料、Thonny安装包、测试例程、MicroPython固件接口说明文档。
申请相关要求说明:
本文给出了第十九届全国大学生智能汽车竞赛镜头组中 MicroPython 赛道的要求。该赛道允许本科生、专科生参加。
第十九届全国大学生智能汽车竞赛: https://zhuoqing.blog.csdn.net/article/details/134331321