陳瑞軍,孟偉君,孟 飛,倪瑞政
(1.呼和浩特市城市軌道交通建設(shè)管理有限責(zé)任公司,呼和浩特 010010;2.北京交通大學(xué),北京 100044)
近年來(lái),制造業(yè)不斷向著自動(dòng)化和智能化的方向發(fā)展,越來(lái)越多的機(jī)器人被應(yīng)用到制造業(yè)當(dāng)中。隨著應(yīng)用范圍的不斷擴(kuò)大,機(jī)器人對(duì)控制系統(tǒng)的開放性要求程度越來(lái)越高,必須要同時(shí)支持各種輸入任務(wù)、輸出任務(wù)和控制任務(wù),由于機(jī)器人承擔(dān)的越來(lái)越多,操作也越來(lái)越復(fù)雜,單一機(jī)器人很難完成這些操作,必須要通過(guò)多個(gè)機(jī)器人共同配合才能完成操作,因此目前迫切需要研究出具有分布式控制能力的工業(yè)機(jī)器人控制系統(tǒng)[1]。就目前的技術(shù)水平來(lái)看,研究開放式控制系統(tǒng)的相對(duì)難度較大,對(duì)開發(fā)人員的要求也很高,開發(fā)人員不僅要能夠設(shè)計(jì)出復(fù)雜的應(yīng)用邏輯,還要將設(shè)計(jì)的應(yīng)用邏輯和底層細(xì)節(jié)完全吻合,確保控制系統(tǒng)的性能能夠滿足機(jī)器人要求。綜上可知,如何降低機(jī)器人分布式控制系統(tǒng)的難度,如何提升控制系統(tǒng)的擴(kuò)展性和適應(yīng)性,已經(jīng)成為當(dāng)前亟待解決的問(wèn)題。除此之外,由于機(jī)器人主要是應(yīng)用在弧焊、裝配、切割等,所以對(duì)于精度要求很高[2]。
就目前來(lái)看,機(jī)器人產(chǎn)業(yè)尚未形成統(tǒng)一的體系結(jié)構(gòu),功能組件都沒(méi)有實(shí)現(xiàn)模塊化、組件化和標(biāo)準(zhǔn)化,在研究控制系統(tǒng)過(guò)程中,由于機(jī)器人的種類過(guò)于繁多,所以很多功能模塊不能重復(fù)使用,這就導(dǎo)致生產(chǎn)機(jī)器人的成本過(guò)高、周期過(guò)長(zhǎng)的問(wèn)題。國(guó)內(nèi)在機(jī)器人控制系統(tǒng)這一方面研究的相對(duì)較少,系統(tǒng)內(nèi)部與外部總線的通信協(xié)議不一致,信息量越大,越容易產(chǎn)生通信瓶頸[3]。
本文針對(duì)系統(tǒng)的硬件和軟件進(jìn)行優(yōu)化,從可擴(kuò)展性、可操作性和可移植性三個(gè)角度出發(fā),設(shè)計(jì)了基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng),以ARM為核心設(shè)定硬件結(jié)構(gòu),使用可擴(kuò)展程序提高操作系統(tǒng)的開放能力。利用實(shí)驗(yàn)驗(yàn)證系統(tǒng)的有效性。
課題研究的機(jī)器人通過(guò)控制卡與PC連接,在系統(tǒng)總體框架中,機(jī)器人Master 對(duì)總線進(jìn)行管理,同時(shí)向外提供接口。HAL(hardware abstraction layer)為硬件抽象層,主要處理系統(tǒng)PC端的底層用戶數(shù)據(jù),與機(jī)器人相配合,獲得機(jī)器人總線上的原始數(shù)據(jù),在處理數(shù)據(jù)后,對(duì)系統(tǒng)上層的APP應(yīng)用軟件進(jìn)行調(diào)試,使應(yīng)用軟件能夠與系統(tǒng)硬件配合工作[4]。除此之外,系統(tǒng)的PC端還加入了多個(gè)網(wǎng)卡,使外部網(wǎng)絡(luò)和系統(tǒng)內(nèi)部各個(gè)站點(diǎn)連接到一起,形成一個(gè)統(tǒng)一的組網(wǎng)[5]?;赑C+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)總體結(jié)構(gòu)圖
在系統(tǒng)總體結(jié)構(gòu)中加入了伺服控制卡,利用QSPI/SPI連接伺服控制卡的ESC通信卡,并利用總線EtherCAT連接。為增強(qiáng)系統(tǒng)的智能型,每一個(gè)硬件模塊都具備微處理器,用戶如果想進(jìn)入系統(tǒng)中,必須要使用ESC通信卡,在進(jìn)行電路更改時(shí),需要使用傳感器控制卡[6]。在系統(tǒng)總體結(jié)構(gòu)中,傳感器是基礎(chǔ)硬件子系統(tǒng),多個(gè)微處理器在傳感器子系統(tǒng)中集成,從而更好地接入傳感器設(shè)備,同時(shí)也可以用來(lái)接入按鍵、液晶屏等硬件設(shè)備。設(shè)定總線網(wǎng)絡(luò)為開放式模式,引入多個(gè)具備EtherCAT通信功能的模塊,從而使系統(tǒng)中的各個(gè)模塊子電路可以順利連接[7]。
由于機(jī)器人應(yīng)用的實(shí)際環(huán)境,往往存在多道工序,同時(shí)也會(huì)存在變動(dòng)的補(bǔ)充工序,面對(duì)惡劣的工作環(huán)節(jié),機(jī)器人必須要具備靈活的配置功能,只有這樣才能確保機(jī)器人的手勢(shì)能夠滿足工業(yè)要求,同時(shí)系統(tǒng)還要設(shè)定保護(hù)措施,防止由于工作環(huán)境過(guò)于惡劣而出現(xiàn)的機(jī)器人破損[8]。
系統(tǒng)出了設(shè)定主站外,還設(shè)定了從站,從站控制器的內(nèi)部回環(huán)框圖如圖2所示。
圖2 從站控制器的內(nèi)部回環(huán)框圖
分析圖2可知,在從站控制器中,存在多個(gè)ESC,每個(gè)總線數(shù)據(jù)流通時(shí),都要經(jīng)過(guò)一個(gè)ESC,通常,ESC會(huì)設(shè)定2~3個(gè)連接口,這樣總線會(huì)更加容易支持各種形式的拓?fù)溥B接方式,星型連接、樹型連接、線型拓?fù)溥B接。除此之外,回環(huán)模塊和自動(dòng)轉(zhuǎn)發(fā)模塊的使用,二者可以配合使用,分析總線連接口的工作狀態(tài),并針對(duì)工作狀態(tài)做出各種處理[9]。如果總線的連接口檢測(cè)到外部存在其它的連通器件或者存在其它的網(wǎng)絡(luò),接口會(huì)自動(dòng)開放,接收外部設(shè)備和網(wǎng)絡(luò),將其納入到現(xiàn)有的EtherCAT網(wǎng)絡(luò)之中。如果連接口在運(yùn)行時(shí),沒(méi)有檢測(cè)到外部設(shè)備或者外部網(wǎng)絡(luò),系統(tǒng)會(huì)自動(dòng)關(guān)閉,內(nèi)部的數(shù)據(jù)會(huì)自動(dòng)回環(huán),繞過(guò)連接口[10]。
加入上述設(shè)施后,系統(tǒng)的開放性會(huì)更強(qiáng),現(xiàn)場(chǎng)總線網(wǎng)絡(luò)可以支持任意拓?fù)浣Y(jié)構(gòu),配置也更加靈活。工業(yè)現(xiàn)場(chǎng)總線網(wǎng)絡(luò)復(fù)雜,所以若想要與任意配置網(wǎng)絡(luò)拓?fù)涞揭黄?,ESC連接口就要長(zhǎng)時(shí)間保持開放狀態(tài)。當(dāng)系統(tǒng)收到添加或者刪除從站設(shè)備的要求時(shí),ESC連接接口會(huì)自動(dòng)做出反應(yīng):當(dāng)收到刪除設(shè)備或網(wǎng)絡(luò)的命令時(shí),系統(tǒng)的ESC會(huì)自動(dòng)關(guān)閉與被刪除設(shè)備或網(wǎng)絡(luò)連接的接口,確保其它鏈路能夠穩(wěn)定地連通;當(dāng)收到增加命令時(shí),ESC會(huì)自動(dòng)打開與被增加設(shè)備或網(wǎng)絡(luò)連接的接口,EtherCAT總線使用的接口為統(tǒng)一接口,為保障網(wǎng)絡(luò)設(shè)備的開放性提供了有效支持[11]。
從站子系統(tǒng)采用模塊化的方式設(shè)計(jì),模塊具備靈活性,每個(gè)模塊都可以靈活拆卸,應(yīng)用到不同的系統(tǒng)中,通過(guò)在基礎(chǔ)模塊上增加子控制卡,確保模塊的重復(fù)使用。這種研究方式使系統(tǒng)可以兼容不同廠家的控制器,內(nèi)部模塊的重復(fù)使用有效提高了系統(tǒng)的開放性,方便系統(tǒng)后續(xù)升級(jí)工作的實(shí)行[12]。
除此之外,本文在系統(tǒng)的容錯(cuò)性上也進(jìn)行了強(qiáng)化設(shè)計(jì)。通過(guò)無(wú)冗余和冗余兩種方式連接發(fā)生故障的線纜。無(wú)冗余連接方式如圖3所示。
圖3 無(wú)冗余連接方式
如圖3所示,當(dāng)總線從NIC接口出來(lái)之后,所有的從站會(huì)串聯(lián)連接,形成一個(gè)線性,ESC控制器會(huì)自動(dòng)啟動(dòng)配置連接口功能。如果總線線纜因?yàn)楣收蠑嚅_,與故障點(diǎn)連接的ESC會(huì)自動(dòng)關(guān)閉故障點(diǎn)所在的連接口,確保系統(tǒng)內(nèi)部的其它連接口能夠自動(dòng)連接。這種方式可以將故障點(diǎn)從從站系統(tǒng)中終端連接,并且確保故障點(diǎn)所在的從站系統(tǒng)正常工作[13]。
冗余連接方式如圖4所示。
圖4 冗余連接方式
如圖4所示,總線會(huì)從NIC口出去,所有的ESC會(huì)串接到一起,總線從另一個(gè)NIC接口進(jìn)入主站,連接方式為一個(gè)環(huán)形,如果線纜的某處出現(xiàn)故障,與故障點(diǎn)相近的這一段ESC會(huì)自動(dòng)斷開,ESC支配的所有連接口都會(huì)自動(dòng)關(guān)閉,物理鏈路變成兩段獨(dú)立的鏈路,和與之靠近的NIC接口維持連接狀態(tài)。冗余連接方式通過(guò)增加NIC接口和冗余線纜使故障點(diǎn)被屏蔽,確保從站節(jié)點(diǎn)能夠維持正常工作[14]。
上述兩種方式能夠有效地提高基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)的容錯(cuò)能力,冗余式布線使系統(tǒng)即使存在故障也可以正常運(yùn)行。
基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)硬件主要包括三大設(shè)備,分別是ESC通信卡、八軸伺服控制卡和傳感器控制卡,針對(duì)這三項(xiàng)設(shè)備進(jìn)行研究。
ESC通信卡的電路功能如圖5所示。
圖5 ESC通信卡的電路功能圖
根據(jù)圖5可知,LAN9252與外圍電路連接形成ESC通信卡和外圍電路組成ESC通信卡,以接入口的形式存在EtherCAT系統(tǒng)中,方便EtherCAT總線網(wǎng)絡(luò)輸入,同時(shí)負(fù)責(zé)向外部微處理器提供數(shù)據(jù)。在通信卡模塊中加入了兩個(gè)以太網(wǎng)的RJ45接頭,分別負(fù)責(zé)總線數(shù)據(jù)的流入和流出。RJ45接頭擁有獨(dú)立的變壓器,極大地簡(jiǎn)化了外部電路,減少系統(tǒng)占地面積。ESC通信卡中配備了電壓調(diào)節(jié)器,可以調(diào)節(jié)的電壓范圍為3.3~5 V,在應(yīng)用時(shí),可根據(jù)實(shí)際環(huán)境靈活選擇。同時(shí)ESC通信卡加入了一個(gè)對(duì)外擴(kuò)展接口,該接口有12針,可以為外部處理器提供過(guò)程數(shù)據(jù)接口,采用的設(shè)計(jì)方式為冗余設(shè)計(jì),通信卡使用的引腳會(huì)根據(jù)實(shí)際狀況自行配置。通信卡中的EEPROM能夠保存從站中的配置信息,配置電路主要負(fù)責(zé)配置LAN9252的工作模式[15]。
在基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)中,伺服控制卡是核心設(shè)備,能夠?qū)⑸蠈訑?shù)據(jù)轉(zhuǎn)換成伺服驅(qū)動(dòng)脈沖,能夠直接控制伺服執(zhí)行器,伺服控制卡的性能直接關(guān)系到系統(tǒng)的精度和功能,如果伺服控制卡性能差,系統(tǒng)工作效果就會(huì)大大降低,因此必須要保證伺服控制卡的可靠性。本文在設(shè)計(jì)八軸伺服控制卡時(shí),充電考慮了如下三個(gè)方面:伺服控制卡的穩(wěn)定性、對(duì)動(dòng)作執(zhí)行的準(zhǔn)確性、功能模塊使用的開放性、自身擴(kuò)展能力。
在分析基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制工作環(huán)境后可知,控制系統(tǒng)必須要具備很強(qiáng)的完整信號(hào)保存能力和隔離能力。對(duì)于高速電路板來(lái)說(shuō),信號(hào)完整性設(shè)計(jì)是硬件設(shè)計(jì)中的難點(diǎn)。雖然線路步通之后,電路板可以保持正常工作,但是卻不能保證信號(hào)的連通性,連通效果差的信號(hào)在工作過(guò)程中,很容易出現(xiàn)噪聲過(guò)大、振鈴嚴(yán)重、電源軌道塌陷等問(wèn)題,而一旦問(wèn)題發(fā)生,信號(hào)就會(huì)出現(xiàn)嚴(yán)重畸變,電路板無(wú)法實(shí)行正常工作。
本文研究的八軸伺服控制卡設(shè)定分隔電源,與地平面保持平衡,在布線時(shí),引入阻抗控制和濾波去耦等方法減少噪聲,防止信號(hào)失真現(xiàn)象的發(fā)生,從而為電路板提供更多可靠性的目標(biāo)。雖然設(shè)計(jì)的伺服結(jié)構(gòu)簡(jiǎn)單,但是功能卻十分簡(jiǎn)潔實(shí)用,具有很好的擴(kuò)展能力。系統(tǒng)前端加入了能夠集成總線接口的伺服單元,伺服控制卡去除了Z相脈沖,使控制線束得到了簡(jiǎn)化,同時(shí)加入了通信功能,使系統(tǒng)能夠更容易地讀取伺服信息。八軸伺服控制卡框圖如圖6所示。
圖6 八軸伺服控制卡框圖
分析圖6可知,在微處理器的設(shè)計(jì)中使用了Cortex—M7微控制器架構(gòu),提高控制伺服卡的運(yùn)行速度和處理能力。被處理的數(shù)據(jù)會(huì)經(jīng)過(guò)FPGA進(jìn)入到8軸伺服電源,F(xiàn)PGA內(nèi)部的硬件具有同步能力,可以精確地與8路伺服電機(jī)設(shè)備保持一致。同時(shí)在端口處加入了RS232/RS485/RS422三種通信接口,這三種通信接口是目前使用最為廣泛的接口,能夠與絕大部分的伺服產(chǎn)商產(chǎn)品適配,減輕產(chǎn)品耗能。八軸伺服控制卡的插入損耗特性和未插入前的損耗特性比較如圖7所示。
圖7 插入前后損耗特性對(duì)比
在設(shè)計(jì)伺服卡時(shí),要分析傳輸?shù)臄?shù)據(jù)類型,使用通用的伺服控制卡協(xié)議,確保八軸伺服控制卡能夠得到廣泛應(yīng)用。
機(jī)器人在與環(huán)境進(jìn)行交互時(shí),必須要使用傳感器控制卡,通過(guò)傳感器控制卡感受到自身的運(yùn)動(dòng)狀態(tài)信息和環(huán)境信息。傳感器控制卡如圖8所示。
圖8 傳感器控制卡
在傳感器控制卡中加入了決策系統(tǒng),通過(guò)決策系統(tǒng)得到精準(zhǔn)的機(jī)器人運(yùn)動(dòng)信息和外部環(huán)境信息,除此之外還引入了原始數(shù)據(jù)加工處理算法,從而從復(fù)雜的工業(yè)噪聲中獲得精準(zhǔn)的數(shù)據(jù)。通過(guò)傳感器融合算法得到傳感數(shù)據(jù),與傳感數(shù)據(jù)進(jìn)行對(duì)比,獲得噪聲信息,并對(duì)數(shù)據(jù)信息進(jìn)行修正。
本文設(shè)計(jì)的基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)應(yīng)用程序?yàn)轵?qū)動(dòng)程序,分別是從PC端向EtherCAT Master開源主站的驅(qū)動(dòng)程序、從伺服控制卡到主控器的驅(qū)動(dòng)程序、從傳感器到伺服控制卡的驅(qū)動(dòng)程序。驅(qū)動(dòng)功能如圖9所示。
圖9 驅(qū)動(dòng)功能圖
主站驅(qū)動(dòng)程序主要是負(fù)責(zé)從EtherCAT主站中獲得數(shù)據(jù),在經(jīng)過(guò)信息處理和分解后,將主站的數(shù)據(jù)應(yīng)用到各個(gè)軟件中,這些數(shù)據(jù)會(huì)以一定的形式進(jìn)入外部各個(gè)接口中。主站驅(qū)動(dòng)程序?qū)⒌讓拥挠布橄蠡幚?,切斷了硬件和軟件之間的聯(lián)系,使功能耦合得到減少,提高系統(tǒng)各部分的運(yùn)行效果。從站驅(qū)動(dòng)程序負(fù)責(zé)配合主站工作,利用ESC硬件芯片和從站協(xié)議棧配合完成軟件工作。從站應(yīng)用軟件主要指的是伺服卡應(yīng)用程序,在完成初始化和中斷處理后,所有的應(yīng)用程序都會(huì)其中設(shè)置在周期控制任務(wù)中,為了能夠與EtherCAT更好地配合,所有的周期控制程序統(tǒng)一在APPL-application中實(shí)現(xiàn)。驅(qū)動(dòng)程序的工作流程圖如圖10所示。
圖10 驅(qū)動(dòng)程序工作流程圖
由圖10可知,驅(qū)動(dòng)程序的工作流程的設(shè)定為:解析手術(shù)數(shù)據(jù)并循環(huán)刷新讀寫器的吞吐量,將解析完成的數(shù)據(jù)發(fā)送到各軸的伺服機(jī)上,將伺服機(jī)發(fā)出的脈沖信號(hào)傳送到FPGA芯片中,由芯片轉(zhuǎn)存后采用算法計(jì)算最優(yōu)螺旋矩陣,并判斷請(qǐng)求信號(hào)是否滿足絕對(duì)值,在是的情況接受該請(qǐng)求,并全面評(píng)估請(qǐng)求,根據(jù)請(qǐng)求匹配功能口令。
為了檢測(cè)本文設(shè)計(jì)的基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)的控制性能,設(shè)定實(shí)驗(yàn)。通過(guò)多次調(diào)試后,利用Turbo PMAC Clipper卡獲得電機(jī)相關(guān)參數(shù)后,整定機(jī)器人的各個(gè)電機(jī)參數(shù),整定參數(shù)如表1所示:
表1 實(shí)驗(yàn)整定參數(shù)
在完成上述的參數(shù)調(diào)試后,獲得安裝基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)機(jī)器人和安裝傳統(tǒng)控制系統(tǒng)的電機(jī)位置階躍響應(yīng)曲線,如圖11所示。
圖11 電機(jī)位置階躍響應(yīng)曲線
根據(jù)圖11可知,在應(yīng)用本文的控制系統(tǒng)后,機(jī)器人電機(jī)的剛性、超調(diào)量、靜態(tài)誤差和振蕩情況都很好,能夠滿足提出的控制要求,而傳統(tǒng)控制系統(tǒng)雖然命令位置與實(shí)際位置也相對(duì)比較貼近,但是誤差要大于本文研究的控制系統(tǒng),各方面性能也相對(duì)較差。
圖12為安裝兩種系統(tǒng)的機(jī)器人電機(jī)速度拋物響應(yīng)曲線,在分析系統(tǒng)拋物曲線響應(yīng)過(guò)程的速度以及產(chǎn)生的誤差來(lái)判斷系統(tǒng)的動(dòng)態(tài)性能。
根據(jù)圖12可知,在應(yīng)用于本文研究的基于PC+控制卡
圖12 拋物響應(yīng)曲線
的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)后,機(jī)器人的最大跟隨誤差要小于應(yīng)用于傳統(tǒng)機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)的最大跟隨誤差,且傳送給電機(jī)的命令速度與實(shí)際運(yùn)行速度一致,整個(gè)過(guò)程中最大跟隨誤差僅有1.0021cts,由此可見,本文研究的系統(tǒng)動(dòng)態(tài)跟隨性能優(yōu)于傳統(tǒng)系統(tǒng)性能。
綜上可知,本文研究的基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)具有很強(qiáng)的可操作性,加入該系統(tǒng)后,機(jī)器人的手臂末端執(zhí)行器更加靈活,能夠沿著x、y、z軸各個(gè)方向旋轉(zhuǎn)。在設(shè)置好螺絲紋后安裝基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng),機(jī)器人的手臂系統(tǒng)可以靈活地上移和下移,達(dá)到實(shí)際應(yīng)用要求。
機(jī)器人是目前研究的熱門話題,加強(qiáng)機(jī)器人發(fā)展對(duì)打造我國(guó)強(qiáng)國(guó)產(chǎn)業(yè)有著積極深遠(yuǎn)的意義。本文研究的基于PC+控制卡的機(jī)器人手勢(shì)容錯(cuò)控制系統(tǒng)以“PC+控制卡”為整體的數(shù)控架構(gòu),設(shè)定EtherCAT為通信網(wǎng)絡(luò),使用最新的芯片,強(qiáng)化系統(tǒng)的信號(hào)保留能力,使信號(hào)能夠更加完整的保留下來(lái),同時(shí)研究了兼容增量式傳輸機(jī)制,使系統(tǒng)能夠兼容不同位寬的數(shù)據(jù),豐富的擴(kuò)展接口和協(xié)同組網(wǎng)強(qiáng)化了系統(tǒng)的開放性。本文的研究具有很強(qiáng)的實(shí)際應(yīng)用性,但是在EtherCA通信模塊上設(shè)計(jì)的端口只有兩個(gè),一個(gè)端口輸入,一個(gè)端口輸出,未來(lái)可以在端口上進(jìn)行加強(qiáng),設(shè)置3~4個(gè)端口,增強(qiáng)系統(tǒng)的拓?fù)湫阅?,使系統(tǒng)的操作更加靈活。