李春龍,鄒 鯤,陸 晨,呂琳燁,葉 勇
LI Chun-long, ZOU Kun, LU Chen, LV Lin-ye, YE Yong
(東華大學(xué) 機械工程學(xué)院,上海 201620)
阿克斯明斯特地毯毯面平整、豐滿,達到國際商業(yè)重量級地毯標準,需求量持續(xù)增長。但阿克明斯特地毯織機存在織造效率低,換紗工作量大,耗費時間長的缺點,通過智能紗架系統(tǒng)對地毯織機進行自動化改造,縮短換紗時間。該系統(tǒng)采用多機械手換紗及分布式控制系統(tǒng)設(shè)計,動作流程復(fù)雜,信號傳輸頻繁。針對這些特點,本文設(shè)計了基于CAN總線的并行任務(wù)控制系統(tǒng)。
設(shè)計通過同步控制器將功能分層、控制分散[1],有效將控制重心下移,提高了系統(tǒng)的可靠性和應(yīng)用靈活性,避開了傳統(tǒng)多機械手系統(tǒng)由上而下集中控制的缺陷,各機械手可以分布在相對開闊的工作現(xiàn)場。對于復(fù)雜任務(wù),通常以有意識協(xié)作協(xié)的異構(gòu)多機器人系統(tǒng)來完成,該類系統(tǒng)一般規(guī)模較小,個體智能水平較高[2,3],能夠獲得更優(yōu)化的解,但系統(tǒng)功能的實現(xiàn)要依賴復(fù)雜的協(xié)調(diào)控制機制[4,5],對通信的要求較高,設(shè)備成本明顯增加。本設(shè)計充分利用分布式控制的特點,將單一層面的并行控制[6]擴展到多層控制,使中轉(zhuǎn)機械手、使中轉(zhuǎn)站和續(xù)紗機器人等多機械手的智能性大大提高,系統(tǒng)能夠以簡化的協(xié)調(diào)控制機制完成復(fù)雜的任務(wù)。通過對CAN總線功能的擴充,文中設(shè)計了樹狀的通信網(wǎng)絡(luò)拓撲結(jié)構(gòu),使各節(jié)點具有一定的互用性和可擴充性,簡化了系統(tǒng)的安裝和調(diào)試,增強了多機械手系統(tǒng)在紡織行業(yè)中的適用性。
系統(tǒng)機械結(jié)構(gòu)包括絡(luò)紗機、中轉(zhuǎn)機械手、中轉(zhuǎn)站、續(xù)紗機器人和紗架五個部分。系統(tǒng)同時控制多臺絡(luò)紗機進行卷繞,卷繞好的紗團由一臺中轉(zhuǎn)機械手分批放入兩個不同工位的紗箱中,再由兩臺中轉(zhuǎn)站將紗箱分別轉(zhuǎn)運給兩臺續(xù)紗機器人。在換紗過程中,續(xù)紗機器人在紗架組成的巷道中長距離運動,完成不同位置的換紗任務(wù)。
由于紗線的卷繞、運輸、續(xù)紗等都是同時進行且任務(wù)之間也存在著一定的邏輯順序,所以機械手間必然要求靈活的并行或串行控制。另外系統(tǒng)中機械手數(shù)量較多,單就續(xù)紗機器人的電機數(shù)量就有將近20個,上位機控制負荷過重。本設(shè)計模仿生產(chǎn)車間的運行機制,將控制系統(tǒng)劃分為工長級、工人級和肢體級的三個控制層級,具體如圖1所示,為CAN總線網(wǎng)絡(luò)樹狀結(jié)構(gòu)示意圖。絡(luò)紗機、中轉(zhuǎn)站和續(xù)紗機器人等工人級節(jié)點既能接收上位機的并行任務(wù)也能控制肢體級節(jié)點順序執(zhí)行同步控制器分解的底層任務(wù)。
系統(tǒng)應(yīng)用層協(xié)議則采用主從通訊模式[7]。工長級節(jié)點(即上位機)將整體任務(wù)分解為一級子任務(wù)下發(fā)到工人級節(jié)點(即同步控制器)或以查詢的方式獲取機械手的狀態(tài)。通過控制各個肢體級節(jié)點,多機械手能夠獨立地完成一級子任務(wù),同時機械手之間也可以通過同步控制器完成狀態(tài)信息的交互,實現(xiàn)任務(wù)的并行執(zhí)行。該設(shè)計將控制中心劃分給同步控制器節(jié)點,機械手在任務(wù)執(zhí)行過程中擺脫了上位機的大部分干預(yù),上位機更多的是起到監(jiān)視記和錄的作用。工人節(jié)點在二級網(wǎng)絡(luò)中處于支配地位。它將接收到的一級子任務(wù)分解為二級子任務(wù),使任務(wù)清單層層細化。同步控制器還兼具分支信息過濾的作用,降低了信息通道的通訊負荷。在任務(wù)的調(diào)度上,同步節(jié)點能根據(jù)節(jié)點的算法為相應(yīng)的肢體級節(jié)點索引底層的二級子任務(wù),為任務(wù)的調(diào)整和修改提供了獨立的空間。
圖1 CAN總線網(wǎng)絡(luò)樹狀結(jié)構(gòu)示意圖
該設(shè)計將系統(tǒng)的控制功能徹底下放到現(xiàn)場,控制體間既有橫向的交互也有縱向的控制拓展。同時,控制的下移也代表著通信負荷的重新分配,使信息流向更趨合理。同步控制器的任務(wù)分配和信息傳輸具有一定的周期性,使控制器中預(yù)置控制程序的編寫和修改大大簡化,各機械手的動作流程和運行軌跡更加趨于模塊化,系統(tǒng)的靈活性和可靠性增強。
節(jié)點采用圖2的通訊板連接,其芯片采用ARM的LPC11C14,CAN收發(fā)模塊選用CTM8251。LPC11C14包含片上C_CAN驅(qū)動的CAN控制器,作為節(jié)點間的通訊接口,具有CAN總線通訊能力,有效地支持了多機械手的實時控制。在各通訊節(jié)點的硬件結(jié)構(gòu)上,中繼器和同步控制器結(jié)構(gòu)相同,使硬件互換性提高,設(shè)備維護簡單易操作。
圖2 網(wǎng)橋/同步控制器硬件結(jié)構(gòu)框圖
同步控制器能夠?qū)χw級任務(wù)進行分解、協(xié)調(diào)和分配,負責(zé)狀態(tài)的監(jiān)控及反饋,直通信息的傳遞等。所以同步控制器的兩個M0芯片分配有不同的功能,定義為:狀態(tài)芯片M0_1和任務(wù)芯片M0_2。狀態(tài)芯片主管運行狀態(tài),儲存二級子任務(wù)的完成情況及其他相關(guān)狀態(tài)信息;任務(wù)芯片主管任務(wù)調(diào)度,二級子任務(wù)的決策及Flash存儲器的任務(wù)索引等,任務(wù)的增加、刪減及順序的修改都能在該節(jié)點實現(xiàn)。當(dāng)一級子任務(wù)指令到達同步節(jié)點后,控制程序通過判斷狀態(tài)芯片內(nèi)的狀態(tài)信息來索引任務(wù)芯片F(xiàn)lash中的清單任務(wù),并經(jīng)CTU(CAN To UART的縮寫)傳遞給執(zhí)行機構(gòu),二級子任務(wù)完成后狀態(tài)芯片即改寫狀態(tài)變量,以供后續(xù)查詢。判斷狀態(tài)-索引任務(wù)-更改狀態(tài)三個階段循環(huán)執(zhí)行,輔助完成一級子任務(wù)。
圖3 同步節(jié)點控制程序流程圖
同步控制器將整個網(wǎng)絡(luò)改造成分級遞階的結(jié)構(gòu),使智能體具有了一定的自主性。另外,片內(nèi)存儲器的使用能夠起到掉電保護的作用,使系統(tǒng)能夠在斷電重啟后仍保持系統(tǒng)掉電前的工作狀態(tài)。
系統(tǒng)在不同的運行模式下,任務(wù)指令和狀態(tài)信息所能到達的節(jié)點范圍不同,如在調(diào)試模式下,上位機可以將指令發(fā)送給網(wǎng)絡(luò)中的任意節(jié)點,而在正常運行模式下,同步節(jié)點可以向平行節(jié)點發(fā)送狀態(tài)信息或向子節(jié)點發(fā)送二級子任務(wù)。這就要求系統(tǒng)能夠在全局進行縱向和橫向的通訊,而CAN節(jié)點ID的配置則在其中起著關(guān)鍵作用。
考慮到所設(shè)置ID地址中要包含中繼器,同步控制器,CTU地址以及其他預(yù)留位信息,所占用的位數(shù)較多,所以使用29位ID地址的擴展幀較為合適。如表1所示。
表1 ID接收地址的分配表
對于CAN報文的接收過程,我們采用分層式的地址接收方式加方向位輔助配合。該方式整體分為三層,由上到下各層分別對應(yīng)中繼器位、同步控制器位和CTU位。縱向發(fā)送信息時,接收地址層層遞進,每個節(jié)點只對比接收相應(yīng)層級上的的相應(yīng)地址位,中繼器即通過中繼器位的仲裁對接收的報文進行過濾,信息流在該層節(jié)點分流。同時,由于分層式地址接收方式只過濾本層級的地址位,同步節(jié)點可以只設(shè)置同步控制器位將報文約束在工人級的控制層,完成機械手間的橫向信息交互。
這種地址設(shè)置方式降低了統(tǒng)籌設(shè)計的復(fù)雜性,不需要反復(fù)的全局衡量和計算,ID和MASK設(shè)置較之前更加直觀簡單。相對集中的地址位設(shè)置使該種方式的ID配置與硬件的結(jié)合成為可能,如撥碼開關(guān)的使用等,能夠簡化通訊設(shè)備的安裝和更換,降低了操作人員的技術(shù)要求水平。
從不同的運行模式看,8個字節(jié)的數(shù)據(jù)幀不能完全滿足單次數(shù)據(jù)傳輸?shù)男枰?,特別是在調(diào)試模式下,上位機單次下發(fā)的數(shù)據(jù)甚至?xí)^20個字節(jié),必須進行幀數(shù)據(jù)的組合傳輸。以上位機發(fā)送到續(xù)紗機器人下的CTU3節(jié)點為例,發(fā)送過程如表2和表3所示。
表2 ID配置
表3 組合幀發(fā)送過程
在傳輸過程中,CAN報文的接收是對擴展幀特定地址區(qū)域的仲裁,解決的是信息來源的問題,數(shù)據(jù)的去向則是由主程序配合完成。程序提取并檢查擴展幀中相鄰層級的地址位(向下發(fā)送時,則檢查下一級地址位;反之則檢查上一級地址位),決定是否繼續(xù)發(fā)送。
組合幀解決了長字節(jié)數(shù)據(jù)的傳輸問題,彌補了CAN報文8字節(jié)數(shù)據(jù)傳輸?shù)娜毕?,使長字節(jié)數(shù)據(jù)能夠順利到達目標節(jié)點。
本設(shè)計確定了并行任務(wù)控制系統(tǒng)分層式的總體設(shè)計架構(gòu),將部分控制功能配置給工人級節(jié)點,使機械手具有一定的自主性,實現(xiàn)了并行任務(wù)和串行任務(wù)的交叉控制,增強了系統(tǒng)的控制靈活性。文中提出基于CAN總線的樹狀網(wǎng)絡(luò)組網(wǎng)方案,采用分層式的地址分配方式,實現(xiàn)了分支信息的過濾及橫向信息的傳輸,同時,組合幀過程還解決了CAN報文數(shù)據(jù)空間不足的問題,實現(xiàn)了長字節(jié)數(shù)據(jù)在CAN總線中的傳輸??刂葡到y(tǒng)設(shè)計促進了阿克明斯特地毯織造系統(tǒng)的自動化改造,使分布式控制技術(shù)更好的應(yīng)用于紡織行業(yè)。
[1]劉橋,蔣梁中,謝存禧,國蓉.集散控制系統(tǒng)與現(xiàn)場總線控制系統(tǒng)[J].現(xiàn)代電子技術(shù),2003(13):89-93.
[2]吳軍,徐昕,連傳強,賀漢根.協(xié)作多機器人系統(tǒng)研究進展綜述[J].智能系統(tǒng)學(xué)報,2011,6(1):13-27.
[3]石志國,王志良,劉冀偉.異構(gòu)多機器人協(xié)作系統(tǒng)研究進展[J].智能系統(tǒng)學(xué)報,2009,4(5):377-391.
[4]馬斌奇.多機器人協(xié)作與控制策略研究[D].西安電子科技大學(xué),2009.
[5]馮睿.基于蟻群算法的多機器人協(xié)作機制研究[D].西北大學(xué),2011.
[6]劉金琨,王樹青.多智能體控制系統(tǒng)的設(shè)計與實現(xiàn)[J].控制理論與應(yīng)用,1999,16(4):580-582.
[7]李忠奎,姚永輝,溫良,賈曉娣.CAN多主通訊技術(shù)在煤礦頂板監(jiān)測系統(tǒng)中的應(yīng)用[J].電子設(shè)計工程,2011,19(21):93-96.