Ask Engadget: best robot platform for under $400?
We know you've got questions, and if you're brave enough to ask the world for answers, here's the outlet to do so. This week's Ask Engadget question is coming to us from Ryan, who reckons it's about time he stopped playing with Lego blocks and began playing with a real man's robot platform. Just kidding about the Lego bit. If you're looking to send in an inquiry of your own, drop us a line at ask [at] engadget [dawt] com.
Come on over, robot lovers. Toss those gloves and goggles aside for a moment and throw this guy some advice. What platform keeps you up in the garage at night?"I am an aspiring roboticist who has been using Lego Mindstorms NXT for a few years and I am looking for the next step up. I have a budget of about $400. I am looking for something that has more motors, more sensors, and a way to have it live feed video back to a computer. I would also like a platform that has a large amount of building that can be done on top of it, such as adding an arm or another array of sensors, or a different drive base. I'm new to the world of robotics outside of the NXT, so any tips would be appreciated as well. Thanks!"






















What?
VEX
Its pretty versatile, my friends and I have managed to build some pretty cool stuff with it.
ex. scissor lift, omni drive, universal joints, etc
They also have a yearly tournament for middle school, high school, and college students (each separate).
If your looking to step up from Legos, this is a great option....though some prices may be a little steep, it is worth it.
@abedinthehouse
Over/under two relevant comments on this post?
200 internets on the under please.
WTF?
Android
I suggest the Rachel model of replicant.
Six axis movement and nice tits as a bonus.
I have a tip... get out of the basement and go land you some tail.
I've always wanted a Sony AIBO
Arduino. Very low start up costs with plenty of modular add ons to make work easier. Plenty of support and open source. They have a bluetooth version that you could probably use to pass your video back to the computer but depending on your needs you could also get a cheap wireless camera and have the signal piped into your computer through the receiver. Basic Stamp is your other option. I started out Basic Stamp but find Arduino to be best for my applications (I build small autonomous underwater vehicles).
@pfavaro He wanted more than just a microcontroller, the guy is looking or a complete robotics platform.
@pfavaro I agree that the Arduino is a great microcontroller to start with, so for the OP, I'd recommend the 3pi robot platform from Pololu. It uses an ATMega microcontroller that can be programmed from the Arduino IDE at it is a very impressive little 'bot with a set of maze-solving programs that you can run right out of the box.
As you learn more about the different kinds of sensors (and soldering), you can build your own circuits on the stackable protoboards available for the 3pi.
Here's the first google hit for a youtube vid of a 3pi solving a maze: http://www.youtube.com/watch?v=mJV-KDqHgDQ
@pfavaro I don't think bluetooth or even RS232 has enough bandwidth to stream video. In order to do video, you would probably need some electronics to process it and send it out over Ethernet, USB (not the RS232 to USB that the arduino uses), or a video connector.
if you want to move to real robotics, $400 may not be enough. The idea is to get a microcontroller in which you can program using the system code (Arduino is a great microcontroller to get started with). As with the microcontroller, you can send a pulse-width modulation signal (PWM) to control motors and sorts, and you can take in input from sensors (photoresisters, thermisters, etc etc). Look into understanding microcontroller and serial communication first. Lego Mindstorms is a much more simple, closed approach to robotics, so you may feel a little uncomfortable with the subject at first.
@remote the arduino duemilanove (http://www.sparkfun.com/commerce/product_info.php?products_id=666) is a great board to get started with
Can you program if so go with arduino
I built a robot when I was 9 using spare parts of a fridge. I never fully completed it, I forgot to program it's gender and mute switch. But C3PO is what I called it. I will forever regret making him
@Lord Vader
I just can't get enough of you man...
My first recommendation would be to simply buy parts, starting with a nice base. Perhaps something like this: http://www.robotshop.ca/robotshop-rover-arduino-basic-kit-6.html
solid base with an Arduino micro-controller to get you up and running quickly.
With a little electronics knowledge it's not hard to wire up and code and sensors you like onto that platform.
I find this the best site to find sensors:
http://www.sparkfun.com/
If building and wiring your own robot platform seems too daunting,
the Vex robot kits are a great comprehensive mid-point:
http://www.vexrobotics.com/
Checkout the iRobot create. Large and pretty simple to work with.
@gittenlucky
I recommend this. Its a little more then your budget but it will get you a great base with some sensors, and its large enough to mount a small netbook + a Lego base robotic arm.
Look around on trossen robotics forum.
They have people that actually know what they're doing.
I'm not sure how much it costs exactly, but I've always liked the cRIO platform that my school robotics team uses. Its made by National Instruments
@brett123
We use the crio in our FIRST team too, but I think It is more out of reach for a 400 dollar budget. But still, it is a really great system.
@brett123
The National Instruments cRIO is incredibly expensive and so are the addon parts (the FIRST starter kit is $8000 IIRC)
I was not happy when FIRST moved to this device because the PIC based solution it had been using taught more practical knowledge for the basement inventor. The cRIO is more of a tool to instill brand recognition early in future engineers and is way over powered for the application.
In relation to this thread, Arduino may be a useful IDE/microcontroller solution to get started with. You could easily graft it onto an iRobot Create, which I feel is a good physical platform. You'll have to get creative with adding attachments though. In the future you could update the microcontroller side of things for more power (ARM, laptop, etc) because it just connects via a serial port.
I say vex and it fits your budget
One that's really simple, kinda cheap, and can do just about anything you can think of is Vex robotics. A good Google search is all you need.
There is the CMU TeRK, which uses the Qwerk:
http://www.terk.ri.cmu.edu/category/recipes/
Though it is a little old now, so they are working with the VexPro, which is a redesign of the Qwerk:
http://www.vexforum.com/wiki/index.php/VEX_Arm9_Microcontroller
Some of the starter bundles are around $400, but you will probably spend a lot more if you are into a serious project.
http://www.vexrobotics.com/products/vex-robot-starter-bundles
http://www.seeedstudio.com/depot/house-care-robot-heavy-duty-platform-p-659.html?cPath=119_125
A single RX-64 servo costs $400....
For entry level robotics you can't go past the freeduino based Roboduino.
http://store.curiousinventor.com/roboduino.html
Or just a Plain Old Arduino
http://www.sparkfun.com/commerce/advanced_search_result.php?keywords=arduino&x=0&y=0&search_section=products
I built a robot I created which currently uses 5 servos and 2 sharp IR sensors. The programming language is based on C however the level of the language (Wired) is abstracted quite nicely so the learning curve is just right for beginners.
The roboduino the board itself is only $49.95 USD.
An arduino is even cheaper at $29.95 USD.
And there are open source libraries and Arduino Shields Available to allow you to use Larger Stepper motors.
The only time you'll need something larger than an arduino is if you're looking at using Computer Vision.
Send me a reply if you want any further information. I have actually built entire robots for under $150.
@xion Yes I would very much like to learn what you did to build a robot for $150. I've been looking at Arduino for a little while. What language would I have to learn to use Arduino? Also, can you recomend a place to get sensors and servos to build the actual parts of a robot.
Yes this is Ryan the Asker
@Ryan RentaTech Kid
Hi Ryan,
The arduino uses C/C++ as the main language. Arduino Libraries however use libraries called Wire. Wire allows you to abstract away from the code to work with the electronics such as turning on a Digital Pin or reading from an analog pin for a IR sensor.
Here's a snippet
int ledPin = 13; // LED connected to digital pin 13
void setup() // run once, when the program starts
{
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}
void loop() // run over and over again
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for 1 second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for 1 second
}
So working with a microcontroller is working closer to the actual electronics level. You use the microcontroller to trigger switches and circuits (blink an LED). Or to control a servo to move to its 0 position or it's 90deg position or 180 degree position etc.
Before moving straight onto the robot buy and Arduino and go through these tutorials
http://www.ladyada.net/learn/arduino/
After that, it would be worth buying a few GWS hobby servos and see if you can get them working.
Here's a tutorial.
http://www.instructables.com/id/Putting-Together-the-Roboduino/step4/Ready-to-Test/
After you can get the servos working and you understand Pulse Width Modulation (PWM).
Note that servos have different PWM and I managed to fry a servo by inputting a PWM that was too high.
trossenrobotics.com/roboduino.aspx has the chasebot code which uses a Sharp IR sensor and a couple Parallax Servos.
After that you should be ready for something a little more complicated. Like Wall-E.
instructables.com/id/Build-an-autonomous-Wall-E-Robot/
However you don't need to use the custom PIC board that the guy in the instrucable used. You can use a Roboduino which allows you to plug a servo directly onto the board without a shield.
Let me know if that helps.
Here's a video of my Robot Wall E being triggered by my hand.
@xion
Sorry to double post. The embed code didn't work in the Reply.
http://s6.photobucket.com/albums/y213/xionofchaos/?action=view¤t=DSCF0043.mp4
Let me know if you have any further questions. I normally put code up on my blog at justinshield.com. So I'll have a code garage sale on my Wall E as I'm interfacing a Roboduino with the existing circuits for the Wall E toy to trigger the Voice (no voice in the video but hey says stuff like Eeevva and the apple start up and stuff).
Until then you can reach me at justin.n.shield at gmail.com
@xion So Arduino won't accept C#? Because I was already planning on learning that, but it can't hurt to learn C/C++ can it?
I found a cool base that is power by Arduino earlier today, do you think this would be a good starting place?
http://www.robotshop.ca/dfrobotshop-rover-tracked-robot-basic-kit.html
What about Lego Mindstorms? The new LEGO Mindstorms NXT 2.0 set is only $280 on Amazon.
@andrewkalies Oops lol didn't see that he was already using Mindstorms. Damn. :P
For a beginner I would seriously check out Parallax Inc. They have extremely well documented kits with a focus on education. A catalog with tons of add on parts with sample code for all of it.
depending on where you live there are several very active robot hobby groups.
Silicon Vally Home Brew Robotics Club (http://www.hbrobotics.org/)
Seattle Robotics Society (http://www.seattlerobotics.org/)
Dallas Personal Robotics Group (http://www.dprg.org/)
As someone that works in the "industry", I have experience with several of these products, and have some that are not even released yet (that are in the thousands of dollars...).
I think the best platform at the $400 range would be Vex. There are so many options with it. Especially considering you already have experience with NXT already...
Well, if what you're looking for is more sensors and motors, you could still use the nxt. The bus the NXT uses is called I2C, and there are several chips out there that would allow you to address several motors and sensors at once, from only one of the ports.
There are a lot of forums out there on the interweb, where they use the NXT in such a maner.
If i were you, i would start out by reading this http://www.tau.ac.il/~stoledo/lego/i2c-8574/
However if programming is not your strongest suit, you can find building blocks for the mindstorm program where-in you are able to access the raw data coming from the I2C bus.
The smart thing about this is, that when you start needing more functionality than what the NXT can provide, you can simply switch to another microprocessor, and reuse all of those mindstorm parts that you already bought with your hard earned cash.
Personally i've used an arm based board from IAR Systems when the NXT became insufficient.
@Herlev On a side note. you could also look into http://www.microsoft.com/robotics/#About
It's a development environment from Microsoft. Besides allowing allowing you create your own custom robots, it also work with alot of robot kits out ther (fx. NXT and iRobot Create). It has a visual programming interface (same style as the mindstorm software), and when you get more advanced you can start programming directly in C#.
Just reading the title without reading the actual article, I really thought that this was going to be about the best android tablet coming out.
Arduino + Android = win
Look up Robobuilder; it's supposed to be a more affordable alternative to the Bioloid range
http://www.parallax.com/Store/Robots/AllRobots/tabid/128/CategoryID/3/List/0/Level/a/ProductID/601/Default.aspx?SortField=UnitCost%2cProductName
Plus another $100 for sensors and you are at the $400
The next step up from Lego NXT, at least for me, was Botball, a robotics competition with kits that were more or less Lego-based (at least for the structural building). Their controllers, however, ranged from the old Yellow RCX brick to a handyboard and a (hacked) GameBoy Advanced when I was still competing. (Who knows what other crazy additions they've added since!) They've got more advanced versions of the Lego sensors, along with others like an XBC cam, sonar, encoders, IR, etc. The non-Lego controllers have lots of ports, too, so no need for stacking ends or the tin foil (coughcough). ;D
Coding was done with Interactive C, a variant of C that allows for on the spot testing. They're using KISS-C now, which sounds like a multiplatform version of IC.
In any case, their site is http://www.botball.org/. (The competition's for secondary schoolers, but they've "Beyond Botball" for those in college and beyond.)
As for the prices, mm, other people always took care of that, but we certainly weren't a wealthy team or school (not even close).
I would recommend you look at the TETRIX building system from Pitsco (http://www.tetrixrobotics.com/Building_System/) You can buy a base system for around $400, AND you can reuse you NXT controller, and any Mindstorms parts you may have.
Also, if you are an educator or a student (or maybe a parent - I'm not sure of the licensing...), I would look at the LabVIEW Education Edition (http://www.legoeducation.us/store/detail.aspx?ID=1890&bhcp=1). That will allow you to take your Mindstorms and TETRIX to the next step from a programming point of view.
One thing you can do with that combination is to split the sensing and processing between the NXT brick and a PC, giving you essentially limitless processing power. Bluetooth still allows you to have a robot driving around running into things... There are extension to LabVIEW which allow you to use webcams, email, and anything a computer can do, but you may find the Education Edition is a bit stifled from the professional versions.
Full disclosure: I'm a bit biased, National Instruments and LEGO Ed are two of my company's largest customers (we create educational resources for among other things... robotics). If you have $50 left in your budget, you can check out our online video NXT/TETRIX/LabVIEW training at www.FTCMastery.com.
Best,
Ben
Oops... I forgot to mention:
You can get also get some cool Mindstorms (and TETRIX-compatible) sensors and actuators from 3rd party companies:
http://www.hitechnic.com/
http://www.mindsensors.com/
Ben Zimmer (www.enabletc.com)
VEX, it's very flexible.