Pages

Sunday, August 11, 2013

Review: Lego Mindstorms EV3 means giant robots, powerful computers My inner 9-year-old is blown away, but my outer 35-year-old balks at the $349 price.FEATURED

All 594 components of the EV3 set, meticulously arranged on my living room floor. Actually, on a large piece of poster board on my living room floor.
Gummi Bears. That's what playing with Lego bricks reminds me of—sitting cross-legged on the floor in the back room of my parents' house on Saturday mornings, a giant tub of Lego pieces open in front of me while animated bears bounced here and there and everywhere. I had my own Saturday morning cartoon routine, and when Gummi Bears came on, it was time to build with Lego bricks.
It's been a long time—probably 20 years, at least—since I sat down with a giant bunch of Lego bricks in front of me, but last week I had a chance to re-experience a small bit of my childhood with a whole new set of Lego pieces: the unreleased Lego Mindstorms EV3.

Robotron 2013

A lot has happened since the last time I pieced together plastic spaceships. Back then, the most complex type of Lego sets you could buy were the Technic sets, which mixed together the standard studded bricks and more complex pieces with fitted pegs and holes and gears. If you wanted to build awesome imaginary starships, you bought Lego Space sets. If you wanted to build actual machines that moved around on their own power, you bought Technic.
But Lego evolves with the times. In the 1990s, the line of Lego products gained a new top-end: the Mindstorms sets. The Technic line is still thriving, but Mindstorms go beyond Technic and include that most irresistible variety of geek candy: sensors and programmable controllers. This is way past anything I ever got my hands on when I was a wee lad.
The newest generation of Mindstorms, the EV3, has capabilities that would have blown my mind back in the mid-'80s (if a set could have been sent back in time, my reaction would have looked a lot like the kid in this Onion story). First demoed at CES back in January, the EV3 set features a new controller with an ARM9 CPU with 64MB of RAM, 16MB of NAND flash storage, a USB 2.0 interface for expansion modules (like Wi-Fi), and Bluetooth. The brick runs an ARM version of Linux and is capable of driving four separate motors and receiving input from four separate sensors. It can also be linked to other Mindstorms bricks (including previous-generation Mindstorms NXT controllers) for truly large creations.
At right, the programmable EV3 "intelligent brick," which houses the microprocessor and which drives the motors and sensors. At left, the small multi-channel infrared remote control.
The EV3 set we were given to review contained three different motors (two large and high-torque and one smaller) and three sensors (one touch, one color and light, and one infrared) along with a single control brick. There's also an infrared remote control (an "IR beacon," the manual calls it, since it has a few other functions as well). In total, the set contains 594 Technic-style pieces for actually building things; there's not a studded brick anywhere in the entire box, though, so mixing the EV3 set into your pile of non-Technic Lego bricks will require a bit of ingenuity.
The intelligent brick can be interacted with via its front panel, though the screen is not backlit and it can be annoyingly hard to see in anything other than bright light.
Building things with the EV3 set is no different from building anything with Lego bricks, and I followed a similar procedure: unbox, dump on floor, build the thing in the instructions, look at it for a few minutes, then smash it to pieces and build my own stuff. Actually, that's not entirely correct—there are five separate Lego-provided robot designs that can be built with the set. I put together two of them before going off-script.
The kit comes with printed instructions for the "Track3r" robot, a squat little guy who can be equipped with a number of different attachments and who can shoot things, pick up things, and attack things with a spinny claw. It was a great way to dip my toes into the EV3 pool, though after I'd built the robot, I realized that the "build" part of that pool is definitely the shallow end. The true depth and complexity of this set—and of the Mindstorms line in general—is the programming.
Working my way through the Track3r robot with the printed instructions.
The completed Track3r robot with spinny arm thingy at rear.
I tore down the Track3r and got to work on the flagship design for the EV3 set, the 16-inch tall "Ev3rstorm" robot. It does a lot more stuff. He comes with pre-written programs to demonstrate some of the more advanced capabilities of the EV3 set: he can roll forward on his treads, detect and move around obstacles, and even shoot little red balls at an infrared target (though his accuracy leaves a bit to be desired). My build time on the robot was just a hair under 2.5 hours.
Building the Ev3rstorm robot using the instructions from inside the Mindstorms EV3 app.
The control brick gets connected to the sensors and motors via a set of included cables. There are eight ports on the brick itself: four on the top for output, which are used to drive motors, and four on the bottom for input, which are connected to sensors. The provided cables terminate in a plastic plug similar to an RJ-12 but with the latch pin relocated left of center. The control brick is capable of recognizing the sensors and motors to which it's connected, and even without programming them, you can use the brick's built-in controls to assign the outputs to buttons on the remote so you can drive your creations around manually. The brick can also flash its lights, display images on its screen, and play digital audio files from its speaker (quite loudly, actually!).

Greetings, program

