張立軍,房紹偉,張天力,金永山,張德瀟,王旱祥,張 辛,姜 浩
(中國石油大學(華東)機電工程學院,山東 青島 266580)
切削技術是機械制造技術中應用最廣泛的技術之一,在“切削原理與刀具”“機械加工概論”“先進制造技術”等課程中均有其相關知識點的講述。近幾年,切削技術與計算機輔助制造技術、機器人技術不斷交叉融合,使得現代切削裝備的發展突飛猛進。面對日新月異的技術發展,有必要讓學生在掌握基本的切削技術的同時,也了解相關的新興切削技術。
在切削技術的實踐學習中,學生們所能接觸到的切削設備大部分只有三個自由度,不能對空間復雜曲線進行高效率的切割,在切削操作時仍需要學生手動編程控制切削路跡,這一教學現狀與切削設備智能化、自動化、高自由度化的發展方向存在一定偏離。為加深學生對現代化切割技術智能化的認識和理解,體會與其他學科交叉融合后的現代切割技術與傳統切割技術的區別,筆者開發了一套牙齒熱壓模型切割教學實驗平臺。在實踐教學中,學生可以通過自己的實踐操作了解和學習D-H參數法的基本原理和逆運動學求解的方式方法,體會計算機輔助制造技術、機器人技術與切削技術的發展和融合。
本教學實驗平臺以牙齒熱壓模型的切割為應用背景,希望學生體會到現代切割技術在工程實踐中的應用。隱形牙套是目前醫療領域中應用在隱形正畸方面的主要矯正工具。牙齒熱壓模型是隱形牙套的半成品,利用3-D打印技術和真空熱壓成型技術制作而成。通過后續的切割,可以將隱形牙套從熱壓模型上分離出來[1]。目前的切割方式主要是操作人員使用小磨鉆進行手工切割,費時費力且精度不高。由于牙齦線復雜的空間結構,使用手工編程的切割設備也不具有可操作性。
本教學實驗平臺分為軌跡規劃軟件和激光切割設備兩部分。軌跡規劃軟件在計算機端的控制平臺運行,主要功能為切割路徑的規劃以及執行代碼的生成;激光切割設備是執行平臺,主要功能為按照規劃好的路徑以及生成的執行代碼進行切割操作。整體結構如圖1所示。

圖1 牙齒熱壓模型切割教學實驗平臺
本實驗平臺的整體工作流程如圖2所示。首先,軌跡規劃平臺初始化,同時激光切割平臺各運動軸歸零;其次,雙目相機啟動,通過控制載物平臺的旋轉采集完整的牙齒熱壓模型的圖像信息,對所得到的圖像信息進行細化、匹配等一系列的處理后獲得牙齦線的三維坐標信息;然后,將所得到的牙齦線坐標信息導入到軌跡規劃軟件中,軌跡規劃軟件通過逆運動學求解得到各運動軸的移動信息,并將這些信息以G代碼的形式輸出;最后,將輸出的G代碼導入到激光切割設備,進而驅動激光切割設備進行切割動作。

圖2 實驗平臺切割過程的工作流程圖
軌跡規劃軟件使用 D-H參數法建立激光切割設備的運動模型,通過導入牙齦線的位置坐標,進行逆運動學求解,將求解結果轉換成激光切割平臺可以執行的G代碼指令,實現自動化的編程功能。軌跡規劃軟件利用MATLAB平臺下的圖形用戶界面(graphical user interface,GUI)編寫而成。MATLAB的GUI功能十分強大,含有各種功能按鈕控件和自定義的功能菜單,用戶能依據自己的需要去定義屬性、特征和菜單等編輯器,可以根據用戶的需要構建一個功能完善的虛擬操作平臺,進而能夠實現用戶與計算機之間信息的傳遞[2]。圖形用戶界面使學生在使用時不再需要編寫冗長且復雜的代碼,所需要的功能主要依靠點擊圖形按鈕來實現,利用可視化的方式,降低了學生的學習成本,方便實踐活動中的實際操作。新建GUI包括兩個文件:一是包含callback函數的m文件,進行編程時內容保存在m文件中;二是包含GUI控件的fig文件,設計用戶界面時內容保存在fig文件中[3-5]。該系統可以將其轉化為exe文件脫離MATLAB環境運行。
軌跡規劃軟件主要有數據導入、仿真計算、G代碼導出三個功能。通過數據導入命令將需要實現的末端移動軌跡導入仿真平臺,利用坐標圖進行直觀的展示;以搭建出的模型為基礎,以導入的末端軌跡數據為依據,進行逆運動學求解,將最終結果以動態視頻的形式展現出來;將求解之后各軸的運動角度和運動距離通過G代碼的形式導出。
根據總體設計框架的思路,使用按鈕、坐標系、靜態文本等界面元素,整個界面包括操作部分、顯示部分和工具欄部分。操作部分主要通過單擊按鈕控件調用對應的callback函數,實現讀取數據、彈出下一級窗口等功能;顯示部分主要使用坐標系控件和靜態文本控件,在坐標系內通過三維圖的形式展現最終的計算結果,在靜態文本內顯示當前末端執行器所處的位置;界面上方的工具欄部分包括放大、縮小、平移和三維旋轉等四個功能按鈕,方便學生以不同的視覺角度去觀察仿真規劃的結果。軟件界面如圖3所示。

