寒假里导员发了一个比赛通知,首届全国高校智能机器人大赛(我们输了比赛,此文可看成检讨书),比赛有两个主题,一个是创意类,大家开脑洞做东西比创意,一个是解魔方机器人,全自动解魔方比速度。   呵,创意   微信图片_20201216232431 - 副本   没有,不存在的   微信图片_20201216232434 - 副本   魔方那么好玩当然是选择主题二啦 像这种秒解的做一个不要太爽   微信图片_20201216232437 - 副本   再看看比赛规则   微信图片_20201216232440 - 副本   微信图片_20201216232442 - 副本   限双臂,二指或五指,手指异形涉嫌违规(决赛时评委并没有判定违规,有几组明显违规的) 比如这种用底盘的   微信图片_20201216232445 - 副本   这种四指的   微信图片_20201216232448 - 副本   举办方没意见那我们也只好没意见。。。 五指结构太复杂稳定性还差,我们采用二指,双臂交叉45度基本结构像这样   微信图片_20201216232450 - 副本   事实上,根据比赛的要求,很显然这种结构最稳定,决赛95%的主体结构都是这样的,剩下的涉嫌违规。。。决赛第一名说他们进行了复杂的力学分析,发现这种结构最好,我表示嗯您说的对。   在制作过程中,曾经跟一些人讨论过解魔方机器人,至少有两个人表示,这有什么难的,不就先识别颜色再放两个爪子,找个开源解法复原一下?   微信图片_20201216232534 - 副本   当我们这么想的时候,基本上就注定了比赛失败的结局。 在我平时做玩具的时候,我基本上都是秉持能用就行,外观,性能啥的不重要的思想,   微信图片_20201216232541 - 副本   带着这种想法参加竞技类比赛,也就只能拿个入围奖了 微信图片_20201216232546 - 副本   但是我们还是先说说怎样才“能用”   1.机械结构   迎面而来的第一个问题就是爪子的结构,先把魔方抓稳,识别才好做。 我们的爪子1.0,来自T站的一个设计,爪子内部留了易拆除的薄壁件,可以倒入黏性材料凝固后增大摩擦力,可惜太大,跟魔方还不是面接触,很快被我们弃了。   微信图片_20201216232548 - 副本   爪子2.0,某宝搜机械爪最常见的一种,我们修改之后打印,发现这种结构在夹持时会不可避免的往前推魔方,而且夹持力不够,舍弃。   微信图片_20201216232551 - 副本   下面是2.0,2.1,2.2的末端,尝试过聚氨酯,橡胶,硅胶等材料,发现硅胶摩擦力最大。   微信图片_20201216232553   爪子3.0,齿轮齿条传动,末端太长,舍弃。   微信图片_20201216232556   爪子3.1,行程太短,张开幅度太小,舍弃。   微信图片_20201216232558   爪子3.2,加了定位凸台,导致魔方容易被凸台夹飞,舍弃。   微信图片_20201216232600   爪子3.3,3.4,后面和内部改成斜面,防撞和防卡   微信图片_20201216232602   后期我们发现我们用的辣鸡舵机抖抖抖抖抖来抖去,就重新设计了以42步进电机为底座的爪子,像这样   微信图片_20201216232604   底盘用几十颗钢珠定位加润滑   微信图片_20201216232607   精度确实好了很多      

GIF

      可惜后来发现42步进扭矩太小,在决赛前没时间换电机了,只好换回了原来的舵机。 在设计失败n次之后,我们才真正体会到了仿真的重要性,太相信自己建模能力的后果就是造了这一堆废品   微信图片_20201216233515   2.颜色识别:   由于结构和舵机的精度都不够,我们就不能采用定区域识别颜色,必须先识别色块的区域,大致步骤如下   微信图片_20201216233517   然而实际过程中会遇到各种各样奇怪的问题   微信图片_20201216233520   微信图片_20201216233521   直接根据颜色的理论范围判断颜色带来的弊端是受环境光影响很大, 像这种反光很容易误判颜色   微信图片_20201216233523   比较好的做法一是采用聚类算法,k临近,或者神经网络训练,决赛第一名的队伍就进行了大量的训练,二是加补光或者挡光,有一组改造了摄像头,在摄像头上装了偏振光片,有一组用茶色玻璃就整个装置包起来了。。。   所以决赛前一天留下来调试到很晚的,基本都是因为现场的光照影响了颜色的识别   微信图片_20201216233526   3.魔方解法:   确定了结构和颜色,最后一步就是魔方的解法,目前公认的比较好的魔方解法有kociemba和krof,根据颜色解出魔方,将6个面的旋转转换到两个面,驱动电机夹紧旋转即可。   没错,解魔方机器人的主体就这三部分,我们输,也输在这三部分。   微信图片_20201216233530   1.机械结构:   贫穷限制了我的想象,到现场调试时,看到别的组的机器人都是几个人抬的我就虚了。 下图是部分解魔方机器人,真诚希望主办方能加个占地最小奖,重量最小奖,成本最小奖。。。   微信图片_20201216233531   微信图片_20201216233534   一眼望去全是   微信图片_20201216233537   别人家稳如狗的电机   微信图片_20201216233539   别人家稳如狗的框架   微信图片_20201216233542   别人家稳如狗的气泵   微信图片_20201216233544   怎么装备都这么好   微信图片_20201216233546   当然,也有人自制廉价雪碧气泵,好像还挺好使   微信图片_20201216233548   硬件实力如此悬殊是我没想到的,问了几组队伍他们的制作成本,也就我们的十几二十倍吧。。。 相比之下我们的硬件像这样。。   微信图片_20201216233550   硬件上的差距几乎是不可弥补的,有的时候,换一个好的电机,直接就解决了速度,精度,扭矩等靠结构和软件很难提升的问题,换一个好的摄像头,直接就解决了聚焦,画质,光照,色差等问题。   为什么说几乎,因为有一只队伍也用的42步进电机,但他们自己做了个光栅编码器,利用pid算法来提高电机精度,也就是在我们走到同一步的时候,我们因为电机扭矩太小选择了放弃,他们找到了改进方法走了下去   微信图片_20201216233553   2.颜色识别:   能用就行的老思想让我选择了识别色块+HSV空间判断颜色,而没有选择相对麻烦但准确率更高的聚类等算法,这也是我们失败的一大原因   3.魔方解法:   虽然有队伍宣称他们在kociemba和krof的基础上进行了百万次的模拟训练以图找到一种全新的魔方解法,但他们最终还是选择了两种经典解法,短时间内研究出一种更快的解法十分困难,不过精神可嘉。   因为只有两个爪子可用,最终的魔方解法大家都差不多,所以我开始一直觉得这一块没有多大的提升空间,直到看到第一名对解法进行二叉树寻优,和对每一步时间的的精确计算,采用”烧水时干别的活“的时间复用思想驱动电机,才发现自己太navie了,不过这也是建立在他们硬件足够好的基础上,可见第一步打下一个好的基础的重要性。   第一名六点几秒的视频并没有拍到,放一个他们测试时十几秒解开的视频感受一下吧    

视频

  比赛已经结束,征途永不停止,下次一定玩的更好。   微信图片_20201216233557   比赛的主题一是创意类,我拍了一些 有趣的作品,下一篇我们再聊。 这一次我们就玩到这,下次有好玩的再叫你一起玩。   微信图片_20201216233600   weixin.qq.com/r/5TqpsSD (二维码自动识别)    

GIF以及视频未添加