2016年7月30日 星期六

神魔之塔之外理外掛

起因是看到這篇文章

https://www.youtube.com/watch?v=gMySGU0J7Ss

覺得這個網友真是太強大了...太牛逼了.....

剛好資策會的嵌式入軟體班也要做專題.....不如就來做這個吧...

一開始我們是先用 rpi 來打造 prototype....




攝影機是買羅技的C310....      然後採用 rpi3 來當作處理器.... 至於機構則是用這台

https://world.taobao.com/item/45674397950.htm?fromSite=main&spm=a312a.7700846.0.0.ObHdmq&_u=v2bnm38c3a30


這邊是我們的Demo 影片...  由於我們後來也有移植到android 系統上...所以有兩個版本的demo

android :  https://www.youtube.com/watch?v=_igjvJaxMZ8

rpi       :    https://www.youtube.com/watch?v=yaF_8Ga6jjo


===============================================================
然後整個系統主要是分成3個部分...

1.  電腦視覺

2.  轉機演算法

3.  機構驅動

============================================================

電腦視覺:


這邊大概就是install opencv...   然後從 video_device 擷取照片...

然後利用原本已經存在資料庫的圖片進行比對...  可以參考下圖



最主要是利用templatematch ()這個api   來進行比對.....

在這個步驟完...可以得到一個   2D array ... 然後裡面代表每個格子的珠號...例如:  紅色機子是1

號,  黃色珠子是4號....紫色珠子是5號...等等...

===========================================================

轉珠演算法:

     請看下面這張圖片

 


最主要是靠BFS 的演算法來計算有幾個combo..  就是圖中的分數演算法.....

利用BFS可以找到這條路徑上所有的點的特性....

得到分數最高的路徑之後....就可以準備計算路徑並且生成G code

=================================================================

機構驅動

 


大概的做法就是如上面這張圖所示......     利用Grbl 的G code format 來傳送命令...

ex:    G0   x300     ->   往x軸的正方向移動300mm.....

====================================================================


如果有任何問題...歡迎寫信給我...    jacky.chi.0328@gmail.com
   

沒有留言:

張貼留言