• Nenhum resultado encontrado

Arquitetura de subsunção baseada em objetivo de controle principal

N/A
N/A
Protected

Academic year: 2021

Share "Arquitetura de subsunção baseada em objetivo de controle principal"

Copied!
76
0
0

Texto

(1)

Universidade Federal de Sergipe

Programa de Pós-graduação em Engenharia Elétrica

ARQUITETURA DE SUBSUNÇÃO BASEADA EM OBJETIVO DE CONTROLE PRINCIPAL

PHILLIPE CARDOSO SANTOS

Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Engenharia Elétrica (PROEE) da Universidade Federal de Sergipe, como parte dos requisitos necessários à obtenção do título de Mestre em Engenharia Elétrica.

Orientadores: Elyson Ádan Nunes Carvalho Lucas Molina

São Cristóvão Fevereiro de 2017

(2)
(3)

FICHA CATALOGRÁFICA ELABORADA PELA BIBLIOTECA CENTRAL UNIVERSIDADE FEDERAL DE SERGIPE

S237a

Santos, Phillipe Cardoso

Arquitetura de subsunção baseada em objetivo de controle principal / Phillipe Cardoso Santos ; orientador Elyson Ádan Nunes Carvalho. – São Cristóvão, 2017.

76 f. ; il.

Dissertação (mestrado em Engenharia elétrica) – Universidade Federal de Sergipe, 2017.

1. Engenharia elétrica. 2. Robótica. 3. Robôs móveis. 4. Estabilidade. 5. Teoria dos autômatos. I. Carvalho, Elyson Ádan Nunes, orient. II. Título.

(4)

A meu pai Ronaldo dos Santos e a minha mãe Siziana Alcântara Cardoso.

(5)

Agradecimentos

Gostaria de agradecer primeiramente a Deus por sempre ter guiado meus passos, ilumi-nado meu caminho e por ter colocado em minha vida todas as pessoas que contribuiram e/ou torceram para eu que pudesse chegar até aqui.

Aos meus pais Ronaldo e Sizi, que sempre me deram todo o apoio que precisei e nunca mediram esforços para que eu pudesse alcançar meus objetivos. Meu pai, que mudou nossas vidas através do estudo, sempre foi um espelho pra mim. Minha mãe, com seu coração gigante e jeito especial de dar bronca (rsrs), me ensinou a ser uma pessoa boa, respeitando e ajudando o próximo. Juntos, vocês me ensinaram a ser o que eu sou hoje. Sem vocês eu nunca teria chegado até aqui. Amo vocês!

Aos meus avós José de Sá e Dejenalva que estão sempre por perto, dando total apoio e torcendo muito por mim. A minha avó Marinita (in memoriam), uma pessoa muito batalhadora e que foi muito importante na minha infância.

Ao meu irmão Matheus, que tem dado muito orgulho para nossa família, sendo um me-nino bom e com um futuro brilhante pela frente. É sempre bom ter um irmão com o qual você pode contar, compartilhar tudo, sem brigas ou qualquer tipo de desentendimento.

Ao meu grande amigo e irmão Thiago, por todas as conversas, conselhos, apoio, torcida e parceria desde os tempos do infantil. Valeu mesmo man!

A Aline, que me ajudou a amadurecer muito durante essa caminhada, a descobrir que eu posso sonhar mais alto e a ser uma pessoa melhor. Muito obrigado por tudo.

A todos os meus tios e tias, em especial a Júnior Sá (o Doido) por ser praticamente um irmão mais velho, a todos os primos, primas, minhas duas madrinhas, meus afilhados... enfim, a toda a minha família, que sempre torceu por mim e vibrou a cada conquista. Uma família abençoada por Deus e da qual me orgulho de fazer parte.

Aos meus orientadores Elyson, Lucas e Eduardo que me apresentaram a robótica e me fizeram ter a certeza de que meu sonho é seguir a carreira acadêmica. Muito obrigado por tudo, desde todo o conhecimento transmitido, até os conselhos, broncas e elogios que com certeza me farão um profissional mais capacitado e também uma pessoa melhor.

À todos que fizeram ou fazem parte da família GPRUFS desde 2010, a convivência com vocês foi de fundamental importância para a realização não só desta dissertação, como de muitos outros trabalhos. Em especial, gostaria de agradecer à Stephanie, que acabou se tornando uma grande amiga com a qual pude dividir toda pressão da graduação

(6)

e do mestrado, filosofar sobre a vida e dividir alegrias e conquistas, sendo este mestrado a mais recente delas, mas que, com fé em Deus, será apenas mais uma de muitas que ainda virão. Gostaria de agradecer também mais especificamente à Lívia, Renato, Marcelo e Arthur.

Ao pessoal que entrou comigo na UFS na turma de 2009 e que me ajudou a superar as dificuldades do curso, principalmente a Lewis, Dami, Tarciana, Isla e, claro, a Mateus (o Galo), parceiro na maioria dos projetos na graduação e um amigo que levarei pra toda a vida.

À galera do Irradiar, aos colegas que fiz no Ciência sem Fronteiras e aos demais amigos, dentro os quais gostaria de citar Marcos, Bruno, Makson, Roberta, Rafael e Judá.

Por fim, gostaria de agradecer à CAPES pelo apoio financeiro que foi de fundamental importância para a realização deste trabalho.

(7)

Resumo

ARQUITETURA DE SUBSUNÇÃO BASEADA EM OBJETIVO DE CONTROLE PRINCIPAL

PHILLIPE CARDOSO SANTOS Fevereiro/2017

Orientadores: Elyson Ádan Nunes Carvalho Lucas Molina

Departamento: Engenharia Elétrica (DEL/PROEE/UFS)

Um aspecto muito importante na robótica é a tomada de decisão e execução que o sistema utiliza para alcançar seus objetivos. Na literatura, existem vários trabalhos diferentes para abordar como o robô deve se comportar diante de várias situações diferentes a fim de trazer uma maior robustez ao sistema, sendo a arquitetura de subsunção uma das mais utilizadas e referenciadas na área. Nesta arquitetura, a tarefa global é dividida em subtarefas que são executadas por comportamentos organizados em camadas de forma hierárquica. No entanto, pouco se pesquisa no que diz respeito a análise de estabilidade desta arquitetura, sendo que as mudanças de comportamento implicam em chaveamento de controladores, que por sua vez podem levar o sistema a instabilidade mesmo em casos em que todos os controladores sejam estáveis. Desta forma, neste trabalho é apresentada uma arquitetura de subsunção com prova de estabilidade garantida com base na teoria de controle chaveado com objetivo de controle principal. Além disso, um formalismo capaz de permitir a modelagem dos comportamentos de forma simples e rápida é proposto com base na teoria de sistemas a eventos discretos. Testes em ambientes reais foram realizados com o robô Pioneer P3-DX e os resultados obtidos comprovam a eficácia da abordagem proposta.

Palavras-chave: Navegação de robôs móveis; Arquitetura de subsunção; Estabili-dade; Controle chaveado; Sistemas a eventos discretos.

(8)

Abstract

SUBSUMPTION ARCHITECTURE BASED ON MAIN CONTROL OBJECTIVE

PHILLIPE CARDOSO SANTOS February/2017

Advisors: Elyson Ádan Nunes Carvalho Lucas Molina

Department: Electrical Engineering (DEL/PROEE/UFS)

A very important aspect in robotics is the decision making and execution the system uses to achieve its goals. In literature, many different approaches can be found about how the robot must behave in different situations in order to have a more robust system. Subsumption architecture is one of the most used and referenced in the area. In this architecture, the global task is divided into subtasks which are performed by behaviors organized in hierarchical layers. However, little research has been done regarding the stability analysis of this architecture. Behavioral changes imply in controller switching, which can lead the system to instability even in cases where all controllers are stable. In this work, a subsumption architecture with guaranteed stability is presented based on the theory of switched systems with main control objective. In addition, a formalism capable of allowing behaviors modeling in a simple and fast way is proposed based on the theory of discrete events systems. Tests in real environments were performed with the Pioneer P3-DX robot and obtained results demonstrate the proposed approach effectiveness.

Keywords: Mobile robots navigation ; Subsumption architecture; Stability; Control switching; Discrete event systems.

(9)

Sumário

Agradecimentos v

Lista de Figuras xi

Lista de Tabelas xiii

1 Introdução 1

2 Fundamentação Teórica 5

2.1 Estabilidade e quasi-Estabilidade . . . 5

2.2 Sistemas Chaveados . . . 8

2.3 Sistemas chaveados baseados em objetivo de controle principal . . . 9

2.3.1 Quasi-estabilidade para sistemas com objetivo de controle principal baseado em chaveamento lento . . . 10

2.4 Sistemas a Eventos Discretos . . . 10

2.4.1 Linguagem de um sistema . . . 11

2.4.2 Autômatos . . . 12

2.4.3 Linguagem de um autômato . . . 13

2.4.4 Autômatos com bloqueio . . . 14

2.4.5 Operações com autômatos . . . 16

3 Revisão Bibliográfica 19 3.1 Arquitetura de Subsunção . . . 19

3.2 Trabalhos Correlatos . . . 21

3.3 Limitações da arquitetura de subsunção . . . 23

3.4 Teorema de estabilidade de segunda ordem . . . 25

