How much would you pay for a robot?

mlw wrote:


I agree with you that some popular acronyms seem to evolve over time but I have been working with COTS issues for the military since this term came into being and I have never heard it called anything other than commercial off-the-shelf. Here is a page from the "COTS Journal" that has a definition:
http://www.cotsjournalonline.com/home/publication.php
Jerry ------------------------------------------------------------------------ -- NOTE: please perform appendectomy on email address before replying ------------------------------------------------------------------------
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Jerry Petrey wrote:

If the is the prefered meaning of the 'C" is commercial, thaks for the update. I did see "consumer off the shelf" in a few places on google, but you are right, the common usage seems to be "commercial."
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I bet I could code in assembly a z80 program that would fit your "real" robot requirement (above), and fit into about 20kilobytes.
:-)
R.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@gmail.com wrote:

Perhaps you could.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

None included, and the cost of one of thos cheap components could get you a better processor with all those features built in.
How much is a module that does Quadrature and PWM? are these PCI? How many such peripherals can you put on your VIA motherboard?

No, I'm not kidding.
Saying you can get the peripherals cheap is not like saying you have the interfaces you need. ;) Might as well buy a bare Hemi engine, which is plenty powerful, because you've heard you can get a trailer hitch and you can hook anything you need to pull up to that.
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Randy M. Dumse wrote:

Really? A better processor? How do you define "better?"

You can do it cheaply if you are inventive. I'm actually working on something really effective and cheap (<$10)

The point I've been trying to make is that mere control of devices is not "robotics." It may be "automation," but "robots" has a strong AI component. The "better" computers you talk about are not better "computers." They may be more suited to device control, but probably less suited to computing in general.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Well, better in the sense it fits the job needing to be done.
Let's take the Christophers statement and your agreement with it as a starting point:

and let's talk about that little micro in the PC's keyboard (used to be an 8041 or such, but I have no idea what it is today). Would you say the best way to do that keyboard is with a VIA motherboard? I'm betting not. There are a number of reasons a choice of a different processor inside the keyboard makes sense.
For one, the micro in the keyboard has enough I/O pins to scan the whole keyboard and talk to the PC, where another VIA motherboard wouldn't.
For another thing, the micro in the keyboard is small enough to fit in the keyboard, and the VIA motherboard isn't.
For another thing, the micro doesn't require anywhere near as much power as the VIA motherboard.
For another thing, the micro doesn't generate as much heat as the VIA motherboard.
For another thing, there's no BIOS cost associated with the micro (which is part and parcel with programming of the micro).
For another thing, there's no OS cost associated with the micro (which is part and parcel with programming of the micro).
For another thing, there's no hard disk necessary for the micro.
Now I could go on ad nosium, however, the point should be obvious, and the idea of using another PC motherboard to read the keyboard, rather than a micro more appropriate to the task isn't overkill, it's bad design.
In the same light, I am not saying, don't put a PC motherboard in your robot, there's no use for it. No. Not my point at all.
I am saying there are better micros equipped to run the wheels of your robot and its basic mobility.
So when I see you putting multiple PC motherboard in the robot _instead of_ even a single micro with hardware designed for the task, I have the same negative reaction.
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Randy M. Dumse wrote:

First of all, mere control is not robotics. A keyboard requires merely simple control.

This is not actually true as the standard PC has a prallel port which can be be used to scan a keyboard easily.

Some of the nano-ITX board may.

That is true.

Also true.

What does it matter? A small micro-ATX or ITX board is about $100 and can booth of an ethernet connection. Much cheaper than all the tools and accessories required to bring up an embedded system.

No OS cost with PC's either. Linux, FreeBSD, freeDOS, NetBSD, etc are all free.

Linux, FreeBSD, NetBSD, etc can boot of network and ROM as well as HD.

Perhaps you think so, but I disagree. The Linksys wireless router boots embedded Linux, and you can download a custom version of it.

If all you are interested is the mere control of electronic devices, use a Z80 or PIC. If you want robotics, I think that is different.

Yes, if that is their only task. A robot is more than mere motor control.

And I think you are focusing on the simplicity of electronic control of devices and issing the idea of robotics.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

And without motor control (or motion control in general) it isn't a robot. A glorified desktop with wheels with the intense realtime task of properly managing the wheels would make it a bad desktop too.
Tell you what. Why don't you go ahead and get your single-PC-mobo robot running? Have it do the same basic things I've got running on a couple of the robots you've heard about here (BeerBot and Dr. Huff's mobile platforms, for instance). Get just the fundamental robot "drive around" stuff working: reading Quadrature and making dual PID PWM, driving H-brdiges, Odometry, Navigation, Steering, Drive-to-a-point. Then tell me how much time and processing power you have left over, and if any of this motion stuff stops working when you start doing your higher level robotics stuff like stereo vision and what not.
I have my own opinion, based on real experience. Bill James' BeerBot is an interesting example. He was mentioned by Earl Bolinger in the "The best Hobbiest robot, What is it?" thread. Beerbot spent the first several years of his life as a neat looking robot, that never did much, with a 486 motherboard in his head. Bill added an IsoPod(TM) a year or two back. BeerBot became quite a success. A few months later, the motherboard came out, because it was becoming obvious, it wasn't needed.
A couple weeks ago, Bill came over, and we added line followng and speech, took out his IR rangers, which were unreliable in sunlight, and added multiple Sonar rangers. He's still just running on one $99 IsoPod(TM). (Bill is thinking about adding a TiniPod(TM) if he puts the arm and gripper in BeerBot, but as of yet, he hasn't run out of processing power or hardware interfaces with the one 'Pod.)
BeerBot is actually a money-making robot, driving around in fleamarket crowds and drawing customers into the shop he's working for, carrying a large ad on his head, and telling the people "Follow me, I'm on my way to...". It also senses people in its way, and stops and suggests they move iin a series of escalating requests, which is most comical.
Now, if Bill wants to do serious vision, I might suggest he get a PC and make it a peripheral to his 'Pod, or not.
So clearly, you and I have entirely different design philosophies on the correct approach. But the main difference is, not trying to be snide here, just factual... I've got something running. When you get to a comparable point, we might talk again.
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Randy M. Dumse wrote:

