段曙凱,李徐輝,吳 熙,潘智昊
(上海飛機制造有限公司,上海 201324)
飛機在空中飛行的姿態是通過飛機活動面轉動來控制的,為了驗證活動面的轉動是否符合要求,需要對活動面的轉動角度測量。飛機活動面的轉動角度主要有這些方式:線位移測量方式[1]、角度尺測量方式[2]、MEMS陀螺儀測量方式[3]、拍攝測量方式和激光跟蹤儀測量等方式。其中線位移測量方式需要確定測量點或傳感器安裝點的位置,該位置的測量誤差會導致角度的誤差。角度尺測量方式是在活動面上安裝角度尺進行測量,這需要注意角度尺的轉軸要與活動面的轉軸平齊,這種方式由角度尺安裝導致的誤差較嚴重。MEMS陀螺儀測量方式是對轉動加速度進行二次積分得到角度,借助重力進一步修正[4],相當于傾角傳感器來測量[5]。但對于方向舵這種轉軸比較垂直的活動面[6],修正效果不佳,使得測量精度不佳。
拍攝測量方式[7]和激光跟蹤儀測量[8]方式都是在活動面上取樣點,對樣點的空間坐標進行處理得到轉動角度。由于這兩種測量方式在測量空間位置的精度都很高,其得到的角度精度也很高。本文主要探討從樣點數據中計算得到活動面的轉動角度的方法,并提出一種計算角度精度較高的算法。
二面夾角問題是指活動面的轉動角度,不一定是活動面上某個平面轉動前后法線的夾角,其根本原因是剛體轉動角度不能由該剛體內某平面的轉動角度來表征。通過拍攝測量方式或激光跟蹤儀方式來測量活動面的轉動角度,首先必須獲得一定數量的活動面的樣點。通過這些點構建剛體,活動面的轉動角度就是該剛體的轉動角度。下面詳細分析活動面剛體的轉動角度與該剛體內某一平面的法線變化角度的區別。
通過拍攝測量或激光跟蹤儀在活動面上采集一組樣點,如圖1左側圖所示。由于活動面是剛性的,可采用剛體內任意平面表征剛體的轉動。

圖1 平面表征剛體的運動
需要注意的是面A0B0C0轉動到面A1B1C1的角度并非是面A0B0C0與面A1B1C1的夾角[9-10],除非兩個面的法矢與轉動軸垂直。也就是說,二面夾角不一定是轉動的角度。如圖2所示,活動面繞某個軸轉動,n0是平面A0B0C0的法矢,n1是平面A1B1C1的法矢。將平面A0B0C0隨著中心的平移和n0的直接轉動,到平面A1B1C1是在A0’,B0’和C0’的位置,并不和A1,B1和C1重合。這是因為選取的平面其法矢不與轉動軸垂直所致。

圖2 二面夾角不一定是轉動角
活動面的轉動可分解成法矢的轉動和以法矢為軸的轉動。由于活動面是曲面的,基本不可能選擇到這樣的平面,其法矢與活動面轉軸垂直。在文獻[2]中描述的方法是先確定平面與其轉軸的夾角,通過前后平面夾角、平面與轉軸夾角以及實際活動面轉動夾角之間的關系計算實際平面的轉動夾角。這種方法的應用需事先確定選取平面與轉軸的夾角,對測量的操作要求較高。本文提出一種重合算法得到活動面的轉角,適用于隨機選取平面的測量方法,這種測量方法效率會有很大的提高,同時通過重合算法精度也得以保證。
基于上述分析,不能直接用二面夾角來表征活動面的轉角。因為兩個平面的重合不一定是剛體的重合,但平面的三角面片的重合就可以決定兩個剛體的重合。當然重合的時候需要注意方向,因為三角面片的重合會導致剛體兩個方向的重合,即三角面片正反面的重合,但只有一個方向可使得剛體完全重合,后續會詳細介紹。三角面片的重合無法一步到位,需將三角面片內三個頂點分步重合。三點重合算法就是三角面片的三個頂點分步重合,通過該算法計算得到三角面片轉動角度,從而計算活動面剛體的轉動角度。以圖1的三個頂點為例,下面描述該分步重合的過程。
將A0B0C0和A1B1C1單獨取出,先通過平移,將A0重合到A1上,同時B0平移到B0’上,C0平移到C0’上。這是第一個點的重合,該重合只是平移,沒有旋轉。如圖3所示。

