• Nenhum resultado encontrado

Identificação e controle de micro-robôs móveis

N/A
N/A
Protected

Academic year: 2017

Share "Identificação e controle de micro-robôs móveis"

Copied!
144
0
0

Texto

(1)

Centro de Pesquisa e Desenvolvimento em Engenharia Eletrica

Identicac~ao e controle de micro-rob^os moveis

Guilherme Augusto Silva Pereira

Dissertac~ao de mestrado submetida a Banca Examinadora designada pelo Colegiado do Programa de Pos-Graduac~ao em Engenharia Eletrica da Universidade Federal de Minas Gerais, como requisito parcial para obtenc~ao do ttulo de Mestre em Engenharia Eletrica.

(2)

Resumo

Este trabalho prop~oe um controlador de posic~ao para rob^os moveis n~ao-holon^omicos baseado em tecnicas classicas de controle. O projeto dos con-troladores e baseado em modelos lineares, determinados atraves de metodos estocasticos de identicac~ao que se utilizam de dados experimentais. Alem disso, estes modelos s~ao utilizados como preditores para compensac~ao de tempo morto e consequente melhoria no desempenho do sistema. O trabalho prop~oe ainda um desacoplamento entre as variaveis de sada do rob^o, permi-tindo o uso de controladores monovariaveis independentes. As metodologias propostas foram validadas em uma plataforma de futebol de rob^os, desen-volvida por alunos de graduac~ao na UFMG, que se constitui basicamente de um computador que controla, por radio, tr^es micro-rob^os observados por um sistema de vis~ao computacional. Resultados experimentais mostraram que, apesar das diculdades impostas pelos aspectos construtivos deste sistema, o controle proposto apresenta bons resultados e e uma boa alternativa as tecnicas complexas encontradas na literatura. A proposta foi implementa-da considerado-se que o sistema sera usado como plataforma de testes para cooperac~ao em tempo real de agentes roboticos em jogos de futebol de rob^os.

(3)

This work proposes a position controller for nonholonomic mobile robots based on classic techniques of control. The controllers project is based on linear models, determined through stochastic methods of identication based on experimental data. Besides, these models are used as predictors for com-pensation of dead time and consequent improvement in the response of the system. The work still proposes, a decoupling among the robot output vari-ables, yielding independent and monovariable controllers. The suggested methodology was validated using a platform of robots' soccer, developed by under-graduate students at UFMG. The setup is constituted basically by a computer that controls, via radio, three robots observed by a computer vision system. Experimental results showed that, in spite of the diculties imposed by the constructive aspects of this system, the proposed control presents good results and it is an adequate alternative to the complex techniques found in the literature. The proposal was implemented considered that the system will be used as platform of tests for real time cooperation of three agents playing robot soccer.

(4)

durante toda a minha vida.

(5)

Agradecimentos

Agradeco em primeiro lugar aos professores Mario Campos, pela con-anca, paci^encia e orientac~ao, Walmir Caminhas, pela orientac~ao acad^emica e Luis Aguirre pelas opini~oes e discuss~oes.

Gostaria de fazer um agradecimento especial a Cinthia pelo apoio, com-panheirismo e paci^encia e ainda a todos os meus familiares e amigos que de alguma forma contriburam para realizac~ao deste trabalho.

N~ao poderia de deixar de agradecer aos colegas de \equipe": Ancio, Boc, Bene, Caixeta, Danilo, Hartmann, Marco Aurelio, Valder e principalmente ao Andre, pelo sistema de vis~ao e Mangini, pelo sistema no LINUX. Alem destes, sem os quais o projeto MIneiROSOT n~ao teria sido possvel, gostaria de agradecer o pessoal do Laboratorio de Robotica: Alexei, Chaimo, Denilson, Lucio, Paulo, Piti, Rafael, Raquel, Saulo e os \calouros", Bruno, Daniel, Fabio, Rodrigo e Thiago pelo bom ambiente de trabalho.

Queria agradecer aos colegas Flister, Adriano e Leo, pelo companheirismo alem das discuss~oes tecnicas e losocas durante os nossos poucos momentos de folga.

Merecem os meus agradecimentos tambem todos os meus professores de graduac~ao e em especial os Profs. Fabio Jota, Jose Carlos, Ronaldo Pena, Eduardo Mota e Constantino Seixas cujos ensinamentos foram muito uteis durante a execuc~ao desta dissertac~ao.

Finalmente, gostaria de agradecer o apoio nanceiro da CAPES e dos patrocinadores do projeto: Engetron, IMPEX e DCC.

(6)

Sumario

Lista de Figuras

vii

1 Introduc~ao

1

1.1 Objetivos . . . 4

1.2 Relev^ancia e Contribuic~oes . . . 4

1.3 Organizac~ao da Dissertac~ao . . . 5

2 Trabalhos Relacionados

6

3 Metodologia

12

3.1 Denic~ao do problema . . . 12

3.1.1 Controlador . . . 14

3.2 Modelo Din^amico . . . 17

3.2.1 Parametrizac~ao do modelo . . . 21

3.2.2 Estimac~ao dos Par^ametros . . . 22

3.3 Projeto do controlador . . . 24

3.3.1 Analise do sistema . . . 25

3.3.2 Efeito dos controladores de velocidade . . . 27

3.3.3 Desacoplamento entre os controladores . . . 30

3.3.4 Identicac~ao em tempo real . . . 34

3.3.5 Estrutura do controlador . . . 35

3.3.6 Projeto por Lugar das Razes . . . 38

3.3.7 Efeito do atraso . . . 42

3.3.8 Compensac~ao do atraso . . . 44

4 Resultados Experimentais: Modelagem

46

4.1 Descric~ao do sistema . . . 46

4.1.1 Rob^o . . . 48

4.1.2 Vis~ao . . . 52

4.1.3 Controle . . . 53

4.2 Modelagem . . . 55

(7)

4.2.1 Estimac~ao de Par^ametros . . . 58

4.2.2 Validac~ao do modelo . . . 63

4.2.3 Estimac~ao de par^ametros em tempo real . . . 67

5 Resultados Experimentais: Controlador

76

5.1 Controle de ^angulo . . . 76

5.1.1 Compensac~ao de tempo morto . . . 86

5.1.2 Controlador preditivo . . . 90

5.2 Rastreamento de trajetorias . . . 94

5.3 Cooperac~ao entre rob^os . . . 112

6 Conclus~oes e Perspectivas Futuras

114

Refer^encias Bibliogracas

119

A Simulador para o MATLAB

127

A.1 Rob^o . . . 127

A.2 Vis~ao . . . 128

B Estimador EMQ

131

B.1 Estimac~ao em batelada . . . 132

(8)

1.1 Cenario do Futebol de Rob^os. . . 3

2.1 Nveis de controle de um rob^o aut^onomo . . . 7

3.1 Estrutura geral do rob^o . . . 13

3.2 Sistema de controle tradicional. . . 15

3.3 Diagrama de blocos de controlador. . . 16

3.4 Diagrama de forcas aplicadas ao rob^o . . . 20

3.5 Sistema de controle proposto. . . 25

3.6 Diagrama de blocos de um controlador generico . . . 29

3.7 Func~ao do controlador. . . 31

3.8 Diagrama de blocos do controlador de com desacoplamento. 33 3.9 Diagrama de blocos do controlador de dist^ancia. . . 36

3.10 Utilizac~ao da simetria do rob^o para diminuir o tempo de res-posta. . . 38

3.11 Localizac~ao dos par^ametros e ! n no plano z. . . 41

3.12 Efeito do atraso no lugar das razes. . . 43

3.13 Uso de um preditor para compensac~ao do atraso. . . 45

4.1 O time MIneiROSOT. . . 48

4.2 Relac~ao entre a variavel enviada pelo computador e a largura do pulso no receptor. . . 50

4.3 Estrutura mec^anica do rob^o. . . 51

4.4 Sistema de identicac~ao dos rob^os. . . 52

4.5 Sada do sistema de vis~ao. . . 53

4.6 Arquitetura do sistema. . . 54

4.7 Reposta ao degrau do sistema. . . 56

4.8 Func~ao de auto-correlac~ao da derivada da x. . . 57

4.9 Parte dos dados usados na estimac~ao de par^ametros . . . 58

4.10 Func~oes de auto-correlac~ao dos resduos. . . 60

4.11 Vari^ancia de um dos par^ametros do modelo. . . 61

4.12 Validac~ao independente do modelo. . . 64

(9)

4.13 Eliminac~ao da tend^encia nos dados de validac~ao independente do modelo. . . 65 4.14 Predic~oes obtidas usando o modelo completo. . . 66

4.15 Validac~ao do modelo: desvio padr~ao para predic~ao denpassos

a frente. . . 66 4.16 Predic~oes obtidas usando o modelo completo com estimac~ao

em tempo real . . . 67 4.17 Comportamento dos par^ametros e de suas vari^ancias na

pre-senca de uma falha de movimentac~ao do rob^o. . . 69 4.18 Comportamento dos par^ametros e de suas vari^ancias na

pre-senca de uma falha de excitac~ao do rob^o. . . 70 4.19 Validac~ao do modelo com estimac~ao e predic~ao em tempo real. 72 4.20 Comportamento de um par^ametro e de sua vari^ancia perante

um falha com o uso do algoritmo de prevenc~ao. . . 73 4.21 Predic~ao em tempo real sem o algoritmo de detecc~ao de falhas. 74 4.22 Comportamento de um par^ametro e de sua vari^ancia perante

