01华南赛区成绩小结
1.高校与队伍
七个云端比赛点,共有31所高校108支参赛队伍参加了五个项目的竞赛。这七个赛点的高校与其参赛队伍见下表格:
表格1:参赛高校与队伍数量
序号 | 高校 | 队伍数量 |
---|---|---|
1 | 厦门理工学院 | 4 |
2 | 深圳职业技术学院 | 3 |
3 | 集美大学诚毅学院 | 5 |
4 | 厦门大学 | 5 |
5 | 集美大学 | 3 |
6 | 广东技术师范大学 | 5 |
7 | 华南师范大学 | 5 |
8 | 中山大学新华学院 | 1 |
9 | 武汉纺织大学 | 1 |
10 | 海南大学 | 5 |
11 | 华南理工大学 | 5 |
12 | 福建农林大学 | 4 |
13 | 襄阳汽车职业技术学院 | 1 |
14 | 广西大学 | 2 |
15 | 广西科技大学 | 5 |
16 | 桂林理工大学博文管理学院 | 2 |
17 | 华侨大学 | 5 |
18 | 南宁学院 | 2 |
19 | 广东工业大学 | 4 |
20 | 深圳大学 | 2 |
21 | 桂林电子科技大学 | 5 |
22 | 惠州学院 | 5 |
23 | 中南民族大学 | 3 |
24 | 肇庆学院 | 2 |
25 | 海南师范大学 | 5 |
26 | 湖北文理学院 | 5 |
27 | 武汉东湖学院 | 2 |
28 | 中山大学 | 2 |
29 | 厦门大学嘉庚学院 | 3 |
30 | 湖北文理学院理工学院 | 1 |
31 | 桂林航天工业学院 | 5 |
每个组别报名的队伍数量见下表格所示:
表格2:每个组别的队伍数量
基础四轮组 | 双车接力组 | 直立节能组 | 声音信标组 | AI电磁组 |
---|---|---|---|---|
30 | 23 | 21 | 19 | 15 |
其中基础四轮组的队伍数量最多,超过了四分之一,AI电磁组数量最少,只有13.9%。直立节能组、双车组的队伍基本上站五分之一。最具有挑战性的声音信标组的队伍大约占了17.6。
▲ 各个组别对应的比例
2.各组别成绩
在五个组别的比赛中,每个组别的队伍数量、完赛队伍数量、完赛率、最小时间、最大时间以及时间方差见下表格所示:
表格3:各组别成绩分析
组别 | 队伍数量 | 完赛数量 | 完赛率 | 最小时间(s) | 最大时间(s) | 平均时间(s) | 时间方差(s) |
---|---|---|---|---|---|---|---|
基础四轮组 | 30 | 19 | 63.33% | 8.379 | 60.182 | 18.10 | 14.05 |
双车接力组 | 23 | 20 | 86.96% | 10.09 | 71.789 | 21.51 | 17.94 |
直立节能组 | 21 | 10 | 47.62% | 23.198 | 119 | 42.37 | 28.13 |
声音信标组 | 19 | 15 | 78.95% | 31.364 | 88.203 | 60.56 | 17.09 |
AI电磁组 | 15 | 14 | 93.33% | 9.515 | 22.629 | 12.83 | 4.05 |
从上图来看,完赛率最高的依然是AI电磁组,93.3%的队伍都完成的比赛,比赛平均时间为12.83秒,标准差4.05秒。这是因为AI电磁组不要求赛道元素过圆环、不要求出入库和坡道。
完赛率最低的是直立节能组,不到50%,如果加上补赛成功的队伍完赛率为71.4%。
▲ 各组别完赛率分析
下面给出了各组别取得最好成绩的队伍名称和相应的成绩:
- 基础四轮组:中南民族大学:北纬30点49, 成绩8.379
- 双车接力组:广东技术师范大学:洞幺洞拐队,成绩:10.09
- 直立节能组:华南理工大学:华工青光队,成绩:23.198
- 声音信标组:厦门理工学院:与时逐音,成绩:31.364
- AI电磁组:惠州学院:东江-风信子,成绩9.515
02华南赛区云比赛第五天
很快华南赛区云上比赛进入了第五天。在8月19日下午总共有两个赛点同时进行比赛。这两个赛点分别是东莞松山湖大学创新城赛点和武汉理工大学赛掉。
1.东莞松山湖大学创新城赛点
(1) 参加高校和队伍
- 五邑大学
- 东莞理工学院
- 北京理工大学珠海学院
共有7支队伍参加除了节能直立之外的其它4各组别的比赛。
(2) 比赛场地
▲ 赛道比赛场地
▲ 信标比赛场地
(3) B站直播链接
▲ 点击二维码跳转B站直播链接
http://live.bilibili.com/22470875
2.武汉理工大学赛点
(1) 高校名单
- 武汉理工大学
- 武汉工程大学
- 武汉工程大学邮电与信息工程学院
共有9支队伍进行5各组别的比赛。
(2) 比赛场地
▲ 赛道比赛场地
▲ 信标比赛场地
(3) B站直播链接
▲ 点击二维码跳转B站直播链接
https://live.bilibili.com/3923176?share_source=copy_link
欢迎各位老师和同学继续观看华南赛区云端两个赛点的智能车竞赛。
※ 代码
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# ANAL.PY -- by Dr. ZhuoQing 2020-08-18
#
# Note:
#============================================================
from headm import *
import pandas as pd
#------------------------------------------------------------
filedir = tspstring2text('filedir')
#printf(filedir)
filedim = os.listdir(filedir)
#printf(filedim)
#------------------------------------------------------------
#collagedim = []
#collagedim, collageset = tspload('collage', 'collagedim', 'collageset')
#collagelist = list(set(collagedim))
#teamdim = zeros(len(collagelist))
#printf(collagelist)
#printf(teamdim)
#------------------------------------------------------------
basicgroup=[]
relaygroup=[]
energegroup=[]
beacongroup=[]
aigroup=[]
basicwin = ''
relaywin = ''
energewin = ''
beaconwin = ''
aiwin = ''
basicmin = 10000
relaymin = 10000
energemin = 10000
aimin = 10000
beaconmin = 10000
#------------------------------------------------------------
for f in filedim:
fn = os.path.join(filedir, f)
printf(fn)
excelfile = pd.read_excel(fn, sheet_name='竞赛队伍信息')
listdata = excelfile.values.tolist()
groupflag = 0
for id,l in enumerate(listdata):
if id < 3: continue
# printf(l)
#----------------------------------------------------
if type(l[1]) == str:
if l[1].find('1、') >= 0:
groupflag = 0
continue
if l[1].find('2、') >= 0:
groupflag = 1
continue
if l[1].find('3、') >= 0:
groupflag = 2
continue
if l[1].find('4、') >= 0:
groupflag = 3
continue
if l[1].find('5、') >= 0:
groupflag = 4
continue
if type(l[2]) == str:
# collagedim.append(l[2])
if groupflag == 0:
basicgroup.append(l[12])
if l[12] < basicmin and l[12] > 0:
basicmin = l[12]
basicwin = l[2]+':'+l[3]
elif groupflag == 1:
relaygroup.append(l[12])
if l[12] < relaymin and l[12] > 0:
relaymin = l[12]
relaywin = l[2]+':'+l[3]
elif groupflag == 2:
energegroup.append(l[12])
if l[12] < energemin and l[12] > 0:
energemin = l[12]
energewin = l[2]+':'+l[3]
elif groupflag == 3:
beacongroup.append(l[12])
if l[12] < beaconmin and l[12] > 0:
beaconmin = l[12]
beaconwin = l[2]+':'+l[3]
elif groupflag == 4:
aigroup.append(l[12])
if l[12] < aimin and l[12] > 0:
aimin = l[12]
aiwin = l[2]+':'+l[3]
# if type(l[2]) == str:
# cid = collagelist.index(l[2])
# teamdim[cid] = teamdim[cid] + 1
# break
basicnum = len(basicgroup)
relaynum = len(relaygroup)
beaconnum = len(beacongroup)
energenum = len(energegroup)
ainum = len(aigroup)
basicgroup = [s for s in basicgroup if s != 120 and s > 0]
relaygroup = [s for s in relaygroup if s != 120 and s > 0]
energegroup = [s for s in energegroup if s != 120 and s > 0]
beacongroup = [s for s in beacongroup if s != 120 and s > 0]
aigroup = [s for s in aigroup if s != 120 and s > 0]
printf(basicgroup)
printf(relaygroup)
printf(energegroup)
printf(beacongroup)
printf(aigroup)
tspmsgclr()
printff(basicwin, basicmin)
printff(relaywin, relaymin)
printff(energewin, energemin)
printff(beaconwin, beaconmin)
printff(aiwin, aimin)
#------------------------------------------------------------
''' printf('组别 队伍数量 完赛数量 完赛率 最小时间(s) 最大时间(s) 平均时间(s) 时间方差(s)') printff('基础四轮组', basicnum, len(basicgroup), '%3.2f%%'%(100*len(basicgroup)/basicnum), min(basicgroup), max(basicgroup), '%3.2f'%mean(basicgroup), '%3.2f'%std(basicgroup)) printff('双车接力组', relaynum, len(relaygroup), '%3.2f%%'%(100*len(relaygroup)/relaynum), min(relaygroup), max(relaygroup), '%3.2f'%mean(relaygroup), '%3.2f'%std(relaygroup)) printff('直立节能组', energenum, len(energegroup), '%3.2f%%'%(100*len(energegroup)/energenum), min(energegroup), max(energegroup), '%3.2f'%mean(energegroup), '%3.2f'%std(energegroup)) printff('声音信标组', beaconnum, len(beacongroup), '%3.2f%%'%(100*len(beacongroup)/beaconnum), min(beacongroup), max(beacongroup), '%3.2f'%mean(beacongroup), '%3.2f'%std(beacongroup)) printff('AI电磁组', ainum, len(aigroup), '%3.2f%%'%(100*len(aigroup)/ainum), min(aigroup), max(aigroup), '%3.2f'%mean(aigroup), '%3.2f'%std(aigroup)) labels = ['Basic4', 'Relay', 'Energe', 'Beacon', 'AI'] colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue', 'green'] finish = [100*len(basicgroup)/basicnum, 100*len(relaygroup)/relaynum, 100*len(energegroup)/energenum, 100*len(beacongroup)/beaconnum, 100*len(aigroup)/ainum] plt.bar(labels, finish, color=colors) plt.xlabel('Five Groups') plt.ylabel('Complete Percent(%)') plt.grid(color = '#958080', linestyle='--', linewidth=1, axis='y', alpha=0.7) plt.show() '''
#------------------------------------------------------------
''' labels = ['Basic4', 'Save Energe', 'Relay', 'Beacon', 'AI'] colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue', 'green'] group = [len(basicgroup), len(relaygroup), len(energegroup), len(beacongroup), len(aigroup)] total = sum(group) explode = (0.15, 0, 0, 0, 0) plt.pie(group, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=140) plt.axis('equal') plt.show() exit() '''
#------------------------------------------------------------
''' printf(teamdim) teamtotal = sum(teamdim) printf(teamtotal) tspmsgclr() printf('序号 高校 队伍数量') for c,n in zip(collagelist, teamdim): printff(c, int(n)) tspmsgcopy() '''
#------------------------------------------------------------
#printf(collagedim)
#collageset = set(collagedim)
#printf(collageset, len(collageset))
#tspsave('collage', collagedim = collagedim, collageset=collageset)
#------------------------------------------------------------
printf('\a')
#------------------------------------------------------------
# END OF FILE : ANAL.PY
#============================================================