Best "Brain" module?

Hi Dudes

I was wondering, whats the best module to use as the brain for my robot, i have seen the OOPIC stuff, but looks like that has restricted memory for real big "brain" type programs

anyone care to offer their opinion on what unit is best and has most memory capability (preferably with a C like cross compiler) for the brain and io units for a robot, or is separation a good move (obviously with enough cash this would be good, multiple redundant io controllers, parrallel brain etc.) I am on a small budget and just want to build a little robot companion with high programable intelligence and all the gadgets (speech recog, sonar, passive ir, camera, gps capability etc.)

the stuff at totalrobots.com looks very good but I was wondering about any good/better alternatives...

regards Paul.

Reply to
Englander
Loading thread data ...

sure....

Ta for that, but.... what I wanted was something with a lot more than 8k memory (8mb perhaps) and a C compiler for development, preferably in a module with simple pins for hooking up I/O's . Something like the OOPIC-C but with boat loads of memory.

can anyone suggest any manufacturers modules? (I am an electronics novice)

Reply to
Englander

We get this question often here. And the responses usually make a listing of all the standard sorts of micros in use in robotics. Dennis likes OOPIC, Jay likes JavaStamp (or is it Jstamp?), Brian like AVR, Earl like IsoPod(TM), a host of guys like Basic Stamps or their follow on clones. Occasionally we hear from someone who likes BrainStems. And a few folks like the ITX Mini.

If you want a brain with a big memory, you probably want the ITX Mini. Lots of memory. Familiar PC features. C++ development. But it has no useful robotic interfaces to speak of. So while it is a big "brain" it is a poor controller. So while this is possibly the best answer to your particular phrasing of the question, its not necessarily the best choice for good robotics. Curious dilemma, isn't it?

Reply to
Randy M. Dumse

A number of microcontroller families fit the bill here. I personally like the Atmel AVR line, and there are lots of people who use the Microchip PICs.

Microcontrollers do not need 8 megabytes of memory. Most of the functions are processed in the background, or in response to simple keyboard or pushbutton response. They operate LCD displays, not large video monitors. The idea of a microcontroller is to compress CPU and memory and I/O into a single chip. If you need a system with this much memory a PC-104 card, some of which run Windows.

As a novice here, it's better to start small, with an inexpensive part that does not require an investment in software or support electronics. Get a DIP-package AVR or PIC, make your own programming cable, download a freebie or demo version of a compiler, and try it out.

-- Gordon

Reply to
Gordon McComb

Given that whatever you choose has sufficient memory and I/O functions, the 'intelligence' of any such device is quite purely a function of your programming skills.

If you have no prior programming skills, try one of the versions of Basic Stamp. Otherwise, I would use a PIC16F876: lots of I/O and 8k of program memory.

Reply to
Luhan Monat

