基于狀態(tài)機(jī)的巡線機(jī)器人控制系統(tǒng)設(shè)計
關(guān)鍵詞:巡線機(jī)器人運(yùn)動控制狀態(tài)機(jī)時序可編程器件
1. 引言[1]
1.1 巡線機(jī)器人
高壓輸電線路作為電力輸送的主要方式,是國民經(jīng)濟(jì)的大動脈,其安全可靠的運(yùn)行是社會生產(chǎn)和人民生活的重要保障。由于高壓輸電線路特殊的工作環(huán)境,輸電線路上的各種設(shè)施容易損壞,因而定期進(jìn)行高壓輸電線路的巡檢是保證可靠的電力輸送的重要基礎(chǔ)。當(dāng)前,輸電線路的巡檢方式以人工為主。但是由于輸電線路多架設(shè)在崇山峻嶺之間,加之野外環(huán)境比較惡劣,采用人工巡檢的方式受到諸多的限制,這在很大程度上影響了對輸電線路的及時維護(hù),給電能的可靠輸送埋下了安全隱患。機(jī)器人技術(shù)的發(fā)展為輸電線路的自動巡檢帶來了可能。巡線機(jī)器人就是一類專門應(yīng)用于輸電線路巡檢的機(jī)器人。輸電線路巡檢的主要任務(wù)是檢查桿塔、導(dǎo)線、避雷線、絕緣子和金具的狀態(tài)。這要求機(jī)器人能夠在輸電線路上自主的運(yùn)行,能夠自主的識別并跨越障礙物。為了滿足越障行為對機(jī)器人機(jī)械結(jié)構(gòu)的要求,同時為了最大程度上適應(yīng)輸電線路這種柔性的環(huán)境,巡線機(jī)器人被設(shè)計成兩臂懸掛式機(jī)器人采用兩個具有夾持功能的機(jī)械手臂作為行走機(jī)構(gòu)。正常巡檢時,依靠安裝在兩個手臂上的行走電機(jī)驅(qū)動機(jī)器人,當(dāng)需要越障時,其中一只手臂上的卡爪夾住輸電線路,由機(jī)械臂的回轉(zhuǎn)機(jī)構(gòu)驅(qū)動機(jī)器人轉(zhuǎn)身繞過障礙物。當(dāng)一臂繞過障礙物后,根據(jù)視覺傳感器提供的機(jī)械手和輸電線的相對位置,通過安裝在手臂上的擺臂機(jī)構(gòu)實現(xiàn)夾手和輸電線路的精確對準(zhǔn)。不難發(fā)現(xiàn),兩臂懸掛式機(jī)器人在越障過程中主要需要解決的問題是穩(wěn)定性和抓線的定位問題。為了實現(xiàn)可靠的越障,巡線機(jī)器人機(jī)械手臂被設(shè)計成雙關(guān)節(jié)形式:機(jī)械臂底部有一個旋轉(zhuǎn)關(guān)節(jié),可帶動機(jī)器人做180度旋轉(zhuǎn),機(jī)械手中間位置有一個擺動關(guān)節(jié),可帶動機(jī)械手做向左向右的擺動。之所以設(shè)計成上述結(jié)構(gòu),主要是方便機(jī)械手脫線和抓線時的姿態(tài)調(diào)整。
1.2 巡線機(jī)器人運(yùn)動控制系統(tǒng)
從上面的敘述可以看出,兩臂懸掛式巡線機(jī)器人越障行為過程比較復(fù)雜,這給運(yùn)動控制系統(tǒng)的設(shè)計帶來了極大的困難。巡線機(jī)器人的運(yùn)動控制系統(tǒng)主要完成兩大任務(wù):第一,控制電機(jī)完成相應(yīng)的運(yùn)動過程,達(dá)到需要的動態(tài)特性和穩(wěn)定性要求。第二,運(yùn)動過程中的保護(hù)及定位。本文主要討論運(yùn)動控制系統(tǒng)的保護(hù)及定位功能的設(shè)計與實現(xiàn)。通常而言,運(yùn)動控制系統(tǒng)的上面兩個功能主要有兩種實現(xiàn)方法:基于軟件的實現(xiàn)和基于硬件的實現(xiàn)?;谲浖膶崿F(xiàn)方法靈活性高,可以實現(xiàn)較為復(fù)雜的算法,因而,運(yùn)動控制系統(tǒng)的第一個功能一般由軟件實現(xiàn)。但是基于軟件的實現(xiàn)方法存在最大的缺點是可靠性不夠高,響應(yīng)速度較慢。而巡線機(jī)器人運(yùn)動控制系統(tǒng)的第二個功能即各種限位保護(hù),意外處理,過流過載保護(hù),零位調(diào)整等都需要較高的可靠性,用軟件實現(xiàn)上述功能時,一旦軟件出現(xiàn)諸如程序跑飛,死機(jī)等故障時,必然會對驅(qū)動電機(jī)和機(jī)器人機(jī)構(gòu)造成很大的損壞。另一方面,機(jī)器人機(jī)構(gòu)對運(yùn)動控制系統(tǒng)的響應(yīng)速度有較高的要求,當(dāng)出現(xiàn)意外情況時,控制系統(tǒng)必須以最短的延時給出驅(qū)動電機(jī)相應(yīng)的控制信號,以保護(hù)電機(jī)和機(jī)構(gòu)。雖然基于實時操作系統(tǒng)的軟件在實時性上有較大的提高,但是這在很大程度上取決于系統(tǒng)運(yùn)行的任務(wù)數(shù)量,當(dāng)任務(wù)數(shù)量較多時也存在響應(yīng)速度慢的問題。與基于軟件的實現(xiàn)方法相比較,基于硬件的實現(xiàn)方法可靠性高,響應(yīng)速度快,但最大的缺點是靈活性不高,實現(xiàn)過程較為復(fù)雜。故不宜采用硬件去實現(xiàn)較為復(fù)雜的控制算法。
對運(yùn)動控制系統(tǒng)中的第二個主要任務(wù),比較適合采用硬件的方法實現(xiàn)。這主要是考慮到第二個功能要求較高的可靠性和響應(yīng)速度,同時不需要復(fù)雜的運(yùn)算,屬于邏輯控制功能,比較適宜于采用硬件實現(xiàn)。
1.3 運(yùn)動控制問題描述
就巡線機(jī)器人的運(yùn)動控制系統(tǒng)中的保護(hù)及定位系統(tǒng)而言,其本質(zhì)是根據(jù)傳感器信號給出相應(yīng)的電機(jī)控制信號。也就是說,電機(jī)保護(hù)及定位系統(tǒng)完成控制輸入(傳感器信號)到控制輸出(電機(jī)控制信號)間的映射。電機(jī)保護(hù)及定位系統(tǒng)的特點決定了其非常適合于采用有限狀態(tài)機(jī)進(jìn)行設(shè)計。
前面的敘述已經(jīng)大致描述了運(yùn)動保護(hù)及定位系統(tǒng)需要完成的功能。具體的說就是,當(dāng)運(yùn)動機(jī)構(gòu)運(yùn)動至左側(cè)和右側(cè)限位位置時,傳感器均給出相應(yīng)的限位信號,運(yùn)動控制系統(tǒng)據(jù)此停止電機(jī),且限制機(jī)構(gòu)在這兩個位置的運(yùn)動。即:若機(jī)構(gòu)順時針擺動至限位點,則限位后機(jī)構(gòu)只可逆時針運(yùn)動,順時針方向的運(yùn)動被限制,反之亦然。巡線機(jī)器人運(yùn)動控制系統(tǒng)中的一個較為復(fù)雜的功能是對兩個機(jī)械臂的定位,機(jī)械臂定位要求是,無論機(jī)械手從何方靠近中間的零位位置,總需要機(jī)械手自動停止在一個位置-此位置為機(jī)械手與機(jī)體垂直的位置。由于我們采用的位置傳感器是霍爾效應(yīng)傳感器,傳感器探頭與磁鋼的距離小于某一閾值時傳感器便給出有效信號。因此,當(dāng)磁鋼從不同方向接近傳感器探頭時,傳感器給出限位信號的位置不同。經(jīng)過實驗驗證,當(dāng)磁鋼進(jìn)入某一個區(qū)域時,傳感器即刻給出有效的信號,此區(qū)域?qū)挾却蠹s為1厘米。因此,倘若均以進(jìn)入該區(qū)域即認(rèn)為機(jī)械手歸零到位,顯然,當(dāng)機(jī)械手從不同方向歸零時并不能保證機(jī)械手都垂直于機(jī)體。事實上,由于傳感器安裝的位置的影響,加之整個機(jī)械手較長,當(dāng)從不同方向歸零時,機(jī)械手姿態(tài)差別很大。為了保證無論從何方歸零,機(jī)械手總能停止在同一位置,要求控制器只能采用傳感器的同一邊沿信號作為歸零到位信號。比如:當(dāng)機(jī)械手順時針歸零時,若檢測到傳感器信號的下降沿即停止電機(jī),認(rèn)為歸零到位;當(dāng)機(jī)械手逆時針歸零時,需檢測到傳感器信號的上升沿(也就是順時針時的下降沿,即同一邊沿信號)時,方可認(rèn)為歸零到位。
在我們設(shè)計的運(yùn)動控制系統(tǒng)中,對任一電機(jī),控制系統(tǒng)僅給出三個控制信號:兩個方向信號和速度信號(dira,dirb和pwm),其中的兩個方向信號控制電機(jī)的轉(zhuǎn)向和開停,dira和dirb不同時,電機(jī)方可運(yùn)動,相同時電機(jī)停止。pwm信號也可控制電機(jī)的運(yùn)行,pwm為高電機(jī)可運(yùn)行,反之停止。機(jī)械手的定位調(diào)整系統(tǒng)需要設(shè)置三個傳感器:左限位傳感器(sensor_l),中間零位傳感器(sensor_m),右限位傳感器(sensor_r)。對不需要歸零的運(yùn)動機(jī)構(gòu)則不設(shè)置中間零位傳感器。
2.有限狀態(tài)機(jī)設(shè)計
2.1 運(yùn)動控制系統(tǒng)的有限狀態(tài)機(jī)設(shè)計
運(yùn)動控制系統(tǒng)中的運(yùn)動保護(hù)及定位系統(tǒng)的典型時序如下圖示:
圖1 運(yùn)動保護(hù)及定位系統(tǒng)時序與框圖
從上面的是時序圖可以看出,運(yùn)動控制系統(tǒng)的時序顯著的分為四段:第一段L1:為運(yùn)動機(jī)構(gòu)的左限位階段。即當(dāng)運(yùn)動至左限位點時,控制系統(tǒng)應(yīng)該停止電機(jī)并限制此方向運(yùn)動。第二段L2:僅有機(jī)械手臂具有此段時序特征。當(dāng)機(jī)械手以順時針方向擺向垂直位置時,若到達(dá)垂直位置(sensor_m由高變低)則控制系統(tǒng)停止電機(jī)。但與限位不同,此時控制系統(tǒng)不可限制機(jī)構(gòu)任意方向的運(yùn)動。為了使得機(jī)械手到達(dá)垂直位置后仍可向左或向右運(yùn)動,在我們的設(shè)計中引入另一控制量:電機(jī)的速度信號pwm。第三段L3:與第二段相同,也為機(jī)械手特有。當(dāng)機(jī)械手以逆時針向垂直位置運(yùn)動時,與順時針時不同,它需要在傳感器信號由低變高時方可停止電機(jī),當(dāng)然也不能限制機(jī)構(gòu)任意方向的運(yùn)動。第四段L4:為運(yùn)動機(jī)構(gòu)的右限位階段,與第一段相似,當(dāng)機(jī)構(gòu)運(yùn)動至右限位點時,控制系統(tǒng)需要自動停止電機(jī)并限制此方向的運(yùn)動。
根據(jù)運(yùn)動控制系統(tǒng)的典型時序特征,可以制定出相應(yīng)的狀態(tài)和狀態(tài)轉(zhuǎn)換條件:首先,設(shè)置初始化狀態(tài)s0,系統(tǒng)上電或者復(fù)位后都自動進(jìn)入該狀態(tài)。上電時,在此狀態(tài)對內(nèi)部信號和輸出進(jìn)初始化。此狀態(tài)也是系統(tǒng)默認(rèn)的電機(jī)停止?fàn)顟B(tài)。正常運(yùn)動的情況下,機(jī)構(gòu)順時針和逆時針分別對應(yīng)兩個狀態(tài)s1和s2。當(dāng)機(jī)構(gòu)順時針歸零后,與限位不同,由于此時不可限制機(jī)構(gòu)任意方向的運(yùn)動,因而當(dāng)pwm信號拉低后狀態(tài)機(jī)需要進(jìn)入狀態(tài)s3,s3其實為一個過渡狀態(tài),通過s3,狀態(tài)機(jī)可根據(jù)此時微處理器給出的控制信號進(jìn)入s1和s2運(yùn)行。同樣,當(dāng)機(jī)構(gòu)逆時針歸零時,與順時針歸零不同,它需要檢測到中間位置傳感器拉高后才能停止電機(jī)。所以當(dāng)逆時針運(yùn)動時,一旦檢測到sensor_m變低,狀態(tài)機(jī)即進(jìn)入過渡狀態(tài)s5,在此狀態(tài),若sensor_m變高,即意味著機(jī)構(gòu)已經(jīng)離開傳感器區(qū)域,到達(dá)垂直位置,此時狀態(tài)機(jī)進(jìn)入狀態(tài)s6。從上面的分析可以看出:對于順時針和逆時針兩種不同的狀態(tài)下機(jī)構(gòu)歸零,我們分別設(shè)置了兩個特殊的過渡狀態(tài)集{s3,s4}和{s5,s6}。這主要是由于歸零操作不同于限位。歸零后,控制系統(tǒng)不能限制機(jī)構(gòu)任何方向的運(yùn)動,因而需要一個額外的控制輸入作為歸零后狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換的觸發(fā)信號。根據(jù)上面的分析,可以得到狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換圖如下:
圖2有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換圖
2.2設(shè)計仿真與實現(xiàn)
2.2.1設(shè)計仿真
本設(shè)計在ISE8.2i+Modelsim XE III 6.0d平臺上綜合,布局布線和仿真。其布局布線后仿真的時序圖如下:
圖3 時序仿真圖
從上面的后仿真時序可以看出,當(dāng)sensor_l變低時,dira和dirb同時變低,只有當(dāng)方向信號dir改變時,dira和dirb才隨之改變。sensor_r的變化同sensor_l相似。仿真時序中比較關(guān)鍵的一段是sensor_m兩次變低的情況,分別代表順時針和逆時針歸零的兩種情況。從上圖可以看出,所設(shè)計的狀態(tài)機(jī)很好的實現(xiàn)了對傳感器同一邊沿信號的識別,同時在加入了控制信號pwm后,使得機(jī)構(gòu)歸零后還可以進(jìn)行任意方向的運(yùn)動,滿足了設(shè)計要求。
2.2.2設(shè)計實現(xiàn)
將設(shè)計的狀態(tài)機(jī)采用VHDL語言編碼并在xilinx公司的CPLD器件XC9572上實現(xiàn),經(jīng)過實驗驗證,所設(shè)計的狀態(tài)機(jī)是安全可靠的。
3.結(jié)論
機(jī)器人控制系統(tǒng)的實現(xiàn)主要有兩種方法?;谲浖膶崿F(xiàn)方法在各種苛刻的實際應(yīng)用中顯示出了種種不足。可編程器件的發(fā)展為控制系統(tǒng)的實現(xiàn)提供了一種全新的模式?;诳删幊唐骷目刂葡到y(tǒng)實現(xiàn),可靠性好,實現(xiàn)簡單,靈活性好,相對于傳統(tǒng)的軟件實現(xiàn)和由分離元件實現(xiàn)的控制系統(tǒng),基于可編程器件的控制系統(tǒng)有著諸多無法替代的優(yōu)點。本文根據(jù)控制對象對控制器時序要求,抽象出控制系統(tǒng)的行為級描述,并據(jù)此設(shè)計了有限狀態(tài)機(jī)的狀態(tài)。并采用EDA軟件進(jìn)行了綜合,布局布線和仿真,最終在CPLD上實現(xiàn)了所設(shè)計的運(yùn)動控制系統(tǒng),為控制系統(tǒng)的數(shù)字化設(shè)計提供了一種行之有效的方法。
本文的創(chuàng)新點是將有限狀態(tài)機(jī)應(yīng)用于機(jī)器人控制系統(tǒng)的硬件設(shè)計,并在可編程器件上實現(xiàn)了所做設(shè)計。這是對常見的基于軟件的控制系統(tǒng)實現(xiàn)方法和由分離元件構(gòu)造的基于硬件的控制系統(tǒng)實現(xiàn)方法的極大改善,大大提高了控制系統(tǒng)的可靠性,抗干擾性和實時性。
參考文獻(xiàn)
[1].James R. Armstrong F. Gail Gray: VHDL Design Representation and Synthesis. China Machine Press.
[2].趙世霞,楊豐,劉揭生.VHDL與微機(jī)接口設(shè)計。 北京,清華大學(xué)出版社,2004。
[3].周懷得,肖傳,偉郝志航.基于DSP和CPLD的智能相機(jī)系統(tǒng)設(shè)計與研制.微計算機(jī)信息,2006,Vol.22,No.17
[4].王誠,薛小剛,鐘信潮.Xilinx ISE 使用詳解。北京:人民郵電出版社,2004。
[5].楊慶. 有限狀態(tài)機(jī)的設(shè)計與優(yōu)化.湖北民族學(xué)院學(xué)報(自然科學(xué)版),Vol.24,No.1,Mar 2006.
[6].鄔楊波,王曙光,胡建平.有限狀態(tài)機(jī)的VHDL設(shè)計與優(yōu)化.信息技術(shù).VOL.28,NO.1,Jan.2004.
[7].王劍,趙海燕. 基于CPLD的控制器冗余設(shè)計.微計算機(jī)信息.2005 Vol.12, No.23
評論