2012-12-30 78 views
6

快速介紹:
我們正在開發一種定位系統,其工作原理如下。我們的相機位於機器人上並朝上(朝天花板方向)。在天花板上我們有像地標這樣的東西,多虧我們可以計算出機器人的位置。它看起來像這樣:定位系統中相機傾斜的程序校正

enter image description here

我們的問題:
相機傾斜了一下(0-4度,我認爲),因爲機器人的表面並不完全是偶數。這意味着,當機器人轉身但坐在相同的座標上時,攝像機會看到天花板上的不同位置,因此我們的定位程序會產生機器人的不同位置,即使它只是轉過身而未被移動位。

我們目前的(硬編碼)解決方案:
我們已經採取了一些測試照片從相機中,圍繞透鏡軸轉動它。從圖片中我們推斷出它傾斜約。在圖片的「向上方向」4度。使用一些簡單的幾何變換,我們設法減少傾斜效應並找到真實的相機位置。在下面的圖片上,灰點表示圖片的中心,黑點表示相機所在的天花板上的真實位置。黑點由灰點轉換而來(其位置是通過修正灰點位置來計算的)。正如您可以輕鬆注意到的那樣,灰色圓點在天花板上形成一個圓圈,黑色圓點則是該圓圈的中心。

enter image description here

enter image description here

enter image description here

enter image description here

與我們的解決方案的問題:
我們的做法是完全不可移植。如果我們將相機移動到新的機器人上,傾斜的角度和方向將不得不被完全重新校準。因此,我們希望將校準階段留給用戶,這需要拍攝一些照片,由他評估傾斜參數,然後將其設置在程序中。我對你的問題是:你能想出任何更好的(更自動的)解決方案來計算傾斜參數或糾正照片上的傾斜嗎?

+1

你可不可以在相機下面放置某種平整平臺嗎?我確信有這樣一個軟件解決方案,但它可能不是微不足道的,可能難以實現,並且您如何知道它在所有情況下都能正常工作?調平相機似乎是一個更簡單,更全面的解決方案。 – Richard

+0

是的,我們也考慮過硬件解決方案,特別是使用公牛眼的水平,但如果存在其他可能性,我們也想了解其他可能性。 – Wojtek

回答

5

不錯的工作。自動校準是一個很好的挑戰。

一個想法是使用屋頂瓦片的平行線: 如果攝像機是完全水平的,那麼所有的線條也將在圖片中平行。 如果照相機傾斜,則所有線條都是割線(它們相交於消失點)。

現在,這可能很難實現。對於您使用的相機,首先需要糾正失真,以便線條確實是筆直的。

您的實際方法可能更簡單,更健壯。正如你所描述的那樣,它似乎可以自動變成用戶友好的。讓機器人自行開啓,並務實地確定圖片中哪個點位於相同的位置。

+0

感謝您的回答。事實上,完全自動配置似乎不太可能,我們的教授也有同樣的觀點。我們已經考慮過使用加速計,市場上有一些非常小的產品。我們會看到:) – Wojtek

+0

我們剛剛在我們的i2c總線板上安裝了一個加速度計。似乎工作正常,現在我們必須爲它編寫一段代碼,並希望它能工作。只是想讓你知道。 – Wojtek