乐高机器人的软件——编程语言介绍6 Q* `; S2 i$ e+ o) w
提起编程,真是“有人欢喜有人忧”。对于有编程基础、甚至从事软件工作的人来说,关心的是能否使用自己熟悉的编程语言给乐高机器人编程;而对于没有任何编程基础的人来说,关心的却是哪一种编程语言最简单易懂、可以很快掌握。 从这一角度看,我们不得不佩服乐高公司在开发机器人这一产品时的深思熟虑,在编程软件方面,乐高机器人完全可以满足上述两类人群的需求。1、RoboLab Robolab是一种直观易学的图形化程序编辑环境,是乐高公司与美国国家仪器公司(NI)、美国塔夫斯大学(TUFTS)共同合作,在LabVIEW™基础上开发的机器人控制软件。编写程序就像设计流程图一样,简单易学,很快就可以上手。
, v& j1 R: o1 T
ROBOLAB的编程环境共分为3个级别:初学者级别(PilotLevel)、发明家级别(InventorLevel)、研究者级别(InvestigatorLevel),每个级别又分数个等级,由浅入深,共有13个等级,使用者可以根据年龄、水平来选择不同的编程等级。Robolab 2.5.4版本可对RCX进行编程,Robolab 2.9以上的版本可对NXT进行编程。但这个软件在2.9.4版本以后就不再更新了。 3 h. C& S- j: k& T9 ~
3 [* C* N" t9 t( J0 {0 w( ?, T2、NXT-G NXT-G是由乐高公司和NI合作用LabVIEW为乐高机器人开发的图形化编程软件,简称G语言。最大的特色就是以图形化编程来组织程序,程序的展现出的形式就是具有逻辑结构的框图。因为其编程方法简单易学,又可以编出极其复杂的程序(乐高公司称c语言、Java语言编出的程序,NXT-G都可以编出),NXT-G语言已成为“TIOBE世界编程语言排行榜2011年榜单”的第15名。乐高公司为这种编程语言开发的软件称为“LEGO MINDSTROMS NXT 编程(programming)”
+ S: x/ A! F+ g; e4 A7 T
编程软件分两种版本:玩具版本(8547 NXT零售版本附带)和教育版本 (需要9797 NXT 教育版本用户单独购买使用),它们的主要区别是玩具版只有英语,而教育版本可选择语言。 NXT-G编程语言的特殊之处在于其并非是提供给专业程序开发者的编程语言,不需要有任何编程基础,小学生也可以通过案例学习这种编程语言,通过简单地拖放功能控制模块,就可以编写出控制机器人运动的程序。
) g' ]" b, \& D, L4 N5 a5 m 3、Microsoft Robotics Studio (MSRS) 这是微软开发的可在不同机器人上编程的软件平台。其中可以实现对NXT和RCX2.0的编程与开发。MSRS包括一个可视化编程环境, 能模拟机器人仿真运行。熟悉这个软件的人可以很快学会控制乐高机器人。
3 U' M+ i, o# q! W- N2 X
+ F- ~4 w" s& ?2 f' g. L. C
E6 F; S! ~7 D/ H" w7 t; i0 K4、RobotC 卡内基梅隆大学最新开发的一款基于标准C语言的编程环境,支持对NXT,RCX的编程。界面简单,易于操作,适用于熟悉C语言编程的机器人爱好者。
) i# S1 o+ B# k) k$ D, A. _2 X5、Bricx CommandCenter (BricxCC) 一款由个人开发的集成化开发环境(IDE)。通过使用NQC,NBC和NXC语言可以对NXT和RCX进行编程,因为该软件是免费开源的,是目前使用c语言的乐高爱好者最为常用的编程软件。 9 j0 d$ C e' U6 B$ c# j' j" V
6、LeJOS 由LeJOS Forums成員开发,是专为乐高机器人设计的JAVA程序语言,完全开源、免费。熟悉JAVA的使用者能快速上手。 + m* v/ P7 X! }9 q% ?
, S" a2 B2 r" m# i |