汪莉娟 李映輝 萬(wàn)國(guó)慶 江捷
(蘭州交通大學(xué)自動(dòng)化與電氣工程學(xué)院 甘肅省蘭州市 730000)
隨著自動(dòng)化技術(shù)和人工智能技術(shù)的發(fā)展,各種智能型機(jī)器人產(chǎn)品被研發(fā)并逐漸投入使用,改變?nèi)藗兊纳?。本文研究了一種可自動(dòng)跟隨解放雙手的智能載物跟隨系統(tǒng),該系統(tǒng)能在無(wú)需人手操控的情況下自動(dòng)追蹤使用者的軌跡行進(jìn)。
智能載物跟隨系統(tǒng)基于單片機(jī)設(shè)計(jì)實(shí)現(xiàn)。主控模塊主要包括兩部分:恩智浦RT1064 和STC51 單片機(jī)。STC51 單片機(jī)主要用于采集單接收超聲波模塊和藍(lán)牙模塊的數(shù)據(jù),恩智浦RT1064 則通過(guò)計(jì)算處理數(shù)據(jù),對(duì)電機(jī)模塊、蜂鳴器模塊和顯示模塊進(jìn)行控制,承擔(dān)著系統(tǒng)的運(yùn)行,二者之間以串口UART 模式進(jìn)行通信。此外,恩智浦RT1064 還通過(guò)采集紅外光電開關(guān)模塊、HX711 壓力傳感器模塊、編碼器模塊的數(shù)據(jù),實(shí)現(xiàn)系統(tǒng)的自動(dòng)避障,稱重報(bào)警,調(diào)速等其他功能。系統(tǒng)架構(gòu)圖如圖1 所示。
自動(dòng)避障功能通過(guò)紅外光電開關(guān)避障模塊實(shí)現(xiàn)。該模塊主要采用高效紅外發(fā)光二極管和光敏三極管作為光電轉(zhuǎn)換元件,當(dāng)距離障礙物的距離小于設(shè)定閾值時(shí),控制電機(jī)減速,系統(tǒng)不再前進(jìn),實(shí)現(xiàn)避障。
自動(dòng)跟隨功能采用單接收超聲波模塊實(shí)現(xiàn)。獲取單發(fā)送超聲波模塊的數(shù)據(jù)后,可以通過(guò)計(jì)算判斷用戶位置,恩智浦RT1064 再根據(jù)計(jì)算的位置控制電機(jī)運(yùn)轉(zhuǎn),實(shí)現(xiàn)自動(dòng)跟隨功能。
報(bào)警功能主要檢測(cè)兩種情況:超重報(bào)警和防盜報(bào)警。
超重報(bào)警功能采用HX711 壓力傳感器模塊測(cè)載物重量,當(dāng)載重超過(guò)最大載重時(shí),觸發(fā)報(bào)警裝置,提醒用戶拿走部分物品以減輕重量。
在防盜模式下,系統(tǒng)通過(guò)采集紅外光電開關(guān)模塊的數(shù)據(jù),監(jiān)測(cè)未認(rèn)證用戶有可能的非法行為。系統(tǒng)設(shè)置安全區(qū)域值,如果有未認(rèn)證用戶進(jìn)入安全區(qū)域值,觸發(fā)蜂鳴器模塊,系統(tǒng)報(bào)警,以提醒用戶及時(shí)注意物品安全。
為便于使用,本系定義了手機(jī)端藍(lán)牙串口APP 的按鍵,方便用戶從手機(jī)端進(jìn)行操作。自動(dòng)跟隨載物小車裝有藍(lán)牙通信接口,用戶可通過(guò)手機(jī)藍(lán)牙連接系統(tǒng)。手機(jī)APP 設(shè)計(jì)有多種功能按鍵,使用者可根據(jù)個(gè)人需求點(diǎn)擊按鍵,通過(guò)手機(jī)將命令發(fā)送給載物小車,使之實(shí)現(xiàn)各種功能。
目前市面上的各種行李箱只能在平地上運(yùn)行,而生活中實(shí)際路線卻會(huì)出現(xiàn)各種各樣的路面,本系統(tǒng)采用對(duì)稱搖桿機(jī)構(gòu)及減震裝置來(lái)搭建車架底座,以適應(yīng)各種坑洼不平的路面。在搭建硬件支架時(shí),我們注意了鉆孔時(shí)孔位的對(duì)稱性,以及在對(duì)稱搖桿機(jī)構(gòu)處螺絲的松緊程度,使得整個(gè)系統(tǒng)對(duì)稱,保持平衡和穩(wěn)定。同時(shí)采用pvc 管搭建硬件支架具有不易變形,系統(tǒng)強(qiáng)度高,價(jià)格便宜,方便操作搭建等優(yōu)勢(shì)。當(dāng)其任一輪碰到障礙物時(shí),其輪子上方的搖桿機(jī)構(gòu)便會(huì)抬起,輔助其越過(guò)障礙物,而另一側(cè)的搖桿機(jī)構(gòu)則保持正常姿態(tài)。實(shí)際測(cè)試中,對(duì)稱搖桿機(jī)構(gòu)對(duì)于系統(tǒng)順利通過(guò)坑洼路面起到了關(guān)鍵作用。車架底座實(shí)物圖如圖2 所示。
圖1:系統(tǒng)架構(gòu)圖
圖2:車架底座實(shí)物圖
智能載物跟隨系統(tǒng)的自動(dòng)跟隨算法是基于聲音測(cè)距的基本原理來(lái)展開的。想要用超聲波來(lái)測(cè)距,首先要得到超聲波在空氣中傳播的速度和發(fā)送與接收的時(shí)間差,通過(guò)公式D=(tr-ts)*V/2 就能測(cè)得聲源與接收器的距離。(D:距離;ts:超聲波發(fā)送起始時(shí)間;tr:超聲波接收到的時(shí)間;V:超聲波在空氣中傳播的距離)在單接收超聲波模塊里有內(nèi)置的51 單片機(jī),通過(guò)其定時(shí)器/計(jì)數(shù)器可以很容易的算出距離。然后再利用串口UART 模式,將數(shù)據(jù)輸出到主控芯片RT1064。
目前,大部分的超聲波自動(dòng)跟隨算法是由兩個(gè)單接收超聲波模塊和一個(gè)單發(fā)送超聲波模塊組成。假定單發(fā)送超聲波模塊為A,另外兩個(gè)單接受超聲波模塊分別為B、C。當(dāng)?shù)玫紸B 與AC 之間的距離后,有兩種處理數(shù)據(jù)的方式:
直接判斷AB 與AC 的大小推算出目標(biāo)的大概位置。
若AB>AC,則目標(biāo)位于系統(tǒng)的右側(cè),此時(shí)應(yīng)該驅(qū)動(dòng)電機(jī)向右進(jìn)行差速轉(zhuǎn)彎。若AB
通過(guò)距離AB 與AC 直接算得目標(biāo)的確定位置。
首先在安裝兩個(gè)單接受超聲波模塊時(shí),便能測(cè)得二者之間的距離,如圖3 所示,測(cè)算目標(biāo)具體位置即求(x,y)。由于目標(biāo)的移動(dòng)速度遠(yuǎn)遠(yuǎn)單片機(jī)獲取目標(biāo)距離值的速度,即在每一個(gè)計(jì)算周期內(nèi),可不在考慮目標(biāo)在這段時(shí)間的距離移動(dòng)值,因此由AB、AC、BC,可列以下方程:
圖3:兩超聲波位置與計(jì)算圖示
圖4:三超聲波位置與計(jì)算圖示
圖5:優(yōu)化方案圖示
圖6:手機(jī)操作界面
圖7:程序設(shè)計(jì)框架圖
表1:算法對(duì)比表
求解出(x,y)的坐標(biāo)后,單片機(jī)根據(jù)這個(gè)坐標(biāo)去控制系統(tǒng)運(yùn)行,實(shí)現(xiàn)對(duì)系統(tǒng)的精確控制。
該算法能以最簡(jiǎn)單的方式實(shí)現(xiàn)自動(dòng)跟隨,但仍有改進(jìn)空間。首先目標(biāo)的移動(dòng)速度遠(yuǎn)大于單片機(jī)獲取目標(biāo)距離值的速度,并且單片機(jī)驅(qū)動(dòng)電機(jī)轉(zhuǎn)向也需要時(shí)間。單接收超聲波裝置由于接收口是朝向前方的,假如目標(biāo)以較快的速度移動(dòng)到系統(tǒng)的后方或側(cè)后方,系統(tǒng)有很大的可能還來(lái)不及轉(zhuǎn)向,此時(shí)便會(huì)丟失目標(biāo)位置,從而不能實(shí)現(xiàn)自動(dòng)跟隨。而如果將單接收超聲波裝置接收口朝上放置,會(huì)出現(xiàn)另外一種問(wèn)題,即無(wú)法確定目標(biāo)是位于系統(tǒng)的前方還是后方,依舊無(wú)法實(shí)現(xiàn)準(zhǔn)確的自動(dòng)跟隨。
當(dāng)采用三個(gè)單接收超聲波模塊按照等邊三角形的位置朝上放置在系統(tǒng)的三個(gè)頂角上,可以有效的定位目標(biāo)位置。布置圖如圖4 所示。已知等邊三角形邊長(zhǎng)為a,采集到三個(gè)單接收超聲波模塊距離目標(biāo)的距離,令其分別為AD、BD、CD??傻玫揭韵路匠蹋?/p>
此時(shí)通過(guò)計(jì)算(x,y)的坐標(biāo)便能定位目標(biāo)的位置。但實(shí)際情況中,由于目標(biāo)一直在移動(dòng),通過(guò)計(jì)算方程求解坐標(biāo),會(huì)導(dǎo)致系統(tǒng)響應(yīng)時(shí)間較長(zhǎng),占用過(guò)多單片機(jī)資源。因此提出以下優(yōu)化方案。
采用四個(gè)單接收超聲波模塊,分別放置在系統(tǒng)的四個(gè)角上,并使接收口朝上,如圖5 所示。分別采集A、B、C、D 距離目標(biāo)的距離a、b、c、d,求得ab、bc、ac、bd 之間的距離之差。下面分情況進(jìn)行說(shuō)明。
(1)當(dāng)ab 之間的距離之差為0 時(shí),目標(biāo)位于ab 中垂線上的某一點(diǎn),此時(shí),根據(jù)bc 之間的距離差來(lái)判斷目標(biāo)位于系統(tǒng)的左側(cè)還是右側(cè),當(dāng)bc 之間的距離之差小于0 時(shí),目標(biāo)位于系統(tǒng)的右側(cè),反之則位于系統(tǒng)的左側(cè)。
(2)當(dāng)bc 之間的距離之差為0 時(shí),目標(biāo)位于bc 中垂線上的某一點(diǎn),此時(shí),根據(jù)ab 之間的距離差來(lái)判斷目標(biāo)位于系統(tǒng)的前方還是后方,當(dāng)之間的距離之差小于0 時(shí),目標(biāo)位于系統(tǒng)的前方,反之則位于系統(tǒng)的后方。
(3)當(dāng)ac 之間的距離之差為0 時(shí),目標(biāo)位于ac 中垂線上的某一點(diǎn),此時(shí),根據(jù)bd 之間的距離差來(lái)判斷目標(biāo)位于系統(tǒng)的右前方還是左后方,當(dāng)之間的距離之差小于0 時(shí),目標(biāo)位于系統(tǒng)的右前方,反之則位于系統(tǒng)的左后方。
(4)當(dāng)bd 之間的距離之差為0 時(shí),目標(biāo)位于bd 中垂線上的某一點(diǎn),此時(shí),根據(jù)ac 之間的距離差來(lái)判斷目標(biāo)位于系統(tǒng)的左前方還是右后方,當(dāng)ac 之間的距離之差小于0 時(shí),目標(biāo)位于系統(tǒng)的右后方,反之則位于系統(tǒng)的左前方。
實(shí)際中,ab、bc、ac、bd 之間的距離之差為0 是比較特殊的情況,一般可以取四組距離差最小的一組粗略定位方向。通過(guò)此種方法,可以將目標(biāo)的位置大致定位在八個(gè)方向,能夠有效地優(yōu)化系統(tǒng)的自動(dòng)跟隨。另外這個(gè)算法可以有效地跟麥克納姆輪結(jié)合在一起,單片機(jī)直接通過(guò)定位的方向,確定麥克納姆輪的運(yùn)動(dòng)方向,能夠最大的節(jié)約調(diào)整方向的時(shí)間,使整個(gè)系統(tǒng)運(yùn)轉(zhuǎn)速度更快,效率更高。但是考慮到單接收超聲波模塊接收信號(hào)時(shí)會(huì)受角度影響,橫放放置,當(dāng)用戶距離過(guò)遠(yuǎn)時(shí),會(huì)影響定位精度。三種算法對(duì)比如表1 所示。
為了便于使用,本系統(tǒng)利用了手機(jī)端藍(lán)牙串口APP 程序,實(shí)現(xiàn)手機(jī)遙控功能。該功能是基于Android 系統(tǒng)設(shè)計(jì),利用手機(jī)藍(lán)牙串口APP 與系統(tǒng)進(jìn)行通信。通過(guò)分析用戶在實(shí)際生活中可能需要使用的功能編寫程序,在APP 程序中定義了不同功能的按鍵并設(shè)計(jì)相應(yīng)的控制程序。手機(jī)APP 界面如圖6 所示。
當(dāng)通過(guò)藍(lán)牙串口APP連接上系統(tǒng)后,用戶按下不同功能的按鍵,手機(jī)藍(lán)牙會(huì)自動(dòng)發(fā)送相關(guān)的信息傳送給系統(tǒng)的藍(lán)牙模塊。單片機(jī)利用串口中斷獲取藍(lán)牙模塊中所接受的信息,在主程序里進(jìn)行循環(huán)遍歷,進(jìn)而實(shí)現(xiàn)不同的功能。另外,用戶通過(guò)手機(jī)APP 可以很方便的使用系統(tǒng),主要包括一鍵連接系統(tǒng)、一鍵防盜、一鍵跟隨等功能。在自動(dòng)跟隨的過(guò)程中,系統(tǒng)通過(guò)紅外光電開關(guān)模塊,當(dāng)識(shí)別到前方有障礙物時(shí),會(huì)執(zhí)行避障操作。用戶還可以通過(guò)手機(jī)上顯示的按鍵自由操控載物系統(tǒng)前進(jìn),滿足了實(shí)際生活中一些不需要跟隨的載物要求。此外,APP 程序配置了速度可調(diào)按鍵,當(dāng)上坡、或者道路不好時(shí),方便用戶啟動(dòng)。速度可調(diào)按鍵和對(duì)稱雙搖桿機(jī)構(gòu)的配置,使系統(tǒng)能通過(guò)實(shí)際生活中的大部分路面,克服了因外界路面環(huán)境不良而不能使用的情況。程序設(shè)計(jì)框架如圖7 所示。
本文設(shè)計(jì)的智能載物跟隨系統(tǒng)結(jié)合單片機(jī)及無(wú)線通訊技術(shù),能夠?qū)崿F(xiàn)自動(dòng)跟隨及自動(dòng)避障功能,并通過(guò)手機(jī)APP 實(shí)現(xiàn)一鍵防盜,藍(lán)牙遙控功能。本文對(duì)已有的自動(dòng)跟隨算法進(jìn)行優(yōu)化,其優(yōu)化后的自動(dòng)跟隨算法能夠適應(yīng)更多的場(chǎng)景,可大大簡(jiǎn)化算法,提高定位精度。智能載物跟隨系統(tǒng)不僅能夠作為私人出行工具,也可以在公共場(chǎng)合進(jìn)行共享,如超市、車站等地方。使用者通過(guò)手機(jī)藍(lán)牙連接系統(tǒng)后即可使用,為以后公共場(chǎng)合出行載物提供了一種新的共享思路。