10
1 SBAI - UNESP - Rio Claro/SP ,- Brasil Resumo CONTROLE DE UM VEtCULO UTILIZANDO A TEORIA DOS CONJUNTOS NEBULOSOS Alain Laprade 1 Germano Lambert-Torres 2 1. Spar Aerospace Limited 21025, Trans-Canada Highway - Ste-Anne-de-Bellevue Quebec - H9X 3R2 - CANADÁ FDne: 001-514-457-2150 Fax: 001-514-457-2724 2. Escola Federal de Engenharia de Itajubá - Brasil Av. 1303 - Itajubá - 37500-000 - MG - BRASIL Fone: (035)629-1240 Fax: (035)629-1187 E-mail: [email protected] Os processos de controle industriais são muitas vezes ou mesmo impossíveis, de se quantificar. Um dos fatores que torna isto evidente é o grande nómero de variáveis de entrada existentes no processo, tornando o desenvolvimento de um modelo dificil e muito honeroso. A resposta do processo a uma simulação do controle pode ser extremamente não-linear, tornando as técnicas clássicas de PIO lentas e não-ótimas. Quando o controle nebuloso é aplicado em processos industriais, uma das chaves do problema a ser resolvido é a determinação das regras difusas de controle. O objetivo deste artigo é apresentar o uso da lógica difusa para controlar o estacionamento de um veiculo dentro de um ambiente. As idéias de Kosko e Sugeno & Murakami foram combinadas para implementar um algoritmo mais sofisticado para o controle do veiculo. Abstract Industrial control processes are often difficult to impossible to quantify. Too many input variables may exist, rendering a model development very awkward, not to mention time consuming and expensive. Process response to control stimuli may be very non-linear, rendering classical PIO control techniques sluggish and non optimal. When applying fuzzy control to an industrial process, one of the key problems to be resolved is determining the fuzzy contrbl rules. The objective of this paper is to demonstrate the use of fuzzy logic control by controlling the parking of a car in a constrained environment. Ideas from Kosko and Sugeno & Murakami are combined ' to implemented a more sophisticated vehicle control algorithm. - 165-

CONTROLE DE UM VEtCULO UTILIZANDO A TEORIA DOS … · coordenadas relativas a posição inicial do carro e seu ângulo ... O problema do estacionamento de um veiculo na garagem não

Embed Size (px)

Citation preview

1 SBAI - UNESP - Rio Claro/SP ,- Brasil

Resumo

CONTROLE DE UM VEtCULO UTILIZANDO

A TEORIA DOS CONJUNTOS NEBULOSOS

Alain Laprade1

Germano Lambert-Torres2

1. Spar Aerospace Limited

21025, Trans-Canada Highway - Ste-Anne-de-Bellevue Quebec - H9X 3R2 - CANADÁ

FDne: 001-514-457-2150 Fax: 001-514-457-2724

2. Escola Federal de Engenharia de Itajubá - Brasil

Av. BPS~ 1303 - Itajubá - 37500-000 - MG - BRASIL Fone: (035)629-1240 Fax: (035)629-1187

E-mail: [email protected]

Os processos de controle industriais são muitas vezes difíceis~

ou mesmo impossíveis, de se quantificar. Um dos fatores que torna isto evidente é o grande nómero de variáveis de entrada existentes no processo, tornando o desenvolvimento de um modelo dificil e muito honeroso. A resposta do processo a uma simulação do controle pode ser extremamente não-linear, tornando as técnicas clássicas de PIO lentas e não-ótimas.

Quando o controle nebuloso é aplicado em processos industriais, uma das chaves do problema a ser resolvido é a determinação das regras difusas de controle. O objetivo deste artigo é apresentar o uso da lógica difusa para controlar o estacionamento de um veiculo dentro de um ambiente. As idéias de Kosko e Sugeno & Murakami foram combinadas para implementar um algoritmo mais sofisticado para o controle do veiculo.

Abstract

