TCC Eduardo Rohreducatec.eng.br/engenharia/Monografia de apoio... · 2009-06-14 · O hardware...

43
2 Resumo Este trabalho tem por objetivo dar continuidade ao estudo da robótica móvel autônoma no Grupo de Automação e Controle de Sistemas (GACS) da Pontifícia Universidade Católica do Rio Grande do Sul. Para tanto o robô PITECO – Plataforma Integrada para Testes de Estratégias de Controle e Orientação – teve seu hardware elétrico totalmente atualizado. Foram abordados tópicos como navegação, orientação e controle. No que diz respeito à navegação, este trabalho se preocupou apenas em interpolar pontos de um ambiente previamente obtidos em trabalhos anteriores (Conceição, 2003). Para a parte de orientação, foi utilizado um sensor do tipo ultra- som, montado sobre um motor de passo, caracterizando um sonar. Redes neurais artificiais são utilizadas para tratar as informações provenientes do sonar. Encoders nas rodas ativas permitem uma estimativa da postura do robô, através de técnicas de odometria. Quanto ao controle, dois tipos de problemas foram abordados: estabilização em torno de um ponto e estabilização em uma trajetória. O hardware mecânico do robô se caracteriza por duas rodas de tração e uma terceira roda omnidirecional, que serve apenas como apoio. Desta forma, o problema de controle recai num grupo chamado de Sistemas não-holonômicos. Foram escolhidos alguns artigos representativos do tema e suas idéias foram implementadas primeiramente em simulação e posteriormente em tempo real.

Transcript of TCC Eduardo Rohreducatec.eng.br/engenharia/Monografia de apoio... · 2009-06-14 · O hardware...

2

Resumo

Este trabalho tem por objetivo dar continuidade ao estudo da robótica móvel

autônoma no Grupo de Automação e Controle de Sistemas (GACS) da Pontifícia

Universidade Católica do Rio Grande do Sul. Para tanto o robô PITECO – Plataforma

Integrada para Testes de Estratégias de Controle e Orientação – teve seu hardware

elétrico totalmente atualizado. Foram abordados tópicos como navegação, orientação e

controle. No que diz respeito à navegação, este trabalho se preocupou apenas em

interpolar pontos de um ambiente previamente obtidos em trabalhos anteriores

(Conceição, 2003). Para a parte de orientação, foi utilizado um sensor do tipo ultra-

som, montado sobre um motor de passo, caracterizando um sonar. Redes neurais

artificiais são utilizadas para tratar as informações provenientes do sonar. Encoders

nas rodas ativas permitem uma estimativa da postura do robô, através de técnicas de

odometria. Quanto ao controle, dois tipos de problemas foram abordados: estabilização

em torno de um ponto e estabilização em uma trajetória. O hardware mecânico do robô

se caracteriza por duas rodas de tração e uma terceira roda omnidirecional, que serve

apenas como apoio. Desta forma, o problema de controle recai num grupo chamado de

Sistemas não-holonômicos. Foram escolhidos alguns artigos representativos do tema e

suas idéias foram implementadas primeiramente em simulação e posteriormente em

tempo real.

3

Sumário

1. Introdução ...................................................................................................................5 2. Plataforma Utilizada ....................................................................................................6 3. Controle de Robôs Móveis com Acionamento Diferencial.........................................12 4. Métodos de Controle .................................................................................................16

4.1 Métodos em malha aberta ...................................................................................16 4.2 Métodos em Malha Fechada................................................................................17

4.2.1 Estabilização no Ponto ..............................................................................20 4.2.2 Estabilização em uma trajetória .................................................................22

5. Implementação do Controle em malha fechada ........................................................25 6. Localização................................................................................................................30

6.1. Sensor de ultra-som............................................................................................30 6.2. Sonar ..................................................................................................................31 6.3. Rede Neural........................................................................................................31 6.4. Estratégia de localização ....................................................................................32

7. Resultados ................................................................................................................33 7.1. Estabilização em torno de um ponto...................................................................33 7.2. Estabilização em torno de uma trajetória ............................................................36 7.3. Localização por redes neurais ............................................................................38

Conclusões....................................................................................................................42 Referências Bibliográficas .............................................................................................43

4

Lista de Figuras

Figura 2-1: Robô PITECO. ..............................................................................................6 Figura 2-2: Topologia do hardware elétrico do robô. .......................................................7 Figura 2-3: Comunicação entre a FPGA e o microcontrolador. .......................................8 Figura 2-4: Multiplexador principal...................................................................................9 Figura 2-5: Principais sensores. ....................................................................................10 Figura 2-6: Ambiente de controle no MATLAB/Simulink................................................11 Figura 3-1:Topologia do Robô PITECO.........................................................................12 Figura 3-2: Posição e orientação do veículo em coordenadas cartesianas...................13 Figura 3-3: Posição e orientação do veículo em coordenadas polares. ........................15 Figura 4-1: Posição e orientação do robô em coordenadas polares. ............................18 Figura 4-2: Seguimento de uma trajetória. ....................................................................22 Figura 5-1: Velocidade do alvo em função do erro em distância. ..................................28 Figura 5-2. Exemplo de trajetória e erro admissível associado a um ponto. .................29 Figura 7-1: Ambiente de simulação no MATLAB/Simulink. ...........................................33 Figura 7-2: Velocidades nas rodas. ...............................................................................34 Figura 7-3: Saturador ....................................................................................................34 Figura 7-4: Resultados obtidos em tempo real ..............................................................35 Figura 7-5: Mapa do ambiente de localização...............................................................38 Figura 7-6: Erro de localização......................................................................................39 Figura 7-7: Comparação entre dados obtidos e esperados...........................................40 Figura 7-8: Sobreposição do sinal esperado no mapa. .................................................41 Figura 7-9: Sobreposição do sinal real no mapa. ..........................................................41

5

1. Introdução

Este trabalho é parte dos requisitos para a aprovação na disciplina de Trabalho

de Integração do curso de Engenharia Elétrica da Pontifícia Universidade Católica do

Rio Grande do Sul. A área escolhida para a pesquisa é a de robótica móvel autônoma,

por ela agregar conhecimentos de diversas disciplinas do curso de Engenharia Elétrica,

em especial as disciplinas relacionadas a Sistemas de Controle. O objetivo da pesquisa

é dar continuidade ao desenvolvimento do robô PITECO, que foi totalmente projetado e

construído por professores e alunos do Grupo de Automação e Controle de Sistemas –

