2014-10-16 77 views
0

我有兩個相對於ECI座標系的具有位置和方向數據(歐拉角,四元數)的運動物體。我想從我猜測的第一個對象的「身體框架」中計算AZ/EL。我試圖通過旋轉矩陣(X-Y-Z和Z-Y-X旋轉序列)將這兩個對象轉換爲主體框架,並用這種方式計算目標向量AZ/EL,但沒有成功。我也試圖獲得身體框架的位置和計算身體軸/角度,並轉換回歐拉(相對於身體框架)。我不知道我應該創建的座標系軸是如何沿着我的對象對齊的。相對於第一個物體的方向,從一個運動物體到另一個運動物體的方位角和仰角

我發現了其他一些問題,如四捨五入解決方案的答案,以便可能是最好的路徑,但是我的四元數最好的背景是最好的,我沒有看到給定的計算結果如何導致目標向量。

任何意見,將不勝感激,我很高興分享我未來的進展/經驗。

+0

會像[this](http://www.mathworks.nl/help/aerotbx/ug/quat2angle.html)幫助嗎?如果您沒有航空航天工具箱,您可以輕鬆地在線找到類似的功能。 – MeMyselfAndI 2014-10-16 19:06:31

+0

我相信這將有助於如果我有一個四元數相對於兩個對象之間的身體框架。像這樣容易計算嗎? – bottleR 2014-10-16 19:13:13

回答

1
  1. 獲取當前尼變換矩陣的移動物體

    必須知道位置和北,東,身高至少兩個方向(向上或高度)移動的否則對象是你的問題無法解決無論如何。該矩陣/幀稱爲NEH(X =北,Y =東,Z =高)或有時也稱爲ENU(X =東,Y =北,Z =上)。看看這裏transform matrix anatomy和這裏Earth's NEH construction並改變位置和半徑以匹配你的移動物體。從GCS

  2. 轉換點P0(全球座標系)到尼

    簡單:P1=Inverse(NEH)*P0其中P1現在在 LCS(局部座標系)。這兩個P0,P1在齊次座標{ x,y,z,w=1 },以便與4x4矩陣乘法,所以你可以從它直接計算方位角和仰角:

    NEH vs. Azimutal coordinates

    • Azimut=atanxy(P1.x,P1.y);
    • Elevation=atan(P1.z/sqrt((P1.x*P1.x)+(P1.y*P1.y)));

    其中atanxy是我的atan2(4象限atan)首先是dx然後dy。我認爲matlab中的atan2反過來。

[註釋]

始終目視檢查所有幀(尤其是NEH)。只需將3個軸畫成一些長度的線來驗證結果是否正確。它應該看起來像圖像,每個軸只有不同的顏色。 只有在NEH OK的情況下才能移動到下一個點!

檢查atan2/atanxy操作數的順序,並檢查測角功能單位(rad,deg),以避免混淆。

相關問題