急速光电组 NXP MicroPython 赛道相关说明

科技   2024-11-26 00:04   北京  

一、背景介绍

  第二十届全国大学生智能汽车竞赛竞速比赛规则已发布,比赛将于2025年暑期举行。竞速比赛分为9个赛题组,其中“极速光电”组以不同车模和编程方式来区分为两个赛道,分别为龙芯赛道、NXP-MicroPython赛道。两个赛道的比赛任务、比赛环境、传感器要求大致相同,不同的是NXP-MicroPython赛道要求使用平衡DE车模作为车模平台,使用基于NXP控制器的MicroPython控制开发板作为主控,使用Python语言完成车模程序编写,本文将对极速光电组的NXP-MicroPython赛道进行说明。正式文档将会公布在全国大学生智能车竞赛网站。

  关于MicroPython,相信大家已经不那么陌生,在过去的第十九届竞赛的镜头组设立了专门的MicroPython赛道,在第十八届竞赛的总决赛上已经进行过MicroPython挑战赛,经过两年的探索实践,验证了MicroPython简单易用的特点,第二十届竞赛将继续在较为基础的极速光电赛题组中开设专门的MicroPython赛道。MicroPython是一个小型的开源Python编程语言解释器,运行在微控制器上。使用MicroPython,可以编写干净、简单的Python代码来控制硬件,而不必使用复杂的底层语言,如CC++用于编程。

  Python编程语言的简单性使MicroPython成为编程和硬件新手的理想选择。MicroPython功能非常齐全,支持大多数Python语法,所以即使是经验丰富的Python老手也会发现使用MicroPython很熟悉和有趣。

  引入更加简洁方便的Python作为编程手段,一方面可以减轻同学们编程的负担,让同学们能够有更多的精力进行创新,另一方面也希望能够吸引更多学生(包括非电子类专业、低年级同学及专科学校的同学)参加这一基础赛题,锻炼当代大学生的专业交叉运用能力。

二、极速光电组NXP-MicroPython赛道说明

  由前文可知,极速光电组的MicroPython赛道将不能够使用传统的C语言对单片机进行编程,为保证比赛的公平性,本届大赛要求使用提前烧录了MicroPython固件的特价核心板,只能使用Python语言来对单片机进行编程实现自动循迹,从而完成小车的制作,基本任务描述如下:

  (1) 要求使用平衡D、E车模制作赛车,小车从起跑线前1米范围内出发,自动保持直立平衡沿赛道运行一周,再次通过起跑线后自动停止在起跑线后1米范围内,中途只允许两个轮胎着地,不允许倒地滑行;

  (2) 允许自行在赛道旁增加指示路标,用于提示小车提前减速、识别元素等,路标的识别可以使用基于NXP公司微控制器的OpenARTMCXVision视觉模块完成;

  (3) 对于摄像头的高度没有限制;

  (4) 赛道上有直道、弯道、十字、圆环、坡道、路障等元素;

2.1 .硬件平台

  由上文规则得知,MicroPython赛道要求使用指定基于NXP控制器的MicroPython控制开发板作为主控,该主控核心板基于恩智浦RT1021系列微控制器制作,恩智浦i.MX RT系列MCU被定义为跨界MCU,在计算性能上与传统的MCU相比有了质的飞跃,RT1021主频高达500M,外设的配置上也更加丰富,并且成倍增加了内存容量,同时核心板上板载了QFlash,完全可以胜任运行Micropython的各项要求。本次提供适配i.MX RT1021MicroPython固件已支持制作小车会用到GPIOEXTIADCPWMEncoderTickerUARTSPI等各主要功能,满足基于MicroPython制作镜头组循迹小车的基本需求,后续还将增加基于RT1021DAG5XLQFP144封装144引脚)芯片制作的特价核心板用于支持大赛,将拥有更多的外设资源(WIFI模块支持、更多的CCD接口、串口接口等)来丰富参赛同学的实现方式。

▲ 图2.1 RT1021 MicroPython 核心板


2.2 .MicroPython固件说明

  指定的RT1021核心板中已烧录好固件,且限定使用官方提供的固件,不允许烧录其他固件,届时会辅以技术手段检查是否直接使用的C语言编程。在线下比赛时,将会通过REPL操作台现场读取固件中的隐藏命令,如不能得到正确响应,则判定为违规;或者使用现场提供的核心板进行比赛,选手现场将Python代码写入现场提供的核心板中,然后替换到选手的小车上进行比赛,防止采用C语言编程带来的公平性影响。

  固件已封装好主要模块的调用接口,包括:

  1、 machine类下PinADCUARTPWM模块;

  2、  NXP提供的smartcar类下的ADC_Groupencoderticker模块以及独立的display类下的LCD模块;

  3、  逐飞科技提供的seekfree类下的IMU660/963RAMOTOR_CONTROLLERBLDC_CONTROLLERKEY_HANDLERTSL1401WIRELESS_UART模块;

  今年将会新增的基于RT1021DAG5XLQFP144封装144引脚)的MicroPython核心板还将增加更多的外围支持:

  1、 seekfree类下新增WIFI_SPI模块支持WIFI模块;

  2、 TSL1401模块增加两路接口,支持到四路接口,最多可接入四个CCD

  3、 电机驱动、编码器接口翻倍;

  4、 新增更多的舵机/电调接口(总共6个接口,可以用于舵机或电调);

  5、 新增UARTIIC接口引脚支持(新增无冲突引脚支持)。

  参赛队伍需要使用Thonny软件通过Type-C连接的虚拟串口通信进行调试和开发,不允许使用C语言编写应用程序,不允许使用DAPJ-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赛道,预祝同学们在第二十届全国大学生智能汽车竞赛中赛出速度,赛出风格,收获成长。


TsinghuaJoking
这是一个公众号,它不端、不装,与你同游在课下、课上。 卓晴博士,清华大学中央主楼 626A。010-62773349, 13501115467,zhuoqing@tsinghua.edu.cn
 最新文章