魔方机器人

  • 解魔方的机器人-零基础攻略(序)
  • 解魔方的机器人攻略1 – 前因后果
  • 解魔方的机器人攻略2 – 选择方案
  • 解魔方的机器人攻略3 – 购买器件(上)
  • 解魔方的机器人攻略4 – 购买器件(下)
  • 解魔方的机器人攻略5 – 自制电源
  • 解魔方的机器人攻略6 – 结构设计
  • 解魔方的机器人攻略7 – 底座
  • 解魔方的机器人攻略8 – 底座电机
  • 解魔方的机器人攻略9 – 颜色传感器电机
  • 解魔方的机器人攻略10 – 爪子电机
  • 解魔方的机器人攻略11 – 爪子
  • 解魔方的机器人攻略12 – 安装传感器
  • 解魔方的机器人攻略13 – 安装Lejos(上)
  • 解魔方的机器人攻略14 – 安装Lejos(下)
  • 解魔方的机器人攻略15 – 安装 Eclipse
  • 解魔方的机器人攻略16 – 如何调试
  • 解魔方的机器人攻略17 – 魔方CFOP算法
  • 解魔方的机器人攻略18 – 魔方快速算法
  • 解魔方的机器人攻略19 – 让魔方动起来
  • 解魔方的机器人攻略20 – 修正电机误差
  • 解魔方的机器人攻略21 – 读取魔方颜色
  • 解魔方的机器人攻略22 – 蓝牙通讯
  • 解魔方的机器人攻略23 – 识别颜色(上)
  • 解魔方的机器人攻略24 – 识别颜色(下)
  • 解魔方的机器人攻略25 – 解魔方
  • 解魔方的机器人攻略26 – “大眼睛”开关
  • 解魔方的机器人攻略27 – 让萝卜头开口说话
  • 解魔方的机器人攻略28 – 总结
  • 【补充说明】由于lejos的升级,很多朋友反映文章中的代码编译会出错。主要是颜色传感器操作不一样了,请参考下面的文章:

  • 出手NXT2.0 8547
  • NXT2.0的颜色传感器
  • 

    对 “魔方机器人” 的 85 条 评论

    1. Genis 说:

      终于把 快乐老男孩 的魔方Robot看完了,好辛苦啊。虽然没有设备,没有实践,但这些给了我很多创意。
      真的很佩服!

    2. jimmy 说:

      动力哥很牛,我喜欢玩魔方,这机器人很强呀

    3. 三胜 说:

      动力哥太棒了,我非常喜欢这个魔法机器人。我想做个,请你帮忙可以吧?

    4. L 说:

      请问能不能加个QQ好友呢 我想做个乐高魔方机器人 不过不是这个结构的 有关编程方面想请教一下 我是上海魔方协会的 我们社想把这个机器人投入实际比赛的打乱专用 希望能得到你的帮助
      我的Q799511330 加的时候请注明:魔方机器人
      强烈期待你能伸出援助之手!

      • 攻略中有介绍程序的部分,有问题的话可以在下面留言

        • L 说:

          我现在自己也在做魔方机器人,主要是想通过输入UFR等字母实现魔方的打乱。本人对编程没有理解–NXT编程自己研究了几天现在会简单的让电机实现90度180度的旋转,我是想能不能设计成在文本或是特定的地方输入公式就能实现机器自动打乱呢?

        • 小飞挂角 说:

          能不能推荐个淘宝店我想买一套9797,但不知道买哪家的有保障一点。

          • 这个也没有推荐的,我基本是按价格排序,看有皇冠的卖家就可以

            • 小飞挂角 说:

              请问一下是不是8547除了一个大齿轮外,其他做魔方机器人的零件都有呢??还缺点什么零件吗,或者还需要购买什么。我淘宝上看到两者相差600元左右。近期准备下手买好,开始做。谢谢!!

            • 不管是9797还是8547,做魔方机器人都不够用,需要再额外买个小车啥的拼零件。
              那个大齿轮也是可以单买的,但是我忘了它的编号是多少,回头查了告诉你

            • 小飞挂角 说:

              非常感谢,我现在8547已经到手,开始做做。少零件的话我再买,另外大齿轮我淘宝上找到了,就是贵了点,一个要33块,山寨的便宜,6元。

            • 哈哈,好的,我觉得山寨的就可以

            • 阁二蛋 说:

              大哥可不可告诉我你的QQ我有问题想请教您

            • 还是发邮件吧 :) 看右下方

            • 阁二蛋 说:

              大哥
              可不可告诉我你的

              QQ我有问题想请教您

    5. 爱好者 说:

      照着你的教程搭建成功的,但是从第十三步开始很多东西下载不下来,也不知道哪里还有下载的地方。希望能在你这里寻求点帮助。谢谢了!
      QQ395455061
      kvyahu@yahoo.com

    6. 张果老 说:

      今天认真学习了您的解魔方系列课程,非常感谢您!只是我对算法理解不是很好。还要多向您学习。谢谢!

    7. 魔方编程 说:

      我准备按照楼主的方法做一个魔方机器人。楼主可以帮助我吗。

    8. 李李 说:

      楼主可以帮忙做一个么,我的毕业设计是这个,实在有心无力。谢谢楼主,可以买的哦。必有重谢~~1552927929@qq.com加我

    9. McDonald 说:

      好家伙!动力哥是工程类专业出身的吗?
      我自己现在读的是电子技术工程类专业,但自觉与你的差距不是一般的大啊~瞬间浑身动力~~

      • 别着急,年轻人后劲足啊:)

        • McDonald 说:

          我想我干脆也尝试一下。勒紧腰带,买足材料,火辣辣地干活。
          另外,我想请教一下,不知动力哥是否了解Lego NXT 8527(或NXT 8547)用的是什么集成芯片?我查资料后,了解到ATmega48是一种,但不知是否全线产品都使用这种。或许可以尝试去亲自整一个出来(省银两啊:),也是很有意思的事。另外,我也在考虑是否能够用亚克力材料代替部分的Lego零部件。降低成本,或许就可以更好地跟同学分享啦:)
          另外,谢谢你的鼓励~(^_^)~

          • NXT全系列的处理器都是一样的,你如果很方便能找到亚克力的边角料的话,自己加工点东西可以的。但是自己做NXT主机和电子件比较困难,框架的东西,想做好还是很难的

    10. 夜影 说:

      萝卜头真的很强大

    11. 阿华 说:

      大哥,跪求程序,我是新手,很想学,发给我吧!QQ:43209952

    12. 小光 说:

      你好,大哥能帮我评价下这个魔法机器人吗?这是我师兄做的。http://v.youku.com/v_show/id_XNDAxMzgxMjg4.html
      我想知道这货有没亮点。

      • darkorigin 说:

        全单片机解算,呵呵,不过估计单片机解算的代码也是从别人成熟代码上改写的(或者叫翻译的)
        其他的由于是4组动力机构(4组转向机构8个舵机),所以看起来不错哦

        其实和博主的差不多,核心算法魔方解算参考了类似成熟算法。
        做的还是很精致的。

        不过你那视频上的评价还是有点夸张。有惊为天人的,还有弃如粪土的,其实为啥不能折中呢,首先做出来的东西自然有很多艰辛,很多代码是自己一点一点写的主要是识别系统,然后通过既定的算法解魔方,最后通过机械手输出解法。

      • darkorigin 说:

        亮点个人觉得主要就是摄像头识别代码。(如果没有使用现成的API或者别人的代码的话)
        还有就是机械构架还是上了不少心的

        • 小光 说:

          你感觉做出那东西的难度大吗?做为毕业设计合适吗?

          • DARKORIGIN 说:

            做毕业设计,自己做的话,我之前回答的2个问题解决了就好了
            1. 自己构架那个机械结构的能力
            2. 摄像头识别魔方的代码(我不知道网上是否有现成的API或者算法,如果有,那就很简单了)

            剩下的就是用时间去翻译解魔方代码

            不过说实话,答辩的时候就会比较麻烦,因为解魔方的算法公布出来已经很多年了,你的指导教授应该会有了解。
            如果他不了解,那更麻烦, 会答辩的时候提问你关于解魔方的算法问题,那时候你就玩大了。

            或者你实话实说解魔方代码是采用了别人的方案,那么你的技术含量就会被看低,毕竟没有哪个自动化或者计算机专业的教授希望自己的学生擅长机械构架但是属于编程的核心-算法的研究。

            • 同意,做毕业设计的话,主要问题就在于怎么把论文写的漂亮。导师们一般会问你:创新点在哪里?有什么意义?
              你需要想办法挖掘出亮点,如果你师兄刚做过,你再做这么一个,可能创新点更不好说了

    13. 李玟紅 说:

      我的魔方硬體架構已經組好了
      並且是以Eclipse 撰寫JAVA
      請問 我撰寫程式的程序是神麼
      我沒有要透過藍芽通訊來解魔方

      • 汗~~~
        繁体+语义不明。兄弟,坦率的说,我不知道你想问什么

        • Lex 说:

          他的意思是,魔方机器人已经组装好了,准备在Eclipse环境下用Java开发控制程序,他不需要用蓝牙通讯来控制机器人解魔方,他问开发控制程序从哪里开始。
          哈哈,不知道我理解的对不对。

          • darkorigin 说:

            請問 我撰寫程式的程序是神麼
            请问 我编写程序用的什么编程环境 (不都是说要用JAVA了么)

    14. hp 说:

      照你文章里的代码编译通过不了呃,能帮忙看下么,谢谢了。
      乐高的文件是官网下的0.9版本。

      错误的几行:
      int r =color.getColor();
      int g = color.getColor();
      int b = color.getColor();

      r = color.getColor();
      g = color.getColor();
      b = color.getColor();

      RubikSolverV1.java:1: 错误: 找不到符号
      import java.awt.Color;
      ^
      符号: 类 Color
      位置: 程序包 java.awt
      RubikSolverV1.java:327: 错误: 二元运算符 ‘+’ 的操作数类型错误
      int baseColor = r + g + b;
      ^
      第一个类型: int[]
      第二个类型: int[]
      RubikSolverV1.java:335: 错误: 二元运算符 ‘+’ 的操作数类型错误
      TargetExists =(r + g + b);
      ^
      第一个类型: int[]
      第二个类型: int[]
      3 个错误

    15. hp 说:

      是不是库的问题?

    16. 张明群 说:

      怎么没看到关于C#版本的代码呀“`是不是我没看到“`

    17. boblmark 说:

      你好!请问下关于Tilted Twister 2.0问题,我已经搭建完成,并且程序也能正常运行!就是拼装过程中,机器臂经常会碰翻魔方在地上,这会是什么问题引起的,怎样解决呢?谢谢!!!

      • 每个魔方的大小不一样,而且乐高的机械臂是塑料件,不是那么精确。
        我的建议是买一个小一点儿的魔方,不容易碰掉,然后如果不容易转的话,在卡住它的爪子上绕点儿东西就行

    18. googleman2012 说:

      版主我QQ:582151655,能与你QQ交流关于机器人话题么?

    19. 支点 说:

      您好!我是一名在校大学生,魔方爱好者,现在也想组队做一个这样的机器人。不过我想自己买材料做,乐高毕竟成本太大了。。那这样需要什么样的原材料呢,希望您能指导一下,不甚感激!!

      • 从节约成本的角度来说,我推荐:
        手机(摄像头+解魔方软件+蓝牙)+Arduino(用于控制电机)+步进电机+机械部分

        其中机械部分(爪子什么的)可能需要你想想办法,我看学校里的学生很多是用亚克力的块自己打磨,也有上机床加工的,看你的条件了

    20. Patrick 说:

      不知用新出的EV3可不可以拼一个啊?

    21. 潘伟豪 说:

      楼主不如试一下Dijkstra算法(数据结构里的一个算法),因为还原魔方也可以理解为图的寻径,比方说魔方的某种状态可以类比图中的节点,魔方的转动可以类比为图中的弧。比起用网上流传的算法,自己设计一个不是更有挑战性吗?
      从算法的角度来看,我建议楼主与其用6*9数组,还不如用三个哈希表来表示魔方,虽然这样存储消耗大,但是可以同时兼顾魔方转动和魔方状态监测的时间效率,您觉得呢?

      • 潘伟豪 说:

        我曾经以图论寻径的想法为基础,设计了一个还原魔方的方法,可惜还原的步数平均为3000多步。现在我正在对我的算法做升级改良中,我希望我改良后的算法如果能够压缩还原步数到40~50步左右时,就把方法移值到您的机器上运行一下,看一下成果。我的邮箱(pwhpwhst@163.com)。希望可以与您联系。

        • 我的第一版也是自己写的解魔方程序,基于CFOP标准解法,平均需要100多步,后来改成了网上找的那个程序,大概40步左右。那个程序很快,而且不需要太多内存。
          你的解法应该是保存大量的魔方中间状态哈希值吧?如果这样的话,增加存储量应该可以压缩还原步数和加快计算时间。
          不知道你现在存储量有多大?

          • 潘伟豪 说:

            大三时的那个程序大小为91k,Visio Studio IDE写出来的纯C++程序,说实话这个程序的设计漏洞很大,算出来的步数又臭又长(就是3000多步那个)。虽然当时写出来后是很高兴,不过现在我不满意。
            新的解魔方程序将会是个web程序,使用oracle数据库存储魔方的子状态集合,保守估计会占1.3M空间,用于计算“距离值”。相比于cube explorer,既没有使用群论去除对称的魔方状态,也没有足够大的中间状态集合,效果应该不会太理想,不过比起大三做的那个程序应该会有较大的进步。
            大三时做的程序我发到您的邮箱了(是右侧那个是吧),里面包含了一个写得不怎么样的说明书,您可以看一下,然后您会明白这程序有多简陋了=_=。

      • 赞自己动手设计算法的执行力! :)
        当时因为用的是乐高的mindstorm来解魔方,它的内存只有几百k,所以不能用空间换时间的方式来优化
        现在如果用手机或者树莓派来做魔方机器人,就可以用一些离线缓存数据的算法来搞定。
        比较有名的cube explorer程序,可以先生成2G左右的临时文件,对于任意的魔方状态,可以在20步之内解出。
        你可以参考一下他的做法和原理,看看对你的思路有没有帮助

    22. 潘伟豪 说:

      我也可以给您我大三时做的那个还原魔方程序,只要您愿意和我联系

    23. 潘伟豪 说:

      差点忘记说了,我觉得您做的魔方机器人真的很棒!

    24. 王鉴 说:

      我们单位也有一个解魔方的机器人,但是它经常会把魔方拆散,生产的厂家联系了也不来修理,请大家提供我一些思路看怎么搞能让它正常使用

    25. 赵嘉喆 说:

      师兄你好,我是动力学院的12级学生,在北航创新实习做一下类似项目,想和你交流一下,能发一下你的联系方式吗?我的邮箱1754188679@qq.com

    26. [...] 萝卜头的主人发布了制作攻略,有兴趣的同学可以去看看 http://www.diy-robots.com/?page_id=46<br [...]

    27. HT32F1765 说:

      如何移植算魔方步骤的程序到单片机中啊,程序大概是怎么个意思啊

    28. LY 说:

      请问 你给出的 第三名的Jeep.exe 的 输出 怎么看啊 是不是要倒着看? 倒着看有时也没法还原啊

    29. tyw 说:

      电机和颜色传感器可以不用乐高的吗,乐高的好贵啊,我是想用ardiuno和乐高积木来完成这个机器人

    30. 尹雁舒 说:

      你好,请问你知道哪些生产商在销售魔方机器人吗?我想联系他们~

    31. 解不出来 说:

      谢谢动力哥!我现在在公司里在做魔方机器人(物理结构不一样),但是算法用的是您的c#快速解魔方算法,现在解的不对,我把我的思路说一下,大神您看看对不对!
      先输入从FRBLUD6个面的颜色数据–color[6,9]的数组,然后取从x=0到5的color[x,5],生成一个颜色和FRBLUD的字典,然后把原来的colour[6,9]数组里面的颜色替换成FRBLUD。
      接下来求20个字符串,比如第一个UF位置就是stage[0] = color[4, 7] + colore[0, 1],以此类推得到20个字符串,作为您算法的输入,可是这样输出的结果不对,大神你看看我哪里做错了!!!急求!!!

    32. 黄炎 说:

      动力哥,你好。我是做德国慧鱼机器人教育的,想做个魔方还原机器人。你最新的快速解法C语言的版本能发给一个吗?谢谢啦

    33. 黄炎 说:

      我的邮箱是1055679112@qq.com

    34. Coder 说:

      动力哥,你好,我最近照着你博客的里那套魔方机器人教程,自己用9797也做了一个魔方机器人,不知怎么回事,每次读完6个面54个色块,PC端程序里状态栏显示“开始计算”就异常退出了。Nxt 的LCD显示屏显示:
      Exception: 35
      at: 249:38
      at: 49:217
      出错图片,具体细节我也发到您的邮箱(diyrobots@gmail.com)了,请赐教! 多谢多谢!!!

    发表评论

    可以使用下列 XHTML 标签:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>