一、背景介绍
第二十届全国大学生智能汽车竞赛竞速比赛规则已发布,比赛将于2025
年暑期举行。竞速比赛分为9
个赛题组,其中“极速光电”组以不同车模和编程方式来区分为两个赛道,分别为龙芯赛道、NXP-MicroPython
赛道。两个赛道的比赛任务、比赛环境、传感器要求大致相同,不同的是NXP-MicroPython
赛道要求使用平衡D
、E
车模作为车模平台,使用基于NXP
控制器的MicroPython
控制开发板作为主控,使用Python
语言完成车模程序编写,本文将对极速光电组的NXP-MicroPython
赛道进行说明。正式文档将会公布在全国大学生智能车竞赛网站。
关于MicroPython
,相信大家已经不那么陌生,在过去的第十九届竞赛的镜头组设立了专门的MicroPython
赛道,在第十八届竞赛的总决赛上已经进行过MicroPython
挑战赛,经过两年的探索实践,验证了MicroPython
简单易用的特点,第二十届竞赛将继续在较为基础的极速光电赛题组中开设专门的MicroPython
赛道。MicroPython
是一个小型的开源Python
编程语言解释器,运行在微控制器上。使用MicroPython
,可以编写干净、简单的Python
代码来控制硬件,而不必使用复杂的底层语言,如C
或C++
用于编程。
Python
编程语言的简单性使MicroPython
成为编程和硬件新手的理想选择。MicroPython
功能非常齐全,支持大多数Python
语法,所以即使是经验丰富的Python
老手也会发现使用MicroPython
很熟悉和有趣。
引入更加简洁方便的Python
作为编程手段,一方面可以减轻同学们编程的负担,让同学们能够有更多的精力进行创新,另一方面也希望能够吸引更多学生(包括非电子类专业、低年级同学及专科学校的同学)参加这一基础赛题,锻炼当代大学生的专业交叉运用能力。
二、极速光电组NXP-MicroPython赛道说明
由前文可知,极速光电组的MicroPython
赛道将不能够使用传统的C
语言对单片机进行编程,为保证比赛的公平性,本届大赛要求使用提前烧录了MicroPython
固件的特价核心板,只能使用Python
语言来对单片机进行编程实现自动循迹,从而完成小车的制作,基本任务描述如下:
(1) 要求使用平衡D、E车模制作赛车,小车从起跑线前1米范围内出发,自动保持直立平衡沿赛道运行一周,再次通过起跑线后自动停止在起跑线后1米范围内,中途只允许两个轮胎着地,不允许倒地滑行;
(2) 允许自行在赛道旁增加指示路标,用于提示小车提前减速、识别元素等,路标的识别可以使用基于NXP
公司微控制器的OpenART
、MCXVision
视觉模块完成;
(3) 对于摄像头的高度没有限制;
(4) 赛道上有直道、弯道、十字、圆环、坡道、路障等元素;
2.1 .硬件平台
由上文规则得知,MicroPython
赛道要求使用指定基于NXP
控制器的MicroPython
控制开发板作为主控,该主控核心板基于恩智浦RT1021
系列微控制器制作,恩智浦i.MX RT
系列MCU
被定义为跨界MCU
,在计算性能上与传统的MCU
相比有了质的飞跃,RT1021
主频高达500M
,外设的配置上也更加丰富,并且成倍增加了内存容量,同时核心板上板载了QFlash
,完全可以胜任运行Micropython
的各项要求。本次提供适配i.MX RT1021
的MicroPython
固件已支持制作小车会用到GPIO
、EXTI
、ADC
、PWM
、Encoder
、Ticker
、UART
、SPI
等各主要功能,满足基于MicroPython
制作镜头组循迹小车的基本需求,后续还将增加基于RT1021DAG5X
(LQFP144
封装144
引脚)芯片制作的特价核心板用于支持大赛,将拥有更多的外设资源(WIFI
模块支持、更多的CCD
接口、串口接口等)来丰富参赛同学的实现方式。
▲ 图2.1 RT1021 MicroPython 核心板
2.2 .MicroPython固件说明
指定的RT1021
核心板中已烧录好固件,且限定使用官方提供的固件,不允许烧录其他固件,届时会辅以技术手段检查是否直接使用的C
语言编程。在线下比赛时,将会通过REPL
操作台现场读取固件中的隐藏命令,如不能得到正确响应,则判定为违规;或者使用现场提供的核心板进行比赛,选手现场将Python
代码写入现场提供的核心板中,然后替换到选手的小车上进行比赛,防止采用C
语言编程带来的公平性影响。
固件已封装好主要模块的调用接口,包括:
1、 machine
类下Pin
、ADC
、UART
、PWM
模块;
2、 NXP
提供的smartcar
类下的ADC_Group
、encoder
、ticker
模块以及独立的display
类下的LCD
模块;
3、 逐飞科技提供的seekfree
类下的IMU660/963RA
、MOTOR_CONTROLLER
、BLDC_CONTROLLER
、KEY_HANDLER
、TSL1401
与WIRELESS_UART
模块;
今年将会新增的基于RT1021DAG5X
(LQFP144
封装144
引脚)的MicroPython
核心板还将增加更多的外围支持:
1、 seekfree
类下新增WIFI_SPI
模块支持WIFI
模块;
2、 TSL1401
模块增加两路接口,支持到四路接口,最多可接入四个CCD
;
3、 电机驱动、编码器接口翻倍;
4、 新增更多的舵机/电调接口(总共6个接口,可以用于舵机或电调);
5、 新增UART
、IIC
接口引脚支持(新增无冲突引脚支持)。
参赛队伍需要使用Thonny
软件通过Type-C
连接的虚拟串口通信进行调试和开发,不允许使用C
语言编写应用程序,不允许使用DAP
、J-Link
等在线调试器进行下载和调试,循迹、控制等算法均需要同学使用 Python
语言自行编写,程序的写入和调试只能使用Type-C
数据线进行。对于违规队伍做取消成绩处理。
2.3 .编译环境及相关学习资料
编译环境采用Thonny
软件,使用方法请通过所提供的资料包了解学习。资料包中包含RT1021
核心板原理图、相关传感器使用说明及相关资料、Thonny
安装包、测试例程、MicroPython
固件接口说明文档。
※ #: 链接:https://pan.baidu.com/s/1l0fn_c0V8xbtoS6rHBpd2g
※ #: 提取码:33ei
三、NXP-MicroPython特价核心板申请
为更好的支持同学们参赛,NXP
联合逐飞科技设计制作了特价MicroPython
核心板,委托逐飞进行发放,特价核心板需先进行申请登记,申请相关要求说明如下:
(1) 特价核心板由恩智浦合作伙伴逐飞制作提供,仅供给本届比赛使用恩智浦单片机的镜头组NXP-MicroPython赛道参赛用途,不可用于商业用途或转卖;
(2) 特供购买单片机型号为:
RT1021DAF5X(LQFP100封装100引脚)MicroPython核心板、 RT1021DAG5X(LQFP144封装144引脚)MicroPython核心板;
(3) 每所学校最多申请购买10块特价核心板(可自行决定申请型号搭配,例如5个RT1021DAF5X加5个RT1021DAG5X,即100引脚与144引脚版本各5个);
(4) 需由指导教师或领队统一申请,并提交学校盖章的申请书(申请书模板请参考文末提示);
(5) 特供价格:125元(含税含运费,大小核心板均适用);
(6) 特供核心板数量有限,先到先得,申请截止日期为2025年6月30日;
申请渠道:http://seekfree.mikecrm.com/O2IKbpw
欢迎同学们积极参加第二十届全国大学生智能汽车竞赛极速光电组NXP-MicroPython
赛道,预祝同学们在第二十届全国大学生智能汽车竞赛中赛出速度,赛出风格,收获成长。