特征 | NXT-G零售版 | NXT-G教育版 | RoboLab 2.9 | NBC | NXC | RobotC | NI LabVIEW Toolkit | leJOS NXJ | pbLua |
语言类型 | 图形 | 图形 | 图形 | 汇编 | 类C | C | 图形 | Java | Lua |
固件(Firmware) | 标准 | 标准 | 标准(#1) | 标准 | 标准 | 标准(#1) | 标准 | 定制 | 定制 |
IDE(是否包括?) | 是 | 是 | 是 | 是 | 是 | 是 | 否(#6) | 否(即将发布Eclipse插件) | 否(#7) |
Windows | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是(#7) |
Mac OSX | 是 | 是 | 是 | 是 | 是 | 现在还不支持 | 是 | 现在还不支持 | 是(#7) |
Linux | 否 | 否 | 否 | 是 | 是 | 否 | 否 | 是 | 是(#7) |
事件 | 否 | 否 | 是 | 否 | 否 | 是 | 否 | 标准Java事件 | |
多线程 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | |
机器人到PC的蓝牙(Bluetooth)通讯 | 是 | 是 | 否 | 是 | 是 | 是 | 是 | 现在还不支持 | 现在还不支持 |
机器人到机器人的蓝牙(Bluetooth)通讯 | 是 | 是 | 否 | 是 | 是 | 现在还不支持 | 是 | 现在还不支持 | 现在还不支持 |
I2C支持 | (#5) | (#5) | 是 | 是 | 是 | 是 | 是 | 现在还不支持 | 现在还不支持 |
文件系统 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 现在还不支持 | 现在还不支持 |
浮点数 | 否 | 否 | 是 | 否 | 否 | 是 | 否? | 是 | (#8) |
数据日志(Datalog) | 否 | 否 | 是 | 否 | 否 | 是 | 否 | 否 | 否 |
获得的方式 | 包括在NXT零售版中 | 包括在NXT教育版中 | 包括在NXT教育版中 | BricxCC网站 | BricxCC 网站 | CMU网站或 LEGO 教育网站 | LabVIEW toolkit 网站 (#6) | 从lejos网站免费下载 | pbLua网站 |
你想做什么... (#2) | |||||||||
使机器人移动而不想学习编程 | 是 | 是 | 是 | ||||||
使用NXT学习编程 | 否 | ||||||||
编写“快速”的程序 | 是 | 是 | 是 | 也许? | 是 | ||||
“快速”编写程序 | 是 | 是 | 是 | ||||||
学习高级编程概念 | ? | 是 | 是 | 是 | 是 | 是 | |||
适用于(#3) | NXT初学者——或者完成简单任务 | 刚开始接触NXT的学校 | 从RCX升级到NXT的学校 | 高级程序员 | C程序员 | 需要最高速度的应用程序 | LabVIEW用户,或者希望改进NXT-G的人 | Java 程序员 | 教育领域的用户 |
NXT-G零售版 | NXT-G教育版 | RoboLab 2.9 | NBC | NXC | RobotC | NI LabVIEW Toolkit | leJOS NXJ | pbLua | |
测试程序(#4) | |||||||||
速度(循环/分钟) | 720 | 73k | 4285 | 93.9k | 750/5350 (#9) |
| |||
占用内存(字节) | 10704 | 559 | 1428 | 561 | 8084/1890 | ||||
编写时间 | 10分钟 | ~20分钟 | 30 分钟 | 30分钟 | 15分钟/80分钟 | ||||
程序 |
| ||||||||
其它注释 | 该软件是为孩子设计的,但是成年人同样可以使用 | 和零售版相同,除了包括一些“校园”机器人 | LEGO说这是RoboLab的最后一个版本 | 可以创建能在NXT-G程序中工作的编程块,或者它可以编写直接下载到NXT中的程序,或者它可以编写能控制NXT的PC程序(参照下表) | 还处于开发初期 |
注意
(1) RoboLab和RobotC使用的都是LEGO标准固件。
(2) 以上都不是关于编程的“最终答案”,但是可能会帮助你选择最合适的软件。
(3) 以上大部分是软件用户的意见。
(4) 我编写了一个“测试软件”,运行在所有平台上,以比较不同语言的速度、内存使用情况(程序大小),以及编写程序的大致时间。
(5) 标准固件确实提供了I2C功能,并且NXT-G确实使用在超声传感器上,但是NXT-G没有提供直接访问I2C功能的方法。
(6) NXT的LabVIEW Toolkit是LabVIEW的插件。用户必须拥有LabVIEW的一个拷贝才能使用它。
(7) 程序在LEGO NXT积木上编译。
(8) Lua支持类似浮点数的功能,访问其主页查找详细信息。
(9) 这两个NI程序使用Labview Toolkit和高级调用,以及该Toolkit和低级元素。
软件建议
如果你想寻找一个“最好”的软件,这并不容易。哪个软件最好依赖于你想学什么、你已经了解了什么,以及你想做什么。这些问题并不总是能搞清楚的。
NXT 远程控制
NXT有多种不同的“远程”控制系统。大部分不需要在NXT上进行编程。通常这使我们能在PC上编写和执行程序,PC会向NXT发送命令。某些情况下,可以在PC上显示传感器的值。
软件 | 语言类型 | 控制类型 | NXT上需要的固件 | 连接类型 | 连接源 | Windows | Mac OSX | Linux | 读传感器 | 网址 |
LEGO NXT移动应用程序 | 简单远程控制 | 远程控制 | 标准(#2) | 蓝牙 | 手机或PDA | - | - | - | 否 | LEGO |
BT RC | NXT-G | NXT到NXT的远程控制 | 在NXT上运行的程序 | 蓝牙 | 另外一个NXT | - | - | - | 用户可编程 | BTRC |
简单BT远程控制 | 简单远程控制 | 远程控制 | 标准 | 蓝牙 | 台式PC | 是 | 否 | 否 | 是 | Simple Windows RC |
RobotC | 简单远程控制 | 远程控制 | 标准(#1) | USB/蓝牙 | 台式PC | 是 | 还不支持 | 否 | 是 | CMU Web Site |
BricxCC | 简单远程控制 | 远程控制 | 标准 | USB/蓝牙 | 台式PC | 是 | 否 | 是 | BricxCC Web Site | |
OnBrick PDA | 图形 | 可编程远程控制 | 标准 | 蓝牙 | PDA | - | - | - | 是 | OnBrick |
OnBrick PC | 图形 | 可编程远程控制 | 标准 | 蓝牙 | 台式PC | 是 | 否 | 否 | 是 | OnBrick |
NXT Director | Simple RC | Customizable Remote Control | 标准 | 蓝牙 | Palm PDA | - | - | - | 否? | Director |
RoboDNA | Simple RC | Remote Control | 标准 | 蓝牙 | 台式PC | 是 | 是 | RoboDNA | ||
微软机器人工作室 | .NET | 在PC上运行用户程序 | 标准 | 蓝牙 | 台式PC | 是 | 是 | (non-commercial version is free) Download site or Microsoft Site | ||
NI LabVIEW Toolkit | Graphic (LabVIEW G) | User Program running on PC | 标准 | USB/蓝牙 | 台式PC | 是 | 是 | 是 | LabVIEW toolkit Site | |
RoboLab | Graphic | User Program running on PC | 标准 | USB | 台式PC | 是 | 是 | 是 | Robolab | |
iCommand | Java | User Program running on PC | 标准 | 蓝牙 | 台式PC或PDA | 是 | 是 | 是 | iCommand | |
LEGO::NXT | Perl | User Program running on PC | 标准 | USB/蓝牙 | 台式PC | 是 | 是 | 是 | 是 | Perl |
nxt-Ruby | Ruby | User Program running on PC | 标准 | 蓝牙 | 台式PC | 是 | 是 | 是 | 是 | Ruby |
NXT# | C# | User Program running on PC | 标准 | 蓝牙 | 台式PC | 是 | 是? | NXT# | ||
Mindsqualls | C# | 用户程序运行在PC上 | 标准 | 蓝牙 | 台式PC | Yes | 是 | Mindsqualls | ||
NXT Python | Python | 用户程序运行在PC上 | 标准 | USB/蓝牙 | 台式PC | 是 | 是? | Python | ||
My Robot Me | 图形? | 用户程序运行在PC上 | 标准 | USB/蓝牙 | 台式PC | 是 | 否 | 否 | 是 | Robot Me |
Notes
(1) RobotC使用的是LEGO标准固件。
(2) LEGO移动应用程序能发送消息给运行在NXT上的程序。
用户377235 2012-12-10 10:11
我用过其中的一些,感觉还是labview最好
用户16993 2007-11-6 11:40