(Python)我正在使用一個IMU(慣性測量單元)裝上覆蓋角度爲[roll,pitch,yaw]的覆盆子pi。Python:我如何「零」或「去皮」3D旋轉座標?
該芯片似乎有一個硬件'零',無法校準,因此在我想要的軟件。
即當我打開芯片時,我可能會讀取theta = [10, 5, -80]
*並想將其設置爲我的'零'。 *角度的範圍是+ - 180deg並且可以在拉德如果容易
我有一個粗的解決方法,但我的東西更優雅後:
tare = [*read initial angles*] # This only gets set once
#inside a loop
theta = [*read the imu*]
deg = map(operator.sub, theta, tare) #zero correction, deg = actual (theta) - 'zero' (tare)
for d in deg: # if angle > 180 then put angle in terms of +_ 180
if d > 180: d = d - 360
elif d < -179: d = d + 360
print deg
我一直都盼望到這一段時間現在和一些人已經提到四元數和輪換矩陣但我不能讓我的頭。 任何幫助將不勝感激!
這裏是有人在C achieveing它++爲同一庫我使用,以獲得從IMU的數據鏈接: Link
其它潛在有用的(計算器)鏈接: Link