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.
But why does it look like an ipod that's been assimilated by the Borg?
The theory of relativity doesn't work right in Arkansas.
I guess it's about time to break out the theme music from Close Encounters of the Third Kind...
The World Wide Web is dying. Soon, we shall have only the Internet.
The original (and 2.0) version of their kit was massively popular, and it attracted a "geek base" of fans that wouldn't have accepted your typical "version 2.5". Props to Lego for realizing this and taking a little longer than most companies would to release the "right" product instead of the "quick" product.
Or you might be interested in the OrcBoard robotic controller, which is open source (schematics, layout, firmware, userland tools all GPL). It's being used by a number of robotics classes (6.188, 2.12), and a robotics competition (MASLab) at MIT.
It's a bit different than mindstorms in that it's designed to be used as a slave to a laptop or other more CPU-rich device. But you can use it in stand-alone mode too, if your robots are simple.
-Ed
(disclaimer: creator of orcboard)
If you look at the high-resolution image, you can see that it has 7 RJ11 jacks and one USB port (top right corner).
The top three RJ11 ports look like servo outputs, the bottom four look like sensor inputs (though the fourth port is unnumbered; wonder why).
I know slashdot ran a story on what went wrong, but they are far from dead. There is the FIRST Lego Racing League, which is a robotics compeition for grade school kids across the country. (Which then evolves into higher level products as they advance into high school). Heck I know several kids whose got RIS2.0 sets for Christmas. The parents are tired of their kids only seeing computers as video game machines - these kits are an excellent segway between fun and programming. There are plenty of high school and college kids, even adults doing stuff with them too... for example Jin Sato there is an available C compiler, even a Real Time OS!
-everphilski-
Try Ebay- I picked up 40 or so lbs of unsorted pieces for a good price. Guy even had some cheap lego webcamera thrown in.
"Mr. President, we cannot allow a mineshaft gap!"
I'm sure plenty of patents on robotics and their associated "Intellectual Property" will need to be defended from this kit. Just imagine what young children might build and do with this without close guidance and supervision! They must learn to respect the intellectual rights of other people or companies. Otherwise, society will crumble and we will all have to go back to playing with Lincoln logs and tinker toys... with the appropriate license(s) of course.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
I don't think grinding it's last gears is correct.
Indeed, it's "grinding its last gears".
Send email from the afterlife! Write your e-will at Dead Man's Switch.
I'm a follower or the Flying Spaghetti Monster, myself
Bluetooth support is awesome. One of the things I did not like about the original was the IR transmitter.
It's got Bluetooth, and they say it will be controllable from a host machine, be it a computer, a PDA, or a mobile phone. What more could you ask for?
But almost http://bricxcc.sourceforge.net/nqc
It has Mac support this time out.
t orms.com
http://mindstorms.lego.com/?domainredir=www.minds
Fans of SNOT (Studs Not On Top) Lego design will love this kit, because there aren't any studs. It looks like everything's designed to hook together with Technic axles and connectors, and no "basic brick" connectivity.
When I was a FIRST Lego League coach, the designs often embedded motors, sensors, even the RCX as part of the structure. The latter was usually a bad, bad, idea, since you'd have to disassemble major parts of your bot to replace batteries, and during a competition, you'd replace batteries every other run.
I welcome the sensor-laden motors, bluetooth, ultrasonic 'vision'... but I wonder if they've beefed up the programming any. Lack of backward compatibility is a surprise -- I've got a number of old sensors and motors.
Design for Use, not Construction!
from the article:
There were plenty of strategic blunders behind the dismal results: a misguided foray into making PC software games, expensive licensing arrangements (chiefly with Disney), and designs that puzzled rather than entertained. "We had started to make fire trucks that look like spaceships, building systems that no customer could truly appreciate," says Mads Nipper, a Lego senior vice president. "We had to clean that up."
awesome!
-- Who is the bigger fool? The fool or the fool who follows him? --
From the very Lego page itself:
"The heart of the new system is the NXT brick, an autonomous 32-bit LEGO microprocessor that can be programmed using a PC, or for the first time in the retail offering, a Mac."
Herve S.
RTFA. Mindstorms 2.0 was the best-selling Lego kit of all time at $200.
// This is not a sig.
It would be great if it supported the Roomba Serial Control Interface.
/ 17/0814200&tid=216
Roomba Vacuum Robot Opens to Hackers
http://hardware.slashdot.org/article.pl?sid=05/12
If you squint at the enlarged version of the left hand pic from the wired article, you'll get a rather pleasant surprise: it is going to be Mac compatible!
A pizza of radius z and thickness a has a volume of pi z z a
Lego looks pale and boring in comparison to fischertechnik. VW even built a complete plant using fischertechnik to verify their plan design (see here, it's towards the end). They offer a driver in C, PASCAL, etc. They have IO extensions. Everything's there.
There are actually many ways to program the original Mindstorms RCX. Although initially the only language was the one it came with, it was soon hacked. Languages were developed that took advantage of the default firmware (NQC), but many more were created that completely replaced the existing firmware. You could cross-compile C for it, and there was also a tiny Java VM that ran on it. Neither of these offloaded stuff to the PC.
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
It is high-grade, precision engineeered plastic. The LEGO robotics sets are made from lots of pieces of various shapes, not just one shape replicated thousands of times. Compare up against some of the LEGO knock-offs that are much cheaper. They hold together when you're building a static building, but if you try to build something that moves, they fall to pieces. You need plastic that fits *exactly* so that gears don't grind against each other and torque doesn't tear the robot apart. Personally, I'm impressed with the price -- it's asking a lot to get this kind of resource down to the point where kids can ever get ahold of it.
Johnny 5 IS ALIVE!!!!!!!!!! Legos are certainly much cooler than when I was a kid...
---
When you want to type a double-quote use " instead
Generated by SlashdotRndSig via GreaseMonkey
if you check the website (http://mindstorms.lego.com/) it claims mac & pc support
Logic brings Victory
Not really, though. The outputs are really just on or off, but if you toggle them fast enough you can emulate a whole range of output voltages. Which, incidentally, is what the horribly limited system the RCX ships with does, though so slowly that the motors make wicked grinding noises (well, at least mine do) if you run them at anything less than full speed.
IHMO (less humble now, perhaps, after a glass or two), the processor in the RCX isn't all that limited. Sure, you only have 16-bit registers and 32 kB, but it runs at a higher frequency than the 68k in my Amiga 500. Which makes me wonder whether I should spend the weekend playing with LEGO or playing old computer games...
This signature is not in the public domain.
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
I designed the compiler for the Mindstorms NXT (not counting the parser), so your statement strikes me as odd... because the entire compiler was written in LabVIEW itself. Given that the Mindstorms NXT is a product, that would make it a production programming language, would it not? The compiler does significant dataflow analysis, constant propagation, dead code elimination, register allocation, and identifies opportunities for parallelism, just for starters.
c id=14402793
:)
Regarding your other point - I find that most people are much more comfortable with visual concepts and cues than they are with words, excepting those who are CLI gurus. True, LabVIEW's collection of palettes and tools has been confusing, even for adults - this is why they've redesigned the palette system in LabVIEW 8.0; but they *completely* redesigned the entire concept of palettes for Mindstorms NXT. When you start seeing demos of the software you'll quite simply be blown away.
See my other post here as well for more info about the product:
http://games.slashdot.org/comments.pl?sid=173049&
Note, I left NI shortly after I completed the majority of my work on this project, so I feel I can (and should!) defend our hard work without fear of reprisals from management
-Robert Morton
Not enough I/O ports!
On the NXT, if you look closely, you are still limited to three motor outputs (that fourth port on the controller at the "top" is for USB). As for inputs, there still seems to be a limit of 3 general purpose inputs, plus one extra "special" ultrasonic input (it is strange - they mark the other inputs on the controller brick, but leave the ultrasonic unmarked - I have to assume that it is meant for the ultrasonic sensor only).
What if you want to hook up more sensors, or more motors? What if you want to hook up old sensors and motors, how do you do that? From what it appears, you can't - you can only hook up the same number of motors and sensors as the old RIS (minus the special ultrasonic sensor).
This is what makes me wonder whether Lego is paying attention at all to the market they created. For anyone who has perused the websites of Lego RIS creators, they will quickly learn that there are a few things that these people want: more motor outputs and more sensor inputs (witness the number of people creating numerous schemes to allow multiplexing of the I/O space), a greater variety of sensor types (witness the number of people making and selling custom sensors), and an easy/efficient way to network the controller bricks.
I will go further to say that there are many people who would love to see more than just motors - I know of some builders who have taken miniature pneumatic solenoid switches and converted them to allow them to control Lego pneumatics. How about a real Lego pneumatic pump (instead of having to build one from parts - although there are a ton of ingenious designs)? How about a Lego linear actuator (I have seen people build these too from Lego mini-motors and worm gears)? Why not a Lego stepper motor?
Furthermore, all of this could have been built into the same four-stud plate electrical connector - even the new motors with their in-built rotation sensors could have used this (two wires for power, one or two for the sensor). You would have to maybe round/notch the corner of the plate to indicate "pin 1" (like an IC chip), and you would need to add some additional protection (maybe diodes or something) for n00bi3s who connect the lines wrong, but it could be done. Standardize the motor output pins on the place (and sensor input pins) to be the same as current motors and sensor hookups. If done right, all the old stuff could work with this system, and new parts, like the new motors and sensors, could be added as well. Or, go with the current RJ jacks, and add dongles to connect old sensors/motors (maybe they will do this - I can assure you if they don't, someone else will).
Ultimately, at the minimum, they really need more I/O jacks for more motors and sensors, and a way to easily network the controller bricks. Perhaps the USB port will facilitate the networking of the controllers (?) - we won't know until people start playing with them. If Lego was smart, they would release a "super-controller" that had more I/O for those who want it and need it. It seems strange that the original Lego controllers developed at MIT had way more I/O capability than this new controller. There is no valid excuse, unless they just want to avoid confusion (which I can't understand, because they don't seem to understand that young kids are not really their target market for Mindstorms).
For myself, I am finding that if I want to do any kind of real development of robotics, it is just best to stick to breadboards, a soldering iron, PIC controllers and/or BASIC Stamps, hobby R/C se
Reason is the Path to God - Anon
I'm by no means the expert on some of your questions, but I'll try to help you out as best as I can.
:)
There is not currently a text format for LabVIEW programs, but your concern about version control has existed in the professional LabVIEW users community for quite some time. The core LabVIEW product has an excellent graphical Diff tool and integrates with standard source code control providers such as Perforce for version control. I don't recall seeing this in Robolab, but I could be mistaken (I was never a power user). I am also not certain how the software for Mindstorms NXT will handle this, though I imagine that it will be more of a concern in an academic package if one is released separately.
The Robolab compiler was quite clever, and was essentially built right into the blocks that kids drop in Robolab. When you "run" a program in Robolab, the blocks execute and save state information into global variables, in addition to emitting low-level bytecodes as they go along. When the end of the program has finished "running", all of the code and state that was collected is packaged together and downloaded to the brick. The downside to this single-pass approach was that no analysis could be done on the program for optimizations or even transformations like register allocations. Basically the kids had to be their own register allocators, choosing from colored "containers" to keep track of different variables.
The Mindstorms NXT compiler is a more traditional multi-pass, optimizing compiler. No containers are required, and instead the variables are inferred from the wires that carry data between two blocks. Unlike Robolab, where parallelism was explicitly managed with task splits and joins, all of the parallelism in Mindstorms NXT is inferred from the inherent parallelism that exists in a dataflow program. I'm not sure how much more detail I should delve into, so I'll leave things at that for now
-Robert