Join us on Facebook!
EV3 Program for SuGO.
Note: This page is for the EV3 Brick. If you have an older NXT Mindstorms kit, go to the NXT page.
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 most common programming language used for the MINDSTORMS EV3 is EV3-G.
EV3-G is the graphical language that comes bundled with the Mindstorms EV3 kit.
Here is a brand new SuGO EV3 Program
The following program file is known as an EV3 Project file. It has an .ev3 extension. This is essentially a "zip" with a different file extension. This file not only contains the main program, but it also contains all the other files needed to run the program (eg: sound files, MyBlocks etc.) If you download this file, you can open it with either the Retail, or Educational version of the LEGO Mindstorms EV3 software.
SuGObot11.ev3 <--- Download this program
Note: This is a revised Rev 1.1 version with better Edge Detection code.
Why? Good Question.... If you use the "Tools/Download as App" menu item, the SuGO program appears as a single program at the bottom of the App Tab. This makes it much easier to find.
However, if this SuGO program is downloaded into the EV3 as a "standard program", there will be a large number of files showing up on the program-files menu because we use a lot of custom "MyBlocks" to make the program more efficient. This makes finding the actual SuGO program difficult.
This tip, and many more like it are can be found in the SuGO EV3 Users Guide.
SUGO_EV3_UG.pdf <--- Download this User Guide
Here is a step-by-step build guide for the new EV3 Simpe SuGObot.
SSB-EV3.pdf <--- Download these Build Instructions
There's even a short YouTube, showing how easy this built is.
Good Programming Practices.
At GEARS we are FIRM believers in taking the time to develop Good Programming Practices. This EV3 program is a good illustration of what we mean by that.
The program makes strong use of Subroutines (or MyBlocks). These appear as blocks with a teal colored band across them. Each MyBlock can be double clicked to show further detail. The idea is that MyBlocks enable the program to be divided into smaler portions that can be tested or modified independantly. MyBlocks 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, and variables to share this information between the different MyBlocks.