王殿君,嵇鐘輝,劉淑晶,相 臣,彭文祥
(北京石油化工學院 機械工程學院,北京 102617)
目前機器人常用的控制方式主要有主從式、分布式、集中式。主從式控制方式是由一級計算機和二級計算機組合控制的,主要應用于機器人的遠程控制。分布式控制方式可以有效的提高控制器的工作速度和控制性能,但是這也給控制系統(tǒng)設計增大了難度。而集中式的控制方式簡單、靈活,可以實現(xiàn)任務的實時集中控制等特點,被廣泛應用于機器人控制。
集中式控制方式目前主要有專用式控制方式、開放式控制方式。專用式控制方式專用、集成度高,但不開放、功能可擴展性和可移植性不高,不利于二次開發(fā)。開放式的控制方式以其具有很好的實時性、穩(wěn)定性、可擴展性等優(yōu)點成為當下機器人控制的常用方法。通過對幾種控制方式的對比分析以及機器人控制系統(tǒng)設計的實際要求,機器人控制系統(tǒng)采用開放式控制方式。
本文首先簡要介紹了六自由度模塊化機器人本體構造,選擇了一種基于上位機PC與下位機PMAC的控制系統(tǒng),開發(fā)了上位機機器人控制軟件,搭建機器人運動平臺并進行了機器人示教及定位實驗。
六自由度模塊化機器人分為六個模塊,在設計過程中采用模塊化的思想[1~3]。驅動綜合使用了步進電機、交流伺服電機搭配諧波減速器、行星減速器的形式,并采用同步帶傳動、蝸輪蝸桿傳動等多種傳動方式[4,5]。
加工組裝完成的六自由度模塊化機器人機械本體如圖1所示。
圖1 六自由度機器人機械本體
依據(jù)已選定的開放式控制方式進行控制器的選擇。運動控制器是機器人控制系統(tǒng)的核心,它負責接收上位機的用戶指令,根據(jù)指令控制其他電氣元件工作。常用的控制器有單片機、PLC、運動控制器等。單片機控制的優(yōu)點是經濟性高、控制系統(tǒng)成本相對較低,缺點是故障率較高、擴展性差,對周圍環(huán)境依賴性較強、穩(wěn)定性不足、開發(fā)周期較長; PLC控制的優(yōu)點是它具有較強的抗干擾能力,從而使它的故障率相對較低,而且它對于設備的擴展相對容易,方便維修、產品開發(fā)周期較短,缺點是做相對較復雜的運動控制時,運動程序編程比較麻煩;運動控制器控制的優(yōu)點是將其與PC機配合,利用下位機的運動控制卡運算速度快、實時性好,可實現(xiàn)多軸運動控制的特點,再加上上位PC機可以處理大量數(shù)據(jù)并由運動控制器迅速的去執(zhí)行,可以達到控制反應時間短、控制精度高的效果。
綜合分析以上優(yōu)缺點,并結合集中式控制方式的特點,控制系統(tǒng)總體方案確定為集中式二級控制,采用上位機PC機+下位機運動控制器的方案。
目前通用運動控制器種類眾多,主流的運動控制器有研華運動控制器,固高運動控制器,PMAC運動控制器等。相比于其他運動控制器,PMAC的軟硬件開放性更好,功能更強大,可靠性和穩(wěn)定性更好。因此,選用Turbo Pmac Clipper運動控制器作為本系統(tǒng)的控制核心單元[6]。
在該方案中運動控制器用于完成運動控制、I/O 管理以及PLC等實時任務控制,PC機完成人機交互界面、系統(tǒng)管理等非實時性任務,實現(xiàn)資源的合理有效分配,使得該系統(tǒng)的開放性非常好,有利于研究人員對系統(tǒng)功能進行二次開發(fā)和擴展。基于PMAC運動控制器的控制系統(tǒng)總體方案如圖2所示。
圖2 機器人控制系統(tǒng)總體方案
系統(tǒng)所用驅動部件包括步進電機和伺服電機兩大類, 2軸關節(jié)采用松下A5伺服電機驅動,其余軸關節(jié)采用步進電機驅動。機器人運動控制模式為位置控制,系統(tǒng)使用限位光隔板對限位、回零等標志信號增加了光耦隔離。將PMAC的輸出口JMACH1通過扁平電纜與SS2信號轉接板相連,發(fā)送信號控制伺服電機使能及編碼器脈沖輸出信號[7]。根據(jù)設備接口說明以及需要實現(xiàn)的功能,完成電路連接設計,以2軸為例的部分電路設計如圖3所示。
圖3 PMAC與伺服電機電路圖
根據(jù)機器人的工作環(huán)境及電氣參數(shù)指標[8],搭建的電氣柜實物圖如圖4所示。
圖4 控制系統(tǒng)電氣實物圖
PMAC中有四類變量,分別是I變量、M變量、P變量和Q變量。在使用PMAC之前,需要對指令輸出口地址、控制模式、限位等相關變量進行設置。
機器人手爪狀態(tài)是由PMAC運動控制器的IO端口控制的,對手爪狀態(tài)的檢測,實際上就是對PMAC輸入輸出點的檢測。PMAC的IO需要使用M變量對各個IO點進行定義,定義之后才能檢測和控制這些IO點。TURBO PMAC一共具有8路數(shù)字輸出和輸入,通過改變其中的一路輸出信號的值來監(jiān)測和改變手爪狀態(tài):調用PmacGetResponse(dwDevice, buf, 255, “M0”)函數(shù)后,會返回一個包含M0信息的字符,判斷這個字符的內容來確定手爪的狀態(tài)。
Microsoft Visual C++ 6.0是Microsoft公司推出的基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,IDE)。它具有程序框架自動生成、靈活方便的類管理、可開發(fā)多種程序等優(yōu)點,已成為很多專業(yè)程序員進行軟件開發(fā)的首選工具[9]。機器人控制系統(tǒng)中使用的PMAC運動控制器為用戶提供了PCOMM動態(tài)鏈接庫來完成上位機和PMAC之間的數(shù)據(jù)交換,PCOMM動態(tài)鏈接庫之中包含了200多個庫函數(shù),通過它能夠非常方便的在VC++6.0下使用,因此本文采用VC++6.0高級語言編程來進行上位機程序的編寫。
針對本系統(tǒng)的特點,將控制軟件分為上位機和下位機兩個部分。上位桌面應用程序與下位運動程序之間進行數(shù)據(jù)交互[10],機器人控制系統(tǒng)軟件的總體結構如圖5所示。
圖5 機器人控制系統(tǒng)軟件的總體結構
在對上位機軟件開發(fā)之前,首先要對軟件所能實現(xiàn)的功能進行劃分,然后再根據(jù)具體的功能劃分來進行軟件的編寫。將模塊化六自由度機器人控制軟件按照功能進行的劃分,如表1所示。
表1 上位機軟件功能劃分
本文開發(fā)的上位機軟件,基于面向對象的理念,使用MFC對話框功能開發(fā)??刂栖浖窘淘佻F(xiàn)功能實現(xiàn)的流程如圖6所示。
圖6 控制軟件示教再現(xiàn)功能實現(xiàn)流程圖
在Windows XP系統(tǒng)下使用VC++6.0開發(fā)了模塊化六自由度機器人的控制軟件,其中的子功能示教模塊如圖7所示。
圖7 機器人示教軟件界面
在模塊化機器人試驗平臺上對機器人進行示教實驗,在圖7所示的機器人示教界面中,使用模塊運動功能讓機器人各關節(jié)運動,控制手爪抓取軸裝配到軸套中,記錄關節(jié)運動狀態(tài)。記錄完成后,通過單擊再現(xiàn)按鈕實現(xiàn)機器人示教再現(xiàn)的功能。記錄的示教參數(shù)如圖7所示,其中,X、Y、Z、U、V、W分別代表各關節(jié)相對于初始位置的轉角,S為運行速度,H為手爪狀態(tài)。
通過機器人控制軟件,讓機器人末端運動至空間某一點,當前坐標記錄了機器人末端手爪的理論位置坐標,用激光跟蹤儀測定機器人運動實際末端坐標值,比對理論值和所測實際值之間的誤差,驗證機器人的定位精度,機器人定位誤差如表2所示。
表2 機器人定位誤差
通過實驗結果可以看出,模塊化六自由度機器人在控制系統(tǒng)下能夠很好的完成示教再現(xiàn)方式的搬運裝配工作,在一定程度上證明了機器人在所設計的控制系統(tǒng)下工作可靠穩(wěn)定,通過6次測定機器人末端定位誤差,得到誤差的最大值為0.8392mm,證明了機器人在此控制系統(tǒng)下具有較好的定位精度。
1)根據(jù)開放式控制系統(tǒng)的特點,確定了基于PC機+PMAC運動控制器的機器人控制系統(tǒng)方案。
2)根據(jù)六自由度模塊化機器人的機械設計及運行要求設計控制系統(tǒng)的電路圖,搭建電氣系統(tǒng)。
3)使用VC++ 6.0并結合Pcomm32在Windows系統(tǒng)下開發(fā)六自由度模塊化機器人控制軟件,并通過連續(xù)示教實驗及定位誤差測定驗證了控制系統(tǒng)工作穩(wěn)定可靠及具有比較高的定位精度。
[1] 王衛(wèi)忠.可重構模塊化機器人系統(tǒng)關鍵技術研究[D].哈爾濱:哈爾濱工業(yè)大學,2007.
[2] A. Castano,A.Behar,P.M.Will.The CONRO modules for Recon fi gurable robots.IEEE/ASME Transactions on Mechatronics,2002,7(4):403-409.
[3] 王明輝,馬書根,李斌,等.可重構機器人體系結構及模塊化控制系統(tǒng)的實現(xiàn)[J].儀器儀表學報,2006,27(10):1178-1182.
[4] Wei H X,Cai Y P,Li H Y,et al. Sambot:A self ass-embly modular robot for Swarm robot[A].IEEE Inte-rnational Conferenceon Robotics and Automatio Piscata-way,USA:IEEE[C].2010:66-71.
[5] 王林.可重構模塊化機器人構形設計理論及方法的研究[D].武漢:武漢理工大學,2007.
[6] Delta Tau Data System Inc.Turbo PMAC2 User Manual[M].USA:Delta Tau Data System Inc,2006.
[7] 朱萬輝.七自由度焊接機器人控制系統(tǒng)設計[D].安徽工業(yè)大學,2012.
[8] 姚興田,馬永林,張磊,等.升降伸縮式樓道清潔機器人結構及控制系統(tǒng)設計[J].機械設計與制 造,2014(4):262-264.
[9] 汪洋,李斌,陳麗,等.蛇形機器人控制系統(tǒng)的設計與實現(xiàn)[J].機器人,2003,25(6):491-494,500.
[10] 張邦成,韓躍營,王占禮,等.基于PMAC的仿人按摩機器人手臂控制系統(tǒng)設計[J].機械設計與制造,2012(4):56-58.