第1步:要求
所有代碼都是用Python編寫的,它將在Raspberry Pi上運(yùn)行。
Raspberry Pi是一種小型,廉價(約40美元)的單板計算機(jī)。由Raspberry Pi基金會開發(fā)。原始模型變得比預(yù)期的要受歡迎得多,它被出售用于機(jī)器人技術(shù)。
我的機(jī)器人使用Raspberry Pi,并且機(jī)器人手臂是通過套件Lynxmotion AL5D構(gòu)建的。該套件隨附伺服控制器板。 (我剛剛給出的鏈接是到RobotShop的美國站點(diǎn)的;請單擊其站點(diǎn)頁面右上方您所在國家(例如英國)的標(biāo)志之一。
您還需要一個表格,攝像頭,照明設(shè)備,鍵盤,屏幕和指示設(shè)備(例如鼠標(biāo))。當(dāng)然還有棋子和棋盤。我將在后續(xù)步驟中更詳細(xì)地描述所有這些內(nèi)容。
步驟2:硬件構(gòu)建
正如我之前指出的,視覺代碼的核心將適用于各種構(gòu)建。
該構(gòu)建使用Lynxmotion的機(jī)械臂套件AL5D。該套件包含一個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)(購買預(yù)裝的SD卡以及您的Raspberry Pi或下載NOOBS來自己加載卡)
鍵盤和鼠標(biāo)(請參閱下文)
通過Raspberry Pi 4的微型HDMI端口連接到顯示器的電纜
我需要進(jìn)一步伸手去拿機(jī)器人手臂,因此我做了一些較小的修改,使用了可以從RobotShop購買的其他Lynxmotion零件:
1。將4.5英寸的管換成6英寸的管。
2。嘗試使用另外一組彈簧,但是當(dāng)我實(shí)施下面的第3項時又回到了一對。
3。使用1英寸的墊片-Lynxmotion部件HUB-16
4擴(kuò)展了高度。使用我擁有的一些備用樂高零件和松緊帶(?。└浇拥膫溆脢A持器墊來擴(kuò)大夾持器的作用范圍,效果非常好,因?yàn)樗谔嵘慵r具有靈活性。
可以在右上方的圖像中看到這些修改。
在棋盤上方安裝了一個攝像頭。
步驟3:移動機(jī)器人的軟件
所有代碼均用Python 2編寫。逆運(yùn)動學(xué)為了正確移動各種馬達(dá),需要代碼,以便可以移動棋子。我使用了Lynxmotion的庫代碼,該庫代碼支持二維移動電動機(jī),并在我自己的代碼中添加了3個維度(抓爪角度和抓爪下巴運(yùn)動)的代碼。
因此,我們有了可以移動的代碼碎片,碎片,城堡,輔助傳遞等等。
國際象棋引擎是Stockfish-可以擊敗任何人! “ Stockfish是世界上最強(qiáng)大的國際象棋引擎之一。它也比人類最好的國際象棋大師強(qiáng)得多?!?/p>
驅(qū)動國際象棋引擎,驗(yàn)證動作是否有效的代碼,等等。第四是ChessBoard.py
我使用來自http://chess.fortherapy.co.uk的一些代碼與之交互。我的代碼(上面)然后與之交互!
步驟4:識別人類活動的軟件
我已經(jīng)在Instructable中對此進(jìn)行了詳細(xì)描述。為我的國際象棋機(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)在還使用另一臺攝像機(jī)-HP Webcam HD 2300,因?yàn)槲覠o法使以前的攝像機(jī)可靠運(yùn)行。
算法如果棋盤的顏色與棋子的顏色相去甚遠(yuǎn),則效果最好!在我的機(jī)器人中,棋子是灰白色和棕色,而國際象棋棋盤是手工制作的卡片,是淺綠色的,在“黑色”和“白色”方塊之間幾乎沒有差異。
這些算法需要相機(jī)到板的特定方向。如果您遇到問題,請在下面發(fā)表評論。手臂的作用范圍有限,因此正方形尺寸應(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)動學(xué)庫-https://github.com/Lynxmotion/Arms/tree/master/Code%20examples/Python%20(RPi)
5。我的代碼會調(diào)用上面的所有代碼,并讓機(jī)器人進(jìn)行移動,還有我的視覺代碼。通過發(fā)表評論從我這里得到這個,我會回復(fù)。
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
29627瀏覽量
212224 -
樹莓派
+關(guān)注
關(guān)注
121文章
1981瀏覽量
107237
發(fā)布評論請先 登錄
評論