Sunteți pe pagina 1din 16

ABSTRACT

In this paper we described DANIELA (Digital Analog Neuro-fuzzy Interface for


Enhanced Learning Applications), a real time neuro-fuzzy controller that
implements intelligent control algorithms mixing neuro-fuzzy paradigms with Finite
State Automata (FSA). The FSA tracks the state of the plant and selects the
parameter (e.g. weights) of the controller accordingly. This mixing allows the
system to change the control strategy according to the actual state of the plant which
leads to the use of a number of very simple controllers, instead of a more complex
single one which covers all possible plant conditions. For instance, our system
applied to a six legged walking robot uses specialized controllers for every different
plant state (for instance, forward and backward steps, curves,etc.).Adaptive learning
through neral networks have been highly enhanced. The tight link with a DSP
allows he NN hardware to be very simple since several operations related with the
NNs (learning, weights ,refresh etc..,) can be performed by the DSP .Moreover the
system can implement intelligent control paradigms mixing Neuro Fuzzy algorithms
with finite static automata and/or digital control algorithms.
INTRODUCTION
Real-time control of non-linear plants is often a hard and computationally
intensive task. Neural networks and neuro-fuzzy systems are raising more and more
interest in the field of real-time control. Advantages of neuro-fuzzy techniques are
their non-linear characteristics, the capability of learning from examples, the human
friendly description language, the adaptation capability, etc. Furthermore the
availability of dedicated neuro-fuzzy processors permits a very fast implementation
of neuro-fuzzy algorithms, and therefore it allows to use these methods in real-time
applications, where a quite high sampling rate (namely, >1kHz) is required.

The main reasons for the use of those methods instead of more traditional
controllers are four-folds:
i) we wanted to test the validity of neuro-fuzzy control techniques;
ii) we had a lot of \human knowledge" on theproblem and fuzzy logic seemed
to be the most straightforward way to include it into the design of the
controller;
iii) we used this application as a testbed for the tight integrationof neuro-fuzzy
controllers with finite state automata; iii) we had available a neuro-fuzzy
computing engine (DANIELA) with good real time performance which was
more suited to implement neuro-fuzzy than other algorithms.

EXAPODE WALKING MACHINE


Aim of this paper is to design, built and test a small hexapode walking
machine controlled by purposely developed neural chips, which can be used as a
remotely controlled observation device and can evolve as a true mobile Robert. The
machine can also be used as experimental test bed for different control strategies to
investigate the possibility of small walking vehicles on different types of terrain.
The main characteristic of the machine are simple and light weight
mechanical architecture to contain overall cost, modularity to use the machine as a
research tool; flexibility leading to the possibility of adapting the gain to a variety of
terrains, possibility of working as an autonomous system without the need of an
umbilical cord for either energy supply or control.
For the reasons, we chose to use low cost permanent magnets electric
motors in connection with rechargeable batteries and to adopt a gait in which the
vehicle is always in conditions of static equilibrium. A reptilian stance is adopted as
its energetic disadvantages are of small importance. The design chosen allows to
assume an insect stance even to switch to quadruped ‘mammalian’ configuration.
The mass of the mechanical components including the electric motors is 21.3 kg .
The machine is already assembled and the first test are going on.
Each leg is made of a shinbone and a thighbone both 50cm long it has three
degree of freedom and is equipped with three current controlled motors. To obtain
high efficiency, switching amplifiers are employed which are perfectly matched
with the CPWM encoding used in the Neuro-Fuzzy core. All the actuators are
directly controlled by power drivers. One of the actuator must carry a significant
fraction of the hexapode weight(depending on the number of legs that support the
body) and so its driver has maximum output current of 20A (namely 480MW),
while for the other two drivers the output current is only 3A(namely 72W).
Since the control task is complex, the idea is to build a hierarchy of Neuro-
Fuzzy controllers have been chosen because of their good behavior in the presence
of nonlinear systems and for their intrinsic generalization capability.

PROTOTYPE BOARD
A general purpose system based on a TMS320CXX. These DSP is available.
The systems can support upto 256 channels for A/D and D/A conversion. Neuro-
Fuzzy core units, PWM encoders, digital I/O, memory expansions an so on.
The core of the system is a custom TMS320C31 board with up to 8Mbyte of
RAM and 128Kbyte of Non Volatile RAM.This board is interfaced to the additional
modules of the system by using a proprietary I/O bus. In this way each module is
mapped into the DSP memory space. Special module provides a communication
with a host computer (eg a PC via a parallel port ) these modules connect a PC serial
or parallel port with the DSP board via the I/O bus.
This system is suitable both for industrial high performance control
applications and educational tools depending on the amount and kind of modules
plugged into it. Each module can be added with an extremely easy procedure and
can be controlled by the software environment.
So far, we have manufactured several module ; the main DSP board ,a
reconfigurable Neuro-Fuzzy computing core, the last host computer interface
modules an 8 channel 12 bit A/D and D/A converters, bus the complete system can
accept many others as special purpose processors, drivers and actuator interfaces,
special sensors modules and others.
The Neuro-Fuzzy module is described in section 2, while converters module are
classical Analog to Digital and Digital to Analog converters and also special
converter module that convert analog and digital signals into Pulse Width
Modulation signals and vice versa, the modules can be configured by the DSP by
setting some parameter as bits numbers for digital converters and full scale ranges
for the analog ones.