Obviously motor control is vital, it is one of those things that must work correctly. No one ever said differently. I said it wasn't enough, not that it wasn't important.

In the process.

Do you differentiate between PC104 and nano-ITX? I see them as basically the same type of devices.

I have actually done this before, in 1984. Using a Z80. My goal is to create a 21st century version.

If I need to add more computing power, the architecture provides for that. Not an issue.

As do I, and we disagree.

I am not privvy to his thought process so I can't say for sure what this means.

No one has said that you "can't" do something with this or that system, I've done some great stuff with Z80, 8080, 6502, and 1802 in the past, having done that, it is a pain. Using a real OS with real infrastructure is *much* easier and maybe even cheaper.
You use the example of an IsoPod. You do know it is more expensive to use an IsoPod than a micro-ITX board, right?
A micro ITX board with 12V ATX power supply is about $140, add $30 for memory and it costs $170. There is *nothing* else to buy. You can net boot it into Linux, FreeBSD, or NetBSD. Linux has assemblers, C/C++ compilers, and everything else.
Your IsoPod costs about $100, you have to pay a license fee for IsoMax $20. You have to buy a power supply. You need to buy a development system.
At the end, you still have to buy I/O peripheral cards. I bought a I/O card for my mini-ATX board.
The advantages I have are: Build in sound, free speech synthesizer software. Built in IDE interface should I want it. USB, PS/2 mouse and keyboard, parallel port, RS-232 serial port, ethernet, TV output, VGA output.
I have a HUGE amount of software available for free, speech recognition, motor control, prallel processing code, and on and on. Networked graphical API (X Window System).
What does the isopod have? How much would you have to pay?

At this moment, my robot is at the point where it boots and moves. I can control the motors via desktop system. My target is sub-$500, so I am trying to design the system cheaply and that takes more time.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
MLW wrote:

recognition,
graphical
Please provide URLs for free speech recognition software (source code?) and motor control (PID source code?)
Thanks!
Rich
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@gmail.com wrote:

Here's a good place to start for motor stuff: http://oap.sourceforge.net /
And there are some university project on voice recognition, but I don't have any URLs at the moment.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
mlw wrote:

Look for Sphinx at CMU, ISIP at Mississippi State. Easiest to look up the voice recognition HOWTO at TLDP.ORG. It has a list of all the best software that is free for the download.
www.orocos.org is an awesome starting place for finding information on building pc based robots. Check out their links especially.
Eljin
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
mlw wrote:

[...]
What have you got running? I visited your site. What would be neat would be a download book called "How to build your own working Robot using an isoPod". The only complete book I have is based on the 8085 using 8155s for i/o and memory and it was printed in 1979!

Are you going to share the technical details and its progress on a website?
At the moment I have a clunky laptop sitting on top of my robot base. The parallel port is all I have for i/o to control the motors and read the bumber switches and two usb web cams for visual input.
John Casey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

If you're interested, I've built a working TankBot using the MiniPod...
http://home.comcast.net/~pete.gray /
...which included the ultrasonic sensor turret.
The details were published in Doctor Dobb's Journal (Embedded Systems section), October 2004.
-Pete.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Pete Gray wrote:

Neat little machine Pete. I have book marked it for checking out later.
-John
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
JGCASEY wrote:

Yup.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
mlw wrote:

JGCASEY wrote:

A man of few words :)
Another question is, will the explanation and software environment be friendly to anyone who is not a professional or advanced programmer when it comes to knowing the ins and outs of a complex OS?
For example the visual processing routines that I wrote using the DJGPP compiler are generic in the sense they are not OS dependent. However when I wanted to use them with the latest web cam I had to use a VC++ shell written by someone else in which I could insert my C code.
A book on windows game programming and directX used a similar setup. It showed how to write a c++ shell program to deal with the Windows needs and then all the programmer needed to know was how to write C++ programs, no window stuff required.
To what extent would others be able to tailor the robot to their own needs and try out their own ideas without being a Linux/Windoze OS guru?
John Casey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
JGCASEY wrote:

That is always an issue, but that is hardly something that you can really design against.
Sure, one could do this:
class VisionProcessor { ... ProcessImage(RawGrayBits *bitmap); };
And while it is theoretically platform independent, the infrastructure is absolutely not. How does one read a bitmap from a video sensor?
When I write code, I keep OS related stuff encapsulated from the rest of the processing, so that should not be an issue. However, while I need to write windopes code for work, there is no way I'd do it for a hobby.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
mlw wrote:

No idea. I don't use bitmaps. An image starts as an array of pixels values. Or three arrays in the case of color.
A point I would make is that a robot has to be programmable at some level by the user even if it is in English with a simple request to "Fetch me some more beer". That is how we program each other.
Otherwise it would be limited, like the carpet sweeper Roomba, to a fixed job requiring an expert to modify its behaviour in any way.
"Sorry sir, Robby the robot hasn't been programmed to clean toilets yet."
So what I am suggesting it that a simple user friendly *programmable* interface might be nice for lesser mortals to adapt the machine to their own requirements. At least until a robot can translate English commands into a set of actions.
Have you seen the site by Bob Rottman and his robot Rodney?
http://www.fuzzgun.btinternet.co.uk/rodney/rodney.htm
That is the kind of area that interests me.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.