Building anything besides the Track3r design requires using the Mindstorms EV3 application to display the build instructions. This application works in Windows or OS X. I ran it on OS X while I was taking screenshots and on Windows 8 (via a Surface Pro tablet) while I was parked on my living room floor building. On release, there will also be iOS and Android applications available (I didn't try either of those out, though). The app contains build instructions for the five provided EV3 constructs as well as sample programs for each of the robots.
The Mindstorms EV3 app lobby, where you can view instructions and programs for the five included robot designs or start your own project.
Building your own programs involves dragging and dropping program elements into a workspace, much like constructing a diagram. Basic instructions like "go forward for 10 seconds" are easy to define, and programs can grow to high degrees of complexity by introducing loops and branches. The drag and drop environment couples sensor input and motor output with all the standard tools of a programmer's kit: variables, constants, and a whole suite of logical operators and mathematical functions.
Following instructions to manually re-create one of the Ev3rstorm programs in the drag-and-drop EV3 programming environment.
In fact, the experience was a little overwhelming. I'm definitely not a developer, and the app's heavy dependence on graphical elements without much text took quite a bit of time to grok—I had to lean heavily on the tooltips even to put together a basic program to make the control brick go "beep" at me. Programs created inside the EV3 application can be transferred to the control brick directly via a wired USB connection or through an SD card. Wi-Fi is also supported, but that requires an external USB Wi-Fi dongle to be fitted to the control brick.
If you're somewhat masochistic, you can even program the brick directly from its front control panel. The brick's non-backlit display makes this too difficult for more than quick program spot checks, though.

Compatibility and community

These complex Lego sets are expensive, and the shift from the previous-generation Mindstorm NXT controller to the new EV3 one is significant. Fortunately, there's significant backward compatibility (and even a bit of forward compatibility!). The Technics-style build elements are unchanged, so there's no issue there. According to Lego enthusiast site Robot Square, the EV3 brick can control most of the previous-generation NXT accessories, including motors and sensors. Conversely, the NXT brick can drive the EV3 motors but not the newer sensors.
Above is a completed program for the Ev3rstorm bot. This program runs when the touch sensor is depressed. If the light sensor reads bright light, it will play a sound and trigger its medium motor to turn three revolutions at low intensity; if the color sensor reads a low value (if you're covering it up with your hand), it will turn the medium motor with more force. The medium motor is also hooked up to a little ball shooter cannon thingy. The end result is that, depending on whether or not you've got the color sensor covered with your hand, the robot shoots the ball either quite far or just a short distance.
From a software perspective, the EV3 application can program NXT bricks as well. This should enable NXT users to purchase the new kit and integrate both sets together without much friction. The Mindstorms application is constructed with sharing things in mind, and there's an enormous, thriving Mindstorms community on the Internet. The EV3 sets that appear will be quickly integrated into the community fold.
Stepping off the carefully paved and studded Lego brick road for a moment, there are plenty of other ways to interact with the EV3 control brick besides dragging and dropping in the official application. The Lego Mindstorms community is global, and that community has come up with a long list of dev tools to play with. For now, getting down and dirty with third-party dev tools is a little beyond my ability. Currently, with the EV3 bricks in prerelease, there didn't appear to be much to do anyway. This will rapidly change after the sets become widely available, and seeing what the community will be able to bolt on to this as a starting point will be exciting.

When and how much?

The press materials note that Lego had a crew of folks busily working on the hardware and software for quite some time now. The level of polish in the new system is obvious.
The EV3 set is expected to retail for $349. Lego says that the sets will be available to purchase on September 1, just in time to be snapped up for the winter holidays. Good timing, certainly, but the overriding question is whether or not the EV3 set is worth the price.
If you're a parent with a smart kid who loves Lego, the set is definitely something to think about. The intersection of the physical and the abstract represented by these kinds of programmable Lego sets is powerfully attractive. The ability to quickly construct programs from visual blocks—themselves reminiscent of Lego bricks—and then receive quick feedback on whether or not those programs work or not is awesome. For people who derive satisfaction out of making things with their hands, the EV3 set is great.
The value proposition is a lot murkier for folks who already have previous-gen Mindstorm Lego sets. The backward compatibility of the EV3 intelligent brick is excellent, so your past purchases won't become worthless. But the not-inconsiderable $349 price tag is a significant hurdle. The fact that you're getting a small embedded Linux computer is a big part of that price, but on the other hand, it's still hard to swallow paying that much money for a Lego set.
Still, price is really the only downside to this set. They're ludicrously fun to play with, and I had a great time sitting on the floor like a kid piecing a robot together (and the whole process was made even better by the fact that I got to do it on the clock!). It's hard to deny that making robots and then programming them to do your bidding is just straight-up awesome.

 

No comments:

Post a Comment

Let us know your Thoughts and ideas!
Your comment will be deleted if you
Spam , Adv. Or use of bad language!
Try not to! And thank for visiting and for the comment
Keep visiting and spread and share our post !!
Sharing is a kind way of caring!! Thanks again!