NEURO-FUZZY COMPUTING CORE


The proposed Neuro-Fuzzy core implements on hardware several Neuro-Fuzzy
paradigms, its operation can be viewed either s a slave operation of the DSP or as an
independent one. For its operatin Neuro-Fuzzy core takes as inputs either external
signals(through dedicate A/D converters) or signals from the DSP subsystem via the
field bus and also Neuro-Fuzzy core outputs can be sent either to external outputs or
to the DSP.
The Neuro-Fuzzy computing core presented in this section is based on a custom
Neuro-Fuzzy processor called AMINAH and implements different paradigms as
Multilayer Preceptron(MLP), Linear Networks(LN),Radial Basis Function (RBF)
and also Weighted Radial Basic Function(WBRF) that are used to implement Fuzzy
inference systems. As shown in fig Neuro-Fuzzy processor core has also a local non
volatile memory used to stores several banks of synaptic weights and some logic
interface to connect AMINAH and the non volatile memory to the main system bus,
it also has special analog circuits that provide timing, biases and reference signals.

Every synaptic weights bank define a particular Neuro-Fuzzy system that


includes synaptic weights and configuration information; only one of this bank is
stored into the internal volatile AMINAH memory and every time that the active
bank is changed the new weight and configuration information is automatically
loaded into it.
Neuro-Fuzzy core is considered as a slave device the DSP can perform several tasks
on it such as:
- DSP can write/read a bank of synaptic weights into/from the Neuro-Fuzzy
core non volatile memory.
- DSP can select a single bank to be the active one. The Neuro-Fuzzy
subsystem will then automatically write active bank content into AMINAH
- DSP can read inputs and outputs of Neuro-Fuzzy subsystem to execute
learning algorithms or other supervision tasks.

Architecture of AMINAH
The AMNAH chip has two cascaded neural network layers called hidden and
output layer called hidden and output layer respectively. Architecture of one layer of
AMINAH shown in figure is based on N x M synaptic array and a vector of M
neurons. Each neuron j is connected to a row of N synapse plus a threshold (Sj,1 …
Sj,y , Sj,o) while each column (S1,I ….Sy,I , So,I ) is connected to the same input X,
The hidden layer has N-7 inputs and M-16 outputs while the output layer has N-15
inputs and M-8 outputs.
AMINAH output signal are coded using Coherent Pulse Width Modulation
(CPWM), a particular Pulse Stream technique AMINAH input signal (Xj) can either
be analog or CPWM in the former case, they are converted using on chip analog to
CPWM converters.
Each AMINAH synapse uses two synapse weights (called respectively
excitatory and inhibitory weights) to compute the synaptic contribution. A copy of
active weights is stored internally into AMINAH using two capacitive memories per
synapse. The synapse contribution depends also on the chosen neural paradigm this
can be either Multi Layer Perception (MLP),Radial Basis Function(RBF), or
Weighted Radial Basis Function (WBRF) of order 1, and therefore the system can
also implement Fuzzy System.
Synaptic contributions are charge quantities. For MLP operation each synapse
generate charge quantities proportional to the product of the stored weight and width
of the input CPWM signal; this product is quit linear and allow a small power
dissipation while for RBF/WRBF operation each synapse generate charge quantities
proportional to the distance between stored weight and width of the input CPWM
signal.
For the MLP paradigm, the synaptic contributions are presented as a
differential current (I+MLP, I-MLP), while for the RBF/WRBF paradigms, they are
presented as a single ended current (I+MLP) while I-MLP is not used. Each row j of
synapse sums up all the currents on the two common summation lines I+MLP and I-MLP
(excitatory and inhibitory respectively).
The neuron (one for each row ) generate a current that is the algebraic sum of
them using programmable gain current mirrors multiplying it by a chosen factor
R1<I the neuron integrates the resultant current on capacitor CR1 to obtain a voltage
proportional to the neuron activity. This voltage is then converted to a CPWM
output signal using a non-linear conversion by using a non linear converter.
Science AMINAH internal weights are stored in analog form, each column I of
synapse is connected to a Common Reference System(CRS) used for the synaptic
weights long term storage to compensate leakage currents and therefore weights
decay.