Industrial control processes are often difficult to impossible to quantify. Too many input variables may exist, rendering a model development very awkward, not to mention time consuming and expensive. Process response to control stimuli may be very non-linear, rendering classical PIO control techniques sluggish and non optimal.

When applying fuzzy control to an industrial process, one of the key problems to be resolved is determining the fuzzy contrbl rules. The objective of this paper is to demonstrate the use of fuzzy logic control by controlling the parking of a car in a constrained environment. Ideas from Kosko and Sugeno & Murakami are combined 'to implemented a more sophisticated vehicle control algorithm.

- 165-

I SBAl - UNESP - Rio Claro/SP - Brasil

1. INTRODUÇÃO

o controle de processos através da Teoria dos Conjuntos Nebulosos (Fuzzy Sets) é uma das mais recentes aplicações da teoria de controle na engenharia. Embora os princípios da lógica difusa já estejam disponíveis a algum tempo no mercado, somente agora tem sido aplicados em processos industriais. Pode-se citar o Japão como o pioneiro neste tipo de utilização. Diversos de seus produtos já têm incorporados controles nebulosos.

A Teoria dos Conjuntos Nebulosos [1] é um passo em direção de aproximar a precisão da matemática clássica e a "imprecisão" do mundo real. Esta aproximaçao é importante para melhor compreender os processos mentais e do conhecimento. Esta teoria consegue manipular e operar quantidades exatas e inexatas (quantificadas através de valores lingüísticos).

A maioria dos processos industriais são complexos devido ao número de variáveis envolvidas e a quantificação destas variáveis. Por vezes~ diversas dessas grandezas têm seu valor estabelecido através de processos subjetivDs, sendo classificadas por meio de valores lingüísticos, como grande, pequeno, muito grande, entre outros. Os valores das grandezas classificadas desta maneira eram em seguida passados para números que, em muitas vezes, não representavam valores corretos das grandezas. Isto era necessário pois a matemática clássica operava somente com números não aceitando valores lingüisticos.

Quando aplica-se controles nebulosos nos processos industriais, deve-se extrair incialmente as regras difusas que regem deste controle. Existem alguns caminhos 'para se estabelecer estas regras: (a) através do conhecimento e/ou da exper~encia do operador [2]; (b) através de modelos nebulosos obtidos a partir das ações de con tro I e do operador [3] ; e, ( c) a través da modelização difusa do processo [4]. N~ste artigo, adotou-se o segundo procedimento, pois devido a origem do problema - dirigir um veiculo - acredita-se ser o mais adequado já que o operador é, no caso, o melhor controlador do sistema.

