Raspberry Pi球跟蹤機械人使用處理

2021-09-19 03:21:16 字數 2980 閱讀 5467

機械人,人工智慧和機器學習領域正在迅速發展,它必將在不久的將來改變人類的生活方式。機械人被認為通過感測器和機器學習處理來理解現實世界並與之互動。影象識別是一種流行的方式,通過像我們一樣通過相機觀察現實世界,機械人被認為可以理解物體。在這個專案中,讓我們利用raspberry pi的強大功能構建乙個可以跟蹤球並跟隨它的機械人,就像踢足球的機械人一樣。

opencv是乙個非常著名的開源工具,用於影象處理,但在本教程中為了簡單起見,我們使用的是processing ide。由於arm的處理也發布了用於處理的gpio庫,因此我們不必再在python和處理之間切換以使用raspberry pi。聽起來很酷吧?那麼讓我們開始吧。

樹莓派相機模組用帶狀電纜

機械人底盤

帶輪的減速電機

l293d電機驅動器

移動電源或任何其他可攜式電源

raspberry pi的監視器或其他顯示器

pi的鍵盤或滑鼠

處理arm軟體

如前所述,我們將使用處理環境來程式設計我們的raspberry pi,而不是使用python的預設方式。因此,請按照以下步驟操作:

步驟1: -將raspberry pi連線到顯示器,鍵盤和滑鼠,然後將其開啟。

步驟5: -現在,開啟解壓縮的資料夾,然後單擊名為processing的檔案。它應該開啟乙個視窗,如下所示。

第6步: -這是我們輸入**的環境。對於熟悉arduino的人,不要感到震驚是ide看起來與arduino類似,程式也是如此。

第7步: -我們需要兩個庫來完成我們的球跟蹤程式,安裝然後只需單擊草圖 - >導入庫 - >新增庫。將開啟以下對話方塊。

步驟8: -使用左上角的文字框搜尋raspberry pi並按enter鍵,搜尋結果應該如下所示。

步驟9: -搜尋名為「gl video」和「hardware i / o」的庫,然後單擊「安裝」進行安裝。確保安裝兩個庫。

第10步: -根據您的網際網路安裝將需要幾分鐘。完成後,我們就可以處理軟體了。

raspberry pi球跟蹤專案的電路圖如下所示。

如您所見,該電路涉及pi攝像頭,電機驅動器模組和連線到raspberry pi的一對電機。整個電路由移動電源組供電(在上面的電路中由aaa電池代表)。

由於raspberry pi上沒有提到引腳細節,我們需要使用下圖來驗證引腳

為了驅動電機,我們需要四個引腳(a,b,a,b)。這四個引腳分別從gpio14,4,17和18連線。橙色和白色線一起形成乙個電機的連線。所以我們有兩個這樣的兩個電機對。

電機連線到l293d電機驅動器模組,如圖所示,驅動器模組由電源組供電  。確保移動電源的接地連線到raspberry pi的接地,然後才能連線。

這就是我們完成了硬體連線,讓我們回到我們的處理環境並開始程式設計,教我們的機械人如何跟蹤球。

該項目的完整processing程式在本頁末尾給出,您可以直接使用。在下面,我已經解釋了**的工作,以便您可以將它用於其他類似的專案。

import processing.io.*;

import gohai.glvideo.*;

void setup()
void draw() }

for (int x = 0; x < video.width; x ++ )
一旦我們有了軌道顏色和當前顏色,我們就必須比較它們。這種比較是使用dist函式。它會檢查當前顏色與軌道顏色的接近程度。

float d = dist(r1, g1, b1, r2, g2, b2);
對於完全匹配,dist值將為零。因此,如果dist的值小於指定值(世界記錄),那麼我們假設我們已經找到了軌道顏色。然後我們得到該畫素的位置並將其儲存在最接近x和最近y的變數中以找到球的位置

if (d < worldrecord)
我們還在找到的顏色周圍繪製乙個橢圓,表示已找到顏色。位置的值也會列印在控制台上,這在除錯時會有很大幫助。

if (worldrecord < 10)
同樣,我們可以檢查x和y的位置,以控制所需方向的電機。與往常一樣,您可以參考頁面底部的完整程式。

個人對於session cookie跟蹤機制的理解

儲存會話的狀態有兩種方式 session 和cookie,session是伺服器端儲存資訊,cookie在客戶端儲存資訊。本身session的跟蹤機制就是要依賴於cookie,跟蹤機制就是要來確定乙個問題,哪個會話對應哪個session物件。在服務端,我們給每個 session物件建立乙個獨一無二的...

清華機試oj 球的半徑和體積

輸入球的中心點和球上某一點的座標,計算球的半徑和體積 輸入描述 球的中心點和球上某一點的座標,以如下形式輸入 x0 y0 z0 x1 y1 z1輸出描述 輸入可能有多組,對於每組輸入,輸出球的半徑和體積,並且結果保留三位小數 為避免精度問題,pi值請使用arccos 1 示例1 0 0 0 1 1 ...

2019愛奇藝機試題 紅藍球

袋子中裝有n個紅球和m個藍球,a,b,c,三人依次抽取小球,若a抽到紅球則勝出,b抽到紅球則a失敗,c陪跑,純粹出來搗亂。但如果袋內紅球被抽完還未決斷勝負,則判定為b勝出。求a勝出概率。模擬抽球過程,採用遞迴的方式實現概率計算。n,m int x for x in input split defpr...