陳瑞軍,孟偉君,孟 飛,倪瑞政
(1.呼和浩特市城市軌道交通建設管理有限責任公司,呼和浩特 010010;2.北京交通大學,北京 100044)
近年來,制造業不斷向著自動化和智能化的方向發展,越來越多的機器人被應用到制造業當中。隨著應用范圍的不斷擴大,機器人對控制系統的開放性要求程度越來越高,必須要同時支持各種輸入任務、輸出任務和控制任務,由于機器人承擔的越來越多,操作也越來越復雜,單一機器人很難完成這些操作,必須要通過多個機器人共同配合才能完成操作,因此目前迫切需要研究出具有分布式控制能力的工業機器人控制系統[1]。就目前的技術水平來看,研究開放式控制系統的相對難度較大,對開發人員的要求也很高,開發人員不僅要能夠設計出復雜的應用邏輯,還要將設計的應用邏輯和底層細節完全吻合,確??刂葡到y的性能能夠滿足機器人要求。綜上可知,如何降低機器人分布式控制系統的難度,如何提升控制系統的擴展性和適應性,已經成為當前亟待解決的問題。除此之外,由于機器人主要是應用在弧焊、裝配、切割等,所以對于精度要求很高[2]。
就目前來看,機器人產業尚未形成統一的體系結構,功能組件都沒有實現模塊化、組件化和標準化,在研究控制系統過程中,由于機器人的種類過于繁多,所以很多功能模塊不能重復使用,這就導致生產機器人的成本過高、周期過長的問題。國內在機器人控制系統這一方面研究的相對較少,系統內部與外部總線的通信協議不一致,信息量越大,越容易產生通信瓶頸[3]。
本文針對系統的硬件和軟件進行優化,從可擴展性、可操作性和可移植性三個角度出發,設計了基于PC+控制卡的機器人手勢容錯控制系統,以ARM為核心設定硬件結構,使用可擴展程序提高操作系統的開放能力。利用實驗驗證系統的有效性。
課題研究的機器人通過控制卡與PC連接,在系統總體框架中,機器人Master 對總線進行管理,同時向外提供接口。HAL(hardware abstraction layer)為硬件抽象層,主要處理系統PC端的底層用戶數據,與機器人相配合,獲得機器人總線上的原始數據,在處理數據后,對系統上層的APP應用軟件進行調試,使應用軟件能夠與系統硬件配合工作[4]。除此之外,系統的PC端還加入了多個網卡,使外部網絡和系統內部各個站點連接到一起,形成一個統一的組網[5]?;赑C+控制卡的機器人手勢容錯控制系統總體結構如圖1所示。

圖1 基于PC+控制卡的機器人手勢容錯控制系統總體結構圖
在系統總體結構中加入了伺服控制卡,利用QSPI/SPI連接伺服控制卡的ESC通信卡,并利用總線EtherCAT連接。為增強系統的智能型,每一個硬件模塊都具備微處理器,用戶如果想進入系統中,必須要使用ESC通信卡,在進行電路更改時,需要使用傳感器控制卡[6]。在系統總體結構中,傳感器是基礎硬件子系統,多個微處理器在傳感器子系統中集成,從而更好地接入傳感器設備,同時也可以用來接入按鍵、液晶屏等硬件設備。設定總線網絡為開放式模式,引入多個具備EtherCAT通信功能的模塊,從而使系統中的各個模塊子電路可以順利連接[7]。
由于機器人應用的實際環境,往往存在多道工序,同時也會存在變動的補充工序,面對惡劣的工作環節,機器人必須要具備靈活的配置功能,只有這樣才能確保機器人的手勢能夠滿足工業要求,同時系統還要設定保護措施,防止由于工作環境過于惡劣而出現的機器人破損[8]。
系統出了設定主站外,還設定了從站,從站控制器的內部回環框圖如圖2所示。