O objetivo deste artigo é apresentar o controle do estacionamento de um veiculo utilizando lógica difusa. O algoritmo desenvolvido une idéias propostas por Kosko [5] e por Sugeno & Murakami [6J. Este procedimento foi selecionado pois o resultado do controle através de regras difusas pode prontamente ser implementado com a tecnologia de lógica difusa disponível no mercado [7J. Um simulação computacional foi preparada e alguns resultados são apresentados.

2. APRESENTAÇÃO DO PROBLEMA

O objetivo do controle apresentado neste artigo é estacionar um veiculo em uma garagem (ou, de maneira mais abrangente, deslocá-lo de um ponto à outro) utilizando sua marcha ré. A figura 1 apresenta uma posição para a garagem e as barreiras existentes (no caso~ as paredes). Os valores das coodenadas foram selecionadas para facilitar a interface gráfica com a

- 166 -

I SBAI - UNESP - Rio'Claro/SP - Bra!iil

linguagem de desenvolvimento (Quick micro-computador utilizado, 18M-PC.

8asic d~ Microsoft) e o

o modo de resolução utilizado foi o CGA com 640 por 200 pixeis. O programa desenha as coordenadas (x,y) definidas a partir de uma origem (0,0), situada no canto superior esquerdo da tela, até a coordenada (640,200) no canto inferior direito. Foi criado um código simplificado, para após a entrada dos dados, haver uma otimização do desenho na tela. A figura 1 apresenta também as coordenadas relativas a posição inicial do carro e seu ângulo relativo ao eixo das abcissas.

Embora a' teoria clássica de controle pudesse utilizar um processo com realimentação para solucionar o problema, as express5es definidoras do problema neces~itariam ser alteradas durante a solução devido aos obstáculos apresentados, tais como as paredes e a posição da garagem. Para que isto não ocorresse, tais express5es deveriam ser codificadas na forma de matrizes, o que requereria um substancial poder e tempo de CPU para resolver tais equaç5es de estado.

O problema do estacionamento de um veiculo na garagem não é novo. Sugeno e Murakami têm trabalho sobre ele em seus artigos. O procedimento mais recente apresentado tenta resolver o problema através de 18 regras de controle, sendo que os resultados obtidos indicam que para algumas posiç5es intermediárias as soluç5es obtidas estão bastante longes das soluc5es otimizadas.

Outro pesquisador que tem trabalhado neste problema é Kosko. Ele apresentou recentemente em seu livro uma solução utilizando 35 regras de controle organizadas em matrizes e através de uma técnica gráfica mostrou a convergência do problema. Entretanto nesta simulação, o veiculo se descola em uma plataforma e não para uma garagem. Isto permite um afrouxamento das regras de controle, o que não é admissivel em um estacionamento. Kosko assumiu que a distância entre o veiculo e a parede era grande, negligenciando assim a coordenada y.

Neste artigo, as regras de controle são organizadas segundo a filosofia descrita por Kosko porém util 'izando uma filosofia de controle similar a sugerida por Sugeno, sendo que a coordenada y é assumida no seu valor real. Um total de 120 regras foram desenvolvidas para possibilitar os controle de avanço e recuo do veiculo. O algoritmo foi implementado em um micro-computador, porém as regras poderiam entrar diretamente em um microcontrolador nebuloso, resultando em uma melhoria significativa de desempenho.

3. LEIS FíSICAS DO MOVIMENTO DO VEíCULO

Para desenvolver a simulação do movimento do veiculo, é necessário conhecer as equações que regem este fenômeno. Isto também serve para simular os transdutores que forneceriam as informaç5es sobre o posicionamento do veiculo para o controlador nebuloso.

- 167-

I SBAl - UNESP - Rio Claro/SP - Brasil

(H.1«5m;Om)

(OfTlJ.--4_m_> - __ ---_J~~~t __ ti

(14.7C5m;4m) (17.2&nI4m)

r neg«lIvo

\l\····rx

~1IW)1 ./ trll8fJlrll

(Orn20rrJ

Y-0-~~. do carro cp ), . , ,

Figu~a 1 - F~ontei~as do P~oblema.

po8içIo da roda lre..aH-a

(32m;2Om)

-------r--~~----------x 9 " poeItl Y r

, , " a : , ' , :

~lçAo da rodo. diantet-a ~~)~. '"

o r À '"

, . , ,

y nogatI", ~:""

Pàrcbt.y)

( a ) ( b)

Figu~a 2 - Definicâo das Va~iáveis de Posicionamento.

- 168 -

I SBAI - UNESP - Rio Claro/SP - Bnisil

Começou-se por assumir um veiculo infinitamente fino como na figura 2a. O deslocamento pode então ser expresso como urr movimento circular. Um arco do movimento relativo à roda traseira pode ser descrito através do chassis para ângulo 6 maiores que 0 0

, como mostrado na figura 2b e na equação 1:

r = 1 / tan e ( 1 )

Para uma maior simplicidade de equacionamento assumiu-se que a velocidade do veiculo é constante. pequenos intervalos, tem-se:

do problema, Então para

óq> = óS / r onde óS é dado em radianos

v = óS / ót = r . óq> / ót

óq> = ·u • ót / r'

As coordenadas do centro do arco de rotação podem ser em função da posição da roda trazeira por:

(2 )

(3)

(4 )

expressas

( 5)

/ para e < 0 0 Parc(x ,y ) = Pr(x ,y ) + r(i senq> + j cosq» to· t o lo le-

Deve-se notar que Parc(x . ,y . ) é constante se e não se alterar. lL lL

A mudança do ângulo e e da posição da roda po t = t + ó é dada por q> = q> + Ó e:

trazeira em um tem-

i o l li lO t

óPr(x ,y ) = Parc(x ,y ) - r [i senq> li ti tO lO li

+ j cosq> ] (6) l i

para e > 0 0 Parc(x ,y ) = Pr(x ,y ) - r(i sen~ + j cos~) lo lo to lo

Transladando estas expressões para um veiculo de largura finita, pode-se definir para cada quina as equações:

Prwlx = Prx - w/2 . senq> Prw2x = Prx + w/2 senq> (7 )

Pfwlx = Prwlx - l cosq> Pfw2x = Prw2x - .f. cosq> (8)

Prwly = Pry - w/2 cosq> Prw2y = Pry + w/2 cosq> (9 )

Pfwly = Prwly - l senq> Pfw2y = Prw2y - .f. senq> (10 )

onde .t e w representam o comprimento e a largura do carro.

4. REGRAS DIFUSAS DE CONTROLE

Este controle foi desenvolvido com o objetivo de recuar veiculo para dentro de uma garagem, minimizando o número mudanças de direção. Algumas outras suposições foram feitas:

um de

(a) a capacidade de aceleração e desaceleração do veículo é 2 de 1 (m/s);

(b) o ritmo de mudança do ângulo das rodas do veiculo é limitado;

(c) a vecolidade máxima é limitada em 1 (m/s); e,

(d) uma colisão com as paredes é indesejável.

- 169 -

I SBAI - UNESP - Rio Claro/S~ - Brasil

LG· CE RC RC

x

o 4 8 12 16 20 24 28 32 (m)

YT YM YB

y

o 2 4 6 8 10 12 14 16 18 20 (m)

RU RV VE LV LU LB

-90 0 -45 0 o 90 0 135 0 180 0 225 0 270 0

NM NS ZE PS PM PB

e

-30 0 -20 o -10 0 O 10 0 20 o 30°

Figura 3 Funções de Pertinências Utilizadas

Foram selecionadas três variáveis de entrada e duas variáveis de saida para controlar o estacionamento do veiculo. As variáveis de entrada foram o ângulo do carro ~~ a abscissa e a ordenada da posição do carro, x e y, respectivamente. As variáveis de saida foram o ângulo da roda e e a direção de movimento d. Os limites estabelecidos foram:

o ~ x ~ 32 (m)

-30" ~ e ~ 30 0

O ~ y < 20 (m)

d=1 (para frente)

-90 0 ~ ~ ~ 270 0

d=-1 (para trás)

Os valores positivos de e representam rotações no sentido horário. Para facilitar o processo de codificação~ foi decidido não discretizar estes valores, o que teria reduzido o tempo de computação. As variáveis difusas selecionadas estão mostradas na figura 3 e tem seus valores tomadas no int~rvalo M = [O,lJ. Os perfis dessas variáveis foram escolhidos em função da experiência do programador. As curvas mais estreitas fornecem um controle mais fino para os deslocamentos mais próximos à garagem; enquanto para pontos mais afastados é permitido um

- 170-

I SBAI - UNESP - Rio Claro/SP - Brasil

controle menos rigoroso.

As figuras 4 , e 5 mostram as regras difusas utilizadas já na forma matricial. Por exemplo, a regra 3 da figura 4 corresponde a associação difusa:

Se x = CE e ~ = RB e YT e d = -1 então 8 = PB.

Esta regra indica que se o veiculo está perto da garagem (alvo requerido, x=16) e que o ângulo do carro é grande e negativo e está se movimentando para trás, então o controlador deve produzir um ângulo de curva na trajetória de valo~ grande e positivo.

As regras difusas postas na forma de matrizes simetria do sistema de controle. Cada regra possue um pertinência para o valor de saida de variável, que é pela equação (11) para achar, através do método do gravidade, o valor final do ângulo da roda.

e = 2: 8 . F J

m (8 . ) o J

I 2: m (8 . ) o J

Onde eF é definido no intervalo -30 0 a 30°.

refletem a valor de utilizado

centro de

(11 )

Dois métodos foram utilizados a fim de forçar uma mudança na direção do veiculo entre a marcha ré e o avanço. Por exemplo, quando o veiculo está em marcha ré e nenhuma decisão de controle é selecionada (~mo(8j) = O), o controlador escolhe uma mudança de direção até que não exista mais nenhuma pertinência para o avanço. Assim o processo se repete até que a manobra se complete.

O segundo método utilizado para forçar a mudança de direção foi a detecção de um risco d~ colisão. Isto se produz, verificando constantemente a proximidade do veiculo ao muro. Se um risco de colisão é determinado, o controlador ignora as decisões de controle e muda a marcha do veiculo.

5. RESULTADO DAS SIMULAÇÕES

Uma simulação foi preparada servindo-se do compilador Quick-Basic da Microsoft. Os ~esultados de algumas simulações estão mostrados nas figuras 6 a 8. A marcha ré necessitou de 63 regras de controle, enquanto o avanço, 68. N~s duas primeiras soluções apresentadas, o .controle proposto obteve um desempenho bastante bom, enquanto na solução da figura 8, este controle apresenta problemas na convergênci~ chegando, porém, na resposta requerida. Isto indica uma falha nas regras de controle ao longo do eixo vertical dos valores de ~ próx imos de x=16.

CONCLUSÃO

Este artigo desenvolveu um controlador nebuloso baseado nas ações de controle de um especialista para o deslocamento de um

- 171 -

I SBAI - UNESP - Rio Claro/SP - Brasil

8 \ LB

RB

RO

RV

• VE

LV

LU

LB

8

1

ZE

\ LE

X LC CE RC RI 2 3

ZJ!l PB

4 5 '1-

PB PB 6 7 11

NB ZB PB 9 10

NB ND

11 12 13

NB ZE ZB

YT

8 \ LE LC

RB

RU

RV

• VE

LV

LU

LB

14

P8 19

,~ 2.J

PB 27

NB

40

ZE

15

PM 20

PB 24

P8 ;ui

NB 32

NB 36

NB 41

NM

X CE RC 16 17

PM PM 21 22

PB PB 25 1.6

PB PB 29 30

ZE PB 33 34

NB N8 37 311

NB NB 42 43

NM NM

YM

RI 111

ZE

31

PB 35

NB 39

PB 44

N8

8 \ LE

RB

RU

RV

• VE

LV

LU

LB

45

PB 47

NM 5-'--

NB 56

NB 61

NB I~

NB

X LC CE RC 46

PB 411 49

PB PB 52'-- 53 I~

N8 PB PB 57 SI! 59

NM ZE PM 62 61 64

NB NB P6 61 611

NB IlB 70

ND

YD

Figu~a 4 - Mat~izes de Decisão do Cont~olado~ Nebuloso (Movimento pa~a t~ás)

X LC CE RC RI

9 \ LE LC

X CE RC RI

9 X \ LE LC CE RC

RI

50

PB 5-5--

PB 60

PD 65

PB 119

Pli ij-

ND

RI 121 122 123 124 125 94 9S 96

-9r __ I~

RB NB 12.6

RO PB 190

RV PB

VE 136

LV PB

LO 144

LB PB

NB NB 127 lU

ZE NB 131

P8 134

N8 137

P8 140 Hl

PB PB 145 146

PB PB

YT

NB 129

NB 132

N8 135

P8 1311

N8 142

ZE 147

PB

NB

133

NB

139

NB 143

NB 1411

PB

RB

RU

RV

• VE

LV

LU

LB

n 73 74 ~

NB P8 ~ NB 77 111 79

PB PM N8 111 112 ll3

P8 PB NB os 116 117

PM P8 NH 09 90 91 9Z

PB PB PD N6

YM

76

NB 110

I~ 114

N8 811

NH 91

PB

RB

RU

RV

• VE

LV

LO

LB

ZE 99

.NB 102

PB lOS

PB 110

PB 113

PB . 116

PB

N8 ZE P8 100

NB 103

NB 1116 107 1011

ZE ZE ZE 111

PB 114

PB 117 1111 119

N8 ZE P8

YB

Figu~a 5 - Mat~izes de Decisão do Çont~olado~ Nebuloso (Movimento pa~a f~ente)

- 172-

P8 101

NB 104

NB 109

NB 112

NB 115

NB 120

ZE

I SBAI - UNESP - Rio Claro/SP - Brasil

Figura 6 - Exemplo da Simulação I

Figura 7 - Exemplo da Simulação 11

Figura 8 - Exemplo da Simulação 111 (com problema de convergência)

- 173 -

I SBAl - UNESP - Rio Claro/SP - Brasil

veoiculo em uma planta industr-ial. Foi apr-esentado um exemplo do estacionamento do veiculo. O contr-olador- apr-esentou um bom desempenho. Ele foi baseado na combinação de duas técnicas: r-egr-as de contr-ole difusas e matr-izes de contr-ole difusas.

Baseado em dados de entr-ada, como posição do car-r-o e seu ângulo, o contr-olador- per-mite definir- uma estr-atégia (ângulo das r-odas e sentido do movimento) par-a solucionar- o pr-oblema.

Este exemplo mostr-ou que utilizando-se da lógica difusa, as decisões de contr-ole em pr-ocessos industr-iais podem ser- menos numer-osas e mais flexiveis que nos pr-ocessos convencionais.

Referências

[ 1 J Zadeh, L.A. - "Outline Df a New Appr-oach to Complex Systems and Decision Pr-ocesses", Systems, Man, and Cyber-netics, Vol. SMC~3,

Janeir-o 1973.

the Analysis Df IEEE Tr-ans. on No.1, pp.28-44,

[2J Lamber-t-Tor-r-es, G.; Olivier-, G. e Mukhedkar-, D. - "An Exper-t System for- Substation Gr-ounding Design Df an Industr-ial Power- System using Fuzzy Concepts", IEEE Pr-oceedings Df Industr-ial Applications Society, San Diego, Outubr-o 1989.

[3J Valiquette, B.; Lamber-t-Tor-r-es, G. e Mukhedkar-, D. "An Exper-t System Based Diagnosis and Advisor- Tool for- Teaching Power- System Oper-ation Emer-gency Contr-ol Str-ategies", IEEE Tr-ans. on Power- Systems, Vol.6, No.3, pp.1315-1322, Agosto 1991.

[4J Lamber-t-Tor-r-es, G. et. al. - "A Fuzzy Knowledge-Based System for- Bus Load For-ecasting", IEEE Pr-oceedings on Fuzzy Systems, San Diego, Mar-ço 1992.

[5J Kosko, B. - "Neur-al Networ-ks and Fuzzy Systems - A Dynamical Systems Appr-oach to Machine Intelligence", Pr-entice Hall, Eaglewood Cliff, New Jer-sey, 1991.

[6J Sugeno, M. e Mur-akami, K. - "Fuzzy Par-king Contr-ol Df Model Car-" , IEEE Pr-oceedings Df 23r-d Confer-ence on Decision and Contr-ol, Las Vegas, Dezembr-o 1984.

[7J Omr-on Eletr-onics Inc. "Fuzzy Technology: An Intr-oduction to Applications in Contr-ol Systems",

- 174-

Logic, Fuzzy

1991.

a 21st Logic

Centur-y and I ts