um falha sem o uso do algoritmo de prevenc~ao. . . 75 4.23 Comparac~ao entre os erros de predic~ao do modelo com e sem

a detecc~ao de falhas . . . 75 5.1 Diagrama de lugar das razes do modelo de ^angulo. . . 77 5.2 Diagrama de lugar das razes do sistema controlado com PI. . 79 5.3 Resposta temporal do sistema de ^angulo controlado com PI:

K

p = 1

;53 e K

i = 0

;57. . . 80

5.4 Resposta temporal do sistema de ^angulo controlado com PI:

K

p = 1

;995 e K

i = 0

;37. . . 81

5.5 Resposta temporal do sistema de ^angulo controlado com PI:

K

p = 2

;385 e K

i = 0. . . 81

5.6 Resposta temporal do simulador controlado com PI:K

p = 1

;53

e K

i = 0

;57. . . 83

5.7 Resposta temporal do simulador controlado com PI:K

p = 2

;385

e K

i = 0. . . 84

5.8 Resposta do sistema real controlado com PI: K

p = 1

;53 e

K

i = 0

;57. . . 84

5.9 Resposta do sistema real controlado com PI: K

p = 2

;385 e

K

i = 0. . . 85

5.10 Lugar das razes do sistema sem atraso controlado com PI. . . 86 5.11 Resposta temporal do sistema de ^angulo compensado e

con-trolado com PI: K

p = 8

;802 e K

i = 3

;276. . . 87

5.12 Resposta temporal do simulador sem o atraso controlado com

PI: K

p = 8

;802 e K

i = 3

(10)

5.13 Resposta do sistema real com preditor e controlado com PI:

K

p = 8

;802 eK

i = 3

;276. . . 90

5.14 Resposta ao degrau sistema real com preditor e controlado

com PI: K

p = 8

;802 eK

i = 3

;276. . . 91

5.15 Diagrama de lugar das razes do sistema com preditor contro-lado com PI. . . 92 5.16 Resposta temporal do simulador com preditor e controlado

com PI: K

p = 19

;135 e K

i = 7

;123. . . 92

5.17 Resposta do sistema real com preditor e controlado com PI:

K

p = 19

;135 e K

i = 7

;123. . . 93

5.18 Resposta ao degrau do sistema real com preditor e controlado

com PI: K

p = 19

;135 e K

i = 7

;123. . . 93

5.19 Efeito do desacoplamento entre as componentes angulares e lineares. . . 95 5.20 Efeito do desacoplamento entre as componentes angulares e

lineares para o rob^o real. . . 96 5.21 Comportamento do simulador quando o alvo e um ponto xo

para K = 0;05. . . 97

5.22 Comportamento do rob^o real quando o alvo e um ponto xo

para K = 0;05. . . 98

5.23 Comportamento do rob^o real quando o alvo e um ponto xo

para K = 0;1. . . 99

5.24 Comportamento do rob^o real quando o alvo e um ponto xo

para K = 0;15. . . 100

5.25 Comportamento do rob^o real seguindo uma trajetoria retilnea

para K = 0;15. . . 102

5.26 Comportamento do rob^o real seguindo uma trajetoria retilnea

para K = 0;2. . . 103

5.27 Comportamento do rob^o real seguindo uma trajetoria retilnea

a para K = 0;2 com maior velocidade. . . 104

5.28 Comparac~ao entre as velocidades estimadas do rob^o real para duas trajetorias retilneas. . . 105 5.29 Comportamento do rob^o real seguindo uma trajetoria circular

a para K = 0;1 . . . 106

5.30 Comportamento do rob^o real seguindo uma trajetoria circular

a para K = 0;2 . . . 107

5.31 Comportamento do rob^o real seguindo uma trajetoria circular

a para K = 0;3 . . . 108

5.32 Comportamento do rob^o real seguindo uma trajetoria circular

(11)

5.33 Comportamento do rob^o real seguindo uma trajetoria senoidal

a para K = 0;1 . . . 109

5.34 Comportamento do rob^o real seguindo uma trajetoria senoidal

a para K = 0;2 . . . 110

5.35 Comportamento do rob^o real seguindo uma trajetoria senoidal

a para K = 0;2 e sem predic~ao de ^angulo . . . 111

(12)

Introduc~ao

Se todo instrumento pudesse realizar seu proprio trabalho, obedecendo ou antecipando o desejo dos outros::: se a lancadeira pudesse tecer, e o pico

tocasse a lira, sem uma m~ao para guia-los, os chefes n~ao precisariam de criados nem os mestres de escravos.

Aristoteles(384{322 a.C.)

O

S rob^os moveis ou veculos aut^onomos t^em sido muito estudado nos ultimos anos. Em particular, os rob^os moveis terrestres, tambem cha-mados de AGV's (autonomous ground vehicles), s~ao sistemas motorizados, equipados com rodas e controlados por computadores digitais que operam sem a intervenc~ao humana. Para interagir com seu ambiente de trabalho, estes rob^os podem ter diversos tipos de sensores que incluem sensores de dist^ancia, posic~ao, velocidade, forca e c^ameras que s~ao sensores visuais. Em relac~ao a localizac~ao, os sensores podem ser internos ou externos. O sensores internos s~ao aqueles localizados no proprio rob^o e por isso se movem junta-mente com o mesmo. Em oposic~ao, os sensores externos s~ao xos ao ambiente ou em algum outro sistema movel e observam o movimento do veculo. Alem desta classicac~ao, os sensores podem fornecer um conhecimento local, que e usado para determinac~ao das caractersticas internas do rob^o (ex.: velocida-de e posic~ao dos motores), ou um conhecimento global que prov^e informac~ao dos estados do rob^o em relac~ao ao ambiente (ex.: velocidade e posic~ao do

(13)

rob^o) [Abidi and Gonzales, 1992].

Os sensores visuais [Horn, 1986] s~ao em geral sensores globais e podem ser internos ou externos. Quando as c^ameras est~ao localizadas no rob^o, este usa conhecimentos previos e marcas visuais para se localizar no ambien-te [Campos and de Souza Coelho, 1999, Ma et al., 1999]. De maneira simi-lar, as c^ameras externas s~ao usadas para observar o movimento do rob^o e informar a sua localizac~ao. A principal diferenca neste caso, e que o pro-cessamento da imagem n~ao esta no veculo, mas em um segundo computa-dor que toma algumas decis~oes e as transmite ao rob^o, muitas vezes cha-mado de agente. O controle dos rob^os e ent~ao, feito de forma externa e quando n~ao existe alem do sistema visual, um processamento e sensoria-mento local, este se torna uma tarefa n~ao trivial. Atualmente, esta con-gurac~ao tem sido largamente encontrada em aplicac~oes onde se deseja obter rob^os de baixo custo ou que n~ao podem conter carga, como aquele mostrado em [Zhang and Ostrowski, 1999] e rob^os usados em competic~oes de futebol de rob^os.

O futebol de rob^os tem se apresentado, por si so, um ambiente de testes para diversas areas como cooperac~ao de multi-agentes, robotica, controle, desenvolvimento mec^anico, vis~ao computacional e computac~ao distribuda. Apesar do objetivo principal desta competic~ao estar na modelagem e teste de comportamentos aut^onomos e cooperativos [Kim et al., 1997, Werger, 1998], varias pesquisas em robotica e vis~ao t^em usado este cenario, ja que o mesmo, proporciona um ambiente para a implementac~ao rapida de novas abordagens e tecnologias [McKerow, 1998].

(14)

Figura 1.1: Cenario do Futebol de Rob^os.

(15)

1.1 Objetivos

O principal objetivo deste trabalho e conceber, projetar e implementar um controlador para agentes roboticos externamente controlados, sem ne-nhum tipo de processamento local e observados por vis~ao, usados em jogos de futebol de rob^os. As metodologias propostas ser~ao aplicadas a rob^os usa-dos na disputa da categoria MIROSOT. Como sera mostrado, estes rob^os s~ao constitudos basicamente por atuadores, sendo que o controle e total-mente executado em computadores externos baseado em informac~oes visuais fornecidas pela c^amera. Deseja-se ainda, atraves de um conhecimento mais profundo do sistema, obtido atraves de tecnicas de modelagem e analise de sistemas, sugerir melhorias que possam contribuir para um bom desempenho em competic~oes de futebol de rob^os.

1.2 Relev^ancia e Contribuic~oes

(16)

a maioria dos trabalhos recentes que utilizam tecnicas de intelig^encia compu-tacional ou outros algoritmos complexos, os sistemas de controle propostos no trabalho s~ao baseados em controladores lineares classicos.

1.3 Organizac~ao da Dissertac~ao

(17)

Trabalhos Relacionados

Uma coisa so e impossvel ate que alguem duvide e prove o contrario.

