【正文】
13摘 要智能技術(shù)是按照預(yù)先設(shè)定的模式在一個(gè)特定的環(huán)境里自動(dòng)的運(yùn)作,無(wú)需人為管理便可以完成預(yù)期所要達(dá)到的或是更高的目標(biāo)。本系統(tǒng)主要體現(xiàn)多功能小車的智能避障模式,當(dāng)小車與障礙物距離小于安全距離時(shí),通過(guò)單片機(jī)控制小車會(huì)自動(dòng)向右轉(zhuǎn)彎逼開障礙物,之后繼續(xù)直線前進(jìn)。同時(shí)智能避障小車也可以作為玩具市場(chǎng)的主要發(fā)展對(duì)象,實(shí)現(xiàn)經(jīng)濟(jì)效益。本系統(tǒng)可設(shè)置最小安全距離,也可調(diào)節(jié)小車運(yùn)行速度,當(dāng)小車與障礙物距離小于安全距離時(shí),通過(guò)CORTEXM3嵌入式系統(tǒng)控制小車會(huì)自動(dòng)向左轉(zhuǎn)彎逼開障礙物,之后繼續(xù)直線前進(jìn),實(shí)現(xiàn)智能避障。The system can set the minimum safe distance, can regulate the running speed of the car, when the car and the obstacle distance is less than the safe distance, the CortexM3 embedded system control car will automatically turn left forced open obstacles, and then continue straight forward and intelligent obstacle avoidance.Key wordsIntelligent technology。 Ultrasonic sensor。專家對(duì)各地交通事故統(tǒng)計(jì)分析結(jié)果表明各地交通事故普遍是由于駕駛員在危急情況發(fā)生時(shí)反應(yīng)不及時(shí)所造成。因此智能避障系統(tǒng)在交通安全中的作用日益凸顯。智能避障是指汽車的超聲波傳感器采集的距離數(shù)據(jù)小于一個(gè)安全值時(shí),能夠智能的避開汽車周圍的障礙物或汽車,在與障礙物碰撞前發(fā)出警報(bào)提醒駕駛員注意減速或制動(dòng),使駕駛員能夠及時(shí)的采取應(yīng)急措施,從而達(dá)到事先預(yù)防避免或減少事故發(fā)生。喪失了視覺或是視力有嚴(yán)重缺陷的人在工作、生活中常遇到莫大的困難,其中之一是在行走中難以了解周圍的環(huán)境信息以致撞到障礙。為此研發(fā)一種智能小車,使其具有一定的感知能力、規(guī)劃能力和動(dòng)作能力,帶領(lǐng)使用者避障礙物,既能幫助和關(guān)懷那些視覺存在缺陷的人,又能減輕護(hù)理人員的工作任務(wù),因此無(wú)論對(duì)于社會(huì)還是個(gè)人都有積極的現(xiàn)實(shí)意義。早在60年代國(guó)外就已 始進(jìn)入這方面的研究,特別在80年代,美國(guó)國(guó)防高級(jí)研究計(jì)劃局,專門立項(xiàng),制定了地面無(wú)人作戰(zhàn)平臺(tái)的戰(zhàn)略計(jì)劃。國(guó)外典型著名機(jī)器人較多,例如:“勇氣號(hào)”火星探測(cè)機(jī)器人是迄今人類遣往其它行星上第一個(gè)大型、自動(dòng)化的地面機(jī)器人,相比“索杰納”號(hào)火星探測(cè)機(jī)器人“勇氣”號(hào)用六輪驅(qū)動(dòng),有很高的越障能力,核心是一臺(tái)每秒能執(zhí)行2000萬(wàn)條指令的計(jì)算機(jī),具備更強(qiáng)、更可靠的移動(dòng),裝載有全景攝像機(jī)、避危攝像機(jī)、微型熱散射質(zhì)譜儀、顯微成像儀、磁鐵陣列等等傳感器截止2010年,該機(jī)器人已經(jīng)連續(xù)在火星表面工作了 6年,是人類迄今為止最成功的外星探測(cè)機(jī)器人。它的發(fā)展歷程大體可以分成三個(gè)階段:第一階段 20世紀(jì)50年代是智能車輛研究的初始階段。第二階段 從80年代中后期開始,世界主要發(fā)達(dá)國(guó)家對(duì)智能車輛開展了卓有成效的研究。在美洲,美國(guó)成立了國(guó)家自動(dòng)高速公路系統(tǒng)聯(lián)盟(NAHSC)。第三階段 從90年代開始,智能車輛進(jìn)入了深入、系統(tǒng)、大規(guī)模研究階段。Remotec Andros F6A排爆機(jī)器人是美國(guó)軍械制造商N(yùn)orthrop Grumman公司制造,用于排爆、核放射及生化場(chǎng)所的檢查和清理、處理有毒、有害物品、特警行動(dòng)及機(jī)場(chǎng)保安。本田ASIMO仿人形機(jī)器人,是日本本田公司研制的目前最先進(jìn)的仿人行走機(jī)器人。人形機(jī)器人的控制比較復(fù)雜,常作為一種衡量機(jī)器人水平高低的標(biāo)準(zhǔn)。曰本精工(NSK)在“2011國(guó)際機(jī)器人展(iREX2011) ”上推出了能為人帶路的導(dǎo)盲犬機(jī)器人。安裝在頭部的3D距離圖像傳感器能識(shí)別臺(tái)階并加以引導(dǎo)。我國(guó)移動(dòng)機(jī)器人的研究起步較晚,大約于20世紀(jì)70年代末、80年代初開始。清華大學(xué)、國(guó)防科技大學(xué)、南京理工人學(xué)、北京理工大學(xué)、浙江大學(xué)等多所院校合研制的多功能室外智能移動(dòng)機(jī)器人實(shí)驗(yàn)平臺(tái)THMR—V,車上裝備有彩色攝像機(jī)、GPS、磁羅盤光盤定位系統(tǒng)、激光測(cè)距儀LMS220等。中科院沈卩丨jf:丨動(dòng)化研究所研制的基于非結(jié)構(gòu)環(huán)境移動(dòng)機(jī)器人能夠在復(fù)雜多變的環(huán)境中使用。 智能避障小車的簡(jiǎn)述通過(guò)超聲波測(cè)距模塊測(cè)量小車與障礙物的距離情況,并通過(guò) L298電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)小車避開障礙物運(yùn)行,整個(gè)系統(tǒng)的控制模塊以CORTEXM3嵌入式系統(tǒng)作為主控芯片。 課題主要研究的內(nèi)容按照課題的基本要求,本設(shè)計(jì)主要包含以下3個(gè)模塊:(1)超聲波測(cè)距模塊設(shè)計(jì)根據(jù)超聲波測(cè)距原理,當(dāng)超聲波向某一方向發(fā)射超聲波時(shí),單片機(jī)內(nèi)部開始計(jì)時(shí),超聲波在傳輸?shù)倪^(guò)程中,遇到障礙物體就會(huì)立即返回,當(dāng)超聲波接收器接收到反射波同時(shí)單片機(jī)停止計(jì)時(shí)。之后根據(jù)設(shè)定的最小距離來(lái)判斷小車是該直行還是轉(zhuǎn)彎。主要完成超聲波發(fā)射與返回的計(jì)時(shí)并計(jì)算小車與障礙物之間距離,控制端口的高低電平,通過(guò)輸出不同頻率的脈沖來(lái)控制電機(jī)的工作。IN1,IN2, IN3, IN4接輸入控制電平,控制電機(jī)的正反轉(zhuǎn)。0UT1,0UT2接左側(cè)兩個(gè)相互并聯(lián)的電動(dòng)機(jī),0UT3,0UT4接右側(cè)兩個(gè)相互并聯(lián)的電動(dòng)機(jī)。注意當(dāng)使能信號(hào)為0時(shí),電機(jī)處于自由停止?fàn)顟B(tài)。直流電機(jī)狀態(tài)表如下所示表一2 系統(tǒng)的分析設(shè)計(jì)與實(shí)現(xiàn)經(jīng)過(guò)設(shè)計(jì)超聲波智能避障小車能夠?qū)崿F(xiàn)基本功能,即近距離遇到障礙物自主繞行,不會(huì)撞擊到障礙物。該系統(tǒng)主要是在控制芯片上提供一個(gè)不小于10us的觸發(fā)脈沖信號(hào),觸發(fā)超聲波傳感器內(nèi)部一個(gè)8周期的40KHz的回波脈沖,檢測(cè)到的回波脈沖時(shí)間與距離成正比,根據(jù)時(shí)間間隔就可以得到距離。 系統(tǒng)的結(jié)構(gòu)圖 該流程圖為系統(tǒng)流程圖,主要是描述系統(tǒng)整個(gè)運(yùn)行過(guò)程,包括系統(tǒng)的主要模塊圖21 系統(tǒng)流程圖 軟件工作流程圖22 工作流程圖3 系統(tǒng)的硬件及軟件的設(shè)計(jì)2 嵌入式系統(tǒng)的介紹嵌入式系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪、功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。當(dāng)電源VDD掉電后,通過(guò)VBAT腳為實(shí)時(shí)時(shí)鐘和備份寄存器提供提供電源。當(dāng)系統(tǒng)供電后,有一指示燈被點(diǎn)亮,提示系統(tǒng)處于供電狀態(tài)。手動(dòng)按鍵產(chǎn)生復(fù)位信號(hào),完成STM32芯片的啟動(dòng),確定STM32芯片的初始狀態(tài)。由于NRST為低電平有效,利用電容電壓不會(huì)突變的性質(zhì)。圖32 晶振模塊STM32系列的控制器可以使用外部晶振或外部時(shí)鐘源,經(jīng)過(guò)內(nèi)部PLL或不經(jīng)過(guò)內(nèi)部PLL為系統(tǒng)提供參考時(shí)鐘,也可以使用內(nèi)部RC振蕩器經(jīng)過(guò)或不經(jīng)過(guò)內(nèi)部PLL為系統(tǒng)提供時(shí)鐘源。 STM32開發(fā)板使用8MHz外接晶振為系統(tǒng)提供精確的系統(tǒng)時(shí)鐘參考。這款芯片擁有豐富的資源,128KB的Flash、20KBSRAM、2個(gè)SPI、3個(gè)串口、1個(gè)USB、1個(gè)CAN、2個(gè)ADC、RTC、51個(gè)I/O口等。JTAG接口提供對(duì)STM32芯片內(nèi)部的Flash的燒寫和調(diào)試程序,需要Keil軟件和Jlink v8仿真器的配合。請(qǐng)注意:當(dāng)不使用JTAG接口,而是作為普通I/O口使用時(shí),要注意其口線上的上拉電阻和下拉電阻的影響。前進(jìn)時(shí)IN1輸入高電平,IN2輸入低電平;后退時(shí)IN3為低電平,IN4為持續(xù)高電平即占空比100%。所以無(wú)需再調(diào)速。表2引腳功能15SENSEN2分別為兩個(gè)H橋的電流反饋腳,不用時(shí)可以接地31Y1Y2輸出端,與對(duì)應(yīng)輸入端(ININ2)同邏輯4VS驅(qū)動(dòng)電壓,7ININ2輸入端,TTL電平兼容11ENEN2使能端,低電平禁止輸出8GND地9VSS邏輯電源,~7V12ININ4輸入端,TTL電平兼容1142Y2Y2輸出端,與對(duì)應(yīng)輸入端(ININ4)同邏輯驅(qū)動(dòng)電機(jī)的運(yùn)行,I/O端口狀態(tài)與電機(jī)制動(dòng)對(duì)照表,如下表3IN1IN2IN3IN4ENAENB轉(zhuǎn)速101011正轉(zhuǎn)010111反轉(zhuǎn)111111停止000011停止XXXX00停止 超聲波測(cè)距模塊HCSR04首先利用單片機(jī)輸出一個(gè)40kHz的觸發(fā)信號(hào),把觸發(fā)信號(hào)通過(guò)TRIG管腳輸入到超聲波測(cè)距模塊,再由超聲波測(cè)距模塊的發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)單片機(jī)通過(guò)軟件開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物返回,超聲波測(cè)距模塊的接收器收到反射波后通過(guò)產(chǎn)生一個(gè)回應(yīng)信號(hào)并通過(guò)ECHO腳反饋給單片機(jī),此時(shí)單片機(jī)就立即停止計(jì)時(shí)。由于超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離,即:S=VT/2,來(lái)算出距離。Keil集成開發(fā)環(huán)境是一個(gè)基于Windows的軟件開發(fā)平臺(tái),它支持多個(gè)公司生產(chǎn)的芯片,內(nèi)嵌多種符合當(dāng)前工業(yè)標(biāo)準(zhǔn)的開發(fā)工具,可以完成工程建立和管理、編譯、鏈接、目標(biāo)代碼的生成、軟件仿真和硬件仿真的開發(fā)流程。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅應(yīng)用在軟件開發(fā)上,而且在各類科研都需要用到C語(yǔ)言,適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。4 系統(tǒng)測(cè)試本設(shè)計(jì)的智能避障小車,一共分為三大模塊。調(diào)試的時(shí)候我們可以把三大模塊分別調(diào)試,最后再把所有模塊組合起來(lái)再進(jìn)行最后的整機(jī)調(diào)試這樣一個(gè)調(diào)試的思路。一切都正常的情況下,將串口數(shù)據(jù)傳輸測(cè)試程序燒到芯片中,連接一個(gè)轉(zhuǎn)串口模塊,就可以把測(cè)得的數(shù)據(jù)通過(guò)串口傳輸?shù)诫娔X,開啟串口,在開發(fā)板上復(fù)位,觀察顯示是否正確,如圖41所示。連接電路時(shí)候只需引出四根插線,分別連接到STM32F103VE的對(duì)應(yīng)引腳,燒制好測(cè)試程序,測(cè)試結(jié)果圖如42。圖42經(jīng)過(guò)檢驗(yàn),圖43 L298N驅(qū)動(dòng)模塊調(diào)試L298N的引腳較多,使用的鋰電池是18650三節(jié),L298N的12V連到電源的正極,,2,3,4,5,6分別連上L298N的IN1,IN2,IN3,IN4 ENA ENB.通過(guò)系統(tǒng)的調(diào)試,我們可以學(xué)到更多的知識(shí),我們也可以發(fā)現(xiàn)仿真和實(shí)物調(diào)試不同的地方。通過(guò)程序和硬件的調(diào)試,我們可以更深刻的理解各功能模塊之間的聯(lián)系,也可以明白各調(diào)試的步驟。整個(gè)調(diào)試過(guò)程需要硬件和軟件結(jié)合起來(lái)調(diào)試,要仔細(xì)檢查電路,認(rèn)真思考程序。 (1)運(yùn)行程序,查看錯(cuò)誤報(bào)告,定位出報(bào)錯(cuò)的位置; (2)根據(jù)錯(cuò)誤報(bào)告的提示,明確錯(cuò)誤原因,修改相應(yīng)代碼,逐步排除錯(cuò)誤; (3)若錯(cuò)誤報(bào)告中提示邏輯性錯(cuò)誤,則不僅查看錯(cuò)誤定位的位置,還要查看頭文件或工程中其他的相關(guān)文件代碼,逐步排除錯(cuò)誤; (4)重復(fù)進(jìn)行排除以確保該錯(cuò)誤的確被排除且沒有引入新的錯(cuò)誤和矛盾; (5)重復(fù)上述(1)~(4)的過(guò)程,直到