Professional Documents
Culture Documents
Este exemplo mostra como usar um sistema fuzzy para modelar a cinemtica inversa em um brao robtico de dois conjunta.
Figura 1: Ilustrao que mostra o brao robtico de dois conjunta com os dois ngulos,
theta1 e theta2
O que ANFIS?
ANFIS significa Adaptive Neuro-Fuzzy sistema de inferncia. uma tcnica neuro-fuzzy hbrido que traz recursos de
aprendizagem de redes neurais para sistemas de inferncia fuzzy. O algoritmo de aprendizagem ajusta as funes de
pertinncia de um Sugeno tipo distorcido sistema de inferncia usando os dados de entrada e sada de treinamento.
Neste caso, os dados de entrada-sada refere-se "coordenadas de ngulos" de conjuntos de dados. As coordenadas agir
como entrada para o ANFIS e os ngulos de agir como a sada. O algoritmo de aprendizagem "ensina" o ANFIS para mapear
as coordenadas para os ngulos atravs de um processo chamado de treinamento. No final do treinamento, a rede ANFIS
treinados teria aprendido o mapa de entrada-sada e estar pronto para ser implantado na soluo maior do sistema de controle.
Gerao de dados
Deixe theta1 ser o ngulo entre o primeiro brao e o cho. Deixe theta2 ser o ngulo entre o segundo brao e o primeiro
brao (Ver Figura 1 para ilustrao). Deixe o comprimento do primeiro brao ser
Vamos assumir que o primeiro conjunto tem liberdade limitada a rodar e a poder rodar entre 0 e 90 graus. Da mesma forma,
assumir que o segundo conjunto tem limitado liberdade de rotao e pode rodar entre 0 e 180 graus. (Esta suposio tira a
necessidade de lidar com alguns casos especiais que iro confundir o discurso). Assim, 0 <= theta1 <= pi / 2 e 0
O seguinte trecho de cdigo mostra como os dados so gerados para todos combinao de theta1 e theta2 valores e
salvo em uma matriz para ser usado como dados de treinamento. A razo para guardar os dados em duas matrizes explicado
na seco seguinte.
Figura 3: XY coordenadas gerado para todos os theta1 e theta2 combinaes usando frente cinemtica frmulas
Da mesma forma, a segunda rede ANFIS sero treinados com coordenadas X e Y como entrada e
correspondente theta2 valores como sada. A matriz de dados 2contm o xy-theta2 conjunto de dados necessrio
para treinar a segunda rede ANFIS. Portanto dados
rede ANFIS.
ANFIS a funo que usado para treinar uma rede ANFIS. Existem vrias sintaxes para a funo. Se chamado com a
seguinte sintaxe, ANFIS automaticamente cria um Sugeno tipo FIS e treina-lo usando os dados de treinamento passados
para a funo.
O cdigo a seguir pode levar um par de minutos para ser executado:
fprintf ( '->% s \ n' , '.. Comear a treinar primeira rede ANFIS Pode levar um minuto
dependendo do seu sistema de computador' )
anfis1 = ANFIS (data1, 7, 150, [0,0,0,0]); % trem primeira ANFIS rede
fprintf ( '->% s \ n' , 'Comear a treinar segunda rede ANFIS Pode levar um minuto.
dependendo do seu sistema de computador. " )
anfis2 = ANFIS (data2, 6, 150, [0,0,0,0]); % trem segunda ANFIS rede
-> Comear a treinar primeira rede ANFIS. Pode demorar um minuto dependendo do
seu sistema de computador.
-> Comear a treinar segunda rede ANFIS. Pode demorar um minuto dependendo
do seu sistema de computador.
O primeiro parmetro para ANFIS a dados de treinamento, o segundo parmetro o nmero de funes de pertinncia
utilizados para caracterizar cada entrada e sada, o terceiro parmetro o nmero de treinamento pocas e o ltimo parmetro
so as opes para mostrar o progresso durante o treinamento. Os valores para o nmero de pocas e do nmero de funes
de pertinncia foram obtido aps uma boa quantidade de experimentao com diferentes valores.
A caixa de ferramentas vem com GUI do que ajuda a construir e testar redes ANFIS.
anfis1 e anfis2 representam as duas redes ANFIS treinados que sero implantados no sistema de controle maior.
Uma vez que a formao completa, as duas redes ANFIS teria aprendido a aproximar os ngulos (
theta1, theta2 )
em funo das coordenadas ( x, y ). Uma vantagem de utilizar a abordagem difusa que a rede ANFIS seria agora aproximar
os ngulos de coordenadas que so semelhantes, mas no exactamente a mesma que foi treinado com. Por exemplo, as
redes ANFIS treinados agora so capazes de aproximar os ngulos para coordenadas que se encontram entre dois pontos que
foram includos no conjunto de dados de treinamento. Isto ir permitir que o controlador final para mover o brao suavemente
no espao de entrada.
Temos agora duas redes ANFIS treinados que esto prontos para ser implantado no sistema maior, que ir utilizar essas redes
para controlar os braos robticos.
<10 .
x = 0: 0,1: 2; % X coordenadas para validao
y = 8: 0,1: 10; coordenadas Y% para validao
Os theta1 e theta2 valores so deduzidos matematicamente a partir as coordenadas x e y Uso de cinemtica inversa
frmulas.
THETA1D e THETA2D so as variveis que mantm os valores de theta1 e theta2 deduzidas atravs das
frmulas de cinemtica inversa.
theta1 e theta2 valores previstos pelas redes treinadas ANFIS so obtidos usando o comando evalfis que avalia uma
FIS para as entradas dadas.
Aqui, evalfis usado para descobrir as sadas FIS para os mesmos valores xy usados anteriormente nas frmulas de
cinemtica inversa.
XY = [X (Y :) (:)];
THETA1P = evalfis (XY, anfis1); % theta1 previsto por anfis1
THETA2P = evalfis (XY, anfis2); % theta2 previsto por anfis2
Agora, podemos ver o quo perto as sadas FIS so com relao aos valores deduzidos.
Os erros esto na 1e-3 gama, que um bastante bom nmero para a aplicao que est sendo usado. No entanto isso pode
no ser aceitvel para outra aplicao, caso em que os parmetros para o ANFIS funo pode ser mexido at que uma
soluo aceitvel chegado. Alm disso, outras tcnicas como a seleo de entrada e formas alternativas para modelar o
problema pode ser explorado.
Concluso
Este exemplo ilustra usando ANFIS para resolver um problema de cinemtica inversa. A lgica fuzzy tambm encontrou vrias
outras aplicaes em outras reas de tecnologia como o controle no-linear, controle automtico, processamento de sinal,
sistema de identificao, reconhecimento de padres, a previso de sries temporais, minerao de dados, aplicaes
financeiras etc.,
Explorar outros demos e a documentao para mais detalhes sobre a lgica fuzzy e suas aplicaes.
Glossrio
ANFIS - Adaptive Neuro-Fuzzy sistema de inferncia. uma tcnica para ajustar automaticamente os sistemas de inferncia
Sugeno-tipo com base em dados de treinamento.
funes de pertena - uma funo que especifica o grau em que uma dada entrada pertence a um conjunto ou est
relacionada com um conceito.
espao de entrada - um termo usado para definir o intervalo de todos os valores possveis
FIS - distorcido sistema de inferncia. O nome geral para um sistema que usa o raciocnio distorcido para mapear um espao
de entrada para um espao de sada.
pocas - 1 poca de formao representa uma apresentao completa de todas as amostras / datapoints / linhas do conjunto
de dados de treinamento para o FIS.As entradas de cada amostra so apresentados e as sadas FIS so calculados que so
comparados com os resultados desejados para calcular o erro entre os dois.Os parmetros das funes de pertena so, em
seguida, ajustado para reduzir o erro entre a sada desejada e a sada real FIS.