申嵐,熊中剛,賀曉瑩,劉德清,肖昌永,羅子強,陳溪華,李慧嫻
(桂林航天工業(yè)學院機電工程學院,廣西 桂林 541004)
時代發(fā)展伴隨著科技的發(fā)展,使人們的生活和醫(yī)療衛(wèi)生水平提高。老齡年齡段的老人越來越多,同時還有殘疾人和經(jīng)歷各種災(zāi)難而造成生活不便的人群,幫助他們改善生活質(zhì)量成為一個重要問題。隨著技術(shù)的發(fā)展,研究幫助老年人的智能輪椅成為一個迫切的趨勢,智能輪椅需要進行研究、設(shè)計、生產(chǎn)制造進而投入使用。在國外,從英國于1986年研制出第一批智能輪椅開始[1],各國投入較多資金并著力開始研究各式各樣的智能輪椅。美國斯坦福研究院(SRI)[2]研制出世界上首臺名為Shakey的智能移動機器人。法國在1989年進行了智能輪椅項目VAHM,設(shè)置了自動、半自動、手動3種控制模式[3]。西班牙的SIAMO項目設(shè)計的輪椅包含操縱桿、眼睛、呼吸、語言、頭部五種模式共同組成輪椅的人機界面[4]。隨著移動機器人技術(shù)的不斷增長,智能輪椅有了更好的交互性,以及更強的自主性和對外界環(huán)境的適應(yīng)性[5]。近年來,智能輪椅正逐漸變得多功能化。我國中科院自動化研究所承擔了“863”智能輪椅項目,成功研制出具有視覺和口令導(dǎo)航功能同時能夠進行語音交互功能[6]。在2019年,由王淑坤、陳輝等[7-8]研究出一款具有對接、升降以及其他輔助功能的智能輪椅,能在一定程度上滿足一些需要特殊護理人群的需求。在2020年中,段佶、平雪良等[9-11]研究出一款基于移動機器人技術(shù)的智能輪椅。上海交通大學設(shè)計了交龍智能輪椅,能進行語音交互和多種環(huán)境下進行路線規(guī)劃的功能[12]。本文研究的智能輪椅是近幾年提出的一種新式輪椅,在電動輪椅的基礎(chǔ)上,增加了定位移動、站立輔助、遙控移動等一些智能的功能,其重要的一項功能是避障,本質(zhì)在于,判斷輪椅自身是否有障礙物阻擋,如有,則平穩(wěn)地繞開障礙物,不能影響到使用者的使用體驗,甚至威脅到他人的生命安全。在原有的避障系統(tǒng)上增加一個自主跟隨的功能,以此改善用戶使用體驗。當他們站起來活動身子時,輪椅保持一定距離的跟隨。這兩種功能提高了輪椅的性能。
本文的整個控制系統(tǒng)將采用模塊化設(shè)計,其主要由中央控制模塊、電機驅(qū)動模塊、超聲波避障模塊以及跟隨模塊幾部分組成。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)
基于總體方案設(shè)計,在Altium Designer中繪制出控制系統(tǒng)的總電路圖,其中包括中央控制器模塊、電機驅(qū)動模塊、超聲波模塊、跟隨模塊、報警模塊以及按鍵模塊的硬件電路設(shè)計。采用STC89C52RC單片機作為該控制系統(tǒng)的中央控制器,分別在輪椅的中間、左邊和右邊安裝3路超聲波傳感器,其作用是用來測量障礙物的距離,同時把檢測到的數(shù)據(jù)發(fā)到控制模塊,中央控制模塊根據(jù)接收到的信息,執(zhí)行相應(yīng)操作,驅(qū)動電機模塊執(zhí)行避障指令。跟隨系統(tǒng)是通過安裝在輪椅兩邊扶手下的紅外傳感器來實現(xiàn)的,紅外傳感器檢測人體或障礙物,通過比較兩邊是否有紅外信號返回,來實現(xiàn)對目標的實時跟隨。系統(tǒng)總電路如圖2所示。
本文選擇E18-D50NK紅外傳感器作為實現(xiàn)跟隨功能的主要硬件。該傳感器是一種發(fā)射與接收一體化的光電傳感器,發(fā)射光經(jīng)調(diào)質(zhì)后,接收頭對光進行調(diào)質(zhì)輸出,一定程度上避免可見光干擾。該型號傳感器外殼通體黃色,同時其外部連線,末端增加有杜邦頭,方便組裝。傳感器外部共有3根線,棕色線接VCC,黑色線作為信號輸出連接到中央控制器的I/O口上以及藍色線接GND,每根線不能接反,否則將會有燒壞傳感器的風險。該輪椅的跟隨功能主要靠兩個裝在輪椅斜前方的紅外傳感器實現(xiàn),紅外傳感器檢測障礙物或人體,通過判斷兩個紅外傳感器是否接受到返回信號來調(diào)整輪椅方向,從而達到跟隨目標的作用。在仿真模擬圖中,由于在Proteus仿真軟件中無法畫出紅外傳感器,為此將用單刀雙擲開關(guān)代替。當開關(guān)打到下面觸點時,表示接受頭收到紅外信號,上傳至控制器,控制器下達指令給執(zhí)行電機完成指令從而實現(xiàn)跟隨功能。
圖3 跟隨模塊
本文的避障模塊由3個HC-SR04超聲波模塊組成,這種型號的超聲波模塊可提供2~400 cm測距,其精度最高可達3 mm。整個模塊主要由超聲波發(fā)射器,接收器與控制器組成,下方共有4個引腳,其中Trig為觸發(fā)信號輸入端口,Echo為回響信號輸出端口,采用3個超聲波模塊分別對前方、左邊和右邊的障礙物進行測距。通過3個放置于不同位置的超聲波,得出超聲波遇到障礙物反射回模塊本身所需要的時間,經(jīng)過中央控制模塊的算法運算,算出障礙物離輪椅本身的距離,當距離小于系統(tǒng)設(shè)定值時,電機控制模塊開始控制左右兩邊的電機轉(zhuǎn)速,從而達到轉(zhuǎn)彎的效果,實現(xiàn)避障功能。如圖4所示。
圖4 超聲波避障設(shè)計
本系統(tǒng)采用L293D芯片作為電機驅(qū)動模塊,其作用是接收來自傳感器的信號,驅(qū)動電機產(chǎn)生動作。L293D芯片是由SEG公司研發(fā)產(chǎn)品,其內(nèi)部包含4通道邏輯電路,在通常情況下可直接連接并同時控制兩個36 V,2 A以下的直流電機,它還能接受標準TTL邏輯電平信號,基本上滿足本模塊設(shè)計要求。由于芯片可直接對電機控制,因此無需連接隔離電路,其主要電路連接如圖5所示。
圖5 電機驅(qū)動模塊
該模塊由一個三極管,一個蜂鳴器組成,它的作用是在一些特定的場合中發(fā)出尖銳的聲響來引起其他路人的注意,當輪椅跟隨失去目標時,提醒使用者自己的輪椅已丟失,其主要電路連接如圖6所示。圖中蜂鳴器連接三極管的原因是單片機的驅(qū)動能力不足以使蜂鳴器工作,利用三極管具有放大信號的作用來使蜂鳴器正常工作。
圖6 報警模板
本文采用Keil C51編寫本系統(tǒng)的控制程序,其中包括超聲波測距程序、避障程序、跟隨程序、電機驅(qū)動程序、PWM信號發(fā)生程序、蜂鳴器報警以及按鍵設(shè)定程序。控制系統(tǒng)主程序流程如圖7所示。
圖7 系統(tǒng)流程
避障系統(tǒng)是本控制系統(tǒng)的核心組成部分,且由于本系統(tǒng)采用超聲波模塊實現(xiàn)避障,因此整個避障模塊的軟件設(shè)計可分為超波測距和避障系統(tǒng)兩部分。當單片機上電初始化,同時會將Echo和Trig端口置于低電平的狀態(tài)中。當開始準備測距工作時,中央控制器首先向Trig端口發(fā)送超過10 μs的高電平脈沖,同時模塊的超聲波發(fā)射器向外發(fā)射8個40 kHz的方波,接著接收頭開始等待收到由障礙物反射回來的超聲波;當有超聲波返回時,模塊的Echo端口輸出上升沿,中央控制器在捕捉上升沿的同時打開定時器T1開始計時,并開始等待捕捉Echo端口的下降沿;當捕捉到下降沿時,停止計時器計時,讀出計時器時間t,此時的t就是超聲波在空氣中傳播的時間。由于定時器T1在工作方式1下是一個16位計數(shù)器,因此可通過time=TH1×265+TL1轉(zhuǎn)換成十進制。單片機根據(jù)公式s=vt算出障礙物離輪椅的距離,其中,v為超聲波在空氣中的傳播速度為340 m/s。此外,由于中央控制器中的計時器所記錄的時間是超聲波在輪椅與障礙物之間傳播一個來回的時間,因此公式中的t要在計時器所讀出的時間基礎(chǔ)上除以2,計時器計時所用單位為μs。最后經(jīng)過單位轉(zhuǎn)換以及上文提到的數(shù)據(jù)處理后,計算障礙物距離公式可整理為s=(17t)/1000,單位為cm。在經(jīng)過超聲波測距得到障礙物的距離后,接下來的操作就是如何避開障礙物。避障的主要核心在于把超聲波模塊所測得的數(shù)據(jù)與系統(tǒng)所設(shè)置的數(shù)值相比,接著做出相應(yīng)的動作避開障礙物,由于本文采用三路超聲波實現(xiàn)避障功能,因此將會得到由3個超聲波模塊計算出來的3個距離數(shù)據(jù)。
本系統(tǒng)采取的思路如圖8所示。圖中首先將中間超聲波模塊得到的距離與設(shè)定值進行比較,當小于設(shè)定值時,就開始判斷左右兩邊障礙物的距離;哪一邊的距離小于設(shè)定值就向反方向行駛;若左右兩邊距離均小于設(shè)定值,就驅(qū)動輪椅先后退一小段距離,再重新測量左右兩邊距離,哪一邊的距離大就驅(qū)動輪椅向著距離大的方向行駛。
圖8 避障系統(tǒng)流程
跟隨模塊是該輪椅控制系統(tǒng)重要組成部分,系統(tǒng)進入跟隨模式后,左右兩側(cè)的紅外探測器分別開始工作,若兩個探測器均接受反射回的信號,表明前方是跟蹤目標,中央控制器通過控制電機轉(zhuǎn)動使輪椅向前移動,跟隨目標;若只有左邊的探測器接受到信號,則表明目標在輪椅左側(cè),于是輪椅就向左運動;輪椅向右運動與向左運動同理。該模塊采取的思路如圖9所示。
圖9 跟隨模塊流程
本文選用Proteus軟件作為主要仿真測試工具。圖10所示為控制系統(tǒng)仿真電路。首先在keil5軟件中新建一個工程,并在其中編寫C51程序,接著將編寫好的程序進行保存,并同時命名后綴為“.c”為結(jié)尾,然后將程序在軟件中調(diào)試,待程序成功且無報錯和無警告后,生成Hex文件。然后在Proteus軟件中新建一個工程,并在其中畫出整個控制系統(tǒng)的最小系統(tǒng),避障模塊,跟隨模塊等一系列模塊的電路圖。雙擊位于畫面中的STC89C52 RC芯片,導(dǎo)入由Keil5生成的Hex文件。點擊Proteus畫面左下角的開始鍵,開始仿真,觀察電機的轉(zhuǎn)動方向和各引腳的電平情況。如圖11所示。
圖10 控制系統(tǒng)仿真電路
圖11 HEX文件導(dǎo)入
在超聲波避障模塊方面,經(jīng)過不斷調(diào)整3個超聲波模塊上的數(shù)值來模擬現(xiàn)實中障礙物相對輪椅自身的距離,發(fā)現(xiàn)左右兩邊電機基本上按照程序設(shè)定中那樣做出相應(yīng)動作,如圖10所示仿真電路,當開關(guān)1撥到下面時,表示左邊的紅外傳感器接受到了由障礙物反射回來的信號,則左電機靜止,右電機正轉(zhuǎn),輪椅整體向左轉(zhuǎn),并趨向于障礙物方向;在跟隨模塊方面,兩紅外傳感器均正常工作,當按下按鍵時,系統(tǒng)進入跟隨模式,由于左右紅外跟隨模塊沒接受到返回信號,故左右電機不工作,同時蜂鳴器開始發(fā)聲,報警。
實物如圖12所示,通過測量輪椅避障時的距離,從而測試出輪椅在某種情況下的避障性能。圖中所示為輪椅垂直遇到障礙物的情況,在本次測試中將輪椅放置于同一位置中啟動,進行3組每組5次測量輪椅避障的距離,如圖13所示,橫坐標為測量次數(shù),縱坐標為測量距離,將測量結(jié)果與程序中設(shè)定的數(shù)值進行對比,由此測試出輪椅在此情況下的避障功能。結(jié)果表明,輪椅都能有效避障,而且經(jīng)過幾次長時間的測試,輪椅均能跟使用者的運動而運動,能基本上滿足跟隨要求。
圖12 實物展示
圖13 輪椅避障數(shù)據(jù)
本文是基于單片機控制的智能輪椅的自主避障與跟隨控制系統(tǒng)設(shè)計,設(shè)計一個能讓輪椅正常地進行自主避障和跟隨的控制系統(tǒng),能在行進的過程中,識別出障礙物的位置,并作出避障的動作以及能夠跟隨目標的功能。采用STC89C52RC單片機作為中央控制器,通過編程仿真和實物演示,結(jié)果表明能實現(xiàn)跟隨和避障功能。實物測試結(jié)合了理論與實際,證明了控制系統(tǒng)具有可實行性,提高了輪椅的安全性能,能有效幫助輪椅使用者解決實際問題。結(jié)合社會的實際需要,有必要對智能輪椅進行設(shè)計研究以幫助行動不便人群,智能輪椅能輔助他們的日常生活,進而達到改善生活質(zhì)量的目的。