乐高 NXT与EV3主控模块的比较及功能适用性探析

2018-10-12 05:48赵鹤然
中国设备工程 2018年19期
关键词:乐高套件图标

赵鹤然

(山东省实验中学西校区高三45班,山东 济南 250000)

乐高机器人(Lego Mindstorms)是由丹麦乐高公司和美国麻省理工学院媒体实验室(Media Lab)合作开发的可编程式、模块化拼装机器人套件,现已广泛应用于青少年科技教育、科学实验、机器人竞技比赛等众多领域。笔者多年跟随俱乐部参加培训和比赛,均以乐高机器人套件为主要器材,对其第2代产品NXT和第3代产品EV3都有较多使用。笔者认为,尽管二者是新旧两代产品,但NXT目前亦有一定的优势。将NXT和EV3进行认真比较分析,对在教育培训和竞赛中用好乐高机器人套件,具有一定的指导作用。

1 乐高机器人的发展与系统特征

乐高公司的模块化机器人产品统称为头脑风暴(Mindstorms),名字来源于西蒙·派珀特教授1980年出版的著作《头脑风暴:孩子、电脑和超强创意》。乐高机器人的设计研发始于1986年,从1998年推出第一代LEGO Mindstorms RCX 开始,迄今共推出3代产品,此间还陆续推出过若干改进版和用于特定套装的简化版(表1)。由于内存容量小、编程不便、功能低下等原因,RCX已基本退出市场,而2006年推出的第2代产品LEGO Mindstorms NXT,和2013年推出的第3代产品LEGO Mindstorms EV3,目前均有大量使用。

表1 乐高机器人的产品发展

从第1代RCX开始,乐高机器人就形成了稳定的模块化结构系统,整个系统由主控模块(主机)、伺服电机、传感器、技术零件(齿轮、轮轴、横梁、插销等)等4大系列模块组成。主控模块是系统的大脑和指令中枢,可通过编程控制与之相连的外部组件,显示屏可以反馈相关信息和状态。电机模块用于动力输出,通过接口与主控模块相连接,接收指令,同时由主控模块供电。触动、温度、距离、光线等各种传感器,同样通过接口与主控模块相连接,用于采集外部环境信息。技术零件是主要的机构组件,用来将各种模块连接为一个整体,它也是最丰富多样的模块系列。产品换代以主控模块的版本升级和功能改进为主,传感器和电机模块亦有相应增加或改善,而很多技术零件在各代产品中是兼容通用的。

除硬件的改进外,编程方式也不断演变,越来越友好和便于使用。MIT研究人员为第1代RCX开发了基于NI LabVIEW的图形化编程工具RCX Code,采用一种图标式的程序码进行逻辑操作,通过拖拽图标模块并按指令顺序连接代码即可编程,比较适合没有编程经验者,但它不适合为复杂项目编程。第2代NXT出现了革命性的NXT-G图形化编程软件,简称G语言,对图标模块进行了简化,由400个减少为40个。第3代EV3最大的变化是主控模块自身即可进行简单编程,而依靠外部计算机的编程软件界面也更加友好和便于使用,它将可更改的参数置于图标中,更可以通过简单拼接图标达到复杂的运算效果,还将编程的实际操作和帮助文档有机结合起来。当然,以上所述均为乐高公司官方提供的编程软件,随着乐高机器人的发展,第3方编程软件也一直相伴相生,如微软开发的Microsoft Robotics Studio (MSRS)、卡内基梅隆大学开发的RobotC等,均得到普遍使用。

2 NXT与EV3主控模块的比较

2.1 NXT主控模块

NXT基于32位ARM7微处理器,RAM为256K,内置USB和蓝牙模块,具有4个输入端口(连接传感器)和3个输出端口(连接电机),套件中配置了触动、声音、光电、温度和超声波等传感器,通过连接组合和编程可以实现多种功能(图1)。除了控制系统较RCX大幅增强外,NXT的电机使用伺服控制,程序执行起来更加精准。此外,NXT 使用官方提供的NXT 2.0 Programming进行编程,也可以使用微软推出的可视化编程环境Microsoft Robotics Studio进行编程与开发,该软件能模拟机器人仿真运行,操控较为方便。

2.2 EV3主控模块

EV3主机采用300MHz的64位ARM9处理器,基于Linux操作系统,内置16MB的ROM和64MB的RAM。EV3主机有4个输入端口及4个输出端口,另有一个用于数据和程序传输的编程接口和一个可连接WIFI通信模块的USB2.0接口;一个mini SD卡扩展槽,支持最高32GB的micro SD外置存储卡。EV3主机支持USB2.0、蓝牙和WIFI与PC、移动设备进行通讯,可通过iOS、Android系统的移动设备App进行控制,经过简单改造,甚至可以支持简单的人机交流。EV3的传感器类型更加丰富,增加了陀螺仪传感器、压力传感器、红外传感器等,可以实现更多的外界环境感知,进而使机器人更为智能。

