Archive for the ‘解魔方机器人’ Category

解魔方的机器人攻略8 – 底座电机

底座完工以后,需要把它连接到电机上。需要注意的是,我们还需要把这个底座变成一个40度左右的斜坡。为什么要有坡度呢,肯定不是吃饱了撑的。因为萝卜头只有一个爪子用来翻转魔方,有了坡度以后,借助重力作用,轻轻一推就可以翻过去。
经过我多次实验,坡度太大的时候魔方容易滚出台外,坡度太小了又翻不过去,这个40度左右刚刚好。

说起这个,我想起前不久的老同学聚会,有些同学太“爽快”,聚会非要喝到人仰马翻为止。其实任何事物都要掌握一个度,所谓“酒饮微醉,花看半开”。不喝酒没气氛,喝多了太伤身,还鬼哭狼嚎的。。。就像这个斜坡似的,恰到好处最合适。

又扯远了,先远观一下我们即将要做的部分(下图的右边部分)

接下来要介绍右侧的电机和斜坡支架

接下来要介绍右侧的电机和斜坡支架

好,接下来继续看图说话:

在底盘背面加上四个转向固定连杆

在底盘背面加上四个转向固定连杆

插上以后的效果

插上以后的效果

电机连接需要的配件

电机连接需要的配件

电机连接效果

电机连接效果

后来发现那个大直角插件有问题,换成黄色的这个了,懒得再拍一遍,凑合看吧

后来发现那个大直角插件有问题,换成黄色的这个了,懒得再拍一遍,凑合看吧

连上以后的效果,领会精神吧,自己试试

连上以后的效果,领会精神吧,自己试试

支架需要的配件

支架需要的配件组装后的支架

我最爱的转向“插销”,又结实又好用

我最爱的转向“插销”,又结实又好用

支架和电机连接

支架和电机连接

加一个蓝色插销加强一下

加一个蓝色插销加强一下

连上一个大直角,这个是以后用的,先放着

连上一个大直角,这个是以后用的,先放着

准备做另一边的支架

准备做另一边的支架

组装后的第二个支架

组装后的第二个支架

支架与电机连接

支架与电机连接

这些是固定宽度的撑杆

这些是固定宽度的撑杆

这个支架还没有完全连起来,给它添加一个直角连接,连接的照片忘拍了,自己试试吧

这个支架还没有完全连起来,给它添加一个直角连接,连接的照片忘拍了,自己试试吧

完工了!看看四脚朝天的效果图

完工了!看看四脚朝天的效果图

解魔方的机器人攻略7 – 底座

接下来的几篇攻略会以图片为主,基本上每个步骤都加上了下一个步骤需要的颗粒,相信聪明的你肯定能理解。
首先要制作的是魔方的底座,就是下面这个东东:

可选择的魔方底座

可旋转的魔方底座

(我家娘子看了上面这张图,第一反应是“结婚戒指呢?”。哭,好不容易找的角度,居然被慧眼如炬的识破了……:)
下面是看图说话环节:

双层的齿轮盘+两个连杆

双层的齿轮盘+两个连杆

这个是背面,接上转向连接件

这个是背面,接上转向连接件

没啥好说的

没啥好说的

装上了“擂台的四个柱子”

装上了“擂台的四个柱子”

这些将是“擂台的围栏”

这些将是“擂台的围栏”

两个围栏的最后合影,从此天各一方

两个围栏的最后合影,从此天各一方

另外两个围栏

另外两个围栏

四面围栏搞定,准备开始铺地砖

四面围栏搞定,准备开始铺地砖

定位销钉

定位销钉

这是几块“地砖”

这是几块“地砖”

继续铺地砖

继续铺地砖

地砖安装前

地砖安装前

大功告成,看看效果

大功告成,看看效果

两点说明:
1,这样装完的底盘是有沟壑的,翻转魔方的时候会有很大摩擦力,需要铺上一层光滑的纸或塑料;我从零食盒上剪了一块方形的塑料贴上了。
2,就在我制作的过程中,国甲魔方出了第二代,比标准的魔方小一点,为56mm(标准Rubik’s是57.15mm)。因为这一点点误差,萝卜头回国以后一直水土不服,直到我把四周的护栏缩小了一圈。各位同学到时候请根据自己买的魔方来做相应调整。

