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