圖3 軌跡規劃軟件界面
D-H參數法是由Denavit和Hartenberg提出的建立機械臂運動學方程的方法,這種方法對每個連桿建立坐標系,用齊次矩陣來描述相鄰連桿的空間關系,通過矩陣的乘積得到最后一個連桿相對第一個連桿的位姿[6]。
根據D-H參數法,對一個具有n個關節、(n+1)個連桿的機械臂各部件進行編號。一般情況下連桿 0是機械臂的基座,連桿(n+1)用來固接工具視作末端執行器[7-8]。連桿(j+1)和連桿j通過關節j相連。用連桿長度aj和扭轉角αj兩個參數來描述一個連桿。用連桿偏移dj和關節角θj來描述一個關節,如圖4所示。

圖4 D-H參數法原理圖
由圖4可以進一步了解到連桿長度aj是指關節 j和關節(j+1)的兩條軸線的公法線的長度,扭轉角αj是指垂直于aj的所在平面內兩軸的夾角,連桿偏移dj是指沿著關節 j的軸線從一個連桿坐標系到另一個連桿坐標系的距離,關節角θj是指連桿(j-1)相對于連桿j關于關節j的軸線的轉動角度。
為方便建模,首先對每個關節建立一個本地坐標系,對于每個關節來說,必須人為指定z和x軸,但一般不需要指定y軸,因為y軸總是垂直于z和x軸[9]。通常情況下將關節的軸線定義為z軸,若關節為平移關節則將z軸定義為沿直線運動的方向;將兩相鄰軸線的公法線定義為x軸。特別的,若出現兩個關節的z軸相互平行的情況,它們之間就會有無數條公法線,這時可挑選與前一關節的公法線共線的一條公法線作為x軸。
接下來將 zj-1-xj-1坐標系轉換到 zj-xj坐標系,依據前面總結的位置特點,按如圖5所示流程進行。首先,將 zj-1-xj-1坐標系繞 zj-1軸旋轉 θj,因為 xj-1軸和xj軸都與zj-1軸垂直,這樣可以使得xj-1和xj平行;然后,沿著zj-1軸將zj-1-xj-1坐標系平移dj的距離,使xj-1和 xj共線;接下來,沿著 xj軸的方向,將 zj-1-xj-1坐標系平移 aj的距離,使坐標系 zj-1-xj-1和坐標系 zj-xj的原點重合;最后,將 zj-1-xj-1坐標系繞 xj軸旋轉 αj的角度,使 zj軸和 zj-1軸重合。通過這樣的變化就能使得 zj-1-xj-1坐標系轉換到 zj-xj坐標系。這種變化可以用四個齊次變換矩陣來表示,稱為Aj矩陣[10]。


圖5 坐標系轉換流程圖
對于轉動關節展開可得:

對于移動關節展開可得

對于指定的連桿,參數aj和αj始終是常量;對于轉動關節,θj是變量,dj是常量;對于移動關節,dj是常量,θj是變量[11]。
依據以上規則,從第1個關節開始變換到第2個關節,然后到第3個關節,一直到最終的末端執行器[12]。若把每個變換均用A矩陣的形式進行描述,則在基座與末端執行器之間的變換總則為:

