任軍洲,蔡 勇,2,李自勝
(1.西南科技大學 制造科學與工程學院,綿陽 621000;2.制造過程測試技術省部共建教育部重點實驗室,綿陽 621000)
在實際工程問題中,為了有更好的動態性能,一些設備存在過驅動情況。例如,矢量推進水下機器人[1-2]、四足機器人[3]、外太空衛星[4-5]、矢量多旋翼無人機[6]等。在過驅動系統中,解決控制分配一直是一個活躍的研究領域[7]。
目前,過驅動系統的控制分配方法包括二次規劃、偽逆法、加權最小二乘法、神經網絡等。其中,偽逆法在控制分配領域應用廣泛。采用偽逆法,可以解決傾轉旋翼機的控制分配、水下矢量推進器的控制分配;也可以實現全向空中機器人的控制分配[8]、分布式推進配置飛行器的控制分配[9]。但是,偽逆法的本質是固定分配,不能充分利用執行器冗余優勢。
二次規劃法能夠實現動態分配。基于該方法,可以實現航天器姿態控制過程中的實時控制分配、過驅動UUV 推進器容錯控制的非線性觀測自適應推力分配[10]、多舵面飛翼布局飛機的控制分配[11]。該方法需要調整權重參數,在最小值和準確度之間找到一種平衡。然而固定的權重會引入偏見,導致內耗,體現在以最小消耗為目標時,并非最優分配方案。
隨著神經網絡技術的發展,直接利用神經網絡解決控制分配成為一種新的可能,但相關研究較少。文獻[12]結合了神經網絡技術求解二次規劃,解決控制分配。但是本質是利用遞歸思想求解,而不是直接利用神經網絡分配;文獻[13]采用自編碼器結構訓練神經網絡解決了含有6 個控制舵面的空天飛行器控制分配。
本文結合空間任意力系簡化原理和自編碼器,提出一種力系簡化神經網絡結構,訓練神經網絡實現控制分配。
不失一般性,動力學系統可以描述為
在該系統中,當CB行滿秩時,系統控制存在過驅動[14]。
控制過驅動系統,首先由高級控制器規劃參考運動軌跡;再根據被控物的目標位置Pt與當前位置Pr,利用PID 計算出系統目標控制量,假設為v;然后利用分配控制器將控制量分配給每個執行器,如式(2)所示:
式中:u為每個執行器控制分量寫成的向量。對于過驅動系統,不能直接求得u的唯一結果。
進一步整理得到:
式中:D=CB;x=u;b=v。其中,x是需要求解的未知變量。
D行滿秩,則x存在多解,常用偽逆法和二次規劃法求解。偽逆法是左乘D的偽逆矩陣;二次規劃法是將式(3)進行轉化,并引入伴隨實際問題的約束條件,通過最小化f 實現求解,如式(4)所示:
式中:S、W為權重矩陣。S決定更看重實際控制器中的哪一項;W用來限制求解結果大小。關于xTWx,由齊次線性方程組式(5)轉化得到。可以看出,在需要同時滿足式(3)和式(5)的情況下,二次規劃不能完全采用最小解作為分配結果,并且由于權重的固定,分配結果會存在偏見。
一方面,嚴格把關學業指導專業老師,能夠保證學業指導專業教師隊伍質量,另一方面,加強評價體系和考核制度,也能夠增強學業指導專業教師的責任心和使命感。同時有利于及時發現學業指導過程中存在的問題,并有針對性的提出合理的對策和建議。從而有效促進提高教育質量和人才培養質量。
力系簡化神經網絡是結合自編碼器結構與空間力系簡化原理的神經網絡結構。
自編碼器是一種自監督學習方法,能夠從無標簽樣本中學習樣本數據特征[15]。其功能是通過編碼層將輸入數據重建為低維度數據,該低維數據可通過解碼層還原重構。當損失值降低到滿足任務要求時,就可以認為特征輸出即為原始數據在低維空間下的特征[16]。
空間任意力系簡化是基于力的平移定理,將復雜的空間任意力系轉化為空間匯交力系和空間力偶系2 個簡單力系[17],該過程是對力系的還原重構。
對自編碼器結構做如下改進:用空間任意力系簡化過程代替傳統自編碼器的解碼網絡,如圖1 所示。基于該結構訓練神經網絡,當損失值接近于0時,編碼層神經網絡即為力系的分配過程,且滿足力系等效原則。

圖1 自編碼器改進結構Fig.1 Improved autoencoder architecture
實現動態控制需要能夠在任意姿態下完成控制分配。因此,輸入數據集S包含兩類信息:目標控制量和姿態四元素Q,如式(6)~式(8)所示:
另外,對任意姿態進行擬合,就存在無限數據集,設計內外雙循環訓練流程,如圖2 所示。

