《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > SCARA機器人直線運動下的極限點求解算法
SCARA機器人直線運動下的極限點求解算法
深圳市眾為興數(shù)控技術有限公司
摘要: 針對SCARA機器人末端在做直線運動時難以判定是否到達極限位置的問題,提出一種基于幾何學的求解算法,用于精確計算出任意末端位置與可變工作空間條件下的直線運動極限點位置坐標值。并分別在左、右手系下通過MATLAB理論仿真與VC實際開發(fā)相對應的方式驗證了該算法的正確性和可行性。
Abstract:
Key words :

摘要:針對SCARA機器人末端在做直線運動" title="直線運動">直線運動時難以判定是否到達極限位置的問題,提出一種基于幾何學的求解算法,用于精確計算出任意末端位置與可變工作空間條件下的直線運動極限點" title="極限點">極限點位置坐標值。并分別在左、右手系下通過MATLAB理論仿真與VC實際開發(fā)相對應的方式驗證了該算法的正確性和可行性。
關鍵詞:SCARA機器人; 直線運動; 極限點; MATLAB; VC

1. 引 言
SCARA機器人(Selective Compliance Assembly Robot Arm,選擇順應性裝配機器手臂)是一種四軸" title="四軸">四軸機械手,它的第一、二、四軸具有轉動特性,而第三軸具有線性移動特性,故其工作空間類似于一個扇形柱體區(qū)域。SCARA機器人主要用于完成搬運、裝配等職能工作,目前廣泛應用于汽車、電子、塑料、藥品、食品等工業(yè)領域。
當SCARA機器人在流水線上進行往復運動時,其末端點經(jīng)常會處于直線運動狀態(tài)。由于末端位置與工作空間會隨實際工況的要求而發(fā)生變化,預先確定末端在直線運動下的極限點坐標,并提前設定軟件限位,對于防止過度驅動或錯誤操作下的機器人碰撞與損壞,具有非常重要的現(xiàn)實意義。因此,本文基于幾何學理論,提出一種用于求解末端直線運動下的極限點位置坐標的算法。

