第二十届全国大学生智能汽车竞赛极速光电组 恩智浦MicroPython赛道相关说明




一、背景介绍

  第二十届全国大学生智能汽车竞赛竞速比赛规则已发布,比赛将于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.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日;

  欢迎同学们积极参加第二十届全国大学生智能汽车竞赛极速光电组NXP-MicroPython赛道,预祝同学们在第二十届全国大学生智能汽车竞赛中赛出速度,赛出风格,收获成长。


● 相关图表链接:

### 关于第二十届全国大学生智能汽车竞赛MicroPython赛道镜头比赛指南 针对第二十届全国大学生智能汽车竞赛中的MicroPython赛道镜头,虽然具体细节可能有所变化,但从过往的经验来看,可以推测一些基本的比赛规则和要求。 #### 1. 参赛对象与报名方式 通常情况下,该赛事面向全国高校在校本科生开放。各校需通过官方渠道统一织学生报名参加各个分赛区预选赛,在此期间会重点考察团队协作能力以及对指定技术平台的理解程度[^1]。 #### 2. 技术平台说明 本项赛事采用基于MCU开发板作为核心控制器,并配合摄像头模块完成视觉识别任务。参赛队伍需要利用MicroPython编写程序控制车辆行驶路径并实现特定功能目标。这不仅考验选手们对于硬件设备的操作技能,同时也对其编程水平提出了较高要求。 #### 3. 比赛形式概述 - **初赛阶段**:主要以线上提交设计方案为主,包括但不限于项目背景介绍、预期成果展示等内容; - **决赛现场竞技环节**:则是在规定场地内按照既定路线让智能车自主运行,其间可能会涉及到障碍物规避、颜色标记跟踪等多种复杂场景模拟测试; 为了更好地适应新一年度的要求,早在几个月前就已经开始了相关准备工作,比如与各方专家共同探讨如何优化赛场环境布置等问题。 ```python # 示例代码片段用于演示如何初始化相机模块 import camera def init_camera(): try: cam = camera.init(0, format=camera.JPEG) print("Camera initialized successfully.") return cam except Exception as e: print(f"Failed to initialize camera: {e}") return None ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值