AlbertEinstein (1879{1955)

E

M geral, os sistemas de controle de rob^os moveis aut^onomos possuem dois nveis principais como mostrado na Figura 2.1 [Kang et al., 1999]. O nvel superior, ou planejamento de trajetorias, e responsavel pela escolha de um melhor caminho a ser seguido pelo rob^o. O problema do planejamento de trajetorias pode ser resumido como [Wang et al., 1994]: dado um rob^o movel com localizac~ao e orientac~ao iniciais, uma posic~ao e orientac~ao alvo e um conjunto de obstaculos localizados no espaco, encontre um caminho contnuo para o rob^o do estado inicial ate o objetivo sem que haja colis~ao com os obstaculos ao longo do percurso. A trajetoria gerada indica, alem das posic~oes e orientac~oes do rob^o no espaco, os pers de velocidades e acelerac~oes com que o rob^o deve se deslocar ao percorrer estas trajetorias. Apesar de aparentemente simples, este problema n~ao esta completamente solucionado. Alguns trabalhos que tratam do assunto s~ao [Murray and Sastry, 1993, Wang et al., 1994, Jagannathan et al., 1994, Gorinevsky et al., 1996]. O problema torna-se ainda mais complicado quando o ambiente e n~ao controlado e din^amico, ou seja, os obstaculos e o alvo se movem. Este cenario tem sido largamente estudado por

(18)

Obstáculos Alvo Robô

Planejamento de Trajetórias

Controlador Robô

Robô Móvel

y x

z

Figura 2.1: Nveis de controle de um rob^o aut^onomo

sos autores no contexto do futebol de rob^os como em [Kim et al., 1996, Fukuda and Kubota, 1997, Sargent et al., 1997, Lee and Bautista, 1998, Kim et al., 1998, Kim et al., 1999, Veloso et al., 1999, la Rosa et al., 1999].

Na Figura 2.1, o nvel inferior, ou controlador, e responsavel por

(19)

em geral, sistemas multivariaveis, n~ao-holon^omicos e n~ao-lineares. A carac-terstica multivariavel e evidente quando sabe-se que os rob^os s~ao acionados por dois ou mais atuadores e t^em como sada uma posic~ao e orientac~ao no espaco ou no plano.

Uma denic~ao formal para a caracterstica n~ao-holon^omica e: \Um siste-ma e chasiste-mado n~ao-holon^omico, quando a velocidade de um sistesiste-ma mec^anico satisfaz uma condic~ao de igualdade que n~ao pode ser escrita como uma con-dic~ao equivalente de posic~ao" [Wen, 1995]. Condic~oes n~ao-holon^omicas po-dem surgir de restric~oes fsicas como o puro rolar de uma roda ou de leis de conservac~ao fsicas como a conservac~ao de impulso angular de um cor-po livre utuante. Desta forma, alguns rob^os moveis cor-possuem restric~oes n~ao-holon^omicas porque suas rodas somente podem girar em uma direc~ao do espaco, impedindo que eles se movam em todas as direc~oes apesar disso ser sicamente possvel se os mesmos fossem considerados massas. As n~ao-linearidades aparecem principalmente pelo mesmo motivo, mas tambem pelas caractersticas dos sensores, atuadores e do proprio ambiente de trabalho do rob^o. Devido a estes problemas, diversas estrategias t^em sido encontradas na literatura para o controle de trajetorias de rob^os moveis. Estas estrategias podem ser divididas em duas categorias distintas:

1) Estrategias em malha aberta que buscam encontrar um conjunto de entradas de controle para conduzir o veculo de uma posic~ao inicial a algu-ma posic~ao arbitraria. Se os rob^os s~ao localmente controlados este metodo e factvel e proposto em [Laerriere and Sussmann, 1991]. Em geral estas estrategias s~ao estudadas em conjunc~ao com o planejamento do movimento ou trajetoria.

(20)

pon-to. Mesmo se o rob^o for localmente controlavel e observavel e mostrado em [Samson, 1995] e [Bloch et al., 1992] que n~ao e possvel estabilizar es-te tipo de sises-tema com uma realimentac~ao de estados linear e invarian-te no invarian-tempo. Por esinvarian-te motivo, controladores n~ao lineares s~ao propostos em [de Wit and Sordalen, 1992, Walsh et al., 1994, Lee et al., 1999]. Em [Yang et al., 1998] e [Yang and Kim, 1999] e proposto um controlador em modos deslizantes no controle de trajetoria do rob^o. Outros autores prop~oem estrategias de linearizac~ao do sistema como em [Park et al., 1999], para de-pois controla-lo com controladores convencionais. Tecnicas como essa ja ha-viam sido utilizadas em manipuladores atraves de um metodo conhecido co-mo \computed torque" [Asada and Slotine, 1985]. Zhang e Ostrowski [1999] usaram esta metodologia para controlar um dirigvel aut^onomo. Outra me-todologia que esta sendo muito empregada e o uso de controladores varian-tes no tempo [Jiang and enk Nijmeijer, 1997, M'Closkey and Murray, 1997, Samson, 1995] ou preditivos [Normey-Rico et al., 1998]. Em seu artigo, M'Closkey e Murray [1997] mostram que realimentac~oes suaves invariantes no tempo poderiam ser utilizadas se fossem feitas transformac~oes de coorde-nadas n~ao suaves no sistema. Estas transformac~oes s~ao propostas por Aicardi et al. [1995] e generalizadas por Hemerly [1998] para todas as classes de rob^os moveis com rodas.

(21)

controle sem a medic~ao ou estimac~ao da velocidade.

Apesar do grande numero de publicac~oes referentes ao controle de tra-jetoria de rob^os aut^onomos, e importante ressaltar que na grande maioria delas a sada do controlador e composta por refer^encias de velocidade para

outros controladores implementados em hardware capazes de garantir que

estas velocidades sejam alcancadas. Esta e principal diferenca entre este tra-balho e os demais, pois a sada do controlador projetado aqui e proporcional a propria tens~ao de alimentac~ao dos motores do rob^o.

(22)
(23)

Metodologia

A frase mais deliciosa que se pode ouvir na ci^encia, aquela que todos os cientistas adoram, n~ao e \Eureka" mas \que engracado":::

