Newbie question on microcontrollers and Fuzzy / Neural Net projects

I have been looking into what type of microcontroller to use for some robotic projects I am thinking about working on. I have searched this list and the web and haven't found any good recommendations so I am going to ask here. I am looking at the OOPic and the Brainstem at this point.

Ultimately I plan to work on complex behaviors using neural net/fuzzy logic for my bot and thus, based on my reading, would want a higher level 'brain' to crunch the data gathered from the sensors then direct the robot for various actions.

So my questions is religion aside which of the various microcontrollers out there offers the most robust and flexible option for control and interface via wireless to a host PC and which have the best memory/performance?

Ancillary to that, are there any good sources of information for the use of fuzzy logic/neural nets for hobbyist/grad student level people with a limited budget?

Thank you for your time.

Reply to
cbrucker
Loading thread data ...

I have some links to several microcontroller groups in my group. You also might ask the question in my group while you're there. In the meantime I'll see what I can find.

Boy, sorry, can't avoid that when discussing performance, etc. lol But I do have a comparison file that compares common functions like add, multiply, divide, etc. and compares controllers.

formatting link
I'll post back here as soon as I find anything for you.

Michael

Reply to
Michael Monteith

For the AVR/GCC vs AVR/IAR and the "16-bit add" and "16-bit mult" test, it looks like GNU GCC out-performs IAR on those test, but the summary seems to say that IAR comes out better. Is that a typo, or am I misinterpretting the results?

It's worth noting also, that all those tests are done at about half of what most AVRs are actually rated at for clock speed. Why use 8 MHz instead of the rated 16 MHz clock? Unless you are testing the low-power version, which would be a bit misleading for a performance benchmark.

Ah - I see now that these results did not originate with you, so you are probably the wrong guy to ask about those nits :-) Anyway, maybe you would be willing to point them out to your source and perhaps they can correct the original.

BTW, for your photos section, I have a new ATmega128 board that is recently available that you may want to include with the others, my MAVRIC-IIB. You can find photos here:

formatting link
Cheers,

-Brian

Reply to
Brian Dean

You might take a look at the book Applied Robotics I by Edwin Wise for information about using fuzzy logic with a small robot. Note - this is an entirely different book from Applied Robotics II by the same author, which has a lot of material about using neural nets with a small robot.

- dan michaels

formatting link
===========================

Reply to
dan michaels

Brian, Yeah. I need to go back and read the context of the test. Sometimes they give a hint at why they use certain clock speeds, etc. That does change the outcome so people need to know that. I'd be curious as to what they say too.

I did add that board. Thanks for keeping me on my toes. It's easy to miss stuff looking at all those pages, boards, details, etc on every site. I appreciate vendor feedback.

If you need faster response or if I don't respond it meant I missed the message in here somehow. I check email every day but these groups is pretty much as I think about it.

Reply to
Michael Monteith

Brian, Here is a response I got back from them:

Hi Michael,

I don't think an absolute and undisputable measure of a microcontrollers performance is practical when writing programs in C. What the results show is a 'comparison' of several 'systems' being used in a 'normal' manner.

'Comparison' because I don't attempt to give an absolute measure - only provide results so different systems can be compared to each other.

'System' in that both the compiler and hardware are included.

'Normal' in that no attempt is made to optimise to the particular hardware. Only C code is used. If for example the hardware included a hardware multiplier then the test does not specifically write assembler code to ensure the multiplication is done in the fastest possible way.

The FreeRTOS.org WEB site does describe what the test are and are not good for.

I have made some comments below:

What summary is this referring to? I don't think I have made any statements along these lines on the WEB site. Can you provide a link?

As the results page points out - the chip used for the tests has a maximum speed on 8MHz - which is half the max performance of many AVR devices. This was the hardware used for the test and the FreeRTOS port.

I would be grateful if you could give me a link to the news group from which these comments originated, and let me know what capacity you are asking the question in. Do you have a professional interest or are you just curious? The Yahoo email address does not give much away.

Best regards, Richard Barry.

formatting link

***************************

Michael

Reply to
Michael Monteith

I've followed up with Richard of the FreeRTOS project where the results were originally generated. The chip used on the AVR test was apparently an 8 MHz part and was the only chip he had available. Even so, it still performs respectably, outperforming a 20 MHz PIC in all the tests, and runs nearly twice as fast in most of the tests. He does note on the web page where his results are published that most AVR parts run at twice that speed, which is even more impressive. But the spreadsheet summary, apparently compiled by a third party, does not clarify that.

Also, I do believe that the spreadsheet summary, which was not compiled by Richard, is in error when it states that the commercial IAR compiler performs better than GCC in several of the tests. The data clearly favors the GCC compiler in the 16 bit multiply and 16 bit add tests, but that attribution goes to IAR instead. And in the tests where IAR beats GCC it is only by a small margin, while GCC wins by a much more decisive amount in the tests where it comes out on top, especially in the "conditional branch" test where IAR is 70% slower than GCC.

-Brian

Reply to
Brian Dean

Brian,

I put that spreasheet together because I wanted to see it all side by side instead of whirling around from page to page looking at numbers. I did update it to clarify that. Maybe they will put together a summary.

The spreadsheet doesn't make that statement. I looked through their web site and didn't see it either.

Michael

Reply to
Michael Monteith

I see you've corrected the spreadsheet - thanks.

This was just an observation on my part. From the test column labeled "Cond. Branch", the time for AVR/GCC is 143.6 uS, while for AVR/IAR it is 245.6 uS. Comparing the two indicates that IAR is 71.03% slower than GCC in this particular test - rather significant. The other tests are much closer, some GCC wins, others IAR wins, but they are very close.

-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.