图1 乐高机器人3代主控模块外观图

2.3 性能比较

NXT和 EV3主控模块的基本性能指标见表2。

显然,与上一代产品NXT相比,EV3的整体性能有大幅提升,其运算速度、数据处理能力、通讯能力等方面都优于NXT,主要表现在3个方面。首先,与NXT的封闭系统不同,EV3运行的是基于Linux的开源操作系统,这意味着机器人几乎就是一台完整的计算机,使用者无须借助额外的计算机,即可在EV3主控模块上进行简单编程。更为强大的是,通过针对性的Linux编程支持,可以突破乐高产品套件的限制,将任何设备与EV3相连接,例如用于无线连接的WiFi加密狗、USB键盘或网络摄像头等,均可通过USB接口连接到EV3主控模块,实现更多的功能。其二,与NXT相比,EV3有更强大的主控模块串联能力。尽管通过蓝牙通讯,NXT主控模块间可以进行连接,但连接过程较为复杂,并容易受外界信号干扰而失稳。EV3有菊链(Daisy-Chain)接口,可以用USB串接主控模块,可连接多达4个EV3主控模块,因此实现在一个机器人上控制16个电机和16个传感器。配合外置micro SD卡存储,EV3可以进行复杂的编程和大量数据的处理,实现高度复杂的动作和功能。其三,作为新一代产品,EV3向后兼容,NXT套件中的电机和传感器均可用于EV3,与EV3套件模块混合搭配使用,即便是最早版本的NXT 触动传感器,经过修改也能够与EV3兼容。但EV3传感器无法用于NXT主控模块。EV3的官方编程软件可以对NXT进行编程, EV3软件能够辨识和显示NXT设备,也就是说,NXT的用户也可以下载EV3编程软件进行编程操作。相反,NXT软硬件不可兼容EV3。

表2 NXT和 EV3主控模块的基本性能指标比较

尽管EV3整体上更胜一筹,但作为老一代产品,NXT仍然有一定优势,特别是针对特定使目的和特定人群来说,NXT有值得偏爱之处。第一,传感器是机器人功能实现的关键,乐高套件提供的传感器毕竟种类有限,类型丰富的第3方传感器是实现特殊功能的必备 组 件。HiTechnic,Mindsensors和 Dexter Industries等第三方生产商针对NXT开发了大量的传感器,但这些传感器必须专门创建编程模块,才能用于EV3。目前,HiTechnic公司已推出I2C总线通讯、模拟传感器和颜色传感器三种程序模块,支持与EV3的连接,但总体上第三方传感器软件支持的跟进尚在继续,导致EV3在传感器可用性上,目前与NXT相比稍显不足。第二,为更精确地进行市场定位,EV3加强了定型化设计,目前推出的家庭版和教育版均为定型化教育机器人产品,特定的套件实现有限的功能,如扩展功能,则需再单独购置程序和扩展包,其经济代价较高。相比而言,NXT更为廉价,支持LABview和RobotC的编程,各种扩展功能较多,加1块HiTechnic的Prototype Board,甚至可以做数据采集卡。EV3的Linux系统缓慢的开机速度和较为有限的编程软件,并不能令高级用户满意。对于高级用户来说,NXT依靠编程和增加传感器,也能够非常廉价地实现EV3的很多功能。

3 功能适用性分析

基于以上NXT与EV3主控模块的性能比较,可以认为,目前EV3比NXT更有整体优势,但NXT暂时无法完全被替代。NXT价格低廉,具有很好的扩展性和丰富的外设支持,比较适合高级用户在预算紧张的情况下进行复杂的科学实验和机器人竞赛项目搭建。另外,由于NXT的操作界面、编程较为简单,更适合初学者入门学习使用。由于数据处理能力有限,存储空间小,NXT不适合高度复杂的编程,比较适合相扑、投篮等一些简单的比赛。EV3作为专为定型化的教育机器人产品,更适合用于机器人教育普及课堂和有一定基础的青少年使用。对于高级用户而言,在经费充足的情况下,通过增购程序、设备和复杂的编程,EV3可以实现高度复杂的功能,比较适合WRO等高级机器人比赛。当然,EV3毕竟是全面更新换代的乐高机器人产品,具有NXT不可比拟的潜力,随着外围支持的发展和使用者的增多,EV3全面胜过NXT,只是时间问题。

猜你喜欢
乐高套件图标
基于维修费用的关键部套件分析
乐高2020年上半年财报:收入同比增长7%
Android手机上那些好看的第三方图标包
乐高乐园
图标
Making Good Choices
中国风图标设计
smart fortwo新套件曝光 底盘进行强化
乐高世界
有意思的厕所图标