Issac Asimov (1920{1992)

C

OMO foi mencionado no Captulo 2, e sabido que controladores mul-tivariaveis com uma realimentac~ao de estados suave n~ao estabiliza um sistema com restric~oes n~ao-holon^omicas. Entretanto, em [Bloch et al., 1992] e provado que se o sistema for controlado por partes a estabilidade pode ser alcancada. Este tipo de controlador consiste no projeto de sistemas de con-trole independentes para algumas variaveis. Neste captulo sera mostrado o projeto de um controlador para rob^os aut^onomos n~ao-holon^omicos baseado neste princpio. Alem disso, transformac~oes de variaveis ser~ao feitas para facilitar o controle, tornando simples o projeto dos controladores. Assume-se que as trajetorias a serem seguidas pelo rob^o s~ao pre-especicadas por um nvel de planejamento executado em malha aberta.

3.1 Denic~ao do problema

O rob^o movel considerado aqui e um veculo com rodas como mostrado na Figura 3.1. Duas rodas xas s~ao controladas por motores independentes

(24)

θ

X Y

y

x

V1

V2

V

r

L

Figura 3.1: Estrutura geral do rob^o

e duas rodas centralizadas fazem o apoio do veculo tornando-o equilibrado durante o movimento. O rob^o e um sistema com dois graus de liberdade

(2-DOF) cujas sadas s~ao representadas pela sua posic~ao (x;y) e orientac~ao

. Considera-se ainda que:

V

1 =

r!

1 e

V

2 =

r!

2

; (3.1)

ondeV

ie a velocidade linear da roda

i,!

ie a velocidade angular do respectivo

eixo e r e o raio das rodas. Sabe-se ainda que:

V =

V

1+

V 2

2 (3.2)

!=

V 1

;V

2

L

; (3.3)

onde V e a velocidade linear do centro do rob^o, ! e a velocidade angular

do rob^o e Le a dist^ancia entre as rodas. Alem disso, a velocidade linear V,

pode ser decomposta ao longo dos eixos X eY respectivamente como:

V

X =

V cos() e V

Y =

(25)

onde e o angulo mostrado na Figura 3.1. Ent~ao, um modelo cinematico

para o rob^o pode ser escrito como:

_

x=V

X

_

y=V

Y (3.5)

_

=! :

Substituindo as equac~oes para V

X,

V

Y e

! em (3.5) tem-se que:

_

x=

V

1+

V 2

2 cos()

_

y =

V

1+

V 2

2 sen() (3.6)

_

=

V 1

;V

2

L :

A restric~ao n~ao-holon^omica do sistema pode ser representada pela seguin-te equac~ao:

_

x sen();y_ cos() = 0 ; (3.7)

que especica a direc~ao tangente a qualquer caminho possvel para rob^o e um limite de curvatura para este caminho.

3.1.1 Controlador

(26)

ou-Cinemática do Robô

Motor 2 Motor 1

PID PID

Controlador

SP e v1 X

v2 u1

u2 SP1

SP2 e1

e2

+

-+ +

Figura 3.2: Sistema de controle tradicional.

tro [McMillan, 1994]. Os controladores internos (PID1) s~ao chamados de

\secundarios" ou \escravos" e o externo e conhecido como \primario" ou \mestre". De uma maneira geral, este tipo estrategia e usada para melhorar o desempenho do sistema por meio de uma rapida correc~ao dos disturbios na malha interna. O aumento do desempenho pode ser muito grande se o tempo morto da fonte de disturbios for pequeno em relac~ao as variaveis controladas pelos controladores internos e as constantes de tempo dos con-troladores secundarios forem pequenas em relac~ao a do controlador primario, considerando-os assim reguladores. Este tipo de estrategia e largamente uti-lizada em veculos aut^onomos, onde os controladores escravos s~ao geralmente

construdos em hardware atraves de microcontroladores digitais que

aumen-tam a velocidade de processamento. Se as condic~oes anteriores forem cumpri-das, os controladores internos podem ser desconsiderados durante o projeto do bloco \controlador" (Figura 3.2), pois a sua din^amica tende a ser des-prezvel em relac~ao a din^amica total do rob^o. Na Sec~ao 3.3.2 sera mostrado que os controladores escravos, neste caso especco, t^em ainda, a func~ao de desacoplamento entre as variaveis de sada do sistema.

Geralmente, o controle de trajetorias para rob^os aut^onomos consiste em fazer o rob^o seguir refer^encias de posic~ao e orientac~ao, (x;y;), e velocidades,

(V;!). Em alguns casos (por exemplo [Yang et al., 1998]), algumas destas

(27)

Controlador de Velocidade

Linear e/ou Distância

-+

+ +

Controlador de Velocidade Angular e/ou

Ângulo

e

SP1

SP2

Figura 3.3: Diagrama de blocos de controlador.

variaveis, como V e ! podem ser consideradas livres. Assim, o controlador

deve ser projetado como uma func~ao que gere um par de sinais de refer^encia

(setpoints),SP

1 e

SP

2, que minimize o vetor de erros

e= [e

x

;e

y

;e

;e

V

;e

!]

0,

onde o apostrofo signica transposic~ao. Como o sistema possui restric~oes n~ao-holon^omicas e n~ao pode ser controlado por um unico controlador mul-tivariavel, uma boa alternativa e a mudanca de variaveis e o uso de contro-ladores independentes para cada nova variavel ou para um conjunto destas variaveis. Um controlador como este pode ser visto na Figura 3.3. Nesta

gu-ra, houve uma mudanca de variaveis no sentido de que as variaveisxey n~ao

s~ao diretamente controladas e ha o aparecimento da variavel \dist^ancia", que pode ser a dist^ancia entre o alvo e o rob^o. Desta forma a dist^ancia poderia,

por exemplo, substituir as variaveis e

x e

e

y no vetor de erros.

(28)

V

1 e

V

2. Assim, pelas Equac~oes (3.2) e (3.3), considera-se que as novas

variaveis manipuladas s~ao proporcionais a V e !. A Equac~ao (3.3) explica

tambem o sinal negativo da sadaSP

2. Desta forma, o problema de controle

foi simplicado e pode ser resumido como a determinac~ao de uma func~ao que minimize o erro de uma unica variavel medida a partir de uma unica variavel manipulada. Apesar deste ser um problema relativamente simples, conhecido e facilmente solucionado por controladores lineares [Ogata, 1993, Philips and Nagle, 1995, Kuo, 1995] a grande diculdade do projeto esta no

fato que o rob^o n~ao possui os controladores locais2 de velocidade, como sera

visto nas proximas sec~oes.

3.2 Modelo Din^amico

O modelo cinematico trata da geometria do movimento, relacionando posic~ao, velocidade, acelerac~ao e tempo, sem refer^encia as suas causas. O modelo din^amico, por sua vez, trata das relac~oes entre as forcas que agem no rob^o e o seu movimento [Beer and Johnston Jr., 1991].

Nesta sec~ao, um modelo din^amico, util no projeto e analise de controla-dores, sera derivado com base na cinematica mostrada na Sec~ao 3.1. Como os controladores dos rob^os s~ao implementados em computadores digitais, um modelo discreto para o sistema e uma forma mais apropriada. Assim, utili-zando uma aproximac~ao primeira ordem para as derivadas, a Equac~ao (3.5)

2Os controladores PID de velocidade s~ao chamados locais porque, em geral, estes est~ao

(29)

pode ser rescrita como:

xk =xk

;1+

VX k

;1 T

yk=yk

;1+

VY k

;1

T (3.8)

k =k

;1+

!k

;1

T ;

ondexk indica o valor dexno tempokT exk

;1indica o valor desta variavel

um perodo de amostragem, T, antes. A aproximac~ao para as derivadas e

representada por [Philips and Nagle, 1995]:

d

dt

y(t)

y(t);y(t;T)

T

:

Para \adicionar din^amica" ao modelo (3.8), basta considerar uma relac~ao din^amica para as velocidades do rob^o. Assim:

V

1k=

f

1(

V

1k;1

; ; V

1k;n

; u

1k;1

; ; u

1k;m)

V

2k=

f

2(

V

2k;1

; ; V

2k;n

; u

2k;1

; ; u

2k;m)

;

ondef

1(

) ef

2(

) s~ao func~oes quaisquer eu

1 e

u

2 s~ao as entradas dos motores

direito e esquerdo respectivamente. Consequentemente,

Vk=f(Vk

;1

;; Vk

;m

; u

1k;1

;; u

1k;m

; u

2k;1

;; u

2k;n)

!k =g(!k

;1

; ; !k

;m

; u

1k;1

;; u

1k;m

; u

2k;1

;; u

2k;n)

;

(30)

velocidades do rob^o e da forma:

Vk =Vk;1+aT

!k =!k;1+T ; (3.9)

ondeaes~ao as acelerac~oes linear e angular do rob^o respectivamente. Estas

acelerac~oes podem ser encontradas a partir da segunda lei de Newton que pode ser escrita como:

X

~F =m~a (3.10)

X

~T =I ~ ; (3.11)

onde m e massa do rob^o, I e o momento de inercia em torno do centro de

massa G, ~T e conjugado aplicado em relac~ao a G e ~F representa um vetor

de forca. A Figura 3.4, mostra o diagrama das forcas aplicadas ao rob^o. Considerando que o centro de massa esta exatamente no centro geometrico do rob^o (isto n~ao e necessariamente verdade) tem-se as seguintes equac~oes:

F1+F2+Fa1+Fa2=ma (3.12)

F1

L

2 ;F

2

L

2 =I ; (3.13)

ondeFa1 eFa2 s~ao os modulos das forcas de atrito na linha de contato entre o

solo e as rodas de apoio. Estas equac~oes s~ao possveis porque todas as forcas t^em a mesma direc~ao. Substituindo as equac~oes anteriores em (3.9) tem-se:

Vk =Vk;1+

T

m(F1k;1+F2k;1+Fa1k;1+Fa2k;1)

!k =!k;1+

T

2I(F1k;1

;F

(31)

θ X Y y x F1 F2 ma 2 L 2 L α I G Fa2 Fa1

Figura 3.4: Diagrama de forcas aplicadas ao rob^o

Caso o centro de massa n~ao coincida com o centro geometrico, tem-se um conjugado associado as forcas de atrito do suporte de equilbrio. Assim, deve-se adicionar este conjugado na equac~ao de velocidade angular em (3.14).

Sup~oe-se ainda, que as forcasF

1 e

F

2, que no modelo (3.14) representam

as entradas conhecidas, s~ao linearmente relacionadas com as entradas dos

motores u

1 e

u

2. Assim:

F 1k a 1 u 1k;d F 2k a 2 u 2k;d : (3.15)

onde d representa o atraso ou tempo morto entre a aplicac~ao dos sinais de

controle e o aparecimento das respectivas forcas.

Um modelo geral para o rob^o pode ser obtido substituindo as Equa-c~oes (3.14) e (3.15) no modelo cinematico (3.8). Desta forma:

xk

=x

k;1 +

Vk;1T

+(a

1u1k;d

+a

2u2k;d

+F a1k;1 +F a2k;1 ) T2 m cos ( k;1 ) yk =y k;1 +

Vk;1T

+(a

1u1k;d

+a

2u2k;d

+F a1k;1 +F a2k;1 ) T2 m sen( k;1 ) k = k;1 +! k;1T

+(a

1u1k;d

;a

2u2k;d

)

T2

2I :

(32)

3.2.1 Parametrizac~ao do modelo

O modelo (3.16) descreve sicamente o sistema. O maior problema deste modelo e que alguns termos, como as forcas de atrito, s~ao de difcil obtenc~ao. Outra grande diculdade e que em geral os termos em velocidade n~ao s~ao diretamente medidos pelos sensores, devendo ser estimados. Para evitar estes problemas, o modelo pode ser parametrizado para que as incognitas sejam estimadas atraves de dados experimentais. O modelo fsico (3.16) pode ent~ao, ser rescrito como:

xk=xk;1+c1VXk;1+ [c2u1k;d+c3u2k;d] cos(k;1)

yk=yk;1+c4VYk;1+ [c5u1k;d+c6u2k;d] sen(k;1) (3.17)

k=k;1+c7!k;1+c8u1k;d+c9u2k;d :

E importante notar que a massa,m (I na equac~ao de), o perodo de

amos-tragem, T, e as forcas de atrito, Fai, foram agrupadas nos par^ametros ci.

A componente em X da velocidade, VX, a princpio, pode ser calculada

de forma simples a partir de medic~oes de x como:

VXk;1 =

xk;1

;x

k;2

T : (3.18)

Usando esta equac~ao, a primeira linha do modelo (3.17) pode ser representada como um modelo do tipo autoregressivo com entrada externa [Ljung, 1987] do tipo:

xk =a1xk;1+a2xk;2+ [b1u1k;1+b2u2k;1] cos(k;1) :

O mesmo procedimento pode ser aplicado para y e . Assim, o modelo

(33)

seguintes equac~oes: x k = a X 1 x k;1+ a X 2 x k;2+ b X 1 u

1k;d+

b X 2 u 2k;d cos( k;1) y k = a Y 1 y k;1+ a Y 2 y k;2+ b Y 1 u

1k;d+

b Y 2 u 2k;d sin(

k;1) (3.19)

k = a 1 k;1+ a 2 k;2+ b 1 u

1k;d+

b 2 u 2k;d :

E importante notar que nas duas primeiras linhas do modelo (3.19), func~oes n~ao-lineares de uma das sadas do modelo multiplicam outros re-gressores. Isso resulta em n~ao-linearidades \fracas" no sentido de que apesar, de ter regressores n~ao-lineares, o modelo e ainda linear nos par^ametros. Assim, estritamente falando, as duas primeiras equac~oes

do modelo s~ao do tipo NARX (nonlinear autoregressive with

exoge-nous inputs) [Leontaritis and Billings, 1985, Aguirre et al., 1998] enquanto

a ultima e uma equac~ao linear ARX (autoregressive with exogenous

in-puts) [Ljung, 1987, van den Bosch and van der Klauw, 1994]. De fato, as

n~ao-linearidades das duas primeiras equac~oes de (3.19) aparecem como consequ^encia de um relac~ao estatica n~ao-linear entre os sinais envolvidos [Aguirre and Jacome, 1998]. Apesar disso, o modelo e totalmente linear nos par^ametros e estimadores lineares bem conhecidos, como os metodos de mnimos quadrados [Ljung, 1987] podem ser usados na determinac~ao dos par^ametros desconhecidos, como sera discutido a seguir.

3.2.2 Estimac~ao dos Par^ametros

(34)

reais do sistema, permite a estimac~ao dos par^ametros desconhecidos de uma equac~ao. Como foi mencionado, o modelo e linear nos par^ametros e por isso a famlia de metodos de mnimos quadrados lineares pode ser aplicada.

Como este tipo de metodo se baseia em dados de entrada e sada do

sistema, deseja-se neste caso um conjunto de dados de entrada u

1 e

u

2 que

foram causas das sadas x, y e . A aquisic~ao destes dados demanda uma

serie de considerac~oes:

1. Sempre que possvel, os dados devem ser coletados em malha aberta pa-ra evitar a correlac~ao entre as entpa-radas e os possveis rudos de medic~ao, o que poderia causar polarizac~ao dos par^ametros [Aguirre, 1999]; 2. O sistema deve ser corretamente excitado de forma que seja possvel

extrair a informac~ao necessaria dos dados;

3. Desde que o modelo (3.19) foi derivado considerando as leis fsicas e as-sumindo algumas aproximac~oes, um numero de fen^omenos reais como n~ao linearidades entre as variaveis de controle e as forcas aplicadas, po-dem n~ao ter sido representados. Para reduzir o efeito destes fen^omenos n~ao modelados o rob^o deve ser excitado de forma a proporcionar pe-quenas variac~oes em torno de determinado ponto de operac~ao.

(35)

sinais aleatorios de alto espectro de frequ^encias as variaveis manipuladas do sistema. Estes sinais, que garantem tambem o item 2, podem ser PRBS (Pseudo Random Binary Signals) [Ljung, 1987] ou sinais similares. Este ti-po de sinal e usualmente empregado em identicac~ao de sistemas ti-porque e de facil obtenc~ao e o espectro de frequ^encia correspondente e similar ao do rudo branco para uma determinada gama de frequ^encias. Para reduzir o efeito das n~ao linearidades, pequenas amplitudes da PRBS podem ser utili-zadas, juntamente com uma escolha adequada do seu perodo. Existe ent~ao um compromisso, ja que pequenas amplitudes podem provocar uma pequena correlac~ao cruzada entre as entradas e as sadas comprometendo a identi-cac~ao. Para compensar este problema pode-se ent~ao adquirir um numero sucientemente grande de pontos, o que por sua vez aumenta a probabilidade de colis~oes. Por estes e outros motivos, v^e-se que a tarefa de coleta de dados din^amicos n~ao e muito simples e requer alguns cuidados.

Uma vez coletados os dados, pode-se aplicar, por exemplo, o metodo estendido de mnimos quadrados (EMQ) descrito no Ap^endice B para a es-timac~ao dos par^ametros do modelo (3.19). Para eses-timac~ao do atraso (tempo morto) pode-se utilizar entradas em degrau e fazer a estimac~ao atraves da observac~ao da resposta do sistema ou, se possvel, metodos estocasticos de correlac~ao cruzada [van den Bosch and van der Klauw, 1994].

3.3 Projeto do controlador

(36)

Cinemática do Robô Controlador

Motor 2 Motor 1

X

SP e

v1

v2

u1

u2 +

-Figura 3.5: Sistema de controle proposto.

que o controle seja feito de forma mais eciente, estes n~ao ser~ao utilizados pois deseja-se considerar que o rob^o e limitado e n~ao possui nenhum proces-samento local.

3.3.1 Analise do sistema

Adotando o mesmo princpio utilizado na Equac~ao (3.18) pode-se consi-derar que:

u X

1k;d =

u

1k;d cos

k;1

u Y

1k;d =

u

1k;d sen

k;1

u X

2k;d =

u

2k;d cos

k;1

u Y

2k;d =

u

2k;d sen

k;1

:

Note que o ndice das entradas de controle e k ;d enquanto o ndice de

nesta equac~ao ek;1, indicando o atraso mnimo de 1 perodo de amostragem

[Philips and Nagle, 1995] entre o valor de medido e a sada do sistema e

(37)

Baseado nas relac~oes anteriores, o modelo (3.19) pode ser rescrito como: x k = a X 1 x k;1+ a X 2 x k;2+ b X 1 u X

1k;d+

b X 2 u X 2k;d y k = a Y 1 y k;1+ a Y 2 y k;2+ b Y 1 u Y

1k;d+

b Y

2 u

Y

2k;d (3.20)

k = a 1 k;1+ a 2 k;2+ b 1 u

1k;d+

b 2 u 2k;d :

Pela Equac~ao (3.5) v^e-se que o sistema possui uma integrac~ao ou um

polo na origem do plano S [Ogata, 1993]. O mesmo pode ser observado em

(3.8) que possui um polo em z = 1 no plano Z [Philips and Nagle, 1995].

Estendendo esta observac~ao para o modelo (3.20) v^e-se que a

i

1 +

a i

2 = 1

ou a

i

2 = 1

;a

i

1 [Philips and Nagle, 1995] onde

i representa as variaveis do

modelo. Desta forma, aplicando a transformadaZ a cada uma das equac~oes

de (3.20) tem-se:

X = b X 1 U X 1 z ;(d;1)

(z;1)(z+a X

2 ) +

b X 2 U X 2 z ;(d;1)

(z;1)(z+a X 2 ) Y = b Y 1 U Y 1 z ;(d;1)

(z;1)(z+a Y

2) +

b Y 2 U Y 2 z ;(d;1)

(z;1)(z+a Y 2) (3.21) = b 1 U 1 z ;(d;1)

(z;1)(z+a

2) +

b 2 U 2 z ;(d;1)

(z;1)(z+a

2)

;

onde as variaveis em letras maiusculas, representam a transformadaZ

daque-las representadas anteriormente em minuscudaque-las. Ent~ao X = X(z) = Zfxg

onde o (z) foi omitido por simplicidade. V^e-se que n~ao existem func~oes de

(38)

utilizando-se o teorema da superposic~ao3 [Ogata, 1993], tem-se:

G

X(

z) =G1

X(

z) +G2

X(

z)

G

Y(

z) =G1

Y(

z) +G2

Y(

z)

G

(

z) =G1

(

z) +G2

(

z) ;

onde G1

X(

z) =X=U

X

1 , que pode ser estendido para os demais termos.

3.3.2 Efeito dos controladores de velocidade

Ate este momento, considerou-se que os controladores de velocidade do tipo PID mostrados na Figura 3.2 tinham o objetivo de apenas melhorar o controle. Na verdade, sem a exist^encia destes controladores, alguns cuidados devem ser tomados em relac~ao as observac~oes feitas anteriormente. Intuitiva-mente, tudo o que foi falado sobre o projeto de controladores independentes no controle de trajetorias de rob^os so esta correto se for garantido que as

velocidades V

1 e

V

2 sejam cumpridas pelo rob^o ou se a malha de controle for

rapida o suciente a ponto de rejeitar as perturbac~oes nos motores. Como geralmente a velocidade do controlador externo n~ao e muito grande, pois

envolve sensores lentos como vis~ao ou GPS4, e necessario garantir que as

velocidades dos motores estejam corretas. Este problema pode ser melhor explicado atraves de um exemplo. Se controlador de ^angulo ou velocidade angular for desligado momentaneamente, o controlador de dist^ancia ou velo-cidade linear fornecera dois sinais de refer^encia id^enticos para os motores; se neste caso, os motores n~ao forem id^enticos e as perturbac~oes nulas, o que na

3Neste caso o teorema so pode ser utilizado matematicamente para efeito de analise,

pois sabe-se que o rob^o n~ao se deslocaria se um dos motores fosse desligado.

4Global Positioning System { Sensor usado para medir posic~ao

(39)

pratica e impossvel, o rob^o certamente tera uma componente de velocidade angular (ver Equac~ao (3.3)). Assim, e facil notar que existe um acoplamento entre os controladores, ja que a sada de um controlador depende tambem do sinal de controle do outro, tornado o projeto do controlador de velocidade

angular dependente do projeto do controlador de dist^ancia e vice-versa.

Para uma prova matematica destas armac~oes considere o diagrama de blocos da Figura 3.6. Nesta gura v^e-se que ha dois controladores digitais

independentes, D

1 e

D

2, cujas sadas est~ao ligadas como mostrado na

Figu-ra 3.3. Estes controladores poderiam ser por exemplo, um controlador de velocidade e um controlador de ^angulo. Se for este o caso, as func~oes de

transfer^encia G

3(

z) eG

4(

z) correspondentes ao ^angulo poderiam ser

respec-tivamente G1

(

z) e G2

(

z) e aquelas correspondentes a velocidade, alguma

combinac~ao das func~oes de X e Y. Sabe-se que:

Y

1(

z) = [S

1(

z) +S

2(

z)]G

1(

z) + [S

1(

z);S

2(

z)]G

2(

z)

Y

2(

z) = [S

1(

z) +S

2(

z)]G

3(

z) + [S

1(

z);S

2(

z)]G

4(

z) : (3.22)

Ent~ao, para haver um completo desacoplamento entre as duas malhas de controle basta que:

G

2(

z) =G

1(

z) e G

4(

z) =;G

3(

z) : (3.23)

Neste caso, existem func~oes de transfer^encia explcitas entre as refer^encias e as sadas que ser~ao calculadas a seguir. Pela Figura 3.6:

E

1(

z) =R

1(

z);Y

1(

z) e E

2(

z) =R

2(

z);Y

2(

(40)

-+ + + + + + D 1(z)

G1(z) G2(z)

E1(z) S1(z)

R1(z)

-+ -+ + ++ +

D2(z)

G3(z) G4(z)

E2(z) S2(z)

R2(z) Y2(z)

Y1(z)

Figura 3.6: Diagrama de blocos de um controlador generico sem os contro-ladores em cascata.

A sada dos controladores e dada por:

S

1(

z) =E

1(

z)D

1(

z) e S

2(

z) =E

2(

z)D

2(

z) :

Substituindo estas equac~oes na Equac~ao (3.22), e fazendo as considerac~oes de desacoplamento, apos algumas manipulac~oes algebricas tem-se:

Y

1(

z)

R

1(

z) =

2D

1(

z)G

1(

z)

1 + 2D

1(

z)G

1( z) Y 2( z) R 2(

z) =

2D

2(

z)G

3(

z)

1 + 2D

2(

z)G

3(

z)

;

que s~ao func~oes que relacionam as entradas de refer^encias com as respectivas sadas de forma isolada, ou seja, sem nenhuma interfer^encia entre as variaveis controladas. As condic~oes de desacoplamento (3.23) s~ao satisfeitas, se o

ganho ou o numerador das func~oes de transfer^encia G

1 e

G

2, e

G

3 e

;G 4

forem iguais, ja que os seus denominadores o s~ao (ver equac~oes (3.21))5.

Quando existem controladores de velocidade locais devidamente ajustados

5Aqui os ganhos representam as func~oes de transfer^encia totais dos motores que t^em

(41)

e sucientemente rapidos para terem suas din^amicas desprezadas, a relac~ao estatica entre os sinais de controle e o seu efeito e sempre constante. Como os controladores t^em ainda as mesmas caractersticas, alem de constantes estes

ganhos s~ao iguais6. Isto n~ao acontece quando o sistema esta em malha aberta

pois, mesmo que os ganhos sejam constantes no tempo, o que normalmente n~ao ocorre devido a problemas como diminuic~ao da tens~ao de alimentac~ao, eles s~ao diferentes para cada subsistema (motor). Com isto, prova-se que uma outra func~ao para os controladores locais de velocidade e o desacoplamento entre os controladores de orientac~ao e posic~ao. Como este trabalho pressup~oe a aus^encia destes controladores, uma nova metodologia devera ser abordada para que a relac~ao requerida para os ganhos seja satisfeita. Mais a frente, sera mostrado que ha uma segunda depend^encia em relac~ao as velocidades de resposta dos controladores que dever~ao ser observadas para melhorar o desempenho do sistema.

3.3.3 Desacoplamento entre os controladores

Nesta sec~ao sera mostrado que, mesmo sem os controladores locais de ve-locidade e possvel o desacoplamento entre os dois controladores que formam o controlador de trajetoria do rob^o. Como foi visto na sec~ao anterior, ha um perfeito desacoplamento se as func~oes de transfer^encias relacionadas a cada um dos motores forem iguais. Portanto, antes de mostrar um metodo para torna-las iguais, e necessario mostrar estas func~oes e identicar a diferenca entre elas. Para isto, considera-se a princpio que o controlador do rob^o e formado por duas malhas distintas: uma para minimizar a dist^ancia do rob^o

6Esta armac~ao somente pode ser considerada verdadeira se existir uma integrac~ao no

(42)

dy

dx

Alvo

d

Figura 3.7: Func~ao do controlador.

a um determinado ponto e outra para minimizar o ^angulo ou a orientac~ao. Na verdade, a func~ao destes controladores e levar o rob^o de um ponto a outro ja que o ^angulo e calculado em tempo real e e func~ao da posic~ao do veculo. A Figura 3.7 mostra esta situac~ao. Ent~ao, a entrada do primeiro controlador e a dist^ancia entre o rob^o e o alvo e a do controlador de ^angulo e a diferenca entre o ^angulo que leva o rob^o em direc~ao ao alvo e sua orientac~ao atual. A dist^ancia entre o rob^o e o alvo pode ser calculada como:

d=

p

dx

2+

dy 2

:

Como esta equac~ao depende de x e y as func~oes de transfer^encia envolvidas

s~ao aquelas mostradas nas duas primeiras linhas da Equac~ao (3.21). Da mesma forma, o ^angulo e obtido pela ultima func~ao de (3.21). Assim, baseado no raciocnio da sec~ao anterior, para que haja um completo desacoplamento entre os controladores de ^angulo e dist^ancia as seguintes condic~oes devem ser satisfeitas:

k d

1 =

k d

2

k

1 =

;k

(43)

onde k d

1 e

k d

2 s~ao os ganhos das func~oes de transfer^encia de dist^ancia e

k

1 e

k

2 s~ao os ganhos das func~oes de . Para garantir que haja desacoplamento,

pode-se ent~ao multiplicar o sinal de entrada de cada func~ao de transfer^encia por um determinado valor constante, de forma a satisfazer as condic~oes an-teriores.

Matematicamente, os ganhos s~ao as variaveis independentes que multi-plicam os sinais de controle. Por isso de (3.19),

k 1 = b 1 ; k 2 = b 2 :

Assim, considerando-se que u

1 e

u

2 s~ao os sinais de entrada das func~oes

relativas a , uma das condic~oes de desacoplamento e satisfeita se:

b 1 u 1 = b 2 u 2

Para que esta relac~ao seja valida, o lado esquerdo da equac~ao pode ser

multi-plicado por b

2 =b

1, que pode ser considerada a constante de desacoplamento

para a variavel . Fisicamente, o uso desta constante faz com que o rob^o

gire parado quando recebe variaveis de controle de mesma amplitude e sinais opostos. Note que o sinal negativo mostrado anteriormente e inerente a um

dos ganhos da func~ao de , como pode ser visto na Equac~ao (3.16).

As condic~ao de desacoplamento para a dist^ancia (ou movimento de lac~ao) n~ao pode ser facilmente explicitada atraves das func~oes de trans-fer^encia do sistema, pois envolvem operac~oes n~ao-lineares dos submodelos

de x e y. Entretanto, uma boa aproximac~ao para esta constante, pode ser

obtida atraves do modelo de . Isto ocorre, porque, apesar das func~oes de

(44)

-+ +

+

D(z)

G1(z) G2(z)

E(z) S(z)

R(z) Y(z)

b1/b2

U1(z)

U2(z)

Figura 3.8: Diagrama de blocos do controlador de com desacoplamento.

variaveis s~ao os mesmos. Como a func~ao de desacoplamento representa basi-camente a raz~ao entre os ganhos dos motores, e de se esperar que esta raz~ao seja a mesma, tanto para a dist^ancia quanto para o ^angulo. Assim, a re-lac~ao b

2 =b

1 pode ser utilizada para multiplicar um dos sinais de controle e

tornar iguais os ganhos dos dois motores. Como no caso de , sicamente,

o uso da constante anterior, faz com que o rob^o ande em linha reta quan-do recebe sinais de controle iguais. Desta forma, nota-se que ha realmente um desacoplamento entre as sadas do processo, pois consegue-se isolar cada

uma delas7. Por esta analise, v^e-se que, com o uso das constantes de

de-sacoplamento, existe uma lei para o comportamento do rob^o: os sinais de modo comum provocam translac~ao e os sinais de modo diferencial provocam rotac~ao. Isto n~ao poderia ser dito antes do uso de tais constantes.

A Figura 3.8 mostra o uso da constante de desacoplamentob

1 =b

2 no

con-trolador de ^angulo. O mesmo pode ser feito para o concon-trolador de dist^ancia. Observe, que a func~ao de desacoplamento e dependente de par^ametros do modelo, que podem ser encontrados atraves metodos de estimac~ao tradicio-nais como foi mostrado na Sec~ao 3.2.2 ou em tempo real como sera mostrado a seguir.

(45)

3.3.4 Identicac~ao em tempo real

A grande vantagem de se obter em tempo de execuc~ao as func~oes de de-sacoplamento entre os controladores e que neste caso possveis mudancas no processo como diminuic~ao da tens~ao de alimentac~ao e desgaste das rodas e engrenagens do rob^os que fatalmente alterar~ao os ganhos de velocidade dos motores ser~ao detectadas. Uma forma de encontrar os ganhos em tem-po real durante o controle e utilizar algoritmos recursivos de estimac~ao de par^ametros sobre o modelo parametrico desenvolvido na Sec~ao 3.2. Assim, como as variaveis de desacoplamento s~ao func~oes destes ganhos, elas podem ser calculadas a cada intervalo de amostragem. O Ap^endice B mostra um algoritmo de mnimos quadrados que pode ser utilizado na identicac~ao em tempo real.

Na estimac~ao de par^ametros dois cuidados principais devem ser considera-dos. Em primeiro lugar, o fator de esquecimento, que indiretamente determi-na o numero de dados a serem usados determi-na estimac~ao dos par^ametros, deve ser corretamente ajustado. Se poucos dados forem usados, os par^ametros podem variar muito rapidamente pois est~ao mais sujeitos ao rudo causando resulta-dos insatisfatorios. Alem disso, o uso de um fator de esquecimento pequeno

pode causar uma n~ao-converg^encia do estimador ja que a parte \visvel"8

do sinal pode n~ao ser suciente para a estimac~ao, devido as proprias carac-tersticas dos sinais de entrada [Aguirre, 1999]. Ao mesmo tempo, a utilizac~ao de muitos dados pode tornar o sistema muito conservativo o que causaria uma variac~ao muito lenta nos par^ametros. Por isso, se o sistema for considerado linear, uma analise das constantes de tempo das possveis variac~oes do rob^o

8A express~ao \visvel" e utilizada porque o fator de esquecimento,

, pode estar

rela-cionado a uma janela temporal assintotica denida em [Harris and Billings, 1995] como:

(46)

ajudariam a escolher o valor do fator de esquecimento. Como o sistema n~ao e linear, uma outra func~ao da estimac~ao recursiva e identicar os ganhos em cada regi~ao de trabalho do rob^o. Por isso, a escolha do fator de esquecimento deve levar em considerac~ao tambem, a velocidade de variac~ao das entradas de controle.

Em segundo lugar, deve-se prestar atenc~ao a todo momento se a esti-mac~ao esta sendo feita corretamente. Estimac~oes de par^ametros erradas podem acontecer se o sinal de controle n~ao for suciente para excitar o sis-tema [Astrom and Wittenmark, 1995] ou se acontecerem problemas fsicos, como por exemplo uma colis~ao. Este tipo de problema pode ser identica-do se as vari^ancias identica-dos par^ametros forem monitoradas. Se estas vari^ancias estiverem aumentando, problemas podem estar ocorrendo. Nestes casos, o estimador recursivo deve ser desligado e os ultimos valores estimados usados como par^ametros do sistema. Para detectar o momento de desligamento do estimador de par^ametros, metodos heursticos podem ser desenvolvidos ou, de forma mais elegante, podem ser aplicadas tecnicas de detecc~ao e diagnostico de falhas em sistemas din^amicos [Frank and Seliger, 1991, Caminhas, 1997].

3.3.5 Estrutura do controlador

Uma vez proposta uma metodologia para desacoplar os controladores, pode-se encontrar uma estrutura para o sistema de controle geral do rob^o. Como proposto anteriormente, a malha de controle pode ser formada por um controlador para o ^angulo e um outro sistema para minimizar a dist^ancia en-tre o rob^o e o alvo. Para o ^angulo, pode-se utilizar um controlador PI digital

como a func~ao D(z) da Figura 3.8, seguido de uma estimac~ao em tempo real

(47)

Kp

u1

u2

x

y

2 2

y x +

Robô Estimador de

Parâmetros

Kde

d

Figura 3.9: Diagrama de blocos do controlador de dist^ancia.

Para a malha de dist^ancia, poder-se-ia adotar a mesma estrategia, mas como a func~ao desta malha e sempre tornar a dist^ancia ate o alvo nula e o sistema ja possui integrac~ao, por simplicidade de projeto, um controlador proporcional com estimac~ao em tempo real da func~ao de desacoplamento pode ser uma boa soluc~ao. Esta congurac~ao e mostrada na Figura 3.9. Se um controlador proporcional puro for utilizado, o valor do ganho proporcional esta diretamente relacionado com a velocidade linear do rob^o. Assim, nesta congurac~ao, o rob^o estara mais rapido se estiver longe do alvo e se torna mais lento a medida que se aproxima dele. Desta forma, o controlador de dist^ancia poderia facilmente ser substitudo por um controlador de velocidade linear. O maior problema ent~ao seria a estimac~ao da velocidade, ja que esta pode n~ao estar disponvel no sistema de medic~ao.

(48)

ser utilizado em tempo de processamento para determinar se o rob^o deve andar para frente ou para tras. Este procedimento, evitara que o rob^o tenha

que girar ^angulos acima de =2 radianos economizando tempo. Para tanto,

o seguinte algoritmo deve ser aplicado aos erros, antes de \entrega-los" aos controladores:

while e

> do fnormalizac~ao entre ; e g

e

=

e

;2

endwhile

while e

<; do

e

=

e

+ 2

endwhile

if e

<;=2 then fmuda a frente do rob^og

e

=

e

+

d =;d

else if e

>=2 then

e

=

e

;

d =;d

endif

onde e

e

ds~ao os erros de orientac~ao e a dist^ancia ao alvo respectivamente.

(49)

Alvo Alvo

Chaveamento Frente

Frente

Figura 3.10: Utilizac~ao da simetria do rob^o para diminuir o tempo de res-posta.

3.3.6 Projeto por Lugar das Razes

Como foi proposto, como controlador de ^angulo pode ser usado um con-trolador \proporcional+integral" digital. Neste concon-trolador a parcela pro-porcional e utilizada para melhorar o regime transitorio e a parcela integral e utilizada para melhorar a resposta em regime permanente do sistema com o

acrescimo de um polo dominante em z = 1. Desta forma, um sistema estavel

que ja possui integrac~ao, como e o caso do rob^o, pode alcancar um erro nulo ate mesmo para entradas em rampa [Ogata, 1993]. Uma possvel equac~ao de diferencas para um PI digital classico e [Philips and Nagle, 1995]:

u

k=

u

k;1+

K

p(

e k

;e

k;1) +

K i

T

2 (e

k+

e

k;1)

; (3.24)

onde a K

p e o ganho proporcional,

K

i e o ganho integral,

e e o erro e u e a

sada do controlador. A func~ao de transfer^encia deste controlador pode ser escrita como:

U(z)

E(z) =

D(z) =K

p+

K i

T

2

z+ 1

z;1

(50)

ou de forma mais compacta como:

D(z) =K

D

z;z

o

z;1

; (3.26) onde: K D = K p+ K i

T=2 ;

z o = K p ;K i

T=2

K

p+

K i

T=2

:

Desta forma, o projeto do controlador consiste em encontrar as constantes

K

D e

z

o que d~ao origem aos ganhos

K

p e

K

i respectivamente como:

K

p =

K D

1 +z

o

2 ; (3.27)

K

i =

K D

1;z

o

T

: (3.28)

No projeto do controlador pode-se usar o \princpio do dipolo" [Kuo, 1995]

que se baseia na escolha do zero da func~ao D(z) muito perto do polo

locali-zado em z = 1. Assim, o ganho efetivo proveniente do controlador e

essen-cialmente igual a K

D na Equac~ao (3.26) e a estabilidade relativa do sistema

e mantida.

O controlador pode ent~ao ser projetado usando-se o metodo do lugar das razes. Assim, a terceira equac~ao de (3.21), apos o desacoplamento e com um atraso mnimo pode ser rescrita como:

G

(

z) =

K

(z;1)(z+a

2)

; (3.29)

onde K = 2b

1. Com a ajuda de um diagrama de lugar das razes, e possvel

(51)

de projeto requeridas para a malha fechada. Como o controlador utiliza o

princpio do dipolo, o ganhoK

D deriva da relac~ao

K

D =

K=(2b

1), onde

K e

o ganho escolhido no graco de lugar das razes. A escolha do novo valor deK

pode ser feita tracando-se as regi~oes do graco onde os par^ametros de projeto

e !

n s~ao validos e encontrando a intersec~ao destas regi~oes com o lugar das

razes da func~ao. A Figura 3.11 mostra um mapa no plano z com algumas

linhas onde estes par^ametros s~ao constantes. O par^ametro, conhecido como

coeciente de amortecimento (damping ratio), esta diretamente relacionado com o tempo de acomodac~ao (settling time) e com o maximo sobresinal do

sistema realimentado. O par^ametro !

n, ou frequ^encia natural, juntamente

com , esta tambem relacionado com o tempo de acomodac~ao da malha.

Estas relac~oes podem ser expressas por [Ogata, 1993]:

=

;ln(Os=100)

p

2+ (ln(

Os=100))

2 (3.30)

!

n= 4

T

s

T ; (3.31)

onde Ose o sobresinal (overshoot) percentual e T

se o tempo de acomodac~ao

do sistema. A escolha do tempo de acomodac~ao pode ser feita em func~ao da

constante de tempo, , do sistema original que pode ser calculada a partir

da denic~ao da transformada Z, como:

=

;T

ln(ja

2

j)

: (3.32)

(52)

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 −1

−0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

Z

ζ ωn

Real

Imaginario

Figura 3.11: Localizac~ao dos par^ametros e!

n no plano

z.

escrita como:

D(z)G

(

z) =

K

D(

z;z

o)

(z;1)

2(

z;a

2)

; (3.33)

onde z

o e um zero estavel muito perto de 1 (em geral 0

;990z

o

0;999) e

K

D e determinado pelo graco de lugar das razes [Ogata, 1993].

Determina-dos estes valores a implementac~ao do controlador de ^angulo pode ent~ao ser feita atraves da equac~ao de diferencas (3.25) onde os ganhos s~ao determinados por (3.27) e (3.28).

(53)

func~ao linear semelhante aquela de ^angulo onde o polo diferente de 1 pode

ser escolhido entre um dos polos das func~oes de xey, ou alguma combinac~ao

dos dois. Com esta func~ao, pode-se ent~ao projetar o valor do ganho K

p da

Figura 3.9 como foi feito para o ^angulo. A principal diferenca e que neste

caso, o sistema deve ser superamortecido com >1 [Ogata, 1993] para que

o rob^o atinja o alvo monot^onicamente. Alem disso, este controlador deve ser mais lento que aquele para o ^angulo fazendo com que o ^angulo \siga" ou se torne escravo da dist^ancia e o rob^o se estabilize rapidamente na trajetoria ou alvo, que em geral e uma posic~ao no espaco.

3.3.7 Efeito do atraso

Na sec~ao anterior, o atraso foi considerado como sendo igual a unidade ou seja, o mnimo possvel para sistemas amostrados. Na verdade, o atraso, em geral n~ao pode ser desprezado pois a sua presenca tem o efeito do

aparecimen-to de polos emz = 0 como e mostrado na Figura 3.12(b), onde foi desenhado

o lugar das razes para uma func~ao semelhante a Equac~ao (3.29) com o polo

a

2 = 0

;6 e um tempo morto d= 5 . Em oposic~ao, a Figura 3.12(a) mostra

o mesmo sistema com o atraso mnimod= 1. V^e-se que em relac~ao ao lugar

dos polos comuns entre as func~oes, ha uma grande diferenca entre os dois gracos. Por isso, a n~ao ser que haja uma compensac~ao dos novos polos de atraso ou que seja tolerado um erro de projeto, o atraso deve ser considerado durante a escolha dos ganhos do controlador.

(54)

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1

-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Real

Imaginario

(a)

Z

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Real

Imaginario

(b)

Z

Figura 3.12: Efeito do atraso no lugar das razes: (a) - lugar das razes do sistema sem atraso ou com atraso simples; (b) - lugar das razes do sistema com atraso igual a 5 intervalos de amostragem.

atraso continuam estaveis, indicando que mesmo sem compensac~ao, o sistema ainda pode ser estavel. Esta informac~ao da um indcio de que a utilizac~ao do diagrama da Figura 3.12(b) no projeto do controlador, pode ainda manter o

sistema estavel, se forem utilizados valores debem proximos ou maiores que

(55)

3.3.8 Compensac~ao do atraso

Para compensar o atraso ou tempo morto, o uso de preditores pode ser empregado [Harris and Billings, 1995]. Tradicionalmente, uma das tecnicas mais utilizadas e o Preditor de Smith [McMillan, 1994] que cancela o tempo morto da func~ao de transfer^encia para mudancas de refer^encias atraves da adic~ao do sinal de controle ltrado e atrasado a variavel medida. Apesar de apresentar bons resultados em comparac~ao com os controladores conven-cionais, o principal problema desta congurac~ao e que o tempo morto em relac~ao aos disturbios de carga n~ao e cancelado. Outro problema e que o Preditor de Smith pode alterar o comportamento dos controladores dicul-tando o seu projeto alem de ser restrito a uma gama limitada de processos. Em oposic~ao, pode-se utilizar preditores que atuem no caminho de realimen-tac~ao dos controladores. Tenta-se ent~ao, a partir dos valores atuais, fornecer valores futuros para sadas do sistema. Assim, o erro na entrada dos con-troladores e calculado entre as refer^encias e as sadas dos preditores, e n~ao mais entre essas e as sadas do sistema. Esta congurac~ao e mostrada na Figura 3.13 para o controle de ^angulo. O maior problema, e que obviamente, aos preditores est~ao associados erros de predic~ao que podem causar respostas insatisfatorias. Entretanto, se os preditores forem conaveis e precisos, eles podem melhorar signicativamente a resposta do sistema. A maior vanta-gem desta congurac~ao e que o controlador pode ser projetado simplesmente

desconsiderando-se9 o atraso puro de tempo. Alem disso, como o preditor

esta ligado diretamente as sadas, o atraso e compensado tanto para as re-fer^encias quanto para as perturbac~oes.

Para antecipar o comportamento do processo, o uso de modelos din^amicos

9Algumas vezes o atraso n~ao pode ser totalmente compensado e e apenas diminudo.

(56)

-+ +

+

D(z)

G1(z) G2(z)

E(z) S(z)

R(z) Y(z)

b1/b2

U1(z)

U2(z)

Preditor

znY(z)

Figura 3.13: Uso de um preditor para compensac~ao do atraso.

como os mostrados na Sec~ao 3.2 podem apresentar bons resultados. Para tan-to, pode-se utilizar ainda, modelos com atualizac~ao parametrica em tempo real aumentando a sua exatid~ao. Se nesta atualizac~ao forem utilizados os metodos de mnimos quadrados recursivos, como foi proposto na Sec~ao 3.3.4, e garantido que a predic~ao de um passo a frente e a melhor possvel para um determinado nvel de rudo [Ljung, 1987]. O problema surge ent~ao, quando o atraso e maior que um intervalo de amostragem e o modelo deve ser rea-limentado com suas proprias predic~oes. Neste caso, o preditor somente tera bom desempenho se o modelo realmente representar o processo. Em sistemas com integrac~ao, como e o caso do rob^o, este problema se torna ainda mais acentuado, pois ha uma acumulac~ao dos erros de cada passo de predic~ao,

gerando um deslocamento (oset) nas sadas preditas. Como e difcil

cor-rigir este problema, pode-se fazer um teste anterior para vericar se o erro e signicativo ou pode ser desprezado. Como ja foi mencionado, no caso

de estimac~ao de par^ametros em tempo real (on-line), deve-se ainda, tomar

o cuidado de vericar se a mesma esta sendo feita corretamente, evitando assim o comprometimento do modelo e consequentemente da predic~ao.

(57)

Captulo 4

Resultados Experimentais:

Modelagem

N~aobastaconquistarasabedoria,eprecisousa-la.

Marcus TulliusCcero(106{43 a.C.)

N

ESTE captulo e no proximo ser~ao implementadas em simulac~ao e na pratica as metodologias propostas no captulo anterior. Para tanto, ser~ao utilizados os rob^os do time MIneiROSOT [Campos et al., 1998] cons-trudo por alunos de graduac~ao da UFMG para disputar os campeonatos mundiais de futebol de rob^os de 1998 e 1999, na categoria MIROSOT.

Este captulo esta dividido da seguinte forma: a Sec~ao 4.1 faz uma des-cric~ao das caractersticas construtivas do sistema e a Sec~ao 4.2 determina um modelo din^amico para o sistema atraves da estimac~ao dos par^ametros da estrutura determinada no captulo anterior. O Captulo 5 mostra, ent~ao, o projeto do controlador e os resultados encontrados a partir deste modelo.

4.1 Descric~ao do sistema

Existem varias abordagens na construc~ao de sistemas para futebol de micro-rob^os, [Sargent et al., 1997, Achim et al., 1996]. Em relac~ao ao lu-gar em que a \intelig^encia" esta concentrada este desenvolvimento tem sido

Imagem

Figura 3.6: Diagrama de blocos de um controlador generico sem os contro- contro-ladores em cascata.
Figura 4.8: Func~ao de auto-correlac~ao da derivada da x .
Figura 4.9: Parte dos dados usados na estimac~ao de par^ametros
Figura 4.10: Func~oes de autocorrelac~ao dos resduos. As linhas tracejadas delimitam o intervalo de conanca de 95%.
+7

Referências

Documentos relacionados

[r]

Técnicas de Esboço, Modelação 2D e 3D foram fundamentais na realização do estágio assim como noções de Ergonomia, noções de Projeto de Ambientes e

Com efeito, os resultados das análises das propostas envolvendo a produção de gêneros e tipos textuais Oficina de produção e das atividades envolvendo a oralidade Sobre o texto

A formação de dois grupos referentes aos períodos seco e chuvoso dentro de Rio Formoso, supõe que as mudanças climáticas e suas consequências exercem influência nas

Esse tipo de razão está presente nas ações positivas para com os outros, por exemplo, como descrito no livro que inspirou o filme “Pay it forward” (HYDE, 2014) (tradução:

Esta pesquisa estabelece um diálogo entre O cuidado de si em Michel Foucault e a Filosofia Ubuntu: “Eu sou porque nós somos”, no âmbito das teorias contemporâneas

Tendo em vista os fatos supracitados, e com a necessidade de melhorar o processo de ensino/aprendizagem nos cursos de EaD, este trabalho justifica-se por buscar desenvolver

Para vericar a ecácia da utilização da história da matemática como recurso didático no ensino de polinômios foi realizada uma pesquisa com alunos da 1ª série do curso técnico