GACS da PUCRS. Serão implementadas técnicas de controle e localização

encontradas em artigos que normalmente só possuem resultados em simulação.

6

2. Plataforma Utilizada

É conveniente que um robô móvel autônomo que tenha como objetivo o

desenvolvimento de técnicas de orientação, navegação e controle, tenha

características como robustez, facilidade de implementação dos algoritmos, facilidade

de agregar novos sensores e praticidade. Para satisfazer estas necessidades, foi

escolhido o robô PITECO (Pereira et al., 2000, 2001, 2002, 2003), que foi totalmente

desenvolvido com fins didáticos, pelo Grupo de Automação e Controle de Sistemas –

GACS – da Pontifícia Universidade Católica do Rio Grande do Sul. Visando o

aprimoramento constante da plataforma, algumas alterações foram feitas,

principalmente no que diz respeito ao hardware elétrico.

Figura 2-1: Robô PITECO.

As estratégias de navegação e o controle das funções do robô em alto nível são

gerenciadas por um computador portátil que fica sobre o robô. O software utilizado é o

MATLAB/Simulnk, rodando aplicações em tempo real. Esta é uma grande vantagem do

robô PITECO, pois a simulação e a implementação real são feitas no mesmo ambiente,

permitindo que os resultados obtidos sejam facilmente validados. O computador se

7

comunica com uma FPGA, responsável pelo controle em baixo nível das funções

básicas do robô, como ler sensores e atuar nos motores. Um microcontrolador é

utilizado para fazer a interface entre o Laptop, através da porta paralela e a FPGA.

O robô móvel é alimentado através de quatro baterias de 12V/7Ah e conta com

dois motores de corrente contínua acoplados por correias síncronas às duas rodas

ativas. Cada motor possui um encoder com resolução de 500 pulsos por volta. Para a

parte de navegação, o robô conta com cinco sensores do tipo ultra-som, dispostos no

formato de um pára-choque. Na parte mais alta do robô, um motor de passo gira outro

sensor de ultra-som, para que o robô possa obter informações sobre obstáculos em

todas as direções. Um esquema básico da topologia do Robô pode ser visto na figura

2-2.

Figura 2-2: Topologia do hardware elétrico do robô.

Uma das principais modificações feitas no robô foi a troca dos circuitos de

controle. A FPGA utilizada é o modelo fabricado pela ALTERA, ACEX10K50, que

possui apenas memória volátil. Assim, toda vez que o robô é ligado a FPGA deve ser

programada. Anteriormente isto era feito de forma manual, conectando o robô a um

segundo computador, responsável por descarregar o programa para a FPGA. O

modelo atual utiliza uma plataforma também desenvolvida pelo GACS originalmente

utilizada para o controle de motores elétricos (Conte, 2003), que foi adaptada para o

8

caso do robô. Neste modelo, o programa é gravado em uma memória não-volátil

presente no robô e toda vez que é ligado, o microcontrolador transfere o conteúdo da

memória para a FPGA. A figura 2-3 mostra o diagrama em blocos da parte do software

que trata da comunicação entre a FPGA e o microcontrolador.

Figura 2-3: Comunicação entre a FPGA e o microcontrolador.

Um multiplexador principal seleciona qual sensor será lido. Cada sensor é

mapeado em um endereço, assim o programa que roda no MATLAB/Simulink pode ler

a velocidade de uma roda, por exemplo, através de uma simples operação de leitura. A

figura 2-4 mostra o multiplexador principal com entradas para sensores de velocidade,

ultra-som e sensores de aceleração, utilizados experimentalmente.

9

Figura 2-4: Multiplexador principal.

A grande vantagem do uso de FPGA é a possibilidade de processamento

paralelo. Assim, as informações de vários sensores são tratadas simultaneamente.

Desta forma, cada sensor recebe um bloco específico que controla suas funções e

armazena os resultados. A figura 2-5 apresenta os principais controles de sensores

10

Figura 2-5: Principais sensores.

Além dos sensores já mencionados, percebe-se que o programa prevê o uso

futuro de outros sensores como acelerômetros.

Para fazer a interface entre a placa principal de controle que contém o

microcontrolador, a FPGA e a memória não-volátil, foi desenvolvida outra placa que

contém isolamento óptico para o sinal de controle dos motores, fontes de alimentação,

circuito de controle para o motor de passo, conectores específicos para os sensores

existentes e conectores para possíveis sensores que se deseje agregar ao robô.

Para o acionamento dos motores, foram utilizados dois circuitos em ponte H com

chaves do tipo mosfets, ligados às baterias de forma que possibilitam alimentar cada

motor com até 24V.

O ambiente integrado de simulação e funcionamento em tempo real que roda

sobre o MATLAB/Simulink permite que as técnicas de controle, navegação e orientação

desenvolvidas em simulação sejam facilmente implementadas no robô. O ambiente

básico utilizado é mostrado na figura 2-6.

11

Figura 2-6: Ambiente de controle no MATLAB/Simulink.

12

3. Controle de Robôs Móveis com Acionamento Diferencial

A plataforma onde o trabalho foi desenvolvido constitui-se de uma base metálica,

sobre a qual estão os circuitos eletrônicos, baterias, motores e um computador portátil

para o controle. Nesta base estão acopladas duas rodas paralelas acionadas de

maneira totalmente independente e uma terceira roda omnidirecional que serve apenas

como apoio. A figura 3-1 ilustra a topologia do robô.

Figura 3-1:Topologia do Robô PITECO.

A seta representa a orientação do robô, ou seja, a direção em que ele pode se

movimentar considerando sentido positivo para a velocidade linear. O ponto A é o

ponto médio da linha imaginária que une os eixos das rodas ativas.

O primeiro passo para entender o problema do controle deste tipo de robô é

modelar o sistema, tarefa que pode ser dividida em duas partes: modelo cinemático e

modelo dinâmico. O modelo cinemático do robô é utilizado para estudar as

características físicas e restrições de movimentos. Já o modelo dinâmico apresenta as

características do robô no que se refere à resposta de referências externas ao longo do

tempo, considerando sua massa, momento de inércia, dinâmica dos atuadores,

A

13

motores e forças de atrito envolvidas. A maioria da literatura existente trata apenas do

modelo cinemático, pois as influências do modelo dinâmico podem ser desprezadas

quando as velocidades envolvidas são pequenas. Este trabalho também se preocupa

apenas com modelagem cinemática do problema.

