在之前的一年多里面,我基本上 都是在参加这个魔方机器人的比赛,第一次参加的时候这个比赛是第一届,在这里想总结一下这两次参赛得到的经验与知识。
1.算法部分
必备条件:二阶段算法,深度优先的搜索算法,Opencv,MFC,C#,Java两门语言的基础了解,COM口操作,
1.1:二阶段算法:二阶段算法和魔方机器人的电机一样,能够决定魔方还原的时间,差的程序可能求解一个魔方不能秒出,甚至有时候还无解,好的魔方求解算法能够稳定高效的求解魔方还原的步骤。二阶段算法就是我所遇到求解效果比较好的还原算法。这款算法有诸多有点,比如说采用这款算法的CubeExplore应用(网上有5.00的汉化版,附带有使用说明),能够验证上帝之数字(求解一个魔方最小步骤的上限)为20,也就是说每个魔方的最小还原算法不会超过20步。这款应用是由Kocimba开发的软件,如果你有条件可以翻墙,你甚至可以在Goolge搜索到他的博客。甚至还可以得到源码。
1.2:深度优先算法:这个了解这个算法 可以在步骤转化过程中搜索得到较为优质的算法。
1.3:opencv视觉识别的时候用opencv可以节省很多时间
1.4:MFC 用MFC做应用窗口的时候虽然有很多地方可以参考别人的文档,但是我觉得MFC实在不是一个优雅的框架,如果你之前用C#写过窗口应用你一定觉得MFC就是个傻子程序。
1.5:JAVA在Kocimba的主页里面有一个源码分享,里面有一个二阶段算法的包,用这个包可以开发与自己机器人相适应的二阶段算法,但是可能对于程序的要求较高,实力强劲的同学可以试一试;
1.6:COM口操作,通信用,当然用光缆通信也可以,但是我觉得貌似没什么必要。
2.机械机构