Let's Make Robots!

Why not CPU's like intel or AMD instead of Microchip or Pickaxe and the like

First off I know very little about programing! But it seems to me that since there are tones of old CPUs around, many simply for the taking.

Why not use these on the larger complex Robots instead using two or three or more MCUs. 

But honestly I use one or two PIC chips on my small tinkerings. But I have larger project that I "think" I can see the CPU as being a much better fit. 

Am I missing something so fundamental that it boarders on the absurd?

Please, any I deas and feedbacks are welcome!

rccubed

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I've worked with several kinds of both categories over the years and I can tell you these guys are right on the money. A regular CPU has all the extra hardware needed to make it work and the software, while more comprehensive, is also harder to work with.

I would say regular CPUs are at least ten to a hundred times as hard to use as a robot controller, but if you do, the results can be ten to a hundred times better (mostly due to the increased speed and additional capabilities.

For making a small hobby robot, stick with the micro-controllers. If you want to build a full sized / animatronic robot, then you can consider a regular multi-core CPU.  It is all in what you need for results.

 

Yesterday I found an interesting new motherboard/cpu from Intel, look at that :
http://www.intel.com/content/www/fr/fr/motherboards/desktop-motherboards/desktop-board-dn2800mt.html

To summerize : it is an ITX mother board with the latest Atom Cpu (dual core 1.8Ghz I think).

What makes it interresting ? First, more than mini ITX, it is a "thin mini ITX" (2 cm height) AND the power supply : you can plug directly a notebook power supply (12v, 5A) or any batteries that could fit !

Price is around $100.

I think we could do nice things with that one !

I predict great things in the future. With the release of the Rasberry Pi, you get the size and power consumption of a MCU, and the computation power of a CPU. I guess people will start developing add-on boards like the Arduino Shields.

Personally I like my microcontroller because it it easier to use for physical stuff right out of the box. It for instans has a servo connection and a servo command line. I am not a computer coder guy, but I was programming my servos and motors and sensors in a couple of hours.

Thanks for all the insight!

It just seemed like to me that there are so many old CPU's that are being wasted and I didn't know if you could program them like say a Microchip PIC chip or not. But that has been cleared up for me! Thanks again for the info. I think I'll use MCUs for the time being. At least till I'm ready to get into ROSS and some A.I.s.

Thanks to all for the straight forward answers! And not making me feel like I asked a stupid question! That means a lot to a newb!

rccubed

 

CPUs have only processing power, no ram, no input/output. Microcontrollers have processing, ram, and I/O all built in. The reason you don't see robots built with old CPUs is because, as has been stated, the support circuitry is power hungry and typically significantly large. To use a CPU you would require some form of RAM, storage, and access to the I/O ports. That usually requires a motherboard. A microcontroller has all of that on a single chip and requires little space or power to give you access to those objects.

When people decide to add a computer one direction is to lean towards System On a Chip (SOC) or small single board computers like beagleboards, raspberrypi,  and others.

In hobby robotics the trend is toward small for budget reasons. Small and low cost means microcontroller instead of pc. It also means low power requirements. There are some robots about that are basically a laptop on wheels but they are not common perhaps because of cost or it could be because they resemble a pc on wheels more than a robot.

But sure, I can give a great example of a very cool robot that has a mighty powerful pc on board and that would be willow garages PR2. Have a look at the size of it and the cost. I don't think there'd be too many that can afford 2-300000 dollars for their hobby.

In all fairness I have to point out smaller bots with pc's like a lot of the smaller humanoid bots but again we're talking prices in the thousands. One of the nicest, the alderberan nao costs 16k.

The raspberry pi may change this. As it is a very cheap, very small, powerful little pc about the size of a credit card with very low power requirements. However, there are a lot of people waiting anxiously for this and pre-ordered but I wouldn't hope for one too soon. They seem to have had one hiccup after another and it is seriously much later than expected.

So I guess commercially robots with pc's are very common. But in hobby robotics they are scarce. If you analyse why? It seems to be mainly related to cost and size. But I would also suggest it is complexity and the necessity of a team to develop them.

 I watched a video about the beaglebone recently where they blinked an led on this tiny linux pc. I went away with the feeling that, it was a lot of effort to blink an led on it compared to a microcontroller. But I guess as libraries are built, the number of lines of code needed to be manually entered would reduce.

Don't underestimate the power of a microcontroller they can do a lot for their size. So much I think that it keeps people in this realm because of the complexity of programming and wiring multiple sensors and actuators together into a form and function for a practical purpose.

Why would you need a pc to make a start here robot or a line follower or maze solver, sumobot or any of the other common single purpose hobby robots? The only sensor that I can think of immediately(although there are others) to justify an onboard pc would be vison with a camera. But there is only a small percentage of people that delve in this field here and the need is diminished by using a wireless camera and communications to interface the microcontoller in the robot to a desktop or laptop pc.

The cheapest android phone (new) I can find is below $70 and it comes with a 800Mhz cpu, a supported OS, a full set of programming tools, not to mention a large touch lcd, usb, camera (or two), a large battery, wifi, speakers, GPU, SD card slot, bluetooth, mic, GPS, and many other sensors, in a small package. (search ebay for Samsung Vitality)

Then you can DIY or use something like IOIO to control the additional sensors or drive motors for robotics

I also think the andorid phone price may be cheaper each year.

This is more like it! I don't know why I didn't see what was right in front of my face?!
That would make trying to build a smaller board for an older slower CPU a huge waste of my time!

The biggest issues with full computer robot implementations is size, weight and power.  A microcontroller based robot can typically be run off a few small batteries.  A full size computer easily creates a bigger chassis, bigger motors, bigger batteries circle.

There are quite a few large robot projects that are based on netbooks or notebooks or (usually small) computer main boards.  But to get from the 'computer' to motor/servo control and sensing, you're probably going to need some sort of micro controller or interface device, such as a servo controller board, or phidgets devices.  (Pricey.)  So it STILL pays to get a picaxe, or arduino, and try connecting servos and sensors to it.  Then when you know your way around them, you can start getting into more advanced control systems using a serial link to a full sized computer.

But that still doesn't necessarily mean that the computer has to come along.  The computer to micro controller can be any of a number of serial RF links.

If you're absolutely set on a full sized computer controlled robot, then you'll likely end up looking at something like Robot Operating System, Roborealm or MyRobotLab.

And as Maxihirez pointed out, these projects do tend to get complicated and take a long time.

It can be done-check out my Yubin Kun, but there are few factors that limit this approach.  

First off, the board that interfaces your computer to its hardware is anywhere from twice to several times as expensive as an MC that has the abilities to drive in/out and processing built in.  

Second, the power usage from the processor and moving the weight of an old machine-even a light Powerbook like I used-is going to be a huge battery drain.  If you try to make a desktop work, the complexity of the power system is going to be maddening.

However, using a CPU instead of an MC does allow you to put things like Roborealm or more powerful vision/3D processing on board.  It also has the advantage of giving you access to relatively inexpensive but useful peripherals that can be used in interesting and creative ways.  Also, a lot of high-level abilities are built into CPUs that take complicated add-ons and programming to use with an MC.  (Speech synthesis and recongnition were built into Yubin Kun, but adding either to aRDui required extra shields, routing and programming.)

Another thing to consider is the fact that a bigger centralized project has a better chance of overwealming you or tempting you to do too much with the machine.  Once I'd proved the concept with YK I piloted him under the desk and forgot to charge him for 3 months while I went on to aRDui5X.  Programming a complex system is a good task for a team but can be a bit much for an individual, and as Mark Tilden points out it's normal to watch someone have a wonderful month where they actually build the robot, then painful to watch them spend two years teaching it to do the most mundane task.  I like the George Devol approach, where you get major benefit from simple systems.