標籤:

怎麼能做出一台在 5 秒內解開魔方的機器人 ?

用樂高EV3怎麼能做出一台在5秒內解開魔方的機器人 ?


我不知道樂高怎麼用,不過我能提供一些思路:

目前最快的魔方機器人是cubestormer 3, 就是這個視頻封面CUBESTORMER 3 Smashes Rubik_s Cube Speed Record視頻

我們把解一個魔方分成兩部分講:

1. 解法

目前玩家常用的一個解法是CFOP,參見CFOP_百度百科

這個解法的思路是按照「層」來複原,平均步數是55步。

1.底層十字

2.底兩層

3.頂層同色

4.頂層位置

另一個解法是橋式橋式_百度百科

1.一個1x2x3

2.相對的兩個1x2x3

3.完成4個角塊

4.調整剩下的塊

橋式的解法據說平均要40步左右(我記得好像是,不是很確定),不過有需要轉動中層的步驟,這個對於玩家比較難受,所以雖然步數較少但是大部分速擰玩家都是用的CFOP

上面兩個都是人使用的解法,到了機器上完全可以有更加高級的解法。cubestormer使用的解法是Kociemba,在上帝之數_百度百科 裡面有,摘抄如下

1992 年, 德國數學家科先巴(H. Kociemba) 提出了一種尋找魔方復原方法的新思路。 他發現, 在魔方的基本轉動方式中, 有一部分可以自成系列, 通過這部分轉動可以形成將近 200 億種顏色組合。 利用這 200 億種組合, 科先巴將魔方的復原問題分解成了兩個步驟: 第一步是將任意一種顏色組合轉變為那 200 億種組合之一, 第二步則是將那 200 億種組合復原。 如果我們把魔方復原比作是讓一條汪洋大海中的小船駛往一個固定的目的地, 那麼科先巴提出的那兩百億種顏色組合就好比是一片特殊的水域 - 一片比那個固定地點大了 200 億倍的特殊水域。 他提出的兩個步驟就好比是讓小船首先駛往那片特殊水域, 然後從那裡駛往那個固定的目的地。 在汪洋大海中尋找一片巨大的特殊水域, 顯然要比直接尋找那個小小的目的地容易得多, 這就是科先巴的新思路的優越之處。但即便如此, 要用科先巴的方法對 「上帝之數」 進行估算仍不是一件容易的事。 尤其是, 要想進行快速的計算, 最好是將復原那 200 億種顏色組合的最少轉動次數 (這相當於是那片 「特殊水域」 的地圖) 存儲在計算機的內存中, 這大約需要 300 兆的內存。 300 兆在今天看來是一個不太大的數目, 但在科先巴提出新思路的那年, 普通機器的內存連它的十分之一都遠遠不到。 因此直到三年後, 才有人利用科先巴的方法給出了第一個估算結果。 此人名叫里德(M. Reid), 是美國中佛羅里達大學(Unversity of Central Florida) 的數學家。 1995 年, 里德通過計算髮現, 最多經過 12 次轉動, 就可以將魔方的任意一種顏色組合變為科先巴那 200 億種組合之一; 而最多經過 18 次轉動, 就可以將那 200 億種組合中的任意一種復原。 這表明, 最多經過 12+18=30 次轉動, 就可以將魔方的任意一種顏色組合復原

步數最多是30,比前兩種快了不少是吧。

BTW,魔方的任何狀態應該都能在20步之內復原的,這個數字就是上帝數字

2. 速度

對於專業魔方,摩擦不是問題,解法相近的話,玩家拼的是手速。

先貼一個容錯測試的視頻

視頻封面魔方容錯視頻

再放一個轉動的視頻

視頻封面御龍順滑度展示視頻

專業魔方是很變態的,怎麼都能轉過去,而且很滑的,要不然我不會買了各種魔方各種砸錢。。。

前面說過,玩家拼的是手速,其實還少了一點,就是觀察和反應,因為當你做完一步的時候,需要觀察下一步的各個色塊的位置來決定使用哪個公式,觀察的時間間隔在玩家之間是非常重要的。比如對於我來說,我的觀察世間可能就造成了4-5秒的停頓,而最厲害的玩家大概能平均在10s內復原一個魔方,我觀察的時間就佔了他們復原時間的一半,我手速還比他們慢,所以我被虐的不知道到哪裡去了。

說回手速,首先貼一個曾經的世界紀錄

視頻封面三階速擰單次前WR 5.66s by Feliks Zemdegs視頻

使用CFOP的頂級的玩家平均10秒做出CFOP的55步,那麼也就是一秒能轉5-6步,其實這只是平均而已,比如很多訓練時候做的(R U R U『) x 6, 一共24步, 一般要求2s內做完,平均12步/秒

回到機器來說, 觀察根本不是問題,解法可以在確定了魔方的狀態之後直接計算出步驟,然後省去觀察時間, 所以只需要單純的速度,也就是調試機器即可,我覺得一秒鐘8步左右根本就不是難事。對於一個30步的解法,3-4秒妥妥的。

3. 魔方狀態的識別

這個是圖像識別的問題, 這裡有個視頻,應該有一些幫助

Wolfram Videos: Introduction to Image ProcessingSolving the Rubiks Cube from Pictures

4. 剩下的就是砸錢和耗時間了似乎。。。

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

最後, 圖片視頻都來源網路,現找的,如果出現了魔方品牌,不是我打廣告。。。


謝邀

這個問題我不知道,谷歌絕對知道。用ev3五秒解開魔方,應該沒有可能。光三階魔方五十四個色塊識別應該都不止五秒。

給題主個建議,樂高不在於徹底的複製,而在於創造。

比如一個樂高科技的42009,照著說明拼接出來有成就感。但也別忘了幾歲的小朋友照著圖紙也可以拼出來。

買來樂高後自己研究模仿一些基本的機械傳動結構,自己創造可能樂趣多些。

要是按照別人的圖紙,機械的照搬做出個解魔方的機器人。個人以為意義不大。


按照ev3的處理器性能來看,應該不可能做到。運算絕對不止5秒。

如果允許使用手機等作為運算設備並且除去識別時間,那麼有可能在五秒內做到。使用四個小型電機。利用高轉速,和高準確性,理論上可以在五秒內解開魔方http://m.56.com/view/id-MTA5NDQ0MTg5.html 附上3.253秒解開魔方視頻 前1秒左右為使用攝像頭識別 後2秒左右為解魔方


這個應該是電機轉速的比拼吧……

———————————————————————————————————————————

評論:「是魔方質量的比拼才對」


不用機器人,有一個魔方App:極限魔方,就可以5秒解開魔方,給出魔方還原步驟。

極限魔方 - 教你輕鬆玩魔方:在 App Store 上的內容itunes.apple.com圖標

http://www.fancyar.com/app/webroot/downloads/mofang.html (二維碼自動識別)


假設題主說的5秒還原是操作五秒

三階魔方理論上最少20步還原

一個攝像頭圍著魔方360度一圈,將數據寫到電腦(單片機)里,分析後就可以開始操作了。每秒鐘4步,現在的電機還是沒問題呢。所以5秒還原魔方的機器還是可以做出來的

————————————補充——————————————

前提是機器精度較高,魔方容錯較好,否則會散架的


重點不是怎麼算而是怎麼樣在5s之內轉出來吧?魔方足夠潤滑/每一塊並不直接接觸,依靠磁力?

對世界頂級魔方了解不足,望見諒


推薦閱讀:

TAG:樂高LEGO | 魔方 |