Программное обеспечение для программирования Lego Mindstorms NXT


В комплект набора LEGO Mindstorms входит стандартное ПО NXT-G и Robolab, но также сторонние компании создали свои ПО для программирования роботов LEGO Mindstorms. Языки программирования для LEGO Mindstorms бывают графические и текстовые. Наиболее современной средой программирования является Microsoft Robotics Developer Studio

Microsoft Robotics Developer Studiowww.mrds.com
сайт со всеми инструкциями mindstorms odno-lego.ruwww.odno-lego.ru
LabVIEW for Lego Mindstormswww.ni.com/academic/mindstorms
leJOS NXJwww.lejos.sourceforge.net
LEJOS OSEKwww.lejos-osek.sourceforge.net

По материалам Wikipedia.org http://ru.wikipedia.org/wiki/LEGO_Mindstorms

Добавлено 09.09.2012 (взято тут http://www.teamhassenplug.org/NXT/NXTSoftware.html).

Думаю, что переводить не надо.


These are different ways of writing programs that will execute on the LEGO NXT brick.  This list doesn't include all features, but should include enough information to provide a good starting point for you to figure out which software best suits your needs.

FeaturesNXT-G RetailNXT-G EducationalRoboLab 2.9NBCNXCRobotCNI LabVIEW ToolkitleJOS NXJpbLuaLEJOS OSEKICON 
Language typeGraphicGraphicGraphicAssembly(not exactly) CCGraphicJavaLuaANSI CGraphic (on brick) 
IDE (included?)YesYesYesYesYesYesNo (#6)plugins for Eclipse and NetBeans.No (#7)Eclipse CDT(GCC+ATMEL SAM-BA)Yes 
WindowsYesYesYesYesYesYesYesYesYes (#7)Yesna 
Mac OSXYesYesYesYesYesNot YetYesYesYes (#7)Nona 
LinuxNoNoNoYesYesNoNoYesYes (#7)No (maybe)na 
EventsNoNoYesNoNoYesNoStandard Java events Yes (OSEK RTOS)No 
MultithreadingYesYesYesYesYesYesYesYes Yes (OSEK RTOS)No 
Bluetooth Brick to PCYesYesNoYesYesYesYesYesYesYesNo 
Bluetooth Brick to BrickYesYesNoYesYesYesYesYesYesNot yetNo 
Bluetooth Brick to Other DeviceNoNoNoNoNoYesNoYesYesNoNo 
I2C Support(#5)(#5)YesYesYesYesYesYesYesYes (US only)(#5) 
RS 485 support----------- 
File SystemYesYesYesYesYesYesYesYesNot YetNot planned- 
Floating PointNoNoYesNoNoYesNo?Yes(#8)Yes- 
DatalogNoNoYesNoNoYesNoYesNoNot Yet- 
How to get itIncluded With retail version of NXTAvailable with Educational Version of NXTAvailable with Educational Version of NXTBricxCC Web SiteBricxCC Web SiteRobotC.net orLEGO EducationLabVIEW toolkit Site (#6)Free download from lejos Web SitepbLua SiteLEJOS OSEK siteICON web site 
Support for 3rd party devicesYesYes??YesYes?Yes??- 
What do you want to do... (#2)  
Make robots move without learning to programYesYesYes       Yes 
Learn to Program using the NXT   No        
Write "Fast" programs   YesYesYes Maybe?YesYes  
Write programs "Fast"YesYesYes       YES 
Learn Advanced Programming concepts   ?YesYesYesYesYesYes  
Suited For (#3)People starting with the NXT- or doing simple tasksSchools starting with the NXTSchools upgrading from the RCX to the NXTAdvanced programmerC programmerApplications requiring maximum speedLabVIEW users, or people wanting to improve NXT-GJava ProgrammersEducational UsersEmbedded software programmer, C/C++ programmerProgramming without using a computer 
 NXT-G RetailNXT-G EducationalRoboLab 2.9NBCNXCRobotCNI LabVIEW ToolkitleJOS NXJpbLuaLEJOS OSEKICON 
Test Program (#4)  
Tested Version





Speed (loops/min)






750/5350 (#9)




Speed (#10)    





Memory (bytes)

10704 bytes

559 bytes


1428 Bytes

561 bytes


 1750 bytes18240 (includes firmware)  
Time to write

10 minutes

~20 min


30 minutes

30 min

15 min/80 min


30 minutes

< 10 min 





Code1,Code2,Author's comments

CodeGraphic / Code1 +Code2Graphic

Code 1

Code 2

Other Comments (Facts & Opinions)This software is designed for kids, but is not too limiting for adultsSame as Retail version, with different "Academy" robots.LEGO has said this is the last version of RoboLab that will be made.   Can be used to create blocks that work in NXT-G programs, OR it can create programs to download directly to the NXT OR it can create PC programs to control the NXT(see below) Early in developmentLEJOS OSEK is NOT part of the leJOS project, but does use parts of leJOS code.  



(1) RoboLab and RobotC both use firmware that comes Standard with some LEGO software.  
(2) None of these are the "Final Answer" in programming, but maybe this will help you pick the right software for you.  
(3) This is mostly an opinion of who would use this software.     
(4) I created a "test program " to run on all platforms to compare speed, memory used (size of program), and approximate time to code the program, in the given language. 
(5) The standard firmware does provide I2C functions, and NXT-G does use them for the Ultra-sonic sensor, but NXT-G does not provide direct access to I2C functions.  
(6) The LabVIEW Toolkit for the NXT is an add-on for LabVIEW.  In order to use it, the user must own a copy of LabVIEW. 
(7) Programs are compiled on the LEGO NXT brick 
(8) Lua supports something close to floating point.  Check the web site for details 
(9) The two NI programs were written using (1) The Labview Toolkit & high-level calls (kid proof blocks) and (2) The Toolkit and low level elements
(10) Most software will run faster if it is optimized, by minimizing, or removing the display commands.  This row is has optimized speeds.

Software Suggestions

If you're looking here to find the "best" software, it's not that easy.  The best software depends on what you want to learn, what you already know, and what you want to do.  Even these questions are not always that clear-cut.




NXT Off-Brick controllers (Remote Controls)

These are different types of "remote control" systems for the NXT.  Most don't require any programming on the NXT.  Generally, these allow someone to write and execute a program on a PC, which will send commands to the NXT, and in some cases, display the sensor values on the PC.  This list rapidly grew beyond the width of a page, so it was turned to accommodate more languages

SoftwareLanguage typeControl typeNXT Required FirmwareLink TypeLink SourceWindowsMac OSXLinuxRead SensorsWebsites
LEGO NXT Mobile ApplicationSimple RCRemote ControlStandard (#2)BluetoothPhone or PDA---NoLEGO
FunkNXTSimple RCRemote ControlStandardBluetoothPhone---YesFunkNXT
BT RCNXT-GNXT to NXT RemoteProgram running on NXTBluetoothAnother NXT---User ProgrammableBTRC
Simple BT RemoteSimple RCRemote ControlStandardBluetoothDesktopYesNoNoYesSimple Windows RC
RobotCSimple RCRemote ControlStandard (#1)USB/BTDesktopYesNot YetNoYesRobot C Web Site
BricxCCSimple RCRemote ControlStandardUSB/BTDesktopYes NoYesBricxCC Web Site
OnBrick PDAGraphicProgrammable RCStandardBluetoothPDA---YesOnBrick
OnBrick PCGraphicProgrammable RCStandardBluetoothDesktopYesNoNoYesOnBrick
NXT DirectorSimple RCCustomizable Remote ControlStandardBluetoothPalm PDA---No?Director
RoboDNASimple RCRemote ControlStandardBluetoothDesktopYes  YesRoboDNA
MS Robotics Studio.NETUser Program running on PCStandardBluetoothDesktopYes  Yes(non-commercial version is free)Download site or Microsoft Site
NI LabVIEW ToolkitGraphic (LabVIEW G)User Program running on PCStandardUSB/BTDesktopYesYes YesLabVIEW toolkit Site
RoboLabGraphicUser Program running on PCStandardUSBDesktopYesYes YesRobolab
iCommandJavaUser Program running on PCStandardBluetoothDesktop or PDAYes YesYesiCommand
LEGO::NXTPerlUser Program running on PCStandardUSB/BTDesktopYesYesYesYesPerl
nxt-RubyRubyUser Program running on PCStandardBluetoothDesktopYesYesYesYesRuby
NXT#C#User Program running on PCStandardBluetoothDesktopYes  Yes?NXT#
MindsquallsC#User Program running on PCStandardBluetoothDesktopYes  YesMindsqualls
NXT PythonPythonUser Program running on PCStandardUSB/BTDesktopYes  Yes?Python
My Robot MeGraphic?User Program running on PCStandardUSB/BTDesktopYesNoNoYesThis web site seems to be gone...Robot Me


(1) RobotC uses firmware that comes Standard with some LEGO software 
(2) LEGO's Mobile Application can send messages to a program running on an NXT


Роболаб в комплект не входит. Его надо покупать отдельно.