本文給出了在智能視覺組和平衡信標組允許使用WiFi通訊模塊輔助車模運行的比賽規(guī)則補充說明,目的是在車路協(xié)同、“邊云計算”等方面讓參賽隊伍有更廣闊的的探索空間,引導同學們對于國產嵌入式操作系統(tǒng) RT-Thread 的熟悉并建立起應用經驗,為構建復雜無人系統(tǒng)打下基礎。本文內容屬于建議稿件,正式文檔將會在競賽網站進行公布。
01 新規(guī)則簡述
1.1 新增規(guī)則目的
本文主要闡述在第十七屆全國大學生智能汽車競賽中,針對智能視覺與平衡信標組中加入一些基于RT-Thread RTOS
操作系統(tǒng)的組件應用與與WiFi通訊模塊,一方面以增加允許同學們探索更多的手段、便捷的完成既定任務;另外一方面也將車路協(xié)同、“邊云協(xié)作”等理念融入到智能車競賽中;鼓勵參賽同學對于國產嵌入式操作系統(tǒng) RT-Thread RTOS 技術原理與應用實踐做進一步的探究。
本著“不影響原有規(guī)則細節(jié)、不影響原本競賽形式、允許探索新的方案”的原則,在原有規(guī)則基礎上進行補充。其中主要包含兩方面:
- 針對智能視覺組,允許增加聯網手段;方便獲取賽場目標信息和上傳關鍵信息。
- 針對平衡信標組,允許增加全局攝像頭與聯網手段,參賽隊伍可以借助于場外計算機視覺輔助完成車模與信號燈定位,協(xié)助車模優(yōu)化行進路線。
- 參賽隊伍可以繼續(xù)使用原有方案完成比賽任務,也可以使用全局攝像頭聯網完成找燈,以便更高效精準的完成既定任務。
1.2 防止通訊作弊
由于增加了無線通訊,為了防止比賽過程中:
- 參賽隊伍受到別人惡意干擾作弊,將會在比賽現場設置比賽專用WiFi熱點,僅供比賽車模通訊模塊使用;
- 對于車模接收無線模塊,規(guī)定必須使用競賽組委會提供的基于ESP8266通訊模塊,用于對發(fā)送信息進行過濾,僅允許傳送規(guī)定格式的信息內容。
在后面規(guī)則中,現場的WiFi熱點和ESP8266模組將由競賽組辦方提供,ESP8266模塊接口以及通訊協(xié)議將會統(tǒng)一進行公布。
1.3 網絡服務IP和端口
在比賽中,比賽現場WiFi局域網內會包含有:
- 智能視覺組中的比賽系統(tǒng)網絡服務器,一方面為車模提供場內目標所在位置坐標,另一方面接收車模發(fā)送的目標識別和位置信息;
- 平衡信標組全局攝像頭服務器,為運行車模提供車模與信標的位置信息。這個服務器是由參賽隊伍自行搭建,完成對全局攝像頭圖片處理和發(fā)送相應位置數據。
1.3.1 WiFi局域網
比賽車模通過專用ESP8266通訊模塊接入現場WiFi局域網,局域網絡的識別名稱與密碼會在比賽現場提供給參賽隊伍;
1.3.2 服務器IP地址和端口
智能視覺組服務器是由組委會提供,它對應的IP地址和端口號為:
● 智能視覺組服務器:
IP地址
:192.168.0.222
端口號
:2022
平衡信標組的服務器是由參賽隊伍自行在筆記本上編寫,原則上可以自行設置服務器對應的IP地址和端口號,建議使用以下統(tǒng)一的IP地址和端口號:
● 平衡信標組服務器:
IP地址
:192.168.0.111
端口號
:1011
02 智能視覺組
下面給出了針對智能視覺組的實施方案與規(guī)則補充。
2.1 賽場布局與比賽流程
2.1.1 智能視覺組賽場
新增加WiFi局域網聯網通信數據,基于RT-Thread的聯網組件框架下,賽場結構如下圖所示:
▲ 圖2.1.1 比賽現場組成部分示意圖
在上圖中,車模是由參賽隊伍自行制作,其它部分都是由競賽組委會現場提供。
根據 第十七屆智能車競賽智能視覺組比賽細則[1] ,參賽車模作品需要留有無線模塊接口。根據現在擴充的方案,在原有的單向發(fā)送接口(接口具有VCC,GND, TX三個端口)的基礎上,另外增加一個數據接收(RX)端口,形成全雙工無線通信端口。車模可以通過該端口進行發(fā)送和接收信息。
通訊模塊是基于ESP8266制作,在比賽時由競賽組委會統(tǒng)一進行現場提供。
2.1.2 比賽與通訊流程
根據已公布的智能視覺組規(guī)則,參賽車??梢栽诒荣惽巴ㄟ^機器視覺的方式獲得場地內目標物位置信息。也可以借助于通訊模塊直接接收到場內目標物位置信息。
按照新的基于局域網的通信方式,
如果按照新的基于局域網的通信方式,按下開始按鍵后,車模軟件借助于RT-Thread RTOS提供聯網功能,利用通訊硬件模塊與裁判上位機建立起TCP連接,然后上位機將會從局域網將數據下發(fā)至車模,車模通過解析裁判系統(tǒng)下發(fā)的目標坐標信息,即可直接獲取到賽場上所有目標的準確坐標。具體數據標準參見下面“通訊數據格式”。
在車模運行過程中,車模可以通過局域網直接上傳自身的坐標與識別信息,就不需要再使用原規(guī)則指定的發(fā)送接口,按照指定的數據格式上傳自身坐標以及識別的目標信息即可。
▲ 圖2.1.2 比賽流程示意圖
比賽時提供組委會提供專用的ESP8266模塊用作局域網接入。
▲ 圖2.1.4 參賽車模接收與發(fā)送信息示意圖
2.2 通訊數據格式
2.2.1 數據格式
如果參賽車模仍然采用已經公布的視覺組比賽標準,可以只利用通訊模塊按照之前公布數據標準發(fā)送車模識別目標信息和運行為止信息。如果計劃通過模塊直接接受場地信息以及發(fā)送位置信息,可以
關于通信的數據格式使用IOT常用標準數據格式(JSON格式)進行上傳與下發(fā)。
(1)車模接收目標位置信息
裁判系統(tǒng)發(fā)送給車模的目標信息如下面代碼所示。
目標坐標信息一幀數據包含兩個部分:
- 第一個部分包含標“Origin”,跟隨的數據為“Server”代表數據來源于裁判系統(tǒng);
- 第二個部分為一個數據組,包含標簽“Coordinate”代表目標坐標信息,坐標信息的數據取決于場地的目標數量。
{
"Origin": "Server",
"Coordinate": [{
"x": 1,
"y": 3
}, {
"x": 2,
"y": 5
}, {
"x": 6,
"y": 7
}]
}
(2)車模發(fā)送位置與目標識別信息
Ⅰ.車模位置信息
車模發(fā)送給裁判系統(tǒng)的識別信息,自身坐標信息一幀數據包含兩個部分:
- 第一個部分包含標“Origin”,跟隨的數據為“Car”代表數據來源于車模;
- 第二個部分為一個數據組,包含標簽“Coordinate”代表自身坐標信息。
{
"Origin": "Car",
"Coordinate": [{
"x": 0,
"y": 0
}]
}
為了避免參賽車模利用通訊模塊下行數據(從服務器發(fā)送到車模數據)發(fā)送額外控制命令和其它產掃信息,組委會提供的通訊模塊會對通訊數據進行分析。如果出現異常則會進行攔截。
坐標數據內容包括“x”標識二維橫軸坐標對應賽場7米邊,“y”標識二維縱軸坐標對應賽場5米邊,橫軸坐標值范圍為[0-35],縱軸坐標值范圍為[0-25]。如果數據超過限定值范圍,數據視為異常數據,會被賽場發(fā)放的ESP8266模塊截斷。
Ⅱ.目標識別信息
目標識別信息一幀數據包含三個部分:
- 第一個部分包含標“Origin”,跟隨的數據為“Car”代表數據來源于車模;
- 第二個部分包含標“Class”,跟隨的數據為“Animal”代表大類別;
- 第三個部分包含標“Subclass”,跟隨的數據為“Cat”代表小類別。
{
"Origin": "Car",
"Class": "Animal",
"Subclass": "Cat"
}
目標大類別數據范圍為:[Animal、Fruits、Vehicle],對應[動物、水果、交通工具];
目標小類別數據范圍為:
-
- [Dog、Horse、Cat、Cattle、Pig] ,對應[狗、馬、貓、牛、豬][Orange、 Apple, 、Durian、 Grape、 Banana] ,對應[橙子、蘋果、榴蓮、葡萄、香蕉][Train、 Steamship、 Plane、Car、Coach] ,對應[火車、輪船、飛機、小轎車、大客車]
2.3 通訊模塊接口
兼容已有的規(guī)則,可以通過已經規(guī)定的接口連接官方發(fā)放的無線模塊,按照已有的數據格式上傳數據。詳細參見:智能視覺組-識別結果發(fā)送[2] 。
2.3.1 通訊接口定義
為了與原有規(guī)則接口兼容,新擴充的競賽通訊模塊增加了一個下行數據線。準備使用RT-Thread參賽隊伍,可以利用該接口與競賽官方提供的ESP8266模塊進行通訊,并對JSON格式的數據進行收發(fā)。
▲ 圖2.3.1 新改動的數據接口
通訊接口的物理定義由原來的3芯接頭改為4芯。
2.3.2 通訊信息
如果使用RT-Thread局域網接入方式獲取目標坐標信息,那么在完成與裁判系統(tǒng)上位機的TCP連接后,上位機會通過局域網下發(fā)指定格式的準確的目標坐標信息。
如果不使用局域網獲取目標坐標信息,依舊可以使用原有規(guī)則下使用攝像頭識別A4紙上的圖像來獲取目標坐標信息。
03 平衡信標組
下面給出針對平衡信標組的實施方案與規(guī)則補充
3.1 賽場布局與比賽流程
比賽場地布局不影響采用傳統(tǒng)信標比賽技術方案的車模完成比賽。新規(guī)則只是增加了賽場專用WiFi熱點,并允許參賽隊伍自行在場地外假設全局攝像頭用于檢測場內車模與信標的位置。
3.1.1 信標組賽場組成
參賽隊伍可以在場地邊緣增加一個攝像頭,識別車模與信標燈的方位,通過賽場旁邊的WiFi無線局域網發(fā)送給運行的車模,幫助車模完成信標滅燈過程。
▲ 圖3.1 信標燈比賽現場組成部分示意圖
賽場外的全局攝像頭、安裝支架以及處理攝像頭圖片的筆記本電腦由參賽隊伍自行準備,并在比賽過程中進行搭建、調試和連通。
比賽所使用的ESP8266模塊將由競賽組委會統(tǒng)一提供,該模塊對于傳輸數據(JSON格式)進行過濾,只允許傳送符合要求的位置信息。
3.1.2 比賽與通訊流程
(1)建立視覺服務器
比賽中,參賽隊伍自己的筆記本連入賽場專用熱點,并提供TCP通訊服務。具體通訊協(xié)議見下面給出的“數據通訊協(xié)議”。
全局相機服務器可以由參賽隊伍通過編程自行實現,也可以通過規(guī)定的接口連接賽場發(fā)放的ESP8266模塊,按照正常使用即可。數據格式按照指定的JSON格式發(fā)送。需要將模塊設置為TCP Server,可以使用RT-Thread的ESP8266驅動組件搭配SAL套接字抽象層比較方便的實現。
(2)車模連通服務器
比賽現場提供專用ESP8266模塊,用于車模接入現場WiFi并進行數據接收。
車模部分使用賽場發(fā)放的ESP8266模塊,按照正常使用即可。使用ESP8266與全局攝像頭的TCP Server建立TCP連接,這樣就可以與全局攝像頭部分進行數據通信,全局攝像頭部分下發(fā)數據,車模獲取并解析數據即可
▲ 圖3.1.2 比賽流程示意圖
3.2 數據格式
關于通信的數據格式使用IOT常用標準數據格式(JSON格式)進行下發(fā):
{
"Origin": "Camera",
"Light": [{
"x": 31,
"y": 47
}],
"Car": [{
"x": 23,
"y": 29
}]
}
如上面代碼所示,下發(fā)一幀數據包含三個部分:
- 第一個部分包含標“Origin”,跟隨的數據為“Camera”代表數據來源于全局攝像頭;
- 第二個部分為一個數據組,包含標簽“Light”代表信標燈坐標信息;
- 第三個部分為一個數據組,包含標簽“Car”代表車模坐標信息。
坐標數據內容包括“x”標識二維橫軸坐標對應賽場7米邊,“y”標識二維縱軸坐標對應賽場5米邊,橫軸坐標值范圍為[0-140],縱軸坐標值范圍為[0-100],對應最高坐標精度為5cm。如果數據超過限定值范圍,數據視為異常數據,會被賽場發(fā)放的ESP8266模塊截斷。
※ 總 結 ※
本文給出了在智能視覺組和平衡信標組允許使用WiFi通訊模塊輔助車模運行的比賽規(guī)則補充說明,目的是在車路協(xié)同、“邊云計算”等方面讓參賽隊伍有更廣闊的的探索空間,引導同學們對于國產嵌入式操作系統(tǒng) RT-Thread 的熟悉并建立起應用經驗,為構建復雜無人系統(tǒng)打下基礎。
本文內容屬于建議稿件,正式文檔將會在競賽網站進行公布。
- 全國大學生智能車競賽網站:<smartcar.cdstm.cn>
參考資料
[1]第十七屆智能車競賽智能視覺組比賽細則: https://blog.csdn.net/zhuoqingjoking97298/article/details/121438560
[2]智能視覺組-識別結果發(fā)送: https://blog.csdn.net/zhuoqingjoking97298/article/details/121438560#t15