王弘毅,劉哲,盛文君,牟祖坤,賈淇惠,劉昌景
(菏澤職業(yè)學(xué)院,山東菏澤,274000)
進(jìn)入21世紀(jì)以來(lái),機(jī)器人自動(dòng)控制技術(shù)得到廣泛應(yīng)用,工業(yè)機(jī)器人水平已逐漸成為衡量一個(gè)國(guó)家自動(dòng)化程度的關(guān)鍵性能指之一。隨著工業(yè)技術(shù)的發(fā)展,機(jī)器人的應(yīng)用領(lǐng)域已經(jīng)不單局限于工業(yè)用途,而向更廣闊的領(lǐng)域逐步擴(kuò)展,例如交通、醫(yī)學(xué)、家庭、酒店服務(wù)等領(lǐng)域。
隨著國(guó)家的發(fā)展,我國(guó)汽車(chē)保有量逐年增高,隨之而來(lái)的是交通擁堵日益嚴(yán)重,出行時(shí)間增多,交通事故頻發(fā)。汽車(chē)保有量的增高使人們對(duì)交通暢通的需求也有著更高的要求。由于交警需要在酷暑、寒冬、雨雪、霧霾天氣下工作,工作環(huán)境非常惡劣,且工作勞動(dòng)強(qiáng)度較大?;谝陨显?,本文設(shè)計(jì)了一個(gè)小型的基于ARM的智能交通指揮機(jī)器人系統(tǒng)。
本系統(tǒng)具有以下特點(diǎn):
(1)采用智能控制技術(shù),該技術(shù)可以有效的使交通燈系統(tǒng)與機(jī)器人進(jìn)行配合使用,保證交通指揮的有效進(jìn)行,又不受限于紅綠燈,同時(shí)在交通燈系統(tǒng)發(fā)生故障時(shí)進(jìn)行交通指揮,保證交通順暢。
(2)智能交通機(jī)器人底部采用旋轉(zhuǎn)設(shè)計(jì),實(shí)現(xiàn)交通指揮的全面性,使其能夠平穩(wěn)的進(jìn)行交通指揮的工作,并且手臂擁有6個(gè)自由度,能夠完成多種交通動(dòng)作的指揮。
(3)采用基于光電傳感器的量車(chē)流量檢測(cè)系統(tǒng),實(shí)時(shí)監(jiān)測(cè)車(chē)流量,當(dāng)各個(gè)方向車(chē)輛差距較大時(shí)設(shè)計(jì)讓等待時(shí)間增長(zhǎng),即讓車(chē)輛多的一邊多通行一會(huì),從而減少交通堵塞。
該智能交通機(jī)器人系統(tǒng)具體組成部分如圖1所示,該系統(tǒng)由四部分組成,第一部分是整體平臺(tái),負(fù)責(zé)承載機(jī)器人、模擬車(chē)輛,第二部分是機(jī)器人本體,第三部分是模擬車(chē)輛,第四部分是控制系統(tǒng)。
圖1 智能交通機(jī)器人系統(tǒng)結(jié)構(gòu)
整體平臺(tái)負(fù)責(zé)承載機(jī)器人與模擬車(chē)輛、數(shù)碼管、LED燈這幾個(gè)部分;機(jī)器人本體負(fù)責(zé)實(shí)現(xiàn)各種交通指揮動(dòng)作,以指揮模擬車(chē)輛的行駛;模擬車(chē)輛負(fù)責(zé)接收來(lái)自控制系統(tǒng)的數(shù)據(jù),進(jìn)而執(zhí)行不同的動(dòng)作;控制系統(tǒng)采用ARM架構(gòu)的STM芯片,用來(lái)控制機(jī)器人實(shí)現(xiàn)不同的指揮動(dòng)作,并同時(shí)控制LED與數(shù)碼管的顯示數(shù)據(jù)和無(wú)線傳輸數(shù)據(jù)等。
工作時(shí),主控芯片負(fù)責(zé)控制外部的LED燈與數(shù)碼管模塊顯示,同時(shí)控制無(wú)線通訊模塊發(fā)送數(shù)據(jù),小車(chē)對(duì)接收來(lái)的數(shù)據(jù)進(jìn)行判斷后執(zhí)行動(dòng)作,小車(chē)沿規(guī)劃的賽道運(yùn)動(dòng),到達(dá)目的地后小車(chē)自動(dòng)停止運(yùn)動(dòng)。
主控部分通過(guò)STM32F103ZET6、光電傳感器、NRF2401、LED、數(shù)碼管模塊等組合實(shí)現(xiàn)通訊與機(jī)器人控制,該部分能夠控制LED的亮滅進(jìn)而與模擬車(chē)輛進(jìn)行通訊,控制機(jī)器人執(zhí)行不同的動(dòng)作、根據(jù)光電傳感器反饋的信號(hào)改變通行時(shí)間。小車(chē)采用亞克力車(chē)模制作,包含STM32F103RBT6、NRF2401、L298N、光電傳感器、支架(3D打?。?,可實(shí)現(xiàn)機(jī)器人的各種轉(zhuǎn)動(dòng)控制與供電。
機(jī)器人本體由機(jī)器人控制單元、電源單元、機(jī)械單元、無(wú)線傳輸單元四部分組成,機(jī)器人控制單元的作用為控制機(jī)器人執(zhí)行不同的交通指揮動(dòng)作;電源單元負(fù)責(zé)為機(jī)器人和ARM芯片提供電能;機(jī)械單元負(fù)責(zé)把機(jī)器人各個(gè)部件連接到一起,并使得機(jī)器人能夠正常運(yùn)轉(zhuǎn);無(wú)線傳輸單元負(fù)責(zé)無(wú)線傳輸數(shù)據(jù),即把主控發(fā)出的信息發(fā)給模擬車(chē)輛,使得模擬車(chē)輛根據(jù)接收到的數(shù)據(jù)完成不同的指令動(dòng)作。
圖3 機(jī)器人手
機(jī)器人包含舵機(jī)、支架、舵盤(pán)、電池、舵機(jī)控制板。為了讓機(jī)器人更加形象,制作了頭部、手臂、軀干、腿部幾個(gè)部分,機(jī)器人三維模型如圖2所示。為了更好的模擬交警指揮動(dòng)作并減少機(jī)加工成本,機(jī)器人的手部采用了3D打印的爪子,如圖3所示。機(jī)器人的整體結(jié)構(gòu)采用了大U、短U和舵機(jī)進(jìn)行連接,底部為了使受力更加均勻,交通機(jī)器人底部利用推力圓柱滾子軸承采用了旋轉(zhuǎn)設(shè)計(jì)。
圖2 交通指揮機(jī)器人三維模型
機(jī)器人擁有10個(gè)自由度,分別為手臂6個(gè)自由度和腿部4個(gè)自由度,能夠完成停止、直行、右轉(zhuǎn)彎、左轉(zhuǎn)彎、變道等動(dòng)作??梢虿煌闹噶钭龀鱿鄳?yīng)的動(dòng)作。
機(jī)器人的控制模塊采用了ARM架構(gòu)的STM32F103 ZET6芯片,通過(guò)ZET6的串口與外部的舵機(jī)控制板進(jìn)行通訊,從而控制機(jī)器人執(zhí)行各種不同的動(dòng)作。STM32F103 ZET6是一種嵌入式-微控制器的集成電路。該芯片性能強(qiáng)悍,接口多且易于調(diào)試,較符合該項(xiàng)目的需求,該芯片原理如圖4所示。
圖4 STM32F103ZET6芯片原理圖
STM32F103ZET6同時(shí)控制LED燈與數(shù)碼管模塊的閃爍與數(shù)據(jù)顯示,當(dāng)機(jī)器人執(zhí)行完指揮動(dòng)作以后,根據(jù)執(zhí)行的動(dòng)作,相應(yīng)通行方向的LED變?yōu)榫G色或者紅色,同時(shí)數(shù)碼管顯示出通行的時(shí)間,此時(shí)程序把NRF2401設(shè)置為發(fā)送模式,把數(shù)據(jù)發(fā)送給接收端的NRF2401,從而可控制智能小車(chē)執(zhí)行不同的動(dòng)作。
NRF2401是單片射頻收發(fā)芯片,工作于2.4~2.5GHz ISM頻段,芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊,輸出功率和通信頻道可通過(guò)程序進(jìn)行配置。NRF2401適用于多種無(wú)線通信的場(chǎng)合,如無(wú)線數(shù)據(jù)傳輸系統(tǒng)、無(wú)線鼠標(biāo)、遙控開(kāi)鎖、玩具等。其原理如圖5所示。
圖5 NRF2401原理圖
本系統(tǒng)采取點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸,當(dāng)接收到數(shù)據(jù)后,通過(guò)函數(shù)處理執(zhí)行不同的動(dòng)作。機(jī)器人完成不同的指揮動(dòng)作之后,把機(jī)器人上的NRF2401設(shè)置為發(fā)送模式,把模擬車(chē)輛上的NRF2401設(shè)置為接收模式,接收端不斷地去判斷收到的數(shù)據(jù)進(jìn)行比較后執(zhí)行不同命令。
祖國(guó)醫(yī)學(xué)認(rèn)為:糖尿病性骨質(zhì)疏松癥的發(fā)病之本是肝腎虧虛。腎乃人體先天之本,腎虛則固攝無(wú)權(quán),精微不藏走瀉,津液虧乏火熾,發(fā)為消渴癥;腎虛貫穿于糖尿病的各個(gè)階段[2]。腎虛則骨髓生化乏源,精血不足,筋骨失養(yǎng),筋腱無(wú)力。肝血不足則筋失濡養(yǎng);肝氣郁結(jié)則脈絡(luò)閉阻,筋失濡養(yǎng),久則傷骨。肝腎兩臟器的聯(lián)系極為緊密,腎精虧虛致肝血不足,肝血不足致腎精虧虛,二者互為因果,因此對(duì)于糖尿病性骨質(zhì)疏松癥的治療,肝腎同治術(shù)后基本原則。
模擬車(chē)輛分為為五個(gè)模塊,分別是控制系統(tǒng),電源系統(tǒng),無(wú)線傳輸系統(tǒng),電機(jī)驅(qū)動(dòng)系統(tǒng)和循跡系統(tǒng)。為了滿足車(chē)輛體積小、功耗低的要求,本系統(tǒng)采用了三輪式模擬車(chē)輛,前輪為萬(wàn)向輪,這樣只需要控制后兩輪的轉(zhuǎn)向即可控制整個(gè)小車(chē)的行動(dòng)方向。當(dāng)模擬車(chē)輛上的無(wú)線發(fā)送模塊設(shè)置為接收模式時(shí),就可以等待發(fā)送來(lái)的指令,收到指令后驅(qū)動(dòng)電機(jī)即可被控制。
模擬車(chē)輛控制系統(tǒng)在驅(qū)動(dòng)電機(jī)行駛的同時(shí)也負(fù)責(zé)接收來(lái)自于機(jī)器人端NRF2401發(fā)送的數(shù)據(jù),同時(shí)還需接收光電傳感器反饋回來(lái)的信號(hào),用于在平臺(tái)上進(jìn)行循跡運(yùn)動(dòng),為了實(shí)現(xiàn)以上功能,并盡可能壓低成本,本系統(tǒng)同樣采取了ARM架構(gòu)的STM32RBT6,它有64個(gè)引腳,SPI與PWM(脈沖寬度調(diào)制)輸出,并且具有計(jì)算能力強(qiáng),主頻高等優(yōu)點(diǎn),并且支持3.3V供電與低功耗模式。
模擬車(chē)輛部分的無(wú)線傳輸模塊設(shè)置為接收模式,在沒(méi)有數(shù)據(jù)的時(shí)候一直等待發(fā)送端的數(shù)據(jù),當(dāng)接收到發(fā)送端發(fā)送的數(shù)據(jù)后,把數(shù)據(jù)傳輸給模擬車(chē)輛的控制部分進(jìn)行運(yùn)算,然后車(chē)輛根據(jù)接收到的數(shù)據(jù)進(jìn)行判斷,如果與發(fā)送端的數(shù)據(jù)一致,車(chē)輛則進(jìn)入運(yùn)動(dòng)模式。
電機(jī)驅(qū)動(dòng)系統(tǒng)通過(guò)主控的兩個(gè)GPIO引腳實(shí)現(xiàn)控制功能,并把主控的PWM輸出引腳接至電機(jī)驅(qū)動(dòng)模塊的占空比調(diào)節(jié)引腳上,從而控制電機(jī)動(dòng)作。并且本系統(tǒng)應(yīng)用了差分運(yùn)動(dòng)算法,即令芯片的PWM1引腳產(chǎn)生的占空比為50%,PWM2產(chǎn)生的的占空比為54%,這樣消除了因電機(jī)本身制作產(chǎn)生的的誤差,克服了兩電機(jī)轉(zhuǎn)速不一致的影響。
L298N是一種電機(jī)驅(qū)動(dòng)芯片,結(jié)構(gòu)如圖6所示。它可同時(shí)控制兩個(gè)直流減速電機(jī)做不同動(dòng)作,并具有過(guò)熱自斷和反饋檢測(cè)功能。L298N可對(duì)電機(jī)進(jìn)行直接控制,通過(guò)主控芯片的I/O輸入對(duì)其控制電平設(shè)定,為電機(jī)進(jìn)行正轉(zhuǎn)反轉(zhuǎn)驅(qū)動(dòng),操作簡(jiǎn)單、穩(wěn)定性好,可以滿足直流電機(jī)的大電流驅(qū)動(dòng)條件。
圖6 L298N模塊結(jié)構(gòu)
本系統(tǒng)使用L298N實(shí)現(xiàn)對(duì)小車(chē)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止的控制,將芯片的輸出引腳1、2接到左側(cè)電機(jī),將輸出3、4引腳接到右側(cè)電機(jī),并且把PWM輸出接到A相使能端口,把另外一路PWM接到B相使能端口。初始化引腳后,讓PWM引腳輸出波形給兩個(gè)使能引腳,當(dāng)接收到端口1拉高,端口2拉低的數(shù)據(jù)時(shí)將會(huì)產(chǎn)生前進(jìn)信號(hào),控制電機(jī)正轉(zhuǎn)。電機(jī)正轉(zhuǎn)、反轉(zhuǎn)和停止的控制真值表如表1所示。
表1 小車(chē)電機(jī)程序控制真值表
在行駛的過(guò)程中,讓兩側(cè)的光電檢測(cè)軌跡線,防止小車(chē)沖出指定的賽道。當(dāng)檢測(cè)出到達(dá)平臺(tái)邊緣時(shí),就讓小車(chē)停前進(jìn),電機(jī)停止轉(zhuǎn)動(dòng)。
循跡系統(tǒng)通過(guò)光電傳感器檢測(cè)平臺(tái)上的軌跡,然后把檢測(cè)的信息發(fā)送給RBT6,然后通過(guò)RBT6輸出PWM控制模擬車(chē)輛沿著軌跡進(jìn)行運(yùn)動(dòng)。
光電傳感器是將光信號(hào)轉(zhuǎn)換為電信號(hào)的一種器件。本系統(tǒng)采用了紅外漫反射型光電傳感器,其檢測(cè)距離可以調(diào)節(jié),當(dāng)檢測(cè)到物體的信號(hào)時(shí),引腳會(huì)產(chǎn)生高電平,反之則產(chǎn)生低電平。其原理如圖7所示。
圖7 光電傳感器原理圖
光電傳感器在本系統(tǒng)中用于車(chē)流量計(jì)算,本系統(tǒng)在東西南北四個(gè)方向共加入了4個(gè)光電傳感器。首先將引腳設(shè)置為外部中斷模式,觸發(fā)方式是上升沿檢測(cè),然后使能中斷,當(dāng)檢測(cè)到車(chē)輛時(shí),光電傳感器的數(shù)據(jù)引腳會(huì)返回一個(gè)高電平,即“1”,然后觸發(fā)中斷,進(jìn)入中斷處理函數(shù)。先確定是否真的發(fā)生中斷,然后讓程序中的內(nèi)部變量增加,這里的內(nèi)部變量代表了實(shí)際中車(chē)的數(shù)量,當(dāng)檢測(cè)到車(chē)輛的時(shí)候會(huì)觸發(fā)中斷,中斷函數(shù)中的變量增加。接下來(lái)清除中斷標(biāo)志位,然后對(duì)比東西和南北兩個(gè)走向的車(chē)流量,當(dāng)各個(gè)方向車(chē)的數(shù)量相差不大的時(shí)候,程序設(shè)置讓通行時(shí)間不變,當(dāng)各個(gè)方向車(chē)輛差距較大時(shí)設(shè)計(jì)讓等待時(shí)間增長(zhǎng),即讓車(chē)輛多的一邊多通行一會(huì),從而減少交通堵塞。
本系統(tǒng)的實(shí)物圖見(jiàn)圖8~10,目前可實(shí)現(xiàn)模擬車(chē)輛的停止、直行、右轉(zhuǎn)彎、左轉(zhuǎn)彎、變道等動(dòng)作。通過(guò)實(shí)物測(cè)試,該系統(tǒng)可靠性較高。
圖8 指揮機(jī)器人實(shí)物圖
圖9 車(chē)輛實(shí)物圖
本文設(shè)計(jì)并實(shí)現(xiàn)了一種小型的基于ARM的架構(gòu)的智能交通指揮機(jī)器人系統(tǒng)。該系統(tǒng)擬在無(wú)人管理狀態(tài)下,利用智能交通機(jī)器人通過(guò)對(duì)車(chē)流量的計(jì)算來(lái)進(jìn)行擁堵優(yōu)先級(jí)判斷,選擇合適的處理方法,使道路更加的暢通。
圖10 整體平臺(tái)圖