300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 第十五届全国大学生智能汽车竞赛浙江赛区比赛成绩分析

第十五届全国大学生智能汽车竞赛浙江赛区比赛成绩分析

时间:2020-11-05 08:29:04

相关推荐

第十五届全国大学生智能汽车竞赛浙江赛区比赛成绩分析

8月10日,第十五届全国大学生智能汽车竞赛首场比赛(浙江赛区)在浙大城市学院风雨操场拉开帷幕。

▲ 智能车竞赛浙江赛区比赛现场

经过两天鏖战比赛,来自省内34所大学(含本科、独立学院、高职院校)的172支队伍,分为基础四轮、致力节能、双车接力、声音信标、AI电磁五个赛题展开角逐。最终完成了浙江省赛区各项赛事和奖项评定。之后,又对可能进入全国总决赛的队伍在更加复杂赛道上、更加具有挑战任务下,进行了全国总决赛成绩认定。

177支队伍在五个赛题组的分布如下图所示:

▲ 五个组别队伍数量所占比例

本文对刚刚新鲜出炉的比赛成绩进行汇总分析。

01成绩统计分析

五个组别报名队伍数量各不相同,最多的是基础四轮组,最少的组别是AI电磁组。这些组别对于参赛队伍的挑战也各不相同,反映到比赛获得成绩队伍比率(完赛率)方面相差很大。

▲ 信标组的双车在对抗比赛中

完赛率最高的,谁也没有想到,居然是今年首次引入的AI电磁组,超过65%的队伍完成的比赛。而失败率最高的则是直立节能组,最终不到五分之一的队伍完成了比赛。

表格1: 五个组别完赛率

分析节能组失败率高的原因,最大可能是今年这个组别挑战度意想不到结合在一起了:

车体控制保持直立,控制算法最难;接收无线充电,车体自行设计,使得机械设计最难;使用STC八位单片机进行控制,单片机计算能力最弱;

根据现场比赛实际情况,很多的队伍也在无线充电过程中遇到了比赛系统不稳定的烦恼。综上所述,直立节能组的失败率高也就在情理之中了。

▲ 五个赛题组完赛率

现场组委会还特地安排了补赛,有四支队伍队伍最终通过补赛获得成绩。这才使得最终有成绩的直立节能组队伍数量勉强达到31%左右,还不到报名总数的三分之一。

为什么AI电磁组的完赛率这么高呢?除了这个组别使用电磁传感器完成赛道检测,不需要进入圆环原因之外,那么参赛同学们对于使用机器学习(人工神经网络)控制车模运行也表现出了浓厚的兴趣。

比赛成绩也表现出这个组别的车模运行时间是四个组别中最短的(7.726秒)。这其中有不需要入库、入环的因素之外,最大的原因,就是显示出人工智能(AI)算法对于赛道整体信息的应用到车模控制上的强大能力。

当然,由于控制算法的一直,使得AI电磁组在比赛时间、平均比赛时间以及时间方差三个方面都是五个赛题组最好的。这一点出乎人们的意料之外。

表格2:五个赛题组比赛时间统计

在比赛中,最具有挑战性的是声音信标组。这个组别所使用的信标检测方式最新,需要掌握的单片机是来自Infineon公司的TriCore系列的单片机,也是具有一定的挑战性。在浙江赛区最后对国赛队伍成绩认定的时候,采用了对抗的形式,比赛场面也是最为精彩。

双车接力和普通四轮组别的完赛率都大于50%。在今年不仅有防疫任务重,同学们准备车模时间短。有这样的比赛成绩也是实属不易。

▲ 比赛后,参赛同学们相互交流切磋

当然,比赛成绩背后除了有参赛同学不懈的努力之外,还有承办这次比赛的浙大城市学院的裁判和志愿者们辛勤付出。是他们牺牲自己的暑期,为参赛同学构建了良好的比赛环境。在这里向浙大城市学院的同学和老师们表示感谢。

02各组别省赛成绩

1.基础四轮组

2.直立节能组

3.双车接力组

4.声音信标组

5.AI电磁组

▲ 比赛志愿者学生在铺设赛道和维修信标

03全国总决赛成绩认证

※ 代码