2. 算法設計
假定SCARA機器人的基座安裝在水平面內,依照從基座到末端的順序,將其四個軸分別命名為X、Y、Z、R軸,且將R軸末端視為一個點(設為End),若在R軸末端安裝夾具,則將夾具末端也視為一個點(設為Tip)。
2.1 前提條件
本算法的實現(xiàn)基于如下三個客觀前提條件:
(1) 由于Z軸僅在豎直平面內做上下運動,并不會影響End點的水平面投影位置。而在不安裝夾具的情況下,R軸的旋轉運動也不會對此產(chǎn)生影響;再者,由于夾具沒有附帶對應的驅動裝置,即使安裝夾具也僅相當于將End點的水平面投影點在二維空間內相對平移了一個固定的矢量位置,擴展了一定的工作空間范圍,但求解Tip點的直線運動極限點坐標的思想與End點完全一致。所以,Z軸和R軸的運動都不會影響到末端點的水平面投影位置。
(2) 由于SCARA機器人的工作空間是一個類似于扇形的柱體區(qū)域,將其投影在水平面上并不會使工作空間的邊界發(fā)生改變。所以,End點的直線運動是否超出工作空間的范圍僅與X、Y兩軸的運動有關。
(3) 由于End點(或Tip點)在水平面二維空間下的直線運動有無窮多種可能的方向,而每種方向均與x-y直角坐標軸成一定角度,經(jīng)旋轉變換后都能歸結到與坐標軸平行的方向上。所以,本算法只針對分別平行于x-y直角坐標軸的兩種直線運動求解四個極限點坐標即可,其余運動方向上的極限點坐標可參照本算法旋轉相應角度后求解。
2.2 設計過程" title="設計過程">設計過程
設基座位于x-y直角坐標系的原點O,SCARA機器人的大、小臂均完全展開時的姿態(tài)與x軸正向重合,為初始狀態(tài),規(guī)定兩臂旋轉的方向均取逆時針為正,順時針為負,據(jù)此建立幾何學模型。先由四條平面圓?。ㄔO為C1~C4)確定水平面工作空間,同時給定末端當前點(設為Now)的坐標;再過點Now分別作兩條坐標軸的平行線(設平行于x軸的直線為Line_H、平行于y軸的直線為Line_V),與邊界圓弧相交;然后分別求出Line_H、Line_V與C1~C4的8個交點,若無交點則默認交點坐標為點Now的坐標值;接著判斷交點中的有效點;最后確定出四個極限點(設為P1~P4)的位置坐標即為所求。
2.3 交點判定
從上述設計過程可知,所求的左、右極限點必然在Line_H與圓弧邊界的交點之中,而上、下極限點必然在Line_V與圓弧邊界的交點之中。所以,本算法的關鍵在于交點的判定。因為SCARA機器人在做直線運動時不會更換手系,所以可將左、右手系分開考慮。
在右手系下,圓弧C1~C4依次首尾相連圍成一個封閉區(qū)域,如圖1所示。其中,C1弧為小臂處于正向最大姿態(tài)且大臂自由運動時End點的軌跡,C2弧為小臂始終處于大臂的延長線上且大臂自由運動時End點的軌跡,C3弧為大臂處于正向最大姿態(tài)且小臂自由運動時End點的軌跡,C4弧為大臂處于負向最小姿態(tài)且小臂自由運動時End點的軌跡。Now點位于這個封閉區(qū)域內,P1~P4點的判定遵循如下原則:(1) P1、P2、P3、P4分別位于Now點的左、右、下、上方;(2) 各極限點在各自方位上均與Now點的直線距離最短;(3) 線段P1P2、P3P4均不穿過C1弧與坐標原點O圍成的工作死區(qū)。
左手系與右手系類似,不再敖述。

3. 仿真與實現(xiàn)
本文采用MATLAB仿真與VC實現(xiàn)相對應驗證的方式對算法加以說明。
3.1 MATLAB仿真
3.1.1 右手系

設最大工作空間取值范圍如下:X軸為 ,Y軸為 ,當前末端點位置坐標為 ,最終所求的右手系下的4個極限點P1、P2、P3、P4的直角坐標值為(如圖2所示):

3.1.2 左手系
左手系下的實現(xiàn)過程與右手系類似,如圖3、圖4所示。不同的只是Y軸的工作空間取值范圍為 ,當前末端點位置坐標仍然取為 ,最終所求的左手系下的4個極限點P1、P2、P3、P4的直角坐標值為(如圖4所示):

圖3 左手系下的工作空間與當前點


圖4 左手系下的極限點求解
需要說明的是,上述仿真示例只是給出了最大工作空間,在該工作空間內可選取任意子空間及包含其中的當前末端點進行仿真,仿真結果均表明,本算法能正確計算并確定SCARA機器人末端直線運動下的四個極限點坐標。

3.2 VC實現(xiàn)
采用VC開發(fā)軟件封裝功能函數(shù),實現(xiàn)本算法。右、左手系下的界面分別如圖5、圖6所示。選取與上節(jié)MATLAB仿真示例中相同的工作空間與末端當前位置坐標等參數(shù),求解出的四個極限點坐標與MATLAB結果完全對應相同。
3.2.1 右手系

3.2.2 左手系

圖6 左手系下的算法實現(xiàn)

4. 結 論
本文提出了一種SCARA機器人直線運動極限點的求解算法,并通過MATLAB仿真與VC實現(xiàn)進行了對應驗證。該算法能有效預測并解決實際操作中的安全問題,具有較強的實用價值。然而,考慮SCARA機器人的末端當前點正好位于工作空間的邊界位置時,求解對應的極限點坐標,將是進一步研究的一個方向。

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。