劉妍萍
(西安工程大學,西安 710600)
輪式機器人在探索未知領(lǐng)域方面有很大的優(yōu)勢,其應用已從工業(yè)延伸到服務業(yè)、教育、國防等領(lǐng)域,輪式機器人在各個領(lǐng)域的應用已經(jīng)對人類社會的生產(chǎn)和生活產(chǎn)生了積極而深遠的影響。在輪式機器人的實際應用環(huán)境中,各種不確定性因素影響著控制系統(tǒng)的性能,甚至使控制系統(tǒng)不穩(wěn)定,降低了控制精度。車輪移動機器人是一個典型的非完整控制系統(tǒng),在考慮輪滑的運動模型時,不可避免地要考慮輪轂的滑移系數(shù),因為車輪一旦發(fā)生滑移,若在復雜情況下,理想運動學控制器不再適用,則使其跟蹤精度降低,使其軌跡偏離預期軌跡。為此,應對輪式機器人的運動誤差進行控制。
目前已有相關(guān)學者對輪式機器人運動誤差控制器進行設計研究。文獻[1]提出基于黎卡提微分方程的移動機器人運動誤差控制研究方法,構(gòu)建黎卡提微分方程,以此推導輪式機器人動力學方程。通過設計黎卡提微分控制器,推導機器人運動的相關(guān)狀態(tài),實現(xiàn)機器人運動控制的穩(wěn)定性;文獻[2]結(jié)合綜合位姿誤差控制方法,在機器人逆運動學模型基礎(chǔ)上,構(gòu)建誤差傳遞矩陣模型,根據(jù)求解結(jié)果,確定機器人姿態(tài),根據(jù)相關(guān)姿態(tài)數(shù)據(jù),控制機器人運動狀態(tài)。然而,這兩種方法受到不確定性因素干擾,使得控制效果不理想,為此,結(jié)合滑模變結(jié)構(gòu),設計了一種輪式機器人運動誤差控制器。
輪式機器人運動誤差控制系統(tǒng)硬件結(jié)構(gòu)是由基于TMS320F2812DSP、FB900C/E角度變送器、自校正角度變送器和陀螺組成的。該硬件結(jié)構(gòu)分為俯仰通道和傾斜通道兩個通道,除了進動速度快或慢之外,其他情況相同。該系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。
圖1 控制器硬件結(jié)構(gòu)示意圖
由圖1可知,陀螺儀是系統(tǒng)的控制對象,為系統(tǒng)提供電力;角度變送器由FB900C/E角度變送器實現(xiàn)角位移或線位移輸出,兩者共同組成系統(tǒng)的信號采集部分;采用TMS320F2812DSP作為控制系統(tǒng)控制器的電路板,用于控制整個系統(tǒng)各部分的工作狀態(tài)及各部件間的數(shù)據(jù)傳輸,并通過調(diào)整陀螺儀控制電壓,為系統(tǒng)各部分提供電平轉(zhuǎn)換。
雙框陀螺儀由兩個機架組成,分別為俯仰和傾斜機架,為交流力矩電機提供驅(qū)動力。扭矩電機可以接受的最大供電電壓為25 V的400 Hz交流電,通過改變電壓來控制電動機的速度,通過改變正負向功率來改變其方向。雙框式陀螺儀有3種控制方式,一是改變進動速度,二是改變陀螺儀框架的方向,三是改變的復位信號。采用自校正裝置,利用數(shù)模變換將陀螺儀兩通道進動角度位置轉(zhuǎn)換為比例交流信號,然后輸出。通過一個32孔插座,將陀螺儀自帶的內(nèi)部信號進行采集和處理。
圖2中顯示了改變陀螺儀速度的程序控制放大器。
圖2 程控放大器電路示意圖
由圖2可知,該程控增益放大器電路由數(shù)據(jù)鎖存器74LS373、4SPST模擬開關(guān)MAX313、運放0P07 和一個電阻網(wǎng)絡組成。其功能是將 DSP輸出的數(shù)字量轉(zhuǎn)換為模擬量,即幅度可調(diào)電壓。通過選擇電阻網(wǎng)絡電阻R1~F4和電阻RI的阻值,經(jīng)模擬開關(guān)4個通道的切換與組合,可得到15個不同的放大/衰減增益。此電路的輸入、輸出交流電壓幅值很小,可使信號在傳輸時保持電壓相位不變。該方法利用 DSP對給定的輸入值進行調(diào)節(jié),進而改變陀螺儀的進動速度。
反饋部分采用FB900C/E角變送器作為傳感器,其內(nèi)部采用自調(diào)節(jié)的陀螺儀作為檢測部件。利用對接收到的交流信號進行處理,可將陀螺儀兩個通道旋轉(zhuǎn)的角度轉(zhuǎn)換為角位移或線位移,并輸出模擬量或數(shù)字量。選取發(fā)送數(shù)位,即通過串口將陀螺儀的進動角以特定格式發(fā)送給DSP,由DSP程序從中提取進動角度值。角變送器分辨率為10位,用于360°角的檢測。如此,發(fā)射器至少能感覺到0.3°的角度位置進動。
FB900C/E變送器具有串口輸出RS232C和RS485,每次只能使用其中的一個,資料由串行端口傳送。發(fā)射機可以編號,以便主機能通過串口存取來自多個發(fā)射機的數(shù)據(jù)。傳送器串行通信協(xié)議有兩種選擇,一個是使用 ASCII碼,另一個是十六進制數(shù)。角位變送器存在兩種輸出模式,分別是數(shù)據(jù)連續(xù)輸出和指令單獨輸出。其中數(shù)據(jù)連續(xù)輸出指的是在串口處連續(xù)發(fā)送數(shù)據(jù),而指令單獨輸出指的是通過上位機發(fā)送相關(guān)命令。因DSP2812在設計中使用了兩個串行接口,一種是用于與計算機通訊,另一種是用于采集兩個通道的角位置信號,所以本設計采用了 ASCII編碼的指令輸出。
選擇TI公司的C2000系列 DSP:TMS 320 f 2812。TMS320F2812程序空間與數(shù)據(jù)空間分離,CPU可同時存取程序和數(shù)據(jù),有效提高了DSP的運算速度。采用 DSP采集陀螺儀的進動信號,調(diào)節(jié)控制電壓,實現(xiàn)與計算機的通訊,由于TMS320F2812芯片具有相應的存儲器控制系統(tǒng),因此外部存儲器接口問題無需考慮。TMS320F2812正常工作所需的電壓包括兩個部分:1.8 V芯片核心電壓和3.3 V Flash電壓。該控制器還具備去耦合電容作用,一是可用于抑制電源產(chǎn)生的噪聲對數(shù)字信號處理機的正常工作;二是作為儲能電容器;三是可以濾除 DSP芯片工作時產(chǎn)生的高頻噪聲。
DSP用于控制整個系統(tǒng)各部分的工作狀態(tài)及各部件間的數(shù)據(jù)傳輸,根據(jù)滑模變結(jié)構(gòu)誤差控制計算結(jié)果設置DSP指令,能夠?qū)崿F(xiàn)數(shù)字信號的處理,將數(shù)字信號轉(zhuǎn)換為控制指令,輪式機器人運動誤差控制。
利用數(shù)字輸入來控制數(shù)字電位器,產(chǎn)生模擬輸出。數(shù)字電位器,也叫 CNC可編程電位計,是一種新型的 CMOS集成電路,取代了傳統(tǒng)的機械電位計(模擬電位計)。最常見的Max5432型數(shù)字電位計是一種是由Maxim公司制造生產(chǎn)的7位,且具有32個可選擇的螺桿,不容易丟失的線性數(shù)字電位計,它包括了7位的移位寄存器、數(shù)據(jù)鎖存器、電位器和控制時鐘邏輯電路。該數(shù)字電位計的控制主要包括3個部分,分別是晶片選擇(Circuit Select)、 DIN (Digital Input, DIN)、 SCLK (SCLK)。電路采用2.7 V至5.25 V供電,它的內(nèi)部電阻上的電壓是由VDD和 VSS外部提供的。VDD和VSS的電壓應該在9 V以上,在31.5 V以下。這樣,Max5432就可以很好地選擇輸入電壓。另外,Max5432的外部線路也很簡單,該系統(tǒng)無需外部器件即可調(diào)整輸入電壓及輸出。
數(shù)字電位器芯片使用I2C串行總線作為接口,以400 kbps的數(shù)據(jù)通訊速度對芯片和電位計進行調(diào)速。當上電時,電可擦可編程只讀存儲器(EEPROM)能使滑動端回到上次關(guān)機時所儲存的位置。該裝置接收到的最大分電流能夠達到幾百微安或幾毫安,這與數(shù)字電位器的性能有關(guān)。數(shù)字電位器具備數(shù)控調(diào)整功能,能夠取代機械式電位計,是一種半導體集成電路,取消了傳統(tǒng)的基板和電阻。在自動控制過程中,能夠精準地測量電刷上的電阻。在系統(tǒng)控制過程中,也能夠精準地測量控制角度,并根據(jù)輸出的反饋信號,通過旋轉(zhuǎn)軸來調(diào)整輸出。數(shù)字電位器一般都有一個總線接口,它既可以用單片機也可以用邏輯電路來實現(xiàn)。
自整角機具有兩個自調(diào)節(jié)裝置和一個雙極型調(diào)節(jié)方式,它是一種利用自整定步進特性,可以把角變換成交流電壓的異步電動機。在伺服系統(tǒng)中,該裝置起到了位移檢測的作用。同時,它還可以進行遠距離的傳輸、轉(zhuǎn)換、接收、顯示等功能。通過導線連接的兩個以上的電機,能夠使兩個以上沒有機械連接的轉(zhuǎn)軸實現(xiàn)自轉(zhuǎn)或同步轉(zhuǎn)動,該過程的工作模式被稱為自調(diào)整模式。
在兩個自調(diào)整裝置中,一個是用來傳送角信號的,它的激勵線圈連接到一相交流電源上。另一個是利用角度信號,將角度信號轉(zhuǎn)換為感應電勢,由感應線圈所輸出,也就是自調(diào)節(jié)角度接收機。采用兩臺自調(diào)角機的定子上的全步進線圈組成一星形,三相的相位繞組構(gòu)成環(huán)形。將單相 AC電流加到同步變頻器的勵磁繞組上,在兩個同步器的間隙處形成一個脈沖磁場,該脈沖磁場的幅值隨時間變化,脈動磁場使自整角傳感器產(chǎn)生了一個全步進線圈的相感電位。全階繞組的電勢最大值是由各相繞組的軸與激發(fā)線圈軸的相對位置決定的,全階繞組的電勢最大值是由各相繞組的軸與激發(fā)線圈軸的相對位置決定的。
n
階線性定常系統(tǒng)的相位變量形式,所構(gòu)造的運動方程矩陣如下:(1)
公式(1)中,a
和b
分別表示已知的常規(guī)參數(shù)。滑模變結(jié)構(gòu)控制,存在如下不連續(xù)形式,可表示為:
(2)
公式(2)中,f
(x
)表示滑模切換函數(shù),當λ
(x
)≠λ
(x
)時,滑模變結(jié)構(gòu)控制律應滿足如下條件:(3)
滑模切換函數(shù)也可稱為狀態(tài)向量的線性函數(shù),其公式為:
f
(x
)=ε
x
+ε
x
+…+ε
-1x
-1+x
(4)
公式(4)中,ε
,ε
,…,ε
-1表示相變量參數(shù)。在n
維相空間中,滑模變結(jié)構(gòu)控制滑動面可表示為:ε
x
+ε
x
+…+ε
-1x
-1+x
=0(5)
由于運動方程矩陣為相變量形式,所以為了保證滑模變結(jié)構(gòu)模態(tài)控制階段的穩(wěn)定,需選擇合理的相變量參數(shù),使特征方程的所有特征根都具有負實數(shù)。
當滑模變形輪式機械手的運動軌跡達到轉(zhuǎn)換流型后,便會沿著它的運動方向繼續(xù)向前,這時,滑模變結(jié)構(gòu)的輪式機器人的運動軌跡仍停留在轉(zhuǎn)換流形上,這就是所謂的“理想滑?!睜顟B(tài)。但在實際工作中,由于機械臂的慣性延遲,使其無法維持原有的運動軌跡,只能在接近轉(zhuǎn)換流形的地方來回移動,這就是所謂的抖振。為此,理想狀態(tài)下的滑模與實際情況滑模存在一定偏差。在理想情況下,當滑模變結(jié)構(gòu)的輪式機器人進入滑模運動狀態(tài)后,由于滑模變結(jié)構(gòu)的輪式機器人的運動軌跡停留在其上面,所以運動點趨近切換面的運行速率為0,為此可確定在輪式機器人上施加的力是等效或平均作用力。輪式機器人在滑模上運動的微分方程實質(zhì)上是對滑模運動的一種極限狀態(tài),在該狀態(tài)下,輪式機器人處于滑模運動狀態(tài)時,是無法用連續(xù)控制方式來實現(xiàn)非連續(xù)控制的。因此,在滑模變結(jié)構(gòu)模態(tài)控制階段,使滑模切換函數(shù)f
(x
)=0,由此可得到:ε
x
+ε
x
+…+ε
-1x
-1=-x
(6)
抖振是滑模變結(jié)構(gòu)控制研究中的一個重要問題,抖振的加劇會導致機器人的穩(wěn)定偏差,從而對滑模變結(jié)構(gòu)的性能造成一定的影響,而且還會不斷地消耗輪式機器人的能源?;诖嗽搯栴},提出了一種等效控制方法。利用指數(shù)逼近律,使機械臂在一定的時間內(nèi)進入穩(wěn)定的工作狀態(tài),并能滿足輪式機械臂的良好的運動平順性,極大地減少了抖振;在滑模片狀態(tài)下,當移動點靠近切換表面時,移動速度為0時,滑模變結(jié)構(gòu)模型的運動方程也為0,此時,由于不存在高頻率分量,使得滑模抖振更趨近等效控制,因而可以有效地防止滑模抖振。
基于此,構(gòu)建的滑模變結(jié)構(gòu)模態(tài)控制階段的運動方程矩陣可改寫為:
(7)
因此,在滑模變結(jié)構(gòu)模態(tài)控制階段的動態(tài)行為可以由n
-1階狀態(tài)方程來表征。當控制器工作狀態(tài)穿越滑模面f
(x
)=0進入f
(x
)<0時,控制量λ
(x
)從λ
(x
)切換到λ
(x
)而達到條件公式(2),使得控制器狀態(tài)迅速穿越滑模面,并進入f
(x
)>0,由此完成了滑模面的滑變運動。充分考慮非線性時變系統(tǒng),在狀態(tài)空間中,存在一個超曲面ε
為0,如圖3所示,可將其狀態(tài)空間分為ε
>0和ε
<0兩個部分。圖3 滑模面的滑變運動示意圖
滑動模變結(jié)構(gòu)與傳統(tǒng)控制不同,滑模變結(jié)構(gòu)是一種不連續(xù)控制,甚至系統(tǒng)的“結(jié)構(gòu)”在切換特性上是動態(tài)變化的。其主要目標是利用滑模變結(jié)構(gòu)控制的不連續(xù)狀態(tài)設計狀態(tài)空間中的超平面,即在有限條件下按預定狀態(tài)軌跡連續(xù)改變系統(tǒng)結(jié)構(gòu)。該系統(tǒng)的狀態(tài)逐漸滑向某一超平面的平衡點并最終移動到接近平衡點邊界的邊界區(qū)域,即滑模運動。一般而言,控制器狀態(tài)空間存在一個超平面ε
=0,這3個點分別為普通點,初始點和截止點,當它通過超平面的控制器,使其接近一個超平面時,如A點所示;當控制器的初始點靠近超平面時,將運動到超平面的兩邊,如B點所示;當控制臺在接近超平面的時候,切斷點從超平面的兩側(cè)移動到此點,如C點所示。滑動模變結(jié)構(gòu)控制中,截止點相對于共同點和初始點具有特殊的意義。假如某一切面上的某一區(qū)域只有一個截止點,那么當系統(tǒng)移動到該區(qū)域時,就會被“吸引”到該區(qū)域的移動。所以,包含開關(guān)平面上所有截止點的區(qū)域稱為“滑動模域”,這一地區(qū)的系統(tǒng)性運動稱為“滑模運動”?;瑒幽W兘Y(jié)構(gòu)控制主要是通過控制目標來設計滑模切換面,使系統(tǒng)的狀態(tài)點向滑模切換面移動,從而最終實現(xiàn)控制目標。
DSP程序主要由主程序和定時中斷子程序組成。DSP程序流程如下所示。
步驟一:在DSP主程序中,首先對系統(tǒng)進行初始化,包括 CPU的初始化和相關(guān)外設的初始化。在 DSP主程序中,需要對系統(tǒng)進行初始化,并對 CPU及外部設備進行初始化。其次,對數(shù)字式電位計進行初始化,也就是把電位計的滑臂放在規(guī)定的位置。最后,通過啟動計時器中斷來接收主機的運行指令。一旦接到指令,計時器就會被觸發(fā),并進入一個死循環(huán)。在中斷時限結(jié)束時,將會執(zhí)行一個中斷子程序;在接收到一個系統(tǒng)終止命令時,停止該系統(tǒng)的運行。
步驟二:啟動數(shù)字電位計,也就是將電位計的滑動臂放在指定位置。數(shù)字式電位計和機械式電位計一樣,具有很好的實用價值。3個端子中的兩個與電阻器的兩個端子相接觸,而另一個(也就是電阻器)可以將不同的點連接到一個電阻的長度,由此設置了一個期望的電阻值。區(qū)別于機械電位器和數(shù)字電位器,它是對電阻型接觸的控制。當數(shù)字電位計由串行總線或數(shù)字控制線路來實現(xiàn)時,機械電位計是用來實現(xiàn)電阻觸點的連接的。數(shù)碼可程式電位計的體積也較小,使得它更適用于便攜使用。該裝置具有新的接口,便于與系統(tǒng)集成,并能直接由微處理器進行控制。另外,它對干擾的影響也不是很大。DSP電位儀的電阻接觸位置可以被儲存在不同的易失性存儲器或電位儀自身的非揮發(fā)存儲器中,這樣以前的設定信息就不會丟失,而在系統(tǒng)重新調(diào)節(jié)后,又會重新進行。
步驟三:開啟計時器,接受上位機系統(tǒng)運行命令,如果接收到打開定時器的命令,進入循環(huán),中斷時間執(zhí)行中斷子程序。
步驟四:當接收到停止指令時,停止系統(tǒng)移動。
步驟五:將讀取指令發(fā)送到角度變送器,并接收其反饋數(shù)據(jù);
步驟六:在誤差控制的基礎(chǔ)上,將滑模變結(jié)構(gòu)控制指令送至數(shù)字電位器。把陀螺儀的運行數(shù)據(jù)最終發(fā)送給 PC。
綜上,可得出控制器的軟件流程圖如圖4所示。
圖4 控制器的軟件流程圖
由圖4可看出,首先構(gòu)造滑模變結(jié)構(gòu)控制器的運動方程矩陣,設計滑模變結(jié)構(gòu)控制律,控制機械臂在一定的時間內(nèi)進入穩(wěn)定的工作狀態(tài),通過控制目標來設計滑模切換面,使系統(tǒng)的狀態(tài)點向滑模切換面移動,并設計DSP程序流程將控制指令傳輸至從而最終實現(xiàn)控制目標。
為驗證基于滑模變結(jié)構(gòu)的輪式機器人運動誤差控制器設計的有效性,以圖5所示輪式機器人為對象進行輪式機器人運動誤差控制器實驗。
圖5 輪式機器人實驗對象
分別采用分別使用基于黎卡提微分方程、綜合位姿誤差控制優(yōu)化仿真方法和基于滑模變結(jié)構(gòu)的誤差控制器對輪式機器人運動軌跡進行跟蹤控制,實驗選定的目標是直線軌跡。輪式機器人機身幾何中心到兩輪中心的距離均為0.2 m,輪子半徑均為0.25 m,車身總質(zhì)量為5 kg。
在直線軌跡誤差控制實驗中,圖6顯示了關(guān)節(jié)1、2的軌跡跟蹤及控制輸入曲線。
圖6 關(guān)節(jié)1、2軌跡跟蹤和控制輸入曲線
圖7 3種方法關(guān)節(jié)1、2軌跡跟蹤和控制輸入結(jié)果對比
由圖6可知,未經(jīng)過處理的曲線受到不確定性因素干擾,關(guān)節(jié)1、2軌跡跟蹤和控制輸入曲線均出現(xiàn)毛糙現(xiàn)象。
基于此,分別使用基于黎卡提微分方程、綜合位姿誤差控制優(yōu)化仿真方法和基于滑模變結(jié)構(gòu)的誤差控制器,對比分析輪式機器人運動誤差控制情況,對比結(jié)果如圖7所示。
由圖7可知,使用基于黎卡提微分方程的控制方法,關(guān)節(jié)1位置控制力矩在0.2~1.6 s內(nèi),最大值為250 N·m,最小為0 N·m.關(guān)節(jié)2位置控制力矩在0.2~1.6 s內(nèi),最大值為550 N·m,最小為200 N·m;使用綜合位姿誤差控制優(yōu)化仿真方法,關(guān)節(jié)1位置控制力矩在0.2~1.6 s內(nèi),最大值為100 N·m,最小為-150 N·m。關(guān)節(jié)2位置控制力矩在0.2~1.6 s內(nèi),保持不變,力矩值為200 N·m;使用基于滑模變結(jié)構(gòu)的誤差控制器,關(guān)節(jié)1位置控制力矩在0.2~1.6 s內(nèi),最大值為0 N·m,最小為~150 N·m。關(guān)節(jié)2位置控制力矩在0.2~1.6 s內(nèi),保持不變,力矩值為0 N·m。
通過上述分析可知,使用基于黎卡提微分方程、綜合位姿誤差控制優(yōu)化仿真方法受到不確定性因素干擾,沒有消除滑模抖振,且在跟蹤時間范圍內(nèi),關(guān)節(jié)運動軌跡與實際運動軌跡不一致;使用基于滑模變結(jié)構(gòu)的誤差控制器通過自適應調(diào)整參數(shù)后,滑模抖振得到明顯消除。且在短時間內(nèi),關(guān)節(jié)運動軌跡與實際運動軌跡一致。
分別使用這3種方法,對比分析輪式機器人運動誤差控制精準度,對比結(jié)果如圖8所示。
圖8 3種方法輪式機器人運動誤差控制精準度對比
由圖8可知,使用基于黎卡提微分方程、綜合位姿誤差控制優(yōu)化仿真方法存在軌跡跟蹤誤差,最大誤差分別為0.3 rad和0.6 rad。使用基于滑模變結(jié)構(gòu)的誤差控制器,最大誤差為0.01 rad。
針對傳統(tǒng)滑模變結(jié)構(gòu)變結(jié)構(gòu)控制方法受到不確定性因素影響而出現(xiàn)控制效果不佳的問題,設計了一種基于滑模變結(jié)構(gòu)的運動誤差控制器,消除了常規(guī)滑模變結(jié)構(gòu)控制的趨近模態(tài)環(huán)節(jié),模擬結(jié)果表明該方法是有效的。該方法的研究是在系統(tǒng)初始狀態(tài)下進行的,使得滑模面在很大程度上取決于系統(tǒng)工作狀態(tài),因此,該方法不具有普適性。而且,該方法受到環(huán)境噪聲影響,使得系統(tǒng)偏離了滑模面,引起強烈抖振。因此,在今后研究進程中,需加入一種神經(jīng)網(wǎng)絡來干擾信號,并設計補償控制器,使滑模顫振得到一定的抑制。