摘要:針對SCARA機器人末端在做直線運動" title="直線運動">直線運動時難以判定是否到達極限位置的問題,提出一種基于幾何學(xué)的求解算法,,用于精確計算出任意末端位置與可變工作空間條件下的直線運動極限點" title="極限點">極限點位置坐標(biāo)值,。并分別在左、右手系下通過MATLAB理論仿真與VC實際開發(fā)相對應(yīng)的方式驗證了該算法的正確性和可行性,。
關(guān)鍵詞:SCARA機器人,; 直線運動,; 極限點; MATLAB,; VC
1. 引 言
SCARA機器人(Selective Compliance Assembly Robot Arm,,選擇順應(yīng)性裝配機器手臂)是一種四軸" title="四軸">四軸機械手,它的第一,、二,、四軸具有轉(zhuǎn)動特性,而第三軸具有線性移動特性,,故其工作空間類似于一個扇形柱體區(qū)域,。SCARA機器人主要用于完成搬運、裝配等職能工作,,目前廣泛應(yīng)用于汽車,、電子、塑料,、藥品,、食品等工業(yè)領(lǐng)域。
當(dāng)SCARA機器人在流水線上進行往復(fù)運動時,,其末端點經(jīng)常會處于直線運動狀態(tài),。由于末端位置與工作空間會隨實際工況的要求而發(fā)生變化,預(yù)先確定末端在直線運動下的極限點坐標(biāo),,并提前設(shè)定軟件限位,,對于防止過度驅(qū)動或錯誤操作下的機器人碰撞與損壞,具有非常重要的現(xiàn)實意義,。因此,,本文基于幾何學(xué)理論,提出一種用于求解末端直線運動下的極限點位置坐標(biāo)的算法,。
2. 算法設(shè)計
假定SCARA機器人的基座安裝在水平面內(nèi),,依照從基座到末端的順序,將其四個軸分別命名為X,、Y,、Z、R軸,,且將R軸末端視為一個點(設(shè)為End),,若在R軸末端安裝夾具,則將夾具末端也視為一個點(設(shè)為Tip),。
2.1 前提條件
本算法的實現(xiàn)基于如下三個客觀前提條件:
(1) 由于Z軸僅在豎直平面內(nèi)做上下運動,,并不會影響End點的水平面投影位置。而在不安裝夾具的情況下,R軸的旋轉(zhuǎn)運動也不會對此產(chǎn)生影響,;再者,,由于夾具沒有附帶對應(yīng)的驅(qū)動裝置,即使安裝夾具也僅相當(dāng)于將End點的水平面投影點在二維空間內(nèi)相對平移了一個固定的矢量位置,,擴展了一定的工作空間范圍,,但求解Tip點的直線運動極限點坐標(biāo)的思想與End點完全一致。所以,,Z軸和R軸的運動都不會影響到末端點的水平面投影位置,。
(2) 由于SCARA機器人的工作空間是一個類似于扇形的柱體區(qū)域,將其投影在水平面上并不會使工作空間的邊界發(fā)生改變,。所以,,End點的直線運動是否超出工作空間的范圍僅與X、Y兩軸的運動有關(guān),。
(3) 由于End點(或Tip點)在水平面二維空間下的直線運動有無窮多種可能的方向,,而每種方向均與x-y直角坐標(biāo)軸成一定角度,經(jīng)旋轉(zhuǎn)變換后都能歸結(jié)到與坐標(biāo)軸平行的方向上,。所以,,本算法只針對分別平行于x-y直角坐標(biāo)軸的兩種直線運動求解四個極限點坐標(biāo)即可,其余運動方向上的極限點坐標(biāo)可參照本算法旋轉(zhuǎn)相應(yīng)角度后求解,。
2.2 設(shè)計過程" title="設(shè)計過程">設(shè)計過程
設(shè)基座位于x-y直角坐標(biāo)系的原點O,,SCARA機器人的大、小臂均完全展開時的姿態(tài)與x軸正向重合,,為初始狀態(tài),,規(guī)定兩臂旋轉(zhuǎn)的方向均取逆時針為正,順時針為負(fù),,據(jù)此建立幾何學(xué)模型,。先由四條平面圓弧(設(shè)為C1~C4)確定水平面工作空間,,同時給定末端當(dāng)前點(設(shè)為Now)的坐標(biāo),;再過點Now分別作兩條坐標(biāo)軸的平行線(設(shè)平行于x軸的直線為Line_H、平行于y軸的直線為Line_V),,與邊界圓弧相交,;然后分別求出Line_H、Line_V與C1~C4的8個交點,,若無交點則默認(rèn)交點坐標(biāo)為點Now的坐標(biāo)值;接著判斷交點中的有效點,;最后確定出四個極限點(設(shè)為P1~P4)的位置坐標(biāo)即為所求,。
2.3 交點判定
從上述設(shè)計過程可知,所求的左、右極限點必然在Line_H與圓弧邊界的交點之中,,而上,、下極限點必然在Line_V與圓弧邊界的交點之中。所以,,本算法的關(guān)鍵在于交點的判定,。因為SCARA機器人在做直線運動時不會更換手系,所以可將左,、右手系分開考慮,。
在右手系下,圓弧C1~C4依次首尾相連圍成一個封閉區(qū)域,,如圖1所示,。其中,C1弧為小臂處于正向最大姿態(tài)且大臂自由運動時End點的軌跡,,C2弧為小臂始終處于大臂的延長線上且大臂自由運動時End點的軌跡,,C3弧為大臂處于正向最大姿態(tài)且小臂自由運動時End點的軌跡,C4弧為大臂處于負(fù)向最小姿態(tài)且小臂自由運動時End點的軌跡,。Now點位于這個封閉區(qū)域內(nèi),,P1~P4點的判定遵循如下原則:(1) P1、P2,、P3,、P4分別位于Now點的左、右,、下,、上方;(2) 各極限點在各自方位上均與Now點的直線距離最短,;(3) 線段P1P2,、P3P4均不穿過C1弧與坐標(biāo)原點O圍成的工作死區(qū)。
左手系與右手系類似,,不再敖述,。
3. 仿真與實現(xiàn)
本文采用MATLAB仿真與VC實現(xiàn)相對應(yīng)驗證的方式對算法加以說明。
3.1 MATLAB仿真
3.1.1 右手系
設(shè)最大工作空間取值范圍如下:X軸為 ,,Y軸為 ,,當(dāng)前末端點位置坐標(biāo)為 ,最終所求的右手系下的4個極限點P1,、P2,、P3、P4的直角坐標(biāo)值為(如圖2所示):
3.1.2 左手系
左手系下的實現(xiàn)過程與右手系類似,,如圖3,、圖4所示,。不同的只是Y軸的工作空間取值范圍為 ,當(dāng)前末端點位置坐標(biāo)仍然取為 ,,最終所求的左手系下的4個極限點P1,、P2、P3,、P4的直角坐標(biāo)值為(如圖4所示):
圖3 左手系下的工作空間與當(dāng)前點
圖4 左手系下的極限點求解
需要說明的是,,上述仿真示例只是給出了最大工作空間,在該工作空間內(nèi)可選取任意子空間及包含其中的當(dāng)前末端點進行仿真,,仿真結(jié)果均表明,,本算法能正確計算并確定SCARA機器人末端直線運動下的四個極限點坐標(biāo)。
3.2 VC實現(xiàn)
采用VC開發(fā)軟件封裝功能函數(shù),,實現(xiàn)本算法,。右、左手系下的界面分別如圖5,、圖6所示,。選取與上節(jié)MATLAB仿真示例中相同的工作空間與末端當(dāng)前位置坐標(biāo)等參數(shù),求解出的四個極限點坐標(biāo)與MATLAB結(jié)果完全對應(yīng)相同,。
3.2.1 右手系
3.2.2 左手系
圖6 左手系下的算法實現(xiàn)
4. 結(jié) 論
本文提出了一種SCARA機器人直線運動極限點的求解算法,,并通過MATLAB仿真與VC實現(xiàn)進行了對應(yīng)驗證。該算法能有效預(yù)測并解決實際操作中的安全問題,,具有較強的實用價值,。然而,考慮SCARA機器人的末端當(dāng)前點正好位于工作空間的邊界位置時,,求解對應(yīng)的極限點坐標(biāo),,將是進一步研究的一個方向。