激光切割設備可以看做由一組連桿組成,這些連桿通過關節連接起來。控制切割平臺在 X、Y方向上移動的H形結構視作連桿由平移關節鏈接;調整激光射入角度的激光頭運動模塊視作兩個連桿由轉動關節鏈接。這些關節的平移或轉動改變了相鄰連桿的位置關系,進而改變了末端執行器的位姿。本實驗平臺使用MATLAB工具箱robot9.10開發而成,此工具箱提供了逆運動學封閉解求解函數ikine6s,但此函數僅對PUMA560型機械臂有效。PUMA560型機械臂具有前三個關節定位,后三個關節調整末端執行器的位姿的特點,由于這一特點與激光切割設備具有高度的相似性,因此采用等效處理的方式來建立實驗平臺的模型。
在保證同樣的工作空間的前提下,PUMA560可以到達空間的任意位置,H形結構配合Z軸升降也可以保證激光切割平臺到達工作空間的任意位置,這樣就將PUMA560的前三個轉動關節與激光切割平臺的H型結構等效;將PUMA560的連桿6所有參數設為0,這樣就將PUMA560的后三個連桿與切割平臺的后兩個連桿進行了等效。等效之后的建模數據如表1。

表1 切割平臺的建模數據
這樣既保證了軌跡規劃平臺與激光切割平臺的統一性,也方便在計算逆運動學解時可以直接使用工具箱中的ikine6s函數。
使用MATLAB GUIDE進行應用程序的編寫,關鍵在于回調函數的編寫以及各功能模塊的數據聯通、協調配合[13]。
1)打開MATLAB,通過GUIDE新建一個空白的GUI。
雙擊GUI界面的空白位置彈出屬性檢查器,修改units、position、Resize等參數,使界面在桌面的合適位置出現。
2)在圖像界面上放置控件并修改其屬性參數。
在界面左側放置三個按鈕控件,分別修改其string屬性為“數據導入”“仿真規劃”“G代碼導出”;在界面中間放置兩個坐標系控件,用來實現軌跡的可視化;在界面右側放置面板控件,修改其string屬性為“坐標顯示區”。在面板左側放置三個靜態文本,修改其string 屬性為“X”“Y”“Z”,通過修改 ForegroundColor屬性改變字體顏色;在面板右側放置三個靜態文本,修改BlackgroundColor屬性改變背景顏色,用來顯示當前末端執行器所在的空間坐標。
3)編寫三個按鈕的回調函數。
整理回調函數設計流程如圖6,首先確定各個按鈕所要實現的具體功能,依據總體設計邏輯,編寫數據導入按鈕的回調函數,此按鈕的主要功能通過圖7的語句實現。

圖6 回調函數編寫流程

圖7 數據導入按鈕的回調函數
在檢查功能正確實現之后,繼續編寫仿真規劃按鈕的回調函數,其主要代碼如圖8所示。

圖8 仿真規劃按鈕的回調函數
最后編寫G代碼導出按鈕的回調函數,需要注意的是一般的 G代碼在指令之后只有 X、Y、Z三個位置參數,針對切割平臺的實際情況在G代碼之后添加了A、B兩個位置參數用來控制機械手臂上的兩臺舵機,主要代碼如圖9所示。在全部編寫完成后,運行調試。

圖9 G代碼導出按鈕的回調函數
激光切割設備的搭建重點在于機械結構的設計、電路的設計以及控制程序的編寫。
由圖10可以看出,激光切割設備主要由視覺重構部分和切割部分組成。視覺重構部分使用雙目相機對牙齒熱壓模型進行拍照,經后期處理得到牙齦線坐標。切割部分由空間移動機構和激光切割手臂兩部分組成,其中空間移動機構通過H形結構和升降結構的聯動使激光切割手臂到達工作空間的指定位置,而激光切割手臂通過兩臺舵機構成云臺懸掛于H形結構下方,通過調整兩臺舵機的旋轉角度調整激光的射入角度。

