王鳳華, 史英明*, 萬(wàn) 媛
(1.唐山工業(yè)職業(yè)技術(shù)學(xué)院,唐山 063299;2.河北工業(yè)大學(xué)材料科學(xué)與工程學(xué)院,天津 300401)
機(jī)器人已經(jīng)廣泛被應(yīng)用于工業(yè)、醫(yī)療及康復(fù)領(lǐng)域。由于工作環(huán)境的復(fù)雜和工作任務(wù)的多樣化,人機(jī)安全性逐漸成為熱點(diǎn)話題。將串聯(lián)彈性驅(qū)動(dòng)器(series elastic actuator, SEA) 應(yīng)用于機(jī)械臂,可實(shí)現(xiàn)機(jī)械臂柔順化動(dòng)作、自調(diào)整接觸、防碰撞等仿人性要求,降低發(fā)生意外時(shí)對(duì)機(jī)械臂本體和環(huán)境的二次傷害。串聯(lián)彈性驅(qū)動(dòng)器是一種具有仿生功能、可實(shí)現(xiàn)柔性控制的彈性驅(qū)動(dòng)力輸出設(shè)備,可以實(shí)現(xiàn)對(duì)相應(yīng)的關(guān)節(jié)進(jìn)行主動(dòng)柔順控制功能,因此受到廣泛關(guān)注[1-7]。Wyeth[6]建立的SEA速度控制系統(tǒng)忽略彈簧阻尼,將彈簧簡(jiǎn)化為純剛度模型,建立了SEA速度源模型。意大利理工學(xué)院的Tsagarakis等[7]建立的SEA阻抗控制模型通過(guò)速度控制器調(diào)控電機(jī)的速度輸出,進(jìn)而控制SEA彈性單元在確定負(fù)載下的彈性變形,以達(dá)到期望的輸出阻抗。此外,也有學(xué)者利用導(dǎo)納原理[8]、遺傳算法[9]和接觸控制[10]等控制方法針對(duì)SEA在不同應(yīng)用環(huán)境中的控制需求,進(jìn)行了相關(guān)的研究工作?;诖耍槍?duì)ABB IRB14000雙臂機(jī)器人串聯(lián)彈性驅(qū)動(dòng)器提出了基于力/位置混合的驅(qū)動(dòng)控制方法,使得機(jī)器人在到達(dá)指定位置的同時(shí),能夠同時(shí)實(shí)現(xiàn)機(jī)器人示教功能。
機(jī)器人零力控制指的是當(dāng)機(jī)器人受到外部力作用后,由外力控制機(jī)器人運(yùn)動(dòng),使機(jī)器人關(guān)節(jié)處于等效失重的狀態(tài),運(yùn)動(dòng)速度隨外力的變化而變化,也叫順應(yīng)性跟蹤控制。零力控制是直接示教控制方案的關(guān)鍵技術(shù)。示教作為人機(jī)協(xié)作的主要方式之一,能夠更加直觀的操作,降低工人水平要求,節(jié)約程序開(kāi)發(fā)時(shí)間,提高生產(chǎn)率。因此在機(jī)械臂控制過(guò)程中,實(shí)現(xiàn)零力控制對(duì)實(shí)現(xiàn)人機(jī)協(xié)作以及提高公司效益具有重要意義[11-14]。零力控制大體上可分為兩類[15-16],一類是以機(jī)器人位置/速度算法為核心的零力控制技術(shù),機(jī)器人工作在位置/速度控制模式下,控制器是將外部力的大小和方向通過(guò)位置/速度算法轉(zhuǎn)變?yōu)橄鄳?yīng)的位置/速度指令,控制機(jī)器人實(shí)現(xiàn)順應(yīng)跟蹤運(yùn)動(dòng),而外部力通常是由力矩傳感器獲取;另一類是以機(jī)器人關(guān)節(jié)力矩作為核心的零力控制技術(shù),機(jī)器人工作在力矩控制模式下,控制器估算機(jī)器人所受重力和摩擦力的大小后直接輸出相應(yīng)大小的力矩值,就可以使機(jī)器人克服自身慣性力,跟隨外部力而運(yùn)動(dòng)?,F(xiàn)采用基于位置/速度控制的零力控制技術(shù),其控制原理如圖1所示。
圖1 控制原理圖
圖3 零力控制SIMULINK程序圖
由于機(jī)器人的SEA關(guān)節(jié)為水平放置,因此將不需考慮重力的影響,同時(shí)為了能更直觀的觀察SEA 性能,忽略摩擦力的影響,僅以SEA的檢測(cè)力矩作為觀察對(duì)象。而SEA的測(cè)力原理是依靠分體式旋轉(zhuǎn)編碼器對(duì)輪輻和外輪的角度差的測(cè)量來(lái)間接實(shí)現(xiàn)對(duì)力矩的測(cè)量,因此其檢測(cè)的力矩即是外輪和輪輻的轉(zhuǎn)角差。因此,基于SEA關(guān)節(jié)的零力控制流程圖如圖2所示。
圖2 零力控制流程圖
零力控制過(guò)程為:當(dāng)外力拖動(dòng)機(jī)械臂運(yùn)動(dòng)時(shí),機(jī)械臂帶動(dòng)SEA輪輻轉(zhuǎn)動(dòng),輪輻壓縮彈簧并通過(guò)編碼器測(cè)量彈簧的壓縮量和拖動(dòng)力矩,編碼器測(cè)量的輪輻與外輪的轉(zhuǎn)角差傳遞給控制器,控制器根據(jù)編碼器反饋值控制伺服電機(jī)轉(zhuǎn)動(dòng),實(shí)現(xiàn)對(duì)拖動(dòng)力的順應(yīng)性運(yùn)動(dòng)。
在仿真環(huán)境中搭建SEA關(guān)節(jié)的零力控制系統(tǒng)圖,如圖3所示,仿真結(jié)果如圖4和圖5所示。其中圖4中的拖動(dòng)力為階躍力的仿真曲線,圖5中的拖動(dòng)力為正弦力仿真曲線。
通過(guò)對(duì)圖4階躍響應(yīng)仿真曲線分析可知,SEA 關(guān)節(jié)在受到1 N·m的外力拖動(dòng)后,由于彈簧的存在,力矩響應(yīng)的初始階段會(huì)出現(xiàn)波動(dòng),測(cè)量的力矩值最大會(huì)達(dá)到0.14 N·m,但是,隨著關(guān)節(jié)的轉(zhuǎn)動(dòng),力矩值會(huì)迅速減小,最終穩(wěn)定在0.007 N·m,如圖4(a)所示;通過(guò)對(duì)角度曲線圖4(b)和速度曲線圖4(c)分析可知,關(guān)節(jié)在初始受力拖動(dòng)后,速度快速增加達(dá)到穩(wěn)定速度,而關(guān)節(jié)的轉(zhuǎn)角則勻速增加,另外,由于彈簧的作用,在速度初始階段,輪輻速度稍大于外輪速度,但最終速度會(huì)達(dá)到一致,而輪輻的轉(zhuǎn)角則因?yàn)閺椈傻膲嚎s稍大于外輪轉(zhuǎn)角。通過(guò)圖5正弦響應(yīng)曲線圖可知,在峰值力矩為1 N·m,周期為10 s 的正弦外力拖動(dòng)下,測(cè)量力矩的峰值為0.014 N·m,并隨著正弦拖動(dòng)力周期性變化。
圖4 零力控制階躍響應(yīng)曲線圖
圖5 零力控制正弦響應(yīng)曲線圖
比例-積分-微分(proportion integration differentiation, PID)控制器是將系統(tǒng)誤差經(jīng)過(guò)比例(P)、積分(I)、微分(D)后計(jì)算出控制量,再輸入到控制對(duì)象的一種控制方法。它以其結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性好、工作可靠、調(diào)整方便而成為工業(yè)控制領(lǐng)域主要控制技術(shù)之一[17-19]。其控制原理圖如圖6所示。圖6中,r(t)是期望輸入,y(t)是被控對(duì)象的實(shí)際輸出,e(t)是期望輸入與實(shí)際輸出的誤差,u(t)是PID控制器的輸出,其值是經(jīng)過(guò)比例、積分、微分運(yùn)算結(jié)果的和,PID 控制算法的數(shù)學(xué)表達(dá)式如式(1)所示。
圖6 PID控制原理圖
(1)
式(1)中:Kp、Ki、Kd分別是比例、積分、微分環(huán)節(jié)的參數(shù)。分別調(diào)整PID控制環(huán)節(jié)的三個(gè)參數(shù),對(duì)系統(tǒng)的上升時(shí)間、超調(diào)量、調(diào)節(jié)時(shí)間及態(tài)誤差等系統(tǒng)參數(shù)會(huì)產(chǎn)生不同的影響效果。
將PID控制算法應(yīng)用于SEA關(guān)節(jié),其控制原理圖如圖7所示,采用包括速度環(huán)和位置環(huán)的雙閉環(huán)控制系統(tǒng),位置環(huán)用于SEA 關(guān)節(jié)的位置控制,速度環(huán)則用于SEA關(guān)節(jié)的速度調(diào)節(jié)。由于在SEA的彈性單元中包含彈簧,因此,如果僅采用位置環(huán),在對(duì)SEA關(guān)節(jié)進(jìn)行位置控制時(shí),必然會(huì)導(dǎo)致SEA關(guān)節(jié)的抖動(dòng),無(wú)速度環(huán)調(diào)控的系統(tǒng)響應(yīng)曲線如圖8所示。
圖7 SEA關(guān)節(jié)PID位置控制原理圖
圖8 無(wú)速度環(huán)的仿真曲線圖
通過(guò)圖8(a)位置曲線圖可以看出沒(méi)有引入速度環(huán)調(diào)控時(shí),輪輻的位置曲線初始階段會(huì)有輕微的波動(dòng),但最后輪輻和外輪的位置曲線會(huì)逐漸重合,然后以相同的速度達(dá)到期望位置;從8(b)的速度曲線圖可以看出,由于彈性單元的存在,輪輻的速度在初始階段會(huì)有很大的抖動(dòng),然后逐漸衰減到穩(wěn)定值,而外輪則在給定的速度下穩(wěn)定運(yùn)行,最終輪輻和外輪會(huì)以相同的速度運(yùn)行。
為避免因彈性單元存在關(guān)節(jié)抖動(dòng),SEA關(guān)節(jié)位置控制采用雙閉環(huán)PID 控制,其控制系統(tǒng)如圖9所示,通過(guò)速度環(huán)來(lái)調(diào)控SEA關(guān)節(jié)的速度抖動(dòng),使機(jī)械臂能夠以平滑穩(wěn)定的速度運(yùn)行,其仿真結(jié)果如圖10所示。
圖9 SEA關(guān)節(jié)的虛擬樣機(jī)控制系統(tǒng)圖
圖10 位置控制仿真曲線圖
通過(guò)圖10雙閉環(huán)控制系統(tǒng)的仿真曲線可以看出,增加速度環(huán)控制后,SEA關(guān)節(jié)仍能達(dá)到期望位置,而其速度曲線在初始階段,外輪速度和輪輻速度都存在一定的波動(dòng),但會(huì)迅速衰減,調(diào)節(jié)時(shí)間減少,然后以相同的速度運(yùn)行,達(dá)到了抑制關(guān)節(jié)抖動(dòng)的目的。
SEA關(guān)節(jié)控制實(shí)驗(yàn)平臺(tái)包括:上位機(jī)(PC機(jī)),負(fù)責(zé)控制程序的編寫;單片機(jī)作為下位機(jī)控制器,一方面接收SEA編碼器的信號(hào),另一方面則控制SEA進(jìn)行期望運(yùn)動(dòng);電氣控制柜是SEA關(guān)節(jié)的供電系統(tǒng)。
SEA關(guān)節(jié)力跟蹤實(shí)驗(yàn)是為了驗(yàn)證其響應(yīng)速度和響應(yīng)的連續(xù)性,在特定的輸入信號(hào)下,觀察SEA關(guān)節(jié)的力輸出信號(hào)。本實(shí)驗(yàn)控制系統(tǒng)采用SEA速度源模型,當(dāng)SEA關(guān)節(jié)末端固定時(shí),以階躍信號(hào)作為系統(tǒng)輸入,采集SEA關(guān)節(jié)的力輸出信號(hào),實(shí)驗(yàn)結(jié)果如圖11所示。
圖11 SEA力跟蹤實(shí)驗(yàn)圖
通過(guò)實(shí)驗(yàn)結(jié)果分析可知:SEA關(guān)節(jié)對(duì)階躍信號(hào)的跟蹤比較理想,響應(yīng)速度快,上升時(shí)間為0.1 s,調(diào)節(jié)時(shí)間為0.25 s,超調(diào)量為10%,穩(wěn)態(tài)誤差在5%左右,但響應(yīng)曲線在穩(wěn)定階段存在輕微的波動(dòng),另外由于SEA關(guān)節(jié)的測(cè)量力矩的精度比較低,響應(yīng)曲線并不是平滑的曲線,而是階梯狀的形式。
SEA關(guān)節(jié)零力控制實(shí)驗(yàn)如圖12所示,以外部拖動(dòng)力作為輸入,單片機(jī)采集SEA 編碼器的反饋信號(hào),轉(zhuǎn)化為力矩值,通過(guò)控制器中力-速度算法計(jì)算出相應(yīng)的速度信號(hào),控制電機(jī)跟隨拖動(dòng)力運(yùn)動(dòng),使得關(guān)節(jié)力矩接近于零。實(shí)驗(yàn)過(guò)程中關(guān)節(jié)力矩值如圖13所示,電機(jī)速度值如圖14所示。
圖12 零力控制實(shí)驗(yàn)
圖13 零力控制關(guān)節(jié)力矩值
圖14 SEA關(guān)節(jié)速度值
通過(guò)對(duì)實(shí)驗(yàn)過(guò)程分析可知,當(dāng)通過(guò)外力拖動(dòng)SEA關(guān)節(jié)時(shí), 控制器可以通過(guò)關(guān)節(jié)力矩的反饋值控制電機(jī)運(yùn)行, 并且關(guān)節(jié)速度隨著力矩的變化而變化。通過(guò)圖15所示的關(guān)節(jié)力矩圖可以看出,在拖動(dòng)過(guò)程中關(guān)節(jié)力矩值在0.05~0.1 N·m波動(dòng),當(dāng)關(guān)節(jié)力矩值等于零時(shí),關(guān)節(jié)立即停止運(yùn)行。力矩值在0.05~0.1 N·m波動(dòng)的原因一方面由于本文所設(shè)計(jì)的SEA采用的分體式旋轉(zhuǎn)編碼器為1024線,轉(zhuǎn)換為力矩測(cè)量精度為0.048 N·m,關(guān)節(jié)力矩值在0.05~0.1 N·m波動(dòng),說(shuō)明控制系統(tǒng)靈敏度較高,只要接收到關(guān)節(jié)力矩值能立即控制SEA運(yùn)行。
另一方面由于在拖動(dòng)過(guò)程中,關(guān)節(jié)力矩反饋值減小會(huì)導(dǎo)致關(guān)節(jié)控制速度較小,由于拖動(dòng)力不變,關(guān)節(jié)速度的減小又會(huì)導(dǎo)致關(guān)節(jié)力矩值的增大,因此導(dǎo)致力矩值的上下波動(dòng)。此外,由于拖動(dòng)力不穩(wěn)定,因此會(huì)出現(xiàn)力矩值的突變。通過(guò)圖13和圖14的對(duì)比可以看出,電機(jī)速度隨著關(guān)節(jié)力矩值的增大而增大,當(dāng)關(guān)節(jié)力矩值為零時(shí),能立即停止運(yùn)行。
在SEA關(guān)節(jié)控制系統(tǒng)設(shè)計(jì)中,從SEA在機(jī)械臂中的實(shí)際應(yīng)用出發(fā),針對(duì)SEA自身柔順的特點(diǎn),完成了SEA單關(guān)節(jié)機(jī)械臂零力控制系統(tǒng)和PID位置控制系統(tǒng)的設(shè)計(jì)并通過(guò)仿真實(shí)驗(yàn),得出以下結(jié)論。
(1)控制系統(tǒng)能夠很好的提高機(jī)器人示教及控制水平。
(2)通過(guò)SEA力跟蹤實(shí)驗(yàn)及基于SEA的零力控制實(shí)驗(yàn),算法能夠提高控制的可靠性和平穩(wěn)性。