丁猛 張中輝 劉蔚釗
摘 要:目前我國教學(xué)機器人平臺使用的幾乎都是工業(yè)機器人,其機械結(jié)構(gòu)封閉,系統(tǒng)開放性差,控制算法固化,并不適應(yīng)實際教學(xué)。鑒于此,以康尼公司自主研發(fā)設(shè)計的KNT-ESR6B型六自由度串聯(lián)教學(xué)機器人本體為對象,基于開放式理念搭建了硬件控制系統(tǒng),并通過VC 6.0對機器人控制系統(tǒng)軟件進行了開發(fā),最終基于控制程序?qū)C器人進行了運動實驗,驗證了設(shè)計的可行性。
關(guān)鍵詞:教學(xué)機器人;開放式;控制系統(tǒng)
0? ? 引言
近年來,我國工業(yè)機器人技術(shù)發(fā)展很快,已經(jīng)在制造業(yè)得到了大量應(yīng)用,隨著機器人市場的快速增長,社會對機器人專業(yè)技術(shù)人才的需求加大,目前我國開辦機器人專業(yè)的院校已經(jīng)超過三百所,對于這樣一個比較新的專業(yè)來說,需要有適合本專業(yè)教學(xué)用的專業(yè)教學(xué)設(shè)備。目前我國教學(xué)機器人平臺都是使用的ABB、FANUC、KUKA等品牌的工業(yè)機器人,其產(chǎn)品機械結(jié)構(gòu)封閉,系統(tǒng)開放性差,控制算法固化,可以說,國內(nèi)一直缺少較為合適的教學(xué)機器人產(chǎn)品。所以,很有必要開展開放式教學(xué)機器人的研究,以提高專業(yè)建設(shè)水平,培養(yǎng)高素質(zhì)機器人專業(yè)人才,提升教師科研及技術(shù)服務(wù)能力,這對于推動我國機器人技術(shù)發(fā)展有著極其重要的意義。
本文以康尼公司自主研發(fā)設(shè)計的KNT-ESR6B型六自由度串聯(lián)教學(xué)機器人本體為對象,搭建了開放式的硬件控制系統(tǒng),并在此基礎(chǔ)之上,在Windows系統(tǒng)下基于Visual C++對控制系統(tǒng)軟件進行了開發(fā),最終在該教學(xué)機器人平臺上進行了實驗,驗證了該軟件系統(tǒng)在本平臺上的可行性。該控制系統(tǒng)值得在實際教學(xué)過程中推廣應(yīng)用。
1? ? 教學(xué)機器人控制系統(tǒng)搭建
1.1? ? 六自由度串聯(lián)教學(xué)機器人本體
KNT-ESR6B型教學(xué)機器人本體由康尼公司自主研發(fā),采用雙臂式結(jié)構(gòu)的六自由度串聯(lián)方式,負載為3 kg,幾何結(jié)構(gòu)滿足Pieper準(zhǔn)則,所有關(guān)節(jié)都是旋轉(zhuǎn)關(guān)節(jié)。如圖1所示,本體主要分為6個部分,即基座、腰部、上臂、肘部、前臂和腕部。機械臂的關(guān)節(jié)1固定在基座上,關(guān)節(jié)6的機械接口是連接法蘭,法蘭盤的姿態(tài)由六個旋轉(zhuǎn)關(guān)節(jié)軸的位置共同決定。
1.2? ? 控制系統(tǒng)電氣設(shè)計
目前市面上主流的教學(xué)機器人的控制器幾乎都是采用微處理器,其結(jié)構(gòu)封閉、底層軟件的算法固化。針對該問題,KNT-ESR6B型教學(xué)機器人電氣控制系統(tǒng)采用PC+運動控制卡的開放式結(jié)構(gòu)[1],控制部分的硬件主要有:工業(yè)PC機、PCI1040控制板卡、山洋伺服系統(tǒng)、信號轉(zhuǎn)換板和其他一些輔助電氣設(shè)備。硬件系統(tǒng)的總體構(gòu)成方式如圖2所示,控制板卡接收工業(yè)PC機上軟件的指令,然后根據(jù)給出的指令,分別向各個軸伺服系統(tǒng)發(fā)高速脈沖,控制各軸運行的角度和速度,實現(xiàn)對機器人運行的控制。
采用開放式實驗臺,把電氣部分全部安裝在網(wǎng)孔板上,控制部分和本體之間采用方形連接器進行電氣連接,對控制系統(tǒng)中的運動控制卡、伺服系統(tǒng)、信號轉(zhuǎn)換板等部件進行接線,主要包括主控電路、信號控制電路、通信電路及其他輔助回路。搭建好的KNT-ESR6B型控制系統(tǒng)平臺如圖3所示。
2? ? 教學(xué)機器人控制系統(tǒng)軟件設(shè)計
2.1? ? 控制系統(tǒng)軟件框架
軟件是控制系統(tǒng)的核心,是實現(xiàn)人機交互操作的接口?;谲浖到y(tǒng)的多任務(wù)處理、多線程編程和通用性等要求,開發(fā)平臺選用操作系統(tǒng)為Windows的工業(yè)PC機,通過Visual C++開發(fā)工具對其進行設(shè)計編程[2]。KNT-ESR6B型教學(xué)機器人軟件系統(tǒng)主要由運動學(xué)分析模塊、運動控制模塊、實驗?zāi)K這三大部分組成,如圖4所示。
2.2? ? 控制板卡二次開發(fā)流程
PCI1040運動控制卡是基于PCI總線的伺服/步進電機運動控制卡,能夠?qū)崿F(xiàn)復(fù)雜的電機運轉(zhuǎn)控制需求,可在VC、VB、C#以及LabView等環(huán)境中使用。該卡提供的函數(shù)庫種類十分豐富,通過調(diào)用控制卡的動態(tài)鏈接函數(shù)庫文件,匹配好相關(guān)接口來編寫上位機控制程序,其基本步驟如下:
(1)在Visual C++ 6.0軟件中,基于MFC
AppWizard建立一個單文檔或?qū)υ捒虻腤indows應(yīng)用程序框架。
(2)接著在工程設(shè)置選項中進行相關(guān)設(shè)置,加入板卡的庫文件PCI1040.lib和PCI1040_32.lib到工程設(shè)置窗口中鏈接項的對象/庫模塊一欄。
(3)將相關(guān)的PCI1040.h頭文件添加到具體的程序中。
(4)調(diào)用板卡相關(guān)函數(shù),確認控制板卡已正確安裝,對控制板卡進行初始化,然后設(shè)置機器人各關(guān)節(jié)伺服系統(tǒng)的參數(shù)。最后根據(jù)軟件中對運行軌跡的要求,調(diào)用相應(yīng)庫函數(shù)來編寫控制算法,實現(xiàn)對機器人的控制。
2.3? ? 軟件功能模塊
運動學(xué)分析模塊:根據(jù)KNT-ESR6B型教學(xué)機器人的相關(guān)運動學(xué)正反解算法設(shè)計該模塊,如圖5所示,只需在“運動學(xué)正解”軟件界面中輸入相應(yīng)的各軸關(guān)節(jié)角度,軟件就可自動計算出機器人的位置和姿態(tài);在“運動學(xué)反解”軟件界面中輸入機器人空間范圍內(nèi)的某一位姿,軟件就可自動計算出機器人的8組反解結(jié)果。
運動控制模塊:由狀態(tài)顯示、單軸控制、軌跡規(guī)劃、輔助控制等幾部分組成,控制界面如圖6所示。
在該模塊中可以讀取機器人的關(guān)節(jié)狀態(tài),通過調(diào)用PCI1040_StartLVDVCHV( )等函數(shù)來設(shè)置單軸運動的步長、速度以及加速度等參數(shù)以調(diào)試機器人6個關(guān)節(jié)的性能,控制每個關(guān)節(jié)的單步正反向運動,同時通過調(diào)用機器人軌跡規(guī)劃相關(guān)插補算法實現(xiàn)軌跡規(guī)劃過程。
3? ? 控制功能實驗
應(yīng)用搭建好的實驗平臺,控制KNT-ESR6B型教學(xué)機器人進行搭積木實驗,如圖7所示。在設(shè)定好相關(guān)伺服和運動控制卡的參數(shù)后,調(diào)用其軌跡規(guī)劃相關(guān)插補算法來編寫運動控制程序。對該教學(xué)機器人進行了多次重復(fù)運行實驗,結(jié)果表明該機器人能根據(jù)流程完成簡單的積木搭建實驗,證實了該開放式控制系統(tǒng)的可行性、易操作性。
4? ? 結(jié)語
本文針對當(dāng)前教學(xué)機器人機械結(jié)構(gòu)封閉、系統(tǒng)開放性差、控制算法固化,并不適應(yīng)實際教學(xué)的弊端,基于開放式理念對KNT-ESR6B教學(xué)機器人的硬件控制系統(tǒng)進行了搭建,并基于VC 6.0對機器人控制系統(tǒng)軟件進行了開發(fā),將機器人理論中最為重要的相關(guān)算法通過軟件界面直接展示出來,并能控制機器人簡單運動。通過實驗可知,雖然該控制系統(tǒng)的精度和速度不能與工業(yè)機器人相比,但可以滿足基本教學(xué)需求,驗證了該開放式系統(tǒng)的可行性,為后期KNT-ESR6B機器人控制系統(tǒng)設(shè)計的進一步優(yōu)化提供了依據(jù),具有一定的價值,值得推廣。
[參考文獻]
[1] 毛若愚.六軸串聯(lián)機器人控制系統(tǒng)的研究與應(yīng)用[D].大連:大連理工大學(xué),2019.
[2] 曹斌,董伯麟,柯振輝.基于運動控制卡的桁架機器人控制系統(tǒng)設(shè)計[J].制造技術(shù)與機床,2017(3):25-28.
收稿日期:2020-04-09
作者簡介:丁猛(1981—),男,江蘇南京人,工程師,研究方向:自動控制。