圖2 內外雙循環訓練流程Fig.2 Inner and outer double loop training flow chart
在訓練時,采用均勻分布隨機生成n 組向量S1作為內循環樣本數據,當達到設定訓練次數之后,跳出內循環,然后重新生成n 組向量S2,再進入內循環進行訓練。其中S1與S2相互獨立。
根據形狀特點,損失函數分為固定斜率和變化斜率。固定斜率以平均絕對值誤差損失函數L1(Mean Absolute Deviation)為代表;變化斜率以平均平方損失函數L2(Mean Square Error)為代表[18]。學習率更新方法分為固定學習率和動態學習率,采用Adam[19]優化器的動態學習率作為對照,lr 為當前訓練步的學習率。如式(9)~式(11)所示。其余參數如表1 所示。

表1 訓練實驗參數Tab.1 Training experimental parameters
組合成4 種不同的實驗條件:①L1與固定學習率;②L1與優化器Adam 的動態學習率;③L2與固定學習率;④L2與優化器Adam 的動態學習率。
在(ABCD)4 種不同的實驗條件下,完成神經網絡訓練,結果如圖3 所示。可以看出,條件B 有更好的收斂效果,而且更穩定。

圖3 訓練實驗對比Fig.3 Comparison of training experiments
條件B 下的訓練結果,如圖4 所示。標出了在外循環初始時刻的損失值。隨著訓練推移,外循環初始損失值在不斷減小,表明神經網絡在逐漸擬合未曾送入過的數據集,證明了訓練方法可以解決無限數據集問題,適用于控制分配。

圖4 條件B 訓練結果Fig.4 Condition B training results
針對冗余控制分配,將問題簡化為單剛體控制問題進行討論,如圖5 所示。假設存在一個長方體剛性構件和4 個外力,這4 個力作用于單剛體上的不同點,作用點如表2 所示。剛體的所有運動,包括克服重力,都由這4 個力來完成。該剛體的動力學參數如表3 所示。表2 和表3 中數據的參考坐標系均為圖5 中坐標系o,該坐標系原點位于質心,隨剛體運動。

表2 力的作用點Tab.2 Point of force application

表3 剛體動力學參數Tab.3 Rigid body dynamics parameters

圖5 單剛體受力示意圖Fig.5 Force on a single rigid body
控制該剛體時,先根據目標位置與當前位置關系計算出虛擬質心力系U,如式(12)所示。然后將該虛擬質心力系分配為4 個實際控制力F1、F2、F3、F4,分配關系如式(13)所示:
式中:E為單位矩陣;pi為力作用點相對質心坐標系o 的位置向量;[pi]x為pi的反對稱矩陣。每個實際力有3 個分量,則向量x共12 維。因此可知矩陣D為行滿秩矩陣,所以單剛體控制問題屬于過驅動系統。
該實驗控制目標是利用4 個外力去平衡重力,使單剛體保持在離地面0.2 m 處懸浮。
懸浮開始到穩定的總用力如圖6 所示。使用神經網絡得到的分配方案相比二次規劃能夠將總用力從47 N 減少到44.8 N,更接近剛體重力,說明神經網絡方法能有效減少無用功。

圖6 總用力對比圖Fig.6 Total force comparison chart
神經網絡和二次規劃在該實驗下的分配結果,如圖7 所示。圖中的點劃線為0.25 倍單剛體重力。神經網絡相比二次規劃,得到的結果更接近平均值,且分布更集中,說明神經網絡能避免人為設置權重引入的偏見。

圖7 分配結果對比Fig.7 Comparison of allocation results
該實驗控制目標是利用4 個外力控制單剛體在1 倍重力環境下,維持高度為0.2 m 的同時,由靜止開始跟隨一條圓形軌跡,軌跡方程為
整個跟隨過程中的總用力如圖8 所示。神經網絡相比二次規劃能夠將總用力從47 N 減少到45 N,說明神經網絡在動態控制時,也能得到更小的分配方案。該實驗的軌跡跟蹤情況如圖9 所示,放大了起始階段(右上角)和終止階段(右下角)。在起始階段,神經網絡的跟蹤軌跡偏離目標軌跡更小;在終止穩定階段,神經網絡的穩態誤差也更小。說明在動態控制任務中,神經網絡同樣具有優勢。

圖8 軌跡跟蹤所用外力總量Fig.8 Total force used for trajectory tracking

圖9 軌跡跟蹤情況Fig.9 Trajectory tracking situation
結合自編碼器結構和空間任意力系簡化原理,提出了一種力系簡化神經網絡結構,并證明該結構可以訓練神經網絡實現控制分配。針對神經網絡的訓練,提出了合適的數據集和訓練流程,并通過實驗證明,力系簡化神經網絡結構能有效訓練神經網絡用于控制分配。
懸浮控制實驗和軌跡跟隨控制實驗的結果表明,神經網絡相比二次規劃,分配方案分布更集中,不存在偏見問題。同時,神經網絡使用的總用力約為44.5 N,二次規劃約為47 N,而單剛體總重力為42.14 N,說明神經網絡方法能減少驅動器所做的無用功。
本文方法的優點是僅需要確定被控系統的力系簡化過程,即可訓練神經網絡實現控制分配。對于異形結構、變結構或具有復雜耦合情況的控制系統,得到力系的簡化過程比分解過程更容易,這證明力系簡化神經網絡結構可以是異形結構、變結構或者復雜耦合控制系統的控制分配解決方案,這將是更深入探究應用的方向。