A figura 3-2 ilustra as principais variáveis que se deseja controlar.

Figura 3-2: Posição e orientação do veículo em coordenadas cartesianas.

Onde Xr - coordenada X do ponto A;

Yr - coordenada Y do ponto A;

ø - ângulo entre a orientação do robô e o eixo X;

v - velocidade linear do robô;

w - velocidade angular do robô em trono do ponto A.

Fica claro que se trata de um sistema sub-atuado, pois se deseja controlar três

variáveis (Xr, Yr e ø) com atuação em apenas duas (v e w). Uma restrição importante é

imposta ao modelo: o robô não pode se movimentar na direção do eixo que passa pelo

centro das rodas ativas. A velocidade no eixo X e a velocidade no eixo Y são obtidas

A

Xr

Yr

X

Y

ø

v

w

14

1/ 2 1/ 2.

1/ 1/

v Vd

w d d Ve

= −

pela decomposição da velocidade linear v. A velocidade angular é dada diretamente

pelo sinal de controle. O modelo cinemático que descreve este sistema é dado por:

w

vrY

vXr

=

=

=

ø

)øsin(

)øcos(

(3.1)

O mesmo problema pode ser escrito na forma matricial:

=

w

vsenYr

Xr

.

10

0

0cos

φφ

φ (3.2)

A forma de atuação sobre o robô não é diretamente sobre as velocidades linear

e angular do robô, mas pela velocidade de cada uma das rodas ativas. A velocidade

linear é dada pela média das velocidades das duas rodas atuadas e a velocidade

angular é calculada com base na diferença entre elas. As seguintes equações mostram

a relação entre as velocidades do robô e das rodas.

(3.3)

Onde “d” representa a distância entre as duas rodas ativas.

Esta representação do robô serve como base para outras formas de equacionar

o problema, chamadas de formas canônicas. Uma outra forma de modelar o problema

é através de coordenadas polares, na qual as equações passam a ser:

=

w

vsen

e

.

10

0

0cos

φφ

φθ (3.4)

Onde ‘e’ é a distância entre o ponto A do robô e a origem do referencial inercial

e ‘θ ’ é o ângulo formado entre o eixo x e o segmento ‘e’, conforme mostra a figura 3-3.

15

Figura 3-3: Posição e orientação do veículo em coordenadas polares.

Infinitas formas canônicas podem ser encontradas manipulando a modelagem

básica do robô (Figueiredo & Jota, 2004). Grande parte da pesquisa na parte de

controle deste tipo de robô busca encontrar uma forma canônica na qual se possa

implementar um controle com vantagens sobre os existentes.

A

X

Y

ø

v

w

e

θ

16

4. Métodos de Controle

O controle de robôs móveis com acionamento diferencial pode ser dividido em

dois grupos, de acordo com a teoria de controle clássica: métodos em malha aberta e

métodos em malha fechada. Os métodos em malha aberta consistem basicamente em

determinar previamente uma trajetória a ser seguida, respeitando as limitações do

acionamento diferencial. Já os métodos em malha fechada utilizam a informação da

posição do robô e sua orientação para realimentar o sistema.

4.1 Métodos em malha aberta

Os métodos de controle em malha aberta, também conhecidos como

planejamento de trajetória, devem levar em consideração as restrições instantâneas de

movimento do robô. As técnicas mais utilizadas atualmente são baseadas em

geometria e álgebra diferencial, fase geométrica, parametrização de entrada, controle

ótimo de movimento e planejamento do movimento evitando obstáculos.

O método utilizado no robô PITECO em trabalhos anteriores (Conceição, 2003)

é o de planejamento do movimento evitando obstáculos. O planejamento do caminho é

feito utilizando o algoritmo A-estrela, que determina o caminho com menor custo

evitando obstáculos. Este método determina pontos distantes entre si, chamados de

nodos, que o robô deve percorrer para chegar ao seu destino. O caminho entre estes

pontos é determinado através de um método por interpolação cúbica. Os sinais de

controle que fazem o robô percorrer a trajetória desejada são as referências do bloco

de controle das rodas. O controle da velocidade de cada roda é feito em malha

fechada, através de um controlador do tipo PI, porém, o robô não possui em nenhuma

parte uma realimentação da sua posição e orientação. Com isto, supõe-se que o

controle de cada roda tenha sempre erro nulo. Isto pode ser considerado, devido às

17

limitações no sinal de controle, que são levadas em consideração na determinação das

trajetórias.

4.2 Métodos em Malha Fechada

Métodos de controle em malha fechada utilizam-se das informações

provenientes dos sensores para determinar a postura, ou seja, a posição e orientação

do robô. Esta postura é comparada com uma referência e o sinal de erro resultante é

aplicado ao controle. Os principais objetivos deste método são a estabilização do robô

em torno de um ponto e o seguimento de uma trajetória.

Pode-se citar como principais técnicas em malha fechada para o controle de

robôs móveis com acionamento diferencial: rastreamento de trajetórias não singulares

usando realimentação dinâmica de estados, estabilização suave no tempo,

estabilização usando sinais não contínuos ou transformações não lineares e

controladores híbridos. Neste trabalho é utilizada uma adaptação da técnica de

estabilização utilizando sinais não contínuos ou transformações não lineares, proposta

por Aicardi, 1995.

Como foi visto anteriormente, algumas técnicas de controle utilizam formas

canônicas do problema para encontrar soluções que satisfaçam os requisitos

desejados. A forma proposta por Aicardi (1995) consiste em modelar o problema

utilizando coordenadas polares.

Será considerada a origem do referencial <g> como sendo a posição a ser

alcançada e o alinhamento do robô na direção do eixo x de <g> como a orientação

desejada. Neste caso, os estados ‘e’, ‘α ’ e ‘θ ’ representam erro de posição, em

coordenadas polares representado por ‘e’ e ‘θ ’ e erro de alinhamento, representado

por ‘α ’. Entende-se por erro de alinhamento a diferença angular entre a orientação

desejada e o ângulo ‘θ ’, que descreve a direção que o robô deve ir para chegar à

origem de <g>.

18

X

Y

ø w

θ

α u

e

<g>

Figura 4-1: Posição e orientação do robô em coordenadas polares.

=

−=

−−=

w

senu

ue

φφθθ

φθ

&

&

&

)(.

)cos(.

(4.1)

Onde u representa a velocidade linear do robô e w representa a velocidade

angular do robô.

O método proposto por Aicardi visa minimizar as variáveis ‘ e’, ‘α ’ e ‘θ ’,

descritas na equação 4.1, o que implica em dizer que a configuração final do robô é

esperada na origem do referencial <g>, com orientação 0º. Como se trata de um caso

particular, para alcançar outras configurações finais deve-se transladar e rotacionar o

referencial <g> em relação ao referencial inercial a fim de atingir a configuração

desejada.

A substituição de )( φθ − por α nos leva à equação 4.2.

19

=

+−=

−=

e

senu

e

senuw

ue

)(.

)(.

)cos(.

αθ

αα

α

&

&

&

(4.2)

Nota-se que esta forma de equacionamento apresenta uma singularidade para o

caso de e=0.

A equação (4.2) deve ser perfeitamente compreendida, pois será utilizada como

base para todo o controle que apresentado a seguir, portanto será detalhada cada

expressão.

)cos(. αue −=& (4.3)

A derivada do erro em distância é igual à componente da velocidade linear na

direção da origem do referencial <g>. O sinal negativo indica que o erro em distância

deve diminuir quando o robô estiver orientado na direção da origem de <g>.

e

senvw

)(.

αα +−=& (4.4)

A derivada do ângulo entre o alinhamento do robô e a direção que leva à origem

é igual à velocidade angular somada a componente da velocidade linear normal à

direção da origem do referencial <g>. Esta componente ‘ )(. αsenv ’ é normalizada pela

distância ‘e’, que se comporta como o raio da trajetória.

e

senv

)(.

αθ =& (4.5)

A variação do ângulo θ , lembrando que θ indica a direção da origem do

referencial <g> para o robô, é dada diretamente pela componente da velocidade linear

normal à θ . Esta componente ‘ )(. αsenv ’ também é normalizada pela distância ‘e’.

Pode-se então escrever a equação (4.2) da seguinte forma:

20

−−

=

w

u

esen

esen

e

.

0/)(

1/)(

0)cos(

αα

α

θα (4.6)

4.2.1 Estabilização no Ponto

Pode-se definir o problema da estabilização em um ponto da seguinte maneira:

“Seja um robô móvel com acionamento diferencial localizado inicialmente a uma

distância não nula do referencial-alvo <g> e assumindo que as variáveis [ e, α, θ ] ’são

diretamente mensuráveis para qualquer ponto onde 0>e . Encontrar uma lei de

controle [u,w]’ = ),,( θαeg que garanta que os estados convirjam assintoticamente para

o estado [0,0,0]’ sem atingir a condição e = 0 em tempo finito” (Aicardi, 1995).

Para encontrar tal lei de controle é utilizada a teoria da estabilidade de

Lyapunov. Este método consiste basicamente em encontrar uma função, denominada

função candidata de Lyapunov tV ∀> 0),,( θαλ , cuja derivada temporal deve ser

negativa para qualquer tempo finito, i. e. tV ∀< 0),,( θαλ& . Em outras palavras, as

variávei utilizadas para o equacionamento da função candidata devem diminuir

progressivamente sua energia, caracterizando estabilidade.

A função candidata de Lyapunov escolhida é:

( )222

2

1

2

1 θαλ heV ++= (4.7)

Cuja derivada é dada por:

( )θθααλ &&&& heeV ++= (4.8)

Substituindo [ θα ,,e ]’ de acordo com (5.2) , chega-se a:

+

+−+=e

senuh

e

senuweuV

)(.

)(.)cos(

αθαααλ& (4.9)

21

Esta função deve ter derivada negativa, portanto deve-se escolher um controle

[ wu, ] que satisfaça tal condição. Para facilitar a análise, a função foi dividida em duas

partes:

21 VVV &&& += (4.10)

)cos(1 αλevV =& (4.11)

+

+−=e

vhe

vwV)sin()sin(

2

αθαα& (4.12)

O controle ‘u ’ é determinado pela análise de (4.11).

)cos(αγev −= (4.13)

A prova da estabilidade é obtida pela substituição de (4.13) em (4.11):

0,0,0)( 221 >>≤−= γλαλγ esenV& (4.14)

Agora é feita a substituição de (4.13) em (4.12):

−+

−−=e

seneh

e

senewV

)().cos(

)().cos(2

ααγθααγα& (4.15)

( ) ( ))()cos()()cos(2 ααγθααγα senhsenwV −+−−=& (4.16)

++−= )()()cos(

2 θαα

ααγα hsen

wV& (4.17)

Assim, o controle ‘ w ’ é definido por:

)()()cos( θα

αααγα h

senkw ++= (4.18)

A prova da estabilidade é obtida pela substituição de (4.18) em (4.12).

22

+++−−= )()()cos(

)()()cos(

2 θαα

ααγθαα

ααγαα hsen

hsen

kV& (4.19)

0,022 >≤−= kkV α& (4.20)

Portanto as leis de controle que levam o robô à origem do referencial-alvo <g>

são:

++=

−=

)()()cos(

)cos(

θαα

ααγα

αγ

hsen

kw

eu (4.21)

4.2.2 Estabilização em uma trajetória

O problema da estabilização em uma trajetória consiste em determinar uma

trajetória sobre a qual o veículo deverá se mover de forma suave. Dado um caminho

orientado, parametrizado por ‘s’ e denotando por p(s) o estado que o veículo assume

ao longo do caminho, considere-se a possibilidade de movimento contínuo de p(s)

sobre o caminho ‘s’.

Figura 4-2: Seguimento de uma trajetória.

Assim, considerando p(s) como o objetivo a ser alcançado, verifica-se através da

imposição de movimento de p(s) que as equações cinemáticas (4.2) se modificam:

s p(0)

p(s)

23

−−=

−+−=

+−=

)(

)(sen)sen(.

)(sen)sen(.

)cos()cos(.

sR

s

es

eu

es

euw

sue

&&&

&&

&&

θαθ

θαα

θα

(4.22)

Onde R(s) é o raio de curvatura do caminho S. É importante ressaltar que o raio

de curvatura pode assumir valores positivos e negativos, dependendo da posição do

centro da curva em relação ao caminho. Comparando (4.2) com (4.22), percebe-se que

os termos adicionados estão todos multiplicados por s& .

Uma característica deste tipo de controle é a imposição da orientação do robô

sobre a trajetória, devido ao fato do veículo se mover apenas em uma direção. Assim,

dados dois pontos A e B, consecutivos em uma trajetória, a única orientação do veículo

que leva do ponto A para o B, é a mesma do vetor AB . Como o sistema de

coordenadas se move com o deslocamento do alvo p(s) de forma que o eixo x do

sistema de coordenadas aponte para a direção a ser seguida, esta deve ser também a

orientação do veículo.

Comparando os termos adicionados aos existentes na equação (5.2), verifica-se

que aos termos relacionados a velocidade linear imposta ao veículo pelo controle ‘u’ é

somada a velocidade s& na qual o alvo se move. O sinal contrário da velocidade

imposta pelo movimento da referência p(s) é devido ao fato do erro aumentar conforme

aumenta a velocidade do alvo. Verifica-se também a substituição de ‘α’ por ‘θ’ onde se

está decompondo a velocidade. Isto ocorre porque ‘α’ leva em consideração a

orientação do veículo, que não tem relação direta com o movimento do alvo p(s).

A seguinte política para a determinação da velocidade s& é adotada:

≤++=

>++==

εθαλθαεθαλ

)( ),,f(e,

)( 0,222

222

heV

heVs& (4.23)

Onde V é a função candidata de Lyapunov, que expressa o erro de posição e de

alinhamento. A variável ε indica o erro máximo para a qual o sistema é governado pela

equação (4.22). Quando o erro (V) for maior que ε, a referência de velocidade pára de

se mover ( s&= 0 ) e o sistema se comporta como o descrito por (4.2). Note que isto

ocorre pois todos os termos acrescentados em (4.22) são multiplicados por s& .

24

Em torno do alvo p(s) é criada uma região elipsoidal no espaço de estados do

robô, dentro da qual o erro é admissível. A função f( θα ,,e ) expressa a velocidade que

a referência p(s) deve se deslocar. Assim, f( θα ,,e ) deve ter um valor máximo quando o

veículo estiver sobre o alvo p(s) e valor nulo para o caso do robô estar sobre a borda

da elipsóide. As leis de controle utilizadas são as mesmas de (4.21).

25

5. Implementação do Controle em malha fechada

Seja a configuração do robô descrita pela tripla 12),,( SRyx RR ×∈φ , onde ),( RR yx

são as coordenadas de um ponto de referência sobre o robô, relacionado ao sistema

cartesiano inercial e φ o ângulo entre os eixos x, no sentido positivo, do robô e do

sistema Cartesiano inercial. Da mesma maneira, a postura desejada para este robô,

pode ser representada pela tripla 12),,( SRyx TT ×∈σ , onde a interpretação é equivalente

a explicada anteriormente. A diferença entre a postura desejada e a atual, em

coordenadas polares, é determinada pelas seguintes equações.

22 yxe ∆+∆= (5.1)

∆∆=

x

ya tanθ (5.2)

onde RT xxx −=∆ e RT yyy −=∆ .

O sub-índice “C” indica relação ao robô (car), enquanto que “T”, expressa

relação ao alvo (target).

Então, derivando estas equações em relação ao tempo e considerando o alvo

em movimento, tem-se:

TT

RR

TT

RR

yy

ey

y

ex

x

ex

x

ee &&&&&

∂∂+

∂∂+

∂∂+

∂∂= (5.3)

TT

RR

TT

RR

yy

yy

xx

xx

&&&&&

∂∂+

∂∂+

∂∂+

∂∂= θθθθθ (5.4)

Fazendo φθα −= e desenvolvendo as equações acima, tem-se:

26

−++−=

−+=

+−=

ssinee

vsin

ssinee

vsin

ssinve

&&

&&

&&

))cos(),((1)(

))cos(),((1)(

))(),(cos()cos(

θθαωα

θθαθ

θθα

(5.5)

onde TTT )y,x(s &&& = .

O eixo X do sistema de coordenadas do alvo aponta para a direção tangente à

trajetória, fazendo com que o termo yT seja nulo. Neste caso, não há informações no

modelo que permitam que a trajetória mude sua direção, apenas sua velocidade. Uma

perturbação é adicionada na equação 5.5, no parâmetro θ , a fim de representar as

curvas da trajetória.

)())cos(),((

1)(

sR

sssin

ee

vsin &&& +−+= θθαθ (5.6)

Considerando apenas o problema da estabilização em torno de um ponto, 0=s& ,

a seguinte função candidata de Lyapunov é proposta.

222

2

1

2

1

2

1 θα ++= eV (5.7)

Como solução para este problema, as seguintes leis de controle foram obtidas

(Aicardi, 1995).

++=

−=

)()sen()cos(

)cos(

θαα

ααγα

αγ

hkw

ev

(5.8)

A desvantagem deste método é a forma como a trajetória é especificada. Mesmo

que seja possível calcular o raio da trajetória em cada ponto do caminho, esta

informação não está diretamente relacionada ao sistema de coordenadas inercial.

27

Desta forma, os erros na tarefa de seguir uma trajetória produzem um erro de distância

entre o alvo desejado e a posição do veículo, quando integrados em um tempo finito.

A fim de transformar o erro relativo integrado em um erro absoluto, em relação

ao referencial inercial, o comportamento do veículo é descrito em coordenadas

cartesianas. O movimento do alvo não é descrito diretamente, mas está implícito nos

erros de distância.

∆∆

=

y

x

wv

y

x

R

R

.

0010

100sin

010cos

φφ

φ&&

&

(5.9)

Com uma simples transformação de coordenadas, os estados do veículo voltam

a ser expressos em coordenadas polares, cumprindo os requisitos para fechar a malha,

através da equação 4.21.

Para realizar a tarefa de seguimento de trajetória, uma estratégia baseada no

erro em distância entre o veículo e o alvo é adotada. Uma região circular, de raio RMAX,

centrada em (xT,yT), é associada a cada par de coordenadas da trajetória. Se o veículo

estiver dentro desta região, um valor positivo é atribuído à velocidade do alvo,

caracterizando um problema de seguimento de trajetória. A equação 5.10 define esta

região.

∆+∆−= 0,1max22

MAXR

YXS (5.10)

Note que quanto menor for o erro em distância, maior será a velocidade do alvo,

e maior também a velocidade do robô. Quando o veículo estiver fora desta região

circular, o ponto alvo irá parar de se mover, resultando num problema de estabilização

em um ponto. A figura 5-1 mostra o movimento do alvo como função do erro de posição

entre o veículo e o alvo.

28

Para determinar a trajetória, pontos-chave são escolhidos no caminho desejado

e os pontos restantes são calculados por interpolação cúbica. Isto resulta nos vetores X

e Y. Note que estes vetores não estão associados ao tempo, portanto, o acesso a

estes vetores é feito através da integração da velocidade do alvo (equação 5.10).

A velocidade do alvo pode ser externamente forçada a zero quando se deseja

realizar uma varredura com o ultra-som, a fim de obter a posição do veículo de forma

absoluta. Isto ocorre quando o erro odométrico, estimado pela soma da integral das

variáveis de controle (v e w), atinge um valor predeterminado.

Figura 5-1: Velocidade do alvo em função do erro em distância.

A figura 5-2 mostra um exemplo de trajetória e a região admissível associada a um

ponto do caminho.

29

Figura 5-2. Exemplo de trajetória e erro admissível associado a um ponto.

(XR,YR) (XT,YT)

RMAX

30

6. Localização

Para a localização dentro de um ambiente previamente conhecido, o robô

PITECO conta com odometria e um sonar ultra-sônico, que consiste em um sensor de

ultra-som montado sobre um motor de passo capaz de fazer uma varredura de 360º.

A navegação por odometria, conhecida como dead reckoning, é de

implementação relativamente fácil e apresenta bons resultados para trajetos curtos.

Porém, como esta técnica se baseia em medidas relativas, um pequeno erro de

posição e orientação é integrado a medida que o veículo se movimenta, gerando um

erro significativo para trajetórias mais longas.

Como alternativa para minimizar o erro em trajetórias maiores, o sonar ultra-

sônico foi a solução escolhida. O princípio de funcionamento se baseia em uma rede

neural do tipo RBF que compara os dados de distância obtidos por uma varredura do

sonar com as entradas utilizadas durante o treinamento da rede.

6.1. Sensor de ultra-som

O sensor de ultra-som utilizado é fabricado pela Polaroid. Seu princípio de

funcionamento é baseado no tempo de resposta de um sinal sonoro na freqüência de

49,7kHz que é emitido e recebido pelo mesmo transdutor, refletindo no obstáculo cuja

distância está sendo medida. Esta técnica é conhecida como Time of Flight (TOF).

Um feixe direcional de ondas planas, com concentração de energia gaussiana é

a aproximação idealizada do sinal emitido (Kuc et al., 1989, 1990, 1991). Os principais

problemas na utilização do ultra-som decorrem dos princípios físicos que governam a

propagação das ondas sonoras. Os dois principais fenômenos relevantes ao uso do

ultra-som são a difração e a reflexão. A difração ocorre quando a onda encontra um

31

obstáculo com dimensões comparáveis ao seu comprimento de onda (7 mm), onde se

incluem bordas de superfícies. Neste caso, a frente de onda plana concentrada em um

feixe cilíndrico se torna esférica, espalhando sua energia com o quadrado da distância

percorrida. Por este motivo, a detecção de obstáculos deste tipo tem uma distância

limitada.

Por se tratar de um feixe cilíndrico, quando um sinal sonoro encontra uma

superfície plana, com rugosidade muito menor que o comprimento de onda, o obstáculo

se comporta como um espelho. O feixe é refletido com ângulo de reflexão igual ao

ângulo de incidência, em relação à reta normal à superfície. Desta forma, o sinal

refletido que chega ao receptor pode percorrer caminhos diferentes do sinal emitido, se

for considerada a hipótese de múltiplas reflexões. Como conseqüência, só tem-se

medidas confiáveis de distância quando o ângulo de incidência em relação à normal de

uma superfície plana for pequeno.

Diversos artigos (Kuc et al., 1989, 1990; Gutierrez et al., 1998) foram escritos na

década de 90 com o objetivo de modelar o sensor de ultra-som. Um modelo mais

preciso do sonar poderá fornecer dados mais confiáveis, essenciais para o

desenvolvimento do algoritmo descrito a seguir.

6.2. Sonar

O sonar consiste de um sensor de ultra-som montado sobre um motor de passo

capaz de realizar uma varredura de 360º. O motor de passo utilizado possui uma

resolução de 1,8º/passo, o que permite uma varredura de 360º com resolução de 200

medidas. Uma chave de fim de curso indica a posição inicial do ultra-som. Cada vez

que o robô é iniciado, o motor de passo é acionado até que a posição inicial do ultra-

som seja determinada.

6.3. Rede Neural

A rede neural artificial utilizada é do tipo RBF. Possui 3 camadas, sendo a

primeira de 200 entradas (uma para cada direção do sonar), uma camada intermediária

32

oculta de 41 neurônios e uma camada com duas saídas (x,y). Na entrada da rede

neural tem-se o vetor de 200 posições obtido através da varredura do sonar. O

treinamento da rede é feito com 42 pontos dispostos uniformemente em um mapa

conhecido. A distância esperada para cada direção mensurável pelo sonar é calculada

e utilizada como entrada teórica para a rede. Do mesmo ponto, as coordenadas

cartesianas x e y são utilizadas como referência de saída para a rede. Desta forma, a

rede é treinada com dados sintéticos, dispensando a etapa de obtenção em campo dos

vetores de 200 posições através de medidas no ambiente real.

6.4. Estratégia de localização

Como a rede neural só é capaz de determinar as coordenadas x e y do robô,

uma estratégia auxiliar de localização que contempla também a orientação φ foi

utilizada. O vetor de distâncias lidas é utilizado como entrada para a rede neural, que

por sua vez responde as coordenadas equivalentes. A seguir, com base nestas

coordenadas é calculado o vetor de entradas esperado e obtido o valor do erro médio

quadrático entre o sinal medido e o calculado. Em seguida, o vetor de distâncias

medidas é rotacionado, simulando um incremento de 1,8º na orientação do robô. O

processo de determinação de coordenadas por rede neural e cálculo do erro médio é

repetido até que as 200 orientações possíveis tenham sido utilizadas. A orientação

considerada correta será aquela que apresentar menor erro médio quadrático.

Maiores detalhes a respeito deste algoritmo de localização podem ser

encontrados em Berg, 2005.

33

7. Resultados

Serão apresentados aqui os resultados obtidos nas principais áreas de

desenvolvimento deste trabalho: estabilização em torno de um ponto, estabilização em

torno de uma trajetória e localização.

7.1. Estabilização em torno de um ponto

O método implementado para a estabilização em um ponto utiliza sinais não

contínuos ou transformações não lineares (Aicardi, 1995). O ambiente de simulação,

ilustrado na figura 6-1, utilizado para o teste antes da implementação real, revelou que

os sinais de controle nas rodas chegam a 6m/s, excedendo a velocidade máxima do

robô PITECO, que é de aproximadamente 1m/s. Como apenas o modelo cinemático do

robô está sendo considerado, e a fim de evitar problemas de escorregamento das

rodas, a velocidade do robô foi limitada em 0,2m/s.

Figura 7-1: Ambiente de simulação no MATLAB/Simulink.

34

Figura 7-2: Velocidades nas rodas.

Este problema foi resolvido com o desenvolvimento de um saturador especial,

visto na figura 7-3.

Figura 7-3: Saturador.

Com este sistema, a velocidade das rodas fica limitada a 0,2m/s em módulo,

mas a velocidade das duas rodas é proporcional. Se, por exemplo, o bloco de controle

enviar um sinal indicando que a roda direita deve andar a 2m/s e a roda esquerda a

1m/s, o saturador desenvolvido limitará a velocidade da roda direita em 0,2m/s e

manterá a roda esquerda a 0,1m/s.

35

Outro problema encontrado está na restrição do equacionamento que não

permite que o erro em distância seja nulo. Caso isto ocorra, a informação de θ não faz

sentido, pois um raio nulo já define a localização de um ponto no plano. Como a

orientação do robô não é uma variável utilizada diretamente, mas relacionada a θ, ao

chegar em um erro de distância ‘e’ muito pequeno, o robô não consegue determinar

sua orientação e começa a girar em torno do próprio eixo. Para resolver este problema,

foi estabelecido um critério de parada: quando o valor da função de Lyapunov (5.7),

que expressa o erro quadrático dos estados, for inferior a um valor estabelecido como

erro aceitável, o robô pára.

Os dados obtidos na implementação real, mostram o robô se deslocando do

ponto (-1,-1,0) ao ponto (0,0,0). A figura 7-4 mostra os resultados obtidos.

Figura 7-4: Resultados obtidos em tempo real.

36

7.2. Estabilização em torno de uma trajetória

A fim de observar o comportamento da estratégia de localização, foram

escolhidos os seguintes pontos:

X = [ 0 0.5 1.0 1.5 1.5 1.5 1.0 0.5 0.5 1.0 ]

Y = [ 0 0 0 0 0.5 1.0 1.0 1.0 1.5 1.5 ]

A partir destes pontos, foi feita uma interpolação cúbica para cada um dos

vetores X e Y, com 100 pontos intermediários entre cada par de pontos principais. O

resultado deste processo pode ser visto na figura 7-5.

Figura 7-5: Trajetória gerada por interpolação cúbica.

Os parâmetros utilizados na simulação podem ser vistos na tabela a seguir.

37

Parâmetro Valor

RMAX 0,1m

γ 3

k 6

h 1

X0 0,5 m

Y0 0,5 m

A figura 7-6 compara a trajetória planejada, com a efetivamente seguida, no

ambiente de simulação.

Figura 7-6: trajetória seguida.

Percebe-se na figura 7-6 que inicialmente o robô se desloca em direção ao início

da trajetória. Uma vez que o robô entra em uma região de erro pequeno, e com a

orientação adequada, a trajetória é seguida com erro praticamente nulo.

38

7.3. Localização por redes neurais

O ambiente escolhido para o teste dos algoritmos de localização pode ser visto

na figura 7-7.

Figura 7-7: Mapa do ambiente de localização.

Os pontos marcados por um “x” no mapa representam as coordenadas

utilizadas para o treino da rede neural. A tabela a seguir compara o resultado em

simulação de 10 pontos escolhidos aleatoriamente em espaços válidos do ambiente. O

algoritmo utilizado simula a leitura do sonar nas 200 possíveis orientações e fornece o

vetor resultante à rede neural.

39

Real Simulado Erro

X (mm) Y (mm) φ (º) X (mm) Y (mm) φ (º) X (mm) Y (mm) φ (º)

203 90 0 182 87 347,4 21 3 12,6

61 165 0 68 152 23,4 7 13 23,4

65 70 0 76 65 1,8 11 5 1,8

192 123 0 230 124 0 38 1 0

318 108 0 292 122 0 26 14 0

315 52 0 311 85 7,2 4 33 7,2

366 110 0 310 137 0 56 27 0

255 64 270 202 83 270 53 19 0

80 69 180 84 52 180 4 17 0

88 140 125 98 109 137,6 10 31 12,6

O resultado apresentado na tabela anterior pode ser visto na figura 7-8. Os

pontos marcados por “+” representam a posição real do robô, enquanto que os pontos

marcados com “o”, indicam a resposta da estratégia com redes neurais.

Figura 7-8: Erro de localização.

Percebe-se pelas informações apresentadas que existe um erro considerável na

estratégia de localização. Este erro está intimamente relacionado às características do

sonar utilizado e, principalmente, do ambiente em que o robô irá navegar. Quanto

maior for o número de características detectávei pelo sonar, maior será a precisão das

40

medidas de localização. O modelo utilizado para o ultra-som foi simplificado,

considerando apenas um ângulo de abertura para o feixe de ondas, sem considerar os

efeitos provocados por bordas, cantos e reflexões que originam multipercurso.

Para continuar a análise, serão considerados os resultados obtidos para o

primeiro ponto (x=203 mm, y=90 mm, φ =0º). A figura 7-9 compara o vetor de distâncias

obtido com o esperado.

Figura 7-9: Comparação entre dados obtidos e esperados.

O principal efeito verificado na figura acima que gera erro é a reflexão quando a

frente de onda incide em um ângulo de aproximadamente 45º com uma superfície lisa.

Isto explica as duas divergências encontradas na parte inferior da figura 7-9.

Na figura 7-10, o resultado teórico esperado, utilizando o modelo simplificado do

ultra-som, foi sobreposto ao mapa do ambiente. Já na figura 7-11, o resultado

experimental obtido foi sobreposto ao mapa do ambiente.

41

Figura 7-10: Sobreposição do sinal esperado no mapa.

Figura 7-11: Sobreposição do sinal real no mapa.

42

Conclusões

O trabalho com robôs móveis autônomos é particularmente interessante, pois

requer conhecimentos em diversas áreas. Dentre as principais ciências utilizadas neste

trabalho pode-se citar a Física, no equacionamento da cinemática do veículo, o cálculo

diferencial e integral e a álgebra linear na formulação e solução das equações de

estados do robô. Conhecimentos em eletrônica digital e microcontroladores foram

fundamentais para o trabalho com as interfaces entre sensores, robô e computador. A

Informática proporcionou os conhecimentos necessários para a programação do

computador, responsável pelo gerenciamento do robô. Finalmente os Sistemas de

Controle, foco principal do trabalho, estiveram presentes em todas as etapas do

projeto, balizando todo o trabalho desenvolvido até aqui.

A escolha de uma plataforma totalmente desenvolvida no GACS, além de

contribuir para o desenvolvimento da pesquisa realizada nesta área a no mínimo seis

anos neste laboratório, apresenta outras vantagens sobre a aquisição de uma onerosa

plataforma comercial equivalente. Entre estas vantagens estão a não dependência do

fabricante para atualizar os recursos do veículo, a possibilidade de agregar novos

sensores e/ou atuadores e o desenvolvimento de tecnologia própria nesta área de

crescente interesse em diversos tipos de aplicação.

43

Referências Bibliográficas

1. Microchip Technology Inc.,” PIC17C7XX User's Guide, DS30289b”, http://www.microchip.com/

2. Altera Corporation, “Device Data book”, http://www.altera.com/

3. The MathWorks Inc., “Simulink - Writing S-Functions, Version 3”, http://www.mathworks.com/

4. IEEE STANDARDS – Institute of Electrical and Electronic Engineers. http://standards.ieee.org/

5. Matlab User’s Guide, “Real-Time Workshop,” Version 3, The MathWorks Inc., 1999.

6. NOVEL, B.; BASTIN, G.; CAMPION G. “Control of nonholonomic wheeled mobile robots by state feedback linearization. International Journal of Robotics Research, vol. 14, 6, pp543-559, 1995.

7. SAMSON, C. “Time-varying feedback stabilization of car-like wheeled mobile robots”. International Journal of Robotics Research, vol. 12 pp. 55-64, 1993.

8. AICARDI, M.; CASALINO, G.; BICCHI, A.; BALESTRINO, A. “Closed loop steering of unicycle-like vehicles via Lyapunov techniques”. IEEE Robotics e Automation Magazine, vol.2, pp. 27-35, 1995.

9. FIGUEIREDO, L. C.; JOTA, F. G. “Introdução ao Controle de Sistemas Não-Holonômicos”. Revista Controle & Automação / Vol. 15 no. pp. 243-268, 2004.

10. CHAVES, L. F.; PEREIRA ,L. F. A.;SPILLER, CAPELETTI P. A.; E. A.; MANZONI, A. “Design and construction of a low-cost mobile robot platform for developing and validating control navigation algorithms”. In the 25th Annual Conference of He IEEE Industrial Electronics Society – IECON, pages 541-546, San Jose – CA, 1999.

11. CONCEIÇÃO, A. G. S.; PEREIRA, L. F. A.; CHAVES, L. F. Projeto e Desenvolvimento de um Robô de Serviço Incorporando a Vantagens da Prototipação Rápida. In: XXIX Congresso Brasileiro de Ensino de Engenharia, 2001, Porto Alegre. Anais do XXIX COBENGE, 2001. v. 1. p. 486-492.

12. CHAVES, L. F.; CONCEIÇÃO, A. G. S.; SPILLER, P. A.; PEREIRA, L. F. A. “A Matlab/Simulink Based Plataform for Real-Time Planning and Execution of Control Technicques Apllied to Mobile Robots”. In: IEEE International Symposium on Computacional Intelligence in Robotics and Automation, 2001, Alberta, Canada. Proceedings of CIRA 2001, 2001. v. 01. p. 530-535.

44

13. CONCEIÇÃO, A. G. S.; CONTE, R. N.; PEREIRA, L. F. A. ; CHAVES, L. F.. “Projeto e Desenvolvimento de uma Plataforma Móvel de Baixo Custo Utilizada para o Ensino de Automação e Controle”. In: XIV Congresso Brasileiro de Automática, 2002, Natal. XIV Congresso Brasileiro de Automática, 2002. v. 1. p. 2144-2149.

14. CONCEIÇÃO, A. G. S.; R. N. CONTE, CHAVES, L.F.; PEREIRA, L. F. A., “Strategy of Localization Using The Neural Network Toolbox of the Matlab/Simulink Applied to Mobile Robots”, IEEE International Symposium on Industrial Electronics - ISIE 2003, 9-12 June/2003 – Rio de Janeiro – Brazil.

15. CONCEIÇÃO, A. G. S..“Desenvolvimento de um Ambiente Integrado em Tempo Real para Validação e Implementação de Algoritmos de Localização, Navegação e Controle de um Robô Móvel Autônomo”. Tese de Mestrado defendida em 2003 na PUCRS.

16. CHAVES, L. F. “Projeto, Construção, Modelagem e Controle de um Robô Móvel”. Tese de mestrado defendida em 2000 na PUCRS.

17. KUC R.; BARSHAN, B.. “Navigating vehicles through an unstructured environment with sonar,'' Proceedings of IEEE Conference on Robotics and Automation, pp.1422-1426, May 1989, Scottsdale, Arizona, U.S.A.

18. KUC, R. "A Spatial Sampling Criterion for Sonar Obstacle Detection," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 12, no. 7, pp. 686-690, July, 1990.

19. BOZMA O.; KUC, R. "Building a Sonar Map in a Specular Environment Using a Single Mobile Sensor", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 13, no. 12, pp. 1260-1269, December, 1991.

20. GUTIERREZ-OSUNA, R; JANET, J. A.; LUO, R.C. “Modeling of ultrasonic range sensors for localization of autonomous mobile robots” Industrial Electronics, IEEE Transactions on, volume 45, Issue 4, pp.654 – 662 Aug. 1998

21. BARSHAN, B.; AYRULU, B.; UTETE, S.W. “Neural network-based target differentiation using sonar for robotics applications”, Robotics and Automation, IEEE Transactions on Volume 16, Issue 4, Aug. 2000 Page(s):435 – 442

22. CONTE, R. N. “Ambiente Integrado para o Desenvolvimento de Estratégias de Acionamento e Controle de Máquinas de Corrente Alternada”. Dissertação de Mestrado defendida em 2003 na PUCRS.

23. BERG, A. “Localização de um robo móvel em um ambiente estruturado através de Redes Neurais”. Trabalho de Conclusão de Curso, PUCRS, 2005.