The most important characteristics of AMINAH are :


- The chip is designed to accept any configuration of one or two layer
Neural Network If multilayer Neural Network (with more than two layers)
is needed , a multichip structure can be used (ever chip implements two
layers) or one chip multiplexing in time different weights matrices to
implement more than two layers ( slow operation ).
- Implements neural network with at most 7 inputs, 15 hidden neurons and 8
output neurons.
- Allows to work with MLP /(W)RBF algorithms and can be programmed to
emulate Fuzzy systems.
- Accepts two different external signals that are used to define non linear
functions for neuron computations. Typically these signals are sigmoids
and exponential functions. Each neuron can be programmed to select one
of these signals.
- Allows to change the number of active synapse connected to a neuron by
selecting one of seven current mirrors each mirrors has a fixed gain
(2,1,1/2,…,1/32) and can be turned on/off writing a configuration register
in each neuron.

NEURO-FUZZY CONTROLLER
DANIELA has also special Power Drivers used to drive the actuators in the
plant. Plant control is realized with a neuro-fuzzy algorithm computed by the neuro-
fuzzy processor. Algorithm characteristics both for neural and fuzzy are defined by
a matrix of synaptic weights and other neural parameters that are stored into the
neuro-fuzzy processor. In order to define different control strategies optionally, one
per each state of the FSA) there are different matrices of synaptic weights and neural
parameters stored in the weight memory, where every matrix is stored in a
differentmemory bank.Only one bank can be active per time and its data are
transferred to the neuro-fuzzy processor internal memory by the Configuration and
Refresh Block every time the FSA changes states.
This memory organization allows to obtain different neural controllers by
changing the active memory bank. Weight memory is also used to store tables of
FSA states and outputs; these parameters are used by the microcontroller to
implement the FSA controller.

The microcontroller performs the following tasks:


1. on-line training: by sampling neuro-fuzzy inputs and outputs (also hidden) and
modifying matrices of synaptic weights stored into weight memory. As the
microcontroller is less powerful than the neural chip, learning is a relatively slow
process, but this is not a problem in most learning controllers.
2. FSA controller: by tracking the discrete states of the plant and selecting a suitable
memory bank in order to change the control strategy. The computational
requirements to compute the FSA are less stringent, as in most plants state
transitions are much less frequent than neural computation.
3. board self test: performing tests and diagnostic at power up.
4. interface with a host computer; which can either write data into the memory or
read several debugging information from the microcontrollers (such as neural
states,learning performance, actual FSM state,etc.).
The purpose of the Conguration and Refresh Block is to transfer a matrix of
synaptic weights and the other neural parameters from the active memory bank to
the neural processor every time the FSA changes state.

Required Hexapod Phases


1. Modeling individual legs and the composite hexapod system.
2. Identification of kinematics and the dynamics of the Robert(individual legs
and complete Robert ).
3. Design and implementation of a neuro-fuzzy controller for individual legs.
4. Design of the motion co-ordination system(gait control and obstacles
avoidance).
5. Investigating the ability of the neural controller to autonomously learn to
move on uneven grounds and to deal with obstacles .

Control Hierarchy
Motion coordination control. Its acts like a central which gives the legs the
right “high level” control signals (such as Robert speed, Robert height from
ground ,radians of trajectory ) to let the hexapode execute properly gait. Obstacle
avoidance is achieved by giving proper trajectory information to each leg control.
Only large obstacles are avoided, as small ones ( namely roughness of the ground,
small stones, holes etc ) are handled by each leg control.

Leg controls. They are like “local” controls that defines the trajectory and the
sequence of movements of each leg. They also recover and modify leg trajectories
when small local obstacles are encountered.Joint position controls, They receive the
angular positions and translate them into control signals for positioning motors.

Leg Control
Locomotion control is distributed evenly among the six legs. Independently from the
different gait, each leg cycles over six main different states.
Power phase: the leg on the ground where it supports and propels the body, moving
backward to the posterior extreme positions.
Lift phase: the leg rises from the posterior and loses its support function. Life phase
ends when the leg is high enough to swing forward.
Return phase: leg swings forward to the anterior extreme position. As soon as it
reaches this point it is ready for next phase.
Contact phase: leg lowers down to the ground. During this phase it start again to
support the body weight.
Upstep phase: the leg rises when it hits an obstacle (obstacle avoidance). When the
height is enough,the leg returns in the “Return” state.

