NXT各种编程软件的比较和简单介绍



NXT各种编程软件的比较和简单介绍

NXT各种编程软件的比较和简单介绍

特征

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分钟

程序

代码图形

代码图形

代码


代码1代码2作者的注释

代码图形/代码1 + 代码2图形

 

其它注释

该软件是为孩子设计的,但是成年人同样可以使用

和零售版相同,除了包括一些“校园”机器人

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 orMicrosoft 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
/ |3 P, _* l! y/ e& r

图形?

用户程序运行在PC上

标准

USB/蓝牙

台式PC

Robot Me