这是最近的样子:

调整后最新的样子

调整后最新的样子

解魔方的机器人攻略6 – 结构设计

接下来我会给大家介绍如何搭建萝卜头的结构。事先需要说明以下几点:
1,搭建好的萝卜头是不能动的,只有烧入程序以后,它才开始有思考能力
2,所有照片都是我在搭建过程中拍的,许多地方后来都做了修改
3,如果你完全按照我的攻略,肯定可以复制出一个萝卜头,这叫“抄作业”
4,如果你参考我的攻略,领会精神,也可以做出自己的窝窝头或其他什么头,这叫“做作业”

凡事预则立,不预则废。开始动手之前,在脑子里要先有大致上的构思。
NXT套装一共有三个电机,四个传感器(声音,距离,亮度和接触),另外有个单独的颜色传感器。
颜色传感器每次只能读一个点的颜色,为了扫描整个魔方,必须用一个电机带动它来读取不同的位置。
剩下的两个电机,一个用来“转”,一个用来“翻”和“抓”,这样才能切换到不同的面并进行操作。
有了大概的方向以后,就可以按照这个思路来搭建了。乐高有个巨大的优点就是积木式的设计,你可以随意调整它的结构。
我目前的这个方案也是经过了许多次的尝试,搭了又拆,拆了又搭,等大拇指上磨出一层茧的时候就差不多了。

在我的设计里,后来陆陆续续加了一些功能,其中影响到结构的包括:
1,增加了距离传感器,用来判断底盘上是否放上了魔方。
2,增加了亮度传感器,用来修正底盘旋转角度的误差。
3,为机械臂增加了一组减速齿轮,用以增加臂力,避免脱臼和骨折的发生。

由于这些原因,加上我也懒得拆开重新拍一遍,所以你看到的照片和最终的成品会有一些不同。
从另一个角度来说,结构设计并没有标准答案,你可以发挥想象力,做出更个性的机器人!
(呼呼,又说了很多废话,下面正式开始上图)

解魔方的机器人攻略5 – 自制电源

之前说了,9797搭配销售的有一块锂电池,但是没有充电器。而8527更是连锂电都没有。
NXT需要9V电压,共计六节电池,说实话每次充电真是烦死我了(我的充电器是4口的,总过需要30小时充电!)。
如果你想单独购买充电套装,对不起,大概需要700块钱!

好吧,忍无可忍了,下面看看我用废纸,铁钉,电线和直流变压器做成的电源:
1,找两根铁钉,长一点的,需要跟电池差不多长
2,在铁定上绕上两根电线,注意用红线连接正极,黑线连接负极
3,用白纸把铁钉裹住,裹成差不多跟电池一样大
4,买一个圆口的9V电源,额定电流要大,如果需要给锂电池充电的话,最好电流在800mA以上
5,买一个圆口的小插座,用来连接铁钉和电源
算一算成本,小插座2元,9V电源15元,其他的铁钉电线啥的从平时收集宝贝的箱子里翻翻就有了(也有人称之为叫垃圾箱,玩机器人的兄弟,平时需要养成收破烂的习惯)

看看效果吧:

二十元的电源套装

二十元的电源套装

 

9V直流电源

9V直流电源

 

铁钉做成的“假电池”,正好可以放进电池盒

铁钉做成的“假电池”,正好可以放进电池盒

好了,所有需要的材料都已经列出来了,大概只需要2700~3000元左右。
接下来咱们就可以动手开工了!

PS:应程序猎人的要求,我再贴两张清晰一点的接口图片

电源插口

电源插口

后面的三个焊脚,用万用表量,两个连通的是地,另一端是正

后面的三个焊脚,用万用表量,两个连通的是地,另一端是正

至于插口的大小,带上你的变压器,在电子市场试一下就知道啦!

解魔方的机器人攻略4 – 购买器件(下)