Backstep phase: the leg recover the right position after an obstacle avoidance or if
it is in time out.
The use of Neuro-Fuzzy approach (Fuzzy-State Automata) allows to “smooth” the
leg movements during walking (changes of speed and of directions without slipping
of the feet in ground).

Motion Coordination Control


The local leg controllers run simultaneously; however they are not
independent of one other. To let the robot move and deal with obstacles, an inter-leg
coordination is needed. For instance, when a leg is trying to step over an obstacle, it
can ask the supporting legs to momentarily stop, to raise the body, or to move the
robot backwards, when the obstacle it too large to step over. To achieve this inter-
leg coordination, each Leg Control communicates with the Motion Coordination
Control.

Fuzzy State Automata


The Motion Coordination and the Leg Controls have been developed using a
number of custom Fuzzy State Automatas (FFSA), and in particular one for each leg
plus one for the Motion Coordination Control.
An FFSA looks like a finite state automaton which tracks the discrete states of
the system (for instance, power, lift, return, and contact phases). Each state is
associate with one of a set of different controllers(Cj), each one tailored to the
specific system state.
The main difference of an FFSA with respect to the above described method is
that transitions are not triggered by crisp events, but by fuzzy variables (all labels on
state transitions in figure are fuzzy events), and state transitions are fuzzy as well. It
immediately results that, at any time, the whole system is not necessarily in one
well-defined state, but it may well be in more states, each one with its own state
membership value.
State transitions are therefore smoother and slower, even if the controllers
described in each state are not designed to smooth them. As a consequence, all the
individual controllers may become as simple as a traditional PID, each one with a
different target for instance, when the leg is carrying the body weight, the PID
should keep body height and speed constant, while in the backward step it should
move as quick as possible towards a target point). Smoothing of transitions between
partial local trajectories is then taken care by the FFSA, which is much simpler to
design and tune than a controller with trajectory smoothing, as smoothing is intrinsic
in the FFSA working principles.Unfortunately FFSA have a drawback, that is, as the
system is often in more than one state,it has to process more than one controller at
any time. This increase of computing time often counterbalances the higher speed
that can be achieved through the use of simpler controllers. Globally, an FFSA has
approximately the same computing complexity of an FSA controlling Neuro-fuzzy
controllers, but it is easier to design (especially for complex systems) and produces
smoother trajectories.

The actual FFSA is more complex, as it includes provisions for:


i) modication of hexapod attitude in presence of complex obstacles (e.g. to
walk inside low tunnels),
ii) modication of leg trajectory when walking sideways,
iii) control of alterna-tive paces for dynamic gaits (e.g. gallopping,or
climbing staircases);
iv) other special cases a leg might have to face .

Leg Identication and Neuro-Fuzzy Controller


Kinematic and dynamic identication of the leg model has been performed
with dierent neural paradigms such as MLP, FUZZY, RBF. Each leg motor was
driven by an independent net. Training has been done with several linear trajectories
(60 cm movement amplitude) at different heights (10, 20 and 30 cm) of the robot
body from the ground. The test has been performed on a completely different
parabolic trajectory with a slightly wider range to test the generalization ability of
the net. So far only simulations have been done, as the real hexapod is available
only since few days. Results for all the different paradigms are comparable,as shown
in table . As can be seen, an MLP network with only 3 hidden neurons is sufficient
to generate a trajectory with good precision (max. RMS error is = 4 mm for 80 cm
movement range).
A similar accuracy can be obtained with a polynomial (POLY) or with a
RBF networks. Dynamic identification of the leg [1, 2] has been performed using
the scheme shown in figure. For each coordinate a neural net has been trained to
evaluate the acceleration of the leg caused by the application of the u(t) stimulus that
represents the input current to the motor drivers. The leg position is represented by
s(t). The scheme used to train the neural controller for a single leg is shown in
figure. It is a case of inverse control [2], where the neural model of the leg (i) is
required to back propagate the training errors to the controller (c). The system works
at 1 kHz sample frequency and this is equivalent, for the MLP (6), to 72000 CPS
(connections per second) for a single leg controller. This rate can be achieved only
with high computational power DSP or with a dedicated hardware implementation
such as DANIELA.

CONCLUSION

This paper has described an autonomously walking hexapod controlled by means of


Fuzzy State Automata, which have been developed starting from a mixture of Finite
State Automata and Neuro-Fuzzy controllers.Several paradigms have been
integrated, such as Neural Network, Fuzzy Systems, linear controllers, DSPs and
finite and fuzzy state Automata. The paper propose that approach is very promising
and this can be adopted to a wide variety of different applications such as, among
others, robotics, servo-controls and machine with moving parts with backlash and
low stiffness. The application can be improved to nonlinear controllers capable to
handle complex sequences and coordination functions.

S-ar putea să vă placă și