Society of Robots - Robot Forum
Electronics => Electronics => Topic started by: Arislan on October 24, 2006, 09:36:42 AM
-
Was thinking about hooking up my iPaq to my robot instead of a PIC. Any idea how to interface it to the board?
-
Yeap, Ive seen it done many times. The commands are sent out through the serial interface. Do a search on 'serial' in this forum.
-
here's an example:
http://ipod.hackaday.com/2005/03/03/make-a-palm-pilot-robot/
dunk.
-
i got to see that robot in action at my uni (CMU) where it was developed . . . it was soooo slow . . . he put a nice processor on it to drive just 3 servos and 2 sharp IR :-\
i believe they tried selling it as a kit at some point . . .
(call me mr negativity :P)
-
does anyone know if this will work with a HP95LX?
or in other words a Hewlett Packard 95 Lotus Exportable.
also known as the first handheld Pocket Pc that was on the marked (its from 1991, so yeh, its old)
-
you actually have more luck finding a standard rs232 serial port on older kit than on newer equipment.
so you probably can with the addition of some sort of serial to I/O controller.
dunk.
-
or a microcontroller that you program to interpret serial comands.... :P
*edit* ....was that too mean?
-
what did you think i meant by "some sort of serial to I/O controller"....?
dunk.
-
http://www.pololu.com/products/pololu/0207/
and there is alot more out there too.....makes it easy but....well you have heard of software bloat?
I consider this hardware bloat..... :-\
-
I dont believe that pololu board has any input capabilities . . .
-
that's kinda my point....
I'm a cs major and I have a cs adjuct professor who loves all the extra gadgets.
I swear he has seperate boars for Input output and analog measurments, all connected to his strong-arm running linux.
It makes for good prototyping but in the end you could reduce all your harware to a single avr or pic to do a2d, digital i/o, and pwm. he just doesn't want to learn firmware programing. It's a casee of faster solution != best solution.
Just think of how much power he is wasting running 3 boards instead of 1.
-
I know many other cs profs just like yours . . . I think they are just sheltering themselves from embedded stuff cause it looks hard, and all they know are pc's . . .
unless im doing AI, or have a huge budget and a huge robot, i refuse to use anything but microcontrollers . . .
-
Yea, I'm sold on the gumstix/robostix combo for makeing robots. It seems to provide the most muscle with the least amount of fat if you know what I mean. It's not a PC but it's not just a micro either. For any one looking to do research into mobile robots it's a godsend.
-
So the robostix is a more advanced microcontroller? It looks interesting for $49.
http://gumstix.com/store/catalog/product_info.php?products_id=139
Apparently can be programmed in C++, who to me would be very nice!
Should I get this thing for my robot?
-
If you are sticking to smaller robots that don't do all that much thinking an AVR is really handy. Although I recoment you program in C and if you really want object orientation just use structures that way you won't take a hit in performance. But they are rather cheep and well engineered. And go perfectly well with a gumstix (were made for eachother) if your ai advances beyond what the atmega can handle. Only problem is that if you don't have a gumstix you have to use your own boot loader.
-
How about using an actual pc motherboard, like something out of a 486, 66mhz? Can anything be done in robotics with that? In a way that is cheaper than a microcontroller.
-
so i'm experimenting with 2 platforms for my next bot at the moment.
my requirements were that i wanted something with a USB host port so i could use a standard USB webcam for machine vision.
approach 1 uses a EPIA mini ITX motherboard and DC-DC converter. http://www.mini-itx.com/store/?c=2#p1641
with this sort of motherboard on the bot i would be able to get real time stereo vision working. (no more messy IR sensors for me....)
the main problem with using a PC motherboard is power draw.
using a less powerfull PC would obviously use less power but will still be hugely inefficient. PCs just aren't built with low power draw in mind.
using a 10Ah battery pack i was only able to power my MiniATX motherboard for about 4 hours, despite the motherboard only drawing around 1 Amp. (in theory it should have run for around 10 hours.)
i put this down to the battery pack only being able to supply that sort of high load near the top of it's charge cycle.
using a laptop motherboard would probably be a far more power efficient way of getting lots of on board processing power.
the other processor i am considering is a Linksys "slug". http://www.linksys.com/servlet/Satellite?c=L_Product_C2&childpagename=US%2FLayout&cid=1118334819312&pagename=Linksys%2FCommon%2FVisitorWrapper
it's designed as a network storage device but it's got 2 USB host ports on there, (with the ability to solder on another 2, as well as a standard serial port) and only draws a few hundred milliamp.
all you have to do is put a more usefull operating system on there: http://www.nslu2-linux.org/ and you have a small, powerfull processor, running linux, with USB, i2c, serial port, ethernet, etc.
this processor won't be powerfull enough to do real time stereo vision but will definitely be powerfull enough to do video edge detection and shape recognition from a single camera.
using something other than a microcontroller on you bot will mean you will have to solve the I/O problem. how do you read sensors and switch motors on and off from a standard PC?
i'm using this project to build USB I/O controllers: http://www.obdev.at/products/avrusb/index.html so i'll still need microcontrollers on the bot even with my more advanced processor.
using a serial port or i2c I/O conroller is also an option.
i'm still undecided which processor i'm going to go with. (maybe i'll end up with 2 bots...)
while the PC motherboard is overkill, it lets you do lots of cool stuff with it's somewhat excessive processing power.
the linksys slug on the other hand is a nice compromise between power consumption, while still being able to use PC peripherals and operating system.
the advantage of using USB components and a standard operating system is i can develop the various pieces on my laptop and then plug them into the bot controller once they are working.
even the controller is changeable as they will both run the same linux operating system as my laptop.
dunk.
-
the slug looks interesting....it's very much like a gumstix (same family of processors) on a smaller budget but you have the bonus of USB host. Gumstix don't have that yet. I bet you could probably use the buildroot from a gumstix on the slug infact but you would need to enable the USB host. You might consider looking at the gumstix buildroot because it is excellent for cross compiling different packages. People have been running python, player, uisp (to down load to avr micros), and all number of networking utilities, which are all "make menuconfig" easy with the buildroot.
Let me know how the slug goes.
-
When I go to that link it shows me "Network Storage Link for USB 2.0 Disk Drives
Easily Add Storage Space to Your Network", nothing to do with slugs.
Anyway...back to the original topic...nowadays I can buy a used Palm Pilot for $35-50. Would it not be best to connect those to some board via the serial cable and use the Palm as the brain for my robot?
-
"slug" = NSLU2
the other processor i am considering is a Linksys "slug".
:P
As for your using the Palm...that depends on what you get for the price and what you want to get out of it.
Is it going to be hard to develop your code for the palm? What kind of OS does the palm run presently? Does it suport
user level threading?
The botom line for me is what are you gaining from using a Palm instead of a microC? If you end up paying 50 for a palm, 20 for a microC and still have to program the microC, in addition to fidling with the palm to get it to work, how does that save you time or money? Granted if it works out that you get a nice display and output for your robot with better memory capeablility I would say that might be worth it.
-
I don't know for sure. But I did some digging and I found this product:
http://www.pontech.com/products/sv200/index.htm
And it costs $59. But the advantage is that it controls servos and receives input from Sharp IR finders. Then my research came full circle finding this page:
http://www.cs.cmu.edu/~pprk/ And THAT had a lot of good info.
All I want my robot to do is follow programming, I am not trying to get a fully autonomous dancing robot that serves cocktails.
The thing is that you could use an older laptop for more programming power, or who knows, even a Dell Axim x51. This would just mean getting a different interface cable from Acroname.
However, this pontech controller can only give you access to 8 servos. Would be nice to be able to control a lot more.
-
I need to look into this, because my project would require 12 servos and 2 motors. I think I need a larger board than the SV203.
-
"follows programing" is a little vauge.
Why don't you out line your project a little bit and then every one would have a better feel for what you needed and could offer more accurate advice.
-
Hi Jesse thanks for asking.
Original plan is a 20 inch tall robot with a 6 wheel base, a cylindrical body, two arms and a head with blinking lights. I think it will need about 8 IR sensors, like 2 for each side of the base.
So, 2 motors for moving around, plus 12 servos for arms, claws and head. I won't add torso rotation because that would cause the internal wiring to get tangled. I expect the robot would weigh about 27 pounds. So I need to calculate what type of motors I need for that. But what is getting me is the microcontrollers, I have no idea what to get, or if using the Palm would be enough for me to build this thing. If anyone has any advice I am all ears, as I have never built a functional robot, only several replicas of tv robot puppets :P
-
oh my god your making a DALEK!!!!!!
THE DALEKS HAVE RETURNED, FLEE FOR YOUR LIVES!!!!
http://en.wikipedia.org/wiki/Dalek
for those people that have lives a dalek is a robot in a british TV program.
-
I am, how did you guess?
-
seriously? are u making a Dalek?
that would be so cool:P :) ;)
-
I sure can't make a Tardis, might as well make a Dalek!
-
hey Arislan,
so just to be clear on your requirements,
you need 14+ outputs for your various motors.
what about inputs? what level of controll do you need?
will your bot just follow a set sequence of movements or would you like it to react to it's environment or user input (remote control etc)?
most of the alternatives to microcontrollers discussed here (ie. palm pilots, gumstix, PC motherboards, reprogrammed NSLU2) all have the same problem if you want to use them for this sort of application.
they all require some sort of external I/O controller.
most of the commercially available I/O controllers use microcontrollers as the interface between the I/O pins and the host PC/palm plot/whatever.
most of the commercially available I/O controllers have less than your required 14 outputs.
you may want to consider programing some sort of microcontroller yourself so you can build something with the required number of I/O pins to connect to your palm's serial port.
of course, this may be over kill. if you are going to be using microcontrollers anyway you may decide you don't need the palm, right?
the other option discussed in this thread is the gumstix robostix board.
this board is essentially a pre built ATmega128 board. so it's still a microcontroller. an AVR microcontroller form Atmel to be exact. (you spot a common microcontroller theme here right? i'm starting to sound like Admin....)
while it's designed to be used with the gumstix board it can be used on it's own.
you will still need to program it but if you don't mind the programming of a microcontroller but don't want to have to get your soldering iron out it looks like a good option.
AVRs can be programmed in C not C++ as far as i know (but i'm fairly new to AVRs so please someone correct me if i'm wrong).
most of the AVRs (this one inclused) have logic level RS232 ports built in hardware for easy interfacing to other hardware.
did you ever find out what sort of interface your choice of Palm Pilot has?
anyway, enough of my ranting.
yes, you could use the Palm Pilot as your robot brain but not without some hardware to add Input/Output functionality.
dunk.
-
what about inputs? what level of controll do you need?
will your bot just follow a set sequence of movements or would you like it to react to it's environment or user input (remote control etc)?
Hi dunk!
I would like to pimp it up some, gradually adding more features. There is even a voice recognition chip capable of holding up to 40 words each (HM2007). So some kind of transmitter would be useful.
I'm thinking of 8 IR sensors, sonar, and something like a Quickcam for vision, if i ever get to expand that much. I was reading up on a project for robot vision that used CdS cells instead. It wasn't very descriptive but it said this:
"This [vision] suite contains 50 CdS cells, seven analog multiplexers, a sonar emitter circuit, a sonar
receiver circuit, and a Mekatronix TJ pro board with a Motorola 68HC11 microcontroller
operating in expanded multiplexed mode with 32k of SRAM. In addition to the electronics,
each eye contains a 50 mm lens, focusing images on each of the two CdS arrays"
Not sure how it would have worked.
I think what I should do is get some drawings started and post them here, so I can get suggestions. I'm fine with buying the gumstix/robostix combo if that will allow me to add all i want to my robot. My PocketPc can use a serial cable but I noticed that the battery no longer holds a charge. In the long run I think getting the stix could be the better idea, these older cheap pdas seem to be too much trouble even for chaning the battery.
-
By the way, it's not really a Dalek, that was a joke. ;)
Here is an early 3d sketch of the robot, without arms. I have not yet designed any arms. This is just a general shape, there is no texture map...
(http://www.arislan.net/~robot/bot1.jpg) (http://www.arislan.net/~robot/bot1.jpg)
-
If you decide on getting a gumstix let me know. I've been working with them for the past 6 months and can help you out picking stuff you might want or need. To me the advantage of a gumstix is that you get a full fledged linux kernal (but no fpu :'() that has some serious power for the ai side of the robot. 32k of sram is pip-squeak compared to the 64mb on the gumstix. Not to mention 400 mhrz compared to the 25mhrz of most motorola 16 bit mcu.
-
so i keep looking at the gumstix but the lack of a USB host port ruled it out for my current project.
that's why i went with the NSLU2 instead.
i'd imagine it's only a matter of time untill the gumstix adds a proper USB port.
(currently the gumstix only has a USB device port, meaning you can attach the gumstix to a computer's USB port but you cannot attach other USB devices to the gumstix.)
dunk.
-
The new gumstix is coming out this spring and will have usb host capability.
Another well engineered solution if you need to manage i/o and can't solder or design something yourself:
http://www.bdmicro.com/
Basically it's a robostix with more gadgets....and more ram (up to 128k external + 4k internal)
This seems like a good upgrade if you have been programing on small PICs and want to "Level Up" but don't want to go full on
into 16bit or 32bit MCU's
-
Hi,
There is interesting team from Germany.
They use Pocket Pc as a brain for Robosapien.
AND they use Pocket PC camera for vision system.
Their robots play football (soccer).
I downloaded movie from them (file name is 'go05_robosapien.wmv'.
Sorry, don’t know the link to it).
It is really funny, when robots play soccer!
See their web page:
http://www.informatik.uni-freiburg.de/%7Eki/teaching/ws0405/robotik/
As you ask me, we at www.RoboHobby.com, use J2ME phone as a brain for small robots and embedded (standard) camera of cell phone as a vision system.
-
no one has posted anything here for a while, I'm curious as to how every thing is comming along?
-
So if you have a computer that is the main processor and have a lot of motors and sensors. What do the motors, sensors, and computer connect to?
Since something like a Pocket PC only has 1 out put with something like 20 pins. Also, in programming you use port numbers but it's still going though the same wire. So is there some hardware that splits and combines the data being sent both ways?
-
approach 1 uses a EPIA mini ITX motherboard and DC-DC converter. http://www.mini-itx.com/store/?c=2#p1641 (http://www.mini-itx.com/store/?c=2#p1641)
with this sort of motherboard on the bot i would be able to get real time stereo vision working. (no more messy IR sensors for me....)
the main problem with using a PC motherboard is power draw.
using a less powerfull PC would obviously use less power but will still be hugely inefficient. PCs just aren't built with low power draw in mind.
using a 10Ah battery pack i was only able to power my MiniATX motherboard for about 4 hours, despite the motherboard only drawing around 1 Amp. (in theory it should have run for around 10 hours.)
i put this down to the battery pack only being able to supply that sort of high load near the top of it's charge cycle.
using a laptop motherboard would probably be a far more power efficient way of getting lots of on board processing power.
You can always check ebay. They have lots of old laptops for under $100. Some of them are also sold "for parts", and have broken LCDs. You may be able to get 800+ MHz for less than $50 from those defective laptops.
using something other than a microcontroller on you bot will mean you will have to solve the I/O problem. how do you read sensors and switch motors on and off from a standard PC?
i'm using this project to build USB I/O controllers: http://www.obdev.at/products/avrusb/index.html (http://www.obdev.at/products/avrusb/index.html) so i'll still need microcontrollers on the bot even with my more advanced processor.
using a serial port or i2c I/O conroller is also an option.
You can always check the Phidget devices (http://www.phidgets.com/). They have USB interface boards, motor/servo controllers, range finders, accelerometers, all sorts of things. Some of these things are on the expensive side, but it avoids the need for a microcontroller. Their devices are also linux compatible, which is a must for me.
i'm still undecided which processor i'm going to go with. (maybe i'll end up with 2 bots...)
while the PC motherboard is overkill, it lets you do lots of cool stuff with it's somewhat excessive processing power.
the linksys slug on the other hand is a nice compromise between power consumption, while still being able to use PC peripherals and operating system.
the advantage of using USB components and a standard operating system is i can develop the various pieces on my laptop and then plug them into the bot controller once they are working.
even the controller is changeable as they will both run the same linux operating system as my laptop.
I'm definitely going with a PC. My robot will be on the heavy side, but I want to have all the CPU power and all the RAM I can possibly get for visual processing, plus the high speed wireless connection.
-
So I'm ganna bring this one back to life... I think I want to add some sort of Pocket PC to my new robot- Walbot.What kind of output would a Pocket PC have to have in order to communicate with say my Arduino board which is based on the Atmega168? Can a Pocket PC act as a USB host or would I have to adapt something so it could talk with the TX and RX pins? I was thinking of like the Dell Axim series.