第1步:要求
所有代碼都是用Python編寫的,它將在Raspberry Pi上運(yùn)行。
Raspberry Pi是一種小型,廉價(jià)(約40美元)的單板計(jì)算機(jī)。由Raspberry Pi基金會(huì)開發(fā)。原始模型變得比預(yù)期的要受歡迎得多,它被出售用于機(jī)器人技術(shù)。
我的機(jī)器人使用Raspberry Pi,并且機(jī)器人手臂是通過套件Lynxmotion AL5D構(gòu)建的。該套件隨附伺服控制器板。 (我剛剛給出的鏈接是到RobotShop的美國(guó)站點(diǎn)的;請(qǐng)單擊其站點(diǎn)頁(yè)面右上方您所在國(guó)家(例如英國(guó))的標(biāo)志之一。
您還需要一個(gè)表格,攝像頭,照明設(shè)備,鍵盤,屏幕和指示設(shè)備(例如鼠標(biāo))。當(dāng)然還有棋子和棋盤。我將在后續(xù)步驟中更詳細(xì)地描述所有這些內(nèi)容。
步驟2:硬件構(gòu)建
正如我之前指出的,視覺代碼的核心將適用于各種構(gòu)建。
該構(gòu)建使用Lynxmotion的機(jī)械臂套件AL5D。該套件包含一個(gè)SSC-32U伺服控制器板,用于控制手臂中的電機(jī)。
我使用的Raspberry Pi I是Raspberry Pi 3 Model B +。這通過USB連接與SSC-32U板通信。
編輯:Raspberry Pi 4現(xiàn)在可用。
您將需要:
15W USB-C電源–我們建議使用正式的Raspberry Pi USB-C電源
裝有NOOBS的microSD卡,該軟件可安裝操作系統(tǒng)(購(gòu)買預(yù)裝的SD卡以及您的Raspberry Pi或下載NOOBS來自己加載卡)
鍵盤和鼠標(biāo)(請(qǐng)參閱下文)
通過Raspberry Pi 4的微型HDMI端口連接到顯示器的電纜
我需要進(jìn)一步伸手去拿機(jī)器人手臂,因此我做了一些較小的修改,使用了可以從RobotShop購(gòu)買的其他Lynxmotion零件:
1。將4.5英寸的管換成6英寸的管。
2。嘗試使用另外一組彈簧,但是當(dāng)我實(shí)施下面的第3項(xiàng)時(shí)又回到了一對(duì)。
3。使用1英寸的墊片-Lynxmotion部件HUB-16
4擴(kuò)展了高度。使用我擁有的一些備用樂高零件和松緊帶(!)附接的備用夾持器墊來擴(kuò)大夾持器的作用范圍,效果非常好,因?yàn)樗谔嵘慵r(shí)具有靈活性。
可以在右上方的圖像中看到這些修改。
在棋盤上方安裝了一個(gè)攝像頭。
步驟3:移動(dòng)機(jī)器人的軟件
所有代碼均用Python 2編寫。逆運(yùn)動(dòng)學(xué)為了正確移動(dòng)各種馬達(dá),需要代碼,以便可以移動(dòng)棋子。我使用了Lynxmotion的庫(kù)代碼,該庫(kù)代碼支持二維移動(dòng)電動(dòng)機(jī),并在我自己的代碼中添加了3個(gè)維度(抓爪角度和抓爪下巴運(yùn)動(dòng))的代碼。
因此,我們有了可以移動(dòng)的代碼碎片,碎片,城堡,輔助傳遞等等。
國(guó)際象棋引擎是Stockfish-可以擊敗任何人! “ Stockfish是世界上最強(qiáng)大的國(guó)際象棋引擎之一。它也比人類最好的國(guó)際象棋大師強(qiáng)得多?!?/p>
驅(qū)動(dòng)國(guó)際象棋引擎,驗(yàn)證動(dòng)作是否有效的代碼,等等。第四是ChessBoard.py
我使用來自http://chess.fortherapy.co.uk的一些代碼與之交互。我的代碼(上面)然后與之交互!
步驟4:識(shí)別人類活動(dòng)的軟件
我已經(jīng)在Instructable中對(duì)此進(jìn)行了詳細(xì)描述。為我的國(guó)際象棋機(jī)器人樂高積木游戲-不需要在這里重復(fù)!
我的“黑色”作品本來是棕色的,但是我將它們涂成了啞光黑色(帶有“黑板上的油漆”),這使得
第5步:攝像頭,燈光,鍵盤,桌子,顯示器
這些與我的Chess Robot Lego版本中的相同,因此在此無需重復(fù)。
除了這次我使用了另一種更好的揚(yáng)聲器,即Lenrui藍(lán)牙揚(yáng)聲器,該揚(yáng)聲器通過USB連接到RPi。
可從amazon.com,amazon.co獲得.uk和其他渠道。
我現(xiàn)在還使用另一臺(tái)攝像機(jī)-HP Webcam HD 2300,因?yàn)槲覠o法使以前的攝像機(jī)可靠運(yùn)行。
算法如果棋盤的顏色與棋子的顏色相去甚遠(yuǎn),則效果最好!在我的機(jī)器人中,棋子是灰白色和棕色,而國(guó)際象棋棋盤是手工制作的卡片,是淺綠色的,在“黑色”和“白色”方塊之間幾乎沒有差異。
這些算法需要相機(jī)到板的特定方向。如果您遇到問題,請(qǐng)?jiān)谙旅姘l(fā)表評(píng)論。手臂的作用范圍有限,因此正方形尺寸應(yīng)為3.5厘米。
步驟6:獲取軟件
1。 Stockfish
如果您在RPi上運(yùn)行Raspbian,則可以使用Stockfish 7引擎-它是免費(fèi)的。只需運(yùn)行:
sudo apt-get install stockfish
2。 ChessBoard.py從這里獲取。
3?;趆ttp://chess.fortherapy.co.uk/home/a-wooden-chess的代碼。..隨附了我的代碼。
4。 Python 2D逆運(yùn)動(dòng)學(xué)庫(kù)-https://github.com/Lynxmotion/Arms/tree/master/Code%20examples/Python%20(RPi)
5。我的代碼會(huì)調(diào)用上面的所有代碼,并讓機(jī)器人進(jìn)行移動(dòng),還有我的視覺代碼。通過發(fā)表評(píng)論從我這里得到這個(gè),我會(huì)回復(fù)。
-
機(jī)器人
+關(guān)注
關(guān)注
211文章
28483瀏覽量
207440 -
樹莓派
+關(guān)注
關(guān)注
117文章
1709瀏覽量
105713
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論