圖3 第一點的重合
將B0’繞A1點轉動到B1點上,此時C0’轉動到C0’’上,如圖4所示。這個轉動是直線定點轉動,旋轉軸線是兩條直線形成的平面的法線,轉動角度是兩條直線的夾角。

圖4 第二點的重合
A點的重合過程和B點重合過程可以合在一起用式表示:
對照組:入院確診后均給予常規飲食控制、運動療法、口服降糖藥或皮下注射胰島素降低血糖,給予降血壓、調脂、改善腎臟微循環等治療,在此基礎上,給予鹽酸貝那普利片治療,口服鹽酸貝那普利片30 mg/次,1次/d。觀察組:在對照組的治療措施基礎上給予補腎活血湯治療,處方:黃芪60 g,黨參、熟地黃、茯苓、炒山藥、枸杞子、鬼箭羽、蒲公英各15 g,山茱萸、澤瀉和補骨脂各 12 g,砂仁 10 g,甘草 6 g,水蛭粉(沖服)3 g,1劑/d,煎汁300 mL分成早晚兩次飯后溫服。兩組患者均連續治療3個月。
B1-A1=(B0-A0)·MB
式中,MB是B點重合過程的旋轉矩陣,即矢量A1B1旋轉到A0B0。旋轉軸是直線A1B1與A1B0’形成的平面的法線。由于A1B0’是A1B1平移所得,其兩條直線的矢量是相同的,所以旋轉軸矢量nB為:
轉動角θB為直線A1B1與A1B0’的夾角,也就是A1B1與A0B0的夾角的余弦值為:
根據羅德里格斯公式可得旋轉矩陣MB:

C0’’-A1=(C0-A0)·MB
最后一步就是C的重合,也就是C1與C0’’重合,這個過程需要將A1B1C0’’繞A1B1軸旋轉到A1B1C1,如圖5所示。

圖5 第三點的重合
旋轉角度為A1B1C0’’與A1B1C1的夾角,即兩個面的法線夾角。A1B1C1法線n為:
n=A1C1×A1B1
A1B1C0’’的法線n’為:
n’=A1C0’’×A1B1
需要注意,參與計算n與n’的A1C1與A1C0’’方向必須是同時是A到C,或者同時是C到A。轉動角度的余弦值為:
A1B1C0’’旋轉到A1B1C1的旋轉軸矢量為:
需要注意的是旋轉軸矢量的方向,也就是式中的正負號。三角面片的重合會使得剛體由兩個方向的重合,正面和反面重合,也就體現在n的正負號上。在直線AB上任取一點D,連接出兩條徑向矢量DC1與矢量DC0’’,如圖6所示。矢量DC0’’轉動到矢量DC1的旋轉軸矢量為nD=DC0’’×DC1。

圖6 第三點的重合
無論D在直線AB哪個位置,C點重合所繞的旋轉軸矢量nC與nD的夾角是銳角,才能保證右手旋轉方向規則。將D選在A這個位置也滿足要求,因此也必須要求旋轉軸矢量nC與A1C0’’×A1C1成銳角。即:

根據羅德里格斯公式可得旋轉矩陣MC:

使B點重合的矩陣為MB,使C點重合的矩陣為MC。兩個矩陣的合成為M,該M即為活動面剛體的旋轉矩陣。
M=MBMC
所以旋轉角度為:
式中,θ是三點分步重合的角度,也是活動面轉動的角度,tr(R)是矩陣R的跡。
三點分步旋轉重合是三角面片的重合過程,通過該過程得到三角面片的重合角度,也就得到活動面的角度旋轉角度。三點分步的第一步是先平移是某個點在運動前后位置重合。再繞已經重合的點將另一點旋轉重合,這樣面片的一條線段也重合。最后,以該線段為旋轉軸,將另一點旋轉重合。兩次旋轉重合對應的旋轉矩陣相乘即得到最終的旋轉矩陣,通過該旋轉矩陣得到最終的轉動角,也就是活動面的轉動角。這就是三點重合算法的大概過程。
三點分步重合算法的精度依賴于選取的三個點,由于點位測量會有一定的誤差,如果選取的點能將這些點位誤差對角度的影響降到最低,那么三點分步重合算法的精度就最高。在徑向上選取兩點A和B,運動前A和B分別在A0和B0的位置上,運動后A和B分別在A1和B1的位置上。將這些點向垂直于轉動軸的平面投影,并將B0和B1重合,如圖7所示。

