Programmer new to robots. Is this a decent start? (image)

I’m in college right now for programming. Been doing it myself for 4+ years now. I know a variety of languages (C++, Java, Html, ect) and I’m used to learning new ones. What I’d like to do is use my computer, and in the future one of those <9’ laptops as a brain, connected to my robot through usb.

Right now I’m not worried about moving a laptop around, it’s just going to be a usb cord from my computer to the robot. Using code I write on my computer that runs in real time while the robot is connected with usb is my main goal here.

My goal is to have a robot that can move around, and when it senses an object to try and go around it. Here is a sketch I did in paint.

http://i238.photobucket.com/albums/ff17/JavaMava/simplerobot.jpg

From this design it’s clear I need:
2 servos motors
2 DC motors
3 wheels
a sonar sensor
a container to mount/hold everything.

and then the parts I need some help on.

In order to control the servo motors this.
*
**EDIT - *can’t post links yet, forum rules. However it is a Pololu USB 16-servo controller EDIT(2) - I bought the SSC-32 instead.

Will allow me to use usb and control my two servo motors. It also will be reused for my second, and probably 3rd robot so I do need its ability to control up to 16. Now for a few questions.

  1. This can’t be used to control my dc motors can it? If not what do you suggest that can. I need to be able to connect it to my computer through usb, or connect it to something else that connects to my computer through usb.
  2. for more than 1 servo, it needs it’s own power supply. Rechargeable batteries seem to be the way to go. Whats the equation/info I need to figure out what I need? (also, what do you suggest?)
  3. besides batteries, servos, ad a usb cable to computer, is there anything else I need to be able to use this device?

This is about as much as I’ve been able to figure out on my own. I know there are probably some things I’m missing. What? Also do you have any alternative/superior suggestions that still allow me to control a robot in **real time **with my pc?

Thanks for reading all of this

***EDIT - *aww man, bad first post. Full of unfulfilled promises, and in the wrong board to boot. Meant to put it in general discussion, not general programming. Could a mod move my topic for me? I don’t think you guys would want me to make a duplicate topic in the other board :blush:

Any particular reason a USB connection is required? It may add some extra issues to deal with. You might also look at the ssc-32 servo controller board as it might have some needed features that the pololu board doesn’t. If your bot isn’t going to be very large, you might consider powering it with large continous rotation servos instead of motors.

The reason I’ve been wanting usb is because its the most abundant port available on my pc, and soon to be mini laptop. If there are other solutions I’m not aware, I’m all ear. My only concern is that whatever is used can be used to transfer signals in real time from my program on my computer to the board (and then servos).

I do intend to keep my robot as small and light as possible.

I’ve just now looked at the SSC 32 and it looks really interesting. My question is, can it do what I need, or does it need to have one of those atom processor brains (probably way off on what this is here) running the code on board.

So, what are your other suggestions if you think USB isn’t the best option, and can the SSC 32 do what I need?

Thanks for your response.

I use a USB to serial adapter to connect my laptop to the ssc-32. Some USB gizmo boards are controlled by a virtual com port driver, which makes for simple programming. Others require programming dlls or OCX controls, which makes things more complex programming wise. You keep mentioning “realtime” control. If you are considering using windows, then it isn’t a “realtime” OS if very tight timing control is required. I think the below mini laptop would make an interesting bot brain. It comes loaded with XP, which would make a lot of things easy if one wanted to remotely control the bot.

geeks.com/details.asp?invtid … cpc=NBBbsc

I may very well be using real time incorrectly, however I think you know what I meant? Will the SSC32 be able to receive input and send output (even if delayed) to a computer that is currently running a program I’ve written?

I send the ssc-32 a request and wait ~50ms before reading the serial port input buffer for the return data.

Hey thanks a lot. That puts a big smile on my face. Do you mind if I ask why you wait 50ms? Is that as fast as possible?

I think 1ms is the low limit with windows, with maybe something like 15ms being a real world value. The ssc-32 user manual tells of some delay periods with the controller chip programming, so you may want to read that info. I had no need for faster than 50ms for what I was doing.