夏洪永
(重慶化工職業(yè)學(xué)院機(jī)械與自動化工程學(xué)院,重慶 401228)
近年來,隨著機(jī)器人研發(fā)技術(shù)的普及與進(jìn)步,機(jī)器人的發(fā)展勢頭十分迅猛。機(jī)器人技術(shù)涉及眾多學(xué)科,如傳感器科學(xué)、仿生學(xué)、機(jī)械學(xué)、電子學(xué)、材料學(xué)等,并且在軍事領(lǐng)域、地震救災(zāi)、日常生活等眾多公共領(lǐng)域占據(jù)重要地位,發(fā)展前景非常好,日益受到眾多學(xué)者的青睞[1]。機(jī)器人在危險性大、環(huán)境較惡劣的情況下和無法預(yù)測的災(zāi)難面前,代替人類進(jìn)行工作,可以提高救援效率、減少傷亡。機(jī)器人的行走方式有很多種,目前較為典型的有3類:輪式機(jī)器人、履帶式機(jī)器人、足式機(jī)器人[2]。無論是哪類機(jī)器人,在行動方面都有各自的缺點(diǎn),如足式機(jī)器人能耗較大、靈活性及避障能力差[3-4];履帶式機(jī)器人容易受到運(yùn)行環(huán)境的影響,在落差較大的地面上無法前進(jìn);輪式機(jī)器人在砂石、廢墟、巖石等地形中極易受困。對此,以此3類機(jī)器人為基礎(chǔ),添加自主移動功能,使機(jī)器人在遇到障礙時能夠自主移動,在降低人工操作費(fèi)用的同時還能提高機(jī)器人在不同環(huán)境下運(yùn)行時的流暢性。不僅如此,還能自主判斷是否繼續(xù)行走,是否需要轉(zhuǎn)彎等,提高了對機(jī)器人運(yùn)動性能的控制能力[5]。傳統(tǒng)機(jī)器人控制方法主要以單片機(jī)加藍(lán)牙為主,其以Arduino mega 2560和Torobot藍(lán)牙模塊作為硬件基礎(chǔ),利用Arduino IDE編程語言編寫六足機(jī)器人運(yùn)動控制程序,通過Bluetooth.spp軟件發(fā)送控制指令并返回命令狀態(tài),從而實(shí)現(xiàn)對機(jī)器人運(yùn)動的控制[6]。但是這種方式存在控制耗時長、轉(zhuǎn)彎動作受到限制的問題。為解決上述問題,本文采用基于多項(xiàng)插補(bǔ)優(yōu)化的自主移動式機(jī)器人運(yùn)動的自動控制技術(shù)。
在機(jī)器人運(yùn)動過程中,其動力學(xué)情況直接影響機(jī)器人的運(yùn)行速度、精度及效率,本文通過對機(jī)器人控制系統(tǒng)進(jìn)行線性分析,構(gòu)建機(jī)器人運(yùn)動控制動力學(xué)模型,實(shí)現(xiàn)對機(jī)器人運(yùn)動控制動力學(xué)方面的分析。
本文以自主移動式機(jī)器人作為傳統(tǒng)機(jī)器人的優(yōu)化模式,在其移動控制方面進(jìn)行優(yōu)化設(shè)計(jì)[7-8]。由于自主移動式機(jī)器人結(jié)構(gòu)復(fù)雜,具有多個自由度,因此對其進(jìn)行運(yùn)動控制時需要對其動力學(xué)方程進(jìn)行分析、求解,建立機(jī)器人運(yùn)動控制動力學(xué)模型,從而為其運(yùn)動路線和姿態(tài)的控制提供基礎(chǔ)依據(jù)。
機(jī)器人的動力學(xué)方程為:
(1)
為了防止不確定性對機(jī)器人的運(yùn)動產(chǎn)生干擾,通過加入適合的狀態(tài)空間方程[9]得到自主移動式機(jī)器人的動力學(xué)公式。
(2)
為輪軸的反作用力。因?yàn)檫\(yùn)行過程中機(jī)器人的向心力矢量及摩擦矢量模式復(fù)雜[10],不易計(jì)算,需將動力學(xué)公式簡化為:
(3)
其中A21和A22的選擇直接影響As的穩(wěn)定性。
由式(2)、(3)得到自主移動式機(jī)器人運(yùn)動定義控制力矩為:
(4)
(5)
對機(jī)器人控制系統(tǒng)進(jìn)行線性歸一化處理,可有效優(yōu)化機(jī)器人運(yùn)動性能,減少干擾誤差,提高自主移動式機(jī)器人運(yùn)動穩(wěn)定性。
在對機(jī)器人運(yùn)動控制進(jìn)行研究時,其動力學(xué)模型是運(yùn)動控制的重點(diǎn),而動力學(xué)模型卻易受到非完整約束的影響,從而對控制參數(shù)產(chǎn)生影響。本文采用機(jī)器人的動力學(xué)模型,其控制過程中輸入值設(shè)置為廣義力而不是速度[12]。因此,機(jī)器人的運(yùn)動學(xué)模型不能用于研究非完整約束的運(yùn)動與力、力矩之間的關(guān)系。
對于一般的機(jī)器人動力學(xué)模型可以由如下的Euler-Lagrange方程描述:
(6)
式中:q=[q1,q2,…,qn]T,為機(jī)器人控制系統(tǒng)的n維廣義坐標(biāo);L是Lagrange函數(shù),為動能與勢能之差;E(q)為n×m維輸入變換矩陣;λ為Lagrange乘子;A(q)為約束矩陣;乘積AT(q)λ為約束力矢量。經(jīng)過Euler-Lagrange方程分析,構(gòu)建自主移動式機(jī)器人的動力學(xué)模型為:
(7)
對運(yùn)動學(xué)模型兩邊微分[13],減少對機(jī)器人運(yùn)動控制的干擾,得到動力學(xué)模型:
(8)
然后兩邊同時乘以ST(q),為降低控制耗能設(shè)置STATλ=0,消去Lagrange乘子λ,并整理,得最終機(jī)器人運(yùn)動控制動力學(xué)模型為:
(9)
式中:S為(i+1)插補(bǔ)時刻的總控制量;M為滾動阻力;V為驅(qū)動力;E為輪部滾動阻力系數(shù)。
綜上所述,通過對機(jī)器人控制系統(tǒng)進(jìn)行線性化分析,構(gòu)建機(jī)器人運(yùn)動控制動力學(xué)模型,可為優(yōu)化機(jī)器人運(yùn)動自動控制技術(shù)提供基礎(chǔ)依據(jù)。
在對原有的機(jī)器人運(yùn)動控制動力學(xué)模型進(jìn)行構(gòu)建的基礎(chǔ)上,以自主移動為目的,進(jìn)行路線及姿態(tài)的插補(bǔ)分析,從而優(yōu)化機(jī)器人運(yùn)動自動控制技術(shù)。
設(shè)需要插補(bǔ)的直線路段為PsPe,起始點(diǎn)為Ps(xs,ys,zs),終結(jié)點(diǎn)為Pe(xe,ye,ze)。通過控制運(yùn)行速度得到插補(bǔ)時刻(i+1)的總控制量S,設(shè)v為插補(bǔ)速度,a為加速度,進(jìn)行如下直線插補(bǔ)計(jì)算。
位移計(jì)算公式:
(10)
速度計(jì)算公式:
(11)
加速度計(jì)算公式:
(12)
式中:Kx,Ky,Kz分別為x,y,z方向的插補(bǔ)系數(shù)。由于插補(bǔ)總時間與插補(bǔ)周期無法產(chǎn)生整數(shù)倍的關(guān)系,最后一個插補(bǔ)點(diǎn)不是終點(diǎn)位置的可能較大[14],為了預(yù)防下一段插補(bǔ)路線精度低,將使用速度控制模式的終點(diǎn)數(shù)據(jù)當(dāng)作最后一個插補(bǔ)點(diǎn)。路線直線插補(bǔ)算法流程如圖1所示。
本文選擇和速度曲線同步的位姿插補(bǔ)方式。假設(shè)機(jī)器人運(yùn)行路徑總位移是L,經(jīng)由速度曲線算法計(jì)算得到下一插補(bǔ)路程是L1,起點(diǎn)為Ps(xs,ys,zs,as,bs,cs),終點(diǎn)為Pe(xe,ye,ze,ae,be,ce),下一 插補(bǔ)點(diǎn)為Pi(xi,yi,zi,ai,bi,ci)。位姿參數(shù)ai,bi,ci的計(jì)算公式如下:
圖1 直線插補(bǔ)流程圖
(13)
(14)
(15)
綜上所述,可得機(jī)器人姿態(tài)插補(bǔ)流程如圖2所示。自主移動式機(jī)器人在運(yùn)動進(jìn)程里會一直獲取地標(biāo)信息并對地標(biāo)信息進(jìn)行測試。測試完信息后,與程序里的地理位置信息進(jìn)行對比,依據(jù)對比信息對機(jī)器人位置進(jìn)行判斷,即是否需要進(jìn)行路線上地標(biāo)信息的調(diào)整,同時分辨是否需要轉(zhuǎn)彎,并上傳現(xiàn)有地理位置信息,開始判斷導(dǎo)引模式。其中Flag標(biāo)記用于判斷引導(dǎo)線是否需要對機(jī)器人進(jìn)行檢測,若Flag標(biāo)記位置為1,那么表示引導(dǎo)線已開始檢測,自主移動機(jī)器人進(jìn)入尋跡導(dǎo)引模式;反之,若Flag標(biāo)記位置為0,自主移動式機(jī)器人則進(jìn)入慣性器件導(dǎo)引模式。當(dāng)確定進(jìn)入慣性器件導(dǎo)引模式后, 繼續(xù)對引導(dǎo)線進(jìn)行判斷,若未進(jìn)入慣性器件導(dǎo)引模式,則對Flag標(biāo)記位進(jìn)行清零處理。
綜上可知,通過路線直線插補(bǔ)及姿態(tài)插補(bǔ),可提高機(jī)器人對于運(yùn)動路線及姿態(tài)的控制精度,實(shí)現(xiàn)機(jī)器人的自主移動,擴(kuò)大其使用范圍。
實(shí)驗(yàn)采用機(jī)器人的物理參數(shù)見表1。
表1 機(jī)器人物理參數(shù)
為了驗(yàn)證改進(jìn)方法在自主移動式機(jī)器人運(yùn)動控制方面的有效性,采用改進(jìn)方法與傳統(tǒng)控制方法對比的方式,以不同方向的運(yùn)動穩(wěn)定性為指標(biāo),進(jìn)行實(shí)驗(yàn)分析,結(jié)果如圖3所示。
圖3 機(jī)器人運(yùn)動控制穩(wěn)定性分析
圖中,X,Y,Z,F分別代表向前、向左、向右、向后移動的實(shí)際值,而T_X、T_Y、T_Z、T_F分別代表向前、向左、向右、向后移動的目標(biāo)值,下標(biāo)1為傳統(tǒng)方法結(jié)果,下標(biāo)2為改進(jìn)方法結(jié)果。從圖3可以看出,采用傳統(tǒng)方法控制的機(jī)器人在向前移動時,位置發(fā)生了震蕩,而向左移動時位置存在穩(wěn)態(tài)誤差,向右移動時位置發(fā)生震蕩,并且平均值偏離了目標(biāo)值。使用改進(jìn)控制方法可有效避免信號滯后引起的震蕩,增大了對微小偏差的響應(yīng),向左移動偏差略大于向前移動偏差的原因在于向左移動控制信號較小時,慣性器件不能提供足夠的推力,向右移動控制時易受到地面的影響,在向后移動方面存在一定波動,但整體上維持在目標(biāo)值附近。
本文提出的基于雙向插補(bǔ)分析的自主移動式機(jī)器人運(yùn)動自動控制技術(shù),在控制機(jī)器人運(yùn)行路線方面精度有所提高,且穩(wěn)定性較好,為機(jī)器人控制系統(tǒng)的設(shè)計(jì)提供了一定的技術(shù)支持。但由于本文中實(shí)驗(yàn)的局限性,運(yùn)行環(huán)境設(shè)置不夠完美,還需要在多個實(shí)驗(yàn)環(huán)境做進(jìn)一步驗(yàn)證。