二,颜色传感器
身价第二高的同学隆重登场了。想玩魔方,当然要先能看到魔方,并且识别它的颜色。
NXT套装里自带一个亮度传感器(Light Sensor),我曾经打算用它来读取魔方的颜色。
后来发现这个亮度传感器只能读出灰度值,就跟个色盲似的,让它寻个线还凑合,让它看魔方简直就是杀牛用鸡刀。
没办法,只好再买一个专用的颜色传感器吧!
照样上淘宝买吧,价格500元左右。
需要注意的是,这个传感器虽然价格很贵,但是性能却没有想象的那么好。
它能以RGB的形式返回颜色值,但是误差是相当的大,后面我会专门介绍一下怎么在巨大的误差下判断颜色。

NXT 颜色传感器

NXT 颜色传感器

三,魔方
魔方是制作萝卜头过程中非常关键的一环(废话)。问题在于,你不能随便在街头买个烂魔方,然后交给萝卜头。
因为萝卜头身体比较单薄,大刀耍不动的结果是把自己玩残了。
我的第一个魔方就是街头花10块买的,当时还觉得相当贵,想当年好像只用了一块钱。
结果很明显,魔方转到一半,萝卜头的胳膊飞出来了。
后来我分别买过Rubik牌和国甲牌,价格都是50左右,质量上还是咱们国产的好!
所以这里强烈推荐国甲,另外再强烈推荐个淘宝店叫魔方小站,自己搜一下吧:)

国甲魔方

国甲魔方

四,乐高配件
乐高公司真是一个伟大的奸商。它的产品很好,但是零件总是不够用。当你差几个连杆的时候,就会发现这玩意儿真是贵的惊人。我建议不用专门去买连杆或者销钉这样的小件。可以直接去买个乐高小车或者推土机这样的套装,反正多出来的也没损失。
让人欢欣鼓舞的是,乐高颗粒有很多山寨的,尺寸完全一样,质量稍差一点,但是价格只有四分之一。
(一分钱一分货,乐高原装颗粒都是无毒的塑料,如果给孩子玩的话最好买原装的)

乐高铲车

乐高铲车

 

解魔方的机器人攻略3 – 购买器件(上)

决心开始你的机器人之旅了吗?好,是时候从钱包里掏点诚意出来了!
那些从电路开始做起的爱好者们,他们买器件就像是软刀子割肉,今天几十大洋,明天一百大洋,最后都不知道花了多少钱。
幸运的是咱们这个项目,完全就是一锤子买卖,总价三千以内,买完就不用再花钱了。
下面从最贵的家伙开始介绍。

一,乐高(lego)NXT Mindstorm机器人套装
还不知道乐高机器人的同学,请先Bing一下乐高+nxt+mindstorm+介绍
我看完介绍,流的口水差点把键盘短路了。先别猴急,买东西一定要货比三家,毕竟咱们的银子也不是天上掉下来的。
NXT有两种版本,一种是教育版(型号是9797),一种是玩具版(型号是8527)
————————————————–
感谢热心网友Li Fanxiinshua的线报:
目前8527已经被8547替代,套装中已经包含了颜色传感器,暂时不包括锂电池。
————————————————–
对萝卜头来说,两种版本都可以用,下面是一些对比:
# 9797比8527贵400块左右
# 9797比8527多一个锂电池(奸商没有配充电器,稍后我会介绍如何用20元DIY一个电源)
# 9797比8527多一个触觉传感器(其实就是一个按钮)
# 9797比8527多一个收纳盒,这个盒子真是个好东西,不过自己买一个也很便宜
# 两者的零件组合稍有差别,总数量上差不多
总结:不差钱就买9797,节约点就买8527。

NXT 9797玩具版

NXT 8527玩具版

 

NXT 9797教育版

NXT 9797教育版

8527在乐高的官方网站上售价是250美元,约合我朝1700大洋。遗憾的是送货地址只有欧美的几个国家,而中国的总代理西觅亚报价是3000大洋!
因为这个事情,我曾用蹩脚的英文给乐高客服发了封强烈谴责的邮件,客服小mm服务态度还挺好,很快就回了封邮件(假设对方是小mm有助于缓解愤怒情绪)。大意是由于贵国征收了较高的关税,所以我们也无可奈何云云。。
有道理啊!想我泱泱大国,天朝上邦,自然物价要高一点才能体现出那啥主义的优越性。你看咱们的汽车比美国贵,房价比美国贵,玩具比美国贵。。
扯远了,其实你可以直接在淘宝搜索,价格便宜好多,这里我不就不做广告了。(感谢淘宝,感谢马云及其十八辈祖宗!)

