摘要:為了針對腿部受傷人員下輪椅做康復(fù)運(yùn)動(dòng),傳統(tǒng)輪椅需要人力推動(dòng),毫無智能化,設(shè)計(jì)并實(shí)現(xiàn)了一款自動(dòng)跟隨輪椅系統(tǒng)。該系統(tǒng)以STM32和樹莓派4B為主控,利用分體式超聲波定位技術(shù)實(shí)現(xiàn)輪椅與人體距離的檢測,判斷使用者的位置, 同時(shí)利用OpenCV圖像識(shí)別技術(shù),通過采集識(shí)別人體攜帶的標(biāo)簽來匹配人體并利用PID算法控制電機(jī)驅(qū)動(dòng)來輪椅移動(dòng)和轉(zhuǎn)彎方向,實(shí)現(xiàn)雙模態(tài)定位,精準(zhǔn)跟隨用戶。
關(guān)鍵詞:自動(dòng)跟隨;超聲波定位;圖像識(shí)別;STM32
一、前言
隨著全球新一輪科技革命和時(shí)代的不斷發(fā)展,醫(yī)療保險(xiǎn)的不斷普及和社會(huì)福利的不斷提高,人們對于智能化服務(wù)設(shè)備的要求也越來越高。在智能化社會(huì)的發(fā)展背景下,開發(fā)一款更適用于康復(fù)期患者的智能輪椅,具有重要的研究價(jià)值和社會(huì)意義。對處于恢復(fù)階段的傷殘人士而言,乘坐輪椅與行走交替有助于身體機(jī)能的恢復(fù),可以避免對輪椅的長期依賴而導(dǎo)致身體運(yùn)動(dòng)機(jī)能的退化[1]。同時(shí),輪椅使用者在戶外場所常常需要他人的陪伴與引導(dǎo),輪椅的自動(dòng)跟隨功能也可減輕看護(hù)人員的陪護(hù)負(fù)擔(dān)。目前,傳統(tǒng)輪椅在醫(yī)療保健領(lǐng)域?qū)τ谕饶_受傷的康復(fù)人員,下輪椅做康復(fù)運(yùn)動(dòng),需要人力推動(dòng),缺乏智能化并增加負(fù)擔(dān)。本文設(shè)計(jì)實(shí)現(xiàn)一款智能跟隨康復(fù)輪椅,為解決康復(fù)人員獨(dú)立出行和做康復(fù)訓(xùn)練等問題,切實(shí)為腿腳不便的這類人群提供有利的服務(wù)。
二、設(shè)計(jì)方案
該系統(tǒng)為了實(shí)現(xiàn)輪椅的自動(dòng)跟隨,在輪椅左右兩側(cè)分別搭載分體式超聲波的發(fā)送端,同時(shí)在輪椅把手中間安裝深度攝像頭。STM32主控負(fù)責(zé)輪椅的電機(jī)驅(qū)動(dòng)和實(shí)現(xiàn)超聲波傳感器的信號(hào)處理,由樹莓派4B負(fù)責(zé)圖像處理,并通過UART通信給下位機(jī)傳輸運(yùn)動(dòng)指令,輸出PID算法控制電機(jī)驅(qū)動(dòng)來實(shí)現(xiàn)輪椅移動(dòng)和轉(zhuǎn)向,實(shí)現(xiàn)雙模態(tài)定位,精準(zhǔn)跟隨用戶。
(一)輪椅結(jié)構(gòu)設(shè)計(jì)
在設(shè)計(jì)前期,為探索輪椅結(jié)構(gòu),對傳統(tǒng)輪椅結(jié)構(gòu)進(jìn)行了實(shí)驗(yàn),最后確定了輪椅的結(jié)構(gòu)圖。微控制器和電機(jī)驅(qū)動(dòng)等控制組件放置在輪椅背面。為了獲得更為開闊的視野,攝像頭放在輪椅頂部,兩個(gè)超聲波模塊放在了兩側(cè)方便接收信號(hào),便于跟隨。輪椅的兩個(gè)后輪為驅(qū)動(dòng)輪,兩個(gè)前輪為萬向輪,使兩個(gè)驅(qū)動(dòng)輪有合適的速度差即可實(shí)現(xiàn)任意轉(zhuǎn)向,并且可以通過后面扶手來推送輪椅。并且有剎車系統(tǒng),輪椅??繒r(shí),使用者兩手握住左右剎車手柄,然后同時(shí)用力將剎車手柄向前推動(dòng)至剎車自鎖狀態(tài),使后輪完全停止轉(zhuǎn)動(dòng)至靜止?fàn)顟B(tài),從而達(dá)到輪椅駐停的效果。
(二)硬件設(shè)計(jì)
1.微型控制器
本系統(tǒng)采用STM32F407為下位機(jī)主控,該芯片具有1MB內(nèi)置flash,內(nèi)置I2C,SPI,USART,I2S,CAN和SDIO等通訊協(xié)議接口以及192+4KB的運(yùn)行內(nèi)存,擁有強(qiáng)大的外設(shè)、低功耗、運(yùn)行速度快、成本低、2個(gè)DMA控制器等優(yōu)勢,用于樹莓派平臺(tái)的信息通信,傳感器的信息接收處理和電機(jī)驅(qū)動(dòng)控制。
樹莓派4B擁有8GB的內(nèi)存,且擁有USB接口去連接深度相機(jī),其強(qiáng)大的算力和充裕的內(nèi)存可以利用更加復(fù)雜的算法對深度攝像頭采集到的圖像進(jìn)行實(shí)時(shí)的采集和深度處理,并將處理結(jié)果傳給下位機(jī)主控?;跇漭?B以上的特點(diǎn),本系統(tǒng)將其作為通信的上位機(jī)主控。
2.電源管理模塊
本次設(shè)計(jì)使用的供電電源是24V的鉛酸電池,是技術(shù)最成熟的電池,具有性能穩(wěn)定、可靠、適用性好等優(yōu)點(diǎn)。樹莓派和SMT32單片機(jī)正常供電是5V,而超聲波模塊的工作電壓為3.3V。為保證各模塊能穩(wěn)定正常工作,需要對電源進(jìn)行三次降壓以后供給各個(gè)模塊使用。
(1)12V電源模塊:我們選用的降壓模塊是LM295-12,將24V電壓轉(zhuǎn)換成12V, LM2596是3A電流輸出降壓開關(guān)型集成穩(wěn)壓芯片,它內(nèi)含固定頻率振蕩器(15OKHZ)和基準(zhǔn)穩(wěn)壓器,并具有完善的保護(hù)電路、電流限制、熱關(guān)斷電路等。
(2)5V降壓模塊:通過XL1509得到5V電壓,能夠以高效率、低紋波和出色的線路和負(fù)載調(diào)節(jié)驅(qū)動(dòng)2A負(fù)載。
(3)3.3V降壓模塊:最后利用AMS1117-3.3輸出3.3V。
3.電機(jī)驅(qū)動(dòng)模塊
此次設(shè)計(jì)采用的是BTN7971電機(jī)驅(qū)動(dòng)芯片[2]來控制輪椅電機(jī)的驅(qū)動(dòng)。其驅(qū)動(dòng)電流最大可達(dá)到44A,最大輸出電壓可達(dá)到45V,而電機(jī)的額定電壓為24V,額定電流為13.6A,故完全可以驅(qū)動(dòng)輪椅電機(jī)運(yùn)動(dòng),在有負(fù)載情況下,也可以輕松應(yīng)對。同時(shí)為了防止電機(jī)漏電流過大,我們還在驅(qū)動(dòng)芯片和單片機(jī)之間用74HC244芯片隔離,增強(qiáng)控制信號(hào)的驅(qū)動(dòng)能力,防止驅(qū)動(dòng)芯片出現(xiàn)故障后,電流倒灌進(jìn)單片機(jī)控制引腳,導(dǎo)致單片機(jī)損壞。同時(shí),也在板子電源接口并聯(lián)二極管(M7),起到防反接保護(hù)作用。
此驅(qū)動(dòng)電路通過控制輸入的PWM波的占空比來調(diào)節(jié)電機(jī)兩端的平均電壓,達(dá)到控制電機(jī)的轉(zhuǎn)速的目的。驅(qū)動(dòng)電路結(jié)構(gòu)十分簡單,使用的元器件少,方便了電路的調(diào)試與維修,同時(shí)負(fù)載能力強(qiáng)。
4.超聲波模塊
超聲波在介質(zhì)中傳播時(shí)遇到不同的界面將產(chǎn)生反射、繞射、折射等原理,在各行各業(yè)得到廣泛應(yīng)用[3]。超聲波定位模塊的基礎(chǔ)是超聲波測距,本設(shè)計(jì)使用的測距模塊是單發(fā)雙接收發(fā)超聲波裝置,該裝置的測量范圍為4~500cm,精度為3mm。定位裝置由發(fā)射超聲波模塊、接收超聲波模塊和供電電路組成。發(fā)射超聲波模塊只需將VCC和GND接入系統(tǒng)電源即可發(fā)送出8個(gè)50Hz的方波信號(hào),再利用兩個(gè)接收模塊接收方波信號(hào),通過聲音信號(hào)引腳S和光信號(hào)引腳L即可傳送給單片機(jī)處理,從而可以更精準(zhǔn)的判斷使用者的距離,更好的去結(jié)合算法完成其他更復(fù)雜的動(dòng)作。在人多復(fù)雜的場景下,雙接收模塊會(huì)比單接收有更高的容錯(cuò)率,具有更高的測量精度。
5.深度攝像頭
攝像頭模塊的使用更多是用在人員復(fù)雜,超聲波雙接受模塊都無法正常接受的情況下。我們通過提前對使用者的背部進(jìn)行特征獲取,然后使用該功能時(shí)進(jìn)行模式識(shí)別,識(shí)別成功后,在進(jìn)行測距。其測距的原理是模擬人類視覺原理,從兩個(gè)點(diǎn)或者多個(gè)點(diǎn)觀察一個(gè)物體,獲取在不同視角下的圖像,根據(jù)圖像之間的像素匹配關(guān)系,通過三角測量原理計(jì)算出像素之間的偏移來獲取物體的三維信息。
(三)軟件設(shè)計(jì)
本作品選用STM32芯片作為數(shù)字處理單元,使用keil軟件配合C語言搭建仿真調(diào)試環(huán)境。將代碼燒錄到MCU中,配合外圍電路使整個(gè)作品完成相應(yīng)的功能。整體系統(tǒng)分為兩個(gè)部分,第一部分是超聲波攝像頭傳感器的數(shù)據(jù)采集部分,實(shí)時(shí)獲取人體所在位置。超聲波通過接收發(fā)送模塊的數(shù)據(jù)傳輸,通過ADC數(shù)模轉(zhuǎn)換傳送給單片機(jī)處理;再加上復(fù)雜場景中超聲波模塊難以辨別時(shí)采用OpenCV圖像處理模塊來跟蹤識(shí)別人體,實(shí)現(xiàn)緊密跟隨。第二部分為輪椅運(yùn)動(dòng)系統(tǒng)的控制,實(shí)時(shí)接收遙控器指令,可以在遙控器上設(shè)定跟隨距離;運(yùn)動(dòng)控制模式,包括手控模式和自主跟隨模式等。
1.STM32的主程序設(shè)計(jì)
STM32部分的主程序包括運(yùn)動(dòng)模式的切換、超聲波數(shù)據(jù)的采集處理、攝像頭圖像數(shù)據(jù)的采集、復(fù)雜場景的識(shí)別、無線數(shù)據(jù)的接收,輪椅的運(yùn)動(dòng)控制、功能按鍵設(shè)定距離以及切換模式。
2.樹莓派的人物識(shí)別與跟隨:
樹莓派的程序設(shè)置相對復(fù)雜,樹莓派的人物識(shí)別與跟隨采用了基于OpenCV的邊緣檢測[4]來提取人物特征值。
邊緣檢測是圖像處理和計(jì)算機(jī)視覺中的基本問題,邊緣檢測的目的是標(biāo)識(shí)數(shù)字圖像中亮度變化明顯的點(diǎn),往往以輪廓的形式表現(xiàn)出來,通過Sobel算子尋找圖像一階導(dǎo)數(shù)中最大值來檢測邊界利用計(jì)算結(jié)果估計(jì)邊緣局部方向,通常采用梯度方向搜索,利用此方向找到局部梯度模最大值,實(shí)現(xiàn)目標(biāo)的邊緣檢測,同時(shí)調(diào)用OpenCV函數(shù)庫里膨脹和腐蝕函數(shù)來消除噪聲,分割出獨(dú)立的圖像元素,在圖像中連接相鄰的元素,尋找圖像中的明顯極大值區(qū)域或極小值區(qū)域,求出圖像的梯度,更加精準(zhǔn)地對人物進(jìn)行識(shí)別。
在完成了這些操作后,基于樹莓派的人物追蹤系統(tǒng)便通過樹莓派攝像頭獲得了目標(biāo)的特征值,并且每次截取一幀圖像后所得的特征值都會(huì)與上一次獲得的特征值進(jìn)行比較,若發(fā)現(xiàn)人物特征值出現(xiàn)偏移,樹莓派會(huì)自動(dòng)調(diào)整攝像頭以鎖定目標(biāo),當(dāng)系統(tǒng)確定了特征值后,便會(huì)將信息傳遞給車體控制模塊,以便實(shí)現(xiàn)跟隨任務(wù)。
3.超聲波測距程序設(shè)計(jì)
分體式超聲波測距模塊的測距原理就是利用超聲波在空氣中的傳播速度為已知,測量聲波在發(fā)送模塊(以下簡稱DM1TA)發(fā)射后到達(dá)接收模塊(以下簡稱DM1RA)的時(shí)間,根據(jù)發(fā)射和接收的時(shí)間差計(jì)算出發(fā)射點(diǎn)到障礙物的實(shí)際距離。由于模塊是分體式,測距聲波信號(hào)是由DMITA發(fā)射超聲波測距信號(hào),那么此時(shí)DM1RA是不知道發(fā)射時(shí)間的,因此新增一個(gè)光信號(hào)。
通過光速和聲速的時(shí)間差,就可以計(jì)算發(fā)射位置與我們位置之間的直線距離。根據(jù)實(shí)際情況計(jì)算,該超聲波模塊的適用測距范圍在50~5000mm的區(qū)間上,將光信號(hào)視為瞬間到達(dá),因此DM1TA與DM1RA間的距離就可以通過以下公式計(jì)算:
本作品采用單發(fā)雙收超聲波模塊, 通過兩個(gè)超聲波信號(hào)計(jì)算出左右兩個(gè)超聲波到使用者的距離,就能更加準(zhǔn)確的定位到使用者的位置,實(shí)現(xiàn)更加準(zhǔn)確的跟隨。
4.ADC數(shù)據(jù)采集
由于超聲波跟隨需要進(jìn)行實(shí)時(shí)信號(hào)采樣,故需要將變換器的輸入/輸出控制參量進(jìn)行離散化數(shù)字采樣[5]。實(shí)現(xiàn)模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換單元一般是由ADC(Analog-to-Digital Converter,模/數(shù)轉(zhuǎn)換器)實(shí)現(xiàn)轉(zhuǎn)換。STM32F4微控制器集成了12位ADC,可以直接將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換成離散的數(shù)字信號(hào),實(shí)現(xiàn)模擬信號(hào)采樣。
本作品需要實(shí)時(shí)進(jìn)行左右兩個(gè)超聲波裝置的光信號(hào)和電信號(hào)的實(shí)時(shí)電壓采集,根據(jù)STM32F4微控制器ADC功能單元的工作原理,多通道規(guī)則采樣時(shí)內(nèi)部只帶有一個(gè)轉(zhuǎn)換結(jié)果數(shù)據(jù)寄存器,在通道轉(zhuǎn)換結(jié)束后需要立即取走,否則后續(xù)通道的轉(zhuǎn)換結(jié)果將覆蓋前一通道的轉(zhuǎn)換結(jié)果,產(chǎn)生錯(cuò)誤數(shù)據(jù)。
5.PID控制算法設(shè)計(jì)
PID(proportion integration differentiation)控制應(yīng)該是控制中應(yīng)用非常廣泛的控制算法之一。PID其實(shí)就是指比例、積分、微分控制。它利用測量元件測量系統(tǒng)的輸出,并與指定參考輸入進(jìn)行比較獲得當(dāng)前誤差量;誤差量在經(jīng)過比例、積分、微分三種運(yùn)算方式進(jìn)行計(jì)算,疊加形成新的輸出控制量;計(jì)算得到的控制量直接輸出給控制對象,從而使被控對象的輸出得到調(diào)整,實(shí)現(xiàn)控制系統(tǒng)的預(yù)期輸出。
由于位置式具有累積誤差問題,相關(guān)學(xué)者提出了數(shù)字式增量PID控制方法[6],其離散化后的公式為:
數(shù)字式增量PID溢出影響小,在系統(tǒng)出現(xiàn)錯(cuò)誤的情況下影響相對較?。ㄒ?yàn)橹慌c過去的三次誤差有關(guān)),運(yùn)算量也相對較小。
鑒于數(shù)字式增量PID計(jì)算量小、沒有累積誤差的優(yōu)點(diǎn),在大多數(shù)數(shù)字PID控制中均采用數(shù)字式增量PID策略。本作品的數(shù)字控制策略也采用數(shù)字式增量PID控制策略,利用設(shè)置輸出值與當(dāng)前實(shí)時(shí)輸出電壓值的差值,進(jìn)行控制增量計(jì)算,產(chǎn)生PWM占空比D的增量調(diào)整,從而實(shí)現(xiàn)PWM輸出脈沖占空比的調(diào)整,進(jìn)而實(shí)現(xiàn)電機(jī)速度的穩(wěn)定調(diào)控。
三、調(diào)試結(jié)果分析
為了檢測超聲波和攝像頭雙模態(tài)跟隨的穩(wěn)定性,輪椅經(jīng)歷了大量的實(shí)驗(yàn)。在測試過程中,我們分別對超聲波和攝像頭單個(gè)模態(tài)跟隨進(jìn)行多次穩(wěn)定測試,再將雙模態(tài)結(jié)合在一起測試。在平緩的路段,輪椅能通過超聲波和攝像頭準(zhǔn)確識(shí)別人物,跟隨人物行走。當(dāng)人物進(jìn)行左右轉(zhuǎn)動(dòng),通過超聲波測距,能做出及時(shí)的調(diào)整進(jìn)行轉(zhuǎn)向。當(dāng)遇到小型坡度的路面,輪椅有穩(wěn)定的動(dòng)力,跟隨目標(biāo)人物。若途中遇到障礙物,輪椅能自動(dòng)調(diào)整進(jìn)行避障跟隨。大量的實(shí)測數(shù)據(jù)能夠證明,基于超聲波和攝像頭雙模態(tài)的跟隨系統(tǒng)十分穩(wěn)定。
四、結(jié)語
本文就如何實(shí)現(xiàn)基于超聲波及攝像頭雙模態(tài)定位的智能自主跟隨康復(fù)輪椅系統(tǒng)進(jìn)行了一個(gè)闡述。從硬件模塊設(shè)計(jì),各模塊的原理與使用,再到程序的設(shè)計(jì)思路,各模塊間信息的傳遞、參數(shù)的讀取來實(shí)現(xiàn)模塊間的協(xié)調(diào)工作,從而實(shí)現(xiàn)用超聲波和攝像頭配合實(shí)現(xiàn)輪椅的自主跟隨功能。并且在測試期間智能輪椅能達(dá)到測試要求,在簡單環(huán)境下跟隨目標(biāo)人物不丟失,也能實(shí)現(xiàn)對障礙物的躲避,達(dá)到預(yù)期要求。
參考文獻(xiàn)
[1]張斌.具有自動(dòng)跟隨和自然手勢導(dǎo)航功能的智能輪椅的研究[D].蘇州:蘇州大學(xué),2020.
[2]王瑞,柴瑞強(qiáng).基于單目視覺的電動(dòng)小車設(shè)計(jì)[J].農(nóng)業(yè)裝備與車輛工程,2019,57(12):78-82.
[3]李敏,張小英,毛捷.基于鄰域方差加權(quán)平均的小波圖像融合[J].國外電子測量技術(shù),2008,27(01):5-6+23.
[4]胡峰濤,傅自鋼,李建民,等.基于樹莓派的人物追蹤系統(tǒng)及其小車實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2017,13(23):170-172.
[5]陳希湘,朱嶸濤,王錦莉.基于MSP430單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2021,44(09):24-27.
[6]荊麗麗.基于無刷直流電機(jī)的數(shù)字增量式PID控制策略[J].集寧師范學(xué)院學(xué)報(bào),2020,42(03):12-16.
基金項(xiàng)目:基于超聲波和攝像頭雙模態(tài)定位的智能自主跟隨康復(fù)輪椅(202210656006)