DANIELA
(Digital Analog Neuro-fuzzy Implementation of Enhanced Learning
Algorithms)
DANIELA is a Neuro-Fuzzy system for control
applications. The system is based on a custom neural device that can implement either
Multi-Layer Perceptrons, Radial Basis Functions or Fuzzy paradigms.
The system implements intelligent control algorithms mixing neuro-fuzzy
paradigms with finite state automatas and is used to control a walking hexapod.
DANIELA is the new version of the previous
CINTIA board.
AMINAH CHIP
This section describes the architecture of AMINAH, the
neuro-fuzzy processor used in DANIELA prototype board.
AMINAH can operate with three different types of the WRBF algorithm;
also it has an unlimited weight retention time (due to internal-refresh),
a lower power consumption, and a high clock frequency.

Microphotograph of the AMINAH chip
AMINAH chip has two cascaded layers called
hidden and output layer respectively.
The architecture of one layer of AMINAH,
is based on an NxM synaptic array and a vector of M neurons.
Each neuron j is connected to a row of N synapses
plus a threshold, while each
column is connected to the
same input Xi.
The hidden layer has N=7 and M=16 while the output layer has N=15 and M=8.
Output signals are coded using Coherent Pulse Widht Modulation (CPWM),
a particular Pulse Stream technique.
Inputs signal Xi can either be analog or CPWM; in the former case,
they are converted using internal Analog to CPWM converters.
The most important characteristics of AMINAH are:
- the chip is designed to accept any configuration of one- or two-layers
neural network. If a multi-layer neural network (with more than two
layers) is needed, a multi-chip structure can be used where every chip
has two neurons layers.
- it allows to work with {\tt MLP/(W)RBF} algorithms and can be programmed to
emulate fuzzy systems.
- it accepts two different external signals that are used to define up
to two different non-linear functions for neurons. Typically these signals
are sigmoidal and exponential functions. Each neuron can be programmed to
select either of these signals.
- it allows to change the output characteristic by using seven programmable
current mirrors, where any combination of one or more activated mirrors
is possible; each mirror has a defined ratio (2, 1, 0.5, etc...)
and can be turned on/off by programming the
neuron. This technique allows also to select the number of active synapses
connected to a single neuron and at the same time modify the steepness
of neuron output response.
PROTOTYPE BOARD
A prototype board of the DANIELA system is currently under manifacturing.
This board uses AMINAH as neuro-fuzzy processor and a commercial
68HC11 as general purpose processor. A 2Kbyte x 8 EEPROM is used as main memory
and contains two memory blocks; each block consists in 512 bytes
of synaptic weights (8 bit/weight) and other neural parameters (about 500 bytes),
resulting in 1Kbyte per weight matrix.

Schematic diagram of DANIELA
board
Most of the other logic circuits are implemented in an ALTERA EPM7128.
A DAC800 D/A converter is used to write weights from the EEPROM to
AMINAH. This prototype board includes also CPWM to Digital and Analog
to Digital converters and power switching amplifiers for motor driving.
The host programming interface is realized under MATLAB where several
custom C++ routines are used to download and receive data to/from DANIELA.
For more information look at
the article
presented at AT '96 - 1st International Symposium Workshop on
Neuro-Fuzzy Systems, held in Lausanne (Switzerland)
at the end of August 1996.
If you need a program able to handle GZIP files under Windows 95,
download
WINPACK32.
Marcello Chiaberge
<marcello@polimage.polito.it> |
Last Updated: 10/03/1997 |

Marcello Home Page |