4 Arquitetura de subsunção baseada em objetivo de controle principal 27 4.1 Modelagem do sistema em forma de autômatos . . . 29

5 Resultados 40 5.1 Controladores desenvolvidos para realização dos experimentos . . . 41

(10)

5.1.2 Controlador de evitar obstáculos . . . 43

5.2 Experimentos . . . 44

5.2.1 Experimento 1 . . . 44

5.2.2 Experimento 2 . . . 46

5.2.3 Experimento 3 . . . 50

5.3 Comparação dos resultados . . . 55

6 Considerações Finais 58

(11)

Lista de Figuras

1.1 Número de citações de por ano (dados do Google ScholarT M). . . . 3

2.1 Exemplo de função V [x(t)] de um sistema de chaveado que atende às pro-posições de quasi-Estabilidade [1] . . . 8

2.2 Diagrama de transição de estados do autômato G1 [2]. . . 13

2.3 Exemplo de autômato. . . 14

2.4 Autômato G3: Exemplo de autômato com bloqueio. . . 15

2.5 Autômatos para realização da composição paralela. . . 18

2.6 Composição paralela entre G1 e G2, G1||G2. . . 18

3.1 Decomposição de um sistema de controle de um robô móvel em módulos funcionais [3]. . . 20

3.2 Decomposição de um sistema de controle de um robô móvel baseado em comportamentos [3]. . . 20

3.3 Arquitetura de subsunção [3]. . . 21

3.4 Representação gráfica da estabilidade de segunda ordem [4] . . . 26

4.1 Modelo geral do sistema [1] . . . 28

4.2 Autômato do subsistema principal . . . 30

4.3 Autômato do subsistema secundário . . . 31

4.4 Autômato do subsistema terciário . . . 32

4.5 Autômato do subsistema quaternário . . . 33

4.6 Autômato modelo para qualquer subsistema não principal . . . 33

4.7 Autômato resultado da composição paralela de 2 subsistemas . . . 34

4.8 Autômato geral do modelo resultado da composição paralela de 4 subsistemas 37 4.9 Autômato geral do modelo resultado da composição paralela de 4 subsistemas 39 5.1 Ambientes utilizados para a navegação do robô. Nestas imagens, o círculo vermelho indica o ponto de destino, as caixas pretas são os obstáculos e os círculos verdes são os marcos . . . 41 5.2 Variáveis e eixos de coordenadas relativos ao controlador de posição final [5]. 42

(12)

5.3 Ilustração no ambiente das principais variáveis do controlador de evitar obstáculos. [1] . . . 43 5.4 Trajetória realizada pelo robô durante o experimento. O vermelho indica

a utilização do controlador de posição final, o azul o de evitar obstáculos e o verde o controlador responsável por levar o robô até os marcos. . . 45 5.5 Sinais de chaveamento dos controladores durante a navegação do robô . . . 46 5.6 Comportamento da função SSLF do sistema para cada experimento. . . 46 5.7 Trajetória realizada pelo robô durante o experimento. . . 47 5.8 Trajetória realizada pelo robô durante o experimento 2 com valores de

τ = 8s e τ = 16s respectivamente. . . 48 5.9 Sinais de chaveamento dos controladores durante a navegação do robô. . . 49 5.10 Comportamento da função SSLF do sistema para cada experimento. . . 49 5.11 Trajetória realizada pelo robô durante o experimento. . . 51 5.12 Sinais de chaveamento dos controladores durante a navegação do robô. . . 52 5.13 Sinais de chaveamento dos controladores durante a navegação do robô. . . 52 5.14 Imagens do experimento real realizado com a abordagem proposta no

pri-meiro ambiente com τ = 2s, cuja trajetória foi apresentada na figura 5.4a . 53 5.15 Imagens do experimento real realizado com a abordagem proposta no

se-gundo ambiente com τ = 8s, cuja trajetória foi apresentada na figura 5.8a . 53 5.16 Imagens do experimento real realizado com a abordagem proposta no

ter-ceiro ambiente com τ = 2s, cuja trajetória foi apresentada na figura 5.11c . 54 5.17 Imagens do experimento real realizado com a abordagem proposta no

(13)

Lista de Tabelas

4.1 Descrição dos eventos do autômato que modela o subsistema principal . . . 29 4.2 Descrição dos eventos do autômato que modela o subsistema secundário . . 30 4.3 Descrição dos eventos do autômato que modela o subsistema terciário . . . 32 5.1 Experimento 1 . . . 56 5.2 Experimento 2 . . . 56 5.3 Experimento 3 . . . 56

(14)

Capítulo 1

Introdução

Na robótica móvel são estudados os dispositivos eletromecânicos que são capazes de se movimentar e interagir com o ambiente estabelecido. Os robôs costumam ser utilizados com várias finalidades diferentes, desde entretenimento até a realização de processos de automação industrial, ou mesmo na exploração de ambientes inóspitos ou que apresentam algum tipo de perigo para a integridade humana.

Um aspecto muito importante na robótica é a tomada de decisão e execução que o sis-tema utiliza para alcançar seus objetivos. No caso da robótica móvel, o objetivo específico que está diretamente ligado à mobilidade é a competência de navegação [6]. Nesse sen-tido, navegação pode ser descrita como o processo de determinar um caminho adequado e seguro entre um ponto de partida e um ponto de destino, levando em consideração as informações disponíveis para o robô [7].

Nesse contexto, são pesquisadas as arquiteturas de navegação com o propósito de solucionar o problema da tomada de decisões pelo robô móvel. A arquitetura de um robô define como está organizada a tarefa de gerar ações a partir das percepções e das informações conhecidas a priori [8].

Segundo Ronald C. Arkin [9], em relação às suas metodologias, as arquiteturas de na-vegação podem ser qualitativamente classificadas de acordo com o modo que o sistema age mediante os estímulos do ambiente. Nesse sentido, as arquiteturas podem ser separadas em três tipos, quais sejam: (i) deliberativas (ou cognitivas), (ii) reativas (ou reflexivas) e (iii) híbridas.

O caráter deliberativo de um sistema de navegação permite ao robô móvel construir um modelo do ambiente onde são consideradas, principalmente, as posições e formas dos obstáculos, além do espaço livre navegável. Dessa maneira, sendo conhecido o ambi-ente de navegação, o robô pode gerar a trajetória de locomoção através de uma técnica de planejamento de movimento, escolhida a critério do projetista na implementação do sistema.

Já o caráter reativo de um sistema de navegação possibilita ao robô uma resposta em tempo real aos estímulos do ambiente, uma vez que esse tipo de arquitetura é caracterizada

(15)

por mapear diretamente a leitura dos sensores em ações do robô [9]. Nesta abordagem, não é necessário o conhecimento prévio do ambiente, o que torna essas arquiteturas mais indicadas para a navegação em ambientes dinâmicos, pois o robô pode reagir rapidamente às mudanças que ocorrerem.

A partir das arquiteturas de navegação citadas anteriormente, surge a navegação hí-brida [10] [11] [12], a qual une o planejamento e a eficiência da arquitetura deliberativa à velocidade e independência da arquitetura reativa, podendo tornar então, a navegação híbrida mais eficiente. Normalmente a parte reativa é mais utilizada em situações de emergência, enquanto a deliberativa é responsável pelo planejamento global da tarefa, para que a meta determinada possa ser alcançada.

Na área de navegação é comum decompor uma tarefa complexa (tarefa global) em diversas tarefas mais simples (sub-tarefas), sendo estas sub-tarefas realizadas através de diferentes sistemas de navegação independentes, chamados de comportamentos [9].

A coordenação desses comportamentos é um dos principais aspectos relacionados à navegação e um dos trabalhos mais importantes e referenciados nessa área é a arquitetura de subsunção proposta por Brooks em [3]. Neste trabalho, Brooks criou um conjunto de comportamentos direcionados a cumprir tarefas, organizados por camadas que são acio-nadas a partir de estímulos a resposta de um conjunto de sensores. Cada comportamento aceita sinais de supressão e inibição, sendo que um sinal de supressão sobrepõe o sinal normal de entrada e o sinal de inibição inibe completamente a saída. Estes sinais permi-tem que os comportamentos se sobreponham, de forma que o sispermi-tema possa produzir um comportamento coerente.

Além disso, muitos comportamentos podem ser disparados simultaneamente, tornando-se necessário um mecanismo de escolha que seleciona a ação a ser executada. Para isso, os módulos comportamentais são organizados em camadas em uma hierarquia chamada de subsunção, em que as camadas mais baixas são inibidas pelas camadas mais altas.

Com a arquitetura de subsunção, Brooks obteve bons resultados que fizeram com que seu trabalho continue sendo muito utilizado até os dias atuais, mesmo com a vasta pesquisa que é realizada na área de navegação e a consequente criação de novas técnicas. Na figura 1.1 pode ser vista a quantidade de trabalhos que citam o trabalho de Brooks por ano desde a sua publicação.

A arquitetura de subsunção de Brooks, assim como outras arquiteturas baseadas em comportamento, trabalham selecionando uma ação adequada para cada momento e isto é feito através do chaveamento de comportamentos, normalmente representados pelo cha-veamento de controladores. A regra aplicada para esse chacha-veamento é de fundamental importância para o sistema, uma vez que a utilização de vários controladores não ga-rante por si só a estabilidade do mesmo. Isto fica evidenciado no fato de que um sistema formado apenas por subsistemas globalmente assintoticamente estáveis pode se tornar

