颤抖吧人类!看魔方机器人如何秒解魔方?不服就进来挑战
前不久,德国科学家研制出的一款机器人耗时仅0.637秒便破解三阶魔方,打破了之前机器破解魔方的0.887秒纪录,载入吉尼斯世界纪录。据悉,人类破解三阶魔方的纪录为4.904秒。机器人还原魔方的速度足足是人类的7倍多,的确让我们有些惊讶。这次机器人破解的魔方难度符合世界魔方协会的标准。操作一开始,机器人身上众多的感应相机就打开了快门,机器人开始分析魔方是怎么打乱的。随后,机器人的“大脑”——一块微型芯片在不到0.15毫秒的时间里使用复杂的算法给出了解决指令。机器人强大的半导体肌肉迅速扭转魔方,完成操作。整个过程持续不到1秒。
那么你知道机器人是如何能在不到1秒的时间内分析魔方然后给出解答的吗?其实魔方是由由匈牙利建筑学教授暨雕塑家鲁比克·艾尔内于1974年发明的机械益智玩具,最初的名称叫Magic Cube,1980年Ideal Toys公司于贩售此玩具,并将名称改为Rubik's Cube。从理论角度来计算,三阶魔方的变化总数为:
三阶魔方的变化不可谓不多,对于新手来说,如果你不知道方法,你可能穷其一生的时间也无法将其复原。那么机器人是如何在这么多算法当中进行分析并选取最高效的一种解法呢?其实,虽然还原时间非常短,要让机器人解决这个问题还是需要四个重要的步骤。
魔方有6个面,每面含9个色块,要让计算机知道每块魔方具体的方位和朝向我们就必须将魔方用数字信号代替并输入电脑中。这一步骤主要是将魔方各块的各个方位在空间坐标系里表示出来,来具体确定魔方各个模块的具体方位,从而才能够给出具体的魔方解决算法。
机器人的视觉识别多使用摄像头,经过图像分割、聚类算法,在HSV(Hue,Saturation,Value)颜色空间下实验分析。机器人通过颜色传感器经过伺服电机转动实现识别色彩,事实上这个数值受环境光线强度影响非常大,即使相同的环境下,读数也会有波动,何况必须扫54个点,为此我们还需要定义分辨颜色的判断规则,来提高魔方颜色识别的准确率。
机器人解三阶魔方算法的实质是将人解三阶魔方的思维转化为机器人的“思维”,具体的做法是:首先魔方由上、下、左、右、前、后六个面构成,表面共有蓝、红、黄、绿、白、橙六种颜色,分别用1、2、3、4、5、6六个数字表示,魔方每个面由9个色块构成,对于每个面我们采用一个3X3的数组表示这个面上9小块的颜色分布。然后将对魔方进行旋转后各表面色块分布的变化转换为相应位置数组元素值的改变,即魔方表面的旋转对应着数组元素的变化,魔方表面色块的归位对应着相应数组中元素值的同一化。
若要提高解魔方的速度,除了依靠硬件系统的性能外,选择最佳解魔方算法也是关键一步。目前,可以应用的解三阶魔方的方法表较多,有初级层先法、CFOP法等。其中最有利于机器人执行的是初级层先法。
魔方作为一个正立方体,有6面需要行动,要实现对魔方的某个面进行旋转要求魔方机器人的机构有两个基木功能:固定功能和旋转功能。固定功能是能够承载魔方,使得魔方整体固定在某一位置;旋转功能是对魔方的某个面进行动旋转。魔方机器人的手臂控制通常采用舵机控制器进行机械手动作组控制,舵机控制器可实现多路伺服电机单独控制或同时控制。控制中心可以通过串口发送指令控制舵机控制器,控制指令精简,控制转角精度高,波特率可以实时更改,体积小,重量轻,其可作为类人型机器人、仿生机器人、多自由度机械手的控制器。
因此,从上面机器人还原魔方的步骤上来看,魔方机器人的还原速度主要取决于魔方的扫描速度、魔方算法程序、控制中心的数据处理速度以及机械运动还原速度。其实,魔方机器人从原理上来说并不算太复杂,大家如果有兴趣完全可以自己做一个,你定然或有所收获。