在之前的一年多里面,我基本上 都是在参加这个魔方机器人的比赛,第一次参加的时候这个比赛是第一届,在这里想总结一下这两次参赛得到的经验与知识。

  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.机械机构部分:

   在确定了基本的机器人框架之后,第一步就是负责机械的同学吧机械模型做出来,只有这样,才能做到心中有数。同时因为我们这一届对于尺寸有较为严格的要求,所以提前预估一下尺寸,同时根据尺寸确定电机,爪子选什么样的参数哪一款。可以说,机械结构一确定,买什么,买什么型号也因该确定了。等图纸出来了,下一步的事情就是等淘宝快递送到了。还有,我觉得,无论选择哪一种结构,如果你不想到时候被同轴度搞死,最好把电机的轴弄短一点,一方面短一点及时两只手不完全垂直误差也不会特别大,好调,另外一方面短了之后你的手就不会晃。机械结构的刚性最好强一点,不然整个机构在晃魔方还原成功率也会下降。

   3.电机部分

   因为电机很大程度上决定魔方机器人的转动速度,但是由于我们这一届比赛对于电机的功率有较大的限制,所以不能无脑买扭矩大的,功率大的电机,那么如何选择呢?首先到底是选择步进电机还是伺服电机。我的想法是有条件最好选择伺服电机,一方面速度快,另外一方面可以固定初始位置,指哪打哪,如果选择了步进电机一方面初始位置确定方面就很麻烦,要用东西卡住才能确定。(我是负责算法部分的,我只能说这么多了)