How much would you pay for a robot?

Well...there is ALOT of technology out there that is uber friggin fast and solid state. Problem is, you coudln't even imagine it for a sub $500k system. And that's jsut the storage.

I've had the opportunity to specify ruggedized storage for a customer once. Basically they had a choice of fiber interfaced static ram drives (about $10k per gig) which are fast enough to make your head spin, and completely bombproof (almost literally!), or a ruggedized SCSI, which falls into the category of about $4-$5 thousand per gig. The scsi is cheaper, but not as bomb proof. IT will take a licking though. It would actually survive my above mentioned sledgehammer test. IT's what was origionally used on surveillance jets with digital camreas in the late 80's early 90's, before the wide scale move to solid state.

You can get flash cards on the order of a few gigs now. And with an IDE interface (which there are 2 channels of two, so technically 4) you can get to about 8 gigs max. and it would be rugged. It's only writeable a finite number of times however, and again, is expensive. a 1000 dollar robot could ont be based off of something like this, let alone a 500 dollar one.

a promising new technology is comming from fujitsu called F-Ram. It's not an eeprom based technology, so it's not a finite write type technology, but it is static. It's also gads faster than any eeprom based tech like flash. At the moment, it is NOT cheap. 256 bits run about $6 US. but it's an emerging technology, and as with anyhitng, costs will drop. As far as I believe, this will be the future of solid state non optical storage.

There is also holographic laser-dye storage. That's actually NOT that expensive, but it's not that fast either. The beauty of it though is that it stores data in 3 dimensions throughout the medium it's being stored in. Think of a cd rom (which is really only a thousandth of an inch if not less thick) stacked one on top of another, and being able to access any layer at any time. Hyper dense storage...but..it's slow. Damn slow relative to other technologies. Being optically based and technically solid state, it is rugged though. For jsut plain reading, it would be an excellent way to go, especially for packing huge amounts of program into a very small space (like a robot!) but for a read write situation, it would end up being like the old tape drives for the commodore.

Reply to
Andy P
Loading thread data ...

Neat little machine Pete. I have book marked it for checking out later.

-John

Reply to
JGCASEY

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

Reply to
JGCASEY

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.

Reply to
mlw

For some reason that is unclear to me, Randy has been making arguments that PC main board is somehow exclusive of using a PIC or small embedded processor. While I no longer have any real desire to code for that sort of design, it doesn't mean I wouldn't use one for a very specific purpose.

IMHO small embedded system do not make for very flexable designs. They are difficult to write for, difficult to test, and difficult to load programs on (relative to a PC design, of course.) With a PC, you can Network boot or even use CDROM. A couple sticks of RAM and wireless ethernet can make for a very rugged and cheap device.

The embedded boards are a pain. Programming EEPROMS or EPROMS, reviving "bricks" that got programmed wrong. Mostly it is a lack of available code. I am totally spoiled with Linux. (You could use FreeBSD or NetBSD if you like), I can really focus on what the robot should do, not how to go about getting to the point where I can start focsing on what it should do.

A good OS infrastructure on a PC provides you will so many things that you would love to have but have neither time nor expertise or your embedded system lacks the capacity to do.

See, I would. The PC, using your analogy, should be the brain. Small specialized systems should perform functions ass nessisary.

Reply to
mlw

: IMHO small embedded system do not make for very flexable designs. They are : difficult to write for, difficult to test, and difficult to load programs : on (relative to a PC design, of course.) With a PC, you can Network boot or

Well, IMHO this is just completely wrong. However I can see why you might think so:

: The embedded boards are a pain. Programming EEPROMS or EPROMS, reviving

EEPROMS are so last-century :-) With Flash and in-system programming, testing new code on the micro is not significanly harder then testing PC code. On the AVR it's the same gcc toolchain.

Reply to
Christopher X. Candreva

Flash is a form of EEPROM, it just allows a broader/quicker eraser.

How's the support for a debugger? How's the memory protection? How's the process isolation?

How much does a full development system cost?

Reply to
mlw

