張秀麗,韓春燕
(北京交通大學(xué) 機(jī)械與電子控制工程學(xué)院,北京 100044)
人工智能的發(fā)展及生產(chǎn)制造業(yè)向靈活性和柔性制造模式的轉(zhuǎn)變,輕質(zhì)、方便移動 、高靈活性的協(xié)作機(jī)器人逐漸代替了傳統(tǒng)的工業(yè)機(jī)器人[1].相比于其他機(jī)器人,協(xié)作機(jī)器人已在工業(yè)制造領(lǐng)域中初露鋒芒,但該類機(jī)器人仍處于起步階段,面臨著諸如未知復(fù)雜的環(huán)境,復(fù)雜多變的任務(wù)、行為安全和交互等諸多方面的挑戰(zhàn)和技術(shù)瓶頸[2].而其中交互安全性尤為重要,是協(xié)作機(jī)器人需要考慮的首要因素,已成為協(xié)作機(jī)器人領(lǐng)域的研究熱點[3].
在人機(jī)交互過程中,機(jī)器人和操作員通常處在同一工作空間[4],兩者不可避免會發(fā)生接觸,造成不必要的傷害,解決這個問題的首要做法是發(fā)生碰撞后,機(jī)器人可以檢測到碰撞,并采取相應(yīng)的安全控制.目前大多研究采用無傳感器方法或安裝傳感器的方法來檢測碰撞[5].文獻(xiàn)[6]主要是通過采集各關(guān)節(jié)驅(qū)動器的電流,以此計算出各關(guān)節(jié)力矩,并用動力學(xué)模型計算出各關(guān)節(jié)實際運(yùn)動的關(guān)節(jié)力矩,將兩力矩進(jìn)行比較,從而可以確定是否發(fā)生碰撞.由于機(jī)器人系統(tǒng)通常不能得到精確的動力學(xué)模型,所以該方法并不能精確的檢測碰撞.文獻(xiàn)[7]提出了一種通過直接檢測驅(qū)動器電流是否發(fā)生突變來判斷是否發(fā)生碰撞的方法,該方法將檢測到的電流值與相鄰時刻關(guān)節(jié)驅(qū)動器的電流值相比較,若大于設(shè)定的電流閾值,則說明發(fā)生了碰撞,但當(dāng)機(jī)器人加速或是向反方向運(yùn)動時,該方法容易發(fā)生誤檢測.文獻(xiàn)[8-9]通過檢測系統(tǒng)能量的方法來判斷機(jī)器人是否發(fā)生碰撞,該方法的缺點是當(dāng)機(jī)器人處于靜止?fàn)顟B(tài)時,若發(fā)生碰撞,則該檢測方法無法檢測出機(jī)器人的碰撞.對于添加外部傳感器的方法主要有安裝力傳感器,視覺傳感器,以及觸覺傳感器等.德國庫卡公司七自由度協(xié)作機(jī)器人LBR IIWA[10],各關(guān)節(jié)配備力矩傳感器,可檢測碰撞并進(jìn)行避讓.文獻(xiàn)[11]中通過在機(jī)器人上安裝視覺傳感器的方法來檢測機(jī)器人的碰撞.近些年來,觸覺傳感器的應(yīng)用成為了人機(jī)交互中的熱點.德國機(jī)器人研究所研制了一款23×10個電極矩陣組成的柔性傳感器[12],應(yīng)用在機(jī)械臂上,用于獲取碰撞信息.美國明尼蘇達(dá)大學(xué)設(shè)計了一種可拉伸的柔性智能皮膚傳感器[13],作為觸覺系統(tǒng)應(yīng)用在機(jī)器人上進(jìn)行外界信息檢測.
在機(jī)器人安全碰撞檢測中,最為成熟的是采用力覺傳感器檢測碰撞力的方法,但該方法依賴于精確的動力學(xué)模型,且不能準(zhǔn)確獲得力矩發(fā)生的具體位置,因而無法確保機(jī)器人的安全控制.觸覺傳感器技術(shù)是當(dāng)今的熱點研究話題,由于大多數(shù)觸覺傳感器結(jié)構(gòu)及電路布線復(fù)雜,安全可靠性較低,因而在協(xié)作機(jī)器人安全控制方面的應(yīng)用并不廣泛.
本文作者設(shè)計了一款觸覺傳感裝置,分析了觸覺裝置各觸覺單元的運(yùn)動學(xué)及碰撞力方向,并將其應(yīng)用在機(jī)械臂上,搭建實驗平臺,通過實驗驗證設(shè)計的觸覺傳感裝置的有效性和理論分析的正確性,對提高協(xié)作機(jī)器人的交互安全性,擴(kuò)展協(xié)作機(jī)器人應(yīng)用范圍具有一定的推動作用.
設(shè)計的可穿戴式觸覺傳感裝置分層結(jié)構(gòu)見圖 1,該傳感器裝置由上覆蓋層、16個觸覺傳感單元、襯墊層、下覆蓋層4部分組成.上、下覆層材質(zhì)為黑色織物,用于保護(hù)觸覺單元和傳感單元的連接線; 16個觸覺傳感單元選用薄膜壓力傳感器FSR,F(xiàn)SR由兩層涂有導(dǎo)電金屬的聚酯薄膜組成,其厚度為0.208 mm,感應(yīng)區(qū)域直徑為14.7 mm.根據(jù)觸覺單元間隙最小原則,觸覺裝置采用見圖2的陣列方式;襯墊層所用材料為厚度1.4 mm的帆布織物,用于放置FSR傳感器陣列,為防止FSR受力時滑動,造成測量誤差,在襯墊層上留有7.6 mm寬度開口,用于固定FSR傳感器尾部,并將FSR傳感器粘連在襯墊層上,見圖3.同時在一側(cè)引出FSR傳感器的信號采集線,最后將4層材質(zhì)縫合起來.
圖1 觸覺傳感裝置分層結(jié)構(gòu)Fig.1 Layered structure of tactile sensing device
圖2 觸覺傳感單元陣列Fig.2 Tactile sensor array
圖3 傳感器陣列布局Fig.3 Layout of sensor array
可穿戴式的觸覺傳感裝置實物如圖4所示,其尺寸為290 mm×100 mm,可將其穿戴在假肢或機(jī)械臂的任意位置進(jìn)行接觸力檢測.
圖4 可穿戴式觸覺傳感裝置Fig.4 Wearable tactile sensing device
觸覺傳感器的信息采集系統(tǒng)由FSR觸覺傳感裝置、信號處理模塊、數(shù)據(jù)采集儀和計算機(jī)終端軟件等部分組成.
FSR的輸出信號為電阻信號,經(jīng)信號調(diào)理電路,完成電阻向電壓信號轉(zhuǎn)化、模數(shù)轉(zhuǎn)化、放大和濾波,并通過串口將信號傳輸?shù)接嬎銠C(jī)進(jìn)行處理及保存,從而得到力信息.觸覺信息采集系統(tǒng)結(jié)構(gòu)見圖5.
圖5 信息采集系統(tǒng)結(jié)構(gòu)Fig.5 Structure of information collection system
傳感器的信息采集系統(tǒng)軟硬件采用安微電子科技有限公司開發(fā)的壓力傳感器系統(tǒng),主要由網(wǎng)絡(luò)采集儀、USB接線、排線,壓力采集輸出軟件4部分組成.
由于信息采集系統(tǒng)存在系統(tǒng)誤差及各種外界干擾因素,其輸出的力信號與實際輸入值之間存在誤差,為消除偏差,進(jìn)行了觸覺單元的標(biāo)定與校準(zhǔn),通過Matlab及統(tǒng)計學(xué)最小二乘法思想得到觸覺單元數(shù)學(xué)模型,保證了觸覺傳感裝置輸出信息的準(zhǔn)確性.
采用砝碼對觸覺傳感裝置中的每個觸覺單元進(jìn)行靜態(tài)標(biāo)定,得到相應(yīng)的1次、3次、5次擬合曲線,如圖6所示,考慮到系統(tǒng)運(yùn)算速度,結(jié)合最小二乘法的思想對擬合曲線進(jìn)行擬合優(yōu)度判斷,最終選擇1次擬合曲線作為觸覺單元的數(shù)學(xué)模型,各觸覺單元的數(shù)學(xué)模型表達(dá)式為
y=ax+b
(1)
式中:a、b為表達(dá)式系數(shù).
圖6 觸覺單元擬合曲線Fig.6 Fitting curves of tactile unit
觸覺傳感裝置安裝在實驗室三自由度機(jī)械臂上,建立如圖 7所示的觸覺單元及機(jī)械臂連桿坐標(biāo)系,選機(jī)械臂第1關(guān)節(jié)坐標(biāo)系(X0,Y0,Z0)為機(jī)械臂基準(zhǔn)坐標(biāo)系,根據(jù)D-H法得到各坐標(biāo)系下的D-H參數(shù),如表 1所示.
圖7 機(jī)械臂坐標(biāo)系Fig.7 Coordinate system of mechanical arm
變換矩陣連桿長度ak/mm連桿扭角αk/(°)關(guān)節(jié)偏置dk/mm關(guān)節(jié)角度θk/(°)0A10π/2L0θ11A2L1-π/20θ22AiL20D3θ3
表1中L0為機(jī)械臂肩長,值為27 mm,L1為機(jī)械臂大臂長度,值為314 mm ,L2為觸覺傳感裝置距機(jī)械臂肘關(guān)節(jié)的長度,D3為觸覺裝置半徑,取D3=40 mm,L2=175 mm.θ1,θ2,θ3分別為機(jī)械臂關(guān)節(jié)1、2、3的關(guān)節(jié)夾角,2Ai中下標(biāo)i為常量,表示機(jī)械臂末端坐標(biāo)系.由D-H法得到各相鄰坐標(biāo)系的變換矩陣分別為
(4)
將變換矩陣(2)(3)(4)順序相乘,得到觸覺單元在機(jī)械臂基準(zhǔn)坐標(biāo)系中總變換矩陣
(5)
式中ck=cosθk,sk=sinθk,k=1,2,3.
觸覺單元在機(jī)械臂的期望位姿矩陣為
(6)
式中:0Ri=[nx,ox,ax;ny,oy,ay;nz,oz,az]為觸覺單元在的姿態(tài)矩陣;Pi=[px;py;pz]為觸覺單元在機(jī)械臂的位置矩陣.
令機(jī)械臂基準(zhǔn)坐標(biāo)系中總變換矩陣與機(jī)械臂期望位姿矩陣相等
Td=0Ti
(7)
根據(jù)式(7)得
(8)
變換矩陣的逆矩陣依次乘以機(jī)械臂總變換矩陣,求解得到觸覺單元的運(yùn)動學(xué)逆解
(9)
觸覺單元之間進(jìn)行相應(yīng)的坐標(biāo)變換,即可求解得到所有觸覺單元在機(jī)械臂基坐標(biāo)系下的運(yùn)動學(xué)正解及逆解.
機(jī)械臂在基坐標(biāo)系中的具體方向未知,為便于實現(xiàn)對機(jī)械臂的運(yùn)動控制,取各觸覺單元法線方向為其在觸覺傳感裝置中的正壓力方向,通過坐標(biāo)變換,求解得到各觸覺單元在機(jī)械臂基坐標(biāo)系中的正壓力方向信息.
觸覺傳感裝置中16個觸覺單元都有其各自的參考坐標(biāo)系,選觸覺單元9為其余各觸覺單元的基準(zhǔn)坐標(biāo)系,各觸覺單元j的坐標(biāo)系為(xj,yj,zj) ,其中j=1,2,…,16,坐標(biāo)系如圖8所示.基準(zhǔn)坐標(biāo)系進(jìn)行相應(yīng)的旋轉(zhuǎn)和平移變換即可與各觸覺單元參考坐標(biāo)系重合,坐標(biāo)系變換參數(shù)值如表2所示.其中γ為基準(zhǔn)坐標(biāo)系繞自身x軸旋轉(zhuǎn)的角度,dx,dy,dz分別為基準(zhǔn)坐標(biāo)系沿x,y,z軸向各觸覺單元參考坐標(biāo)系移動的距離.
基準(zhǔn)坐標(biāo)系到參考坐標(biāo)系的變換矩陣為
Mj=Rot(x,y)·
Trans(dx,0,0)·Trans(0,dy,0)
(10)
根據(jù)基準(zhǔn)觸覺單元相對于基準(zhǔn)坐標(biāo)系的變換矩陣,求解得到各受力觸覺單元在基坐標(biāo)系下的總變換矩陣為
(11)
式中:0RF表示力作用下觸覺單元坐標(biāo)系到基準(zhǔn)坐標(biāo)系的旋轉(zhuǎn)矩陣;PF表示力作用點到機(jī)械臂基坐標(biāo)系的位置矩陣,具體可表示為
圖8 觸覺單元坐標(biāo)系Fig.8 Coordinate system of tactile units
表2 變換參數(shù)值
(12)
(13)
式中:cy=cosγ;sy=sinγ.
觸覺單元j的接觸力在自身參考坐標(biāo)系的方向為
(14)
則觸覺單元在機(jī)械臂基坐標(biāo)系下的接觸力為
0F=0RF·Fj=
(15)
觸覺裝置檢測到碰撞,碰撞力位置方向取各受力觸覺單元在機(jī)械臂坐標(biāo)系各軸位姿分量的均值,以觸覺單元位姿和正壓力方向分析為基礎(chǔ),求解碰撞力在機(jī)械臂基準(zhǔn)坐標(biāo)系中的位置和方向信息.
碰撞力在基準(zhǔn)坐標(biāo)系的位置信息為
(16)
碰撞力在基準(zhǔn)坐標(biāo)系的力方向為
(17)
式中:h表示受力觸覺單元個數(shù),h=1,2,…,16.
為驗證觸覺傳感裝置的有效性及觸覺單元接觸力方向識別方法的正確性,搭建實驗平臺,設(shè)計碰撞檢測實驗.實驗平臺主要由機(jī)械臂樣機(jī)、控制系統(tǒng)硬件、控制系統(tǒng)軟件3部分組成.
控制系統(tǒng)采用主從式結(jié)構(gòu):即上下位機(jī)結(jié)構(gòu).上位機(jī)需要良好的操作性及穩(wěn)定性,因而選用研華工控機(jī)作為上位機(jī),下位機(jī)是整個控制系統(tǒng)的核心部分,主要完成機(jī)械臂舵機(jī)的運(yùn)動控制,編碼器信息采集、觸覺信息的接收與處理、數(shù)據(jù)的實時顯示及控制算法的實現(xiàn),要求其具有較多的硬件接口及良好的實時性.采用意法半導(dǎo)體公司的STM32 VET6作為核心控制部件.機(jī)械臂與控制系統(tǒng)硬件如圖9所示.
圖9 控制系統(tǒng)硬件Fig.9 Hardware of control system
圖10 上位機(jī)通信界面Fig.10 Communication interface of upper computer
控制系統(tǒng)的軟件主要由用于將觸覺傳感器采集的碰撞力反饋給STM32的上位機(jī)軟件和用于實現(xiàn)機(jī)械臂的運(yùn)動控制和碰撞力檢測算法的下位機(jī)運(yùn)動控制程序兩部分組成.如圖10為上位機(jī)通信軟件界面,使用C語言編寫,用于完成碰撞力的信息處理及發(fā)送.碰撞力信息的數(shù)據(jù)處理過程為:壓力采集系統(tǒng)采集觸覺單元力信息,實時存放于TXT文本文件中,其文件的第2列至第17列對應(yīng)為觸覺單元1至16的力值,上位機(jī)通信軟件讀取實時TXT,將受力觸覺單元列提取存放于16個數(shù)組中并進(jìn)行受力觸覺單元列求和計算,即可得碰撞力大小,并在數(shù)據(jù)顯示界面實時顯示.
STM32的通訊信號為TTL電平,舵機(jī)的通信形式為RS485,兩者之間選用TTL轉(zhuǎn)RS485模塊進(jìn)行通信;編碼器的引線與STM32的I/O端口相連,實現(xiàn)關(guān)節(jié)信息采集;觸覺采集系統(tǒng)與工控機(jī)采用USB通信,通過上位機(jī)軟件將采集的接觸力發(fā)送給下位機(jī)STM32.STM32接收工控機(jī)發(fā)送的指令,控制機(jī)械臂運(yùn)動,并進(jìn)行機(jī)械臂關(guān)節(jié)角度的實時采集與顯示,同時,觸覺傳感器實時檢測碰撞力,若發(fā)生碰撞,觸覺傳感裝置將檢測到的力信息經(jīng)數(shù)據(jù)處理后通過串口發(fā)給STM32,并控制機(jī)械臂進(jìn)行碰撞避讓運(yùn)動.
為驗證觸覺傳感裝置中觸覺單元接觸力方向識別方法的正確性,分別對16個觸覺單元施加力,觸覺傳感裝置檢測到碰撞后,則控制機(jī)械臂沿著觸覺單元受力方向做直線避讓運(yùn)動.沿接觸力方向的直線方程為
(18)
直線方程中,調(diào)整時間參數(shù)t即可得到不同的位移點,為保證機(jī)械臂沿著碰撞力減小的方向,必須保證t>0.將式(18)代入觸覺單元逆運(yùn)動學(xué)式(9)中可求解得到對應(yīng)的關(guān)節(jié)角,即可控制機(jī)械臂沿接觸力方向做反向避讓運(yùn)動.
將所規(guī)劃的避讓路徑寫入控制程序中,并給定機(jī)械臂的初始位置為 (300,250,27),分別對各觸覺單元施加壓力,觸覺傳感裝置檢測到碰撞力后發(fā)送給STM32,下位機(jī)接收碰撞力并控制機(jī)械臂沿觸覺單元受力方向運(yùn)動,根據(jù)各關(guān)節(jié)舵機(jī)反饋的位置信息,繪制各觸覺單元沿碰撞力方向運(yùn)動的曲線,見圖11.計算各觸覺單元的實際運(yùn)動方向曲線得到反正切,即計算各觸覺單元運(yùn)動曲線縱坐標(biāo)與橫坐標(biāo)比之的反正切即可得到觸覺單元實際運(yùn)動方向與機(jī)械臂X軸夾角.
圖11 觸覺單元受力方向Fig.11 Force direction of tactile elements
機(jī)械臂安裝的假肢周長約為220 mm,因而可在機(jī)械臂周向表面布置12個觸覺單元,則觸覺傳感裝置相鄰觸覺單元之間的夾角為30°.
如表3為各觸覺單元與機(jī)械臂基坐標(biāo)系X軸的理論與實際夾角,觸覺單元最大夾角誤差為0.07、0.08及0.16,其余觸覺單元夾角誤差均小于0.03.
表3 觸覺單元角度值
引起誤差的主要原因有:1)由于機(jī)械臂彈性關(guān)節(jié)的存在,舵機(jī)啟動引起機(jī)械臂的振動,使得運(yùn)動方向有偏差;2) 觸覺傳感裝置安裝的機(jī)械臂曲面為橢圓,為計算方便,近似為圓,故表3中各單元與X軸的夾角為近似值.在計算過程中依照橢圓分析,即可減小誤差.雖然有一定誤差,但觸覺單元力的分析方法正確,其影響可忽略,可將其應(yīng)用在機(jī)械臂中進(jìn)行碰撞檢測,發(fā)生碰撞后,控制機(jī)械臂沿碰撞力避讓,提高機(jī)械臂的安全性.
1)設(shè)計了一個可穿戴式的觸覺傳感裝置,搭建了觸覺傳感裝置的信息采集系統(tǒng),并對觸覺傳感裝置進(jìn)行了靜態(tài)標(biāo)定,得到各觸覺單元的數(shù)學(xué)模型.
2)對觸覺傳感裝置進(jìn)行了運(yùn)動學(xué)及觸覺單元方向識別分析.
3)將可穿戴式觸覺傳感裝置應(yīng)用于三自由度柔順機(jī)械臂上進(jìn)行機(jī)械臂碰撞檢測實驗,對機(jī)械臂的避讓運(yùn)動曲線做分析,從而驗證了觸覺傳感裝置的有效性及觸覺單元接觸力理論分析的合理性,可將其設(shè)備應(yīng)用于人機(jī)交互中進(jìn)行碰撞檢測,提高人機(jī)交互安全性.