快速介紹:
我們正在開發一種定位系統,其工作原理如下。我們的相機位於機器人上並朝上(朝天花板方向)。在天花板上我們有像地標這樣的東西,多虧我們可以計算出機器人的位置。它看起來像這樣:定位系統中相機傾斜的程序校正
我們的問題:
相機傾斜了一下(0-4度,我認爲),因爲機器人的表面並不完全是偶數。這意味着,當機器人轉身但坐在相同的座標上時,攝像機會看到天花板上的不同位置,因此我們的定位程序會產生機器人的不同位置,即使它只是轉過身而未被移動位。
我們目前的(硬編碼)解決方案:
我們已經採取了一些測試照片從相機中,圍繞透鏡軸轉動它。從圖片中我們推斷出它傾斜約。在圖片的「向上方向」4度。使用一些簡單的幾何變換,我們設法減少傾斜效應並找到真實的相機位置。在下面的圖片上,灰點表示圖片的中心,黑點表示相機所在的天花板上的真實位置。黑點由灰點轉換而來(其位置是通過修正灰點位置來計算的)。正如您可以輕鬆注意到的那樣,灰色圓點在天花板上形成一個圓圈,黑色圓點則是該圓圈的中心。
與我們的解決方案的問題:
我們的做法是完全不可移植。如果我們將相機移動到新的機器人上,傾斜的角度和方向將不得不被完全重新校準。因此,我們希望將校準階段留給用戶,這需要拍攝一些照片,由他評估傾斜參數,然後將其設置在程序中。我對你的問題是:你能想出任何更好的(更自動的)解決方案來計算傾斜參數或糾正照片上的傾斜嗎?
你可不可以在相機下面放置某種平整平臺嗎?我確信有這樣一個軟件解決方案,但它可能不是微不足道的,可能難以實現,並且您如何知道它在所有情況下都能正常工作?調平相機似乎是一個更簡單,更全面的解決方案。 – Richard
是的,我們也考慮過硬件解決方案,特別是使用公牛眼的水平,但如果存在其他可能性,我們也想了解其他可能性。 – Wojtek