Author
Topic: PC-Laptop robot? (Read 11593 times)

I have had some interest in robotics for some time, and I noticed that most people seem to build robots with microcontrollers and specialized circuitry. This seems pretty expensive and relatively limited (in terms of CPU power).

I have recently ordered a laptop, and I noticed tigerdirect.com was selling neat webcams for cheap. This reminded me of an idea I had a while ago: to build a robot using a laptop and PC parts. This seems rather interesting to me as I get a powerful processor, lots of memory, easy and flexible software development, wireless control/monitoring capabilities, all for "free". And if I want things like stereoscopic vision, I can just buy two identical webcams and interface with the webcam API of my OS.

I was just wondering, how come not more people are doing this? How come we aren't seeing more laptop/Mini-ITX PC based robots? Is it because of some practicality issues I am not seeing, or because tinkerers have an innate desire of tinkering with every aspect of the electronics (granted, wiring up your own microcontroller and programming its ROM shows you have skills).

I plan on making a simple symmetrical two-wheeled platform with two reversible DC motor/gearboxes attached to side-wheels, and mount the SLA batteries/control circuits/laptop on it... With possibly two stereo webcams on a small mast above the thing, along with a small speaker and two microphones. The problem of interfacing the laptop to the wheels and such in my design may seem problematic, but I was thinking that this could be done using a simple parallel relay board or USB interface card:

This may seem limited as far as sensors go, but I was thinking of building a robot that mostly relies on neural networks and vision, and so should not need extra collision/light sensors and such.

I'm not sure what's the cheapest way to go about building a solid circular rotating platform, however, as I have never done this. If anyone has recommendations for wheel/motor/gearbox assemblies and/or control circuitry, they are welcome.

I have had some interest in robotics for some time, and I noticed that most people seem to build robots with microcontrollers and specialized circuitry. This seems pretty expensive and relatively limited (in terms of CPU power).

I would argue that microcontrollers (which often cost like $10) are significantly less expensive than computers. To interface with either a microcontroller/computer and any outside hardware (motors, sensors, etc), both would need specialized circuitry (such as your included links). And I have seen homemade robots run around with laptops as large as the robot itself, and laughed every time I saw the laptop get damaged. Have you considered how much more power laptops require than microcontrollers? Would you trust your shiny new laptop on a robot you built?

Now for my 'counter' argument. I have programmed a Nomad Scout robot (see image) with a laptop on top of it. And it worked much better than if it had a microcontroller, too. But this is because we were doing heavy image processing and calculation intensive pathfinding. The robot was also strong and stable enough to carry and power a laptop safely. But even then, the laptop interfaced with a microcontroller to handle the lower level jobs . . .

What you can do however is use a palm pilot as your robot controller, as you get the higher processing power, but also all those additional 'free' features. Ive once seen a very successful robot build from an old Compaq iPAQ and ghetto webcam.

In my case, the whole point is to be able to do intensive stereo image processing. Risks of damage can easily be minimized. I could simply have a "level" on my platform for the laptop, and insert foam in it, I also plan on keeping the laptop closed.

As for power, the laptop can power itself, so there is no need to worry about that part. But if I wanted to power the laptop, I could always hook it to a 12V circuit through a power filter.

The battery of the laptop or for the robot? I don't really see the size as a problem... I sort of find it cool

The only thing that sort of worries me is the fact that this USB control board is limited. It only has 8 relays on it. I would be interested in seeing if there are PC interface boards out there with more outputs (like 32 or 64), because I would eventually like to build a robotic arm, or a walking robot. It would need to be USB or ethernet controlled, since that is all my laptop will have (no parallel or serial).

I was wondering, do you think it would be possible to use this as a parallel port, as if it were 16 independent 1 bit inputs, and directly drive a relay (or a transistor and then a relay) off of each of these bits, as needed?

you can get 12 output pins from a parallel port.each pin is controlable individually from Linux but i think things get complicated if you try and do the same from windows. (something about windows drivers not letting you access the hardware directly. i can't remember all the details.)i had this working on an old version of DOS before i got into Linux but i don't think anyone runs DOS any more....

as for controlling things from a serial port, this is a much more robust option if you are using a windows PC but you need to use a microcontroller with a built in serial port (called a UART).the PC's serial port can communicate with your microcontrollers UART with very little extra circuitry. attach some relays to your microcontrollers output pins and your all set.here's an example of connecting a PIC microcontroller to a PC serial port:http://www.oz1bxm.dk/PIC/628uart.htm

i have seen commercially available boards advertised doing the same thing if you are looking for a solution that avoids too much soldering and messing around with microcontrollers but it's going to be more expensive.