宋婷婷
(福州理工學(xué)院,福建 福州350506)
在智能化逐漸加深的今天,機(jī)器人代替人工已經(jīng)成為諸多行業(yè)的普遍現(xiàn)狀[1].與人工生產(chǎn)相比,機(jī)器人生產(chǎn)具有減少管理任務(wù),提高產(chǎn)品質(zhì)量穩(wěn)定性,問題溯源更加便捷的特點(diǎn),但與此同時(shí),使用機(jī)器人對產(chǎn)品進(jìn)行加工生產(chǎn)的基礎(chǔ)是對機(jī)器人的高精度控制,并且確保機(jī)器人能夠準(zhǔn)確執(zhí)行輸入的命令[2].因此,近些年來,關(guān)于機(jī)器人的研究逐漸成為相關(guān)學(xué)者研究的熱點(diǎn).研究的內(nèi)容也逐漸從對功能的探索轉(zhuǎn)向?qū)\(yùn)行效果的精細(xì)化研究[3].其中,一項(xiàng)極為重要的內(nèi)容就是機(jī)器人對操作命令的遲滯問題,特別是對雙操作桿的機(jī)器人而言,遲滯問題是影響其最終操作效果的關(guān)鍵因素[4].由于機(jī)器人在接收到操作端輸入的信息后,需要對其進(jìn)行解碼辨識[5],當(dāng)轉(zhuǎn)化為實(shí)際的輸出動(dòng)作,出現(xiàn)遲滯后,會(huì)導(dǎo)致兩個(gè)操作桿出現(xiàn)操作時(shí)延異常的情況,使二者之間的配合產(chǎn)生時(shí)間差,導(dǎo)致操作結(jié)果與輸入結(jié)果不一致,影響最終產(chǎn)品的質(zhì)量[6].遲滯問題已有學(xué)者作出相關(guān)研究,其中文獻(xiàn)[7]提出對遲滯特征的非線性分析,并提出對應(yīng)的補(bǔ)償方法,該方法實(shí)現(xiàn)了降低遲滯的目的,但遲滯仍然存在;文獻(xiàn)[8]提出基于Duhem前饋的遲滯逆補(bǔ)償方法,實(shí)現(xiàn)了對遲滯問題的有效解決,但其需要對設(shè)備運(yùn)行前期的遲滯信息進(jìn)行采集,因此,存在固定時(shí)段的無效操作,對資源造成浪費(fèi),成本較高.因此,繼續(xù)加強(qiáng)對遲滯問題的研究是十分必要的.
基于此,實(shí)驗(yàn)提出基于SLAM算法的雙柔性桿機(jī)器人遲滯補(bǔ)償方法.在分析引起遲滯原因的基礎(chǔ)上,通過SLAM算法計(jì)算遲滯大小,以此進(jìn)行有針對性的定量補(bǔ)償,并通過試驗(yàn)驗(yàn)證了所提方法的有效性,為機(jī)器人的控制和高質(zhì)量利用提供有價(jià)值的參考.
為了實(shí)現(xiàn)對雙柔性桿機(jī)器人的遲滯進(jìn)行準(zhǔn)確補(bǔ)償,首先要明確機(jī)器人遲滯的變化情況[9],以此為基礎(chǔ),有針對性地對其進(jìn)行補(bǔ)償.因此,實(shí)驗(yàn)采用SLAM算法對機(jī)器人的遲滯非線性屬性進(jìn)行分析.
在雙柔性桿機(jī)器人的運(yùn)行空間內(nèi),其運(yùn)動(dòng)軌跡與動(dòng)作都是通過執(zhí)行控制端輸入指令實(shí)現(xiàn)的[10].機(jī)器人在已知地圖的環(huán)境中運(yùn)行時(shí),機(jī)器人可以通過觀測位置已知的特征標(biāo)志對里程計(jì)的誤差進(jìn)行補(bǔ)償,每一次觀測使機(jī)器人的位置誤差趨向于觀測誤差與特征標(biāo)志的位置誤差之和.因此在命令輸出過程中,對于機(jī)器人運(yùn)行范圍內(nèi)的空間環(huán)境進(jìn)行分析,是有效降低和避免機(jī)器人運(yùn)動(dòng)出現(xiàn)異常的基礎(chǔ)[11].首先,采用SLAM算法對機(jī)器人的運(yùn)動(dòng)軌跡進(jìn)行建模[12].
在運(yùn)動(dòng)空間,機(jī)器人在極線運(yùn)動(dòng)狀態(tài)下的極線運(yùn)動(dòng)軌跡可以表示為
(1)
(2)
以此為基礎(chǔ),采用SLAM算法對機(jī)器人運(yùn)行軌跡進(jìn)行建模.將機(jī)器人運(yùn)動(dòng)過程中經(jīng)過的位置作為SLAM算法的算子,則在t+1時(shí)刻,機(jī)器人所在運(yùn)行軌跡的極線線性方程中,對應(yīng)的向量分別為(ai,bi,ci),那么在t至t+1時(shí)間內(nèi),SLAM算子組成的位置方程可以表示為
l=aixi+biyi+ci
(3)
由此可得,在整個(gè)運(yùn)動(dòng)過程中,SLAM算子的集合即為機(jī)器人的運(yùn)動(dòng)軌跡,那么其運(yùn)動(dòng)軌跡模型可以表示為
(4)
通過SLAM算子計(jì)算出了機(jī)器人運(yùn)行軌跡的模型,在模型中,對機(jī)器人出現(xiàn)的遲滯進(jìn)行分析,并將分析結(jié)果作為遲滯補(bǔ)償?shù)囊罁?jù)[13].
根據(jù)上述模型可以得出,在t至t+1時(shí)間內(nèi),機(jī)器人運(yùn)行的距離可表示為
(5)
在該距離內(nèi),將SLAM算子的位置信息進(jìn)行劃分[14].首先定義一個(gè)總遲滯函數(shù),通過將SLAM算子進(jìn)行下降處理[15],以引起遲滯的運(yùn)動(dòng)軌跡邊界類型為基礎(chǔ),計(jì)算機(jī)器人在d距離內(nèi)運(yùn)動(dòng)的遲滯.
根據(jù)兩個(gè)相鄰SLAM算子的參數(shù)關(guān)系,可以將引起遲滯的邊界可分為遮擋、鉸鏈、共軌跡三部分[16],假設(shè)三者對應(yīng)的懲罰系數(shù)分別為Hz、Hj、Hg,以此為基礎(chǔ),得到遲滯函數(shù)為
(6)
由此可以得出在不同邊界條件下,機(jī)器人在運(yùn)行過程中產(chǎn)生的遲滯,根據(jù)該結(jié)果,對其進(jìn)行有針對性的遲滯補(bǔ)償.
在得出雙柔性桿機(jī)器人運(yùn)動(dòng)狀態(tài)下的遲滯后,對其進(jìn)行遲滯補(bǔ)償.實(shí)驗(yàn)采用AP(Adaptive Projection,自適應(yīng)投影)的方式,在基于SLAM算法構(gòu)建的機(jī)器人運(yùn)動(dòng)軌跡模型中對遲滯補(bǔ)償量進(jìn)行計(jì)算,并將計(jì)算結(jié)果以增益的方式實(shí)現(xiàn)對機(jī)器人的遲滯補(bǔ)償.
首先,采用AP算法對SLAM算子在遲滯中的權(quán)重進(jìn)行計(jì)算,其可表示為
(7)
其中,ω(t)表示在t時(shí)刻的SLAM算子的權(quán)重,λ表示自適應(yīng)數(shù),κ表示增益系數(shù),其可根據(jù)機(jī)器人的實(shí)際運(yùn)行情況進(jìn)行調(diào)整,調(diào)整范圍為[0,1),e(*)表示t時(shí)刻,機(jī)器人運(yùn)動(dòng)出現(xiàn)的遲滯.
在機(jī)器人完成系統(tǒng)輸入指令的過程中,由于其運(yùn)動(dòng)軌跡是非線性的,因此增益系數(shù)也是時(shí)刻變化的.當(dāng)機(jī)器人產(chǎn)生的遲滯明顯時(shí),需要適當(dāng)減小增益系數(shù),以此避免出現(xiàn)遲滯補(bǔ)償過量.
在對增益進(jìn)行調(diào)節(jié)時(shí),以SLAM算子的實(shí)際位置信息與模型中位置信息之間的差異作為判斷依據(jù)的,并在二者之間建立了線性相關(guān)關(guān)系.其可表示為
κ=ke(t)
(8)
其中,k表示相關(guān)系數(shù),其與機(jī)器人的控制系統(tǒng)相關(guān).同樣地,當(dāng)增益系數(shù)為最大值,遲滯補(bǔ)償?shù)淖饔萌詿o法實(shí)現(xiàn)對機(jī)器人運(yùn)動(dòng)軌跡控制的目標(biāo)時(shí),以最大值作為增益輸出值;當(dāng)增益系數(shù)為最小值,遲滯補(bǔ)償仍超出對機(jī)器人運(yùn)動(dòng)軌跡控制所需強(qiáng)度時(shí),以最小值作為增益輸出值.
通過這樣的方式,在模型中實(shí)現(xiàn)對增益取值結(jié)果合理性驗(yàn)證,由于機(jī)器人的運(yùn)行是動(dòng)態(tài)的,因此在增益作用下,當(dāng)SLAM算子的位置信息與模型一致時(shí),則認(rèn)為該增益可以實(shí)現(xiàn)雙柔性桿機(jī)器人遲滯補(bǔ)償,此時(shí)機(jī)器人完成指令任務(wù)的時(shí)延也為最小值;若在增益作用下,SLAM算子的位置信息與模型存在差異,則表明遲滯出現(xiàn)了相對變化,此時(shí)需要對增益值進(jìn)行調(diào)整,通過自適應(yīng)投影的方式計(jì)算出新的增益值,重新進(jìn)行驗(yàn)證,直至滿足要求.
為了測試提出的機(jī)器人遲滯補(bǔ)償方法的實(shí)際應(yīng)用效果,文章進(jìn)行了試驗(yàn)測試,同時(shí),為了使測試結(jié)果具有更高的可靠性,分別采用文獻(xiàn)[7]和文獻(xiàn)[8]提出的補(bǔ)償方法同時(shí)進(jìn)行試驗(yàn),通過對比不同補(bǔ)償方法下機(jī)器人的運(yùn)行情況,對提出方法的有效性進(jìn)行客觀評價(jià).
試驗(yàn)選用某汽車配件制造廠的雙柔性桿機(jī)器人作為試驗(yàn)對象,其操作精度為0.1 mm,機(jī)械臂的最高移動(dòng)速度為1.2 m/s,運(yùn)行范圍為3 m×2 m×5 m.工作過程中,雙臂同時(shí)進(jìn)行操作,其編號分別為1、2.機(jī)械臂由同一臺主機(jī)控制,操作系統(tǒng)為Windows 8,運(yùn)行內(nèi)存為4G.在試驗(yàn)過程中,分別設(shè)計(jì)了10個(gè)不同的操作動(dòng)作,對應(yīng)編號為1—10,每個(gè)編號指令均測試10次,取平均值.通過不同的遲滯補(bǔ)償方法,對機(jī)器人的動(dòng)作執(zhí)行進(jìn)行控制,并觀察不同方法下機(jī)器人的運(yùn)動(dòng)情況.
在上述試驗(yàn)環(huán)境下,分別采用3種方法對其進(jìn)行遲滯補(bǔ)償,并對比不同補(bǔ)償方式下機(jī)器人的運(yùn)行情況,圖1分別對比了機(jī)器人雙臂運(yùn)動(dòng)時(shí)延的差異情況.
圖1 不同補(bǔ)償方法下機(jī)器人雙臂的時(shí)延差異
從圖1中可以看出,在3種補(bǔ)償方法中,文獻(xiàn)[7]方法下機(jī)器人雙臂的最小時(shí)延差異為0,最大時(shí)延差異為0.02 ms,文獻(xiàn)[8]方法下機(jī)器人雙臂的最小時(shí)延差異同樣為0,最大時(shí)延差異為0.04 ms,而采用本方法的機(jī)器人雙臂時(shí)延差異為0的概率為70%,其余時(shí)延也僅為0.01 ms,表明SLAM算法的遲滯補(bǔ)償方法可以有效提高機(jī)器人雙臂執(zhí)行指令的同步程度,為加工質(zhì)量提供保障.這主要是因?yàn)樵摲椒ń档土藱C(jī)器人運(yùn)行過程中的遲滯,減少了由此帶來的時(shí)間開銷,縮短了完成指令動(dòng)作的時(shí)延.
在此基礎(chǔ)上,對機(jī)器人雙臂的運(yùn)動(dòng)精度進(jìn)行比較,表1為不同補(bǔ)償方法下機(jī)器人雙臂的運(yùn)動(dòng)誤差情況.
表1 不同補(bǔ)償方法下機(jī)器人雙臂的運(yùn)動(dòng)誤差
從表1中可以看出,在3種遲滯補(bǔ)償方法中,文獻(xiàn)[7]方法下機(jī)器人雙臂的運(yùn)動(dòng)誤差基本穩(wěn)定在0.1~0.2 mm范圍內(nèi),文獻(xiàn)[8]方法的時(shí)延變化范圍較大,最高值可達(dá)到0.27 ms,但最小誤差低至0.09 mm,穩(wěn)定性較低,而SLAM算法的誤差始終穩(wěn)定在0.1 mm以內(nèi),且最小值僅為0.05 mm,表明該方法可以有效實(shí)現(xiàn)對機(jī)器人遲滯的補(bǔ)償,降低其對接收到指令的執(zhí)行精度.主要是因?yàn)镾LAM算法實(shí)現(xiàn)了對遲滯的準(zhǔn)確計(jì)算,提高了遲滯補(bǔ)償?shù)哪繕?biāo)精度,使補(bǔ)償結(jié)果更加精準(zhǔn),以此提高了機(jī)器人運(yùn)行的精度.
在上述基礎(chǔ)上,文章對3種補(bǔ)償方法下,機(jī)器人執(zhí)行指令的結(jié)果與指令的一致性進(jìn)行對比,其結(jié)果如圖2所示.從圖2中可以看出,在3種補(bǔ)償方法中,文獻(xiàn)[7]方法的指令完成率基本在96%~98%之間,波動(dòng)范圍相對較小,但執(zhí)行結(jié)果存在一定的提升空間;文獻(xiàn)[8]方法的完成率波動(dòng)幅度較大,最高可達(dá)99.26%,但最低僅為95.17%,對產(chǎn)品質(zhì)量的影響較為明顯,這也和機(jī)器人雙臂的時(shí)延差異較大有一定關(guān)系;而SLAM算法的完成率始終在99%以上,具有較高的執(zhí)行率,可實(shí)現(xiàn)對指令的高精度執(zhí)行,因此,產(chǎn)品質(zhì)量也可以實(shí)現(xiàn)有效保障.這主要是因?yàn)镾LAM算法實(shí)現(xiàn)了對機(jī)器人遲滯的有效補(bǔ)償,通過在模型中對補(bǔ)償結(jié)果進(jìn)行驗(yàn)證,避免了由于機(jī)器人的動(dòng)態(tài)變化引起的補(bǔ)償效果不理想的問題,以此提高了機(jī)器人運(yùn)行的精度,使其能夠更加準(zhǔn)確地執(zhí)行接收到的指令信息.
圖2 不同補(bǔ)償方法下機(jī)器人的指令完成情況
隨著現(xiàn)代技術(shù)的不斷發(fā)展,工業(yè)領(lǐng)域的智能化程度也不斷加深,機(jī)器人取代人工已經(jīng)成為主流趨勢.與此同時(shí),提高機(jī)器人的應(yīng)用性能是確保生產(chǎn)各個(gè)環(huán)節(jié)穩(wěn)定運(yùn)行的基礎(chǔ),也是產(chǎn)品質(zhì)量的重要的保障.文章提出基于SLAM算法的雙柔性桿機(jī)器人遲滯補(bǔ)償方法,通過對引起機(jī)器人遲滯的問題進(jìn)行分析,有針對性地進(jìn)行補(bǔ)充,實(shí)現(xiàn)了降低機(jī)器人運(yùn)行時(shí)延,提高反應(yīng)速率的目的,并在一定程度上降低了由于輸入端與反饋端時(shí)間差引起的產(chǎn)品質(zhì)量問題,對于機(jī)器人的控制以及企業(yè)的實(shí)際生產(chǎn)都具有十分重要的現(xiàn)實(shí)意義.通過該研究,可以為機(jī)器人領(lǐng)域的研究提供有價(jià)值的參考.