柳姍姍, 曹東興, 王 超, 范柳彬
(河北工業(yè)大學 機械學院,天津 300130)
由于老年人和殘疾人行動不便,出行均需要輪椅作為代步工具[1]?,F(xiàn)有電動爬樓梯輪椅存在結(jié)構(gòu)復雜,應(yīng)用場合不夠廣泛,在爬樓越障時操縱復雜且不平穩(wěn)等缺陷。針對現(xiàn)有技術(shù)的不足,提出了一種用于爬樓梯的輪腿式輪椅上的底盤機構(gòu),作為輪椅平穩(wěn)安全上下樓梯、翻越障礙物、跨溝的主要輔助機構(gòu)[2],配合環(huán)境感知系統(tǒng)中各傳感器模塊對外界的環(huán)境信息進行采集,為電動輪椅爬樓越障提供準確的數(shù)據(jù)信息。通過主控板TMS320F2812DSP對采集數(shù)據(jù)進行分析處理,并傳送給上位機實時顯示并下發(fā)正確的動作指令,以便底盤機構(gòu)的相關(guān)執(zhí)行部件能夠做出準確的動作,輔助電動輪椅實現(xiàn)爬樓功能。
底盤機構(gòu)可以輔助輪椅平穩(wěn)上下樓梯,配合安裝于其上的超聲波、紅外線和角度傳感器,實時檢測底盤機構(gòu)周圍的環(huán)境信息,使輪椅做出準確的爬樓動作。
安裝在底盤機構(gòu)上的傳感器檢測系統(tǒng)包括:2只紅外線、2只超聲波和4只角度傳感器。根據(jù)阿貝原則和布萊恩原則[3]。,將這8只傳感器安裝在合適的位置,保證紅外線傳感器的檢測方向與臺階踏面垂直方向一致,超聲波傳感器的檢測方向與臺階踢面垂直方向一致,并且在不能保證共線時,利用角度傳感器檢測這2只傳感器與臺階垂直方向的偏差角,利用微型電機補償該偏差角,使這2只傳感器的檢測方向與被測位移位于同一直線上。根據(jù)底盤機構(gòu)的樣機實物,給出傳感器分布,如圖1所示。
圖1 傳感器分布示意
圖1中主要標注了安裝于底盤左側(cè)的傳感器,在底盤右側(cè)對稱位置安裝了相同的傳感器,以底盤左側(cè)為例,說明各傳感器的作用:
1)在底盤兩側(cè)分別安裝微型電機,在該電機的輸出軸上安裝了超聲波傳感器和紅外線傳感器,兩者互為垂直探測角度,檢測輪椅底盤距樓梯臺階踢面的距離L和踏面的高度H。
2)在底盤兩側(cè)分別安裝一只角度傳感器,檢測左、右測距模塊與臺階垂直方向的偏差角α1,α2。以α1和α2為依據(jù),通過微型電機對底盤兩側(cè)的測距模塊進行角度修正,實現(xiàn)超聲波和紅外線傳感器時刻與被測面保持垂直的最佳測量角度。
3)在底盤的中間位置安裝了2只角度傳感器,檢測輪椅在爬樓過程中底盤的傾角θ和底盤的側(cè)翻角δ。
輪椅在爬樓過程中應(yīng)避免底盤側(cè)翻情況,即δ=0。假設(shè)可以確保底盤不會發(fā)生側(cè)翻情況,以安裝在底盤左側(cè)的角度傳感器,超聲波傳感器和紅外線傳感器為例,分析左側(cè)測距模塊與臺階垂直方向的偏差角α1與踢面距離L1、踏面距離H1之間的關(guān)系,如圖2可知,當α1=0,測距模塊檢測到準確距離值L和H;當存在偏差角α1時,測距模塊檢測到的距離值L1和H1均存在誤差。此時,三者之間關(guān)系式為
(1)
圖2 踏面與踢面及角度關(guān)系
由此可知,α1和L1,H1互相影響,α1存在誤差必定會對L1和H1造成影響。同理,底盤右側(cè)的α2和L2,H2也存在同樣的誤差關(guān)系,如何滿足底盤兩側(cè)的ΔL和ΔH均足夠小并且使L1=L2,H1=H2,需要利用一定的控制算法使α1和α2足夠小并保證α1=α2。
由于誤差的存在,導致α1和α2不可能為0°,但在誤差允許范圍內(nèi)必須保證α1=α2。比如,底盤左側(cè)α1=3°時開始測距,則底盤右側(cè)也必須在α2=3°開始測距,以保證L1=L2,H1=H2,即需要底盤兩側(cè)的測距模塊做到同步測距。
要實現(xiàn)測距的同步,就必須實時跟蹤偏差角α1和α2的值。采用追蹤法[4],以左側(cè)偏差角α1為基準,左側(cè)微型電機調(diào)節(jié)α1不斷接近0°,右側(cè)微型電機調(diào)節(jié)偏差角α2不斷跟蹤α1的值,即調(diào)節(jié)轉(zhuǎn)過的角度為Δα=α2-α1。針對以上調(diào)節(jié)過程,可知該追蹤控制方式是由微型電機和傳感器構(gòu)成的閉環(huán)控制系統(tǒng)。輸入量為α2和α1的偏差值Δα,輸出量為微型電機輸出軸轉(zhuǎn)過的圈數(shù)N。為了實現(xiàn)微型電機對偏差角的平衡調(diào)節(jié),采用模糊控制的方法,若采用一維模糊控制器,只將偏差值Δα作為輸入量,容易產(chǎn)生振蕩或出現(xiàn)超調(diào)現(xiàn)象,動態(tài)性能較差。因此,采用二維模糊控制器,加入偏差變化率Δαc,響應(yīng)Δα的速度變快,能更好地反映被控對象的動態(tài)特征[5]。如圖3所示,為加入模糊控制器的閉環(huán)控制系統(tǒng)。
圖3 閉環(huán)控制系統(tǒng)
按照圖3方式控制微型電機調(diào)節(jié)α1和α2在均接近0°的同時保持α1=α2,以便采集到精確數(shù)值并保證L1=L2,H1=H2。
使用F2812的A/D轉(zhuǎn)換模塊、EV模塊、GPIO模塊和SCI通信模塊,對底盤機構(gòu)上的傳感器檢測系統(tǒng)進行控制。圖4為TMS320F2812對各個傳感器模塊的硬件控制方案。
圖4 硬件控制方案
1)2只紅外線傳感器和4只角度傳感器的輸出端分別連接在AD模塊的6個輸入通道引腳上。
2)2只超聲波傳感器的Trig觸發(fā)端分別連接在2個普通I/O口引腳上;Echo回響端分別連接在捕獲單元CAP1的GPIOA8_CAP1_QEP1和捕獲單元CAP2的GPIOA9_CAP2_QEP2引腳上。
3)2個5相4線的微型減速步進電機通過驅(qū)動芯片分別連接在GPIOA和GPIOB模塊的4個普通I/O口引腳上;
4)將下位機所有的有效數(shù)據(jù)信息以數(shù)據(jù)包形式通過SCIA模塊的SCITXDA引腳上傳給上位機,下位機通過SCIRXDA引腳接收上位機發(fā)送的命令指令。
1)AD模塊
由圖4硬件設(shè)計方案可以看出,需要進行A/D轉(zhuǎn)換的有2只紅外線傳感器和4只角度傳感器,即需要6個A/D轉(zhuǎn)換通道。選用通用定時器T1的周期中斷觸發(fā)ADC每隔10ms進入一次中斷,對這六個通道進行一次轉(zhuǎn)換。在AD中斷函數(shù)中將AD數(shù)字量轉(zhuǎn)換成電壓值。其中,ADC的線性轉(zhuǎn)換關(guān)系為
(ADResult?4)=(VoltInput-ADCLO)/3.0×4095
(2)
式中ADResult為結(jié)果寄存器中的數(shù)字量;VoltInput為模擬電壓輸入值;ADCLO為參考電平,通常為0V。該式為理想情況下ADC的輸入/輸出關(guān)系式,但實際上,ADC模塊是存在增益誤差和偏移誤差的,降低了A/D轉(zhuǎn)換精度[7]。如圖5所示為實際和理想情況下ADC的輸入/輸出特性曲線。
圖5 ADC輸入/輸出曲線
針對ADC模塊存在的誤差,利用最小二乘法和線性回歸的思想進行矯正,通過對多個測量點的分析計算,找出最佳的擬合曲線[8]。用穩(wěn)定信號源產(chǎn)生8個標準電壓,輸入通道為ADCINA0~ADCINA7。設(shè)ADC模塊的輸入/輸出曲線為y=a+bx,輸入電壓為xi,轉(zhuǎn)化輸出為yi,由最小二乘法可得方程
(3)
圖6 回歸曲線示意
2)EV模塊
EV模塊的捕獲單元CAP能夠捕獲外部輸入引腳的電平變化,當捕獲到脈沖指定的電平變化時,將定時器計數(shù)器TxCNT的值存入捕獲單元的2級FIFO堆棧中[6]。底盤兩側(cè)的2只超聲波傳感器選擇用CAP1和CAP2兩個捕獲單元,并選用通用定時器T2作為時基。當給超聲波傳感器的Trig引腳至少10μs的高電平信號時,其Echo引腳會輸出一個高電平信號,高電平持續(xù)時間即為超聲波從發(fā)射到返回的時間t,測量距離L=(聲速340m/s)×(t/2)[9]。為得到L值,需要計算高電平的持續(xù)時間t。方法:設(shè)置捕獲單元相關(guān)寄存器指定捕獲高、低電平,當捕獲到高電平時,將T2CNT的值存入FIFO堆棧頂部,并賦值給變量m1;捕獲到低電平時,將T2CNT的值存入FIFO堆棧底部,并賦值給變量m2。2次值相減再乘以T2時鐘,即可得到高電平持續(xù)時間t,進而獲得測量距離L。L計算如下
(4)
式中TCLK為定時器T2的時鐘。
3)串行通信接口模塊
串行通信接口(serial communication interface,SCI)。在整個輪椅控制系統(tǒng)中存在多個DSP,要想指定控制底盤機構(gòu)的某塊DSP與PC一對一通信,必須要給每一塊DSP分配唯一的標識符——地址[10],上位機通過發(fā)送地址碼指定相應(yīng)的DSP向上傳送數(shù)據(jù),需要在通信數(shù)據(jù)格式中加入地址位。在初始化SCI模塊時,設(shè)置通信數(shù)據(jù)格式為:1個起始位,8個數(shù)據(jù)位,1個地址位,1個結(jié)束位。為了保證多數(shù)據(jù)傳輸?shù)乃俣?,在FIFO發(fā)送中斷函數(shù)中將傳感器檢測數(shù)值以數(shù)據(jù)包的形式發(fā)送給PC。數(shù)據(jù)包的設(shè)置包括地址碼、數(shù)據(jù)碼長度、8個傳感器數(shù)據(jù)、校驗碼、結(jié)束符[11],其中,地址碼0x01:選定ID號為01的DSP向PC上傳數(shù)據(jù);數(shù)據(jù)長度碼0x20:指示有效數(shù)據(jù)的個數(shù),包括32個16進制的字節(jié);8個傳感器數(shù)據(jù):每個傳感器數(shù)值均由Float型轉(zhuǎn)化為16進制,占數(shù)組的4位,考慮到超聲波傳感器檢測數(shù)據(jù)超出256,所以,整數(shù)部分占3位,小數(shù)部分精確到2位小數(shù),占1位;校驗碼:累加和校驗,用來校驗數(shù)據(jù)的完整性和正確性;結(jié)束符0xAD:幀尾,不能與其他數(shù)據(jù)重碼。
DSP控制底盤機構(gòu)上的多個傳感器協(xié)調(diào)工作,使其實時反饋有效的測量數(shù)據(jù),使底盤機構(gòu)輔助輪椅準確動作。如圖7所示,為控制系統(tǒng)的程序流程。
圖7 程序流程
選擇MSComm控件[12]實現(xiàn)對傳感器數(shù)據(jù)的實時顯示。在MSComm控件的傳感器界面下,分框?qū)崟r顯示8只傳感器的檢測數(shù)據(jù)。在輪椅爬樓過程中,底盤機構(gòu)不斷傾斜,測量數(shù)據(jù)實時變化,圖8為理想情況下距離值L和H實時變化的曲線,以選取底盤機構(gòu)在某個特定位姿時刻的顯示結(jié)果為例,底盤機構(gòu)顯示界面如圖9所示。
圖8 L和H的變化曲線
圖9 實驗數(shù)據(jù)顯示界面
可以看出:傳感器采集的數(shù)據(jù)是否正確,如曲線平滑、顯示數(shù)據(jù)連續(xù)無突變,說明底盤沒有發(fā)生非常規(guī)動作,傳感器采集的數(shù)據(jù)正確。但是無法獲知采集數(shù)據(jù)是否精確,模糊控制算法是否對底盤兩側(cè)偏差角α1和α2的平衡調(diào)節(jié)起到了作用。針對該問題進行無模糊控制算法和有模糊控制算法處理,觀察L1,L2和H1,H2的曲線對比,如圖10和圖11所示。
圖10 無模糊控制時曲線對比
圖11 有模糊控制時曲線對比
由圖10和圖11的曲線比較可以看出,加入模糊控制算法之后L1和L2,H1和H2的曲線基本重合,即α1≈α2,使得L1=L2,H1=H2,滿足了實驗要求。但是為了使測量結(jié)果更加精確,進行誤差來源以及減少誤差的方法分析;系統(tǒng)的誤差主要來源于安裝誤差和測量誤差,其次還有一些原理誤差和運行誤差:1)安裝誤差:超聲波和紅外線傳感器的垂直安裝誤差;2)測量誤差:傳感器自身精度問題導致檢測誤差;3)運行誤差:溫度、濕度、電機振動等外界環(huán)境對傳感器的影響;4)原理誤差:AD模塊的轉(zhuǎn)換精度問題;模糊控制查詢表的優(yōu)化問題。
采取一定的措施來減小誤差。比如,由于聲速受溫度的影響,其變化關(guān)系為V=334.1+T×0.61(T為當前溫度),造成對超聲波測距的影響,因此增加溫度傳感器補償溫度對聲速的影響,則距離公式變?yōu)長=(334.1+T×0.61)×t/2[13];A/D轉(zhuǎn)換誤差可由前述軟件校正方法或硬件添加濾波處理;利用模糊控制查表法控制微型電機對底盤兩側(cè)偏差角的平衡調(diào)節(jié)產(chǎn)生的誤差,可以經(jīng)過大量的實驗不斷對規(guī)則表進行修改和優(yōu)化,最終確定控制效果最優(yōu)的控制規(guī)則表[14]。
本文介紹了電動輪椅在爬樓過程中,底盤機構(gòu)在傳感器檢測系統(tǒng)的輔助下,融合各傳感器采集的數(shù)據(jù)信息,準確感知周圍環(huán)境,輔助輪椅實現(xiàn)爬樓動作的方法,并分析了該控制系統(tǒng)中可能存在的誤差以及減小誤差的措施。該方法具有一定的普遍性,可運用于其他爬樓或越障機器人中。但是也具有一定的缺陷,如傳感器采集數(shù)據(jù)不夠精確,程序處理方法有待優(yōu)化等,所以整體操作仍有待改善。
[1] 雷麗竹.輪腿式輪椅上下一二階臺階運動仿真[D].天津:河北工業(yè)大學,2014.
[2] 曹東興,單亞楠,毛建輝.一種輪腿復合式輪椅底盤機構(gòu):中國,CN203195874U[P].2013—09—18.
[3] 李慶祥,王東生,李玉和.現(xiàn)代精密儀器設(shè)計[M].北京:清華大學出版社,2004.
[4] 張瑞森,劉冀偉.基于雙目機器人的實時測距與追蹤系統(tǒng)[J].電子器件,2007,30(5):1618-1521.
[5] 陳紹茹,陳奕梅.基于多傳感器信息融合的移動機器人避障[J].傳感器與微系統(tǒng),2014,33(5):35-38.
[6] 顧衛(wèi)鋼.手把手教你學DSP—基于TMS320X282x[M].北京:航空航天大學出版社,2011.
[7] 王 偉,楊智濤,吳佳楠.提高DSP的AD轉(zhuǎn)換器精度的研究與實現(xiàn)[J].現(xiàn)代制造工程,2009 (6):95-97.
[8] 何 平.一種提高DSP的ADC精度的方法[J].現(xiàn)代電子技術(shù),2010(22):130-132.
[9] 孫驍苗,周東輝,賈 欣.移動機器人的多傳感器測距系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2006,25(2):50-53.
[10] 王洪升,錢 峰,田蔚風.多DSP與PC機串行通信技術(shù)[J].儀表技術(shù)與傳感器,2004(11):46-49.
[11] 李 瑩,賈 彬.一種基于狀態(tài)機的串口通信協(xié)議的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2012,20(7):100-104.
[12] 黃大勇,王 萍.基于MSCOMM控件的微機與單片機多機通信[J].自動化與儀表,2008(10):26-28.
[13] 王占選,趙冬娥,黨浩淮.具有溫度補償功能的超聲波測距系統(tǒng)設(shè)計[J].電聲技術(shù),2014,38(2):35-38.
[14] 葉高文.模糊控制查詢表的MATLAB實現(xiàn)[J].工業(yè)控制計算機,2010,23(11):64-66.