相關(guān)鏈接: 中國(guó)安全網(wǎng) 中國(guó)質(zhì)量網(wǎng) 中國(guó)論文網(wǎng) 中國(guó)資訊網(wǎng)
基于PLC的機(jī)器人手臂位置控制算法研究(自動(dòng)化)
萬(wàn)豐,許俊鋒,吳佳
(江蘇自動(dòng)化研究所,江蘇連云港222006)
摘要:自從20世紀(jì)初以來(lái),機(jī)器人手臂出現(xiàn)在了人們的視野當(dāng)中,伴隨著技術(shù)的逐漸成熟,機(jī)器人手臂已覆蓋了諸多工業(yè)領(lǐng)域。因此,研究機(jī)器人手臂控制系統(tǒng)是有一定意義的。對(duì)機(jī)器人手臂的結(jié)構(gòu)進(jìn)行了分析,闡述了其電氣原理,并完成了設(shè)備的接線,進(jìn)行了控制系統(tǒng)的軟件設(shè)計(jì)。在實(shí)現(xiàn)機(jī)器人手臂基本功能的基礎(chǔ)之上,提出一種算法,實(shí)現(xiàn)了機(jī)器人手臂位置控制的任意性,且用時(shí)最短。
關(guān)鍵詞:機(jī)器人手臂;可編程序控制器;位置控制
中圖分類號(hào):TP273 文章編號(hào):1006 - 2394( 2016) 06 - 0034 - 04
0引言
機(jī)器人技術(shù)是綜合了計(jì)算機(jī)、控制論、機(jī)構(gòu)學(xué)、信息和傳感技術(shù)、人工智能、仿生學(xué)等多門(mén)學(xué)科而形成的高新技術(shù),其應(yīng)用水平是一個(gè)國(guó)家工業(yè)自動(dòng)化水平的重要標(biāo)志。許多發(fā)達(dá)國(guó)家均把機(jī)器人技術(shù)的開(kāi)發(fā)和研究列入國(guó)家高新技術(shù)發(fā)展計(jì)劃。本文主要對(duì)機(jī)器人手臂控制系統(tǒng)進(jìn)行研究,了解其工作原理并確定一種算法,使手臂能執(zhí)行其最基本動(dòng)作的前提下,實(shí)現(xiàn)在其可運(yùn)行的空間里,從某一點(diǎn)抓取物料并將該物料放置在另外一點(diǎn)的時(shí)間最短。
1 機(jī)器人手臂的結(jié)構(gòu)
機(jī)器人手臂是工業(yè)機(jī)器人的微縮模型,它使用了PLC、傳感器、位置控制、電機(jī)驅(qū)動(dòng)等技術(shù),具有零組件的自動(dòng)輸送、取拿和移送功能,是一個(gè)三軸多位置的機(jī)械裝置。
圖1為機(jī)器人手臂實(shí)物圖,它由底座、限位開(kāi)關(guān)、旋轉(zhuǎn)編碼器、垂直升降臂、水平伸縮臂、旋轉(zhuǎn)腰部和末端的機(jī)械手爪構(gòu)成。除末端執(zhí)行器外共有三個(gè)自由度。傳動(dòng)裝置采用電氣傳動(dòng):升降臂作垂直升降運(yùn)動(dòng),水平臂作水平伸縮運(yùn)動(dòng),腰部作水平旋轉(zhuǎn)運(yùn)動(dòng),機(jī)械手爪做松開(kāi)或夾緊動(dòng)作。
除此之外,在承載底座的鋁板之下還有電氣接線面板,包括電源、電氣驅(qū)動(dòng)板、信號(hào)轉(zhuǎn)接板、保護(hù)電平轉(zhuǎn)換板、步進(jìn)電機(jī)驅(qū)動(dòng)器、空氣開(kāi)關(guān)等。
機(jī)器人手臂各軸的動(dòng)作范圍如下:
(1)升降臂:上下運(yùn)動(dòng)行程為70 mm;
(2)水平臂:水平運(yùn)動(dòng)行程為100 mm;
(3)腰部旋轉(zhuǎn):水平旋轉(zhuǎn)1800。
機(jī)械手爪的張、合和腰部旋轉(zhuǎn)的運(yùn)行由直流電機(jī)驅(qū)動(dòng);機(jī)器人手臂的垂直手臂和水平手臂由步進(jìn)電機(jī)控制。本系統(tǒng)應(yīng)用的是型號(hào)為DL-022M-I的步進(jìn)電機(jī)驅(qū)動(dòng)器驅(qū)動(dòng)兩相式步進(jìn)電機(jī)。
輸入信號(hào)板的功能是將設(shè)備上旋轉(zhuǎn)編碼器和限位開(kāi)關(guān)的信號(hào)轉(zhuǎn)換為統(tǒng)一電平的驅(qū)動(dòng)信號(hào),方便設(shè)備與控制器之間信號(hào)的傳遞,該信號(hào)板使用的是高電平驅(qū)動(dòng)方式;輸出信號(hào)板的功能是將控制器輸出的信號(hào)轉(zhuǎn)換為統(tǒng)一電平的驅(qū)動(dòng)信號(hào),也是為方便控制器與被驅(qū)動(dòng)設(shè)備之間信號(hào)的傳遞,該信號(hào)板使用的也是高電平驅(qū)動(dòng)方式。
2機(jī)器人手臂的硬件系統(tǒng)
2.1 機(jī)器人手臂系統(tǒng)控制平臺(tái)
機(jī)器人手臂控制系統(tǒng)采用的Control Logix系統(tǒng)模塊有處理器模塊、I/O模塊、電源模塊、Ether Net及De-vice Net通信模塊。
2.2控制系統(tǒng)的總體架構(gòu)
2.2.1控制系統(tǒng)結(jié)構(gòu)
機(jī)器人手臂位置控制系統(tǒng)采用單機(jī)控制模式,其控制系統(tǒng)的架構(gòu)如圖2所示。
2.2.2輸入輸出配線
在本系統(tǒng)中,安裝在各軸上的限位開(kāi)關(guān)用來(lái)檢測(cè)手臂和腰部的位置:當(dāng)碰到某一限位開(kāi)關(guān)時(shí),限位開(kāi)關(guān)閉合,此時(shí)高電平信號(hào)作為輸入信號(hào)傳遞給PLC,PLC根據(jù)輸入信號(hào)的變化,按照程序驅(qū)動(dòng)相應(yīng)電動(dòng)機(jī)運(yùn)轉(zhuǎn)。
在本系統(tǒng)中,控制對(duì)象的I/O點(diǎn)數(shù)如下:
限位開(kāi)關(guān)8個(gè):水平手臂、垂直手臂及腰部各2個(gè),開(kāi)關(guān)量輸入8個(gè);
控制按鈕3個(gè):?jiǎn)?dòng)、停止及復(fù)位按鈕,開(kāi)關(guān)量輸入3個(gè);
脈沖輸入1個(gè):腰部旋轉(zhuǎn)的脈沖信號(hào),開(kāi)關(guān)量輸入1個(gè);
直流電機(jī)2個(gè):為了實(shí)現(xiàn)直流電機(jī)正反轉(zhuǎn),2個(gè)直流電機(jī)占用4個(gè)開(kāi)關(guān)量輸出端口;
步進(jìn)電機(jī)2個(gè):每個(gè)步進(jìn)電機(jī)需要一個(gè)端口來(lái)控制方向,一個(gè)端口來(lái)產(chǎn)生脈沖,所以2個(gè)步進(jìn)電機(jī)占用了4個(gè)開(kāi)關(guān)量輸出端口。
總計(jì):開(kāi)關(guān)量輸入12個(gè),開(kāi)關(guān)量輸出8個(gè)。
將機(jī)器人手臂的輸入輸出端口與控制平臺(tái)相應(yīng)的輸入輸出模塊連接,其接線示意圖如圖3所示。
2.2.3輸入輸出地址分配
根據(jù)機(jī)器人手臂位置控制系統(tǒng)要實(shí)現(xiàn)的功能及設(shè)備接線示意圖,對(duì)輸入輸出點(diǎn)的地址分配如表1和表2所示。
3 機(jī)器人手臂位置控制系統(tǒng)的軟件設(shè)計(jì)
機(jī)器人手臂位置控制系統(tǒng)由軟件和硬件兩大部分組成。機(jī)器人手臂位置控制系統(tǒng)的軟件設(shè)計(jì)包括使用網(wǎng)絡(luò)組態(tài)軟件RSNetWorx進(jìn)行相關(guān)網(wǎng)絡(luò)的組態(tài),利用編程軟件RSLogix5000進(jìn)行I/O模塊、通信模塊的建立,控制系統(tǒng)程序的開(kāi)發(fā),以及利用RSView SE監(jiān)控軟件實(shí)現(xiàn)上位機(jī)界面動(dòng)態(tài)監(jiān)控。最后,對(duì)系統(tǒng)進(jìn)行運(yùn)行調(diào)試并達(dá)到預(yù)期的目標(biāo)。
3.1 控制系統(tǒng)的功能
本系統(tǒng)機(jī)器人手臂的運(yùn)行空間如圖4所示。
機(jī)器人手臂要實(shí)現(xiàn)的功能是:在其可運(yùn)行的空間里(圖4所示的半空心圓柱),能夠到任意指定的地方抓取物料,并且將其放置在任意指定的地方,而且在整個(gè)運(yùn)行過(guò)程結(jié)束后用時(shí)最短。
3.2控制系統(tǒng)的算法實(shí)現(xiàn)
3. 2.1 水平手臂和垂直手臂的位置控制
機(jī)器人手臂的水平和垂直手臂均是由步進(jìn)電機(jī)控制。PLC產(chǎn)生兩路信號(hào),一路為步進(jìn)脈沖信號(hào)CP,步進(jìn)電機(jī)驅(qū)動(dòng)器每接收一個(gè)脈沖信號(hào)CP,就驅(qū)動(dòng)步進(jìn)電機(jī)旋轉(zhuǎn)一步距角,脈沖信號(hào)CP的頻率和步進(jìn)電機(jī)的轉(zhuǎn)速成正比,脈沖信號(hào)CP的個(gè)數(shù)決定了步進(jìn)電機(jī)旋轉(zhuǎn)的角度。另一路為方向電平信號(hào)DIR,當(dāng)DIR為高電平時(shí),步進(jìn)電機(jī)順時(shí)針旋轉(zhuǎn);當(dāng)DIR為低電平時(shí),步進(jìn)電機(jī)逆時(shí)針旋轉(zhuǎn)。
多次測(cè)量得到的脈沖數(shù)據(jù)如表3所示,X軸每前伸或后縮1 mm需要給步進(jìn)電機(jī)60個(gè)脈沖信號(hào),Y軸每上升或下降1 mm需要81個(gè)脈沖信號(hào),通過(guò)控制輸入給步進(jìn)電機(jī)的脈沖信號(hào)個(gè)數(shù)控制機(jī)器人手臂運(yùn)行的距離。至于伸臂或縮臂,升臂或降臂,則需要控制步進(jìn)電機(jī)的方向信號(hào)。在該系統(tǒng)中,兩個(gè)步進(jìn)電機(jī)的方向信號(hào)為高電平時(shí),伸臂和降臂;相反,則縮臂和升臂。
3.2.2腰部旋轉(zhuǎn)的位置控制
在控制機(jī)器人手臂水平旋轉(zhuǎn)的直流減速電機(jī)的后端軸上固定有增量式光電編碼器,在腰部旋轉(zhuǎn)時(shí)會(huì)產(chǎn)生一系列的脈沖。通過(guò)計(jì)數(shù)該旋轉(zhuǎn)脈沖數(shù)可以控制腰部的旋轉(zhuǎn)角度,該控制為閉環(huán)控制。通過(guò)數(shù)次測(cè)試,腰部旋轉(zhuǎn)1800取平均值得到234個(gè)脈沖,旋轉(zhuǎn)1 0需要
1. 33個(gè)脈沖。
3.2.3綜合控制
在該系統(tǒng)的功能中提到,要實(shí)現(xiàn)系統(tǒng)在一個(gè)周期運(yùn)行下來(lái)時(shí)間最短,因此就不能在某一個(gè)時(shí)間點(diǎn)只驅(qū)動(dòng)某一部分,必須控制水平手臂、垂直手臂和腰部三者同時(shí)運(yùn)行,等三者都到達(dá)指定的地方時(shí),再讓手爪抓取或放下物料。
假設(shè)機(jī)械手爪當(dāng)前的位置為A點(diǎn),需將物料從B點(diǎn)移送到C點(diǎn),若設(shè)手爪從A點(diǎn)到B點(diǎn)再到C點(diǎn)的每個(gè)過(guò)程的時(shí)間為T1、T2、T3,則其完成一次任務(wù)的時(shí)間為T=T1+T2+T3;若在B點(diǎn)和C點(diǎn)間循環(huán)往復(fù)地抓取和放置物料,則T=T1+n.(T2+T3)。在T的計(jì)算公式里,T1、T2、T3分別為每個(gè)階段水平手臂、垂直手臂和腰部運(yùn)行的耗時(shí)最長(zhǎng)者的時(shí)間。
3.3控制系統(tǒng)程序?qū)崿F(xiàn)
機(jī)器人手臂位置控制系統(tǒng)的PLC梯形圖程序有系統(tǒng)自動(dòng)控制程序設(shè)計(jì)和回原點(diǎn)程序設(shè)計(jì),利用編程軟件RSLogix5000編寫(xiě)梯形圖,主要使用順序控制的設(shè)計(jì)方法。
步驟如下:首先根據(jù)系統(tǒng)工藝過(guò)程,畫(huà)出程序流程圖,然后根據(jù)程序流程圖畫(huà)出梯形圖。
3. 3.1 程序流程圖
該控制系統(tǒng)功能的實(shí)現(xiàn)是基于機(jī)器人手臂當(dāng)前所停留位置的已知。利用上文所提到的例子,設(shè)A點(diǎn)的坐標(biāo)為A(X0,,Y0),B(X1,
,Y1),C(X2,
,Y2),則該系統(tǒng)的程序流程圖如圖5所示。
3.3.2控制系統(tǒng)程序設(shè)計(jì)思路
1)自動(dòng)程序設(shè)計(jì)思路
自動(dòng)程序的設(shè)計(jì)主要是要實(shí)現(xiàn)機(jī)器人手臂的單周期或多周期自動(dòng)循環(huán)工作。要實(shí)現(xiàn)在其可運(yùn)行空間里,在任意指定位置抓取和放置物料,需要考慮位置數(shù)據(jù)的輸入,水平手臂位置數(shù)據(jù)輸入的梯形圖如圖6所示。圖中X—Start、X_ Stop、X_ Current分別指水平手臂抓取物料、放置物料及當(dāng)前位置的數(shù)據(jù)值,經(jīng)過(guò)計(jì)算得到X_ Resultl和X_Result2,將正值直接賦給X_ Resultl_1和X_Result2_2,若是負(fù)值則需先取反再賦值,此數(shù)據(jù)即是手臂需要運(yùn)行的距離。根據(jù)距離與脈沖數(shù)的關(guān)系可以得到控制電機(jī)運(yùn)行的脈沖個(gè)數(shù),并將結(jié)果作為相應(yīng)的計(jì)數(shù)器的預(yù)置值。另外,X - Resultl和X - Re-sult2的正負(fù)還可以決定電機(jī)正轉(zhuǎn)或反轉(zhuǎn),即水平手臂的伸縮狀態(tài)。圖6實(shí)現(xiàn)的是水平手臂先從186 mm的地方運(yùn)行到200 mm的地方抓取物料,然后再運(yùn)行到220 mm的地方放下物料。
垂直手臂、腰部旋轉(zhuǎn)的數(shù)據(jù)輸入方式與水平手臂一樣。由于水平手臂伸縮、垂直手臂升降和腰部旋轉(zhuǎn)的控制都是計(jì)數(shù)脈沖個(gè)數(shù),所以可以利用計(jì)數(shù)器的通斷作為下一步是否變?yōu)榛顒?dòng)步的條件。
2)回原點(diǎn)程序設(shè)計(jì)思路
回原點(diǎn)程序的設(shè)計(jì)目的是實(shí)現(xiàn)在機(jī)器人手臂停止工作時(shí),能夠停留在初始位置;同時(shí),初始位置可作為下次機(jī)器人手臂運(yùn)行的當(dāng)前位置,方便操作。在按下復(fù)位按鈕之后,系統(tǒng)會(huì)檢測(cè)機(jī)器人手臂的水平手臂是否處于縮回狀態(tài)(接觸到縮回限位開(kāi)關(guān)),垂直手臂是否處于下降狀態(tài)(接觸到下降限位開(kāi)關(guān)),腰部是否處于順向旋轉(zhuǎn)的極限位置(接觸到順向旋轉(zhuǎn)的限位開(kāi)關(guān))。若不是,則驅(qū)動(dòng)相應(yīng)的電機(jī)運(yùn)行,使機(jī)器人手臂回到原點(diǎn)。
不過(guò),系統(tǒng)執(zhí)行回原點(diǎn)程序的前提是,機(jī)械手爪處于張開(kāi)狀態(tài),如果處于夾緊狀態(tài),說(shuō)明啟動(dòng)或停止按鈕還處于按下?tīng)顟B(tài),即使按下復(fù)位按鈕也不會(huì)執(zhí)行回原點(diǎn)程序。
4 運(yùn)行結(jié)果及分析
通過(guò)調(diào)試,系統(tǒng)通電運(yùn)行,機(jī)器人手臂能夠在系統(tǒng)控制作用下,順序地完成所安排的各種動(dòng)作,如循環(huán)地抓取和放置物料,回到原點(diǎn)等。輸出信號(hào)對(duì)于輸入信號(hào)反應(yīng)靈敏,能夠及時(shí)根據(jù)接收到的狀態(tài)信號(hào)驅(qū)動(dòng)相應(yīng)電機(jī)運(yùn)行。
5總結(jié)
本文以工業(yè)機(jī)器人的教學(xué)模型機(jī)器人手臂為對(duì)象,分析了機(jī)器人手臂的結(jié)構(gòu),提出采用PLC控制,并對(duì)控制系統(tǒng)及程序算法進(jìn)行了設(shè)計(jì),最終實(shí)現(xiàn)了基于PLC的機(jī)器人手臂的位置控制。