Lego Mindstorms NXT Robotics Announced
Denver_80203 writes "Just when you thought Lego Mindstorms was grinding its last gear, comes the announcement of Lego Mindstorms NXT Robotics Toolset, with sleek servo motors, an ultrasonic sensor which allows robots to 'see' by responding to movement, a sound sensor which enables robots to react to sound commands (including sound pattern and tone recognition) improved touch and light sensors, and a and a programmable brick with at least 7 or 8 RJ11 type jacks. Robot fun! Out in August 2006, and in true Lego style will cost $249." Wired has a preview of the cover story about the new kit on their site.
I grew up playing with RCX 1.0 and Wired seems to have somehow portrayed it as a failure...
(From one of the images, I'm guessing of a magazine spread)
"Building Blocks" - "Two-by-four" lego blocks vs. Technic Blocks a.k.a. Studless legos
-Okay, firstly "Technic" was a brand of lego's geared towards the technological kids like me who liked to play with motors and buttons. Second, the RCX had 4 holes that could be used with studless legos anyway, all they did with this new thing was add a few more and take off the studs.
"User Interface" - "Non-intuitive interface, RCX Code Commands, PC Only" vs "Intuitive GUI, drag-and-drop icons, PC and Mac"
-Whoever said RCX 1.0 wasn't intuitive is crazy, programming with the RCX was about the most basic type of programming I've ever done in my life. You dragged little blocks around to configure the order of the program. You would drag, for example a "Wait Ten Seconds" green block over someplace and then put a "Turn the motor on" purple block right below it. Then you'd download it to your brick (okay, this was a little sketchy at times with IR) then turn it on, select the number of the program and press play. How much simpler could you get? Not to mention it had tutorials that showed everything down to animating how to put in the batteries.
"Power" - "Two Motors" vs. "Three motors, redesigned for smoother operation"
-Uh, actually the RCX could power up to three motors too, it just typically came with two.
"Connectors" - "Two-wire analog cables" vs "Six-wire digital cables"
-Well yeah, the more the better, but I'd imagine homebrew stuff is simpler than digital, I've never done any so correct me if I'm wrong
I've always heard about Wired being sketchy about their reporting, grr...
Nevertheless, it seems like a cool device, especially with bluetooth
I'll try to dispel some myths here without stepping on the toes of my former employer, National Instruments, which is working with LEGO on the software interface and programming environment for this product. I designed and built the compiler infrastructure (excepting the parser) for targeting the virtual machine running on the brick from a program built in the Mindstorms NXT software environment, so I speak with some authority (and little fear of reprisal as long as I stay within reasonable limits in discussing as-of-yet unpublished details :)).
:) I'm at Intel now, focusing more closely on the types of performance analysis on which I am so keen, but NI continues to do amazing work, both for its customers and the community.
If anything, this product is designed to be more extensible than ever. They *want* third party providers to create new hardware and augment the software environment to support it. We built the brick's virtual machine with the understanding that the prior one was extremely limited for C-style programming languages that operate with a stack and a flat memory space. It is still more oriented with the highly parallel nature of the dataflow programming language kids will use, but this should only make things more interesting for the C/compiler hackers and enthusiasts out there.
Finally, the entire compiler was written in LabVIEW itself, which is the dataflow programming language that the Mindstorms NXT programming environment is based on. The LabVIEW-based compiler can parse, analyze, optimize and generate code for other LabVIEW programs, so theoretically the programming environment provided by the product is all the enthusiast or third party needs to extend the product with new functionality. In reality, much of the API used by the compiler won't be initially available to everyone, mostly because that's not what the product is really about -- but this is mostly a matter of time and resources since they're on an aggressive schedule, and it's only a matter of time before they provide an SDK.
They want this product to be accessible, and have nothing to lose by doing so. Fortunately this time however the underlying technology was designed to make this even easier after the product launches.
One last request to NI is something that we discussed while I still worked there... Since NI is not ultimately a compiler company, I'd love to see the compiler open-sourced for anyone with access to LabVIEW or Mindstorms NXT. How 'bout it Joel? I've still got some G in me.
-Robert Morton
p.s. I left NI on very good terms, and I hope I didn't just undo that