李能菲 常輝 王奎
摘要:工業(yè)機(jī)器人的大量使用,對(duì)操作員的需求劇增,使其成為現(xiàn)代工業(yè)生產(chǎn)一線的新興職業(yè)。目前高校教學(xué)中普遍使用的六軸機(jī)器人是基于Visual C++ MFC平臺(tái)下編寫的控制程序,鑒于MFC開發(fā)周期長(zhǎng)且對(duì)開發(fā)人員編程水平要求較高等問題。文章依托RBT-6T/S01DM型多控模塊化積木式可拆裝串聯(lián)機(jī)器人開放式硬件平臺(tái),以LabVIEW為開發(fā)環(huán)境,通過調(diào)用運(yùn)動(dòng)控制卡動(dòng)態(tài)鏈接庫(kù)的方式實(shí)現(xiàn)對(duì)機(jī)器人本體的控制。所設(shè)計(jì)的控制軟件靈活、可擴(kuò)展性強(qiáng),對(duì)于一般的控制系統(tǒng)設(shè)計(jì)具有一定的借鑒意義。
關(guān)鍵詞:LabVIEW;模塊化串聯(lián)機(jī)器人;軟件控制;運(yùn)動(dòng)控制卡
中圖分類號(hào):TP241.2? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)11-0107-03
1 引言
工業(yè)機(jī)器人被譽(yù)為“制造業(yè)皇冠頂端的明珠”,其研發(fā)、制造、應(yīng)用是衡量一個(gè)國(guó)家科技創(chuàng)新和高端制造業(yè)水平的重要標(biāo)志[1]。我國(guó)已經(jīng)連續(xù)八年成為全球最大的工業(yè)機(jī)器人消費(fèi)國(guó),2020年制造業(yè)機(jī)器人密度達(dá)到246臺(tái)/萬人,是全球平均水平的近2倍。工業(yè)機(jī)器人已經(jīng)成功應(yīng)用于多個(gè)高端制造行業(yè)。機(jī)器人不僅應(yīng)用于高科技行業(yè),也在逐漸向傳統(tǒng)行業(yè)延伸,以解決勞動(dòng)密集型企業(yè)用工難的問題。數(shù)據(jù)顯示,目前國(guó)內(nèi)工業(yè)機(jī)器人已在140多個(gè)行業(yè)中得到廣泛應(yīng)用。工業(yè)機(jī)器人的大量使用,對(duì)工業(yè)機(jī)器人的系統(tǒng)操作員需求激增,使其成為現(xiàn)代工業(yè)生產(chǎn)中的新興職業(yè)[2]。
目前,眾多的大中專院校開設(shè)了工業(yè)機(jī)器人教學(xué)及相應(yīng)的實(shí)訓(xùn)課程。其中,江蘇匯博公司開發(fā)的RBT-6T/S01DM型多控模塊化積木式可拆裝串聯(lián)機(jī)器人被廣泛應(yīng)用在職業(yè)技能大賽和實(shí)訓(xùn)教學(xué)中。原有的機(jī)器人控制系統(tǒng)是基于Visual C++ MFC平臺(tái)下編寫的應(yīng)用程序,MFC開發(fā)周期長(zhǎng)且不夠靈活,對(duì)開發(fā)人員編程水平要求較高,對(duì)于高職院校的學(xué)生而言,難度較大,很多時(shí)候?qū)W生只知其一,不知其二,只能按照步驟進(jìn)行訓(xùn)練。LabVIEW(Laboratory Virtual instrument Engineering Workbench) 作為一種圖形化的編程語言的開發(fā)環(huán)境[3],廣泛地被應(yīng)用于在工業(yè)自動(dòng)化、測(cè)控等場(chǎng)合。在設(shè)計(jì)人機(jī)界面時(shí),LabVIEW開發(fā)效率更高,能夠大大降低程序開發(fā)時(shí)間與開發(fā)難度。鑒于此,文章以RBT-6T/S01DM型多控模塊化積木式可拆裝串聯(lián)機(jī)器人為研究對(duì)象,依托開放式硬件平臺(tái),以LabVIEW為開發(fā)環(huán)境,通過調(diào)用運(yùn)動(dòng)控制卡的動(dòng)態(tài)鏈接庫(kù)的方式來實(shí)現(xiàn)對(duì)機(jī)器人本體的控制,對(duì)控制系統(tǒng)軟件進(jìn)行二次開發(fā)。所設(shè)計(jì)的控制軟件靈活、可擴(kuò)展性強(qiáng),在實(shí)際教學(xué)與工業(yè)設(shè)計(jì)中具有一定的推廣作用。
2 六自由度串聯(lián)機(jī)器人本體結(jié)構(gòu)
RBT-6T/S01DM型機(jī)器人為6自由度模塊化可拆卸串聯(lián)機(jī)器人,負(fù)載為0.5Kg,如圖1所示,采用伺服電機(jī)和步進(jìn)電機(jī)混合驅(qū)動(dòng),各模塊的傳動(dòng)采用可視化結(jié)構(gòu),由錐齒輪、同步齒型帶和諧波減速器等多種傳動(dòng)結(jié)構(gòu)配合實(shí)現(xiàn)[4],具有較高靈活性,在機(jī)械結(jié)構(gòu)教學(xué)、運(yùn)動(dòng)規(guī)劃和編程控制系統(tǒng)設(shè)計(jì)中得到廣泛應(yīng)用。
3 機(jī)器人控制系統(tǒng)硬件構(gòu)成
六自由度串聯(lián)機(jī)器人控制系統(tǒng)硬件構(gòu)成如圖2所示,采用工控機(jī)結(jié)合運(yùn)動(dòng)控制卡的開放式結(jié)構(gòu)??刂撇糠钟布饕校汗I(yè)控制計(jì)算機(jī)、MAC-3002SSP2和MAC-3002SSP4控制板卡、步進(jìn)(或伺服) 電機(jī)驅(qū)動(dòng)器、信號(hào)轉(zhuǎn)換板和其他一些輔助電氣設(shè)備[5]。
其中,模塊1對(duì)應(yīng)的步進(jìn)電機(jī)驅(qū)動(dòng)器型號(hào)為AKS230,電流設(shè)置為3A,細(xì)分設(shè)置為1/32;模塊2對(duì)應(yīng)的伺服電機(jī)驅(qū)動(dòng)器型號(hào)為MADHT1505E,相關(guān)參數(shù)設(shè)置如表1所示。
模塊3至模塊6對(duì)應(yīng)的步進(jìn)電機(jī)驅(qū)動(dòng)器的型號(hào)為AKS202A。電流設(shè)置為0.63A,細(xì)分設(shè)置為1/32。
本系統(tǒng)使用了兩塊運(yùn)動(dòng)控制卡,型號(hào)分別為MAC-3002SSP2和MAC-3002SSP4。其中,MAC-3002SSP2可以實(shí)現(xiàn)對(duì)兩軸電機(jī)的控制,MAC-3002SSP4最多可以實(shí)現(xiàn)對(duì)四軸電機(jī)的控制。這兩塊運(yùn)動(dòng)控制卡用來協(xié)同控制模塊機(jī)器人,實(shí)現(xiàn)步進(jìn)電機(jī)和伺服電機(jī)的位置和速度的控制??刂瓶ǖ闹饕刂菩盘?hào)包括:脈沖信號(hào)、方向信號(hào)和限位信號(hào)與零位信號(hào)[6]。
4 基于LabVIEW模塊化機(jī)器人的控制
教學(xué)用的六軸機(jī)器人控制系統(tǒng)采用VC++ MFC平臺(tái)下編寫的應(yīng)用程序,開發(fā)周期長(zhǎng)且不夠靈活,對(duì)于高職院校的學(xué)生而言,難度較大。LabVIEW簡(jiǎn)單易學(xué),開發(fā)效率高。這里,以LabVIEW為開發(fā)環(huán)境,通過調(diào)用運(yùn)動(dòng)控制卡的動(dòng)態(tài)鏈接庫(kù)(Dynamic Link Library,DLL) 的方式來實(shí)現(xiàn)對(duì)板卡的操作[7],進(jìn)而實(shí)現(xiàn)對(duì)模塊機(jī)器人的運(yùn)動(dòng)控制。在使用LabVIEW編寫測(cè)控程序時(shí),由于廠家僅提供了DLL和.h文件,未提供相應(yīng)的API函數(shù)對(duì)應(yīng)的子VI,因此需要將動(dòng)態(tài)鏈接庫(kù)轉(zhuǎn)換為子VI。通常有兩種辦法來實(shí)現(xiàn),第一種方式是通過LabVIEW菜單中的“工具”->“導(dǎo)入”->“共享庫(kù)(.DLL) …”的方式按照向?qū)ё詣?dòng)生成子VI[8]。轉(zhuǎn)換完成后,在程序面板點(diǎn)擊右鍵,在編程里面選擇用戶庫(kù),即可出現(xiàn)轉(zhuǎn)換好的庫(kù)目錄,如圖所示3。
通常情況下,上述方法無法一次性將動(dòng)態(tài)鏈接庫(kù)中所有的函數(shù)都轉(zhuǎn)換為子VI,這時(shí)可以第二種方式,即通過手動(dòng)的方式,利用LabVIEW函數(shù)選板中的“互聯(lián)接口”中的“庫(kù)與可執(zhí)行程序”中“調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)”即(CLN) 來實(shí)現(xiàn)。處理時(shí)需要用到相應(yīng)的.DLL和相應(yīng)的.h文件,在函數(shù)名中選擇需要轉(zhuǎn)換的函數(shù)名字,按照.h文件中函數(shù)的定義,添加相應(yīng)類型的參數(shù)即可。通過這種手動(dòng)的方式幾乎可以將所有提供DLL和.h的文件轉(zhuǎn)換為子VI的形式[9]。我們以MAC-3002SSP4庫(kù)函數(shù)int ssp2_start_vt_move(int Axis,int FL,int FH,double Tacc)為例來進(jìn)行介紹,該函數(shù)功能是對(duì)一軸加速到一定速度,函數(shù)的返回類型為有符號(hào)32位整型,其中Axis為選擇MAC-3002SSP4控制電機(jī)軸號(hào),為有符號(hào)32進(jìn)制整型;FL表示初始速度,單位為脈沖數(shù)/秒,取值范圍:[-65535 65535],符號(hào)表示運(yùn)動(dòng)方向,負(fù)號(hào)為反向運(yùn)動(dòng),正號(hào)為正向運(yùn)動(dòng);FH為運(yùn)行速度,單位為脈沖數(shù)/秒,取值范圍為[-65535 65535];Tacc表示加速時(shí)間,單位為秒;將其轉(zhuǎn)換為子VI的程序面板和前面板如圖4所示。
基于LabVIEW開發(fā)的六軸機(jī)器人運(yùn)動(dòng)控制程序前面板如圖5所示,初步實(shí)現(xiàn)了6軸電機(jī)的控制,包括正轉(zhuǎn)與反轉(zhuǎn),同時(shí)在運(yùn)行過程中,實(shí)時(shí)檢測(cè)限位狀態(tài)與零位信息,并進(jìn)行狀態(tài)顯示,通過運(yùn)行速度與目標(biāo)位置來調(diào)整每個(gè)模塊的運(yùn)行參數(shù)。
控制程序的架構(gòu)是通過在while循環(huán)中嵌套條件結(jié)構(gòu)來實(shí)現(xiàn)的,程序初始啟動(dòng)后,首先進(jìn)入Initial條件結(jié)構(gòu)中完成MAC-3002SSP2和MAC-3002SSP4板卡的初始化,同時(shí)對(duì)相應(yīng)控制軸進(jìn)行使能、設(shè)置輸出模塊以及硬件限位后能夠立即停止,對(duì)機(jī)械結(jié)構(gòu)進(jìn)行保護(hù),Initial條件結(jié)構(gòu)的程序框圖如圖6所示。
初始化條件結(jié)構(gòu)完成后程序自動(dòng)切換到idle條件結(jié)構(gòu)中,在idle條件結(jié)構(gòu)完成程序的主要功能。對(duì)于生產(chǎn)端,在相應(yīng)按鈕的單擊“值改變”事件里,通過入隊(duì)列的元素不同在消費(fèi)端進(jìn)行解析,進(jìn)而實(shí)現(xiàn)相應(yīng)的功能,如模塊1的正向運(yùn)動(dòng)事件響應(yīng)如圖7所示,當(dāng)單擊模塊1的“正向運(yùn)動(dòng)”,則觸發(fā)其“值改變”事件響應(yīng),通過將“模塊1正向運(yùn)動(dòng)”元素入隊(duì)列,在消費(fèi)端,通過元素出隊(duì)列對(duì)出隊(duì)列的元素進(jìn)行分類,當(dāng)是“模塊1正向運(yùn)動(dòng)”時(shí),則執(zhí)行相應(yīng)的操作,實(shí)現(xiàn)模塊1電機(jī)的正向運(yùn)動(dòng),如果返回值不為零,則表示運(yùn)行正常,同時(shí)對(duì)相應(yīng)軸狀態(tài)進(jìn)行實(shí)時(shí)檢測(cè),判斷是否到達(dá)遠(yuǎn)端限位、近端限位或者零位位置,如果到,則相應(yīng)的指示燈變成紅色,并在信息提示欄中進(jìn)行顯示。模塊1反向運(yùn)動(dòng)以及其他模塊2-6的運(yùn)行,編程思路與模塊1正向運(yùn)動(dòng)類似,這里不再贅述。
5 總結(jié)
工業(yè)機(jī)器人在各種行業(yè)得到廣泛應(yīng)用,使得對(duì)系統(tǒng)操作員的需求劇增,目前眾多的大中專院校中均開設(shè)了工業(yè)機(jī)器人教學(xué)及相應(yīng)的實(shí)訓(xùn)課程。文章針對(duì)教學(xué)用的固有的六軸機(jī)器人控制軟件不靈活等問題,依托開放式硬件平臺(tái),采用LabVIEW開發(fā)環(huán)境,通過將運(yùn)動(dòng)控制卡提供的動(dòng)態(tài)鏈接庫(kù)轉(zhuǎn)換為子VI的方式,編寫了六軸機(jī)器人控制軟件,以實(shí)現(xiàn)對(duì)機(jī)器人本體的控制,擴(kuò)展性強(qiáng),具有一定的應(yīng)用價(jià)值。
參考文獻(xiàn):
[1] 新時(shí)代已經(jīng)到來,機(jī)器人或?qū)⒊蔀槲磥怼皠傂琛盵OL]. OFweek機(jī)器人網(wǎng),2021.09
[2] 工業(yè)機(jī)器人系統(tǒng)操作員—讓中國(guó)制造變中國(guó)智造[OL].搜狐,2019.08
[3] 馬飛.六自由度機(jī)器人虛擬實(shí)驗(yàn)室系統(tǒng)關(guān)鍵技術(shù)的研究[D].北京:中國(guó)礦業(yè)大學(xué)(北京),2018.
[4] 牛雪娟.機(jī)電綜合實(shí)驗(yàn)教程[M].北京:化學(xué)工業(yè)出版社,2014.
[5] 李冰冰.基于粒子群算法的并聯(lián)機(jī)器人位姿誤差建模與補(bǔ)償方法研究[D].沈陽(yáng):東北大學(xué),2014.
[6] 常秀輝,李宗巖.機(jī)械工程實(shí)驗(yàn)綜合教程[M].北京:冶金工業(yè)出版社,2010.
[7] 裴九芳.基于LabVIEW的精鍛控制系統(tǒng)軟件設(shè)計(jì)[J].安徽工程科技學(xué)院學(xué)報(bào),2010,25(3):35-37,61.
[8] 陳亞峰.車載二氧化硫差分吸收激光雷達(dá)系統(tǒng)研制及實(shí)驗(yàn)研究[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2018.
[9] 黃見,胡順星,曹開法,等.基于LabVIEW的測(cè)污激光雷達(dá)三維掃描控制系統(tǒng)的設(shè)計(jì)[J].大氣與環(huán)境光學(xué)學(xué)報(bào),2013,8(2):124-129.
收稿日期:2022-01-10
基金項(xiàng)目:安徽省質(zhì)量工程項(xiàng)目(2020mooc254) ;校級(jí)質(zhì)量工程教育教學(xué)研究重點(diǎn)項(xiàng)目(2021xjtz033) ;校級(jí)質(zhì)量工程職業(yè)教育“課堂革命”典型案例培育項(xiàng)目(2021xjtz114)
作者簡(jiǎn)介:李能菲(1983—) ,女,安徽安慶人,碩士,講師,研究方向?yàn)楣I(yè)機(jī)器人技術(shù);常輝(1969—) ,男,安徽懷遠(yuǎn)人,碩士研究生,副教授,研究方向?yàn)楣I(yè)機(jī)器人技術(shù);王奎(1990—) ,男,安徽阜南人,碩士研究生,講師,研究方向?yàn)殡姎庾詣?dòng)化技術(shù)。