徐海璐,房劍飛,韓雪,戎新萍
(南京工業大學 浦江學院,南京211100)
傳統3D打印機主要有3種,如圖1所示。第一種為龍門架結構[1],此結構又稱為i3結構,打印頭位于X軸運動導軌上,底盤架設在Y軸運動導軌上,Z軸方向沿著龍門架向上,此種打印機結構較為簡單。第二種是三角洲3D打印機,該結構屬于Delta式結構,由瑞士洛桑理工學院的Reymond Clavel教授于20世紀80年代發明[2]。最早的Delta式并聯機械臂主要用來設計一種能以很快速度操作輕小物體的機器人,這是一種通過一系列互相連接的平行四邊形來控制目標在X、Y、Z軸上的運動的機械結構。這種結構運動相對穩定,但由于并聯機械臂占用了較大的空間,使得該打印機的打印范圍易受到限制[3]。第三種是目前較為常見的XYZ箱體機構打印機,如市場上典型的Einstart系列打印機[4],此種結構X軸和Y軸在一個平面上運動,打印基座固定在Z軸上。打印機空間利用率較高,并且打印更加穩定,打印精度也相對較高。

圖1 3D打印機
對于龍門架結構和XYZ箱體式結構打印機,X Y Z軸相互垂直,可以直接將每個軸運動距離換算成電動機的脈沖數,計算相對簡單。三角洲打印機坐標系需要進行正逆解計算,圓弧路徑也必須用直線進行逼近因而計算相對復雜,故導致打印精度降低。

圖2 串聯機械臂3D打印機的研究技術路線
本文提出了一種三軸串聯機械臂3D打印機,其研究技術路線如圖2所示。將目標坐標值設定好之后,首先計算目標位置(X,Y,Z) 和當前位置(X0,Y0,Z0)的位置之差,并將位置進行分段,對每一小段獲取當前位置值和目標位置值,然后通過機械臂正逆解求得3個軸的角度值。為防止機械臂加減速抖動需要對每一小段做加速度和速度規劃,最后將角度值轉換為電動機脈沖數驅動機械臂運動。在每個小段路徑運動過程中需要和目標位置進行對比,沒有到達目標位置將繼續運動,直至到達目標位置[5]。
如圖3所示,機械臂運動到目標坐標,需將目標坐標轉換為機械臂每個軸的角度,這就需要做機械臂正逆解計算。

圖3 機械臂正逆解計算
正逆解需要求解α、β和水平運動角度γ。

式中:S1和S2為α和β對應的機械臂臂長的平方;l1為α對應機械臂的長度;C1為機械臂前臂和后臂長度之和;C2為常數;(sx,sy,sz)是機械臂末端相對于機械臂坐標原點的坐標值;(x,y,z)是機械臂末端相對于機械臂物理原點坐標值;H是機械臂物理原點相對于機械臂坐標原點Z軸方向的軸偏距;r是機械臂在水平方向的投影長度;q1、q2分別為機械臂末端與坐標原點連線與水平面和機械臂的角度值;P1為機械臂末端和機械臂原點的距離。
通過上述公式可以解出3個軸分別運動的角度值。
為了能使機械臂進行曲線運動并提高3D打印平穩性和精度,需要對機械臂進行運動規劃。
機械臂運動規劃指的是運動插補,在起始點和終止點之間插入中間點序列,實現沿著軌跡的平穩運動。運動規劃包含路徑規劃(path planning)和軌跡規劃,路徑規劃是規劃位置,在起終點之間經過的路徑點。軌跡規劃是規劃時間,將路徑點與時間相對應。機械臂在打印過程中需要進行頻繁啟停,軌跡規劃好壞將直接影響3D打印產品質量、3D打印機的穩定性及其使用壽命。本方案速度規劃采用梯形加減速[6]。
如圖4(a)所示,采用梯形加速度做速度曲線規劃,初速度為v0,末速度為vt,中間過程運行速度為vn。

圖4 梯形加減速圖
加速距離


若s2>0,則證明有恒速段,加速段和勻速段總距離sk=s1+s2。
當s2<0時,無恒速段,曲線只有加速和減速過程,如圖4(b)所示,設加速段和減速度段交點處速度為vm,則有關系式:


本方案曲線運動采用直線逼近的方式,如圖5所示,對于起始點p1(x1,y1,z1)、終點pn(xn,yn,zn),計算時將兩點之間的距離進行插值。每一段做梯形加減速進行速度規劃。

圖5 運動插補圖
1)首先求出目標坐標和當前位置坐標的差值xdiff、ydiff和zdiff。
X坐標:

Y坐標:

Z坐標:

2)求坐標之間距離Ddfif。

3)已知線段分段個數n,求每一段長度Llength。

xdestination是目標點x值,xcurrent是當前點x坐標值,其他同理;Llength_x、Llength_y、Llength_z分別是每一段線段在x、y、z方向的投影長度。
4)對每一段進行累加并求機械臂角度。
如圖6所示,將L1段求機械臂逆解可得三軸角度,同理將L2段求機械臂逆解可得另一組三軸角度。p14到p15之間的X、Y、Z方向脈沖數分別為三軸運動角度對應的脈沖數。由于細分數目可以控制,所以線段數量可以做到很大,每條線段很短,可以更加準確逼近曲線,當然分段數越多對算法用時較長會影響3D打印速度。

圖6 插值點計算示意圖
本研究基于Win10 64位操作系統,內存16.0GB,Intel(R) Core(TM)i7-6500U CPU @2.5GHz。開發軟件基于VS2013 64位。將軟件燒錄進單片機Arduino MEGA2560,首先用機械臂做簡單畫圖實驗,結果顯示圓形路徑規劃較好。然后用機械臂做寫字實驗,結果如圖7(a)所示,最后用機械臂做3D打印實驗,如圖7(b)和圖7(c)所示,打印齒輪和軸承座模型,打印機運行平穩,打印產品質量較好。

圖7 基于機械臂的3D打印機及打印模型
與3D打印技術相結合,對機械臂進行控制系統設計,包括對機械臂運動進行正逆解計算,對路徑進行插值計算,最后做軌跡規劃,使機械臂實現3D打印功能,提高打印機運動平穩性和打印精度。對傳統3D打印機進行改進,實現一機多用,提高工作效率,降低成本。在“新工科”背景下,理論結合實際,提高工程實踐能力和科研創新思維。