圖10 激光切割設備結構設計圖
如圖11和12所示,H形結構模塊由光軸、H形同步帶、兩個同步輪、兩個移動塊及配套軸承組成。兩臺用來驅動H形結構的步進電機安裝在機架底端,通過驅使兩個同步輪轉動進而帶動同步帶驅動H結構上的兩個移動塊,使切割平臺實現 X、Y軸方向上的移動。升降結構采用步進電機驅動絲杠實現載物平臺在Z軸方向上的移動。激光切割手臂使用一臺單軸舵機和一臺雙軸舵機組成,單軸舵機固定于H形結構模塊的下方,實現激光頭在 XY平面上的轉動;雙軸舵機下方固定激光頭,實現激光頭垂直Z軸旋轉。

圖11 H形結構模塊圖

圖12 激光切割手臂圖
本切割設備的電路設計是在 Ramps1.4電路板的基礎上通過修改得到,電路原理如圖13所示。
因為本實驗平臺需要控制多個舵機和步進電機及激光的開閉等,為滿足開發要求,選用具有54路數字輸出/輸入的Arduino Mega2560作為控制芯片。空間移動機構采用A4988微步電機驅動器驅動42步進電機;激光切割手臂機構采用LD-220MG和LD-27MG兩種型號的數字舵機,理論最小可控角度為 0.3°;電源部分采用S-250-12穩壓電源給實驗平臺供電。
控制程序部分的重點在于控制各軸的加減速以及步進電機與舵機之間的聯動,為此設計編程邏輯如圖14所示。

圖13 電路原理圖

圖14 編程邏輯流程圖
如圖14所示,首先將規劃之后的路徑數據儲存起來,需要注意的是常規G代碼只有空間坐標數據和進給速度,為使G代碼與本實驗平臺兼容,更改了G代碼的表達形式和讀取命令,添加了 A、B兩個參數,用來確定激光切割手臂上兩個舵機的轉動角度;之后讀取路徑數據;數據讀取完成后啟動定時器;定時器中斷時給X、Y、Z軸的步進電機發送脈沖,定時器定時長短的變化可以改變步進電機的運動速度,使其從第1個點到第2個點時經歷加速、勻速、減速三個階段,且第2個點到第3個點的加速階段的起始速度與第1個到第2個點的減速階段的最終速度相同,這樣可以保證整體的切割過程平滑順暢;在達到指定點之后啟動舵機轉到相應的位置。
(1)在上位機運行軌跡規劃軟件,激光切割設備開機并初始化。
(2)點擊“數據導入”按鈕,在彈出的對話框中選擇需要導入的數據,數據導入完成后,學生可以在第1個坐標系上看到牙齦線的三維模型,通過點擊工具欄上“放大”“縮小”以及“旋轉”三個按鈕可以觀察不同視角下的牙齦線模型,如圖15和16所示。
(3)點擊“仿真規劃”按鈕,等待規劃完成后,可以在第 2個坐標系下觀察到模型機械手的運動軌跡,在最右側的坐標顯示區可以觀察到此時機械手末端執行器所處的空間坐標,如圖17所示。

圖15 導入牙齦線數據

圖16 牙齦線三維模型展示
(4)點擊“G代碼導出”按鈕,在彈出的對話框中選擇導出位置,導出完成后,學生便可以在導出位置看到命名為output的txt文件,雙擊打開即可觀察到導出的G代碼指令,將后綴修改為gcode即可轉換為G代碼文件,如圖18和19所示。
(5)將生成的G代碼文件拷貝進SD卡中并導入到激光切割平臺,通過LCD顯示屏左側的旋鈕選中導入的G代碼文件,摁下旋鈕,可以觀察到激光切割平臺開始運行,沿著牙齦線的軌跡切割牙齒熱壓模型。

圖17 軌跡規劃過程

圖18 選擇G代碼的保存位置

圖19 部分G代碼展示
本文開發了牙齒熱壓模型切割教學實驗平臺。使用 MATLAB編寫了軌跡規劃軟件,通過建立仿真模型求解逆運動學解,生成可供激光切割設備直接運行的G代碼,并通過激光切割設備中的空間移動機構和激光切割手臂配合,實現了沿牙齦線切割牙齒熱壓模型。該過程直觀地展示了自動化的現代切割技術在工程實際中的應用,以及計算機輔助技術對于完成復雜切割軌跡的幫助。學生通過本實驗平臺可以了解D-H參數法建模方法,掌握運動控制的編程方法,認識和熟悉多軸運動原理,加深對先進制造技術、機電信息檢測與處理技術、切削技術與原理等相關課程的理解,達到了良好的實驗效果。