Relatorio Final Guilherme

download Relatorio Final Guilherme

of 35

Transcript of Relatorio Final Guilherme

  • 1

    Aluno: Guilherme S. Nascimento Matrcula: 21483 Curso: Cincias da Computao Orientador: Prof. Dr. Jeremias Barbosa Machado Perodo: Maro de 2013 a Fevereiro de 2014

  • 2

    SUMRIO

    1. RESUMO ..................................................................................................................... 3 2. INTRODUO............................................................................................................ 4 3. OBJETIVO ................................................................................................................... 5 4. METOLOLOGIA ......................................................................................................... 6

    4.1 ROBS AUTNOMOS MVEIS E NAVEGAO....................................... 6 4.2 LGICA FUZZY .................................................................................................. 8

    4.2.1 MODELO MAMDANI........................................................................... 11 5. ATIVIDADES DESENVOLVIDAS.......................................................................... 13

    5.1 FORBIDDEN ...................................................................................................... 13 5.2 Theodomiro ........................................................................................................ 20 5.3 SISTEMA DE CONTROLE FUZZY ................................................................ 24 5.4 Sistema de Controle PID ................................................................................. 27

    6. CONCLUSES.......................................................................................................... 31 6. CONCLUSES.......................................................................................................... 31 7. TRABALHOS FUTUROS......................................................................................... 33 8. REFERNCIAS BIBLIOGRFICAS ....................................................................... 34

  • 3

    1. RESUMO

    Com a crescente utilizao de robs em diversas aplicaes, como a explorao de locais perigosos, manuteno em locais apertados e de difcil acesso a seres humanos ou funes cansativas e repetitivas, vem aumentando a demanda por robs que executem essas funes. O intuito deste projeto de iniciao cientfica concentra-se na rea de robtica mvel e navegao autnoma, na qual props-se estudar e desenvolver algoritmos de controle que permitissem a um rob mvel capacidade de locomoo em um ambiente identificado com uma marcao no solo (geralmente uma linha) e, atingir os objetivos pr-estabelecidos para navegao. A identificao da marcao no solo se deu por meio de sensores acoplados ao rob que forneceram informaes para que algoritmos de controle fossem capazes de determinar qual a melhor ao a se tomar. Dentre as solues que se investigou para o problema apresentado est o desenvolvimento de sistemas de controle clssicos como PID e sistemas de controle baseados em inteligncia artificial, como controladores Fuzzy. O desenvolvimento dos algoritmos foi realizado em linguagem C ou Assembly e implementado em microcontroladores PIC 18F4550 ou ATMega 2560. Para aplicar e testar os algoritmos desenvolvidos foram utilizadas plataformas robticas desenvolvidas pela Equipe Uai!rrior de competies de robtica da Universidade Federal de Itajub, campus de Itajub.

  • 4

    2. INTRODUO

    O followline (seguidor de linha) um rob totalmente autnomo que posui basicamente o objetivo de percorrer um circuito em tempo recorde, seguindo a linha desenhada sem cometer falhas.

    Tratando-se de um rob autnomo, a interveno humana durante a atuao deste nula. Cabe ao programador gerar o cdigo que far com que o rob cumpra sua meta. Alm disso, fazer com que o rob manobre nas curvas no fcil. Logo, necessrio um desenvolvimento gradativo da programao, refinando o cdigo dia aps dia, at que o rob seja capaz de cumprir o objetivo da melhor e mais rpida forma possvel.

    Para testar os algoritmos foram desenvolvidas at o momento duas plataformas robticas: Forbidden e Theodomiro.

    Neste trabalho, pretende-se desenvolver e aplicar tcnicas de controle que possibilitem que os robs sejam capazes de seguir uma linha branca desenhada em uma superfcie preta, de maneira a perceber a existncia de bifurcaes, sinalizao de parada e seguir pelo lado da bifurcao previamente indicado pelo programador.

    O rob possui dois motores de Corrente Contnua, um conjunto de LEDs e fotodiodos infravermelhos que so utilizados pra manter o rob alinhado e detectar a presena de bifurcaes. As informaes adquiridas pelos fotodiodos sero tratadas por um microcontrolador e utilizadas no sistema de controle desenvolvido para controlar a orientao e velocidade do rob.

    Esses sistemas foram desenvolvidos usando tcnicas de controle, cuja teoria trata do comportamento de sistemas dinmicos. A sada desejada de um sistema chamada de referncia. Quando uma ou mais variveis de sada necessitam seguir uma referncia ao longo do tempo, o controlador manipula as entradas do sistema para obter o efeito desejado nas sadas deste sistema. Neste caso foi adotada lgica difusa ou lgica Fuzzy, esta uma extenso da lgica booleana que admite valores lgicos intermedirios entre o falso (0) e o verdadeiro (1).

    Tambm foi usada a tcnica de controle de processos que une as aes

  • 5

    derivativa, integral e proporcional (PID), fazendo assim, que o sinal de erro seja minimizado pela ao proporcional, zerado pela ao integral e obtido com uma velocidade antecipativa pela ao derivativa.

    3. OBJETIVO

    O objetivo principal desse projeto de iniciao cientfica foi a aplicao e desenvolvimento de algoritmos de controle para robs autnomos. Estes devem se deslocar em ambientes com rota definida por marcaes no solo, de maneira que o rob saia de um ponto A e se desloque at um determinado ponto B ou perfaa um determinado circuito de maneira mais eficiente e mais rpida possvel.

    Atravs da aplicao de tais tcnicas de controle teve-se como finalidade a obteno de uma maior compreenso e domnio dos mtodos utilizados para navegao autnoma, confrontando os resultados obtidos em experimentos com aqueles baseados em previses tericas.

    A aplicao das tcnicas desenvolvidas em programas em linguagem C ou em Assembly possibilitou a anlise do comportamento do rob dentro das condies de navegao.

    Alm disso, com a abordagem proposta pretendeu-se aplicar toda a aquisio de dados e processamento em um hardware limitado dadas as caractersticas do rob utilizado. Esta soluo possibilita o barateamento de robs uma vez que se podem utilizar robs com uma eletrnica mais simples. No entanto, tal abordagem demanda o desenvolvimento de softwares computacionalmente mais eficientes.

    Neste sentido, este projeto de iniciao cientfica se caracterizou como uma pesquisa multidisciplinar demandando o desenvolvimento e pesquisa nas reas de eletrnica, instrumentao, sistemas de controle, inteligncia artificial, programao e robtica.

    A motivao inicial deste trabalho foi o desenvolvimento de um rob para competio de robs onde o objetivo seguir a linha em um circuito fechado no menor tempo possvel. Alm disso, tal tcnica de controle de robs pode ser estendida a robs industriais que se deslocam pelo cho de fbrica

  • 6

    carregando matria-prima entre clulas de produo ou produtos acabados entre a linha de produo e o estoque.

    Sendo assim, as tcnicas desenvolvidas nesta pesquisa podero ser utilizadas em aulas tericas e prticas de sistemas de controle automtico com emprego de inteligncia artificial, instrumentao e robtica nos cursos correlacionados com a rea de pesquisa como os cursos de engenharia eltrica, engenharia de controle e automao e engenharia eletrnica.

    4. METOLOLOGIA

    Para a realizao desta iniciao cientfica, realizou-se uma anlise do estado da arte envolvendo as tcnicas de navegao para robs autnomos seguidores de linha e das abordagens de controle a serem empregadas no trabalho. A seguir, apresentam-se as principais abordagens empregadas na navegao de robs autnomos e os mtodos utilizados nos trabalhos desenvolvidos.

    4.1 ROBS AUTNOMOS MVEIS E NAVEGAO

    O primeiro rob mvel a ser criado considerando-se os padres atuais foi aquele definido por Shakey [1] que era equipado com uma cmera de vdeo e sensores pticos de distncia. Ele utilizava tcnicas clssicas de inteligncia artificial para construir um mapa de seu ambiente e realizar tarefas simples como achar um objeto e lev-lo para algum lugar predeterminado. A partir desta pesquisa outros trabalhos foram desenvolvidos em universidades e centros de pesquisas espalhados pelo mundo todo.

    Os robs mveis podem ser classificados de diversas maneiras que incluem a forma de locomoo, os tipos de tarefas executadas e o seu grau de autonomia. De forma geral, os robs mveis podem pertencer a trs grandes grupos: terrestres, aquticos e areos. O sistema de locomoo de um rob mvel pode ser representado por modelos cinemticos e dinmicos. Nesta pesquisa de iniciao cientfica tem-se especial interesse em sistemas

  • 7

    robticos compostos por trs rodas como mostra a figura 1. Este rob apresenta dois motores traseiros ligados respectivamente a rodas destinadas trao do rob. Na parte frontal do rob se encontram os sensores responsveis pela deteco da linha no ambiente de navegao. Tambm na parte frontal se encontra um sistema com uma esfera (que substitui uma terceira roda) destinada ao apoio do rob e que permite sua locomoo. O rob equipado com um microcontrolador responsvel pela aquisio dos sinais dos sensores, implementao do sistema de controle e acionamento dos motores.

    Figura 1 Diagrama do Rob

    Este rob desenvolvido para cumprir a tarefa de se deslocar em um ambiente previamente marcado e seguir uma linha que indica qual o caminho que o rob percorrer. A deteco da linha no solo se d por meio de sensores infravermelhos que a detectam e fornecem a informao se o rob est corretamente orientado sobre a linha ou no. Eventualmente podem ocorrer marcaes sobre o solo que indicam posies de paradas, bifurcaes ou mesmo informaes sobre curvas adiante. Alm da deteco da linha por sensores infravermelhos possvel fazer a deteco por meio de imagens o que demanda maiores recursos computacionais.

    Para se encontrar a melhor ao de controle que mantenha o rob no caminho traado existem algumas abordagens na literatura e que sero

  • 8

    investigadas neste trabalho [2][3][4][5][6]. As abordagens mais clssicas em geral se baseiam na teoria de controle clssico e apresentam solues por meio de algoritmos clssicos como PID, avano/atraso de fase [7]. Alm das abordagens clssicas pretende-se investigar, neste trabalho, as abordagens baseadas em algoritmos de inteligncia artificial. Dentre as abordagens a serem investigadas pretende-se estudar mtodos baseados em lgica Fuzzy [8], e tcnicas evolutivas como aquelas que utilizam algoritmos genticos, sistemas imunolgicos artificiais ou inteligncia coletiva [9].

    4.2 LGICA FUZZY

    Os conceitos de conjuntos fuzzy, tambm conhecida como teoria de conjuntos nebulosos, foram originalmente propostos por Zadeh (1965) [10] como uma generalizao da ideia de um conjunto ordinrio ou crisp (no fuzzy). Um conjunto fuzzy pode ser visto como um conjunto em que o valor do predicado pode pertencer ao intervalo I= [0,1], ao contrrio dos conjuntos ordinrios em que o valor pertence ao conjunto{0,1}, ou seja, para conjuntos ordinrios um dado elemento ou a um dado conjunto enquanto que nos conjuntos fuzzy um elemento pertence a um conjunto com valor de verdade entre 0 e 1. Assim, os conjuntos fuzzy esto sujeitos a uma lgica com abordagem multivalorada. Os modelos fuzzy apresentam a caracterstica, alm de outras que sero apresentadas a seguir, de descrever sistemas de forma aproximada, porm com preciso arbitrria, ou seja, como aproximadores universais de funes numa regio compacta, apresentando a capacidade de mapear de forma eficiente relaes entre entradas e sadas de sistemas em geral [11][12][13].

    A teoria de lgica e conjuntos fuzzy permite o tratamento de implicaes lgicas seguindo regras naturais de raciocnio nas quais, atravs da anlise de condies, estipulam-se consequncias baseadas em tais condies. Um conjunto fuzzy definido como uma coleo de objetos cujo grau de pertinncia ao conjunto varia no intervalo contnuo entre zero e um. Formalmente, um conjunto fuzzy caracterizado por uma funo de pertinncia que mapeia os elementos do universo de discurso U (domnio) no intervalo

  • 9

    contnuo [0,1], ou seja: A: U[0,1]

    Desta forma, o valor A(x) indica com que grau o elemento x pertence ao conjunto A [8]. Um grau de pertinncia 1 equivale ao clssico smbolo de pertinncia enquanto um grau de pertinncia 0 equivale ao clssico smbolo .

    Um conceito fundamental quando se trabalha com conjuntos fuzzy o de varivel lingustica. Entende-se por varivel um identificador que pode assumir um dentre vrios valores e, deste modo, uma varivel lingustica pode assumir um valor dentre vrios outros em um conjunto de termos lingusticos. Cada termo lingustico caracterizado por uma funo de pertinncia. permitido ainda o uso de modificadores qualificadores, como por exemplo: pouco pequeno positivo, muito grande negativo, muito aproximadamente zero, etc. Por definio as funes de pertinncia podem ser qualquer funo que produza valores entre 0 e 1. As mais utilizadas na literatura so as funes triangulares, sigmides, gaussianas ou trapezoidais como apresentado na figura 2. Uma definio satisfatria da quantidade e a determinao dos parmetros das funes de pertinncia no universo de discurso fundamental para determinar a qualidade de um modelo fuzzy aplicado a um dado sistema.

    Fig. 2: Funes de Pertinncia Trapezoidais

    Em um sistema fuzzy (seja um modelo fuzzy de um processo ou um controlador fuzzy) as funes de pertinncia so responsveis pela converso das grandezas do domnio do mundo real, captadas por sensores, dispositivos computadorizados ou mesmo provenientes de outros segmentos do processo de controle, para nmeros fuzzy. Essa converso, conhecida como

  • 10

    fuzzificao, essencial para a atuao da mquina de inferncia fuzzy. A etapa de inferncia consiste em avaliar um conjunto de regras (a base

    de conhecimento) do tipo se ... ento ... que descrevem a dependncia entre as variveis lingusticas de entrada e as de sada. Essas regras seguem o paradigma modus ponens, um mecanismo de inferncia progressiva (ao contrrio do modus tollens, regressivo, mais utilizado em sistemas especialistas), para fazer o mapeamento do conceito de implicao lgica.

    Os antecedentes das regras em conjuntos fuzzy possuem a mesma estrutura geral, qual seja:

    Se x1 A1,1 e x2 A1,2 e... e xd A1,d Se x1 A2,1 e x2 A2,2 e... e xd A2,d

    ...

    Se x1 AK,1 e x2 AK,2 e... e xd AK,d

    sendo x1, ..., xd as entradas do sistema e A1,1,...,AK,d os termos lingusticos dessas variveis, definidos como funes de pertinncia que cobrem todo o universo de discurso. A inferncia consiste de dois passos: avaliao da premissa de cada regra (conjuno), atravs dos operadores t-norma, e em seguida a etapa de agregao, unindo (disjuno) as diferentes concluses das regras ativas sob o operador s-norma [14][15]. Os operadores de t-norma e s-norma so respectivamente normas e conormas triangulares que fornecem mtodos genricos para as operaes de interseco e unio em conjuntos fuzzy. Alguns exemplos de t-normas so o produto e o operador de mnimo. Para as s-normas tm-se como exemplos o operador de mximo ou a soma limitada [8].

    Um sistema fuzzy contm um conjunto dessas regras, todas ativadas em paralelo. Assim, o sistema fuzzy trabalha com inferncia associativa paralela, ou seja, quando uma entrada fornecida, o controlador dispara as regras paralelamente, com diferentes graus de ativao, para inferir um resultado ou sada. Em algumas arquiteturas fuzzy, aps a inferncia da ao a ser tomada, necessita-se de uma traduo do valor lingustico para a varivel numrica de sada, sendo este passo conhecido como defuzzificao. Como pode acontecer de sadas distintas serem acionadas num mesmo momento, com diferentes graus de ativao, deve-se encontrar o valor que melhor

  • 11

    corresponda combinao das sadas dos conjuntos fuzzy do modelo. Dentre os mtodos de defuzzificao mais utilizados pode-se citar o mtodo de centro de rea ou a abordagem de centro dos mximos que equivale a calcular a mdia ponderada das sadas pelos valores de ativao das respectivas regras [15][16][17].

    O modo como so formadas as regras, relativas ao tipo de antecedentes e conseqentes, possibilita uma classificao do tipo de estrutura utilizada. A seo seguinte apresenta a estrutura para o modelo fuzzy Mamdani e que ser utilizada nos desenvolvimentos desta pesquisa.

    4.2.1 MODELO MAMDANI

    Um modelo do tipo Mamdani para um sistema SISO consiste de um conjunto de regras, como por exemplo:

    R1: Se x A1 ento y B1 R2: Se x A2 ento y B2 R3: Se x A3 ento y B1 R4: Se x A4 ento y B2

    onde no conjunto de regras acima, x representa a varivel de entrada que tem seu valor no domnio de um universo de discurso U enquanto A1, A2, A3 e A4 so as variveis lingsticas fuzzy com suas respectivas funes de pertinncia Ai(x). A varivel de sada do modelo y, sendo B1 e B2 variveis lingusticas definidas no universo de discurso dessa varivel atravs das respectivas funes de pertinncia Bi(y).

    Os modelos de Mamdani podem ainda modelar sistemas MISO ou MIMO onde os antecedentes e os consequentes sero compostos. Para cada regra definida no modelo pode ser relacionada uma regio no espao entrada/sada, podendo ser isoladas ou superpostas conforme necessrio [14].

    As estruturas de Mamdani necessitam de um processo de defuzzificao aps a inferncia dos dados. Os processos de defuzzificao mais utilizados na literatura, como citado anteriormente, so os mtodos de centro de gravidade e a abordagem de centro dos mximos [15][16][17].

    Esta metodologia bastante aplicada no desenvolvimento de sistemas

  • 12

    de controle, pois possibilita o controle de plantas mono e multivariveis, alm do controle de processos lineares e no-lineares atravs incorporao de informaes das caractersticas dinmicas do sistema a ser controlado e das caractersticas de resposta desejada [14][15].

    4.3 SISTEMA DE CONTROLE PID

    O algortmo PID compara o valor de referncia (setpoint SP) com a varivel de processo (process variable PV) para obter o erro (e), conforme Equao (1).

    e = SP - PV (1)

    Ento, o controlador PID calcula a ao de controle, u(t), dada pela Equao 3, onde Kp o ganho do proporcional do controlador, Ki o ganho de integrao e Kd o ganho de derivao [18][19].

    (2)

    Como pode ser observado pela Equao (2), a ao proporcional dada pelo ganho do controlador multiplicado pelo erro. A ao integral dada pelo inverso do tempo de integrao multiplicado pela integral do erro, sendo a integral do erro obtida atravs do mtodo trapezoidal, de forma que quanto maior o erro, menor a ao integral. A ao derivativa dada pelo tempo de derivao multiplicado pela derivada do erro, sendo a derivada do erro uma ao derivada parcial, calculada pela diferena entre o valor atual da varivel de processo e seu valor anterior [20].

    Para o controle PID, deve-se especificar a varivel de processo e um valor de referncia. A varivel de processo o parmetro do sistema que se deseja controlar e o valor de referncia aquele desejado para o parmetro a ser controlado [21]. Em resumo, a tarefa de um controlador PID gerar um sinal de controle, que seja capaz de corrigir e, se possvel, anular a diferena

  • 13

    existente entre o sinal de referncia e o sinal de sada [22].

    5. ATIVIDADES DESENVOLVIDAS

    As atividades desenvolvidas neste projeto de iniciao cientfica foram voltadas para o desenvolvimento de software e hardware, havendo maior empenho neste ltimo pois ele a plataforma para testes das tcnicas de controle a serem desenvolvidas. Para testar os algoritmos foram desenvolvidos dois robs: Forbidden e Theodomiro, alm dos algoritmos das duas plataformas.

    Inicialmente desenvolveu-se um algoritmo de controle Fuzzy. Esse algoritmo vem sofrendo modificaes, e se encontra em fase de teste e ajuste. Tambm foi desenvolvido e implementado um algoritmo baseado em tcnicas de controle PID. O desenvolvimento destas duas plataformas de controle dos robs possibilitou a anlise e comparao entre elas.

    5.1 FORBIDDEN

    A primeira verso, por tratar de um projeto iniciante, foi bastante primitiva e surgiu com vrios erros de projeto (tanto no formato da eletrnica, quanto na escolha e disposio dos componentes).

    A placa foi confeccionada manualmente. O layout impresso foi prensado na placa de fenolite com a utilizao de uma prensa trmica, e o cobre foi corrodo com um cido (percloreto de ferro) que no atingiu a regio demarcada pelo layout transferido pela prensa, formando assim as trilhas.

    Os formatos do rob e da placa tinham defeitos pois esbarrava nas laterais da mesa e impedia que tivesse boa desenvoltura ao percorrer o percurso.

    A segunda verso do Forbidden foi um projeto melhor elaborado. A placa foi produzida industrialmente e os componentes foram selecionados com mais cuidado, embora ainda no estivesse livre de falhas.

    Na segunda verso foram usados dois circuitos integrados (CIs) reguladores de tenso: um de 9V (LM7809) e um de 5V (LM7805). A bateria

  • 14

    alimentava com 12V o regulador LM7809 e esse, por sua vez, alimentava com 9V os motores e o regulador LM7805, por fim, o ltimo alimentava o restante da eletrnica.

    O grande problema de se usar apenas dois reguladores que estes superaqueciam, logo eram necessrios dois dissipadores de calor fixados em cada regulador.Alm disso, havia dois capacitores (um para cada regulador), responsveis por filtrar o ripple proveniente de picos de corrente ou at mesmo mau contato do conector devido vibrao.

    Apesar de ser uma verso melhor e mais evoluda, ainda no era eficiente o bastante, sobretudo ao que se refere aos componentes eletrnicos - o formato j havia sido estabelecido. Logo, foram necessrias algumas pequenas mudanas para que atingisse a verso atual.

    Os principais componentes utilizados ao longo do projeto :

    Microcontrolador PIC 18F4550

    Figura 3 Micro controlador PIC 18F4550. Fonte (http://picafio.files.wordpress.com/2010/01/18f4550.jpg)

    O PIC18F4550 um microcontrolador da famlia microchip, que possui no total 40 pinos, dos quais 17 pinos so utilizados para fazer a leitura dos sensores infravermelhos. Alm disso, 2 pinos (OSC1 e OSC2) so conectados ao cristal definindo a freqncia na qual o PIC vai trabalhar, 20mHz.

    Ainda so usados mais 4 pinos (IN1_A, IN2_A, IN1_B, IN2_B) para fazer o controle de velocidade dos motores por PWM, conectados ao driver de ponte H A4950.

    Circuito Integrado regulador de tenso:

  • 15

    Figura 4 Regulador de tenso. Fonte (http://leandron.files.wordpress.com/2010/02/lm7805-5v-regulator.jpg)

    So utilizados reguladores de tenso da famlia LM78XX para regular a carga que a bateria fornece para o motor e para os outros componentes da eletrnica.

    Cada motor suporta apenas uma tenso de 9V, necessitando portanto, de um regulador de tenso L7809, uma vez que a bateria fornece 12V. Assim, o regulador atua diminuindo essa tenso total da bateria para 9V.

    Por outro lado, para regular a tenso que ser fornecida para os demais componentes da eletrnica (que necessitam apenas de 5V) utilizou-se dois reguladores de tenso, um de 9V e outro de 5V. Sendo assim, a bateria fornece 12V para o regulador LM7809 que reduz esta tenso para um valor de 9V, que ento, reduz a tenso para 5V por um regulador LM7805, que finalmente alimenta os outros componentes eletrnicos.

    Justifica-se a necessidade de utilizar dois reguladores de tenso em srie pois, embora seja possvel reduzir 12V para 5V usando o LM7805, corre-se o risco de que este superaquea e queime.

    Sensor infravermelho analgico LTH1550

    Figura 5 - Sensor LTH1550. Fonte (http://www.techshopbd.com/uploads/product/.thumbs/lth1550_8df779.jpg)

    Um sensor infravermelho funciona basicamente da seguinte forma: h um emissor de luz infravermelha (um LED) e um receptor (foto transistor) sensvel a essa luz. Quando alimentado placa pelos pinos VCC e GND, o LED infravermelho acende. Um resistor coloca o pino de entrada do foto transistor em nvel alto, quando a luz do LED refletida de volta para o receptor tenso de entrada ir variar, diminuindo. Quanto maior a luz infravermelha sentida pelo foto transistor, menor ser a tenso no pino de amostragem do microcontrolador.

  • 16

    A pista de um rob seguidor de linha (followline), geralmente preta e o circuito a ser percorrido tem a colocao branca. Sendo assim, com base no valor de tenso, ele saber qual a cor.

    Quanto maior a tenso menos intenso ser o brilho, logo, mais prximo o sensor est da cor preta. Quanto menor a tenso, mais intenso est o brilho, logo, mais prximo do branco. De posse destas informaes, o programa ir designar o que o rob deve fazer.

    Figura 6 - Curva de tenso por luminosidade

    O rob utiliza no total 17 sensores infravermelhos. Uma barra com 15 sensores utilizada para verificar onde est a linha branca e determinar a posio do followline.

    Atravs da programao feita a leitura de cada um dos 15 sensores e determinado em que posio o Forbidden se encontra e qual posio deve ficar. Por exemplo, supondo que o sensor U13 tenha lido uma tenso muito baixa, significa que este sensor est passando sobre a linha branca. Considerando este um dos ltimos sensores da barra no lado direito, isso quer dizer que o rob no est seguindo reto. Sabendo isso, o programa ordenaria ento que ele voltasse para a posio correta.

    Os outros dois sensores restantes so utilizados para ler as demarcaes da pista. Antes de cada curva existem pequenas marcaes nas bordas da pista para que o followline possa antecipar o formato da mesma, por exemplo, quando ser a prxima curva. Alm disso, existem mais duas marcaes: uma na faixa inicial e outra na faixa final. Uma vez passado a marcao da faixa final, obrigatrio que o rob pare antes da faixa inicial.

    Contudo, devido ao formato do Forbidden, foi constatado que estes 2 sensores so desnecessrios, uma vez que h 2 sensores (na barra contendo

  • 17

    os 15) que poderiam exercer exatamente a mesma funo, uma vez que esto localizados logo atrais dos sensores de curva.

    Circuito integrado driver de ponte H - modelo A4950

    Figura 07 - Driver de ponte H A4950. Fonte

    (http://www.powersystemsdesign.com/library/resources240/images/articles/productnews/may2011/allegromicrosystems-a4950europeanpressrelease%28medium%29.jpg)

    um circuito integrado que possui internamente uma ponte H e um driver de controle interno. O modelo A4950 responsvel por controlar a velocidade do motor e o sentindo em que ele deve girar.

    A ponte H um circuito eletrnico composto por 4 transistores que tem como objetivo controlar o sentido de rotao e a corrente que circula na carga.

    A seguir so apresentadas as imagens do modelo esquemtico e posteriormente do layout do rob Forbidden.

  • 18

    ESQUEMTICO

    Figura 08 - Esquemtico do rob Forbbiden.

  • 19

    LAYOUT

    Figura 09 - Layout do robForbbiden.

  • 20

    5.2 Theodomiro

    Durante testes realizados com Forbbiden percebeu-se que robs grandes tem uma facilidade maior em fazer curvas abertas e, devido a sua massa e tamanho, se locomovem melhor em ambientes retos com pouca variao de sentido possuindo excelente estabilidade. J robs menores, possuem pouca estabilidade, em contrapartida, aceleram em um tempo menor, e possuem maior flexibilidade na mudana de sentido, pois tem massa menor.

    Pensando nisso a estrutura foi modificada e o circuito tambm recebeu algumas modificaes, sendo ainda bastante similar ao Forbbiden. As principais modificaes realizadas foram:

    o microcontrolador foi substitudo por um ATmega2560, que possui maior velocidade de processamento.

    foi adicionado um circuito boost que aumenta a tenso da bateria para 9V, uma vez que, este rob alimentado com 6,2V.

    a barra de sensores de linha foi diminuda de 15 sensores para 7, e devido ao tamanho fsico menor do rob, foi utilizada uma verso de sensor menor.

    Componentes:

    Processador ATmega2560

    Figura 10 MicrocontroladorATmega2560. Fonte (http://0.static.wix.com/media/6165db_cfdb1a7b8fbd0e6c6569a32b1e4287c4.jpg_1024)

    Neste rob o microcontrolador foi alterado pelo ATmega2560 que possui uma eficincia maior, alm de ser quase 3 vezes mais rpido que o PIC18F4550, usado o Forbbidem, apesar de ter 100 pinos menor pois foi utilizado sua verso SMD enquanto no Forbbiden foi utilizado a verso discreta do PIC18F4550.

  • 21

    Regulador de tenso LD1117S50:

    Figura 11 Regulador de tenso LD1117S50. Fonte (http://www.mouser.com/images/stmicroelectronics/images/sot223.jpg)

    Neste rob foi utilizado apenas o regulador de tenso de 5V que, recebe a tenso da bateria diretamente, com uma tenso nominal de 6,4V. Este regulador do tipo SMD e fisicamente menor que o antigo regulador modelo LM7805.

    Sensor infravermelho analgico QRE1113

    Figura 12 Sensor QRE1113. Fonte (https://dlnmh9ip6v2uc.cloudfront.net//images/products/9/5/4/2/09542-02.jpg)

    Foi utilizado o sensor QRE1113 em sua verso SMD, pois ele pequeno e, facilitou a distribuio dos sensores pela PCB. Seu comportamento similar ao LTH1550, portanto, o circuito orbital permaneceu o mesmo.

    A4950 driver de ponte H O driver de controle dos motores foi mantido o mesmo, uma vez que foi

    contatado seu excelente desempenho no rob Forbbiden. CI NCP1402. O NCP1402 foi usado no circuito boost mas devido a erro no projeto no

    foi soldado no rob.

    A seguir so apresentadas as imagens do modelo esquemtico e posteriormente do layout do rob Theodomiro.

  • 22

    ESQUEMTICO

    Figura 13 - Esquemtico do rob Theodomiro.

  • 23

    LAYOUT

    Figura 14 Layout do rob Theodomiro.

  • 24

    5.3 SISTEMA DE CONTROLE FUZZY

    O sistema de controle baseado na metodologia de conjuntos Fuzzy pode ser caracterizado conforme apresentado na figura 15. Os dados normalmente passam inicialmente por um processo de normalizao e posteriormente so fuzzificados conforme os conjuntos fuzzy definidas no controlador. Aps este processo, eles sofrem um processo de inferncia e posteriormente so submetidos a uma atividade de defuzzificao que torna os dados compatveis com as aes que devem representar no mundo real.

    Figura 15 - Modelo do sistema de controle Fuzzy.

    Para modelar o sistema Fuzzy foi utilizado um software interativo voltado para o clculo numrico (MATLAB), e adotado o sistema MAMDANI.

    Foram definidas duas variveis de entrada e duas de sada para o modelo Fuzzy. O rob Forbbiden possui a barra de sensores composta por 15 sensores, j o rob Theodomiro possui sete sensores. Esses sensores compem os valores das variveis de entrada, sendo que as barras de sensores foram divididas em duas em cada rob. Dos sensores U1 at U8 compe a varivel (Barra_Direita) no Forbbiden, e a varivel (Barra_Esquerda) e composta pelos sensores U8 at o sensor U15. No Theodomiro a diviso similar, as variveis so compostas dos sensores U1 a U4 e de U4 a U7 respectivamente.

    As variveis de sadas correspondem aos motores dos robs, motor direito e motor esquerdo.

  • 25

    Figura 16 - Sistema Fuzzy no MATLAB.

    As variveis de entradas so compostas das seguintes funes de pertinncia:

    Figura 17 - Funes de pertinncia das variveis de entrada.

    A funo de pertinncia Zero est associada a sua respectiva varivel de entrada, e ser mxima quando no houver na barra nenhum sensor sobre a linha branca. J quando o primeiro sensor ou os dois primeiros estiverem sobre a linha, funo de pertinncia Reta estar ativa, e assim subsequentemente como pode ser visto na figura (modelo entrada Fuzzy) at o ltimo sensor da barra. Esse modelo diz respeito ao rob Theodomiro, mas se aplica tambm ao Forbbiden. A diferena est somente na quantidade de sensores que passam a ter um Range que vai de zero ate 80.

    O sistema tambm composto de duas variveis de sada, (Motor_Esquerdo, Motor_Direito), que esto associados largura do pulso modularizado na sada para o motor.

  • 26

    Figura 18 - Funes de pertinncia das variveis de sada.

    Tambm compem o sistema a maquina de inferncia, j que para o controle do rob necessrio o conhecimento sobre o mesmo.

    A mquina Fuzzy composta com regras e um mecanismo que as avalia e calcula suas respectivas pertinncias para, ao fim, gerar uma sada. Os robs seguidores de linhas possuem regras descritas abaixo:

    1. Se Barra_direita = Reta e Barra_esquerda = Reta, ento Motor_direito = Rapido e Motor_esquerdo = Rapido.

    2. Se Barra_direita = Aberta e Barra_esquerda = Aberta, ento Motor_direito = Rapido e Motor_esquerdo = Rapido .

    3. Se Barra_direita = Media e Barra_esquerda = Media, ento Motor_direito = Rapido e Motor_esquerdo = Rapido .

    4. Se Barra_direita = Fechada e Barra_esquerda = Fechada, ento Motor_direito = Rapido e Motor_esquerdo = Rapido .

    5. Se Barra_direita = Zero e Barra_esquerda = Reta, ento Motor_direito = Rapido e Motor_esquerdo = Normal .

    6. Se Barra_direita = Zero e Barra_esquerda = Aberta, ento Motor_direito = Normal e Motor_esquerdo = Lento.

    7. Se Barra_direita = Zero e Barra_esquerda = Media, ento Motor_direito = Rapido e Motor_esquerdo = Lento.

    8. Se Barra_direita = Zero e Barra_esquerda = Fechada, ento Motor_direito = UltraRapido e Motor_esquerdo = FreioMotor.

    9. Se Barra_direita = Reta e Barra_esquerda = Zero, ento Motor_direito = Normal e Motor_esquerdo = Rapido.

    10. Se Barra_direita = Reta e Barra_esquerda = Aberta, ento Motor_direito = Rapido e Motor_esquerdo = Normal.

    11. Se Barra_direita = Reta e Barra_esquerda = Media, ento Motor_direito = Rapido e Motor_esquerdo = Lento.

    12. Se Barra_direita = Reta e Barra_esquerda = Fechada, ento Motor_direito = Rapido e Motor_esquerdo = Rapido.

    13. Se Barra_direita = Aberta e Barra_esquerda = Zero, ento

  • 27

    Motor_direito= Lento e Motor_esquerdo = Normal. 14. Se Barra_direita = Aberta e Barra_esquerda = Reta, ento Motor_direito

    = Normal e Motor_esquerdo = Rapido. 15. Se Barra_direita = Aberta e Barra_esquerda = Media, ento

    Motor_direito = Rapido e Motor_esquerdo = Rapido. 16. Se Barra_direita = Aberta e Barra_esquerda = Fechada, ento

    Motor_direito = Rapido e Motor_esquerdo = Rapido. 17. Se Barra_direita = Media e Barra_esquerda = Zero, ento Motor_direito

    = Lento e Motor_esquerdo = Rapido. 18. Se Barra_direita = Media e Barra_esquerda = Reta, ento Motor_direito

    = Normal e Motor_esquerdo = Rapido. 19. Se Barra_direita = Media e Barra_esquerda = Aberta, ento

    Motor_direito = Rapido e Motor_esquerdo = Rapido. 20. Se Barra_direita = Media e Barra_esquerda = Fechada, ento

    Motor_direito = Rapido e Motor_esquerdo = Rapido. 21. Se Barra_direita = Fechada e Barra_esquerda = Zero, ento

    Motor_direito = FreioMotor e Motor_esquerdo = UltraRapido. 22. Se Barra_direita = Fechada e Barra_esquerda = Reta, ento

    Motor_direito = Rapido e Motor_esquerdo = Rapido. 23. Se Barra_direita = Fechada e Barra_esquerda = Aberta, ento

    Motor_direito = Rapido e Motor_esquerdo = Rapido. 24. Se Barra_direita = Fechada e Barra_esquerda = Media, ento

    Motor_direito = Rapido e Motor_esquerdo = Rapido.

    A partir do erro de entrada e das variveis lingusticas o sistema realiza a tomada de deciso e faz os ajustes necessrios para que o rob v para uma condio onde o erro seja mnimo.

    Experimentos prticos mostraram o correto funcionamento deste sistema de controle e sua eficcia na soluo do problema de posicionamento do rob. O desenvolvimento deste sistema tambm tornou evidente que necessrio um esforo significativo para o correto ajuste dos parmetros deste controlador. Em contrapartida, o algoritmo PID se mostrou de fcil ajuste e muito eficiente.

    5.4 Sistema de Controle PID

    Com a implementao do controlador PID realizada, alguns problemas foram evidenciados. O controlador faz a comparao de um valor amostrado do

  • 28

    projeto (PV, varivel de processo amostrado) com referencia (SP, set-point), que resulta em uma diferena (Erro). Esse valor ento, utilizado para calcular o valor da varivel manipulada, tentando levar sistema ao set-point.

    Atravs da variao dessa diferena (Erro) e do tempo, o algoritmo PID ajusta as sadas do sistema, permitindo ao sistema estabilidade e preciso.

    A partir de informaes do desvio do valor (Erro) e do valor desejado (Setpoint), o sistema PID calcula o valor da atuao (MV). Isso transformado em um sinal de sada adequado para que o atuador, neste caso o sistema de controle de velocidade da roda por PWM, garanta um controle estvel do rob.

    O PID a composio de trs equaes relativamente simples conforme apresentado na equao (2).

    A primeira equao do processo denominada Proporcional, como seu nome j mostra, essa equao reage de forma proporcional ao erro, portanto quando o erro cresce a correo aplicada cresce em proporo igual.

    A segunda equao a Integral, essa equao atua em erros pequenos, mais provenientes de longos perodos, a integral a somatria dos erros.

    A terceira equao, Derivada, atuante na variao do erro, quando essa variao brusca e ou de grande intensidade a atuao de derivada tem atuao maior, e quanto menor a variao menor a intensidade.

    A figura a seguir ilustra o efeito da variao de Pba banda proporcional no controle dosistema PID.

    Figura 19 Efeito da reduo de PB no comportamento de PV

    Na figura 19.A, com a Pb grande, a sada se estabiliza muito abaixo do setpoint. Com a diminuio de Pb em 19.B, o sistema se estabiliza mais prximo do setpoint, com uma faixa de Pb muito estreita 19.C leva o sistema instabilidade.

  • 29

    Figura 20 Efeito da incluso do controle Integral PI

    Na figura 20.A, o sistema comea a atingir o equilbrio. A partir do momento em que a curva ultrapassa Pb, o sistema entra em equilbrio abaixo do setpoint. Com a implementao da integral (figura 20.B), o sistema entra em equilbrio no setpoint. O sistema ento ficar em equilbrio desde que no ocorra variao.

    A ao derivativa tenta reduzir a intensidade da variao de PV, evitando que a variao se eleve ou reduza bruscamente, portanto, s o derivativo atua no sistema quando h variao do erro.

    Unindo as 3 equaes tem-se um controlador PID com o controle bsico P, a eliminao do erro I e tambm a diminuio da oscilao D. A dificuldade do sistema fazer a sintonia do PID. Usando a tabela 1 o ajuste de um sistema PID se torna mais fcil, e durante o ajuste do PID do rob Theodomiro essa tabela mostrou-se muito eficaz.

    Tabela 1 sintonia do PID Se o desempenho do processo ... Tente uma a uma as opes:

    Est quase bom, mas o overshoot est um pouco alto.

    Aumentar Kp em 20% Diminuir Ki em 20% Aumentar Kd em 50%

    Est quase bom, mas no tem overshoot e demora a atingir o setpoint.

    Diminuir Kp em 20% Aumentar Ki em 20% Diminuir Kd em 50%

    Est bom, mas MV est sempre variando entre 0% e 100% ou est variando demais.

    Diminuir Dt em 50% Aumentar Pb em 20%

    Est ruim. Aps a partida, o transitrio dura vrios perodos de oscilao, que reduz muito

    lentamente ou no reduz.

    Aumentar Pb em 50%

    Est ruim. Aps a partida avana lentamente em direo ao setpoint, sem

    overshoot. Ainda est longe do setpoint e MV j menor que 100%.

    Diminuir Kp em 50% Aumentar Ki em 50% Diminuir Kd em 70%

  • 30

    Resultados em ambos os robs demonstraram a eficincia tambm deste mtodo de controle possibilitando que o rob realiza-se o percurso pr-definido de maneira adequada.

  • 31

    6. CONCLUSES

    Com a crescente utilizao, de sistemas autnomos, algoritmos inteligentes e cada vez mais eficientes so necessrios para o controle desses dispositivos. Esses sistemas podem ser utilizados para baratear os custos de linhas de manufatura, por exemplo, no gerenciamento de estoque automatizado.

    Em competies de robticas, robs seguidores de linha (followline) so levados ao limite, por isso algoritmos mais eficientes so necessrios. Devido as similaridades, esses algoritmos podem ser utilizados como base para futuros trabalhos na mesma linha, alm de tal tcnica de controle de robs poder estender-se a robs industriais.

    Com relao aos sistemas, comparando o sistema PID com o sistema Fuzzy, nota-se claramente que o PID (Proporcional Integral Derivativo) tem ajuste de menor complexidade que o Fuzzy e, os dois algoritmos se mostraram eficientes em fazer o rob completar o circuito. O Fuzzy consome uma quantidade de processamento muito maior para chegar a um resultado similar que o sistema PID. Porm, em situaes onde o processamento limitado o PID se mostra mais eficiente.

    Durante o processo de desenvolvimento dos algoritmos surgiu oportunidade te testar um sistema misto entre PID e Fuzzy, onde o PID responsvel pelo balano de velocidade das rodas durante as curvas e o sistema Fuzzy limitava a velocidade de acordo com o erro do sistema, assim quando o sistema percebia um erro ele limitava a velocidade do rob para que este faa a curva com maior preciso. Durante a passagem pela reta, onde o sistema se tornava mais estvel, o Fuzzy permite ento reduzir a limitao aumentado a velocidade do rob.

    O sistema misto se mostrou mais estvel que os sistemas Fuzzy e PID separados, porem tambm com alguns limitantes. Esse sistema demanda um tempo aps a estabilidade do rob para diminuir a limitao de velocidade, isso implica que o rob sai da curva com uma estabilidade maior, e ainda demanda um tempo maior para acelerar, mas isso pode ser diminudo durante a sintonia do sistema.

  • 32

  • 33

    7. TRABALHOS FUTUROS

    No rob Theodomiro existem vrios erros de projeto com o circuito boost: os pinos de gravao esto conectados de forma incorreta no microcontrolador; as botoeiras para iniciar o funcionamento do rob so de baixa qualidade e devem ser trocadas; deve ser adicionado entre a sada dos sensores e a entrado do microcontrolador um circuito de converso A/D, a fim de melhorar o desempenho dos sensores; e tambm, devem ser adicionados alguns LEDs de indicao alm do existente, que informe a situao de carga da bateria.

    J no Forbbiden, as modificaes sero compostas pela troca do microcontrolador por um modelo SMD, a troca dos sensores LTH1550 pelos QRE1113 que so menores, a adio do circuito A/D e ainda, o circuito boost para eliminar a bateria de 12V e possibilitar o uso de uma bateria menor e mais leve, melhorando o desempenho do rob. Estuda-se tambm a viabilidade de incluso de alguns LEDs de indicao, que poderia facilitar o debug do cdigo.

    Os cdigos dos robs esto atualmente em desenvolvimento e j apresentam funcionalidade razovel, mas ainda no compatvel com o desempenho desejado, portanto continuaro sendo desenvolvidos at que se alcance tal objetivo.

    Pretende-se ao fim deste trabalho, alcanar um algoritmo que consiga em menor tempo levar os dois robs at o fim do percurso. Durante esse processo ser trabalhado algoritmos inteligentes que ainda no foram testados, como redes neurais.

    Os sistemas ainda necessitam de ajustes para chegar a um estado timo. Os algoritmos sero colocas a prova durante a competio de robtica Winter Challenge 2014.

    Tambm sero implementados mtodos para a aquisio de hardware e software a fim de fazer o levantamento e anlise dos algoritmos.

  • 34

    8. REFERNCIAS BIBLIOGRFICAS

    [1] L. A. Aguirre (ed. 2007), Enciclopdia de Automtica, Blucher, So Paulo, [2] Silva, L. E.; Bispo, J.; Leite, R.; Abreu, Ubirajara Santos e Vitor Cruz. (2006) Utilizao do

    estudo de robs seguidores de linha como estratgia de avaliao na disciplina controle de processos no

    curso de engenharia de computao, COBENGE 2006, 1148-1153 [3] Pakdaman, M. (2009) Design and Implementation of Line Follower Robot. Second

    International Conference on Computer and Electrical Engineering, 2009. ICCEE '09. pages 585-590, Dec. 2009.

    [4] Changkyu Choi, Ju-Jang Lee, (1996) Dynamical path-planning algorithm of a mobile robot: Local minima problem and nonstationary environments. Mechatronics, Volume 6, Issue 1, Pages 81-100

    [5] N. Le Fort-Piat, I. Collin, D. Meizel, (1997). Planning robust displacement missions by means of robot-tasks and local maps. Robotics and Autonomous Systems,Volume 20, Issue 1, 1997, Pages 99-114

    [6] Fujimori, A.; Nikiforuk, P.N.; Gupta, M.M. (1997) Adaptive navigation of mobile robots with obstacle avoidance. IEEE Transactions on Robotics and Automation, Volume: 13 Issue: 4 pages:

    596-601 [7] Ogata, K. (2003).Engenharia de Controle Moderno, 4th edn, Prentice-Hall. [8] Pedrycz, W. e Gomide, F. A. C. (1998). An Introduction to Fuzzy Sets: Analysis and Design

    (Complex Adaptive Systems), 1st edn, MIT Press. [9] de Castro, Leandro N. (2007). Fundamentals of natural computing: basic concepts,

    algorithms, and applications, Chapman & Hall/CRC

    [10] Zadeh, L. A. (1965). Fuzzy sets, Information and Control 8: 338353. [11] Wang, L.-X. e Mendel, J. M. (1992). Fuzzy basis functions, universal approximation, and

    orthogonal least-square learning, IEEE Transaction on Neural Network 43(5): 807814. [12] Kosko, B. (1994). Fuzzy systems as universal approximators, IEEE Transaction on

    Computers 43(11): 13291333. [13] Wang, L. X. (1998). Universal aproximation by hierarchical fuzzy systems, Fuzzy Sets and

    Systems 93(2): 223230. [14] Yager, R. R. e Filev, D. P. (1994). Essentials of Fuzzy Modeling and Control, John Wiley

    and Sons.

    [15] Lee, C. C. (1990). Fuzzy logic in control systems: Fuzzy logic controller - parts 1 and 2, IEEE Transaction on Systems, Man and Cybernetics 20(2): 404435.

    [16] Dubois, D. e Prade, H. (1984). Fuzzy logics and the generalized modus ponens revisited, Cybernetics and Systems 15 (3-4): 293332.

    [17] Gupta, M. M., Kandel, A., Bandler, W. e Kiszka, J. B. (1985). The generalized modus ponens under sup-min composition - A theoretical study, Eds. Amsterdam: North Holland.

    [18] Johnson, Controlo de Processos: Tecnologia da Instrumentao, Fundao CalousteGulbenkian, 1990

    [19] Artigo Tcnico NOVUS - Introduo ao controle PID

  • 35

    [20] Bateson, Introduction to Control System Tecnology, Macmillan Publishing Company, 1993

    [21] Martins de Carvalho, Dynamical Systems and Automatic Control, Prentice Hall, 1993

    [22] Considine, Process Instruments and Controls Handbook, Mcgraw-Hill, 1990 [23] Kuo, Automatic Control Systems, Prentice Hall , 1991 [24] Phillips and R. D. Harbor, Feedback Control Systems, Prentice Hall, 1991