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