如何把一臺3D打印機改裝成會下棋的機器人
自從谷歌deep Mind團隊研發的人工智能系統AlphaGo在與歐洲圍棋冠軍圍棋對弈中5:0完勝,緊接著,它又約戰圍棋世界冠軍李世乭,google 會下棋的機器人就火了。其實會下棋的機器人也沒有那么神秘,因為軟件開發人員兼創客Patrick Graham決定要制造一臺能夠下棋的機器人,他希望能夠在幾個月后的2016 Raleigh創客嘉年華上展示它的時候。
不過Graham是一個現實的人,他知道,從頭開始打造一臺這樣的機器人肯定是來不及了,可行的辦法是找到一臺現成的機器人,并將其改裝成能夠下棋的機器。于是他轉向在當地創客空間里的朋友。幸好,有一位小伙伴有一臺舊的3D打印機,就轉給了他。因為在工程師們看來,本質上,3D打印機其實就是一臺簡單的機器人,而且它們同樣都使用G代碼作為機器語言。
這是一臺相當大的Rostock Delta Bot 3D打印機,Graham的計劃是將其快速改裝為一臺拾放機,為此他將用電磁鐵代替打印頭來操縱棋子。每個棋子的頂部都安放了一個同樣高度的鐵釘,使得機器人能夠更加容易地抓住它們。
根據打印床的尺寸,Graham將棋盤大小確定為7英寸見方。而這臺Delta 3D打印機的最大構建打印尺寸為8英寸。Graham知道,如果他將棋盤的大小設定為跟打印床差不多的話,那么棋盤上的有些位置打印頭肯定夠不著,于是他選擇適當地縮小了棋盤的尺寸。而創客空間的另一位朋友為他提供了棋子現成的可3D打印文件,所以他很快就打印出一整套尺寸正好的國際象棋棋子,還有一些朋友幫助他制作電磁鐵和將釘子嵌入3D打印件的頂部。所以這個項目真的是一個團隊努力的結果。
當硬件都制作完成之后,Graham的下一步就是教機器人如何下棋。由于大多數的玩國際象棋的程序使用代數符號來記錄和管理步數,他需要找到一種方法將其轉換為G代碼。最終他打造了一個完整的庫,將所有的步數都轉換為了G代碼。不過遺憾的是他使用的從代數符號到G代碼的轉換器并不追蹤游戲棋子,所以還需要使用一種可逆代數符號將步數編程進去。玩家只需輸入起點和終點位置,機器人就能夠拿起棋子,并將其移動到指定的地方。
下面是這臺3D打印機下棋的視頻:
經過了許多個不眠之夜和一群來自創客空間的朋友們的幫助,Graham設法在Raleigh創客嘉年華開始之前完成了這個項目。不過對這個下棋機器人他在未來還有很多計劃,其中首先要做的事提高機器人的運動精度和消除一些生澀的動作,讓它能夠更快的移動棋子;另外他還想升級軟件,使它可以跟蹤所有的棋子;以及為它加上無線功能,可以連接某個app等。
點擊此處進入Graham的網站了解這個很快的國際象棋3D打印機更多的信息。
(責任編輯:admin)