解魔方的机器人攻略2 – 选择方案

有了想法,接下来该怎么行动呢?我建议的方式是:
考查 -> 确定方案 -> 架构 -> 实现 -> 改进

我们先开始考查,随便Bing一下 rubik+cube+robot 。你可以找到各种奇奇怪怪的魔方机器人,例如:

各种神奇的魔方机器人(无聊的人还真不少)

各种神奇的魔方机器人(无聊的人还真不少)

需要链接的请点这里:
http://www.switched.com/2009/09/17/teens-rubiks-cube-robot-solves-classic-puzzle/
http://video.google.com/videoplay?docid=-2084071621500271233#
http://www.youtube.com/watch?v=jkft2qaKv_o
http://www.engadget.com/2007/12/17/kawasaki-robot-solves-rubiks-cube-in-six-seconds-flat/
http://tiltedtwister.com/

我决定参考(请注意是参考而不是抄袭)图中左下的方案,该方案基于Lego公司的NXT Mindstorm机器人套装制作,有以下优点:
1,成熟产品,无需设计电路和焊接
2,积木式设计,扩展性超强
3,三组电机,多种传感器,蓝牙连接,功能很完善
4,有很多第三方的开发包,编写代码很方便
5,价格可以承受(2k左右)

它的缺点:
1,个头小,功率不高,转魔方没问题,干重体力活就不行了
2,塑料连接件,容易出现误差
3,想进一步扩展电子设备较困难

万丈高楼平地起,确定方案就是迈出了第一步!请注意:貌似最轻松的这一步恰恰是最关键的,因为它会影响到之后的所有工作。这个考查阶段,我大概用了一星期的时间查阅资料,对比和估算了各种方案需要的时间和经费;另外还需要一个大概的可行性分析,确定这个方案可以行的通。

现在回过头来看,可行性分析非常重要但也不要钻牛角尖,因为做一件事很少能一帆风顺,总会遇到各种出乎意料的问题。只要不轻言放弃,开发人员永远都可以兵来将挡,水来土掩。

接下来就准备掏银子采购吧,像泡妞一样,该出手时就出手!

解魔方的机器人攻略1 – 前因后果

在开始介绍方案之前,我先回答一个问题。有人问我,为什么你无端端的会想起做一个解魔方的机器人呢?

(嗖~~镜头切换到1990年)
玩具店里,一个小P孩正呆呆的看着一架模型飞机。他的眼睛里充满了渴望,小伙儿追求姑娘的眼神也不过如此。
但是他没有哭闹着要买,因为他知道家里没有多少钱(哈哈,这娃真懂事啊)
最后他挑了一个很便宜的魔方,这个魔方成了他几年内唯一的玩具。
那个时代没有网络,信息匮乏,这个不算聪明也不算太笨的小P孩,自己一个人闷头玩了两年,终于找到了还原的方法。

(嗖~~镜头又切换到1996年)
在座如果有北航的校友,应该知道冯如杯科技制作竞赛,每年各系都有老师组织并指导学生参赛。
航空发动机系的新生:老师,我想做一个能转魔方的机器人
指导老师(观察中:这个学生真是特别啊–看上去特别呆):
嗯,你的想法非常好,不过我觉得实现起来很难,而且没有什么实用价值,另外咱们系也没多少经费……
于是这个不切实际的想法就这样被咔嚓了。
题外话:其实当时计算机还在Dos时代,Internet更是还没在北京出现,做这样的机器人确实非常困难。我后来参加的Atar9C发动机实体模型项目,获得了冯如杯的二等奖。
这个发动机至今还展览在北航三号教学楼的发动机陈列室里,回想起来还是无法抑制的臭美啊!