(16)

Figura 1.1: Número de citações de por ano (dados do Google ScholarT M).

instável, mesmo no caso em que todos os subsistemas tenham o mesmo ponto de equi-líbrio. Por outro lado, um sistema chaveado formado apenas por subsistemas instáveis pode se tornar globalmente assintoticamente estável a depender da regra de chaveamento empregada [1].

Portanto, faz-se necessário definir um conjunto de regras para o chaveamento para que a estabilidade do sistema possa ser garantida.

No entanto, mesmo com toda a importância da análise de estabilidade de sistemas chaveados, poucos trabalhos da área de navegação de robôs móveis abordam essa ques-tão. Esse fato ocorre principalmente devido à complexidade da análise de estabilidade, principalmente nos sistemas não lineares. Brooks, inclusive, cita em [13] que a análise da estabilidade não depende de equações simples e por este motivo ele não realiza a análise de estabilidade da arquitetura de subsunção que ele desenvolveu.

Em 2006, Harper and Winfield [4] apresentaram o primeiro trabalho a desenvolver um formalismo matemático para prova de estabilidade da arquitetura de subsunção. Eles propuseram um formalismo baseado em duas extensões da teoria de estabilidade de Lya-punov, que eles denominaram de teoremas de estabilidade de segunda ordem.

Mesmo depois do trabalho publicado por Harper and Winfield [4], nenhum trabalho foi encontrado com tal análise. No entanto, um teorema proposto por Carvalho em [1] apresenta uma metodologia factível para a análise de estabilidade de um sistema baseado em subsunção. O teorema prova a estabilidade de sistemas chaveados onde o objetivo principal é governado por um controlador globalmente assintoticamente estável segundo Lyapunov, mas os outros controladores podem ser até mesmo instáveis. Essa metodologia garante, através de uma regra de chaveamento, que o objetivo principal do sistema será cumprido.

A ideia que o subsistema principal tem uma maior prioridade em relação aos demais subsistemas e que sua convergência é garantida pela regra de chaveamento imposta, torna possível a aplicação dessa técnica para prova de estabilidade da arquitetura de subsunção.

(17)

Portanto, neste trabalho é apresentada uma nova abordagem para implementação da arquitetura de subsunção com prova de estabilidade garantida com base na teoria de controle chaveado com objetivo de controle principal. Nesta abordagem, a estabilidade do sistema é garantida de forma mais abrangente do que na teoria proposta por Harper e Winfield.

Para que isso seja possível, o chaveamento dos controladores deve obedecer certas regras impostas pela teoria de objetivo de controle principal. O cumprimento das mesmas é garantido através da teoria de sistemas a eventos discretos, com a modelagem dos comportamentos do sistema desenvolvida na forma de autômatos.

Com essa metodologia, além de provar a estabilidade do sistema, é fornecido também um formalismo capaz de permitir a modelagem dos comportamentos de forma simples e rápida, mesmo para sistemas que possuem muitos comportamentos, o que não ocorre na maioria dos sistemas baseados na arquitetura de subsunção, onde o desenvolvimento da máquina de estados que governa o sistema passa a ser muito complicado para sistemas mais complexos. A metodologia proposta neste trabalho ainda permite a inclusão de novos comportamentos sem a necessidade de alterar os comportamentos já existentes, garantindo ainda a validade da análise de estabilidade.

Este trabalho está estruturado da seguinte forma. No capítulo 2 será apresentada a fundamentação teórica de sistemas chaveados e de sistemas a eventos discretos necessárias para o desenvolvimento deste trabalho. No capítulo 3 será apresentada a revisão biblio-gráfica com os principais trabalhos baseados na arquitetura de subsunção. No capítulo 4 será apresentado todo o desenvolvimento da metodologia proposta. Os resultados serão apresentados no capítulo 5. E por fim, no capítulo 6 serão apresentados as conclusões e os trabalhos futuros.

(18)

Capítulo 2

Fundamentação Teórica

Neste capítulo são apresentadas as ferramentas teóricas que são úteis para analisar e garantir a estabilidade do sistema. Primeiramente, na seção 2.1, são apresentadas as definições de estabilidade e quasi-estabilidade, bem como o teorema de Lyapunov. Em seguida, na seção 2.2, é apresentada a representação matemática de um sistema chaveado. Na seção 2.3 é mostrada a ideia dos sistemas chaveados baseados em objetivo de controle principal. E por fim, na seção 2.4 são apresentadas as ferramentas de sistemas a evento discretos utilizadas para formalizar a regra de chaveamento proposta em [1], que garantirá a quasi-estabilidade do sistema.

2.1

Estabilidade e quasi -Estabilidade

Nesta seção será considerado o sistema autônomo

˙x = f (x), (2.1)

em que f : D → ℜn é um mapa localmente Lipschitz em um domínio D ⊂ ℜn em ℜn e x

o vetor de dimensão n de variáveis de estado do sistema.

Considerando x = 0 como o ponto de equilíbrio do sistema, uma vez que qualquer ponto de equilíbrio pode, sem perda de generalidade, ser transladado para a origem. Este ponto é definido em [14] como:

• Estável se, para todo ε > 0, existe um δ = δ(ε) > 0 tal que

||x(0)|| < δ ⇒ ||x(t)|| < ε, ∀t ≥ 0; (2.2) • Instável se não é estável;

(19)

• Assintoticamente estável se é estável e δ pode ser escolhido de tal forma que

||x(0)|| < δ ⇒ limt→∞x(t) = 0. (2.3)

Segundo [15], esta definição é muito restritiva e pode inviabilizar a demonstração de estabilidade de muitos sistemas encontrados na prática. Dessa forma, em [15] é proposta a definição de quasi-estabilidade assintótica e em [1] é definida a quasi-estabilidade. Ambos os termos são utilizados para definir sistemas que só atendem a definição clássica de estabilidade após um tempo t ≥ τ. Isso significa que um sistema pode se comportar de qualquer forma durante um tempo t < τ, mas se a partir deste tempo τ o sistema atender os critérios apresentados em [14], ele será quasi-estável ou quasi-assintoticamente estável. Uma maneira muito utilizada na literatura para analisar a estabilidade de um ponto de equilíbrio é através da “função de energia” do sistema. Desde que a função de energia seja de valor zero apenas no equilíbrio, quando a derivada desta função é menor ou igual a zero durante todo tempo, a energia do sistema tende a decair até que eventualmente chegue a zero. Desta maneira a trajetória tende para x = 0 quando t tende para ∞.

Em 1892, Lyapunov mostrou através do seguinte teorema que é possível determinar a estabilidade do sistema utilizando outras funções além da função de energia [14]:

Teorema 1 (Teorema de Lyapunov): Seja x = 0 um ponto de equilíbrio de ˙x = f (x) e D ⊂ ℜn um domínio contendo x = 0. Seja V (x) uma função continuamente

diferenciável que mapeia o domínio nos reais (D → ℜ) de tal maneira que:

V (0) = 0 e V (x) > 0 em D − {0}; (2.4)

˙

V (x) ≤ 0. (2.5)

Então, x = 0 é estável. Adicionalmente, se ˙

V (x) < 0 em D − {0}, (2.6)

então, x = 0 é assintoticamente estável.

A aplicação do teorema de Lyapunov torna possível a análise da estabilidade do sistema sem a necessidade de resolver a equação diferencial ˙x = f(x) e, além disso, a função de Lyapunov V (x) pode ser muito simples, facilitando bastante a análise do sistema. Por outro lado, nem sempre existe um método pré-definido para encontrar a função V (x). Na maior parte dos casos, as funções de energia do sistema são adotadas como funções candidatas de Lyapunov, porém, estas funções nem sempre satisfazem as condições do teorema de Lyapunov para estabilidade ou para estabilidade assintótica. Nesses casos, não se pode afirmar que o ponto de equilíbrio não é estável ou assintoticamente estável, respectivamente. Isto significa que a estabilidade do sistema não pode ser estabelecida

(20)

através desta função candidata.

Para a análise de estabilidade de sistemas quasi-estáveis foram desenvolvidas em [1] condições suficientes do tipo Lyapunov. Estas condições são apresentadas no teorema a seguir.

Teorema 2 ( Quasi-estabilidade): Considerando que x = 0 é o ponto de equilíbrio de ˙x = f (x), e seja V : ℜn → ℜ uma função contínua, tal que:

V (0) = 0; (2.7)

V (x) > 0 em ℜn− {0}; (2.8)

||x(t)|| → ∞ ⇒ V [x(t)] → ∞. (2.9)

Se,

