这个应用程序允许用机器人解决魔方。机器人通过蓝牙连接。
立方体可以手动输入或使用相机功能扫描。可以纠正检测到的错误立方体颜色。立方体到下一个面的转动可以由机器人执行。
如果输入了有效的立方体,则会计算出解决方案并将其发送给机器人。然后机器人可以执行解决方案,然后您会得到一个已解决的立方体。
您所要做的就是建造机器人!
该应用程序可以在没有机器人的情况下使用,但还有更好的选择。
对于机器人制造商:
该应用程序专为基于 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