neural network of AFSM's (Subsumption architecture)

Status
Not open for further replies.

ombrastein

New Member
Hi

Just wondering if anyone has ever tried to build a robot inteligence based on neural networks? Im pretty sure some of you have tried the "bottom-up" aproch to robot intelignce as described by Rodney Brooks, in one way or another. Ive seen several atempts to do this, but i have not been able to find any amateur projects that realy utilize the full power of deisigning a subsumption architecture behavior level based robot AI based on a neural network.

Im currently trying this aproch myself, implementing a neural network in software in a PIC18F452. The way ive decided to implement the neurons is as a combination of data structs and a state machine function (one for each neuron). The structs hold the input and output data to each AFSM(augmented finite state machine). The function the handles all the states and conditions of state chaning in order to operate on the data of the neuron. The functions then has to be run in paralel, starting at level 0 and going upwards. The inhibit effect is done thru letting the higher level neurons overwrite the lower levels (similar to what Devantech does in their example robot "Chucky").

So far this aproch seems to work very well. With adding alitle convention to the way variables are named its quite easy to keep track of what data is inputs, what is outputs (what variables should be read and what should be written, its important to keep those apart).


If anyone have ever done anything along this path, it would be intresting to hear your thouights on the thing.

Im basing my design on Brooks own design ideas behind his hexapod "Ghenigs" , as discribed in an article i found in his book "Cambrain Intelignce"(highly recomend this book to anyone who is serius about robot AI).
 
Not alot of opinions on this subject ... Does that mean noone have tried anything like this?


Im pretty sure that somone will have done a behavior level based control algorithm in here ... Sharing that would be a start. Im intrested in hearing what solutioins other people chose when implementing behavior levels.
 
the only AI i've done was on matlab, using ANN.

once i began thinking about tranfereing the work to a microcontroller on a robot.. i gave up! sorry.
 
I'm working on a project that uses FPGAs to process neural networks, for a machine-vision application. It's made up of many small "neuron processors" that can crunch one weight per clock cycle, and be paralleled or pipelined in various ways.

The way I normally attack a design like this, for low-level implementations, is to lay out the dataflow so I know what has to happen in what order, and what order the weights / inputs / etc are needed in. These things are a lot more efficient when you create a simple algorithm that shoots through memory sequentially and always performs the same operations.

Doing it on a PIC is definitely possible, if the speed / RAM is enough for your application. There are some relatively new neural networks that use less floating-point math, and some that require fewer training runs (try googling "P-delta learning rule" and "pseudoinverse neural network).

I do hope you come back and post your results at some point, as it's always interesting to see what an adaptive control system will make a robot do...
 
Last edited:
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…