圖2 從站控制器的內部回環框圖
分析圖2可知,在從站控制器中,存在多個ESC,每個總線數據流通時,都要經過一個ESC,通常,ESC會設定2~3個連接口,這樣總線會更加容易支持各種形式的拓撲連接方式,星型連接、樹型連接、線型拓撲連接。除此之外,回環模塊和自動轉發模塊的使用,二者可以配合使用,分析總線連接口的工作狀態,并針對工作狀態做出各種處理[9]。如果總線的連接口檢測到外部存在其它的連通器件或者存在其它的網絡,接口會自動開放,接收外部設備和網絡,將其納入到現有的EtherCAT網絡之中。如果連接口在運行時,沒有檢測到外部設備或者外部網絡,系統會自動關閉,內部的數據會自動回環,繞過連接口[10]。
加入上述設施后,系統的開放性會更強,現場總線網絡可以支持任意拓撲結構,配置也更加靈活。工業現場總線網絡復雜,所以若想要與任意配置網絡拓撲到一起,ESC連接口就要長時間保持開放狀態。當系統收到添加或者刪除從站設備的要求時,ESC連接接口會自動做出反應:當收到刪除設備或網絡的命令時,系統的ESC會自動關閉與被刪除設備或網絡連接的接口,確保其它鏈路能夠穩定地連通;當收到增加命令時,ESC會自動打開與被增加設備或網絡連接的接口,EtherCAT總線使用的接口為統一接口,為保障網絡設備的開放性提供了有效支持[11]。
從站子系統采用模塊化的方式設計,模塊具備靈活性,每個模塊都可以靈活拆卸,應用到不同的系統中,通過在基礎模塊上增加子控制卡,確保模塊的重復使用。這種研究方式使系統可以兼容不同廠家的控制器,內部模塊的重復使用有效提高了系統的開放性,方便系統后續升級工作的實行[12]。
除此之外,本文在系統的容錯性上也進行了強化設計。通過無冗余和冗余兩種方式連接發生故障的線纜。無冗余連接方式如圖3所示。

圖3 無冗余連接方式
如圖3所示,當總線從NIC接口出來之后,所有的從站會串聯連接,形成一個線性,ESC控制器會自動啟動配置連接口功能。如果總線線纜因為故障斷開,與故障點連接的ESC會自動關閉故障點所在的連接口,確保系統內部的其它連接口能夠自動連接。這種方式可以將故障點從從站系統中終端連接,并且確保故障點所在的從站系統正常工作[13]。
冗余連接方式如圖4所示。

圖4 冗余連接方式
如圖4所示,總線會從NIC口出去,所有的ESC會串接到一起,總線從另一個NIC接口進入主站,連接方式為一個環形,如果線纜的某處出現故障,與故障點相近的這一段ESC會自動斷開,ESC支配的所有連接口都會自動關閉,物理鏈路變成兩段獨立的鏈路,和與之靠近的NIC接口維持連接狀態。冗余連接方式通過增加NIC接口和冗余線纜使故障點被屏蔽,確保從站節點能夠維持正常工作[14]。
上述兩種方式能夠有效地提高基于PC+控制卡的機器人手勢容錯控制系統的容錯能力,冗余式布線使系統即使存在故障也可以正常運行。
基于PC+控制卡的機器人手勢容錯控制系統硬件主要包括三大設備,分別是ESC通信卡、八軸伺服控制卡和傳感器控制卡,針對這三項設備進行研究。
ESC通信卡的電路功能如圖5所示。