(镜头再次切换)
某公司老板酷爱长跑,为了迎接新加坡马拉松大赛,他组织了一次公司内的热身长跑活动。
在这次活动里,只要跑完20公里,就可以获得几百大洋的奖金。
有一位年轻人恰好出差到此,跑两小时就有几百大洋入账,不赚白不赚啊!
不幸的事情发生了,半路上他亲眼目睹了一个同事倒下,心脏病突发。
虽然这种事在长跑中很常见,虽然和这位同事素不相识,但是年轻人还是被震撼了
人生如白驹过隙,你曾经想过要做一些事情,但是“有空了再说吧”,“有钱了再说吧”。。懒人的借口总是好找的。
当然,大多数人不会以这种突然的方式离去,他们只是在不知不觉中变老,然后有一天,他们会“突然”发现自己没多少时间了。
所以他决定做点事情,从十多年前被鄙视的小心愿开始做起。
题外话:世事就像变幻莫测的魔方,一串貌似毫不相关的因,可能会结出一个莫名其妙的果。这就是传说中的蝴蝶效应吧!

解魔方的机器人-零基础攻略(序)

    胡温戊子年(即公元2008年)的夏天。就在举国上下喜迎奥运的时候,有一个年轻人却收拾行装,非常不爽的离开了北京。因为他是干程序员这一行的,这个行当简单说就是收人钱财,替人消灾,有时候还TMD必须去外地消灾!

    这次消灾之行的目的地是新加坡。消灾的日子是非常难熬的,去公司忙的要死,回公寓又闷的要死。因为这位同学不会k歌,不打游戏,不看电视,更不会去芽笼逛街,当地为数不多的几个景点都去过好几遍了。

    正所谓:天将降大任于斯人也,必先苦其心志(需求天天变),劳其筋骨(加班天天不变),饿其体肤(没人煮夜宵),空乏其身(股市有风险),行拂乱其所为(投资不谨慎),所以动心忍性,增益其所不能。终于有一天,这位同学忍无可忍,决定做点事情打发时间。两个月后,第一版的解魔方机器人就这样诞生了(没错,这个莫名其妙的同学就是我自己)。

    当然,既然是第一版,肯定有很多问题。例如颜色读不准,手臂卡住,步骤太多等等。经过一年断断续续的修补,最近终于完成了非常稳定的第三版。

    给大家介绍一下,这个机器人的中文名字叫萝卜头,英文名是Robot~。它能在三分钟到五分钟内还原一个任意状态的魔方,还原步骤平均在25步左右。

    先来个特写:

来个特写

来个特写

正面免冠大头照:

正面免冠大头照

正面免冠大头照

再换个角度秀下侧面:

再换个角度

再换个角度

来段视频表演:

 Youtube请看这里:
http://www.youtube.com/watch?v=MXk5-dvkBWo

好了,看完表演,没兴趣的同学可以散场了,下面是几个小小的总结。

制作这样的一个机器人,我们需要什么:
1. 兴趣,这点不用多说了,假设没兴趣的同学已经飘过了
2. 时间,上班族可能需要两个月的业余时间,如果你是学生,恭喜你可以打个五折
3. ,人民币三千大洋以内,跟一部普通手机差不多。有趣的是,不同的人对此反应截然不同。一类人会说“哇,只用三千块啊”,另一类人会说“哇,三千块就做这么个东西啊”,您觉得呢?
4. 一定的编程基础,在我的攻略里,会使用Java和C#来介绍
5. 一台能上网的电脑,听哥一句话:少玩游戏,多查资料:)
6. 家人的支持。如果您的另一半反对的话,估计这事基本就没戏了。还好,我家娘子是EE专业人士,目前是兼职的免费助理

我们不需要什么:
1. 如果你没有电子电路知识,或痛恨焊电路板,请不要担心,这个机器人不需要自己制作电路部分。
2. 同样,我们也不需要做任何机械加工,所有器件都是塑料件,顶多需要用小刀削掉一些边角。
3. 大师们经常说“我们的研究,是在马啥主义,毛啥啥思想的指导下开展的”。每当我听到这些,都会崇拜的内牛满面。所幸的是,我等草民只需要拿来主义和面向对象的编程思想即可。
4. 参考书,这是个新奇的领域,几乎找不到相关的参考书,还是省点钱在网上查资料吧

最后,如果你看了这些以后仍然很有兴趣,并决心走上DIY之路的话,请经常来我的博客转转 
我会陆陆续续发布后续攻略,按照这些攻略你也可以亲手做出一个解魔方的机器人。即使你对魔方不感兴趣,至少也能得到一点启发和灵感。