#!/usr/local/bin/python# -*- coding: gbk -*-#============================================================# PROG1.PY -- by Dr. ZhuoQing -08-11## Note:#============================================================from headm import *import pandas as pd#------------------------------------------------------------allfile = tspstring2text('all')finalfile = tspstring2text('final')#printf(allfile, finalfile)#------------------------------------------------------------excelfile = pd.read_excel(allfile)listdata = excelfile.values.tolist()#------------------------------------------------------------'''printf('序号 学校 队名 组别 省赛成绩 总决赛成绩 总决赛排名')for id,l in enumerate(listdata):if id == 0: continueprintff(l[2], l[4], l[3][2:], l[5], l[7], l[8])'''#------------------------------------------------------------acount = 0bcount = 0ccount = 0dcount = 0ecount = 0astr = ''bstr = ''cstr = ''dstr = ''estr = ''afinish = 0bfinish = 0cfinish = 0dfinish = 0efinish = 0adim = []bdim = []cdim = []ddim = []edim = []#------------------------------------------------------------printf("学校 队伍 组别 成绩(s) 排名")for id,l in enumerate(listdata):# if l[3][0] == 'E':# printff('%s'%(l[2]), l[4], l[3][2:], l[6], l[7])if l[3][0] == 'A':acount += 1astr = l[3][2:]if l[6] != 1200 and l[6] != 120:afinish += 1adim.append(l[6])if l[3][0] == 'B':bcount += 1bstr = l[3][2:]if l[6] != 1200 and l[6] != 120:bfinish += 1bdim.append(l[6])if l[3][0] == 'C':ccount += 1cstr = l[3][2:]if l[6] != 1200 and l[6] != 120:cfinish += 1cdim.append(l[6])if l[3][0] == 'D':dcount += 1dstr = l[3][2:]if l[6] != 1200 and l[6] != 120:dfinish += 1ddim.append(l[6])if l[3][0] == 'E':ecount += 1estr = l[3][2:]if l[6] != 1200 and l[6] != 120:efinish += 1edim.append(l[6])#------------------------------------------------------------labels = ['Basic4', 'Save Energe', 'Relay', 'Beacon', 'AI']colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue', 'green']'''all = acount+bcount+ccount+dcount+ecountexplode = (0.1, 0, 0, 0, 0)teams = [acount, bcount, ccount, dcount, ecount]plt.pie(teams, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=140)plt.axis('equal')plt.show()'''percent = [afinish/acount*100,\bfinish/bcount*100,\cfinish/ccount*100,\dfinish/dcount*100,\efinish/ecount*100]percent = [int(n) for n in percent]printf(percent)plt.bar(labels, percent,color=colors)plt.xlabel('Five Groups')plt.ylabel('Complete Percent(%)')plt.grid(color = '#958080', linestyle='--', linewidth=1, axis='y', alpha=0.7)plt.show()#------------------------------------------------------------#tspmsgclr()'''printf('序号 组别 队伍数量 完成比赛队伍 完赛率')printff(astr, acount, afinish, '%5.2f%%'%(afinish/acount*100))printff(bstr, bcount, bfinish, '%5.2f%%'%(bfinish/bcount*100))printff(cstr, ccount, cfinish, '%5.2f%%'%(cfinish/ccount*100))printff(dstr, dcount, dfinish, '%5.2f%%'%(dfinish/dcount*100))printff(estr, ecount, efinish, '%5.2f%%'%(efinish/ecount*100))''''''printf('序号 组别 最短时间(s) 最长时间(s) 平均时间(s) 方差(s)')printff(astr, min(adim), max(adim), '%5.2f'%mean(adim), '%5.2f'%std(adim))printff(bstr, min(bdim), max(bdim), '%5.2f'%mean(bdim), '%5.2f'%std(bdim))printff(cstr, min(cdim), max(cdim), '%5.2f'%mean(cdim), '%5.2f'%std(cdim))printff(dstr, min(ddim), max(ddim), '%5.2f'%mean(ddim), '%5.2f'%std(ddim))printff(estr, min(edim), max(edim), '%5.2f'%mean(edim), '%5.2f'%std(edim))'''tspmsgcopy()printf('\a')#------------------------------------------------------------# END OF FILE : PROG1.PY#============================================================

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。