Here we will talk about how to program the very powerful Lego Mindstorm robot kits.
The history of the Lego robot kits is mentioned in our other section toys history but here is the basic history of this amazing educational toy.
Lets talk a little bit about the history of LEGO and its line of robotics toys.
LEGO is a Danish company that started in 1958 and had its name come from the two words “Leg Godt” which means “play well” in Danish. It also owned a smaller company called WeDo.
The well known Mindstorm EV3 robotics series has been around since
1998 but before that the Lego company had two previous robotics toy series called CyberMaster and SpyBotics.
Now before 1998 an MIT programmer named Seymour Papert created an easy to use programming language called Logo which allowed kids to move around a turtle character.
Eventually he teamed up with the grandson of the Lego companys founder Kjeld Kristiansen and merged Logo into the Mindstorm product line.
From this came TC Logo (only sold to schools) and control lab which used a device which was attached to the computer until they looked into a way to create a device or brick that could be taken off and made to run without a computer.
The name Mindstorms came from a book that Papert wrote about children using computers basically called Mindstorms.
With the Lego Mindstorms series you can talk about the different versions from the latest and what many say is the greatest version, that being Prime Spike.
There were 3 generations of Mindstorms with the first being the 1998 Robotics Invention System, Mindstorms NXT in 2006 and Mindstorms EV3 in 2013.
The confusion came in that some versions came out for school only distributions and other were for the general public and there were some other versions that came out with different numbers of parts and names.
The firstMindstorm was based on the brick called the RCX (Robotic Command EXplorers) which came with the Robot Invention system. The programming language or in Robolab (related to Labview).
The RCX brick was a simple 16mhz brick with 32k of ram and the kit had 2 motors, 2 touch sensors and 1 light sensor.
The NXT brick was a more powerful Arm 7 48mhz with 64k ram and one each of the sensors light/sound/distance/touch. Then there was the NXT 2.0 which added another sensor. The programming language of the NXT was called NXT-G.
We will talk about how to program it and build a robot in the programming and the video sections but lets say a bit now about what came in the NXT kit.
It had about 571 pieces with some beam connection pieces and axel connectors and gears and the electronics which included 4 input sensors (ultrasonic, touch, sound and light), some connection wire and the 32 bit brain or brick with input and output ports and 3 motors.
The 32 bit brain needed 6 batteries or a rechargeable pack and it had a usb board to plug into your computer to access the programming screen (unless you did the programming directly on the screen) and it had bluetooth and some input and output ports.
When you programmed the NXT using the NXT-G program on the computer you moved a series of blocks around the screen to represent the flow of the program and the motors and sensors. Wires would then connect some of the blocks together on the screen to indicate that several actions could be done at the same time.
The wires were the same kind used in home telephones except that the ends were a little different.
The beams were of different length and there were straight ones and L shaped ones and double ange ones and frame bricks and axles.
Older NXT screens would often fail and could be fixed or you could plug it into a computer and keep using it without the LCD screen unless the electronics at the board level were destroyed.
You plugged in the sensors and put together some kind of wheeled or non wheeled robot using the plastic lego pieces called beams and axle connectors.
The sensors would show their value on the brick’s screen when you plugged them in or on the computer if you were programming it using the language called NXT-G or some other language.
A sensor could have 3 positions or conditions like touched/bumped and released. The color sensors could identify 7 colors and light intensities. The infrared detector could detect objects and track and find them. The remote ir beacon could control the robot.
The motors were servo motors and you could control them to either spining either direction at a certain speed for a certain amount of time or or a certain number of rotations or at some set degrees of rotation.
The medium motor spinned sfaster and the large motor spinned slower and could be used for grippers.
The EV3 had an even more powerful processor , this time a linux processor with an Arm 9 300mhz chip and 64 meg of ram and the retail version had more parts to build more robots.
The EV3 and the older NXT both had 2 large motors and one medium motor and 2 touch sensors and one each sensors gyroscope/color/ultrasonic.
Most people who started with the Lego Technit sets found the EV3 to be a truly amazing and highly educational robot toy.
Some of the other variations of the product line came out with names like RoboSports, Extreme Creatures, Droid developer kit, Dark Side Developer Kit.
Seven years after the EV3, Lego released a newer version called the Robot Inventors Kit which has 6 motor/sensor ports a better screen and it can be controlled by bluetooth and their app. It can also be programmed using the old Scratch program or with the more professional language Python.
This is where it gets a bit complicated because Lego uses numbers in their products and calls the Robot Inventor Kit 51515 and the newer Prime Spike 45678.
Apparently the Spike Prime name is only available as an ecuational version and North Americans can buy it if they on the school side of the Lego website but apparently you can’t if you are outside of North America.
The school and retail versions basically work the same…but the boxes are different and the colors on the motors etc are different and perhaps a few upgrades have to be done using Python than directly with the Lego hardware. But many on the comment sections of youtube still prefer the NXT and the fact that you are forced to program more and not cut and paste as much code.
Many are praising the Prime for using absolute positioning motors which make it much easier to make advanced moving robots but many love the NXT because it teaches you how to code more whereas the newer ones give you too many prewritten code examples which can make a person more of a cut and paste coder instead of an actual programmer. This is up for debate.
You get newer motors and sensors and hubs/brick with a digital face on it.