怎么制作你的第一个机器人
2012-08-07 22:45 java线程例子 阅读(1382) 评论(0) 编辑 收藏 举报翻译原文:http://stupid.javaeye.com
英文原文:http://www.societyofrobots.com/robot_tutorial.shtml
成功的关键就是动机。
为什么要制作机器人呢?你的动机是什么呢?看起来很Cool?还是想参加像battlebots那样的比赛?机器人学能教你太多的知识,其涵盖了 电子科学、机械学、控制理论、程序设计甚至动物行为学和人类心理学。在开始这个教程前先问问自己为什么要制作机器人,你的目的和动机是什么,否则当你半路 退出时还不知道自己到底为什么开始。
OK既然你已经知道自己为什么要制作一个机器人了,那么让我们谈谈制作机器人你所需要知道的东西…
成功完成第一个机器人总是最难的。
所以最好要采用KISS(Keep It Simple Stupid)方法:保持简单、目标明确!这是一个非常好的建议,因为我的第一个机器人目标定位太高,浪费了大量的资金,而且它根本没有真正的工作过。你 制作第一个机器人的目标应该是学习基础知识,包括:如何编写程序、怎样使用工具、弄懂用到的术语,学习基本的技术和怎样用最便宜的价格搞到机器人的零件。 把你的cool机器人点子应用到你的第二个机器人上。随后你可以使用从第一个机器人上拆下来的零件来制作第二个机器人。相信我。
OK我准备好了,我需要什么来开始呢?
很明显你首要需要的就是钱。机器人是非常昂贵的。一个熟练的机器人专家制作一个机器人基本上不用花什么钱。经过多年的积累他们已经有足够的原材 料,而不需要再去买大部分零件。专家们知道如何自己制作零件来代替成品,当然他们也有能力自己制作。然而初学者并不知道这些。你可以在房子中找到制作机器 人所需要的大部份零件,但是不要指望只要用胶皮圈和牙签就可以改装出你的第一个机器人。要为你的第2或3个机器人准备好更多的资金。第一个机器人至少也要 花上100-200美元。你可以向你的父母要这些钱,告诉他们机器人的教育性或什么的。告诉他们你可以用比赛中赢得的奖金把借款还上。告诉他们机器人制作 可以帮助你顺利进入所选择的大学或者可以得到机器人相关行业的实习机会。告诉他们它可以让你远离混乱的街区或远离毒品。得到一个另类的工作!你也可以向你 的中学或大学申请经费,甚至向公司要钱。告诉投资人他们的投资会得到丰厚的回报或其他什么事情。现在我已经为我全部的机器人筹集了4k多美元了。我甚至听 说了有人在一个机器人上花了20k美元。当你的技术越来越熟练你身边会有更多可用的零件,以后制作机器人会变得更容易负担。另一件事就是找个地方来制作机 器人。加入一个机器人俱乐部。会员们经常会借给你所需要的零件、工具、仪器以及无价的帮助和建议。我记得在我制作第一个机器人前我问了近六七个人。
OK 我已经搞到钱了,现在让我们开始花吧!
但是首先你要有个设计。
一个容易制作的机器人应该是什么样子呢?这看上去像一个愚蠢的问题,但是我保证好好研究一下其他机器人会对你有很大的帮助。浏览网站上机器人相关 的图片。切记只看真正简单的机器人,不要在你的第一个机器人上想象和创造。如果你想制作一个能帮你拿啤酒并有视力的双足机器人,那么你只是在自找麻烦。你 要做的就是一个不会把自己创毁的2个轮子的东西。你要做的就是不会从桌上掉下去,不会发声的两轮的机器人。对于一个初学者来说,能自己完成已经是非常难的了。
这样你的机器人会有两个轮子,被机器人最基本的驱动算法所驱动-差分驱动。
前进时,两个轮子要以相同速度前进。 后退时,两个轮子以相同速度后退。 左转时,是左边的轮子后退而右边的轮子前进。 右转时,右边的轮子后退而左边的轮子前进。
你可以通过改变两个轮子的转动速度得到一些有趣的曲线。但是现在,为了保证你的第一个程序的简单,让我们保持算法的二元性。哦对了不要忘了你还需要一个小脚轮(必须是摩擦力小的)。记不记得几何里所学的3点成面?
要制作一个差分驱动器我需要有什么呢?只需要有两样东西:2个轮子和2个电机。听起简单,但我们还是需要一个整体的设计方案。
让我们先从轮子开始。大轮子会让你的机器人移动速度更快,而小的轮子会慢些。那为什么不直接用大的呢?大轮子意味着你的机器人有更小的转矩去携带 沉重的负荷,大轮子也更难很好的控制位置。而且你的传感器一般跟不上位置快速的移动。但另一方面,移动慢的机器人常常会因自杀(比如撞击到墙壁)而烧毁, 你权衡一下在做决定。我建议你的第一个机器人应该使用直径是2-3"的轮子。浏览航天器爱好者网站或我们已有的零部件的清单中找到摩擦力大的轮子。如要要 买的大约需要5-10美元包含运费。别忘了考虑你的轮子如何与你的电机连接。
好了现在我们来看看电动机。为机器人选择一个最优的电动机要考虑重量,传动比率(gearing ratios),地形的要求,速度和加速度的要求,电压,耗电量,可控制性等一整系列的事情,这些对于一个初学者来说简直就是灾难。所以我们先应付一下。 让你的机器人尽可能的轻,选一个不容易被烧坏的电机。但要记得电机越大电池的寿命越短、控制电路也更复杂更昂贵。
以下是我对你的第一个机器人电动机的建议: 电压:5V-8V 转矩:是你设计需要的2倍
网上有很多地方都卖直流电动机。也可以考虑购买伺服电动机。他们的实现复杂度和花费基本相同。每一种都有自身的优点。伺服电动机更容易控制,但是 他们的功率都比较小,需要明确的电压,and are less intuitive。电机的功率和能量都比较大可以粗略的处理,但别忘了智能控制的是不会让这种情况发生的。每个直流电机/伺服电机大概是1-40美元。 我建议为你的第一个机器购买8-20美元的电机。
下面来介绍动力。不使用太阳能和燃料,他们不会让电机工作。用电池。要买可充电的那种,有高mAh(能量的容量),能在任何时候至少可以输出1安培。可通考虑通过对电池的并联和串联来控制总的电压和电流。
电池有很多种,让我们来讨论最常用的3种。
碱性电池是最普通、最容易买到的,也是最便宜的一种。然而他们对我们来说是没有什么用处,不要买他们。他们的容量很低需要很多s,不能在短时间内提供大电流,经常的更换也会带来昂贵的花销。
镍氢(镍金属氢化物)电池才真正的轻巧。今天手机中使用的电池就是镍氢电池。镍氢电池可以重复的充电,有良好的电流输出,而且是高容量。然而镍氢 电池价格要比我要提到的其他两种电池都要昂贵。我建议体积小的机器人可以使用镍氢电池作为电源电路。镍氢电池根据不同的因素有不同的充电时间,一般需要 5-10小时才能将电池充满。
镍镉电池适合中小型的机器人,跟镍氢电池相比能输出更大的电流,而且在一两小时内即可完成充电。老式手机一般都采用镍镉电池。然而,给镍镉电池充 电却是一个黑色艺术。是否曾经注意到一些老式手机的电池充电时间没有刚买来时那么长?这就叫做记忆效应。镍镉电池在反复充电过程中,可以储存的电量越来越 少。为了防止记忆效应,在每次充电前都要将电池充分放电。只要把连个电池接在一个可爱的玩具动物上,直到它不动为止。我想把电池接在一个电机上也会起到同 样的作用。记住,镍镉电池里面含有有毒的镍材料,所以要把他们保存起来然后循环利用/妥当处置。
我的建议是制作一个小型机器人,买2组6V的镍氢电池组。每组加运费大概需要10-15美元。买2组电池可以将电动机电源与电路电源隔离开。作为 一个初学者你肯定不会希望你的电动机影响或烧毁你敏感的电路。相信我一组电池给电动机供电,另一组给电路供电。电路最好使用镍氢电池,电动机使用镍镉电池 还是镍氢电池取决于你的电动机功率的期望值。由你自己选择。你可以在RadioShack或任何的RC俱乐部网站上买的到。
使用任何的电源,都要确保使用一个好的机器人功率调节电路去帮助你控制你的电源。
OK现在你需要一个好的电路。忘记你自己的设计。最好让你的第一个机器人简单,所以一个现成的电路是最简单的。他们一般被称作微型控制器,最流行 的是基于PIC,ATMEL和BASIC Stamp 的控制器。Stamps控制器虽然使用简单但是提供功能比较少。如果你有编程基础,我建议你使用基于PIC的控制器。在Google上搜索在线微型控制器 (microcontrollers online)或者查看我们的机器人配件列表。我个人使用Cerebellum微型控制器,但在列表里还有很多,而且最近还会添加一些。
在任何机器人专业网站上一个控制器的售价大约在80-120美元,另外还需要30美元够买一个编程器(将你的电脑中的程序上载到芯片中),使用基 于PIC的控制器还需要一个专业的编译软件,从免费到600美元价格不等。一些控制有内置的编译器,这就是我为什么使用Cerebellum 的原因。你也可以手工制作一个真正便宜的编译器。只要确认你的控制芯片有内置的电机驱动,LED驱动和模拟信号输入\输出。现在不要担心他们是什么,只要 确认你的芯片有他们就可以了。同样要考虑功率要求。最好还有使用手册和样例程序,来介绍芯片的使用方法。不过我不会照着那些例子做。因为他们看起来总是那 么复杂,但事实上就是简单的即插即用。只要按步骤插上电源,安装好电动机\伺服系统,连接好你的传感器,再对它们编程。你的电路就完成了。在你买第一个控 制芯片的时候要切记,一定要买使用简单的。你真正的了解那些附加的功能是做什么用的吗?你的第一个机器人,目的应该是学习怎么制作一个机器人,而不是制作 一个灵巧的机器人。
现在怎么让我的机器人,嗯…成为一个机器人呢? battlebot不是真正的机器人,因为它没有传感器,不能做出自己的决定。你希望他是自动的对吧???如果你想要一个battlebot,那么你可以 跳过下面这章,直接用遥控器连接到你的控制器上即可。但是一个自动机器人可以赢得女士们的芳心哦。
那么让我们来学一个基本的传感器:
光敏电阻是最基本的传感器。以前听过photovore机器人吗?如果没有可以到google上查一下。photovore机器人一般有2个光敏电阻(每 个如同20美分),安装在机器人的两侧,内部运行二进制算法。运行中如果左侧的传感器感应的亮度比右侧的强,那么就会通知的你的差分驱动器向左转。把光敏 电阻传感器对准地面,扫清地面上的障碍——你的机器人会避开在行进路线上的物体投影。是的就是这么简单!还有很多廉价简单的传感器装置,这仅仅是一个好的 开始。
好的你已经凑齐了所有的零件,但还不是一个机器人。现在是设计制作机器人底盘的时候了。我先说设计的原因,是因为先做好计划通常是个好主意。通过经验我发 现在设计上花的1个小时,在制作的时候就会少花1小时(而且直接制作的机器人构造一般还是低质量的)。初学者可能会在设计上遇到困难,因为他或她不知道什 么可以工作什么不能。但是我仍然建议先设计。当我开始制作机器人时我花在设计上的时间大约占整个制作时间的5%。现在我更年长,更聪明了,花在设计阶段的 时间大约是整个制作工程的90%。现在我的机器人设计的如此之好,当拿到邮寄到的机器人零部件以后,1,2天内,有些时候甚至几小时内,我就能完全造好一 个机器人。
为什么会这么快呢?因为我使用能显示所有零件、螺丝钉、一切部分安装位置的3D CAD程序。每个部件都有意设计成最少的钻孔和最小的切割面。我甚至计算每个部分的阻力和需要功率以保证它们都符合规格。你希望自己花了数小时制作的东西 最后说“糟糕根本不能工作”吗?
你绝对不能略过设计,尤其当你参加像battlebots那样,零件经常损坏的竞赛,或是没有足够的资金或时间浪费在失误上的时候。
好,现在开始发挥你的想象力。要确实的按上面所说的做。基本上你需要决定的就是外形、零件的位置和如何将各个零件连接在一起。在设计上花的时间越多,你制 作机器人的花费会更少,时间会更短。在设计的时候在要记得,计划好钻孔的位置,如何从铝板料,聚乙烯或谷类食品盒上切割零件,还要平衡重量。废物堆、旧玩 具和mcmaster.com都是找零件的好地方。使用LEGO玩具来制作原型早些发现设计缺陷。还建议你使用尼龙搭扣和双面胶带这样让你修改起来很轻 松。电池应该始终使用尼龙搭扣来连接——使得充电很方便。估计你的第一个机器人会修改很多,所以设计的时候应该让你的机器人更容易更改。
既然你已经准备好制作你自己的机器人了,访问我的50美元制作机器人的教程按照说明一步一步来做。
其他提示:
不要重新发明轮子!去网上看看其他人做的东西,然后模仿着做!这可能没有创造性,但这是你的第一个机器人,不要指望在第一次尝试的时候就发明相对论。
加入当地的机器人俱乐部。他们有你需要的所有设备和建议。他们会成为一个巨大的支持团队。有可能会找到合作伙伴来一起制作机器人(可以分摊花销)?
参加机器人竞赛。这样会给你动力,设计目标和完成机器人的最后期限。另外如果赢得了奖金,你的机器人就能自己赚钱了.只是不要等到比赛 前2个星期才开始。也不要指望你第一次就能获胜,除非在比赛开始的前一个月你已完成机器人。那样你就有很多的时间来调整和完善你的机器人。从失败中吸取教 训重新设计你的第一个机器人然后下次继续参加。
买零件也是一个技巧。寻找零件,确认符合你的规格并且买得起就是一个挑战。记得有很多供应商会免费向“你的公司”提供传感器和IC的样品,提示,提示。用我们的机器人零件清单也会帮助你开始。最后,这页右上角的google广告也有机器人零件的供应商。
随着机器人规模的线性增加,它的花费和难度都成指数增加。让你的机器人尽可能的小巧轻便。
最重要的一定要切记遵循KISS原则。保证机器人的简单,傻瓜。