This is pretty ambitious for a robotics project to start off with. I would suggest starting out small and work your way up. For example to do what you want, you need a Via MINI-ITX board running Linux or Windows, with the development system you prefer. Then you need a smart I/O controller (most any good MCU will do, but I tend to lean towards the ISOPOD(TM)s or AVR's myself. The I/O controller handles the low level stuff while the Mini-ITX board handles the high level stuff. The robot needs to be big enough to handle all of this, so the robot cost goes up. A robot about the size range of the

formatting link
robot or maybe the
formatting link
Garcia bot would work. Or maybe larger even. A number of people have used regular desktop PC boards in robots with various degrees of mixed success. Some people have used the ARM based processors to good effect too (but these are very expensive, especially the compilers).

I suggest you get your feet wet with a simpler smaller robot to get started. You can tie it into your desktop PC later as you become more proficient. Then when that's working well, you'll know what all you need and how big you need it to be as well.

formatting link
has some nice low cost robot chassis you can get.
formatting link
has some great ISOPODS(TM) to choose from. You wont outgrow the ISOPOD(TM) any time soon. If you want a all inclusive setup I can suggest the
formatting link
MarkIII Mini-sumo bot as a good choice for both price and functionality. It's got a lot of expandibility too. The most popular beginner setups are the BOE-Bot from
formatting link
of course. All of these can be tied into the serial port on a PC and then have the PC send high level commands to have the onboard MCU execute them. Then you'd move the PC to the robot and have the whole thing be mobile. I almost forgot that some guys used wireless link methods to control the robots from their PC's too.

Reply to
Earl Bollinger

thanks for that... yeah start small (K.I.S.S.) , looking around the net and I came to the conclusion mini-itx with serial link to dedicated controller/s is best for what I want to do, wonder what the nano-itx will be like when its out... sounds cool... can just use windoze or linux programs... ace....

i'll have a crack with a simple kit first...

Reply to
Englander

If you are familiar with DOS and programming in C, you might want to consider the SBC offered by JK Microsystems. For example, I will be using a

386ex SBC for the main brain in my robotic experiments. See

formatting link
for details. This company offers cheaper models as well.

Hope this helps,

// Jim

Reply to
Zagan

If you're thinking about going as heavyweight as Mini-ITX, you might want to think about PC-104+ instead. I've got a board from

formatting link
which looks like it'll work really well for me.

Reply to
Joe Pfeiffer

Reply to
Earl Bollinger

Yes, Thanks, cool, looks good, 512k + 512k Flash thats not bad.... and good old dos...

its always a trade off isnt it... this flashlight is good and small, but actually price wise I think mini-itx is cheaper and has all the usual PC ports, but.... need a bigger robot to fit the thing in.....

I like that it uses borland (except... could be that floating point optimisation could be better (maybe thats just windows BC)) I guess any dos compiler/assembler can be used which is very cool.....

Reply to
Englander

yes, thanks, another interesting option but couldnt get thru to embeddedx86.com, so checked for PC104, see its a major player, but may need a bit more electronics knowledge than I have. I'll check the site again later...

Reply to
Englander

yeah.... space the final frontier...

start at the beginning I guess, get some controller experience nano-itx might be out by the time I've done that....

Reply to
Englander

I like the Systronix JStamp and JStik.

formatting link
formatting link
The smaller one, the JStamp, has 1/2 Meg RAM and 1/2 Meg Flash.

The JStik has 8 Meg Flash, and 4 Meg RAM.

These run Java bytecodes natively.

-- D. Jay Newman

formatting link

Reply to
D. Jay Newman

Though the official release is a few months out, you may also be interested in my autonomous robot controller currently in development. Its got an AI program built in, and is ready for a plethora of sensor and driver attachments. Its not programmed in the conventional sense, its abilities and priorities are configured to make it want to do things.

A list of preliminary features will be available in about two weeks at my site.

--Ryan

formatting link

Reply to
Ryan Cole

I'll toss my MAVRIC / MAVRIC-II boards into the pot for consideration. Both use the Atmel ATmega128 microprocessor - Atmel's top of the line AVR. The GNU GCC C compiler works great with them and is freely available. Both boards have 128K of flash (program memory) on-board, MAVRIC has 128K of RAM (data memory) also and 128K of RAM is optional for the MAVRIC-II which include 4K RAM by default. Both have 2 level shifted UARTs, hardware I2C bus w/pull-ups, SPI interface, several timers and PWM channels, etc, etc. MAVRIC-II has RS-485. The boards are priced very competively.

For more information, see:

formatting link
If you have any questions about either, don't hesitate to ask me.

Cheers,

-Brian

-- Brian Dean, snipped-for-privacy@bdmicro.com BDMICRO - Maker of the MAVRIC ATmega128 Dev Board

formatting link

Reply to
Brian Dean

[Zagan] I've used the Borland "Floating Point Processor Emulator" in projects designed to run in DOS, and I never noticed a problem. But then speed was not an issue in those projects.

If you go with the 386ex from JK Micro, the version of DOS is not a complete implementation of MS-DOS. I seem to remember that they include the 4.2 version of Borland C since later versions will not work. My guess is that the BIOS is limited as well, and this might be the reason. You could, of course, write your own startup code in assembler that doesn't call any BIOS function that is not present.

// Jim

Reply to
Zagan

Thanks, they look cool, 8 ad's, 6 pwm and 50 i/o, for $150, cool, (can I have a discount...) how easy is getting AVR-GCC working, best to have a linux development box i guess?

can you ship to UK, (how much?)

I reckon though due to cost restrictions and my lack of electronics knowledge at the mo, think I'll start with an OOPIC but when I get serious, this looks like a/the top contender for a controller...

Reply to
Englander

Hello Englander. The oopic is an easy way to get into programming robots, but it does have a memory limitation. For really large amounts of RAM, you'll probably have to go to a PC equivalent board. For RAM in the 256-512Kbyte range, there is also the Rabbit controller, besides what others have mentioned.

If you wanted to start with the oopic, for easy introduction, and then move to a PIC with larger memory to do your own programming, you might look at boards in which you can interchange the chips - such as my OOBOT40 board. However, you will not get large RAM with these boards:

formatting link

- dan michaels ========================

Reply to
dan michaels

ahhh... at the risk of belaboring the point... I'm trying to point out your interest in a microcontroller with a large memory space is probably tantamount to picking a microcontroller which is inappropriate for robotics.

Just now in the progressively growing development of micros, we are finally getting some micros with really large memory spaces. For instance, the MMC2114 has 256K bytes of Flash and 32K bytes of static RAM with a 32 bit processor. We sell a board with this processor on it, but I don't promote it much for robotics:

formatting link
We plan shortly to have an ARM processor based board with 128KB Flash and 64KB RAM, as well.

However, when you ask about the best brain for robotics... memory size is almost certainly not the best criteria to use. Often the better measure by far is the peripheral features included.

Imagine a new human born baby with a 50 kilo brain. Same number of arms, same number of legs, all normal strength. Suitable for survival? or freak? Such a creature wouldn't be likely to survive. The size of its brain is not a measure of its suitability. It's brain is too big for its body to drag around. And what good will all that extra brain be, if there are no outlets for its application?

Most of our complex human brains are taken up with language, communications, visual processing and abstract thinking. The part that runs the underlying machine, the lymbic brain iirc, is rather small by comparison, but widely connected to the mechanical sub-systems.

There's a lesson to be learned here by comparison.

Reply to
Randy M. Dumse

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.