在上一篇攻略里,我们简单的了解了一下乐高机器人,本文中将以目前市面中最常见的NXT2.0版机器人为例,向您详细介绍乐高机器人的入门知识,从硬件、软件和零件配备三个方面一起来学习如何玩转乐高机器人。
一般来说能自动执行工作的机器装置都被称作机器人。机器人有控制中心——能接受人类的工作指令、存储程序、指挥机器人的动作;有各种各样的传感器——能够感知周围环境的变化;有运动部件(马达)——能够带动机械结构做出各种动作;也有其他的输出设备,如屏幕、喇叭和LED等,可以用来表达机器人的情感;还有组成机械结构的各种零件。乐高机器人虽然号称为玩具,但构成一个机器人的种种元素却一样也不少。
一、乐高机器人的大脑 — 控制单元与传感器蓝牙机器人硬件是由NXT控制器、伺服电机、传感器等组成。NXT控制器就像人的大脑,伺服电机好比人的肌肉,提供动力,传感器就像人的五官,采集外界环境的数据,然后反馈回大脑进行处理。
1.NXT控制器图:NXT控制器
32位ARM7主处理器,主频:48MHZ ;8位AVR协处理器,主频:9MHZ;具有蓝牙无线通讯功能,能同时可以与3个带有蓝牙功能的设备通讯,如:另一部NXT控制器、手机、电脑等。连接传输速率每秒1MB字节,最少传输距离10米,通过增加发射功率可达到100米; 4个输入端口;3个输出端口;100x64象素黑白显示屏;带扬声器;使用6节AA电池或锂电池板。所有的传感器要连接在NXT控制器上才可以使用,乐高机器人最核心的部分。
2.NXT伺服电机图:NXT伺服电机
内置角度传感器可以测量速度和距离,使你能准确的控制电机转动精度,可以精确到1度以内。
3.NXT传感器看起来飞天遁地无所不能的乐高机器人,很多的功能都是通过多种多样的NXT传感器来实现的。
如果你觉得乐高公司给机器人配备的传感器过于简单,不能玩的尽兴,还有其他一些公司也在生产制造能与乐高机器人配套使用的传感器,我们一般称之为第三方传感器。目前玩家公认做的比较好的公司有三家。
Hitechnic公司
该公司生产的传感器在外观上与乐高传感器非常接近,完全经过了乐高公司的认证,具有和乐高零件一致的安全性和可靠性,传感器上带有“LEGO”的标识。主要产品有:
Mindstorms公司
该公司的产品从外形上看,似乎和乐高没有一点关系,但并不影响和乐高组件的可靠连接,下面介绍的几种传感器非常具有趣味性:
Dexter公司
该公司的产品在国内不如前两家第三方传感器那么多见,有几款产品加大了乐高机器人与其他电子控制产品的联系范围,使乐高机器人的可玩性大大提高:
介绍了这么多齐心怪状的零件,你也许会问,这些都能做什么?能帮你开饮料,做打印机,能解魔方,如果你玩摄影造一个全景云台也不错。有视频有真相。
视频:乐高开瓶机器人
视频:乐高打印机器人
视频:5秒钟解开三阶魔方的乐高机器人
二、控制乐高机器人语言 — 编程软件
看了这些视频有没有赶紧动手打造机器人的冲动?不过先别急,光有这些零件还是不够的,还要搭配相应的编程软件来控制你的机器人。
提起编程,真是“有人欢喜有人忧”。对于有编程基础、甚至从事软件工作的人来说,关心的是能否使用自己熟悉的编程语言给乐高机器人编程;而对于没有任何编程基础的人来说,关心的却是哪一种编程语言最简单易懂、可以很快掌握。
从这一角度看,我们不得不佩服乐高公司在开发机器人这一产品时的深思熟虑,在编程软件方面,乐高机器人完全可以满足上述两类人群的需求。
1.RoboLabRobolab是一种直观易学的图形化程序编辑环境,是乐高公司与美国国家仪器公司(NI)、美国塔夫斯大学(TUFTS)共同合作,在LabVIEW?基础上开发的机器人控制软件。编写程序就像设计流程图一样,简单易学,很快就可以上手。
图:RoboLab操作界面
ROBOLAB的编程环境共分为3个级别:初学者级别(Pilot Level)、发明家级别(Inventor Level)、研究者级别(Investigator Level),每个级别又分数个等级,由浅入深,共有13个等级,使用者可以根据年龄、水平来选择不同的编程等级。Robolab 2.5.4版本可对RCX进行编程,Robolab 2.9以上的版本可对NXT进行编程。但这个软件在2.9.4版本以后就不再更新了。
2.NXT-GNXT-G是由乐高公司和NI合作用LabVIEW为乐高机器人开发的图形化编程软件,简称G语言。最大的特色就是以图形化编程来组织程序,程序的展现出的形式就是具有逻辑结构的框图。因为其编程方法简单易学,又可以编出极其复杂的程序(乐高公司称c语言、Java语言编出的程序,NXT-G都可以编出),NXT-G语言已成为“TIOBE世界编程语言排行榜2011年榜单”的第15名。乐高公司为这种编程语言开发的软件称为“LEGO MINDSTROMS NXT 编程(programming)”
图:NXT-G操作界面
编程软件分两种版本:玩具版本(8547 NXT零售版本附带)和教育版本 (需要9797 NXT 教育版本用户单独购买使用),它们的主要区别是玩具版只有英语,而教育版本可选择语言。 NXT-G编程语言的特殊之处在于其并非是提供给专业程序开发者的编程语言,不需要有任何编程基础,小学生也可以通过案例学习这种编程语言,通过简单地拖放功能控制模块,就可以编写出控制机器人运动的程序。
3.Microsoft Robotics Studio (MSRS)这是微软开发的可在不同机器人上编程的软件平台。其中可以实现对NXT和RCX2.0的编程与开发。MSRS包括一个可视化编程环境, 能模拟机器人仿真运行。熟悉这个软件的人可以很快学会控制乐高机器人。
图:Microsoft Robotics Studio (MSRS)操作界面
4.RobotC卡内基梅隆大学最新开发的一款基于标准C语言的编程环境,支持对NXT,RCX的编程。界面简单,易于操作,适用于熟悉C语言编程的机器人爱好者。
5.Bricx Command Center (BricxCC)一款由个人开发的集成化开发环境(IDE)。通过使用NQC,NBC和NXC语言可以对NXT和RCX进行编程,因为该软件是免费开源的,是目前使用c语言的乐高爱好者最为常用的编程软件。
6.LeJOS由LeJOS Forums成员开发,是专为乐高机器人设计的JAVA程序语言,完全开源、免费。熟悉JAVA的使用者能快速上手。
三、想完成自己的机器人你还需要它们了解了乐高机器人的硬件和软件,制作机器人当然要有组成机械结构的各种零件。乐高公司出品的每个机器人套装都提供有搭建图和完成这些搭建图的零件。按照搭建图就可以制作出机器人来,但如果你想发挥自己的创意,只拥有机器人套装中的零件还是不够的。
制作乐高机器人机械结构的主要零件如下图:
图:制作乐高机器人机械结构的主要零件
乐高的零件虽是塑料制品,但制作精良,精度极高,耐用性也很强。据乐高公司的资料显示乐高零件如果使用得当寿命可达80年。乐高零件的的注塑模具全部在德国制造,零件的尺寸误差小于0.01mm。如此高的制作质量绝非国内的仿制品可比。
喜爱乐高机器人的朋友可以关注下乐高的科技系列玩具套装,科技套装玩具被玩家们称作“可以摆着客厅里教具”。适当收集些科技套装的玩具,不仅可以在搭建过程中学习机械结构知识,为机器人积攒零件,科技套装中丰富的零件颜色也会为你的机器人增色不少。
四、如何买到乐高机器人乐高官网的在线商店有9797和9695(配件库)出售,9797的售价是297.95美元,9695(配件库)的售价是99.95美元。但乐高公司不对中国发货,甚至不会给转运公司的地址发货。因此,如果你在美国有朋友可以帮你接收物品,并通过转运公司寄回国内,将是一个非常不错的选择。
通过亚马逊网站,可以在美国、德国、法国购买8547。德国亚马逊和法国亚马逊可以直邮中国,但在预收关税后,8547的价格已经高于国内淘宝的价格了。美国亚马逊上的8547不对中国直邮,需要通过转运公司将物品转会国内。感兴趣的朋友可以查找下海淘的攻略和转运的渠道,但由于玩具进关是要经过商检、海关两道程序的,一旦被海关扣住将非常麻烦。因此,如果没有完全的把握,请慎重海淘。
乐高机器人即使在淘宝网上也是售价不低,但绝大多数商家自己并不会玩机器人,因此无法对购买者做出指导,甚至在机器人硬件出现问题时,不具备专业技能的商家也无法做出准确的判断。因此建议大家在购买之前除了关注价格是否合适外,还应适当了解商家的售后服务如何、专业技术如何,以免出现问题时双方无法沟通,不能解决问题。
最后,给大家一点和乐高机器人相关的小建议。淘宝网上有大量的乐高机器人资料出售,价格从几元到几十元,有教程、搭建图等,这些资料基本上都是国外乐高迷或各个乐高网站对外公开和分享的资料,在国内与乐高相关的中文网站也多有转载和介绍,只要认真搜索和查找,都可以免费获得。学习乐高机器人的过程中,在网络上搜寻案例和资料是必要的,稍微花费些时间做做功课,您就可以找到那些淘宝网店出售的资料,大可不必在此花费金钱。
乐高机器人的复杂程度不是短短的两篇文章就能介绍清楚的,想要玩转乐高机器人还需要长时间的学习,最后给大家介绍一些乐高机器人有关的专业网站,供大家参考。
1.http://www.nxtprograms.com/
一个国外的网站,给出了大量的搭建和编程示例,很适合初入门的新手。虽说是英文页面,但大都是看图说话的例子,英语较弱的人也不会感到困难。
2.http://mindstorms.lego.com/
乐高公司的机器人官方主页。
3.http://www.legoengineering.com/
乐高公司与塔夫斯大学合作的网站,可以从中学习robolab。
4.http://lejos.sourceforge.net/
提供Lejos程序下载和各种JAVA资源。
5.http://bricxcc.sourceforge.net/
NBC、NXC的专业网站,提供Bricx Command Center的下载。
6.http://www.robotc.net/
RobotC的官方网站,只提供试用程序的下载,最近有了中文的页面。
7.http://www.peeron.com/
乐高积木零件查询网站,输入套装的编号就能看到零件清单。
8.http://www.hitechnic.com/
Hitecnic产品的官方网站,有Hitecnic传感器的详细介绍和模块下载。
9.http://www.mindsensors.com/
Mindsensor产品的官方网站,有Mindsensor传感器的详细介绍和模块下载。
10.http://www.cmnxt.com/
中文乐高论坛,有各种乐高机器人的中文入门知识,介绍国外的乐高机器人动态。
至此乐高机器人的攻略就全部结束了,乐高机器人的复杂程度绝对是超乎想象的,仅以此文抛砖引玉,更多的知识和乐趣,还要在不断的创造中去寻找,祝大家玩的愉快。