主要材料
:乐高机器人常识 |
所需工具
:乐高机器人常识 |
制作步骤
:第1步:
从今天起,给大家盘点一下主流的机器人开发套件。谈及机器人套件,乐高是回避不掉的,既然这样,那我们索性从乐高机器人套件开始说起。
第2步:
乐高,这家位于丹麦的公司,至今已有80余年历史,其进入机器人领域亦有十余年。
旗下的机器人产品统称为Mindstorms,名字来源于1980年Seymour Papert的著作《Mindstorms:孩子,电脑和超级创意》。Mindstorms套装包括可编程的乐高积木、马达、传感器、LegoTechnic部分(齿轮、轮轴、横梁、插销的统称)。
Mindstorms发展至今,已经衍生出三代产品,按时间顺序分别为RCX、NXT、EV3。下面我们一一给大家道来。第3步:
第一代:RCX
RCX是一块可编程积木,由8位CPU和32k RAM构成(容量只能储存5个普通的编译程序),在用乐高积木、马达、传感器等搭建的机器人中充当控制系统。
RCX支持的输入设备(传感器)有:“接触传感器”、“光感传感器”、“角度传感器”、“温度传感器”以及“火焰传感器”,但是它只有3个输入口用于连接传感器,还有3个输出口连接马达等输出设备(只能接LEGO专用马达)。RCX使可由6节5号电池或者9~12伏的外接直流电供电,当RCX没电时,其内部储存的所有数据都会消失。
MIT研究人员给它开发了一套视觉化程序编辑工具,叫做RCX Code,编程过程就像是堆积木,只要把各种代表不同程序逻辑的「积木」在屏幕上堆起来,就能完成RCX的编程。
程序撰写完毕后,通过过套件提供的红外线装置,即可把程序传入RCX,过程非常简单,适合无编程经验的人。第4步:
第二代: NXT
二代机器人NXT基于ARM7(32位)微处理器,RAM为256K,相比RCX,性能更强大,同时,NXT比RCX多了一个输入端口,还增加了声音、颜色、超声波(大多用于感应障碍物)等传感器,可以出现组合而实现更多可能性。
NXT内置有USB和蓝牙模块,使用者可以通过蓝牙控制NXT。除了控制系统大幅增强外,NXT的马达使用伺服控制,程序执行起来更加精准。
此外,NXT可以使用微软推出MicrosoftRobotics Studio进行编程与开发,MSRS是一个一个可视化编程环境,,能模拟机器人仿真运行,只要熟悉了这个软件,很容易就能控制NXT机器人了。第5步:
第三代:EV3
三代机器人EV3将处理器从ARM7升级到ARM9,内置16MB的ROM和64MB的RAM,性能进一步增强,更厉害的是运行Linux系统。它拥有四个输入接口和四个输出接口,像第二代有的SD扩展、USB接口,它都有。
除此之外,EV3增强了与智能设备的互动,添加了WIFi模块,可以和iOS、Android设备连接,通过App进行控制。通过改进的麦克和扬声器设备,可以支持简单的人机交流。
与前代相比,新增加了陀螺仪传感器(制作自平衡机器人是个不错的方向)。
EV3最大的特点是无需在电脑上编程,使用分辨率178*128的屏幕可以直接图形化编程,能还能查看详细图形和传感器数据。第6步:
乐高机器人套件最吸引人之处就是玩家可以自由发挥创意,组装各种形状机器人。最大的缺点就是价格,EV3 市价5000左右、NXT市价3000左右,如此高昂的价格也将很多玩家阻挡在大门之外。
说了这么多乐高机器人套件,下面简单介绍下乐高机器人所用的编程环境,大体上有这六种。第7步:
1.RoboLab
Robolab是乐高公司与美国国家仪器公司(NI)、美国塔夫斯大学(TUFTS)共同合作,在LabVIEW™基础上开发的机器人控制软件,是一种图形化程序编辑环境,编写程序就像设计流程图一样,简单易学,很快就可以上手。Robolab 2.5.4版本可对RCX进行编程,Robolab 2.9以上的版本可对NXT进行编程。但这个软件在2.9.4版本以后就不再更新了。第8步:
2.NXT-G
NXT-G乐高公司和NI合作用LabVIEW为乐高机器人开发的图形化编程软件,简称G语言。它也是以图形化编程来编写程序,通过逻辑的框图来展示程序。NXT-G编程语言面向的是无开发经验的小学生,他们可以通过简单地拖放功能模块,编写出控制机器人控制程序。第9步:
3.Microsoft Robotics Studio (MSRS)
微软开发的可在不同机器人上编程的软件平台。其中可以实现对NXT和RCX2.0的编程与开发。MSRS包括一个可视化编程环境, 能模拟机器人仿真运行。熟悉这个软件的人可以很快学会控制乐高机器人。第10步:
4.RobotC
卡内基梅隆大学开发的一款基于C语言的编程环境,支持对NXT,RCX的编程。界面简单,易于操作,适用于熟悉C语言编程的机器人爱好者。第11步:
5.Bricx Command Center (BricxCC)
个人开发的开发环境(IDE)。通过使用NQC,NBC和NXC语言可以对NXT和RCX进行编程,因为该软件是免费开源的,是目前使用c语言的乐高爱好者最为常用的编程软件。第12步:
6.LeJOS
由LeJOS Forums成员开发,是专为乐高机器人设计的JAVA程序语言,完全开源、免费。熟悉JAVA的使用者能快速上手。