∀t0 ∈ ℜ+, ∃τ ∈ [0, ∞] | ∀t ∈ [t0+ τ, ∞[ ⇒ V [x(t)] ≤ V [x(t0)] (2.10)

em que t e t0 são medições de tempo, então ˙x = f (x) é quasi-estável.

Em outras palavras, o teorema quer dizer que para qualquer tempo inicial t0, se existir

um tempo finito τ a partir do qual, para qualquer tempo superior a t0+τ , a função V [x(t)]

for sempre menor ou igual ao valor da função no tempo inicial V [x(t0)], então ˙x = f (x) é

quasi-estável.

Para os casos em que o valor de V [x(t)] é sempre menor que o valor de V [x(t0)] a partir

de um tempo t0 + τ , é provado em [1] que ˙x = f (x) é quasi-estável e V [x(t)] tende a um

certo valor L que é limitado entre 0 e V [x(t0)]. Este resultado é particularmente

impor-tante quando L = 0, pois assim é mostrado em [1] que o sistema é quasi-assintoticamente estável. O teorema a seguir apresenta a quasi-estabilidade assintótica.

Teorema 3 ( Quasi-estabilidade assintótica): Considerando que x = 0 é o ponto de equilíbrio de ˙x = f (x), e seja V : ℜn→ ℜ uma função contínua, que atenda as equações

2.7,2.8 e 2.9. Se,

∀t0 ∈ ℜ+, ∃τ ∈ (0, ∞)|∀t ∈ [t0+ τ, ∞[ ⇒ V [x(t)] < V [x(t0)] (2.11)

então ˙x = f (x) é quasi-estável e V [x(t)] → L, L ∈ [0, V [x(t0)]].

Na figura 2.1 é mostrado um exemplo de chaveamento que atende as condições que foram apresentas.

(21)

Figura 2.1: Exemplo de função V [x(t)] de um sistema de chaveado que atende às propo-sições de quasi-Estabilidade [1]

2.2

Sistemas Chaveados

Um sistema chaveado é representado matematicamente na forma de equação diferen-cial,

˙x = fσ(x), (2.12)

em que {fχ : χ ∈ X} é uma família de funções, de ℜn → ℜn, suficientemente regulares,

que é parametrizada por algum índice do conjunto X, x é o vetor de dimensão n de variáveis de estado do sistema e σ : [0, ∞) → X é uma função constante por partes chamada de sinal de chaveamento, que indica qual subsistema está ativo em cada instante de tempo. As funções fχ representam cada subsistema do sistema chaveado.

Outra maneira de representar um sistema de controle chaveado é

˙x =            f1(x) f2(x) ... fk(x) , (2.13)

em que k representa a quantidade de elementos do conjunto fχ. Esta representação é

mais usada quando se tem um número de subsistemas pequeno e se pretende explicitar as funções de cada um deles.

Nos casos em que todos os subsistemas são lineares, o sistema pode ser apresentado na forma

˙x = Aσx, (2.14)

(22)

2.3

Sistemas chaveados baseados em objetivo de

con-trole principal

Em [1], um sistema de controle chaveado é dado por

˙x =            f1(x) f2(x) ... fi(x) , (2.15)

sendo fi : ℜn → ℜn definido pelo chaveamento das funções f1...i , em que f1 : ℜk →

ℜk é um mapa de Lipschitz de um domínio ℜn em ℜn, f

2...i : ℜm → ℜm são funções

contínuas quaisquer e x = {x1∪ x2∪ . . .}, onde x1 e x2...i são vetores de dimensão k e m,

respectivamente, de variáveis de estado contínuas no tempo.

A ideia de um sistema chaveado baseado em objetivo de controle principal, proposta em [1], consiste em considerar que f1(x) é o sistema principal, que leva o sistema chaveado

a atingir o objetivo principal, ou seja, durante o tempo que o sistema estiver chaveado em f1(x), ele estará cumprindo o seu objetivo pré-estabelecido principal ou preponderante.

Para isso, f1(x) deve ser globalmente assintoticamente estável segundo Lyapunov, ou seja:

V1x1(0) = 0 e V1(x1) > 0 em D − {0}; (2.16) ˙

V1(x1) < 0 em D − {0}; (2.17)

||x1(t)|| → ∞ ⇒ V [x1(t)] → ∞. (2.18)

Durante o tempo em que o sistema estiver chaveado em f2..i(x), ele estará cumprindo

outro objetivo, considerado como secundário. Assim, quando o sistema estiver chaveado em f2..i(x), que são funções que não possuem restrições quanto à estabilidade ou objetivo

de controle, é considerado que há uma perturbação em ˙x = f1(x).

Em [1] é mostrado que esta abordagem permite que seja analisada a estabilidade do sistema chaveado em função apenas das k variáveis de estado de f1(x1), que devem ser

observáveis durante todo tempo. Nesse caso, o sistema terá como candidata SSLF (do inglês, Switched Systems Lyapunov Function) V1(x), e como V1 é função somente das k

variáveis de ˙x = f1(x), V (x) = V (x1) = V1(x1).

Para um sistema chaveado baseado em objetivo de controle principal não é considerado se os objetivos dos controladores secundários serão cumpridos, a proposta deste tipo de abordagem é possibilitar que haja chaveamento para os controladores secundários sem que o sistema deixe de cumprir o objetivo principal.

(23)

2.3.1

Quasi

-estabilidade para sistemas com objetivo de controle

principal baseado em chaveamento lento

Esta seção tem como base o teorema proposto em [1] que é classificado no grupo de chaveamento lento de controladores, uma vez que a ocorrência de um chaveamento para um controlador secundário é dependente do estado atual, e não pode ser realizado a qualquer momento [1], possuindo geralmente frequência de chaveamento baixa.

Nesse teorema é estabelecido o quanto a função de Lyapunov do sistema deverá ter caído (ρ) após o tempo τSSLF para que o sistema seja quasi-assintoticamente estável,

mesmo quando há chaveamento para outros subsistemas. Esta proposição pode ser vista no teorema a seguir, cuja prova é apresentada em [1].

Teorema 4 (Teorema de objetivo de controle principal): Considerando um sistema do tipo ˙x = f (x), com função candidata SSLF V1(x), escolhida de acordo com

2.16, 2.17 e 2.18, que atende às condições de quasi-estabilidade que foram mostradas no teorema 2, sejam ti e tj dois instantes, se ∀ i e j, com tj − ti > τSSLF e tj > ti, ∃ρ > 0,

tal que,

V1[x(tj)] − V1[x(ti)] ≤ −ρ||x(ti)||, (2.19)

então o sistema ˙x = f (x) é quasi-assintoticamente estável.

Sendo assim, neste trabalho, a regra de chaveamento é modelada tendo como base a mensuração contínua dessa equação de forma que é permitido o chaveamento para outros controladores enquanto a mesma está sendo satisfeita. No momento em que ela não for satisfeita, o sistema é obrigado a voltar para o subsistema principal, fazendo com que a função de energia decresça novamente, uma vez que esse subsistema é globalmente assisn-toticamente estável, até que a condição volte a ser satisfeita. Essa abordagem garante que, do ponto de vista global, a função de energia do subsistema principal sempre irá decrescer, mesmo que localmente ela cresça momentaneamente.

Para garantir que essas exigências sejam cumpridas e assim o robô alcance o seu objetivo principal, o sistema será modelado com base na teoria de sistemas a eventos discretos na forma de autômatos. Por esse motivo, na próxima seção serão apresendados os fundamentos de sistemas a eventos discretos necessários para o desenvolvimento deste trabalho.

2.4

Sistemas a Eventos Discretos

Um sistema a eventos discretos (SED) é definido em [16] como um sistema de estado discreto e dirigido por eventos, isto é, a evolução dos seus estados depende exclusivamente da ocorrência de eventos discretos e, em geral, assíncronos em relação à escala de tempo. Nos sistemas em que o espaço de estados é discreto, as transições de estado ocorrem instantaneamente, sendo estas associadas a um evento. Este pode ser identificado como a

(24)

ocorrência de uma ação específica, por exemplo, a detecção de um obstáculo à frente do robô, o início de uma navegação dentro de um corredor ou uma variável atingir um dado setpoint.

A teoria de SED possui alguns formalismos que permitem uma melhor representação e modelagem da mesma. Nas subseções seguintes serão apresentadas as ferramentas que serão utilizadas neste trabalho.

2.4.1

Linguagem de um sistema

Um sistema a eventos discretos possui um conjunto de eventos E = e1, e2, ..., en

asso-ciados a ele, que recebe o nome de alfabeto.

A linguagem de um SED é definida como um conjunto de todos os possíveis comporta-mentos do sistema, sendo que cada comportamento pode ser descrito por uma sequência de eventos que recebe o nome de palavra.

Um exemplo de linguagem pode ser visto em [2], onde é mostrada uma linguagem L1

contendo todas as possíveis palavras de comprimento três que comecem com o evento a. Para este exemplo é considerado um conjunto de eventos definidos por E = a, b, c. A linguagem L1 obtida pode ser vista a seguir:

L1 = aaa, aab, aac, aba, abb, abc, aca, acb, acc (2.20)

Em [16] são feitas algumas definições para formalizar a linguagem de um sistema. Estas definições são:

1. Fechamento Kleene para eventos: O Fecho de Kleene de um conjunto de eventos E, é o conjunto de todas as palavras de comprimento finito geradas a partir dos elementos de E, incluindo a palavra vazia ε. A notação E∗ representa a operação

Fecho de Kleene sobre E. Por exemplo, se E = a, b, c, então:

E∗ = ε, a, b, c, aa, ab, ac, bb, ba, bc, cc, ca, cb, aaa, . . .. (2.21) Assim sendo, a maior linguagem que pode ser definida sobre um conjunto de eventos E é E∗ e qualquer outra linguagem é um subconjunto de E.

2. Concatenação: Seja La, Lb ⊆ E∗. Então uma palavra s pertence à concatenação

das linguagens La e Lb, se ela puder ser escrita como a concatenação de uma palavra

pertencente a La com outra pertencente a Lb, ou seja:

LaLb := s ∈ E∗ : (∃sa∈ La)(∃sb ∈ Lb)[s = sasb]. (2.22)

(25)

concatenação de La com Lb é:

LaLb = aaba, aaab, aacba, abba, abab, abcba. (2.23)

3. Prefixo Fechamento: Seja L ⊆ E∗. Então o prefixo fechamento de L, denotado

por ¯L, é a linguagem formada por todos os prefixos de todas as palavras pertencentes a L. Em geral, L ⊆ ¯L. Assim:

¯

L := s ∈ E∗ : (∃t ∈ E∗)[st ∈ L]. (2.24) Por exemplo, o prefixo fechamento da linguagem Lb é dado por:

¯

Lb = ε, b, ba, a, ab, c, cb, cba. (2.25)

Obs.: L é dita de prefixo fechada quando L = ¯L, ou seja, se qualquer palavra pertencente a L também pertencer a ¯L.

4. Fechamento Kleene para linguagens: Seja L ⊆ E∗. Então o fecho de Kleene

de L, denotado por L∗, é o conjunto formado por todas as possíveis concatenações

entre palavras pertencentes a L. Essa operação pode ser expressa da seguinte forma:

L := ε ∪ L ∪ LL ∪ LLL ∪ . . . (2.26)

Assim como no caso do fecho de Kleene para um conjunto de eventos E, o fecho de Kleene para linguagens deve incluir o elemento ε. Vale a pena ressaltar que o fecho de Kleene é uma operação idempotente, isto é (L∗)= L.

Considerando a linguagem La, seu fecho de Kleene é dado por:

L∗a = ε, aa, ab, aaaa, aaab, abaa, abab, aaaaaa, aaaaab, . . .. (2.27)

2.4.2

Autômatos

Um autômato é um dispositivo capaz de representar uma sequência de eventos de acordo com regras bem definidas. Na figura 2.2 é mostrado a representação gráfica de um autômato. Nessa representação, cada nó está associado a um estado do sistema e as transições estão associadas aos eventos, que promovem a mudança de um estado para outro.

De acordo com [16], um autômato G é uma sêxtupla G = (X, E, Γ, f, Xm, x0) em que:

1. X é o espaço de estados do sistema;

(26)

Figura 2.2: Diagrama de transição de estados do autômato G1 [2].

3. f é a função de transição de estados definida como:

f : X × E → X (2.28)

(x, e) 7→ y = f (x, e), (2.29)

que significa que existe uma transição associada a um evento e que, acontecendo no estado x, leva o sistema para o estado y;

4. Γ é a função que determina os eventos ativos em um estado, sendo definida por Γ : X 7→ 2E. Ou seja, Γ(x) é o conjunto de todos os eventos e ∈ E para os quais

f (x, e) é definida, ∀x ∈ X;

5. x0 é o estado inicial ou estado de partida do sistema. No diagrama de transição de

estados, o estado inicial é aquele que possui uma “seta livre” apontada para ele; 6. Xm é um subconjunto de X, denominado de conjunto dos estados marcados. Um

estado pode ser marcado por diversos motivos como, por exemplo, para ressaltar um estado que indica o término de uma tarefa, ou para indicar que o sistema está em uma situação crítica.

Um autômato funciona sempre de maneira sequencial, sendo que o estado do sistema permanece o mesmo até que ocorra um evento que determine a sua mudança. Dentro de um autômato pode ocorrer de um evento levar à permanência no estado atual, o chamado “self-looping”. Este pode ser visto na figura 2.2 quando um evento b leva os estados y e z a permanecerem em si. Assim como o evento a faz no estado x.

2.4.3

Linguagem de um autômato

A determinação da linguagem de um autômato é feita através da inspeção do diagrama de transição de estados do mesmo e pode ser dividida em linguagem gerada e linguagem

(27)

marcada. A linguagem gerada corresponde a todas as sequências de eventos que podem ser seguidas no diagrama de transição de estados, começando no estado inicial. Já a linguagem marcada é determinada por todas as sequências de eventos que levam o sistema do estado inicial até um estado marcado.

Por definição, a linguagem gerada por um autômato G = (X, E, Γ, f, Xm, x0) é dada

por:

L(G) := {s ∈ E∗ : f (x0, s)é definida}, (2.30)

e a linguagem marcada é dada por:

Lm(G) := {s ∈ L(G) : f (x0, s) ∈ Xm}. (2.31)

Portanto, uma sequência s está em L(G) se e somente se corresponde a um caminho admissível no diagrama de transição de estado, equivalentemente, se e somente se f for definido em (x0, s). L(G) é prefixo-fechado por definição, uma vez que um caminho só é

possível se todos os seus prefixos também são possíveis. O mesmo não pode ser afirmado para a linguagem marcada, uma vez que nem todos os estados X precisam ser marcados. Para exemplificar a determinação das linguagens gerada e marcada, considere o autô-mato da figura 2.3 que possui o conjunto de eventos E = {a, b}.

Figura 2.3: Exemplo de autômato.

A linguagem gerada deste autômato consiste de ε juntamente com todos os conjuntos de eventos de E∗ que começam com o evento a e não possui nenhuma ocorrência de dois

ou mais eventos b de forma consecutiva. Qualquer evento b ou é o último evento ou é imediatamente seguido pelo evento a. Já a linguagem marcada (Lm(G)) é dada pelo

subconjunto de L(G) que consiste nas sequências de eventos que terminam com o evento a, de modo que o sistema encerra o processo no estado marcado.

As linguagens gerada e marcada de um autômato permitem a análise da existência, ou não, de bloqueios no mesmo. A definição de bloqueio em autômatos, bem como suas características, são apresentadas a seguir.

2.4.4

Autômatos com bloqueio

Da definição de G, L(G) e Lm(G) tem-se que

(28)

O primeiro conjunto de inclusões é devido a G e a definição de prefixo fechamento, e a segunda é consequência da definição de Lm(G) e do fato que L(G) é prefixo fechada por

definição.

Um autômato G, no decorrer dos eventos, pode alcançar um estado xi ∈ X, no qual

Γ(x) = ∅, mas xi 6∈ Xm. Neste caso, nenhum evento pode ser executado e o sistema fica

preso no estado xi não conseguindo alcançar mais o estado marcado. Este fenômento é

conhecido denominado deadlock.

Quando um deadlock ocorre, necessariamente Lm(G) será diferente de L(G), uma vez

que qualquer palavra em L(G) que termina no estado xi não pode ser prefixo de uma

palavra de Lm(G).

Outra importante característica a se considerar é quando existe um conjunto de estados não marcados em G, que formam um conjunto no qual os estados podem ser alcançados entre si, porém, não há ocorrência de nenhum evento que leve o sistema a um outro estado fora deste conjunto. Esta característica é denominada de livelock e também implica no fato de que Lm(G) será diferente de L(G).

Nesses dois casos é dito que o autômato possui um bloqueio e

Lm(G) ⊂ L(G). (2.33)

Quando não há bloqueio

Lm(G) = L(G). (2.34)

Um exemplo de autômato com bloqueio pode ser visto na figura 2.4, onde pode-se perceber que o estado 5 representa um deadlock, pois 5 6∈ Xm e Γ(5) = ∅ e os estados 3 e

4 apresentam um livelock, pois é impossível alcançar o estado marcado a partir deles.

Figura 2.4: Autômato G3: Exemplo de autômato com bloqueio.

Para este exemplo, as linguagens gerada e marcada são determinadas pelas expressões a seguir

L(G3) = {abc}∗∪ {a}{bca}∗{{c} ∪ {a}{b}{c}∗{a}}∗}. (2.35)

(29)

Pode-se perceber que Lm(G3) ⊂ L(G3), confirmando assim a existência de bloqueio

no autômato G3.

2.4.5

Operações com autômatos

Existem dois tipos básicos de operações com autômatos: as operações realizadas com um único autômato e as operações de composição, nas quais as manipulações ocorrem considerando as características de mais de um autômato. Neste trabalho serão apresenta-dos os conceitos apresenta-dos tipos de operações com um único autômato e será dada maior atenção às operações de composição entre autômatos.

Operações Unárias

As operações unárias são divididas em: acessibilidade, co-acessibililade e trim. Nessas operações, o diagrama de transição de estados de um autômato é alterado considerando apenas as propriedades deste autômato.

• Acessibilidade: Seja o autômato G = (X, E, Γ, f, Xm, x0), cuja linguagem marcada

é Lm(G) e a linguagem gerada é L(G). Um estado xi ∈ X é acessível se existe uma

palavra s pertencente a L(G) capaz de levar o sistema do estado x0 até o estado xi,

ou seja f(x0, s) = xi. Do contrário, o estado é não acessível.

A parte acessível de um autômato G, pode ser obtida apagando do diagrama de transição os estados não-acessíveis de G e as transições que partem destes estados. Vale salientar que essa operação não altera nem a linguagem marcada, nem a lin-guagem gerada pelo autômato G, já que essas linguagens partem, por definição, do estado inicial x0 [2].

• Co-acessibilidade: Seja o autômato G = (X, E, Γ, f, Xm, x0), cuja linguagem

mar-cada é Lm(G) e a linguagem gerada é L(G). Um estado de G definido por

xi ∈ X e xi 6∈ Xm é co-acessível, se existe uma palavra s ∈ E∗, capaz de levar

o sistema do estado xi até um estado xj ∈ Xm, ou seja, f(xi, s) = xj ∈ Xm. Do

contrário o estado é não co-acessível.

A parte co-acessível de um autômato G, pode ser obtida apagando do diagrama de transição os estados não co-acessíveis de G e as transições que partem destes estados. Ao contrário da acessibilidade, a obtenção da parte co-acessível de G pode alterar a linguagem gerada pelo autômato, já a linguagem marcada por G permanece sem sofrer alterações [2].

• Trim: A co-acessibilidade está estritamente relacionada com a ideia de bloqueio de um sistema. Dizer que um autômato G possui bloqueio significa dizer que Lm(G) é

(30)

possui bloqueio quando nele existem estados acessíveis, que não são co-acessíveis. Equivalentemente, um autômato não possui bloqueio quando todos os estados aces-síveis são também co-acesaces-síveis, e vice-versa. O autômato que é tanto acessível, quanto co-acessível é chamado de trim. Dessa forma, a operação trim é obtida aplicando-se consecutivamente as operações de acessibilidade e co-acessibilidade ou vice-versa.

Composição Paralela

Para o desenvolvimento deste trabalho, a operação de composição paralela será utili-zada. Esta é utilizada com o intuito de descrever um comportamento complexo em forma de uma composição de comportamentos mais simples, sendo capaz de criar o modelo de um sistema completo através da interação entre os comportamentos individuais do sistema, preservando as transições privadas de cada comportamento.

Considerando dois autômatos:

G1 = (X1, E1, Γ1, f1, Xm1, x01) e G2 = (X2, E2, Γ2, f2, Xm2, x02) (2.37)

a composição paralela de G1 e G2 é definida como sendo:

G1kG2 := Ac(X1× X2, E1 ∪ E2, f1k2, Γ1k2, (x01, x02), Xm1 × Xm2) (2.38)

em que “Ac” representa a acessibilidade do sistema. Um sistema é dito acessível quando todos os seus estados são acessíveis [16].

A função de transição de estados da equação 2.38, f1||2, é definida por:

f1k2((x1, x2), e) =            (f1(x1, e), f2(x2, e)), se e ∈ Γ1(x1) ∩ Γ2(x2), (f1(x1, e), x2), se e ∈ Γ1(x1)\E2, (x1, f2(x2, e)), se e ∈ Γ2(x2)\E1,

não definida, caso contrário.

(2.39)

Os estados de G1||G2 são denotados em pares, sendo a primeira componente o estado

atual de G1 e a segunda componente o estado atual de G2. O estado (x1, x2) é marcado

somente se x1 ∈ Xm1 e x2 ∈ Xm2.

No resultado da composição paralela, um evento e ∈ E1 ∩ E2 só pode ser executado

se ele ocorrer simultaneamente em todos os modelos envolvidos na composição. Isso quer dizer que a composição é síncrona para eventos comuns. Por outro lado, os eventos priva-dos, isto é, os eventos pertencentes ao conjunto (E1\E2) ∪ (E2\E1), não sofrem restrições

e podem ser executados sempre que ocorrem em seus comportamentos de origem.

Para ilustrar o funcionamento da composição paralela, considere como exemplo os autômatos G1 (mostrado anteriormente na figura 2.5a) e G2 (mostrado na figura 2.5b).

(31)

A composição paralela entre estes autômatos resulta em um novo autômato G1||G2, em

que:

(a) Diagrama de transição de es-tados do autômato G1.

(b) Diagrama de transição de es-tados do autômato G2.

Figura 2.5: Autômatos para realização da composição paralela.

X1||2= (x, 0), (x, 1), (y, 0), (y, 1), (z, 0), (z, 1) (2.40)

E1||2 = a, b, c, (2.41)

sendo c o único evento privado, pertencente a G1. O diagrama de transição de estado

para G1||G2 é aquele representado na figura 2.6.

(32)

Capítulo 3

Revisão Bibliográfica

Uma das teorias mais importantes e referenciadas na área de navegação de robôs móveis é a arquitetura de subsunção desenvolvida por Brooks em [3]. Esta teoria deu início à chamada arquitetura de navegação reativa ao tentar solucionar as deficiências das abordagens deliberativas em ambientes dinâmicos e desconhecidos. A partir daí, várias teorias foram criadas a fim de habilitar o robô a navegar em ambientes desconhecidos e dinâmicos.

No entanto, mesmo com a vasta pesquisa que é realizada na área de navegação e a consequente criação de novas técnicas, a arquitetura de subsunção de Brooks vem sendo bastante utilizada desde a sua publicação. Na seção 3.1 é apresentada a arquitetura de subsunção, na seção 3.2 são apresentados vários trabalhos que fazem uso desta arquitetura desde sua publicação, na seção 3.3 são apresentadas as limitações da mesma e na seção 3.4 é apresentada a ideia proposta por Harper e Winfield em [4] para prova de estabilidade da arquitetura de subsunção.

3.1

Arquitetura de Subsunção

Existem várias abordagens diferentes para se construir um robô móvel autônomo e, como a maioria dos problemas de engenharia, elas geralmente são iniciadas pela decom-posição do problema em pedaços menores, resolvendo cada um desses pedaços e então compondo as soluções encontradas [3].

Até a publicação do trabalho de Brooks [3], a maioria das abordagens eram voltadas para uma decomposição em módulos funcionais conectados em série, como apresentado a figura 3.1, de forma que a informação flui do ambiente para o robô através dos sen-sores e volta para o ambiente através das ações realizadas pelo robô fechando um ciclo realimentado.

Em 1986, Rodney Brooks introduziu uma nova arquitetura de navegação de robôs mó-veis que substituía essa ideia de composição em série por uma abordagem na qual a tarefa

(33)

Sensores Percepção Modelagem Planejamento Execução da T arefa Controle Atuadores

Figura 3.1: Decomposição de um sistema de controle de um robô móvel em módulos funcionais [3].

é dividida em comportamentos organizados em paralelo e voltados para o cumprimento de subtarefas, como apresentado na figura 3.2.

Sensores Identificação de objetos Planejamento Construção de mapas Exploração Atuadores Monitoramento de mundanças Desvio de obstáculos

Figura 3.2: Decomposição de um sistema de controle de um robô móvel baseado em comportamentos [3].

A distribuição dos comportamentos de forma paralela pode levar o sistema a um im-passe quando dois ou mais comportamentos precisam ser ativados ao mesmo tempo. Por este motivo, Brooks organizou os comportamentos em camadas de forma hierárquica, onde cada comportamento aceita sinais de supressão e inibição, sendo que um sinal de supressão sobrepõe o sinal normal de entrada e o sinal de inibição inibe completamente a saída. Estes sinais permitem que os comportamentos se sobreponham e os comporta-mentos das camadas mais altas tenham prioridade em relação às camadas mais baixas a fim de produzir um comportamento global satisfatório. Esta estrutura, denominada de arquitetura de subsunção, pode ser representada pela figura 3.3.

Esta arquitetura apresenta várias vantagens para a navegação de um robô móvel, como por exemplo a possibilidade de atribuição de múltiplos objetivos, existindo camadas individuais que trabalham de forma concorrente para o cumprimento dos mesmos com a possibilidade de tomada de decisões em tempo real; a utilização de múltiplos sensores sem a necessidade da fusão dos mesmos; e a aditividade, onde outras camadas podem ser facilmente adicionadas ao sistema uma vez que elas trabalham de forma paralela.

(34)

Figura 3.3: Arquitetura de subsunção [3].

3.2

Trabalhos Correlatos

Pouco tempo após sua publicação, o trabalho de Brooks passou a ser citado por muitos autores. Por exemplo, em 1990, Bellingham [17] utilizou a arquitetura de subsunção para robótica aquática.

Já Bonasso, em 1991 [18], utilizou a arquitetura de subsunção para produzir pla-nejamento reativo que foi implementado utilizando uma programação com linguagem de autômatos. No mesmo ano, Hartley e Pipitone [19] realizaram experimentos para controle de um protótipo de avião a fim de testar a arquitetura de subsunção para um problema mais complexo.

Em 1992, Connell [20] desenvolveu uma arquitetura em três camadas para o controle de um robô. Ela combina uma camada de servo controle, uma camada de subsunção e uma camada simbólica de forma que permite que as vantagens de cada técnica possam ser inteiramente exploradas. Já em [21], foi utilizada programação genética para desenvolver um comportamento de seguir corredor utilizando a arquitetura de subsunção.

Em 1994, foi desenvolvido em [22] uma variação do controle por camadas para facilitar a configuração das tarefas a partir de uma arquitetura baseada em 3 camadas. Isto foi feito através de um controle de camadas configurado por estados para determinar as tarefas a serem executadas pelo robô.

A ideia de uma arquitetura baseada em camadas com prioridades também foi utili-zada para o estudo de singularidades no que diz respeito à cinemática e algoritmos para manipuladores, no trabalho proposto por Chiaverini em [23].

Em 1998, Nakashima e Noda [24] aplicaram uma versão estendida da arquitetura de subsunção para futebol de robôs, que eles chamaram de arquitetura de subsunção dinâmica. Para tanto, a arquitetura foi aplicada em duas dimensões, em que a horizontal correspondia às camadas de execução de tarefas e a vertical que correspondia a tipos de comportamentos diferentes.

(35)

da arquitetura de subsunção. Basicamente, um robô em evolução em camadas é controlado por um controlador de subsunção onde cada camada é uma rede neural evolutiva de um dos vários tipos possíveis.

Yongjie, em 2006 [26], propôs uma arquitetura híbrida baseada em subsunção. A abordagem foi desenvolvida substituindo as camadas da arquitetura de Brooks por um grupo de processos independentes. Além disso, uma camada de comportamento de gestão é adicionada a fim de ajustar os parâmetros de comportamento do robô de acordo com a tarefa atual, estado do robô e ambiente. O modelo de comportamento decide como o sistema de controle irá agir após receber as informações. De um modo geral, o ajuste do modelo de comportamento inclui alterar o estado dos processos (ativados ou não), alterando os parâmetros de comportamento aritmético ou mudando as prioridades dos comportamentos.

Em 2008, Antonelli [27] apresentou uma técnica para lidar com a prioridade relativa de cada tarefa com base no trabalho desenvolvido em [23] com camadas de prioridade para singularidades em manipuladores. Neste trabalho, que foi chamado de comportamento baseado no espaço nulo (do inglês, null-space-based behavioral - NSB), o controle difere das outras arquiteturas devido ao fato de que as saídas de cada comportamento são combinadas a fim de gerar um comportamento mais complexo.

Em 2010, Godin et. al. [28] utilizaram uma abordagem inspirada no controle de camadas configurado por estados desenvolvido em [22], que é uma extensão do trabalho de Brooks, para aplicação em robótica aquática.

Em 2012, Beltran e Gomez [29] desenvolveram um trabalho baseado na arquitetura de subsunção usando algoritmo genético e redes neurais como métodos de aprendizagem. Neste trabalho o controlador da camada é composto por controladores de baixo nível para cada motor na estrutura do robô, sendo que cada motor tem um agente que realiza uma interpretação básica de instruções. Na camada de aprendizagem, o algoritmo genético é aplicado, a fim de encontrar as instruções corretas para alcançar o objetivo especificado. Além disso, esta camada é responsável pela formação de redes neurais na camada anterior. Ainda em 2012, Liu [30] utilizou a arquitetura de subsunção para busca e resgate de vítimas por robôs autônomos baseado em tecnologia de sensoriamento biomimético. Foi desenvolvido também um controle hierárquico incluindo simultaneamente o sistema de sensoriamento, o processamento de dados, a camada deliberativa e o módulo de tomada de decisão por prioridade. Neste último, a prioridade é feita de modo a tornar o resgate mais objetivo.

Em 2013, Nagata et. al. [31] utilizaram a arquitetura de subsunção para controle de múltiplos robôs com comunicação wireless.

Já Turner [32] propôs a criação de comportamentos através de máquinas de estados finitos interconectadas assincronamente. Essas máquinas de estados foram desenvolvi-das para manter estrutura de dados, monitorar as mensagens de entrada e a mensagens

(36)

enviadas através da utilização da teoria de MDD (do inglês, Model Drive Development). Em 2014, Chunhua et. al. [33] implementou a arquitetura de subsunção para controle de um carro inteligente e Krijnen [34] para controle de um quadricóptero.

Ainda na área de robótica aérea, em 2016 Oland [35] aplicou a arquitetura de subsun-ção para controle de voo utilizando rotações compostas.

O fato de ser muito utilizada até os dias atuais mostra claramente a importância desta arquitetura de navegação para a robótica móvel e que através da mesma é possível obter resultados bastante satisfatórios. No entanto, este fato também é reflexo de al-guns problemas que podem ser encontrados no trabalho de Brooks. Sendo assim, muitos autores ainda discutem a arquitetura de subsunção a fim de conseguir desenvolver uma metodologia cada vez mais robusta.

3.3

Limitações da arquitetura de subsunção

A arquitetura de subsunção apresenta várias vantagens, como o fato de decompor o sistema em uma série de unidades verticais e a utilização de dados sensoriais que são relevantes apenas para as suas necessidades de tomada de decisões específicas, fazendo com que a fusão de sensores seja substituída pela fusão de comandos, de forma a produzir ações mais coerentes [26]. Além disso, Turner, em [32], destaca que cada módulo funciona independentemente em relação ao outro, o que aumenta a velocidade de processamento e torna o sistema mais robusto no que diz respeito a falhas.

Conforme descrito por Brooks, o sistema de controle do robô deve obedecer multi-tarefas ao mesmo tempo, ainda que estas estejam em conflito entre si. Na arquitetura de subsunção é realizada uma hierarquia de camada em que o controlador de uma camada superior sobrepõe todas as camadas inferiores. A camada que suprime o controle do robô em qualquer ponto não precisa ter conhecimento de que está controlando o robô, e dessa mesma forma, a camada de controle não tem nenhuma informação sobre a camada suprimida [26]. Esta estrutura implica em algumas limitações que são apontadas em trabalhos da área e que foram resumidas em [26] nos seguintes itens:

• A fim de tomar uma decisão mais adequada, o controlador precisa pesar muitos fatores na seleção de comandos de controle. Às vezes, é inapto para o comporta-mento de alto nível conter o de nível mais baixo, perdendo assim as informações das camadas inferiores [36]. Por exemplo, caso a camada 2 decida controlar o robô, a saída da camada 0 é impedida e suas informações não são utilizadas;

• Um outro problema é encapsular comportamentos dentro de um conjunto de máqui-nas de estados finitos, que tornam o estado interno destes comportamentos inacessí-vel para controlar camadas [37]. O projetista de cada camada pode não saber o que

(37)

as outras camadas vão fazer e ele não pode prever a relação entre a sua camada e ou-tras camadas. Como resultado, uma vez que uma nova camada de comportamento é adicionada, há a necessidade de ajustar outras camadas;

• Embora a arquitetura de subsunção aumente a velocidade de resposta do sistema, o projeto do comportamento é relativamente simples e curto para a competência ne-cessária do raciocínio e coordenação. Em média, é possível obter resultados satisfa-tórios para algumas tarefas simples, mas para tarefas mais complicadas, a limitação da falta de capacidade de planejamento emerge claramente.

Os problemas que surgem por conta do encapsulamento dos comportamentos em má-quinas de estado finito tentam ser contornados na literatura através de formalismos que permitam uma maior simplicidade na modelagem da máquina de estados. Esses formalis-mos, visam permitir que vários comportamentos possam ser modelados por partes, a fim de cumprir tarefas mais complicadas, e também uma análise sobre a máquina de estados de forma a garantir que os estados levem o robô a cumprir o objetivo de navegação dese-jado. Alguns exemplos de tais formalismos podem ser vistos em [38], que apresenta uma estrutura lógica para modelar a arquitetura de subsunção e em [39], que apresenta uma abordagem voltada para a modelagem na forma de linguagens regulares.

Recentemente, [40] apresentou uma abordagem baseada em sistemas a eventos dis-cretos com redes de Petri. Este trabalho possui características muito importantes para a modelagem de uma arquitetura de subsunção, como por exemplo o fato de que os módulos de comportamento podem ser compostos para criar módulos mais complexos de acordo com a aplicação e novas estratégias de controle podem ser adicionadas ao sistema. Além disso, o projeto do sistema é simples e de baixo custo computacional.

Nesta dissertação, todas essas características citadas são contempladas numa abor-dagem também baseada na teoria de sistemas a eventos discretos, mas com modelos representados na forma de autômatos e suas linguagens. Nesta abordagem, são propos-tos modelos de autômapropos-tos que facilitam a modelagem dos comportamenpropos-tos e, através de suas propriedades, generalizam o comportamento global do sistema com um padrão que permite a análise do comportamento do sistema mais intuitiva.

Além dos problemas de modelagem, Turner [32] aponta que, para tarefas mais comple-xas, a incapacidade de planejar limita o sucesso da arquitetura de subsunção, por exemplo, com a aparição de situações em que ocorre um impasse entre as tarefas e dois ou mais processos ficam impedidos de continuar suas execuções.

Grande parte dos problemas apontados na arquitetura de subsunção de Brooks é proveniente da forma como é feito o encapsulamento em máquinas de estado finito e da incapacidade de planejar. No entanto, existe um ponto muito importante a se analisar na arquitetura de subsunção que é muito pouco trabalhado, a questão da estabilidade do próprio sistema. Uma vez que a mudança de comportamentos implica em trocar de

(38)

controlador, o chaveamento pode levar o sistema a instabilidade mesmo para casos em que todos os controladores sejam individualmente estáveis.

A única metodologia encontrada que desenvolveu uma teoria matemática para a análise de estabilidade da arquitetura de subsunção foi o trabalho de Harper e Winfield [4]. Neste trabalho, foi proposta uma base formal para a arquitetura de subsunção baseada em uma extensão da teoria de estabilidade de Lyapunov, o teorema de estabilidade de segunda ordem.

A metodologia proposta por Harper e Winfield segue uma abordagem similar a abor-dagem proposta nesta dissertação. Por isso, esse trabalho é aprensentado com mais deta-lhades a seguir.

3.4

Teorema de estabilidade de segunda ordem

A abordagem apresentada por Harper e Winfield é baseada na ideia de um campo gravitacional, no qual se um corpo se movimenta numa direção contrária ao centro de gravitação, a sua aceleração diminui progressivamente até que, no momento em que sua aceleração for zero, a força gravitacional fará o corpo retornar ao centro do campo.

Essa ideia é extrapolada para a função de energia do sistema, de modo que a regra de chaveamento só permite que a função de energia cresça enquanto a segunda derivada da função de Lyapunov for negativa, o que significa dizer, de modo análogo, uma desa-celeração. Com isso, pode-se afirmar que a função de energia estará limitada por uma certa região e consequentemente o sistema será estável. O teorema proposto em [4] é apresentado a seguir.

Teorema de estabilidade marginal de segunda ordem: x(t) define a evolução no tempo do sistema autônomo ˙x = f (x) e V (x) define uma função escalar definida na vizinhança de x = 0. W (t) ≡ V (x, t) denota o valor de V (x) ao longo da trajetória dos estados do sistema. Portanto, ˙W (t) ≡ ˙V (x, t) e ¨W (t) ≡ ¨V (x, t) denotam a taxa de variação e aceleração do valor de V(x) ao longo das trajetórias do sistema. A seguinte expressão define a estabilidade marginal de segunda ordem:

˙

W (t) ≤ 0 ∨ [0 < ˙W (t) < ˙Wmax∧ ¨W (t) < ¨Wmax < 0]

→ [∀R, ∃r > 0, kx(0)k < r → kx(t)k < R]. (3.1) A estabilidade é possível na presença de condições iniciais positivas para ˙W (t), desde que eles sejam limitados e que ¨W (t) tenha um limite superior negativo ¨Wmax. Na figura

(39)

Figura 3.4: Representação gráfica da estabilidade de segunda ordem [4] Para estabilidade assintótica na derivada de segunda ordem tem-se:

˙

W (t) < 0 ∨ [0 ≤ ˙W (t) < ˙Wmax∧ ¨W (t) < ¨Wmax < 0]

⇒ [∀R, ∃r, 0 < r < R, kx(t)k < r → [kx(t)k < R ∧ kx(t → ∞)k → 0]].

(3.2)

Essa teoria possibilitou a aplicação para prova de estabilidade da arquitetura de sub-sunção devido ao fato de que a primeira derivada da função de Lyapunov subsume a segunda. Sendo assim, a função de energia do comportamento de maior prioridade é analisada e o chaveamento para outros comportamentos só é permitido caso essa energia esteja decrescendo ou crescendo com aceleração negativa.

Na verdade, como esta teoria possibilita o crescimento da função de energia, a teoria proposta por Harper e Winfield prova a quasi-estabilidade do sistema.

No entanto, o fato de só permitir que a função de energia do sistema cresça enquanto a aceleração é negativa, gera uma grande restrição para o sistema, podendo fazer com que o mesmo não cumpra os objetivos dos comportamentos das camadas mais baixas. Na seção dos resultados são apresentadas situações nas quais essa restrição interfere de forma significativa no comportamento do robô.

Na abordagem aqui proposta também não será garantido que os comportamentos de menor ordem de prioridade serão cumpridos, porém, a utilização da teoria de sistemas chaveados com objetivo de controle principal permite uma maior flexibilidade com relação à restrição de crescimento da função de energia. Com isso, a estabilidade do sistema será garantida de forma mais abrangente que a abordagem de estabilidade de segunda ordem. A abordagem proposta é apresentada no próximo capítulo.

(40)

Capítulo 4

Arquitetura de subsunção baseada em

objetivo de controle principal

A abordagem proposta para implementação de uma arquitetura de subsunção de modo que se possa obter uma garantia de quasi-estabilidade, é fundamentada na teoria de sis-temas chaveados com objetivo de controle principal proposta por Carvalho em [1]. Neste trabalho, é apresentada uma regra de chaveamento que garante a quasi-estabilidade assin-tótica do sistema caso seu ponto de equilíbrio seja o mesmo de um subsistema principal, mesmo havendo chaveamento para outros subsistemas que possuam pontos de equilíbrio diferentes ou até mesmo que sejam instáveis. Para isso, o subsistema principal deve ser globalmente assintoticamente estável segundo Lyapunov e o chaveamento deve atender as regras que impõe o quanto e por quanto tempo a função de energia do sistema pode crescer para que a quasi-estabilidade assintótica seja garantida.

A ideia de que o subsistema principal tem uma maior prioridade em relação aos demais e a garantia de convergência do método, faz com que essa teoria se mostre factível para fundamentar a teoria de subsunção, uma vez que a regra de chaveamento pode ser aplicada de modo que cada camada seja considerada como um subsistema principal em relação às camadas inferiores.

Sendo assim, a abordagem proposta consiste na implementação de um controlador globalmente assintoticamente estável segundo Lyapunov (subsistema principal) e outros controladores (subsistemas secundários) nos quais a análise de estabilidade não é exigida. A regra de chaveamento é desenvolvida com base no teorema que foi apresentada na seção 2.3.1, que diz respeito ao chaveamento lento de controladores. Para isso, o chaveamento deve ser composto por uma função SSLF V1(x) que atenda à equação 2.19 e aos parâmetros

de quasi-estabilidade apresentados na seção 2.1. É considerado também que as variáveis de estado do subsistema principal são conhecidas e observáveis durante todo o processo.

O chaveamento é feito com base na mensuração contínua de ||x(t)|| e V1[x(t)], sendo

escolhidos arbitrariamente o valor da constante ρ do teorema e um τ finito, como sendo a constante de chaveamento lento, que tem por objetivo determinar por quanto tempo a

(41)

SSLF do sistema pode crescer.

O modelo geral do sistema é apresentado na figura 4.1:

Figura 4.1: Modelo geral do sistema [1]

O sistema é iniciado no subsistema principal e permanece no mesmo até que as con-dições de quasi-estabilidade do teorema 2 e 3 sejam satisfeitas. A partir de então, os subsistemas de menor prioridade podem ser ativados durante o tempo τ, de acordo com a necessidade do sistema, devendo voltar ao subsistema principal após esse tempo e perma-necendo no mesmo até que as condições sejam novamente satisfeitas. Como o controlador principal é globalmente assintoticamente estável segundo Lyapunov, tais condições são satisfeitas em um tempo τSSLF finito, atendendo assim ao teorema de chaveamento lento

de controladores e portanto cumprindo o objetivo principal do sistema. Essa ideia é re-plicada para todos os subsistemas de forma hierárquica, de maneira que cada camada é considerada como principal em relação às que estejam em um nível de prioridade mais baixo.

Dessa forma, para cada subsistema é atribuída uma função que avalia se o objetivo do mesmo está sendo cumprido, a fim de permitir ou não o chaveamento para subsistemas de menor prioridade, e uma constante que indica por quanto tempo as camadas inferiores podem ser ativadas até que haja uma nova checagem do cumprimento do objetivo. Esse tempo deve ser sempre menor do que os tempos atribuídos para as camadas de maior prioridade de forma que possa haver um sincronismo em todo o sistema.

Uma vez definida a regra de chaveamento que governa todo o sistema e garante, através da teoria de chaveamento lento de controladores, o cumprimento do objetivo principal, faz-se necessário garantir que essas exigências serão cumpridas pelo robô durante a navegação. Por esse motivo, a modelagem dos subsistemas e da regra de chaveamento foram desenvolvidas na forma de autômatos com base na teoria de sistema discretos. Essa ferramenta permite a adição ou extração de subsistemas de forma fácil e rápida, além de possibilitar que a modelagem seja realizada por partes, ao invés de criar um

Referências

Documentos relacionados

Apesar da longa distância dos grandes centros urbanos do país, Bonito destaca- se, regionalmente, como uma área promissora dentro do Estado de Mato Grosso do Sul. Bonito,

Este trabalho tem como objetivos apresentar os problemas ocasionados pelo recebimento de mensagens não solicitadas e pesquisar técnicas variadas no combate ao spam, em especial,

In this work, improved curves are the head versus flow curves predicted based on the correlations presented in Table 2 and improved by a shut-off head prediction

The sequentes parameters were studied: effect of reference solution volume on the oxidation reaction, effect of pH of reference solution on the oxidation reaction, amount of

Vimos, através do nosso trabalho de pesquisa, que desde o início das suas atividades, o Projeto Sócio Esportivo Formando o Amanhã, teve a pretensão de mudar

Detectadas as baixas condições socioeconômicas e sanitárias do Município de Cuité, bem como a carência de informação por parte da população de como prevenir

Desde o ano passado Mário Brito e seus familiares passaram a contar com o apoio da Embrapa Amapá, por meio do Projeto Tracajá, uma iniciativa que visa a imple- mentar tecnologias