No. Saying that isn't right, its grossly misleading.

Incorrect.

The IsoPod(TM) is $99. It comes with IsoMax(TM) installed.

Get the IsoPod(TM) V2, wall transformer, serial cable as Quick_Kit_V2 for $114. You're ready to go.

Power supply is not much of an issue. You can power it with 4AA's if you wish. Or a 6V lantern battery. It has its own regulators on board. Or a

7.2 rechargable pack and drive your motors too (as long as they don't spike the batteries down too low).

It is its own development system, less the human interface side, which amounts to a serial cable and the desktop or laptop you already have. Use it for an editor and terminal. (I noticed you didn't include the cost of a monitor screen or keyboard or wireless in your tally. It was assumed available) We provide the integrated edit/comm software without charge. The IsoPod(TM) is interactive and you send it source, and it compiles your program as you go. It has a multitasking capability, and you can actually run programs and do additional programming or do queries to the system at the same time.

I really don't think you have a concept of how powerful these boards are compared to the PIC's and Z80's, etc., you used 20 years ago.

What happened to "There is *nothing* else to buy"?

No you don't need to buy I/O peripheral cards for the IsoPod(TM) and that is largely my point. With IsoPod(TM) there really is *nothing* else to buy in the way of peripheral cards. You can buy other sensors, etc., but the IsoPod(TM) is sufficient in itself for everything up to the H-bridges.

The IsoPod(TM) is ready to read two channels quadrature encoders in internal hardware, generate PWM for H-bridges in internal hardware, has timers to read Sonars in internal hardware, or can directly drive upto

26 RC Servos with those PWM+TImer lines, has A/D's to read IR Rangersin internal hardware, 16+ GPIO to sense bump switches, networking via CANbus, serial ports to other devices like CMUcam's, or voice synthesizers, or GPS, and SPI for SD memory interfaces if desired.

But the important point here, I think, is the IsoPod(TM) has the real world motion control features built into its hardware, where a PC mobo doesn't have them, and those interfaces have to be kludged up.

Reply to
Randy M. Dumse

Let me make it clear:

We started with your robot. It as only a PC main board. That's the way you made it. That's not the way it might be, but that's the way it is. So that's why I've been making arguments about PC main boards exclusive of embedded processors.

Reply to
Randy M. Dumse

John, that's a pretty interesting suggestion. I've got several "write a book" entries on my big life todo list. I'll add your suggestion to that list. Thanks.

If you go to our Downloads page from the top buttons, and then to the 'Pod Downloads page, you'll find Appnotes -Example Programs with many robotics interfaces. Code for the Mark III which was several times champion MiniSumo at DPRG is there, code for Lynxmotion L5, L6 with inverse kinematics, hex walker H3 18 servo example code, and dual PID example code which was the origin of BeerBot's code.

Reply to
Randy M. Dumse

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?

formatting link
That is the kind of area that interests me.

Reply to
JGCASEY

Excellent. Use avarice + gdb + JTAG programmer/debugger. Set and take breakpoints, watchpoints, dump display, examine the stack, call functions, modify memory - all from the familiar gdb interface.

Not really relevant with a microcontroller.

MAVRIC-IIB is $99. ECROS Tech JTAG ICE-Cube is $40. GCC + avr-libc + avarice + avrdude = full development environment = $0.

formatting link
So ... about $140 If you pamper yourself and go for the screw terminals on the MAVRIC-IIB, then it's a little more.

Also, with the open source tool set, we support a multiplatform environment - Windows, Linux, FreeBSD, and MacOS X.

And yes, the MAVRIC-IIB does motor control, quadrature encoder inputs, analog to digital converter inputs, dual level shifted serial ports, RS485 network port, 6 R/C servo headers, 128K FLASH program space, 4K SRAM (expandable to 128K), I2C, SPI, all that - a real Cadillac. $99

Power consumption? 40 mA - run it for many hours (or days) on 4 AA's :-) It needs only 5.5V in but can handle up to 24V.

Cheers,

-Brian

Reply to
Brian Dean

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.