I have been browsing (and wishing I had more money) my favourite tech and robot shops today because I was bored and I stumbled upon the Lego Mindstorms NXT kit for 250EUR. I have looked at the Mindstorms before but I can't decide if they are toys or something that can be made into a real robot (or a thing that does things). So how suitable is the Mindstorms kit for someone who has never made a robot but know something about electronics? I am currently studying computer engineering at university and I have some knowledge of electronics from school and from my own projects (mostly arduino based - if someone is interested - www.r00li.com ). I have much experience with arduinos and I know how to programm in many languages (Assembler (ARM), C++, Java, Objective-C, Python).
I would realy like to get into robotics (I am aiming at robotics classes in university) and I would realy like to throw myself into this field. Making robots and developing iphone applications are quite a different thing so I don't know where to start. I was thinking about making a cheap robot with arduino which is quite nice for this but I feel it is quite limited. If I want to build an autonomus robot it won't do much else that drive/walk around and bounce of walls. I would like to make something a little more useful/interesting. The NXT at least has a bluetooth module for remote control (at least I think that it can be used for that - don't see any other use for it) which would enable me to do some little cooler stuff. But at the same time NXT seems more like a creative toy than a real platform for robots and I feel that it would start boring me. And the additional sensors are very expensive (but I get a feeling that I could hack arduino to talk with the NXT to expand its brain a bit). And I realy can't figure out if I should buy the NXT or not. It isn't cheap for what it offers but it isn't realy expensive either.
What I wan't more than small robots are a little bigger and more automated robots. Something like Qbo or (Aldebaran) Nao. The first one is basically a nice shell with a computer in it and can run the ROS linux distribution so it can be used for almost anything. The other one is actually my goal. I have been very fascinated with that robot and I would give almost anything to have it. Sadly it costs around 15000EUR or 3000 for the developer version (which you can only get if you are chosen for their developer program). Both of these prices are waaaay out of my budget. I have been also looking at a turtlebot (an roomba with a kinect and a computer running the ROS) and that also looks quite cool. And the basic kit costs about 300EUR which is inside my budget and I already own a roomba and a laptop so this is all that I need.
So does anyone have any advice on what I should do? Would the NXT be a good idea for me or should I get the turtlebot or something completely different?
the nxt can only support sensors within the fields of lego, i have one but its way too expensive but the programming is alright. and if you buy the book called extreme nxt, it tell you how to expand your nat by using real electronics
I wouldn’t buy the NXT. If you are into arduino I would recommend you to keep using it. It can do almost everything that NXT can do, plus lots of other things. There are lots of different bluetooth modules you can use with arduino…
I would prefer the Turtlebot, it will allow you to make lots of cool stuff. I’ve been working with something similiar, Magabot, which I think would also be a cool option for you. But, if you already have the roomba and want to buy the kinect, it would be more expensive for you (the robot base is 300€).
If you’re already into Arduino programming, you’ve probably already outgrown basic NXT. It comes with 3 servo style motors, a couple of touch sensors a color sensor and an ultrasonic sensor. (At least, that’s what I noticed in my nephews set when he brought it over.) That being said, there IS a ROS stack for NXT, and (3rd party) support for quite a few alternate programming languages. But you’re not likely to build a very large robot out of NXT components, or go beyond the basic sensors. Anything you can do with a NXT you can do with an Arduino, (or some other microcontroller.) And you’ve always got the option to add or change things. You could, for example, start out with small gear motors, and a low power motor driver, and then upgrade the motors and driver board for something larger. The same Arduino and code can go along with you.
I’m not crazy about the robots, such as the Turtlebot that start out with a Create. You’ll see a lot of people complain that it can’t get onto carpets or over doorway thresholds. On its own, it’s pretty good–but once again, you’re not going to be able to add much weight to it. Kinect on the other hand impresses the hell out of me, and planning to add one to any robot with under computer control, is a not a bad idea at all.
You mentioned the Nao, which is a VERY impressive humanoid robot. If a humanoid robot is your goal–you’ll be making considerable investment in expensive servos–and a lot of them. And probably be disappointed at the performance. If you want to see what state of the art HOBBY level humanoid robots are like–find a video of a robot soccer game.
If you’re attracted to the NXT system because of a lack of building skills, (or access to a laser cutter or CNC) there are any number of motorized bases with wheels or treads that will get you off to a good start, then you can add arms through something like Lynxmotion servo brackets. Or if you’ve got the design skills, you can draw your robot components out through some CAD program, and have them laser cut and shipped to you.
You’ll get as many different opinions as you get responses here. But I don’t think you’ll get any bad advice.
Interesting replies. Somewhere around what I have been thinking about. I know that arduino can be expanded into many things but on one of my latest projects I found that it can be quite limiting so I needed two of them connected together to get the task done.
Humanoid robots are fun and all but hobby robots are nowhere near the sophistication of Nao. Because of that I wouldn’t realy go into humanoid robots myself, but I would be realy happy if I could get the Nao somewhere. I know that they have one or two at my university so I have a chance of getting a little personal time with it in the future.
While I also like the TurtleBot and the ROS, I can’t stop feeling that I would be cheated if I bought one. I can get roomba to talk to a computer myself (using arduino or directly) and I can also buy a kinect myself. So I can build a turtlebot myself for a much lower price.
DancesWithRobots is absolutely right on spot. NXT is good for kids for an easy start up learning robotics. If you have some Lego Technic pieces, use those to prototype robot parts like arm, hand, etc. I have a Roomba and I started to build a butler robot on top of it. I had to add a second caster ball on the vacuum drawer to avoid too much tilting and it moves a bit hard with all that weight I put on it. Has troubles sometimes to get on the carpet (I am remotely driving it, no autonomous features yet, waiting for some parts to finish up). I wanted to use the Roomba for the added vacuuming bonus, but I wish I had a better platform. Depending on what kind of robot you want to build and experiment with, there are options available out there. Take a look at this supplier: http://www.zagrosrobotics.com/shop/category.aspx?catid=1 There is even an Arduino bas bundle that you can get for $279 and just place your laptop and Kinect senor on top and have a Turtle bot. The advantage is that those bases are tall so the robot can get over carpets and small door tresholds, the dissadvantage is that those motors do not have encoders, but Roomba’s encoders are hard to deal with anyway (Create has better interface than Roomba). Another option wold be to get motors with encoders (about $40 each), hubs, motor mounts and motor driver from Pololu and build your own base from plastic or plywood and threaded rods. Get wheels and caster from a used baby stroller and you built yourself a strong and performant robot base.
I agree that the hardware you get for the price of a typical Crea-Nect bot seems pricey. But ROS itself looks like one of the best things to happen to robot hobby since the servo. There are quite a few drivers and stacks for all sorts of robots and hardware at all sorts of price points. Even the Arduino is supported.
One of the most interesting robots I’ve seen using a Create, Kinect and netbook is polyro, from Instructables. Tho, I’ve never heard anything more of it since. And there’s stuff going on in these boards that would make polyro lurch off in shame.
Boe-Bot is too expensive for wat if offers and it isn’t much different than anything that I can build with arduino from components lying around the house.
DFRobotShop Rover is another story - it is much more interesting and quite cheap but again I am not realy into simple small robots like this.
I was talking about roomba a few posts back and after I’ve finnished writing the post I went on a serch for a suitable cable. Found an old PS2 mouse lying somewhere and I stole its connector, snaped that plastich bit in the middle off and soldered myself a Roomba Open interface cable. Connected it to arduino and had a little fun with it. I didn’t try driving it around just yet, but I had some fun playing with the LEDs and it worked very well. It is very nice that the iRobot provide the specifications for the interface - and specifications written in a very good way. I am planing to have a little more fun with it tomorrow. I will check if I can get ROS to control it in the future, that would realy be nice to see. I wonder if I could get ROS onto an ARM board like this: http://www.raspberrypi.org/ . Since it costs 25$ it would be realy nice to see it controling the Roomba. Add a kinect and I could have a complete turtlebot for 150EUR which is much less than the basic turtlebot kit.