2009-10-07 100 views
7

夫婦的朋友,我將建立簡單的機器人開始追蹤並用黑色底白線,我們從來沒有做過這樣的事情,我有攻擊的非常高的水平的計劃,機器人和計算機視覺

獲取所有計算需求的迷你atx板,用於跟蹤道路的網絡攝像頭和用於推進方向的兩個電動馬達。

我主要關心的是,有沒有更好的方法來追蹤道路?或者網絡攝像頭爲這項工作工作?

編輯:

跟進利用光敏電阻的答案似乎是要走的路,府,我有一個問題會有信號,軌道權告訴機器人該走哪條路。再次在黑色的白色。比如我必須在t-junction上留下一個左撇子。有沒有辦法處理這個沒有相機?

回答

13

最好是繞過精巧的視覺軟件,並使用簡單的電子設備。有一種稱爲光敏晶體管的器件對光敏感。在機器人的兩側向下指向兩個,從上面的光線被遮住。如果機器人開始向右而不是跟隨線路,左側傳感器將被激活。如果它向左走,則右邊的一個將被激活。使用這些信號的反饋來引導機器人(如果您有兩個電機,您可能幾乎直接將它們應用於電機)。

2

我提出在學校類似機器人,和由兩個小的傳感器,基本上只LDR在防光管有電路來控制光的從開到關所作的翻轉閾值。它使邏輯變得非常簡單 - 這個傳感器下面是否有黑線?是|否。

使用網絡攝像頭可能涉及相當多的視覺處理。

但是在此期間,您可以在其他子系統,即從計算機控制的電機,並建立了事物本身並搞清楚如何來驅動它的所有工作。

+1

請記住,機器人很複雜,而且可能會發生很多事情。簡單很好。很好。至少,讓機器人與LDR一起工作,所以你不會同時調試所有的東西。 – 2009-10-07 16:16:11

5

網絡攝像頭不會有任何麻煩跟蹤在黑色背景上的白線,如果你發現你有問題的敏感性,這是一個容易升級一塊系統。 (你只需要在一個更昂貴的凸輪堵塞)

它可能感興趣你看看OpenCV

(開源計算機視覺)是編程功能的實時庫計算機視覺。

它可能給你一些想法爲你實現,甚至是對你有用的,如果你最終使用C++

編輯:雖然使用的LDR像安德魯中號建議可能是一個簡單的解決方案: )

+1

+〜如果視覺跟蹤更復雜,OpenCV是一個很好的解決方案。我同意,其他地方提出的光電探測器是解決這個特定問題的簡單方法。 – kenny 2009-10-13 22:12:59

0

會建議你使用兩個馬達來驅動它,一個每邊坐在機箱的中間,那麼雙腳輪前部和後部(升離地面略微因此它可以在驅動輪巖)。然後你可以像坦克一樣駕駛它,它可以打開六便士(如果來自美國,則爲一毛錢)。

現貨除權機器人大戰選手 :)

+0

爲了簡單起見,我通常使用3。除了重量平衡(在驅動輪上)是否有理由使用2個腳輪而不是1個?對準? – NVRAM 2009-10-07 16:27:24

+0

簡單是好的,所以如果三個工作,然後堅持下去。使用兩種方法可以使驅動輪位於機器人的中間位置,這樣您就可以使其具有更緊密的轉彎循環。根據您駕駛的表面,您可以嘗試在杯子佈置中使用尼龍滑塊或滾珠軸承,這意味着您可以在現場完美旋轉,腳輪可以將您踢出一點,因爲它們必須旋轉自己。希望有所幫助 – 2009-10-12 12:28:18

2

有關使用光電傳感器上的意見是很好的建議,雖然他們可能很難找到/製作的東西,將插入一個USB端口。

如果你確實走相機路線,我建議你模擬一個簡單的傳感器;也許將輸入的左右兩半的平均值作爲直行/左/右驅動的指示。

但是,如果您想花更少的時間來構建自定義作品,則可以查看LEGO NXT kit。他們配備了光學傳感器和圖形編程環境。即使你不買一個,你也可以從圍繞它的社區討論中學習。

0

如果用相機去,你可能需要做一些簡單的圖像處理。最簡單的方法可能是自適應閾值處理 - 從相機幀取所有像素,轉換爲灰度(如果它是彩色的),計算平均值並將其用作閾值 - 您將在黑色背景上有白線。如果仍然有小的白色斑點(由於光照不均勻),可以將圖片分成連接的組件(使用填充)和去除小斑點進行過濾。之後,你希望在黑色背景上獲得單個白色條紋。