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'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