王沛國
摘 要 如今我們的生活節(jié)奏越來越快,車輛成為人們生活中的必需品,伴隨而至的交通問題也層出不窮,在我們上班上學(xué)的過程中堵車可謂是家常便飯各大一線城市的堵車更是壯觀。行車過程中,剮蹭、碰撞也是屢見不鮮,重特大交通事故也時有發(fā)生。據(jù)世界衛(wèi)生組織統(tǒng)計(WHO)統(tǒng)計全球每年有120萬人死于車禍,平均每25秒就有一人死于車禍。我國平均有200人每天因車禍死亡或受傷,平均每五分鐘就有一人死于車禍。我國汽車世界保有量為世界的3%但卻造成了世界上16%的車禍,而目前,我國2017年汽車保有量將突破2.9億,如何防止和避免各類車禍的發(fā)生,提高公路系統(tǒng)的運行效率,使人民群眾出行生活更便捷,成為了一種迫在眉睫需要解決的問題。
【關(guān)鍵詞】擁堵 交通規(guī)則 網(wǎng)絡(luò)規(guī)劃
而目前以沈陽市位例,沈陽市警方統(tǒng)計結(jié)果表明無序駕駛,隨意變換車道,疲勞駕駛,粗心大意成為了車禍的主因。通過交通安全教育,民眾交通安全意識增強(qiáng)的同時,我們是否可以從技術(shù)層面對于車輛進(jìn)行升級,讓交通事故少發(fā)生,不發(fā)生呢,這當(dāng)然是可以的。既然無序駕駛成為了目前交通事故頻發(fā)的主要原因,那么是否可以從技術(shù)層面在車輛的設(shè)計上對于無序駕駛進(jìn)行杜絕呢。其實在生物界我們就有很多類似的例子。以蜜蜂為例,看似無序的蜂群其實存在著非常嚴(yán)格的秩序,即使再密集的蜂群也不會出現(xiàn)撞擊同伴的空難,這源于蜜蜂腹部的超流磁性,根據(jù)地球的磁場對蜂群進(jìn)行規(guī)劃。所以對于龐大的交通網(wǎng)絡(luò)是否可以運用蜂群式控制方式來進(jìn)行管理,保證到杜絕無序駕駛,提高出行效率,更加方便人民群眾的出行。
1 關(guān)于蜂群式控制系統(tǒng)
1.1 流程略圖
如圖1所示。
1.2 分步說明
車輛:車輛的主要針對對象是民用私家車、運輸車輛、民用特種車輛。
路況反應(yīng)機(jī)制:
路況反應(yīng)機(jī)制由車載傳感器(溫度,濕度,震動,光學(xué)傳感器,計時器組成,分別檢測地面溫度,地面濕度,積水水深,能見度,路面顛簸程度,擁堵程度等路況問題)北斗衛(wèi)星導(dǎo)航(負(fù)責(zé)計算擁堵程度,重新規(guī)劃路線,導(dǎo)航等作用)組成。其作用主要是對路況信息進(jìn)行匯總,將路面的自然狀況和人為狀況首先反映給北斗衛(wèi)星,北斗衛(wèi)星導(dǎo)航系統(tǒng)將所有信息匯總給并為擁堵區(qū)域車主規(guī)劃新的行駛路線,在規(guī)劃的同時將匯總過的路況信息反饋給城市智能交通系統(tǒng),并由城市智能交通系統(tǒng)進(jìn)行下一步行動。
信息交互機(jī)制:
信息交互機(jī)制由紅外傳感器(計算車距和行車方向)車載計算機(jī)(1、對于紅外傳感器的數(shù)據(jù)進(jìn)行計算;2、接收和發(fā)送相關(guān)信息;3、對車輛的相關(guān)功能進(jìn)行控制;4、車流物聯(lián)網(wǎng))旨在對于外界信息的接受和反饋,對于內(nèi)在信息的上傳和分析,以及對車輛的控制。
藍(lán)牙遙控機(jī)制:
由藍(lán)牙遙控軟件,藍(lán)牙,車載計算機(jī)組成,針對酒駕,疲勞駕駛等問題設(shè)計,車主可以利用手機(jī)APP與車載藍(lán)牙和車載計算機(jī)鏈接,并下達(dá)指令,在自動模式下車主可以讓車輛獨自去接送家人,運輸貨物等活動;在手動模式下,車主可以通過手機(jī)對車輛進(jìn)行遙控,讓車輛在車主的遙控下行駛。
2 智能車模藍(lán)牙遙控系統(tǒng)軟件設(shè)計方案
2.1 創(chuàng)作目的
通過把步進(jìn)電機(jī)作為可移動輪式車模的動力部分,同時增加一些任務(wù),將步進(jìn)電機(jī)的控制和單片機(jī)、模電、數(shù)電、算法等知識一起糅合,已經(jīng)具有初步的系統(tǒng)性框架,是一種帶有智能的步進(jìn)電機(jī)控制系統(tǒng),本次設(shè)計主要體現(xiàn)在軟件流程編輯上。
2.2 所需硬件
電腦:處理器 AMD Opteron(tm) Processor 6320、內(nèi)存 16G 以上、硬盤 500G以上;
STC89C52RC單片機(jī);
手機(jī):安卓系統(tǒng) 內(nèi)存1G及以上。
STC89C52標(biāo)準(zhǔn)功能:
具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。
2.3 創(chuàng)作過程
根據(jù)車模的功能要求,設(shè)計了系統(tǒng)程序流程圖,編寫了車?;具\動子程序、藍(lán)牙子程序,并根據(jù)車模驅(qū)動模塊驅(qū)動芯片的工作原理,編寫了車模驅(qū)動程序,最終,通過主程序調(diào)用將其連為一個整體。完成了系統(tǒng)軟件的設(shè)計。
2.4 技術(shù)描述部分
2.4.1 系統(tǒng)整體結(jié)構(gòu)
智能車模藍(lán)牙遙控系統(tǒng)軟件整體示意圖,如圖2所示,其中手機(jī)部分,包括手機(jī)APP、手機(jī)的藍(lán)牙模塊,控制部分包括單片機(jī)最小系統(tǒng)、藍(lán)牙從機(jī)模塊、電機(jī)驅(qū)動模塊。
2.4.2 小車模型底盤結(jié)構(gòu)
小車模型底盤包括車輪4個,直流電機(jī)4個,車身底板1個,以及單片機(jī)控制系統(tǒng)電路板。其中,每個車輪由一個直流電機(jī)控制,由直流電機(jī)驅(qū)動模塊控制直流電機(jī)的正轉(zhuǎn)反轉(zhuǎn),實現(xiàn)小車模型的前進(jìn)后退等基本動作。
設(shè)輪子1正轉(zhuǎn)為前進(jìn),小車模型基本動作的實現(xiàn)如表1,根據(jù)車輪正轉(zhuǎn)反轉(zhuǎn)的不同,可以實現(xiàn)前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止等基本動作。
L298電機(jī)驅(qū)動芯片,可以通過兩位數(shù)字信號控制一個電機(jī)的正、反轉(zhuǎn),因此,需要兩個電機(jī)驅(qū)動,控制四個直流電機(jī)的正、反轉(zhuǎn)。
2.4.3 單片機(jī)與藍(lán)牙模塊的連接
本次藍(lán)牙模塊設(shè)計綜合考慮市場上的主流方案,我依據(jù)技術(shù)較成熟最成熟及成本較低的原則,采用了CC2540藍(lán)牙芯片作為的單模式低功率藍(lán)牙解決方案。
藍(lán)牙模塊與單片機(jī)的連接有兩種方案,一種是利用CC2540的GPIO口與單片機(jī)的IO口連接,傳輸數(shù)字信號;一種是利用CC2540的URAT串口進(jìn)行數(shù)據(jù)透傳,傳輸給單片機(jī)的串行緩沖寄存器。本次我選用了第一種方案,CC2540具有19個GPIO口,這些IO口一般都有各自的特殊功能,一般不適用他們作為GPIO口,這里選擇不影響研究目標(biāo)功能的三個GPIO口P0.7、P0.6和P0.5,分別連接單片機(jī)的P2.7、P2.6和P2.5。
2.4.4 智能手機(jī)APP的設(shè)計
目前市場上有很多基于CC2540的APP共享軟件成熟方案,可以很方便的下載來進(jìn)行二次設(shè)計。此處也可以描述成借助親戚朋友等外力來完成二次匹配,畢竟此次設(shè)計的著重點在控制。
APP運行平臺選擇Android系統(tǒng),APP的開發(fā)環(huán)境,為Windows7 64bit旗艦版,開發(fā)軟件選擇eclipse。開發(fā)語言使用java語言。APP需要實現(xiàn)的功能,包括調(diào)用手機(jī)藍(lán)牙模塊作為主機(jī)模塊,掃描到從機(jī)模塊,建立連接,并通過模擬串口傳遞數(shù)據(jù)。
如圖3所示,我在上述流程的基礎(chǔ)上,設(shè)計了用戶界面,包括動作按鈕,掃描從機(jī)按鈕,以及更多的命令開發(fā)按鈕。
src-com.nordisemi.xxx下的java文件為安卓工程的主程序文件, MainActivity.java中為主程序,負(fù)責(zé)調(diào)用其他函數(shù)完成APP的工作;DeviceListActivity.java中定義了諸多函數(shù),在APP調(diào)用藍(lán)牙模塊掃描從機(jī)時調(diào)用。它定義了一個public class,包括匹配設(shè)備時需要各種設(shè)備表單存放。
UartService.java中定義了串口傳輸中的諸多宏,包括串口對應(yīng)的char,主機(jī)UUID,以及數(shù)據(jù)發(fā)送函數(shù)。定義了RX和TX的UUID,與藍(lán)牙協(xié)議棧不同,在安卓工程中,UUID由完整的128位十六進(jìn)制數(shù)表示。
前進(jìn)按鈕的功能代碼中,massage為要通過藍(lán)牙串口傳輸?shù)臄?shù)據(jù),定義為GO,并在listAdapter中顯示,通過writeRXCharacteristic函數(shù)傳輸。其中,函數(shù)傳輸?shù)牟皇侵苯拥膍assage,而是將message轉(zhuǎn)碼儲存在value中。其他按鈕代碼與此類似,其中send按鈕稍微不同,massage得到的字符不是固定的,而是獲取text欄數(shù)據(jù)。
2.4.5 單片機(jī)程序設(shè)計
單片機(jī)程序的流程圖如圖4所示。
其中,串口初始化主要設(shè)置串口的比特率為9600,同時藍(lán)牙協(xié)議棧中的串口初始化也需要將串口比特率設(shè)置為9600。默認(rèn)藍(lán)牙串口比特率為115200,單片機(jī)在11.0594MHz晶振下很難準(zhǔn)確達(dá)到這個比特率。在11.0592MHz晶振、9600波特率下,單片機(jī)可以與藍(lán)牙模塊串口保持良好的通訊。
藍(lán)牙模塊將數(shù)據(jù)通過串口,傳給單片機(jī)時,會存放在單片機(jī)的SBUF緩存中,RI會自動置1,此時將緩存區(qū)的數(shù)據(jù)存在char型變量kumo中,方便主程序調(diào)用處理。串口檢測函數(shù)如下:
void bluetooth()
{
if(RI) //是否有數(shù)據(jù)傳過來
{
RI=0;
kumo = SBUF; //接收命令
2.5 后期設(shè)計的思路
通過這次設(shè)計實現(xiàn)對步進(jìn)電機(jī)控制,加入藍(lán)牙模塊配合APP可實現(xiàn)遠(yuǎn)程控制。
通過設(shè)計對STC89C52RC單片機(jī)有了更深入的理解,通過該芯片還可以開發(fā)完善更多的功能,例如:加上語音識別芯片可以實現(xiàn)控;
加入傳感器實現(xiàn)自主尋跡、避障;
因為對于實驗材料和相關(guān)知識的缺失,無法對其他兩大機(jī)制進(jìn)行研究,故本文僅對于藍(lán)牙遙控機(jī)制作為介紹。
感想:
在日后的將來,我希望蜂群式交通系統(tǒng)可以實現(xiàn)。因為我堅信通過這種控制系統(tǒng)在某種程度上降低車禍發(fā)生的幾率,挽救更多無辜的生命。同時也可以提高交通運輸體系的運行效率,促進(jìn)經(jīng)濟(jì)發(fā)展,也為我們的生活出行多添一份方便、一份安全、一份保障。
但蜂群式系統(tǒng)的思維不僅僅是交通運輸,還可以是更多的領(lǐng)域,在軍事領(lǐng)域,蜂群思維下的無人機(jī)可以更好的協(xié)作完成任務(wù),在高空或海底布置雷區(qū),對建筑物進(jìn)行偵查,對目標(biāo)進(jìn)行突襲等。不但成本低,還可以減少傷亡,何樂而不為。在信息工程的領(lǐng)域,例如美國洛杉磯市啟動過的“深藍(lán)計劃”,育碧游戲公司的《看門狗》系列作品中的CTOS城市中央控制系統(tǒng)。他們都利用蜂群式思維對城市的一切進(jìn)行控制,讓人們的生活井井有條,讓犯罪分子無處可逃。
這將是一種趨勢,蜂群式控制系統(tǒng)將會是一種新的物與物之間的秩序模式,也將是軍事,交通,信息工程,航空航天的新型控制理念。
作者單位
西安高新第一中學(xué) 陜西省西安市 710075