摘 要:本文介紹了基于運動控制卡的機器人智能切割系統的軟硬件設計。該機器人具有四個自由度,采用三軸聯動的工作方式,第三軸可與選定的兩軸的運動軌跡保持正切。實驗表明該機器人切割系統工作穩定,滿足玻璃切割等行業的加工要求。
關鍵詞:機器人,運動控制卡,玻璃切割
Abstract: The software and hardware design of intelligent robot cutting system based on motion control card are discussed. Robot with 4-DOF adopts three axes coordinated motion, and a third axis can be controlled such that it remains tangent to the motion of the selected pair of axes. Experimentation verify the good stability and conformable precision in glass cutting etc.
Key Words: robot, motion control card, glass cutting
1 引言
工業機器人是一種仿人操作、自動控制、可重復編程、能在三維空間完成各種作業的機電一體化自動化生產設備,特別適合于多品種、變批量的柔性生產設備。根據機器人的動作形態,一般可分為下面五類:圓柱坐標型機器人、球坐標型機器人、直角坐標型機器人、關節型機器人、并聯機器人。切割機器人屬于直角坐標型的工業機器人,每種類型的切割機器人都對應著特定的加工材料和加工工藝,如國內開發的高壓水切割機器人,型鋼機器人切割系統等。對于玻璃等脆性材料,由于需要采用帶有金剛石的刀具,這就要求刀頭的角度必須始終與切割圖形的軌跡保持正切,以具有最好的刀印和開片效果,正是基于這樣的應用,我們開發了這樣的機器人智能切割系統。該機器人模型示意圖如圖1所示:

2 機器人硬件系統組成
控制系統采用三套交流伺服系統和一套氣缸設備,實現機器人的四個自由度,由GALIL DMC-1842運動控制卡和工業PC驅動機器人系統。X和Y方向通過傳動裝置將旋轉運動轉換為直線運動,實現在笛卡兒坐標系下的定位和軌跡插補;切割頭有兩個自由度,一個是Z方向的刀頭旋轉運動(如圖1所示),切割時刀頭方向始終和XY平面的軌跡保持正切,另一個自由度是刀頭上的氣缸連桿設備控制著抬刀和下刀。另外,采用一塊ISA總線的IPC 5372-2 數字量輸入卡檢測機器人伺服報警狀態,提高機器人的自診斷性。
2.1運動控制系統及結構框圖:
機器人運動控制采用美國GALIL公司的PCI總線的DMC-1842運動控制卡[1],該控制卡采用32位微處理器,可控制4軸,具有多軸直線插補、圓弧插補等功能,為了得到最佳控制效果,GALIL控制卡提供了含有速度、加速度前饋,Notch及低通濾波的PID濾波器補償功能,所有濾波器參數均可調整,以求伺服系統獲得最佳性能。機器人交流伺服驅動系統的工作模式設定為速度模式,以獲得最佳的速度響應性能,在所有伺服參數中,速度指令電壓幅值VCMS和速度環比例增益Kvp會串聯到系統主回路中,對系統性能的影響最大,需要和控制卡的參數聯合整定。機器人運動控制系統結構框圖如圖2所示。

圖2:機器人控制系統結構框圖
2.2機器人輸入輸出信號:
機器人輸入信號包括:X、Y、Z各軸伺服報警狀態(每軸四路報警輸入線,共需采集12路信號);X、Y軸正反向限位開關輸入信號;X、Y、Z各軸原點輸入信號;兩路TTL輸入信號(切割頭下探保護信號IN1,激光器搜索到切割物體信號IN2)。機器人輸出信號是六路TTL輸出信號(三路報警復位輸出信號,以及潤滑劑開關、定位桿開關、激光搜索器開關三路輸出信號)。其中,X、Y軸正反向限位開關輸入信號FLSX、RLSX、FLSY、RLSY和切割頭下探保護信號IN1配置成中斷信號,利用控制卡命令 EI[3]實現。刀頭壓力通過控制卡W軸的開環輸出命令OF產生,可以精確產生+/-10V的模擬電壓信號。
3 機器人軟件設計
3.1機器人切割程序框圖和人機界面:
機器人切割系統的程序框圖如圖3所示,人機界面如圖4所示:

圖3:機器人切割系統程序框圖

圖4:機器人人機界面
3.2線程實現:
伺服狀態監控線程通過CPU掃描數字量采集卡的板卡地址而獲得各軸伺服報警狀態,如果發生伺服報警,該線程會和機器人切割主線程通訊,以采取相應保護措施。
機器人切割主線程空閑時阻塞,等待上層界面的“切割開始”信號。切割函數封裝了運動控制卡的命令,能根據傳入的參數自動選擇切割速度、加速度以及矢量速度平滑系數等切割參數。切割圖形可由用戶在編輯命令區域完成,或者直接載入CAD文件。切割函數和人機界面的開發語言是VC++6.0,開發環境是Windows98第二版,采用OPENGL作圖,讀入的CAD文件類型是AutoCAD R14的DXF文件。機器人的主要運動控制函數定義如下:
int CutLine(double x0,double y0,double x1,double y1)//直線切割函數
int CutArc(double radius,double startangle,double anglewidth)//圓弧切割函數
int CutEllipse(double MajorLength,double MinorLength,double startAngle, double angleWidth,
double rotation)//橢圓弧切割函數
int ContinuousCut(char *filename ,int cut_counts)//多義線切割函數
int CutLines(char *filename)//任意曲線切割函數
int SearchObject(double coordinate[3][2])//搜索切割物體的函數
對于中斷監控線程,首先要配置運動控制卡的中斷使能特性,用命令EI1024,1配置成限位中斷使能和輸入1中斷使能。應用程序通過處理WM_DMCINTERRUPT消息可以處理控制卡發出的中斷,該消息定義在DMCCOM.H中[6]。
3.3位移分辨率的匹配:
由于X軸和Y軸可能出現位移分辨率不匹配的問題,即機器人兩軸運行相同的脈沖數時,位移卻不同,這時需要用ES[3]命令來修正插補序列,如果X、Y軸的編碼器線數分別為2000和5000,電機每轉的行走距離分別為27.494mm和27.489mm,此時:
設 m=1000×2000×27.489/5000=1099.56≈10996
n=1000×27.494=27494
此時,用控制卡的ES m, n命令,可以保證矢量插補時兩軸位移分辨率一致。
3.4傳動件的消隙: