LabVIEW for LEGO MINDSTORMS Programs for SuGO.
In order for a SuGObot to be able to play, it needs a program. This program must know how to read the line and eye sensors, and drive the motors to perform the game strategy.
When we run our monthly " SuGO Sunday" competitions at GEARS, we require that all the SuGO bots are pre-loaded with the same standard program. This way the robots all use a similar strategy, so it's all up to the mechanical design and game play to produce a winning SuGObot.
However, for other competitions, if people are designing their own robots at home and bringing them to a "Bring'n Battle" style competition, there's no reason why the team can't also develop it's own programs.
A SuGO program can be written in many different languages. The latest language developed for the MINDSTORMS NXT is LabVIEW for LEGO MINDSTORMS or (LVLM). LVLM is a sophisticated graphical language that is available from LEGOeducation.com.
You can also use C, NXT-G or even Java to program the NXT, but for this page, we'll limit our discussion to LabVIEW for LEGO MINDSTORMS.
The following zip file contains a LVLM SuGO Project folder (SuGO PV2). This folder contains all the files associated with the project, including VI's, Sub-VIs, sound files and documentation.
There are two main programs in the project: SuGO.vi, and Mechanic.VI.
You can download and unzip this file anywhere, but there are two prefered locations.
1) /My Documents/LabVIEW Data/NXTRobotics/Projects
Location 1) is great if you just want to open the project using LVLM, and download it to the NXT. Keep in mind that you will also need to manually download all the sound files to the NXT using the NXT Terminal.
Location 2) is a special location used to setup project templates that can be used as the basis for new programs. Once you have unzipped the SuGO PV2 folder into the Robot Templates folder, run LVLM and create a new robot project. You will see "SuGO PV2" as a choice for the type of project you wish to create.
There is also a SuGO Mechanic User Guide, that explains how to use the program to check out your SuGObot. Teams should print this out, and have it with them whenever they build, and need to test their SuGObot.
Good Programming Practices.
At GEARS we are FIRM believers in taking the time to develop Good Programming Practices. These two programs are good illustrations of what we mean by that.
Both programs make strong use of Subroutines (or Sub-VI's). These appear as blocks with a SuGObot.com sunburst as part of the Icon. Each Sub-VI can be double clicked to show further detail. The idea is that Sub-VI's enable the program to be divided into smaler portions that can be tested or modified independantly. Sub-Vi's can also be shared between programs to make it easier to create new SuGO programs with more sophisticated strategies, based on pre-tested functions.
These programs also make extensive use of text files to save SuGO setup information.