這個應用程式允許用機器人解決魔術方塊。機器人透過藍牙連接。
立方體可以手動輸入或使用相機功能掃描。可以修正偵測到的錯誤立方體顏色。立方體到下一個面的轉動可以由機器人執行。
如果輸入了有效的立方體,則會計算出解決方案並將其發送給機器人。然後機器人可以執行解決方案,然後您將獲得一個已解決的立方體。
您所要做的就是建造機器人!
該應用程式可以在沒有機器人的情況下使用,但還有更好的選擇。
對於機器人製造商:
該應用程式專為基於 Arduino 的 2 爪機器人而設計,可握住立方體的下表面和背面。使用 HC-06 模組進行藍牙連接。該應用程式可用於與 HC-06 模組使用相同協定以及相同 UUID 的任何機器人。它不傳輸伺服運動。它發送需要由機器人執行的命令。
過程分為2個階段:
第一階段:進入/掃描立方體
如果輸入或掃描了立方體面,您可以透過點擊視圖按鈕移動到下一個面。透過這樣做,下一張臉的單個小寫起始字元(“l”代表左,“u”代表上)被發送到機器人。機器人需要執行移動。順序是右、後、左、上、下、從後到前。在字元中它是r、b、l、u、d、f。
第二階段:解決問題
由於方向對於成功求解立方體至關重要,因此只有在前視圖處於活動狀態時才可用。這假設機器人也已將立方體轉動到正確的位置。
解決方案是在應用程式內計算的。它不是從任何伺服器等獲取的。一旦可用,求解字串就會傳送到機器人。求解字串是由空格分隔的移動序列。動作如下:
L——順時針轉動左面
L' - 逆時針轉動左面
L2 - 旋轉 180°
F-前、R-右、B-後、U-上、 D-下。
透過以這種方式遵循序列,立方體就得到了解決。
你的機器人如何執行這些動作取決於你。這個應用程式可以讓您專注於控制機器人,而無需擔心立方體本身的解決方案。
溝通只是一種方式。機器人與智慧型手機之間沒有任何傳輸。
我希望這能讓您開始自己的專案。
祝你好運!
學分:
學分將用於:
Kas 在 Arduino 論壇中激勵了該項目,在 Arduino 編程方面做出了主要工作,並為機器人提供了第一個應用程式。
https://forum.arduino.cc/index.php?topic=271827.0
Herbert Kociemba 在開發求解演算法並提供免費求解和工具庫方面付出了巨大的努力。
http://www.kociemba.org/cube.htm
GitHub 上的 cs0x7f,用於在 GPL 下提供最佳化的兩階段求解函式庫。
https://github.com/cs0x7f/min2phase