上海交通大學機械與動力工程學院 上海 200240
機器人技術的發(fā)展已有數(shù)十年,但協(xié)作型機器人仍處于剛起步的狀態(tài),協(xié)作型機器人是工業(yè)機器人未來的發(fā)展方向,具備力感知能力。不同于傳統(tǒng)工業(yè)機器人工作的圍欄封閉性,協(xié)作型機器人更適合于開放的環(huán)境,適用于同工人一起作業(yè)和裝配的柔性生產(chǎn)線環(huán)境[1-2]。在工業(yè)4.0環(huán)境下,未來的工廠不只是追求自動化和無人化,而是更傾向于人與機器人協(xié)作的一體化環(huán)境。協(xié)作型機器人的結構更加緊湊,且更加輕便,最大特點在于關節(jié)的集成化程度高,具備碰撞、檢測、拖動示教的功能?,F(xiàn)有協(xié)作型機器人通常采用電機電流來控制關節(jié)力矩,實現(xiàn)協(xié)作型機器人物理接觸的安全性。但在負載增大時,仍存在安全性不足的問題。筆者研究的目的是設計一款具有關節(jié)力反饋功能的協(xié)作型機器人,提高其安全性。
在設計集成度較高的關節(jié)基礎上,同時采用力矩傳感器直接對外力進行感知,使關節(jié)的力感知靈敏度更高。筆者完成了機械臂關節(jié)的詳細結構設計,對一些關鍵連桿進行了強度校核,建立了機器人的數(shù)學模型,完成了機器人從笛卡爾空間到關節(jié)空間的逆解,得到完全的解析解[3-4]。借助MATLAB軟件實現(xiàn)了基于正弦加減速的直線軌跡運動算法和仿真,在試驗平臺上驗證了運動學算法的正確性。
集成化關節(jié)的整個布局方案從輸入端到輸出端為電機驅動器、抱閘、位置傳感器、無框電機、諧波減速器、力矩傳感器。整個關節(jié)的設計剖面圖如圖1所示。
▲圖1 關節(jié)設計剖面圖
采用電磁鐵機構抱閘代替?zhèn)鹘y(tǒng)干式雙面摩擦抱閘,體積小。傳統(tǒng)干式雙面摩擦抱閘鐵心中的剩磁會影響驅動器中的霍爾電流傳感器。
位置傳感器采用旋轉變壓器,輸出模擬正弦信號,抗干擾能力強,適用于比較惡劣的環(huán)境。同時,相比光電編碼器,旋轉變壓器在安裝轉軸時允許徑向和軸向有一定偏差,安裝更方便,并且安裝成本低。
走線管用于中空走線,可容納穿過整機的控制器局域網(wǎng)總線、電源線和力矩傳感器線。
諧波減速器選型時,確定對應關節(jié)的平均負載轉矩Tm,并與相應型號的平均負載轉矩允許最大值進行比較。選型時要考慮關節(jié)加減速,將計算得到的平均負載轉矩乘以動態(tài)轉矩因數(shù) nd,nd為 1.4~1.8[5-6]。
平均負載轉矩Tm為:
式中:ti、Ni和Ti依次為機器人工作狀態(tài)i下的運轉時間、轉速和負載轉矩。
通過對各關節(jié)質量的估算,得到六個關節(jié)的動態(tài)轉矩,見表1。諧波減速機選擇LHSG-CL-Ⅲ系列。
表1 關節(jié)動態(tài)轉矩值 N·m
設計的機器人采用六自由度,負載質量為5 kg,工作半徑不超過 1.2 m,關節(jié)速度不超過150(°)/s,整機質量不超過38 kg。
機器人采用正交非球形手腕,保證手腕每個關節(jié)都能實現(xiàn)360°旋轉。整體構型采用連續(xù)三軸平行,滿足Pieper準則,機器人逆運動學具有封閉解。機器人整機裝配體如圖2所示。
采用基于數(shù)值法的蒙特卡羅法可以繪制機器人的工作空間,其方法是離散取關節(jié)角度隨機值,并利用正運動學方法求解機械臂末端點的位置。MATLAB軟件中提供了 rand()函數(shù),可以用來生成0和1之間的隨機值。
關節(jié)角度θ為:
式中:θmin為最小角度,θmin=-180°;θmax為最大角度,θmax=180°;8 000 為離散點。
▲圖2 機器人整機裝配體
利用fkine函數(shù)求出齊次變換陣,并利用plot函數(shù)繪制機械臂末端三維空間點。機器人點云圖如圖3所示。
關節(jié)和連桿材料選擇冷處理鍛壓7075鋁合金,具有良好的機械性能,強度高,加工和耐腐蝕性好,屈服強度為455 MPa,彈性模量為71 GPa。當機器人手臂展開時,大臂和小臂的關節(jié)、連桿會承受較大的力,因此需要進行有限元分析。圖4所示為大臂應變和應力,圖5所示為肩關節(jié)的應變和應力圖。
大臂整體所受的應力和應變均較小。肩關節(jié)連桿所受最大應力為22 MPa,遠小于7075鋁合金的屈服極限。最大應力集中在肩關節(jié)兩個圓柱面相貫處,從工藝角度考慮,為避免應力集中,在相貫處添加圓角。
▲圖3 機器人點云圖
筆者通過采用坐標系后置方法,建立機械臂的Denavit-Hartenberg(DH)模型,這種方法可以使 DH模型的四個參數(shù)下標一致,如圖6所示[7]。由DH模型可以得到協(xié)作機器人的DH參數(shù),見表2。
表3 機器人DH參數(shù)表
串聯(lián)機器人的正運動學問題是已知四個DH參數(shù),求機器人末端執(zhí)行器相對于基坐標系的位姿。機器人逆運動學問題是已知末端執(zhí)行器的位姿,計算六個關節(jié)變量的值,其逆解通常存在多個,最多有八個解。
采用代數(shù)法求機器人逆解,求解思路是通過變換機械臂末端執(zhí)行器相對于基坐標系的齊次變換矩陣,得到方便求解每個關節(jié)值的方程,表達式為:
式中:iTj為坐標系i相對于j的齊次變換矩陣。
▲圖4 大臂應變與應力
將式(3)等號左右兩邊的齊次變換矩陣對應相等,可以得到求解關節(jié)角度值的步驟。 nX、nY、nZ、oX、oY、oZ、aX、aY及 aZ均為已知量,nX、nY、nZ為機器人末端坐標系X軸在基坐標系下三個坐標軸上的投影,oX、oY、oZ為機器人末端坐標系Y軸在基坐標系下三個坐標軸上的投影,aX、aY、aZ為機器人末端坐標系Z軸在基坐標系下三個坐標軸上的投影,pX、pY、pZ為機器人末端坐標系原點在三個坐標系下的值,求解步驟如下。
使齊次變換等式(3)的3行3列、3行4列分別對應相等,可得到:
式中:si代表 sin θi;ci代表 cos θi。
將式(4)代入式(5),得到形如 Asin θ+Bcos θ=C 的表達式:
求關節(jié)1的兩個解:
根據(jù)式(4)求得關節(jié)5的四個解:
▲圖5 肩關節(jié)應變與應力
▲圖6 機器人DH模型
同理,聯(lián)立式(9)、式(10)可以解得關節(jié)6的四個解。
式中:c234代表 cos(θ2+θ3+θ4);s234代表 sin(θ2+θ3+θ4)。
聯(lián)立式(11)、式(12),可以解得關節(jié) 2、3、4 之和的四個解。
式中:c23代表 cos(θ2+θ3);s23代表 sin(θ2+θ3)。
聯(lián)立式(13)、式(14),可以分別解得關節(jié) 2、3 和 4的八個解。
綜上所述,可求得機械臂在每一種位姿下的多組關節(jié)值解。在選取最優(yōu)解的時候,按照與前一關節(jié)值二范數(shù)最小的原則,保證關節(jié)前進角度值最小。需要注意的是,計算過程中要滿足各關節(jié)值在-π~π范圍內的條件。
對于直線運動,其規(guī)劃是對末端位移時間曲線進行規(guī)劃。 設起始點和終止點分別為 P0(x0,y0,z0)和 P1(x1,y1,z1),其位移時間坐標系為{S-t}[8]。 位移 S(t)指機器人末端運動軌跡距離初始點的距離。起始和終止兩點之間的距離L為:
設插補周期為Δt,經(jīng)過i次插補,即時間經(jīng)歷iΔt后,第i個插補點距離初始點的位移距離為Si,因此插補點Pi為:
為使機械臂運動更加平穩(wěn),還需要對末端加減速進行規(guī)劃。采用正弦加減速算法,計算量適中,有利于實時性控制。
整個直線運動過程分為三段:加速度為正弦曲線的加速過程、勻速運動過程、加速度為正弦曲線的減速過程。在整個運動過程中,需要標記的參量為加速結束時間t1、減速開始時間t2、總運動時間T、總位移L、正弦加減速最大加速度amax和勻速運動速度Vave。運動過程中的加速度表達式為:
式中:t為運動時間;ω為正弦表達式角頻率。
對加速度積分和二次積分,速度和位移分別為:
需要選定最大加速度amax和勻速運動速度Vave的值,并求出加速結束時間t1、減速開始時間t2、總運動時間T。根據(jù)t1時刻加速度值為0,以及該時刻速度值為Vave,可以得到式(20),并解得 ω 和 t1。
得到加速段總位移和總運動時間為:
于是可以得到總的插補點數(shù)量。
在計算過程中,需要注意當勻速段的速度選擇過大,而加速度選擇過小時,可能會造成加速時間過長而無法在規(guī)定時間內加速到設定的速度值,即出現(xiàn)t2<t1的極端情況,因此,需要計算臨界情況下的速度Vcri,此時勻速段的位移為0,即t1=t2,可以得到:
因此,在給定加速段最大加速度和勻速段速度后,需要計算臨界速度,并判斷此時給定的勻速段速度是否大于臨界速度值。若大于,則要將該速度限制為臨界速度值[9-10]。整個計算流程如下。
根據(jù)起始點和給定的最大加速度和勻速段速度,求出各段運動時間、總時間及總的插補點數(shù)量。
從第0個插補點開始,計算插補點的時刻t,并判斷此時插補點所處的時間段,計算出相應的位移值。代入式(16),可以求出此時插補點的坐標值。插補點向后遞增一個值,并判斷此時插補點是否已經(jīng)到了最后的插補點。如果到了,轉向下一步;如果沒到,仍然遞增一個值。
插補結束后,將所有插補點代入機械臂逆解方程,得到對應的關節(jié)角度值。
在MATLAB軟件中編制機械臂逆解和正弦加減速直線運動規(guī)劃程序,并進行仿真。設起始點坐標為(-15,40,60),終點坐標為(25,50,70),初始姿態(tài)旋轉矩陣為單位矩陣,得到空間直線軌跡,如圖7所示。末端軌跡運動速度為10 cm/s,正弦加速段最大加速度為20 cm/s2,插補周期為10ms。仿真得到末端軌跡的位移、速度和加速度曲線,依次如圖8、圖9、圖10所示。
從圖9中可以看出,經(jīng)過0.79 s后,機械臂末端加速到給定的勻速段運動速度10 cm/s。到4.24 s時刻,末端開始減速,并于5.03 s時走完全程。從圖8~圖10中可以看到,整個過程位移、速度和加速度曲線都較平滑,且計算量不大,適合于在實時性要求較高的機器人控制器中作為直線軌跡運動加減速規(guī)劃的算法。
▲圖7 空間直線軌跡
在機器人直線運動過程中,通過總線位置請求的方式,以10 ms為周期,讀取各個關節(jié)的位置值,然后通過正運動學計算機器人末端軌跡,并畫出曲線驗證直線度。
考慮到總線上數(shù)據(jù)較多,為了方便獲取數(shù)據(jù),可以通過控制器局域網(wǎng)通信協(xié)議的標志符號進行濾波設置,把不需要的控制器局域網(wǎng)通信報文過濾掉,只保留需要的位置反饋報文。
由于報文的反饋值有4 Byte,是從低位到高位的16進制值,因此還需要對數(shù)據(jù)進行處理,轉換成角度值,并在MATLAB軟件中畫出軌跡曲線。
圖11所示為機器人實際運動過程中在空間的插補直線。
筆者完成了具有集成化關節(jié)的協(xié)作型機器人結構設計,同時得到了機器人逆運動學和空間直線軌跡規(guī)劃的算法。通過對機器人單關節(jié)轉動試驗,證明了腕關節(jié)可以360°周轉。應用MATLAB軟件進行仿真,驗證了機器人逆運動學算法和空間直線規(guī)劃算法的正確性,并在搭建的試驗平臺上完成了機器人空間直線運動試驗。在機器人運動過程中,以10 ms為一個周期采集六個關節(jié)的實時角度值,并通過控制器局域網(wǎng)總線返回。利用正向運動學計算并畫出機器人末端軌跡值,表明機器人末端軌跡具有良好的線性度。
▲圖8 末端軌跡位移曲線
▲圖10 末端軌跡加速度曲線
▲圖11 空間插補直線