摘 要: 主要以三軸臺式工業機器人為平臺,采用改進的柵格法進行加工工件的環境表示,利用不同優先級的權值進行路徑規劃,設計具備一定通用性的控制軟件,避免了加工不同工件需重新編寫程序的麻煩。
關鍵詞: 機器人; 控制器; 柵格法; 路徑規劃
中圖分類號: TN911.7?34;TP242.2 文獻標識碼: A 文章編號: 1004?373X(2013)23?0133?03
General controller software design of three?axis desktop industrial robot
LUO Min1, CAO Qing1, ZHANG Ge1,2
(1. School of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China;
2. Key Laboratory of Optimization and Control for Complex Systems, Hunan Institute of Science and Technology, Yueyang 414006, China)
Abstract: Taking the three?axis desktop industrial robot as the platform, the environment of the workpiece machined is expressed by the improved grid method. Using the weights of the different priority for path planning, a general controller software is designed, and rewriting programs for different workpieces is avoided.
Keywords: robot; controller; grid method; path planning
0 引 言
如今工業機器人已逐步融入工業生產之中,與工業機器人開發相關的企業也相繼在中國出現。然而,對于不同客戶的需求,只能通過工程師編寫不同程序的方式來滿足客戶的需求。因此,在這些企業中,大多數都是以“非標”產業和機器人代售為主。而同一機器人應用于不同工作環境,在軟件設計上的通用性問題上一直存在著很大的阻礙。
1 機器人系統框架
工業機器人系統通過控制軟件發送指令給予SmartPAC運動控制器,由控制器根據相關指令轉換為軸的驅動指令并傳輸給相應的軸伺服器,軸伺服器根據接收過來的指令控制軸以執行相關動作。參數輸入端是由鼠標與鍵盤通過USB接口直接接入控制器,該控制器自帶操作系統WinCE。控制軟件在該運動控制器的WinCE環境下運行,通過輸入端在控制軟件上設定相關參數或進行操作,由通用控制軟件分析并確定一條合適的加工路徑。根據加工路徑,得出相關指令集合,通過控制軟件向軸依次發送指令,以達到加工工件的目的。該工業機器人系統框架如圖1所示。
圖1 工業機器人系統框架圖
2 通用控制軟件簡介
該軟件控制端所控制的機器人是由三個雅馬哈單軸伺服器以及一個Smart PAC運動控制器相組合而成的三軸臺式工業機器人。其中三軸分別命名為[X,Y,Z,]相互構成了一個立體空間。加工工件固定于[Y]軸上,處于[XY]平面之內。在加工工件上分布著[N]個加工點。操作人員只需通過該軟件控制端輸入加工工件的模型,以及加工點的位置。通過柵格法加入樹的形式對模型逐步分解,對加工點逐個確定,接下來從中分析出最佳路徑,最佳路徑以最短的時間內完成單位工件的加工為準。
該三軸臺式工業機器人通用控制軟件界面如圖2所示,主要分為4個部分,左上角為參數設置面板,左下角為軸位置顯示面板,右上角為控制操作面板,右下角為軸測試面板,用以測試軸能否正常工作。參數設置面板與控制操作面板將會在下文中詳細介紹。
圖2 通用控制軟件界面
3 軟件框架設計
該控制端軟件工作于Windows CE操作系統,在Visual Studio 2005下使用C#語言進行開發。進入控制端軟件首先進入的是窗體初始化函數。在窗體初始化函數中進行各軸的配置并啟動軸,以確保各軸在開始工作之前就已回歸零點位置。在回歸零點位置之后,再將各軸關閉。這里需要注意的是,并不是在窗體初始化函數里面去等待軸回到零點再進行關閉各軸操作,而是在窗體定時器中去檢測并關閉。否則,窗體將在相當長的一段時間之內會處于丟失焦點的狀態,或窗體需等軸回到零點之后再出現。定時器是整個軟件的一個核心部分,相當于軟件的心臟,它承擔著軸狀態檢測、加工工件計數、指令發送等功能。圖2為該軟件控制端的界面,在左上角有一個參數設置的面板,在這個面板中存在著兩個參數設置,分別是軸參數設置和工件參數設置。軸參數設置包含著三軸長度設置與軸運動速度設置,可將相關的軸配置信息保存為后綴為txt的文本格式或后綴為doc的Word文檔格式,以便下次直接讀取使用。軸參數設置的具體流程圖如圖3所示。
工件參數設置包括工件模型設置、工件上的加工點位置的設置及軸參數設置中的文件讀取與保存。其中,模型設置采用多視角視圖法,視圖個數根據所需加工的模型設定。對于精度要求不高的模型也可采用數組輸入的方法。兩種方式的模型輸入都支持拷貝,便于在已有模型上修改加工位置。而加工點的位置則直接在模型的基礎上進行設置即可。
圖2的控制界面中存在著3個按鍵,分別是執行、暫停和停止。這3個按鍵分別執行著不同功能,一般情況下,只使用暫停按鍵,停止按鍵執行急停的任務,用作緊急處理,當停止按鍵按下時,就意味著加工必須重新開始。執行和停止按鍵的流程圖如圖4所示。
圖3 單軸參數設置流程圖
圖4 執行按鍵流程圖
4 路徑規劃
4.1 環境表示
在環境表示上采用柵格法,用柵格法表示加工工件模型及加工環境相對容易,但時間復雜性相對較高[1]。對于工業加工而言,加工工件一般都是成批量進行加工的,只需在第一次加工該加工工件開銷相對較長的時間,此后的每一次加工只需從存儲的文件中,調用之前已得到的最優路徑進行加工即可,而且,工業加工更需要一個相對較為容易得到的模型。
常用的柵格法如圖5所示。該方法是將整塊目標區域劃分成[N]個等份的小格,但是這種方法對于工業加工來說精度差,數據存儲空間過大,而且時間開銷較大[2]。改進后的柵格法如圖6所示。該改進后的柵格法是采用逐步細分法,先將整個區域細分成四塊,然后判斷加工點在哪塊區域,接著在細分,直到加工點及環境足以被表示出來為止[3]。該方法在對無加工點和無加工工件的區域內不進行細分,大大節省了數據消耗,并且有針對性的對有加工點及加工工件的位置進行細分,提高了加工精度。為了在工件加工時能夠更精確地表示加工位置,該控制軟件在環境表示上所采用的是改進后的柵格法。
圖5 常用柵格法
圖6 改進后的柵格法
在環境表示的代碼實現上采用鏈表的形式。環境單位結點的構建采用結構體的形式,其主要包括子結點地址、父結點地址和權值等[4]。不同的權值代表著不同的含義,可表示存在加工點區域、靠近加工點區域、加工工件非加工點部分及其他區域,它是實行路徑規劃實現的引領者,在下節路徑規劃當中將詳細介紹。環境單位結點的代碼如下:
Struct Node
{ int Value; //權值
Struct Node *Boot; //父結點
Struct Node *Next1; //第一個子結點
Struct Node *Next2; //第二個子結點
Struct Node *Next3; //第三個子結點
Struct Node *Next4; //第四個子結點
Struct News *Loc; //加工點在線上的位置
Struct Size SIZE; //劃分的區域的大小
};
一旦區域劃分完畢,將需要一值予以表示其加工點的位置。采用結構體的形式予以表示,包括[X,Y,Z]三個坐標,表示其相對于所在結點空間的坐標。該結構體屬于環境單位結點的一部分,具體代碼如下:
Struct News
{int x; int y; int z; };
每一個環境單位結點都擁有自己的一個ID號,即該環境單位的大小及位置,具體代碼如下:
Struct Size
{int y; int z; int x; int Size; };
[x,y,z]分別是區域空間內該坐標軸上的最小值,Size表示該立方體區域的邊長。
4.2 權值尋找
在路徑規劃上,采用權值尋找法。對每一個環境節點都進行一個權值的賦予,給予結點不同的優先級,權值越低,優先級越高,用于在路徑尋找中找到最優路徑[5]。例如,現有4個子節點A,B,C,D,給予A結點的權值為100,B結點的權值為80,C結點的權值為50,D結點的權值為10。現在在路徑規劃尋找最優路徑時,直接先尋找到D結點,然后繼續尋找下去,若出現多個優先級相同的結點時,則分而尋之,到尋找完畢之后,再進行最優路徑選取,可采用權值之和最小者優先的方法等[6]。權值賦予的優先級按由高到低的順序排列為:存在加工點,靠近加工點,加工工件非加工點部分,其他區域。
實驗結果表明,采用上述路徑規劃選定的實際加工路徑與理想加工路徑依然存在著一定的差距。圖7為理想加工路徑,圖8為實際加工路徑。
圖7 理想加工路徑
圖8 實際加工路徑
5 總 結
本文通用控制軟件是在三軸臺式工業機器人的基礎上,以SmartPAC運動控制器為核心,通過改進后的柵格法進行模型建立,利用權值尋找法進行樹的遍歷尋找出一條最優路徑作為加工路徑。經實驗表明,該軟件基本達到軸式機器人定位要求,能實現簡單的路徑規劃,具備一定的通用性。針對大批量工業加工而言,軟件在加工工件的首次模型實現與路徑規劃上時間開銷較大,相比人為設定加工路徑要簡單、高效、便捷。
參考文獻
[1] 王挺,麥范金,鄭安兵.基于極坐標、柵格和模糊方法的路徑規劃[J].微計算機信息,2008,24(5):219?220,309.
[2] 呂太之,趙春霞.基于改進概率柵格分解的路徑規劃算法[J].計算機工程,2007,33(21):160?162,165.
[3] 張捍東,董保華,岑豫皖,等.柵格編碼新方法在機器人路徑規劃中的應用[J].華中科技大學學報:自然科學版,2007,35(1):50?53.
[4] 嚴蔚敏,吳偉民.數據結構:C語言版[M].北京:清華大學出版社,2007.
[5] 郝宗波,洪炳镕,黃慶成.基于柵格地圖的機器人覆蓋路徑規劃研究[J].計算機應用研究,2007,24(10):56?58.
[6] 楊姍姍,戴學豐,唱江華.實現機器人動態路徑規劃的仿真系統[J].計算機工程與應用,2009,45(32):237?239,243.
[7] 崔鵬.基于視頻去噪算法移動機器人視覺定位研究[J].現代電子技術,2012,35(20):111?113.
[8] 魏小景,嵇啟春,徐立先.智能迷宮機器人系統設計與搜尋算法研究[J].現代電子技術,2012,35(24):11?13.
作者簡介:羅 民 男,1974年出生,碩士,講師。主要研究方向為嵌入式系統及應用。
曹 清 男,1974年出生,碩士,講師。主要研究方向為嵌入式系統及應用。
張 舸 男,1974年出生,碩士,講師。主要研究方向為嵌入式系統及應用。