获奖等级:入围奖
设计者:周黎炜,王捷,苏永彬
指导教师:林华
福州大学电气工程与自动化学院,福州,350108
本项目设计了一款酷毙魔方机器人(图138)。魔方机器人有机械系统、识别系统和控制系统三个部分。采用铝型材作为整个机械结构的支撑框架,用舵机作为动力来源,其中部分机械结构采用3D打印进行设计制作。控制部分以安卓手机作为图像采集及还原算法的运行平台,通过蓝牙将解算出的还原步骤发送给单片机,再经由单片机控制机械结构对魔方进行还原。利用手机自带的摄像头对魔方各面的颜色进行采集,采用CNN算法识别各个色块的颜色和位置,用Kociemba算法解算魔方的还原步骤,并采用二叉树对结果进行优化。
控制方案:采用手机+STM32作为控制部分的核心。手机采用Kociemba算法对魔方还原步骤进行解算,用二叉树算法对步数进行优化。通过蓝牙实现手机与单片机的通信。单片机先控制舵机yici4将六个面转向手机摄像头,由手机对魔方各面图像进行采集和识别,解算出还原步骤后经由蓝牙发送给单片机,单片机控制舵机对魔方进行还原。(https://www.xing528.com)
对于魔方求解部分,我们移植了Kociemba算法(二阶段算法),该算法使得魔方求解步骤不超过23步,是当前最优的开源魔方求解算法。算法背后的数学原理是群论。对魔方六个面的旋转生成一个群,叫魔方群,其中有43252003274489856000个元素。魔方群的子群结构使得解魔方的任务可以被拆解成小任务,并使状态识别与分类成为可能。群中每个元素都可以用不超过20个生成元表示,即理论上可以在20步以内解出任何魔方。
由于本设计只有两个机械手,而Kociemba算法所使用的指令系统是建立在有六个自由度的条件下的,所以需要对该指令系统进行优化。优化总体思路为将L、R、F、B、U、D转化为舵机可执行的L、F(左面旋转、前面旋转)指令。当遇到R、B(背面旋转、右面旋转)时,进行180°翻面操作转化为L、F。当执行遇到U、D(顶层旋转、底层旋转)时,由于向左翻面和向前翻面会对执行总步数产生影响,于是我们选用了二叉树算法对其进行优化。经过二叉树建立分支,将所得所有路径前序遍历,计算各个分支需要的总步数,筛选出最短执行步骤的路径,能够大幅度降低执行步骤数。
鲁棒性极强的硬件结构加上二叉树优化算法,使得解魔方速度得到了很大提高。任意打乱的魔方基本都能在2分钟内解完,基本达到了设计预期。
图138 酷毙魔方机器人
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