圖5 ESC通信卡的電路功能圖
根據圖5可知,LAN9252與外圍電路連接形成ESC通信卡和外圍電路組成ESC通信卡,以接入口的形式存在EtherCAT系統中,方便EtherCAT總線網絡輸入,同時負責向外部微處理器提供數據。在通信卡模塊中加入了兩個以太網的RJ45接頭,分別負責總線數據的流入和流出。RJ45接頭擁有獨立的變壓器,極大地簡化了外部電路,減少系統占地面積。ESC通信卡中配備了電壓調節器,可以調節的電壓范圍為3.3~5 V,在應用時,可根據實際環境靈活選擇。同時ESC通信卡加入了一個對外擴展接口,該接口有12針,可以為外部處理器提供過程數據接口,采用的設計方式為冗余設計,通信卡使用的引腳會根據實際狀況自行配置。通信卡中的EEPROM能夠保存從站中的配置信息,配置電路主要負責配置LAN9252的工作模式[15]。
在基于PC+控制卡的機器人手勢容錯控制系統中,伺服控制卡是核心設備,能夠將上層數據轉換成伺服驅動脈沖,能夠直接控制伺服執行器,伺服控制卡的性能直接關系到系統的精度和功能,如果伺服控制卡性能差,系統工作效果就會大大降低,因此必須要保證伺服控制卡的可靠性。本文在設計八軸伺服控制卡時,充電考慮了如下三個方面:伺服控制卡的穩定性、對動作執行的準確性、功能模塊使用的開放性、自身擴展能力。
在分析基于PC+控制卡的機器人手勢容錯控制工作環境后可知,控制系統必須要具備很強的完整信號保存能力和隔離能力。對于高速電路板來說,信號完整性設計是硬件設計中的難點。雖然線路步通之后,電路板可以保持正常工作,但是卻不能保證信號的連通性,連通效果差的信號在工作過程中,很容易出現噪聲過大、振鈴嚴重、電源軌道塌陷等問題,而一旦問題發生,信號就會出現嚴重畸變,電路板無法實行正常工作。
本文研究的八軸伺服控制卡設定分隔電源,與地平面保持平衡,在布線時,引入阻抗控制和濾波去耦等方法減少噪聲,防止信號失真現象的發生,從而為電路板提供更多可靠性的目標。雖然設計的伺服結構簡單,但是功能卻十分簡潔實用,具有很好的擴展能力。系統前端加入了能夠集成總線接口的伺服單元,伺服控制卡去除了Z相脈沖,使控制線束得到了簡化,同時加入了通信功能,使系統能夠更容易地讀取伺服信息。八軸伺服控制卡框圖如圖6所示。

圖6 八軸伺服控制卡框圖
分析圖6可知,在微處理器的設計中使用了Cortex—M7微控制器架構,提高控制伺服卡的運行速度和處理能力。被處理的數據會經過FPGA進入到8軸伺服電源,FPGA內部的硬件具有同步能力,可以精確地與8路伺服電機設備保持一致。同時在端口處加入了RS232/RS485/RS422三種通信接口,這三種通信接口是目前使用最為廣泛的接口,能夠與絕大部分的伺服產商產品適配,減輕產品耗能。八軸伺服控制卡的插入損耗特性和未插入前的損耗特性比較如圖7所示。

圖7 插入前后損耗特性對比
在設計伺服卡時,要分析傳輸的數據類型,使用通用的伺服控制卡協議,確保八軸伺服控制卡能夠得到廣泛應用。
機器人在與環境進行交互時,必須要使用傳感器控制卡,通過傳感器控制卡感受到自身的運動狀態信息和環境信息。傳感器控制卡如圖8所示。

圖8 傳感器控制卡
在傳感器控制卡中加入了決策系統,通過決策系統得到精準的機器人運動信息和外部環境信息,除此之外還引入了原始數據加工處理算法,從而從復雜的工業噪聲中獲得精準的數據。通過傳感器融合算法得到傳感數據,與傳感數據進行對比,獲得噪聲信息,并對數據信息進行修正。
本文設計的基于PC+控制卡的機器人手勢容錯控制系統應用程序為驅動程序,分別是從PC端向EtherCAT Master開源主站的驅動程序、從伺服控制卡到主控器的驅動程序、從傳感器到伺服控制卡的驅動程序。驅動功能如圖9所示。

