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