开源!!DIY 3D打印解魔方机器人!!

2019-12-09 13:35发布

本帖最后由 cc87707060 于 2018-1-18 20:18 编辑

先上图:
        整体效果:
       
        摄像头:
       
        控制板:
       
        上位机:
       

这个是第二个版本,上一个版本可以参考一下帖子:
https://www.amobbs.com/thread-5664459-1-1.html

这个版本主要优化了以下几点:
        1、机械结构由原来的铝型材搭建,改为3D打印材料,为了打印这些材料,特地来了一个3D打印机,打印了一个多星期,以后要DIY什么,在Solidworks画一画直接打印出来,很方便,由于不是机械专业,3D打印文件来自网上,具体可以参考以下网站:
        http://www.otvinta.com/download12.html
        效果图如下:
       

        2、上位机方案,由原来的手机APP,改为matlab + USB摄像头。主要原因是,今年一直在玩matlab,用来写算法非常方便,功能强大,调试方便。
       

        3、下位机主要用stm32最小系统 和万用板 搭起来 , 简单方便,还是上一代拆下来了,包括舵机也是,还是原来的配方,哈哈。不过程序上面做了很大的优化。
        通讯采用HAL+DMA+帧中断来接收上位机的指令,有点小题大做。舵机控制用两个定时器8路控制。采用多线程方式,可以让机器人边转动魔方,边接收上位机的指令。
       
        4、算法上面,分两个,图像解析,和生成解魔方的步骤。CFOP算法具体可以参考动力老男孩的博客,我把它用C++封装起来,提供matlab调用。
        http://www.diy-robots.com/?p=265

        5、图像识别方面,由于上一个版本还太年轻,还不知道HSV颜 {MOD}格式,所以导致图像识别不够给力,这里聪明了,先把图像RGB格式转换成HSV格式后,颜 {MOD}区分杠杠的:
       
       
        6、颜 {MOD}区分解决了,关键还要怎么找每个面的九个颜 {MOD}块,我使用的方法就是先确定中心块的颜 {MOD}范围,然后在往外找,具体也很简单,可以参考一下帖子:
        https://www.amobbs.com/forum.php ... A%E5%99%A8%E4%BA%BA
       

        7、待改进方面:
        由于时间比较短,元旦开始做,光3D打印加打磨就花了一个多星期时间,还没做成一键解魔方的,步骤也比较繁琐,需要花时间优化。
       
        8、下位机和上位机都比较简单,还比较粗糙不完整 ,3D打印文件网上也有了,把核心的图像识别算法和解魔方算法分享给大家,供大家参考。当然,最重要的是享受DIY的过程,有问题可以留言。

                               
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。