任軍洲,蔡 勇,2,李自勝
(1.西南科技大學(xué) 制造科學(xué)與工程學(xué)院,綿陽 621000;2.制造過程測試技術(shù)省部共建教育部重點(diǎn)實(shí)驗(yàn)室,綿陽 621000)
在實(shí)際工程問題中,為了有更好的動態(tài)性能,一些設(shè)備存在過驅(qū)動情況。例如,矢量推進(jìn)水下機(jī)器人[1-2]、四足機(jī)器人[3]、外太空衛(wèi)星[4-5]、矢量多旋翼無人機(jī)[6]等。在過驅(qū)動系統(tǒng)中,解決控制分配一直是一個活躍的研究領(lǐng)域[7]。
目前,過驅(qū)動系統(tǒng)的控制分配方法包括二次規(guī)劃、偽逆法、加權(quán)最小二乘法、神經(jīng)網(wǎng)絡(luò)等。其中,偽逆法在控制分配領(lǐng)域應(yīng)用廣泛。采用偽逆法,可以解決傾轉(zhuǎn)旋翼機(jī)的控制分配、水下矢量推進(jìn)器的控制分配;也可以實(shí)現(xiàn)全向空中機(jī)器人的控制分配[8]、分布式推進(jìn)配置飛行器的控制分配[9]。但是,偽逆法的本質(zhì)是固定分配,不能充分利用執(zhí)行器冗余優(yōu)勢。
二次規(guī)劃法能夠?qū)崿F(xiàn)動態(tài)分配?;谠摲椒?,可以實(shí)現(xiàn)航天器姿態(tài)控制過程中的實(shí)時控制分配、過驅(qū)動UUV 推進(jìn)器容錯控制的非線性觀測自適應(yīng)推力分配[10]、多舵面飛翼布局飛機(jī)的控制分配[11]。該方法需要調(diào)整權(quán)重參數(shù),在最小值和準(zhǔn)確度之間找到一種平衡。然而固定的權(quán)重會引入偏見,導(dǎo)致內(nèi)耗,體現(xiàn)在以最小消耗為目標(biāo)時,并非最優(yōu)分配方案。
隨著神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展,直接利用神經(jīng)網(wǎng)絡(luò)解決控制分配成為一種新的可能,但相關(guān)研究較少。文獻(xiàn)[12]結(jié)合了神經(jīng)網(wǎng)絡(luò)技術(shù)求解二次規(guī)劃,解決控制分配。但是本質(zhì)是利用遞歸思想求解,而不是直接利用神經(jīng)網(wǎng)絡(luò)分配;文獻(xiàn)[13]采用自編碼器結(jié)構(gòu)訓(xùn)練神經(jīng)網(wǎng)絡(luò)解決了含有6 個控制舵面的空天飛行器控制分配。
本文結(jié)合空間任意力系簡化原理和自編碼器,提出一種力系簡化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)控制分配。
不失一般性,動力學(xué)系統(tǒng)可以描述為
在該系統(tǒng)中,當(dāng)CB行滿秩時,系統(tǒng)控制存在過驅(qū)動[14]。
控制過驅(qū)動系統(tǒng),首先由高級控制器規(guī)劃參考運(yùn)動軌跡;再根據(jù)被控物的目標(biāo)位置Pt與當(dāng)前位置Pr,利用PID 計(jì)算出系統(tǒng)目標(biāo)控制量,假設(shè)為v;然后利用分配控制器將控制量分配給每個執(zhí)行器,如式(2)所示:
式中:u為每個執(zhí)行器控制分量寫成的向量。對于過驅(qū)動系統(tǒng),不能直接求得u的唯一結(jié)果。
進(jìn)一步整理得到:
式中:D=CB;x=u;b=v。其中,x是需要求解的未知變量。
D行滿秩,則x存在多解,常用偽逆法和二次規(guī)劃法求解。偽逆法是左乘D的偽逆矩陣;二次規(guī)劃法是將式(3)進(jìn)行轉(zhuǎn)化,并引入伴隨實(shí)際問題的約束條件,通過最小化f 實(shí)現(xiàn)求解,如式(4)所示:
式中:S、W為權(quán)重矩陣。S決定更看重實(shí)際控制器中的哪一項(xiàng);W用來限制求解結(jié)果大小。關(guān)于xTWx,由齊次線性方程組式(5)轉(zhuǎn)化得到??梢钥闯觯谛枰瑫r滿足式(3)和式(5)的情況下,二次規(guī)劃不能完全采用最小解作為分配結(jié)果,并且由于權(quán)重的固定,分配結(jié)果會存在偏見。
一方面,嚴(yán)格把關(guān)學(xué)業(yè)指導(dǎo)專業(yè)老師,能夠保證學(xué)業(yè)指導(dǎo)專業(yè)教師隊(duì)伍質(zhì)量,另一方面,加強(qiáng)評價(jià)體系和考核制度,也能夠增強(qiáng)學(xué)業(yè)指導(dǎo)專業(yè)教師的責(zé)任心和使命感。同時有利于及時發(fā)現(xiàn)學(xué)業(yè)指導(dǎo)過程中存在的問題,并有針對性的提出合理的對策和建議。從而有效促進(jìn)提高教育質(zhì)量和人才培養(yǎng)質(zhì)量。
力系簡化神經(jīng)網(wǎng)絡(luò)是結(jié)合自編碼器結(jié)構(gòu)與空間力系簡化原理的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
自編碼器是一種自監(jiān)督學(xué)習(xí)方法,能夠從無標(biāo)簽樣本中學(xué)習(xí)樣本數(shù)據(jù)特征[15]。其功能是通過編碼層將輸入數(shù)據(jù)重建為低維度數(shù)據(jù),該低維數(shù)據(jù)可通過解碼層還原重構(gòu)。當(dāng)損失值降低到滿足任務(wù)要求時,就可以認(rèn)為特征輸出即為原始數(shù)據(jù)在低維空間下的特征[16]。
空間任意力系簡化是基于力的平移定理,將復(fù)雜的空間任意力系轉(zhuǎn)化為空間匯交力系和空間力偶系2 個簡單力系[17],該過程是對力系的還原重構(gòu)。
對自編碼器結(jié)構(gòu)做如下改進(jìn):用空間任意力系簡化過程代替?zhèn)鹘y(tǒng)自編碼器的解碼網(wǎng)絡(luò),如圖1 所示?;谠摻Y(jié)構(gòu)訓(xùn)練神經(jīng)網(wǎng)絡(luò),當(dāng)損失值接近于0時,編碼層神經(jīng)網(wǎng)絡(luò)即為力系的分配過程,且滿足力系等效原則。
圖1 自編碼器改進(jìn)結(jié)構(gòu)Fig.1 Improved autoencoder architecture
實(shí)現(xiàn)動態(tài)控制需要能夠在任意姿態(tài)下完成控制分配。因此,輸入數(shù)據(jù)集S包含兩類信息:目標(biāo)控制量和姿態(tài)四元素Q,如式(6)~式(8)所示:
另外,對任意姿態(tài)進(jìn)行擬合,就存在無限數(shù)據(jù)集,設(shè)計(jì)內(nèi)外雙循環(huán)訓(xùn)練流程,如圖2 所示。
圖2 內(nèi)外雙循環(huán)訓(xùn)練流程Fig.2 Inner and outer double loop training flow chart
在訓(xùn)練時,采用均勻分布隨機(jī)生成n 組向量S1作為內(nèi)循環(huán)樣本數(shù)據(jù),當(dāng)達(dá)到設(shè)定訓(xùn)練次數(shù)之后,跳出內(nèi)循環(huán),然后重新生成n 組向量S2,再進(jìn)入內(nèi)循環(huán)進(jìn)行訓(xùn)練。其中S1與S2相互獨(dú)立。
根據(jù)形狀特點(diǎn),損失函數(shù)分為固定斜率和變化斜率。固定斜率以平均絕對值誤差損失函數(shù)L1(Mean Absolute Deviation)為代表;變化斜率以平均平方損失函數(shù)L2(Mean Square Error)為代表[18]。學(xué)習(xí)率更新方法分為固定學(xué)習(xí)率和動態(tài)學(xué)習(xí)率,采用Adam[19]優(yōu)化器的動態(tài)學(xué)習(xí)率作為對照,lr 為當(dāng)前訓(xùn)練步的學(xué)習(xí)率。如式(9)~式(11)所示。其余參數(shù)如表1 所示。
表1 訓(xùn)練實(shí)驗(yàn)參數(shù)Tab.1 Training experimental parameters
組合成4 種不同的實(shí)驗(yàn)條件:①L1與固定學(xué)習(xí)率;②L1與優(yōu)化器Adam 的動態(tài)學(xué)習(xí)率;③L2與固定學(xué)習(xí)率;④L2與優(yōu)化器Adam 的動態(tài)學(xué)習(xí)率。
在(ABCD)4 種不同的實(shí)驗(yàn)條件下,完成神經(jīng)網(wǎng)絡(luò)訓(xùn)練,結(jié)果如圖3 所示??梢钥闯?,條件B 有更好的收斂效果,而且更穩(wěn)定。
圖3 訓(xùn)練實(shí)驗(yàn)對比Fig.3 Comparison of training experiments
條件B 下的訓(xùn)練結(jié)果,如圖4 所示。標(biāo)出了在外循環(huán)初始時刻的損失值。隨著訓(xùn)練推移,外循環(huán)初始損失值在不斷減小,表明神經(jīng)網(wǎng)絡(luò)在逐漸擬合未曾送入過的數(shù)據(jù)集,證明了訓(xùn)練方法可以解決無限數(shù)據(jù)集問題,適用于控制分配。
圖4 條件B 訓(xùn)練結(jié)果Fig.4 Condition B training results
針對冗余控制分配,將問題簡化為單剛體控制問題進(jìn)行討論,如圖5 所示。假設(shè)存在一個長方體剛性構(gòu)件和4 個外力,這4 個力作用于單剛體上的不同點(diǎn),作用點(diǎn)如表2 所示。剛體的所有運(yùn)動,包括克服重力,都由這4 個力來完成。該剛體的動力學(xué)參數(shù)如表3 所示。表2 和表3 中數(shù)據(jù)的參考坐標(biāo)系均為圖5 中坐標(biāo)系o,該坐標(biāo)系原點(diǎn)位于質(zhì)心,隨剛體運(yùn)動。
表2 力的作用點(diǎn)Tab.2 Point of force application
表3 剛體動力學(xué)參數(shù)Tab.3 Rigid body dynamics parameters
圖5 單剛體受力示意圖Fig.5 Force on a single rigid body
控制該剛體時,先根據(jù)目標(biāo)位置與當(dāng)前位置關(guān)系計(jì)算出虛擬質(zhì)心力系U,如式(12)所示。然后將該虛擬質(zhì)心力系分配為4 個實(shí)際控制力F1、F2、F3、F4,分配關(guān)系如式(13)所示:
式中:E為單位矩陣;pi為力作用點(diǎn)相對質(zhì)心坐標(biāo)系o 的位置向量;[pi]x為pi的反對稱矩陣。每個實(shí)際力有3 個分量,則向量x共12 維。因此可知矩陣D為行滿秩矩陣,所以單剛體控制問題屬于過驅(qū)動系統(tǒng)。
該實(shí)驗(yàn)控制目標(biāo)是利用4 個外力去平衡重力,使單剛體保持在離地面0.2 m 處懸浮。
懸浮開始到穩(wěn)定的總用力如圖6 所示。使用神經(jīng)網(wǎng)絡(luò)得到的分配方案相比二次規(guī)劃能夠?qū)⒖傆昧?7 N 減少到44.8 N,更接近剛體重力,說明神經(jīng)網(wǎng)絡(luò)方法能有效減少無用功。
圖6 總用力對比圖Fig.6 Total force comparison chart
神經(jīng)網(wǎng)絡(luò)和二次規(guī)劃在該實(shí)驗(yàn)下的分配結(jié)果,如圖7 所示。圖中的點(diǎn)劃線為0.25 倍單剛體重力。神經(jīng)網(wǎng)絡(luò)相比二次規(guī)劃,得到的結(jié)果更接近平均值,且分布更集中,說明神經(jīng)網(wǎng)絡(luò)能避免人為設(shè)置權(quán)重引入的偏見。
圖7 分配結(jié)果對比Fig.7 Comparison of allocation results
該實(shí)驗(yàn)控制目標(biāo)是利用4 個外力控制單剛體在1 倍重力環(huán)境下,維持高度為0.2 m 的同時,由靜止開始跟隨一條圓形軌跡,軌跡方程為
整個跟隨過程中的總用力如圖8 所示。神經(jīng)網(wǎng)絡(luò)相比二次規(guī)劃能夠?qū)⒖傆昧?7 N 減少到45 N,說明神經(jīng)網(wǎng)絡(luò)在動態(tài)控制時,也能得到更小的分配方案。該實(shí)驗(yàn)的軌跡跟蹤情況如圖9 所示,放大了起始階段(右上角)和終止階段(右下角)。在起始階段,神經(jīng)網(wǎng)絡(luò)的跟蹤軌跡偏離目標(biāo)軌跡更??;在終止穩(wěn)定階段,神經(jīng)網(wǎng)絡(luò)的穩(wěn)態(tài)誤差也更小。說明在動態(tài)控制任務(wù)中,神經(jīng)網(wǎng)絡(luò)同樣具有優(yōu)勢。
圖8 軌跡跟蹤所用外力總量Fig.8 Total force used for trajectory tracking
圖9 軌跡跟蹤情況Fig.9 Trajectory tracking situation
結(jié)合自編碼器結(jié)構(gòu)和空間任意力系簡化原理,提出了一種力系簡化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并證明該結(jié)構(gòu)可以訓(xùn)練神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)控制分配。針對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,提出了合適的數(shù)據(jù)集和訓(xùn)練流程,并通過實(shí)驗(yàn)證明,力系簡化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)能有效訓(xùn)練神經(jīng)網(wǎng)絡(luò)用于控制分配。
懸浮控制實(shí)驗(yàn)和軌跡跟隨控制實(shí)驗(yàn)的結(jié)果表明,神經(jīng)網(wǎng)絡(luò)相比二次規(guī)劃,分配方案分布更集中,不存在偏見問題。同時,神經(jīng)網(wǎng)絡(luò)使用的總用力約為44.5 N,二次規(guī)劃約為47 N,而單剛體總重力為42.14 N,說明神經(jīng)網(wǎng)絡(luò)方法能減少驅(qū)動器所做的無用功。
本文方法的優(yōu)點(diǎn)是僅需要確定被控系統(tǒng)的力系簡化過程,即可訓(xùn)練神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)控制分配。對于異形結(jié)構(gòu)、變結(jié)構(gòu)或具有復(fù)雜耦合情況的控制系統(tǒng),得到力系的簡化過程比分解過程更容易,這證明力系簡化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)可以是異形結(jié)構(gòu)、變結(jié)構(gòu)或者復(fù)雜耦合控制系統(tǒng)的控制分配解決方案,這將是更深入探究應(yīng)用的方向。