圖7 誤差分析示意圖
A’1是A運動后的實際位置,A1是測量的位置。A1與A’1之間的誤差既有A點測量的誤差,又有B點測量的誤差,即為δpA+δpB。該誤差所導致角度的誤差與該誤差的關系為:
式中,d為A和B的距離。可知在徑向上,如果選取兩點的徑向距離越大,其位置誤差引起的角度誤差越小。眾所周知,若一個點離轉動軸越遠,同一個角度下,其運動的距離也就越大。若一個點離轉動軸越近,同一個角度下,其運動的距離也就越小。因此徑向方向上兩點的選取可以通過運動位移作為選擇最佳兩點的標準。通過該標準,選取位移最大的和位移最小的兩個點。
基于以上分析,設計如圖8的尋找最優兩點的程序。程序流程圖中的i是點的編號,pi是點i運動前的坐標,qi是運動后的坐標。di是編號i的點運動前后的距離。dmax是用于存儲當前所遍歷到第i個點時發現的最大運動距離的變量,dmin為存儲發現的最小距離的變量。該程序最后輸出的是運動最大距離的點的編號和運動最小距離的點的編號。

圖8 最優兩點的搜尋流程圖
可在軸向上選取一點,根據同樣的原理,如果C點離A和B的距離最遠,如圖9所示,那么C點測量的位置誤差對角度誤差影響最小。也就是說如果點A、點B和點C形成的三角面片的面積最大,那么位置誤差對角度誤差的影響最小。

圖9 最優第三點的位置
三角形ABC的面積計算如下:
S=|AB×AC|
使S最大點就是選取的第三點C。
為驗證三點分步重合算法的精度,進行精度驗證試驗。采用轉臺作為實際的轉動角度基準。在轉臺上設置兩個面,一個是曲面,一個是平面。平面的法線與轉臺轉動軸線垂直,曲面可以形成與轉臺軸線不垂直的面。轉臺在-25到25度之間運動,每5度測量三次。為了樣點測量方便,采用拍照測量方式。即在平面和曲面上事先貼上標記點,再通過這些標記點計算平面和曲面的轉動角度,再與實際轉臺的角度進行對比,形成如下實驗數據。

表1 精度驗證實驗數據 單位:度
從表1中可知,曲面樣點計算的誤差絕對值的平均值為0.023度,誤差最大為-0.048 1,這是該算法用于軸線不垂直的情況;平面樣點計算的誤差絕對值平均值為0.015 3度,誤差最大值為-0.044 1,這是該算法用于軸線垂直的情況。將每個角度的三個測量數據誤差平均并取絕對值,可作圖10的誤差變化曲線。

圖10 誤差變化曲線
圖10中,虛線為曲面樣點計算(即軸線不垂直)的誤差曲線,實線為平面樣點計算軸線(即垂直)的誤差曲線。從圖10中可以看出,在軸線不垂直時的誤差相對與軸線垂直的誤差較大,隨著角度增大誤差也增大。前者的主要原因是軸線垂直重合過程兩步即可完成,一步是平移,另一步是旋轉;而軸線垂直不垂直時重合過程有三步,一步平移和兩步旋轉。隨著角度增大誤差也增大的主要原因是角度每一次增加會有一定的誤差累積,該情況在很多算法中也會存在,是一個通病,可不作為衡量算法好壞的標準。通過本精度驗證實驗可知,本試驗的三點重合算法的誤差在0.05度范圍內,該誤差滿足實際生產中飛機活動面的轉角測量要求。
本文提出了一種三點重合的算法用于拍攝測量活動面角度或激光跟蹤儀測量活動面角度,重合的過程是先平移是某個點在運動前后位置重合。再繞已經重合的點將另一點旋轉重合,這樣面片的一條線段也重合。最后,以該線段為旋轉軸,將另一點旋轉重合。兩次旋轉重合對應的旋轉矩陣相乘即得到最終的旋轉矩陣,通過該旋轉矩陣得到最終的轉動角,也就是活動面的轉動角。
然后從原理上對誤差進行分析,提出一種最佳選取三點的方法,即選取前后運動位移最小的點和最大點,再選取一點離之前兩點連成的直線最遠的點,這樣可形成面積最大的三角面片,從而減少位移測量產生的誤差對旋轉角度計算上的誤差。設計一種實驗,該實驗采用拍攝測量的方式,以快速取得多個樣點。設置一轉臺,轉臺上設置一曲面與一平面,通過比較曲面樣點計算的角度、平面樣點計算得到的角度與轉臺實際轉動的角度進行對比。該實驗結果表明,本文所提出的三點重合的算法誤差在0.05度范圍內,滿足飛機活動面的轉角測量要求。