圖9 驅動功能圖
主站驅動程序主要是負責從EtherCAT主站中獲得數據,在經過信息處理和分解后,將主站的數據應用到各個軟件中,這些數據會以一定的形式進入外部各個接口中。主站驅動程序將底層的硬件抽象化處理,切斷了硬件和軟件之間的聯系,使功能耦合得到減少,提高系統各部分的運行效果。從站驅動程序負責配合主站工作,利用ESC硬件芯片和從站協議棧配合完成軟件工作。從站應用軟件主要指的是伺服卡應用程序,在完成初始化和中斷處理后,所有的應用程序都會其中設置在周期控制任務中,為了能夠與EtherCAT更好地配合,所有的周期控制程序統一在APPL-application中實現。驅動程序的工作流程圖如圖10所示。

圖10 驅動程序工作流程圖
由圖10可知,驅動程序的工作流程的設定為:解析手術數據并循環刷新讀寫器的吞吐量,將解析完成的數據發送到各軸的伺服機上,將伺服機發出的脈沖信號傳送到FPGA芯片中,由芯片轉存后采用算法計算最優螺旋矩陣,并判斷請求信號是否滿足絕對值,在是的情況接受該請求,并全面評估請求,根據請求匹配功能口令。
為了檢測本文設計的基于PC+控制卡的機器人手勢容錯控制系統的控制性能,設定實驗。通過多次調試后,利用Turbo PMAC Clipper卡獲得電機相關參數后,整定機器人的各個電機參數,整定參數如表1所示:

表1 實驗整定參數
在完成上述的參數調試后,獲得安裝基于PC+控制卡的機器人手勢容錯控制系統機器人和安裝傳統控制系統的電機位置階躍響應曲線,如圖11所示。

圖11 電機位置階躍響應曲線
根據圖11可知,在應用本文的控制系統后,機器人電機的剛性、超調量、靜態誤差和振蕩情況都很好,能夠滿足提出的控制要求,而傳統控制系統雖然命令位置與實際位置也相對比較貼近,但是誤差要大于本文研究的控制系統,各方面性能也相對較差。
圖12為安裝兩種系統的機器人電機速度拋物響應曲線,在分析系統拋物曲線響應過程的速度以及產生的誤差來判斷系統的動態性能。
根據圖12可知,在應用于本文研究的基于PC+控制卡

圖12 拋物響應曲線
的機器人手勢容錯控制系統后,機器人的最大跟隨誤差要小于應用于傳統機器人手勢容錯控制系統的最大跟隨誤差,且傳送給電機的命令速度與實際運行速度一致,整個過程中最大跟隨誤差僅有1.0021cts,由此可見,本文研究的系統動態跟隨性能優于傳統系統性能。
綜上可知,本文研究的基于PC+控制卡的機器人手勢容錯控制系統具有很強的可操作性,加入該系統后,機器人的手臂末端執行器更加靈活,能夠沿著x、y、z軸各個方向旋轉。在設置好螺絲紋后安裝基于PC+控制卡的機器人手勢容錯控制系統,機器人的手臂系統可以靈活地上移和下移,達到實際應用要求。
機器人是目前研究的熱門話題,加強機器人發展對打造我國強國產業有著積極深遠的意義。本文研究的基于PC+控制卡的機器人手勢容錯控制系統以“PC+控制卡”為整體的數控架構,設定EtherCAT為通信網絡,使用最新的芯片,強化系統的信號保留能力,使信號能夠更加完整的保留下來,同時研究了兼容增量式傳輸機制,使系統能夠兼容不同位寬的數據,豐富的擴展接口和協同組網強化了系統的開放性。本文的研究具有很強的實際應用性,但是在EtherCA通信模塊上設計的端口只有兩個,一個端口輸入,一個端口輸出,未來可以在端口上進行加強,設置3~4個端口,增強系統的拓撲性能,使系統的操作更加靈活。