• Nenhum resultado encontrado

Segregação em Enxames de Robôs Heterogêneos com o uso de Abstrações

N/A
N/A
Protected

Academic year: 2021

Share "Segregação em Enxames de Robôs Heterogêneos com o uso de Abstrações"

Copied!
63
0
0

Texto

(1)

Programa de Pós Graduação em Engenharia Elétrica Universidade Federal de Minas Gerais

Av. Antônio Carlos 6627, 31270-901 Belo Horizonte, MG Brasil Fone:+55 31 3409-3430

Segregação em Enxames de Robôs

Heterogêneos com o uso de Abstrações

Edson Bernardes Ferreira Filho

Dissertação de Mestrado submetida à Banca Examinadora designada pelo Colegiado do Programa de Pós-Graduação em Engenharia Elétrica da Escola de Engenharia da Uni-versidade Federal de Minas Gerais, como requisito para obtenção do Título de Mestre em Engenharia Elétrica.

Orientador: Prof. Luciano Cunha de Araújo Pimenta, Doutor

(2)

Dedicatória

À minha mãe Às minhas irmãs

(3)

Agradecimentos

Este trabalho não seria possível sem o apoio de todos meus amigos e familiares que me incentivaram e motivaram durante todo o tempo da elaboração do mesmo.

À minha mãe que sempre me apoiou e respeitou minhas decisões e por que sem ela nada disto seria possível.

Ao meu pai (em memória) pela certeza de que ele se orgulharia muito ao ler este trabalho.

Às minhas irmãs Aninha e Nina por confiarem em mim e por estarem presentes na minha vida.

À minha sobrinha Marina e minha afilhada Manuela. Ao Edu pela ajuda e confiança.

À todos os outros parentes, tios, tias, primas e primas aos quais sempre tive uma incomensurável relação de amizade.

À todos meus amigos, de Ouro Branco, Ouro Preto e de Belo Horizonte por fazerem parte da minha formação humana e tornarem meus dias de lazer mais alegres.

À todos os colegas e professores do PPGEE com os quais tive o prazer de absorver e compartilhar conhecimento.

Ao meu orientador Luciano Pimenta por todos os ensinamentos e pela paciência. À todos os outros professores que tive em minha vida acadêmica por terem contri-buído na minha formação acadêmica.

Finalmente, agradeço ao CNPq, FINEP e FAPEMIG pelo suporte financeiro.

(4)

Sumário

Resumo v

Abstract vi

Lista de Figuras viii

1 Introdução 1 1.1 Motivação . . . 2 1.2 Objetivos . . . 3 1.3 Contribuições . . . 3 1.4 Organização do Texto . . . 4 2 Revisão Bibliográfica 5 2.1 Navegação com Enxames de Robôs . . . 6

2.1.1 Com Robôs Homogêneos . . . 7

2.1.2 Com Robôs Heterogêneos . . . 8

2.2 Segregação em Enxames de Robôs . . . 10

3 Formulação do Problema e Conceitos Preliminares 14 3.1 Abstrações . . . 14

3.2 Função de Potencial . . . 16

3.3 Grafos . . . 18

3.4 Estabilidade de Lyapunov . . . 19

3.5 Problema de Segregação em Enxames de Robôs . . . 20

(5)

iv

4 Metodologia 22

4.1 Robôs do tipo integrador simples . . . 22

4.1.1 Tratamento de colisões . . . 25

4.1.2 Análise do controlador . . . 27

4.2 Robôs do tipo integrador duplo . . . 29

4.2.1 Tratamento de Colisões . . . 31

4.2.2 Análise do controlador . . . 35

5 Simulações e Resultados Experimentais 36 5.1 Simulações . . . 37

5.1.1 Robôs do tipo Integrador Simples . . . 37

5.1.2 Robôs do tipo Integrador Duplo . . . 39

5.2 Plataforma de testes com Robôs Reais . . . 40

5.2.1 Resultados Experimentais com Robôs do tipo Integrador Simples 42 5.2.2 Resultados Experimentais com Robôs do tipo Integrador Duplo . 42 6 Discussões Finais e Conclusões 45 6.1 Proposta para Trabalhos Futuros . . . 48

6.2 Conclusão . . . 49

(6)

Resumo

O uso de enxames de robôs deve ser mais explorado em um futuro próximo devido às suas vantagens, como ser redundante por construção e a tendência da redução dos custos na fabricação de robôs. Para que o uso deste tipo de sistema seja viável, são necessários algoritmos de navegação eficientes para resolver os diversos problemas em aberto. Este trabalho aborda o problema de segregação em enxames de robôs. Este problema consiste na segregação de robôs heterogêneos, em que grupos menores ho-mogêneos devem ser formados a partir de um grupo maior heterogêneo e estes grupos menores devem segregar-se. Para resolver o problema de segregação em enxames de robôs devem-se formular leis de controle individuais para fazer com que todos os robôs de um mesmo tipo agrupem-se enquanto mantêm distância dos outros grupos. Este trabalho propõe leis de controle para dois modelos de robôs diferentes: robôs do tipo integrador simples (atuados em velocidade) e robôs do tipo integrador duplo (atuados em aceleração). O controlador proposto para os dois tipos são baseados na mesma ideia. Esta ideia consiste em primeiramente formar abstrações que represen-tam cada grupo e depois separar as abstrações. Cada abstração é formada a partir de informações sobre a posição de todos os robôs de um grupo. Depois de formadas as abstrações, os centros das mesmas são segregadas através de forças artificiais advindas de uma função de potencial artificial. São adicionados no espaço nulo de cada um dos dois controladores um outro controlador para evitar colisões. É mostrada a prova de convergência para segregação tanto do controlador para robôs do tipo integrador duplo quanto para robôs do tipo integrador simples. Nos controladores mostrados existem situações em que cada robôs não necessita de informações de todos os outros robôs do sistema para que ocorra segregação. Este trabalho é o primeiro a resolver este problema que pode não precisar de informações globais o tempo todo em que a prova de convergência é mostrada. São mostrados simulações e experimentos que validam a estratégia proposta para os dois controladores propostos na solução do problema de segregação em enxames de robôs.

(7)

Abstract

The use of robotic swarms might be better exploited in a near future due to its ad-vantages, such as the redundancy by construction and the tendency of cost reduction in robots fabrication. To this type of system became viable, we need efficient navigation algorithms to solve many issues that are still open. This work tackles the problem of se-gregation in robot swarms. This problem consists in segregating heterogeneous robots, where smaller groups of homogeneous robots are formed from a bigger heterogeneous group and the smaller groups should segregate. To solve the problem of segregation in a robotic swarm one should design individual control laws to make all robots of one same type form clusters while maintaining distance from other groups. We propose control laws for two different robot models: single integrator robots (actuated in velo-city) and double integrator robots (actuated in acceleration). The proposed controller is based in the same idea in both cases. This idea consists in creating abstractions that represent each group e then separate the abstractions. Each abstraction is formed using information about the position of all robots of a group. After the abstractions are created, the center of the abstractions are segregated through artificial forces that came from a artificial potential function. In the null space of each one of both con-trollers we add one controller responsible for collision avoidance. The convergence proof of segregation is shown for the single integrator robots and for double integrator robots. In the proposed controllers there are situations where each robot does not need information about all the robots in the system in order to segregation occur. This work is the first to solve this problem that may not need global information all the time in which convergence proof is shown. Simulations and experiments are shown and they validate the proposed strategy for both controllers solving the problem of segregation in robotic swarms.

(8)

Lista de Figuras

2.1 Pequenos robôs que formam um enxame de 1000 robôs [Rubenstein et al.,

2014]. . . 5

2.2 Enxame de robôs que flutuam [O’Hara et al., 2014]. . . 6

2.3 Enxame de robôs formando uma ponte [O’Hara et al., 2014]. . . 6

2.4 Robôs com câmeras [Dorigo, 2013]. . . 9

2.5 Robôs com garras [Dorigo, 2013]. . . 9

2.6 Robôs móveis simples [Dorigo, 2013]. . . 9

2.7 Exemplo do Brazilian nut effect. Da esquerda para direita, recipientes sendo agitados verticalmente. . . 10

2.8 Experimento com e-pucks baseado no Brazilian Nut Effect. Os quadro mais à esquerda e mais à direita apresentam as configurações iniciais e finais do sistema, respectivamente. Os quadros do meio mostram situações intermediárias [Chen et al., 2012]. . . 11

2.9 Função de Potencial Artificial usada em Santos [2014]. . . 13

2.10 Função de Potencial Artificial usada em Kumar et al. [2010]. . . 13

3.1 Parâmetros: c= 0. 01, h = 0. 3, dα = 10, rα = 1. 8dα. (a) Potencial artificial entre dois agentes versus a distância entre eles. (b) Força artificial entre dois agentes baseada no gradiente versus a distância entre eles. . . 18

3.2 Dois grafos: G1 e G2. O grafo G1 é conexo e o grafo G2 é desconexo e possui dois subgrafos. . . 19

3.3 Robôs circulares divididos em M = 3 com 3 robôs em cada grupo. . . 20

4.1 Raio da abstração necessário para atingir segregação de acordo com a definição do problema. . . 24

4.2 Estratégia para evitar colisões usada em Michael et al. [2007]. . . 25

4.3 Robôs em iminência de colisão. . . 27

4.4 Esquema exemplificando a estratégia para evitar colisões. . . 34

5.1 Sequência de quadros de uma simulação. . . 37

5.2 (a) Evolução do “tamanho” de cada abstração. (b) Mínima distância entre os centros das abstrações ao longo do tempo. . . 38

(9)

viii 5.3 Mínima distância entre robôs. . . 38 5.4 Da esquerda para a direita: Quadros das simulações com 75, 50 e 25

robôs. De cima para baixo: Sequência de quadros de três simulações. . . 40 5.5 Quadros de uma simulação no ambiente ROS/Stage com 20 robôs

distri-buídos desigualmente em 4 grupos. Da esquerda para direita: Situação inicial, situação intermediária e situação final. . . 41 5.6 Média da informação de quantos grupos vizinhos que cada robô precisa

ao longo do tempo. . . 41 5.7 Tamanho do robô considerado. . . 42 5.8 Um robô e-puck. . . 43 5.9 Sequência de quadros do experimento com robôs e-puck usando o

algo-ritmo do tipo integrador simples. . . 43 5.10 Sequência de quadros do experimento com robôs e-puck usando o

algo-ritmo do tipo integrador duplo. . . 44 5.11 Gráficos referentes ao experimento mostrado na figura 5.10 (a) Evolução

do tamanho das abstrações. (b) Evolução dos centros das abstrações. (c) Distância mínima entre robôs ao longo do tempo. (d) Evolução da posição dos robôs. . . 44 6.1 (a) Algoritmo para robôs do tipo integrador simples. (b) Algoritmo para

(10)

Capítulo 1

Introdução

“The most exciting phrase to hear in science, the one that heralds new discoveries, is not ’Eureka!’ but ’That’s funny...’ ”

Isaac Asimov Enxames de robôs têm inspiração na natureza, no modo como os pássaros voam em formação ou na forma como cardumes de peixes se agrupam em busca de objetivos comuns. Um sistema multi agente com um grande número de robôs autônomos é chamado de enxame de robôs, usualmente cada um dos robôs de um enxame é um robô mais simples se comparado com um robô no estado da arte da robótica. Isto porque aplicações com enxames de robôs focam no que o enxame pode fazer como um todo, ao invés do que cada um de seus robôs consegue realizar individualmente.

Estes sistemas são caracterizados pelo controle descentralizado, comunicação limi-tada entre robôs, uso da comunicação local, e surgimento de um comportamento global [Dorigo, 2013]. Existem diversas vantagens em projetar um sistema deste tipo, como a tolerância a falhas individuais, por existirem diversos agentes redundantes em sua construção [Trianni, 2008].

Enxames robóticos têm diversas aplicações e grande parte delas permanece ainda em fase de pesquisa. Existem aplicações possíveis em diversas áreas: pode-se imaginar enxames de robôs localizando vítimas em ambientes afetados por desastres naturais ou então, na área da engenharia biomédica, vários robôs dentro de um paciente para verificar o funcionamento de seus órgãos internos.

Enxames de robôs heterogêneos são aqueles formados por diferentes tipos de robôs, sejam estas diferenças em sua construção ou na tarefa que eles devem desempenhar. Por exemplo, pode-se imaginar um sistema de robôs heterogêneos para vigilância de um perímetro em que alguns robôs possuem câmeras e são responsáveis pela vigilância enquanto outros robôs são projetados para avisar os humanos se existir algum intruso neste perímetro.

Robótica de enxames é uma área da engenharia em crescente desenvolvimento e com diversos problemas a serem resolvidos para que possam ter aplicações mais con-cretas em um futuro próximo. Um destes problemas é o de segregação de robôs. Este problema trata de quando é necessária a separação de enxames de robôs heterogêneos em grupos contendo apenas robôs homogêneos. Para resolver o problema de segre-gação em enxames de robôs deve-se formular leis de controle individuais para fazer

(11)

1.1 Motivação 2 com que todos os robôs de um mesmo tipo agrupem-se enquanto mantém distância dos outros grupos.

Diferente de outros trabalhos, este propõe técnicas distribuídas, para vários grupos, além de provar formalmente que o sistema converge para a segregação. A proposta foi feita tanto para robôs do tipo integrador simples quanto para robôs do tipo integrador duplo e as provas para ambos os casos são apresentadas. Esta proposta consiste principalmente em acoplar duas ideias: abstrações e campos potenciais artificiais. São formadas abstrações simples para cada grupo como proposto em Belta and Kumar [2003]. É usada a média da posição de todos os robôs de um grupo e a matriz de covariância do mesmo para representar este grupo. A função potencial inicialmente apresentada em Olfati-Saber [2006] é utilizada para que ocorra a segregação dos grupos de robôs que agora são representados por suas abstrações. Além disso, é proposta uma estratégia para se evitar colisões entre robôs de um mesmo grupo e de grupos diferentes. Para estudar a viabilidade do método proposto, primeiramente foram feitas simula-ções no MATLAB [MathWorks, 2014] com o algoritmo de primeira ordem (robôs do tipo integrador simples) e de segunda ordem (robôs do tipo integrador duplo). Posterior-mente foi adicionado o controlador para evitar colisões, no espaço nulo do controlador original, de forma a não alterar a prova de convergência da tarefa principal. Após estes testes, o método foi implementado em robôs reais e-pucks usando os algoritmos de primeira e de segunda ordem.

Os resultados obtidos nas simulações e nos experimentos com robôs reais mostram que os métodos desenvolvidos são eficientes na solução do problema de segregação em enxames de robôs.

1.1

Motivação

Robótica de enxames é uma área nova se comparada com robótica para um único robô móvel e manipuladores robóticos e como tal, ainda existem diversos desafios a serem vencidos. Podem-se imaginar diversas aplicações em que o uso de enxames de robôs é capaz de resolver problemas que apenas um robô não é capaz de resolver, para que isto possa ocorrer, é necessário que existam pesquisas na área de robótica de enxames. Os problemas de navegação, que são muito comuns em pesquisas com um único robô móvel, ainda carecem de um número maior de trabalhos quando existem vários robôs no sistema.

Quando se trata de robôs heterogêneos, ainda menos pesquisas existem.

Pesquisas com enxames de robôs fazem com que seja possível o uso destes robôs em diversas aplicações, sejam elas no dia-a-dia das pessoas, em usos militares, em indústrias ou em situações de eventuais desastres.

Assim sendo, a principal motivação deste trabalho é a carência de pesquisas para navegação de enxames de robôs heterogêneos e a ausência de pesquisas que resolvem e provam a convergência para segregação em enxames de robôs com mais de dois

(12)

1.2 Objetivos 3 grupos. Esta motivação é devido à importância que este tipo de sistema terá na área de robótica e na vida das pessoas em um futuro próximo.

1.2

Objetivos

O objetivo geral do trabalho foi obter formas de resolver o problema de segregação de robôs heterogêneos em enxames de robôs compostos por vários grupos, em que fosse possível fazer a prova de convergência para segregação deste sistema.

Durante o desenvolvimento viu-se a possibilidade de usar algumas das mesmas ideias em robôs cuja dinâmica é dada por integradores simples ou duplos, com isso, o trabalho foi desenvolvido para ambos os casos. Assim sendo, a dissertação teve como objetivos específicos:

1. Desenvolver o algoritmo de segregação para robôs do tipo integrador simples. 2. Desenvolver o algoritmo de segregação para robôs do tipo integrador duplo. 3. Acoplar controladores para evitar de colisões nos dois algoritmos citados. 4. Testar via simulações, a viabilidade dos algoritmos propostos.

5. Fazer experimentos com robôs reais utilizando os algoritmos desenvolvidos.

1.3

Contribuições

Do conhecimento destes autores, este trabalho é o primeiro com convergência ga-rantida para segregação de vários grupos de robôs heterogêneos. Isto foi feito para dois casos, usando robôs do tipo integrador simples e robôs do tipo integrador duplo. Ainda, este trabalho é o primeiro a resolver este problema que pode não precisar de informações globais o tempo todo. Outra contribuição interessante é a estratégia para evitar colisões mantendo o estado das abstrações, não importando o número de robôs envolvidos nas colisões. Enquanto outros trabalhos possuíam problemas com grupos desbalanceados, o método desenvolvido aqui não apresenta nenhum tipo de problema nesse quesito.

Durante o desenvolvimento desta dissertação, dois artigos foram produzidos e submetidos para congressos. São eles:

1. Segregating Multiple Groups of Heterogeneous Units in Robot Swarms using Abstractions (Apresentado na IEEE/RSJ International Conference on Intelligent Ro-bots and Systems 2015 (IROS) em Setembro de 2015, Hamburgo, Alemanha). 2. Segregação de Enxames de Robôs Heterogêneos do Tipo Integrador Simples em

(13)

1.4 Organização do Texto 4 de Automação Inteligente 2015 (SBAI) em Outubro de 2015, Natal, Rio Grande do Norte, Brasil).

1.4

Organização do Texto

Esta dissertação está organizada da seguinte forma: O Capítulo 2 é dedicado à revisão bibliográfica. No Capítulo 3 são apresentados conceitos iniciais e a formulação do problema a ser resolvido. No Capítulo 4 é mostrada a metodologia do trabalho desenvolvido para robôs do tipo integrador simples e robôs do tipo integrador duplo. São apresentados no Capítulo 5 as simulações realizadas, bem como os experimentos com robôs reais. O Capítulo 6 discute os resultados e conclui o trabalho.

(14)

Capítulo 2

Revisão Bibliográfica

“The science of today is the technology of tomorrow.”

Edward Teller Enxames de robôs têm tido cada vez mais atenção dos pesquisadores e da sociedade de forma geral. Essa atenção se deve às vantagens apresentadas por tal sistema, como o fato de sistemas desse tipo serem intrinsicamente redundantes, i.e., se um robô falhar, existem ainda muitos outros pra cumprir a tarefa proposta ao enxame.

Robótica de enxames é o estudo de sistemas robóticos formados por um grande número de robôs relativamente pequenos e simples que interagem e cooperam entre eles para que eles resolvam uma tarefa que está além de suas capacidades individuais [Dorigo and Sahin, 2004].

Alguns pesquisadores estão focando na construção de enxames de robôs altamente escaláveis, devido ao baixo custo de cada um [Klingner et al., 2014]. Em Valentini et al. [2015] é usado um enxame composto por 100 robôs e em Rubenstein et al. [2014], pela primeira vez, é apresentado um enxame composto por 1000 robôs. Parte deste enxame é mostrado na figura 2.1.

Figura 2.1: Pequenos robôs que formam um enxame de 1000 robôs [Rubenstein et al., 2014].

Uma aplicação interessante de enxames de robôs é apresentada em O’Hara et al. [2014], em que um enxame formado por robôs que flutuam se agrupam, construindo

(15)

2.1 Navegação com Enxames de Robôs 6

Figura 2.2: Enxame de robôs que flutuam [O’Hara et al., 2014].

Figura 2.3: Enxame de robôs formando uma ponte [O’Hara et al., 2014].

assim uma ponte. A figura 2.2 mostra este enxame de robôs e a figura 2.3 mostra a ponte que eles formam e um pequeno carro atravessando-a.

Outros trabalhos recentes estão focando em outras aplicações com enxames de robôs, como por exemplo, vigilância de perímetro [Pimenta et al., 2013a], detecção de vazamentos [Zhang et al., 2014], captura de imagens para entretenimento [Remes et al., 2013] e interação dos enxames com humanos [Walker et al., 2014] e [Nagi et al., 2014].

Através destes exemplos, é possível constatar que aplicações com enxames de robôs terão muita utilidade para a sociedade no futuro. Para que seja possível o uso de tais enxames é necessária a formulação de leis de controle para guiar os robôs de forma eficiente. A seguir são apresentados alguns métodos para navegação com enxames de robôs.

2.1

Navegação com Enxames de Robôs

Nesta seção são discutidos métodos de navegação para enxames de robôs móveis. Problemas de navegação em enxames de robôs podem ser modelados como sendo um problema de navegação diferente para cada robô. Desta forma, podem-se usar métodos de planejamento de movimento para cada um dos robôs, modelando os

(16)

2.1 Com Robôs Homogêneos 7 outros robôs como obstáculos. Pode-se fazer isto tanto quando o mapa do ambiente é conhecido ou desconhecido, usando o algoritmo de acordo com o problema. Existem diversos algoritmos para navegação de um robô móvel que pode ser utilizado desta maneira, desde os mais simples em que pouca informação é necessária como algoritmos do tipo bug até algoritmos que discretizam o ambiente e realizam uma busca em grafo neste ambiente discretizado.

Estes algoritmos podem ser divididos do ponto de vista das informações necessárias para o controlador: em controle centralizado e controle distribuído. Na abordagem centralizada, existe uma unidade responsável por enviar ações de controle para cada robô a partir de informações globais. A grande vantagem deste tipo de sistema é a maior facilidade na solução de problemas de navegação, porque a unidade controladora possui as informações de todos os robôs do sistema. No descentralizado, cada robô gera sua ação de controle a partir apenas de informações locais. Isto pode ser uma grande vantagem, visto que sistemas de comunicação e sensoriamento usualmente têm alcance limitado. Existem ainda, propostas que misturam alguns aspectos de cada método.

Modelar o problema de navegação de enxames em problemas de navegação indi-viduais com solução centralizada usualmente não é muito eficiente, porque deve-se planejar o movimento de um sistema com uma dimensão muito grande, o que requer algoritmos muito elaborados e com alto custo computacional. Além disso, a dimensão do problema cresce ao serem adicionados robôs. Choset et al. [2005] e LaValle [2006] fazem uma revisão destes algoritmos de navegação para um robô, mas não tratam diretamente de problemas de enxames de robôs.

Existem também trabalhos que tratam diretamente do problema de navegação para enxames de robôs. Estes trabalhos usam diferentes métodos para formular leis de controle que fazem com que os robôs naveguem de acordo com o problema estabelecido. Os métodos de navegação são divididos em dois tipos: com robôs homogêneos e com robôs heterogêneos. Enxames de robôs heterogêneos são aqueles em que todos os robôs do sistema são diferentes, seja em sua construção ou no papel que cada robô irá desempenhar em busca do objetivo do enxame. Enxames com robôs homogêneos são aqueles em que seus robôs não possuem nenhuma distinção.

2.1.1

Com Robôs Homogêneos

Modelos baseados em comportamentos (behavior-based) foram os primeiro tipos usa-dos na tentativa de controlar enxames virtualmente, no contexto de computação gráfica [Reynolds, 1987]. Estes modelos definem comportamentos que devem ser ativados em condições pré-determinadas. Em Reynolds [1987], o objetivo é simular movimentos de animais em "bando"para fins de computação gráfica. É utilizado um modelo ba-seado em comportamento em que cada animal virtual possui três comportamentos possíveis: evitar colisões com animais ao seu redor, tentar ficar perto dos animais ao

(17)

2.1 Com Robôs Heterogêneos 8 seu redor e tentar atingir a mesma velocidade dos animais ao seu redor. Cada um destes comportamentos é ativado ou desativado conforme necessário, fazendo emergir um comportamento global do "bando". Balch and Arkin [1998] também utiliza de um modelo baseado em comportamentos, mas para controlar um grupo de robôs, fazendo com que eles mantenham formações desejadas, formações estas que são baseadas nas utilizadas pelos pelotões do exército americano nos campos de batalha.

Diferente dos modelos baseados em comportamentos, alguns trabalhos são basea-dos em forças artificiais derivadas de funções de potencial. Estes métobasea-dos que utilizam funções de potencial normalmente fazem uso do gradiente desta função para guiar o robô até o objetivo. Desta forma, os objetivos de cada robô atuam como forças atrati-vas e os obstáculos como forças repulsiatrati-vas, sendo que os outros robôs do enxame são modelados como obstáculos do ponto de vista do robô de interesse. Tanner et al. [2005] faz uso de forças baseadas em funções de potencial para evitar colisões entre robôs não holonômicos enquanto estes se agrupam. Chaimowicz et al. [2005] e Hsieh et al. [2008] usam tais forças artificiais para fazer com que robôs se espalhem em curvas complexas (em duas dimensões) enquanto mantém uma separação entre os robôs. Kumar et al. [2010] e Santos [2014] utilizam funções de potencial, que serão melhor descritas na Seção 2.2, para resolver o problema de segregação em enxames de robôs.

A metodologia deste trabalho também faz uso de forças artificiais e elas serão melhor detalhadas na Seção 3.2.

Há outras abordagens, como por exemplo, o uso de propriedades da hidrodinâmica de partículas suavizadas para controlar de forma distribuída os robôs, fazendo eles “escoarem” pelo ambiente, como em Perkinson and Shafai [2005], Pimenta et al. [2008b] e Pimenta et al. [2013b].

Ainda, pode-se utilizar algumas propriedades do enxame de robôs para criar um mapeamento com dimensão menor do que se considerada a dimensão total do espaço de configurações global do enxame. Belta and Kumar [2003] é o primeiro a fazer uso desta estratégia, criando estruturas virtuais chamadas de abstrações (serão detalhadas no Capítulo 3). Criando estas estruturas, pode-se controlar vários robôs como um todo, o que facilita problemas de navegação para múltiplos robôs, mas em contrapartida tem-se um menor controle sobre o comportamento de cada robô separadamente. Em Santos and Chairmowicz [2011] e Santos and Chaimowicz [2011] são usadas abstrações deste tipo no contexto de enxames de robôs e em Chaimowicz and Kumar [2004] são usados VANTs para controlar enxames de robôs como um todo em tarefas de dividir e reagrupar.

2.1.2

Com Robôs Heterogêneos

O uso de robôs heterogêneos tem atraído recentemente a atenção de pesquisadores em robótica. Existem algumas vantagens em sistemas deste tipo, pode-se, por exemplo, projetar um sistema com alguns robôs possuindo apenas um tipo de atuador e sensor,

(18)

2.1 Com Robôs Heterogêneos 9 enquanto outros robôs possuem atuadores e sensores diferentes. Um sistema deste tipo é altamente escalável, pois pode-se adicionar apenas os robôs que são necessários na expansão do sistema. Também possui alta tolerância a falhas, pela redundância de robôs de um mesmo tipo.

Um exemplo de sistema deste tipo é o projeto Swarmanoid [Dorigo, 2013]. Neste projeto, existem três grupos de robôs. Alguns possuem câmeras que agem como sensores do sistema (figura 2.4), alguns robôs possuem garras como atuadores (figura 2.5) e ainda há robôs que têm a função de mover os robôs com garras (figura 2.6).

Figura 2.4: Robôs com câmeras [Dorigo, 2013].

Figura 2.5: Robôs com garras [Dorigo, 2013].

Figura 2.6: Robôs móveis simples [Dorigo, 2013].

Existem outros trabalhos com aplicações com enxames de robôs heterogêneos. Em Pimenta et al. [2008a] e Kantaros et al. [2015] são propostas leis de controle para tratar do problema de cobertura de espaços com robôs heterogêneos. Os robôs são diferentes

(19)

2.2 Segregação em Enxames de Robôs 10 no sentido de que seus sensores possuem diferentes capacidades de detecção. Estes trabalhos são interessantes para, por exemplo, usar tanto robôs aéreos quanto terrestres em cobertura de espaços.

Bezzo et al. [2014] apresenta redes de comunicação com um sistema de robôs hete-rogêneos, são usados robôs aéreos e terrestres como roteadores de sinal, estes robôs se movem em um ambiente enquanto mantêm a rede de comunicação conectada.

No uso de robôs heterogêneos uma habilidade importante para o sistema, que pode ser útil em diversas aplicações, é a capacidade de segregação autônoma. Esta é a habilidade de formar grupos, cada um contendo apenas robôs do mesmo tipo. Para que se possa fornecer esta capacidade ao sistema deve-se projetar leis de controle individuais que fazem com que os robôs de um mesmo tipos formem clusters enquanto mantém distância dos outros grupos.

2.2

Segregação em Enxames de Robôs

Esta seção relata os trabalhos da literatura que tentam resolver o problema de segregação autônoma em enxames de robôs heterogêneos. Poucos trabalhos tratam diretamente deste problema. Os estudos mais relevantes na resolução deste problema são Groß et al. [2009], Kumar et al. [2010], Chen et al. [2012], Szwaykowska et al. [2014] e Santos et al. [2014].

Groß et al. [2009] desenvolveu um algoritmo centralizado que é capaz de segregar robôs baseados no Brazilian nut effect. Quando um recipiente contendo uma esfera grande e um grande número de pequenas esferas é agitado, a esfera maior sobe, mesmo quando ela é mais densa que as outras esferas. Similarmente, uma mistura de partículas de tamanhos diferentes irá segregar pelo seu tamanho quando é agitada. Este efeito é chamado de Brazilian nut effect [Rosato et al., 1987]. A figura 2.7 mostra um sequência de quadros que ilustram este efeito.

Figura 2.7: Exemplo do Brazilian nut effect. Da esquerda para direita, recipientes sendo agitados verticalmente.

No trabalho de Groß et al. [2009], apesar dos robôs terem o mesmo tamanho, eles simulam o comportamento de partículas de tamanhos diferentes. Em Chen et al.

(20)

2.2 Segregação em Enxames de Robôs 11 [2012], esta abordagem é implementada em robôs e-puck com sucesso. A abordagem é interessante, são apresentadas simulações em ambiente virtual [Groß et al., 2009] e com robôs reais [Chen et al., 2012], em ambas a segregação é atingida com sucesso.

A proposta é baseada em três comportamentos: movimentos aleatórios que simulam a agitação do recipiente, atração para o centro de gravidade e repulsão aos outros robôs. Cada robô então necessita de uma informação exterior, que é o centro de gravidade do sistema. Na implementação com e-epucks, para simular este ponto de atração gravitacional, é utilizada uma lâmpada como fonte de radiação. A figura 2.8 mostra um dos experimentos presentes em Chen et al. [2012], onde é possível ver a fonte de radiação usada.

A necessidade desta informação externa é uma desvantagem, visto que em muitas aplicações é inviável que cada robô obtenha esta informação. Ainda, não existe prova da estabilidade do controlador usado, o que serve de motivação para o desenvolvimento de controladores que são estáveis e convergem para segregação independente do número de robôs e de grupos que não precisem de informações exteriores.

Figura 2.8: Experimento com e-pucks baseado no Brazilian Nut Effect. Os quadro mais à esquerda e mais à direita apresentam as configurações iniciais e finais do sistema, respectivamente. Os quadros do meio mostram situações intermediárias [Chen et al., 2012].

Szwaykowska et al. [2014] estuda um enxame de robôs em que os robôs possuem dinâmicas diferentes. O enxame é dividido em dois grupos, um dos grupos possui apenas robôs que são pouco "manobráveis"e o outro grupo possui apenas robôs que podem ser acelerados mais rapidamente do que os robôs do primeiro grupo. São obser-vados que padrões segregativos emergem naturalmente com as dinâmicas propostas. Este é o único trabalho que trata de segregação encontrado na literatura em que a hete-rogeneidade do enxame se dá pela diferença nas dinâmicas dos robôs. É mostrada uma simulação em que a segregação ocorre, porém não é apresentada a prova de conver-gência. No trabalho de Szwaykowska et al. [2014], diferente dos outros trabalhos sobre segregação, o interesse maior é investigar o que ocorre em enxames de robôs com as dinâmicas propostas, os comportamentos segregativos surgem como uma consequên-cia destas dinâmicas. A segregação não é observada quando todos os robôs possuem as mesmas dinâmicas.

Os outros dois trabalhos que tentam resolver o problema de segregação em enxames de robôs são Kumar et al. [2010] e Santos [2014]. Ambos são baseados no gradiente de

(21)

2.2 Segregação em Enxames de Robôs 12 funções potenciais. Nos dois trabalhos, são considerados N robôs com dinâmica dada pelo integrador duplo:

˙

qi= vi, ˙vi = ui i= 1,2,. . . N, (2.1)

em que ui, qi e vi são as entradas de controle, a posição e a velocidade do robô i,

respectivamente.

Kumar et al. [2010] usa uma função de potencial artificial baseada no modelo de adesão diferencial de células biológicas. Este foi o primeiro trabalho a atingir segregação de forma distribuída a aparecer na literatura. É mostrada a prova de convergência assintótica para segregação e a análise de estabilidade para enxame de robôs com apenas dois grupos. A função de potencial artificial usada é:

Vi j  qi−qj  = a ln  qi−qj  + d0 qi−qj ! , (2.2)

em que a é um ganho escalar e d0 é um parâmetro que define a qual distância o

potencial será nulo. Como o trabalho trata apenas de dois grupos de robôs, esta função de potencial possui três partes: potencial entre robôs de um grupo, potencial entre robôs do outro grupo e o potencial entre robôs de grupos distintos. Assim, o parâmetro d0 assume valores diferentes para cada parte desta função de potencial, sendo que d0

para o potencial entre robôs de grupos distintos deve ser maior que os d0 dos dois

grupos, que podem ser iguais.

No trabalho de Kumar et al. [2010] é apresentada uma simulação com dois gru-pos atingindo segregação. Além disso, são mostrados dados de pouco mais de 100 simulações que também atingiram segregação conforme a definição proposta.

A função de potencial usada em Santos [2014] apresenta apenas um termo a mais: Vi j  qi−qj  = a 1 2  qi−qj  −d02+ ln qi−qj  + d0 qi−qj ! , (2.3) o parâmetro d0 atua de forma um pouco diferente, por haver agora vários grupos a

serem segregados, d0 será fixo com um valor para robôs do mesmo grupo e um valor

maior que o primeiro para robôs de grupos distintos. Em Santos [2014] são mostradas 3 simulações com 150 robôs no total divididos em grupos de 5, 10 e 15 robôs. Também são mostradas a média e o desvio padrão de 100 outras simulações, também com grupos de 5, 10 e 15 robôs. Em todas as simulações os grupos segregam com sucesso. A prova de estabilidade do sistema com o controlador proposto é mostrada, porém não é apresentada prova de convergência para segregação, o que significa que existe a possibilidade do sistema convergir para uma situação estável, mas que os grupos não estejam segregados.

As figuras 2.9 e 2.10 mostram as funções potenciais artificiais usadas em Santos [2014] e Kumar et al. [2010] respectivamente. Ambas as figuras foram obtida usando

(22)

2.2 Segregação em Enxames de Robôs 13

Figura 2.9: Função de Potencial Artificial usada em Santos [2014].

Figura 2.10: Função de Potencial Artificial usada em Kumar et al. [2010].

os mesmos parâmetros: a= 0. 5, d0 = 2 para robôs do mesmo grupo e d0 = 5 para robôs

de grupos distintos. Isto significa que na distância d0 = 2 não haverá forças artificiais

entre robôs de um mesmo grupo e na distância d0 = 5 não haverá forças artificiais entre

robôs de grupos distintos.

Nesta dissertação, é apresentada uma nova proposta de controlador capaz de atingir segregação. A proposta difere das apresentadas em Kumar et al. [2010] e Santos [2014]. O controlador, que será detalhado no capítulo 4, é baseado no uso de abstrações [Belta and Kumar, 2003] e de uma função de potencial com finite cut-off, diferente das usadas em Kumar et al. [2010] e Santos [2014].

(23)

Capítulo 3

Formulação do Problema e Conceitos

Preliminares

“Life is pleasant. Death is peaceful. It’s the transition that’s troublesome.”

Isaac Asimov Neste capítulo, são detalhados os conceitos que serão úteis na metodologia deste trabalho e na formulação do problema a ser resolvido. Também é apresentado formal-mente este problema.

A metodologia deste trabalho apresenta dois algoritmos, um para modelos de robôs do tipo integrador simples e um para modelos de robôs do tipo integrador duplo. Os conceitos aqui apresentados serão utilizados da mesma forma em ambos os casos, a não ser onde for explicitamente descrito o contrário.

3.1

Abstrações

Para ser viável o controle em um enxame de robôs, muitas vezes são utilizadas abordagens que tratam do enxame como um todo ao invés de controlar cada robô indi-vidualmente. Este tipo de abordagem tem a grande vantagem de facilitar as estratégias de controle do enxame, porém tem como desvantagem o menor controle sobre cada robô individualmente. Neste trabalho é utilizada uma abordagem deste tipo, que é chamada de abstração.

Belta and Kumar [2003] apresentam pela primeira vez o controle de um grande número de robôs por meio de uma abstração, mapeando o espaço de configurações dos robôs para uma variedade de dimensão menor. Neste trabalho, definimos uma abstração como a apresentada em Belta and Kumar [2003] para representar um grupo. Cada abstração utiliza como variáveis a média das posições dos robôs do grupo e uma variável dependente da matriz de covariâncias das posições dos robôs deste grupo que dá a ideia da dispersão do grupo. A média da posição de cada grupo é dada por:

µj= 1 Nj Nj X k=1 qkj, (3.1)

(24)

3.1 Abstrações 15 em que j = 1,2,. . . ,M, M é o número de grupos no sistema, Nj é o número de robôs do

grupo j e k = 1,2,. . . ,Nj são os robôs do grupo j. O total de robôs do sistema então é

dado por:

M

X

j=1

Nj. (3.2)

Em todo este trabalho, será usada a nomenclatura como a da equação (3.1), os índices k e l sobrescritos serão usados como índices dos robôs e os índices i e j subscritos serão usado como índices dos grupos (abstrações).

Neste trabalho são considerados sempre robôs no plano, assim, µj possui duas

componentes µj =       µx j µy j      , (3.3) em queµx j eµ y

j são as componentes x e y deµjrespectivamente.

Faz-se cada abstração simétrica, dada por um círculo. A terceira variável de cada abstração é dada por:

σj = 1 Nj Nj X k=1 [(xkj −µx j) 2+ (yk j −µ y j) 2], (3.4)

e reflete a dispersão dos robôs em relação à média. O espaço de configurações do sistema comPM

j=1Nj robôs planares é dado por Q ≡

R2Nj∗M [Choset et al., 2005].

As variáveis de cada abstração são definidas pelo vetor:

φj =           µx j µy j σj           . (3.5)

A partir destas variáveis tem-se o mapeamento:

φj : Q → G ≡ R3, (3.6)

onde a dimensão da variedade topológica G não é dependente da quantidade de robôs do grupo.

As variáveis da abstração definem um círculo que contém todos os robôs do grupo. O centro do mesmo é dado pela média das posições de todos os robôs do mesmo grupo e o raio dado por pNjσj.

Note que q kµ j 2 ≤ PNj k=1 q kµ j 2 = Njσj ⇒ q kµ j ≤ pNjσj. Isto significa que, por construção, todos os robôs associados com a abstraçãoφjsempre permanecem

dentro de sua abstração.

(25)

3.2 Função de Potencial 16 apresentado em Belta and Kumar [2004]. Neste trabalho é usada uma abstração de simples construção por não haver necessidade de usar outros tipos de abstrações, além disso a abstração utilizada neste trabalho apresenta propriedades que possibilitam a prova apresentada no capítulo 4, como o fato de todos os robôs garantidamente estarem sempre dentro de sua abstração.

3.2

Função de Potencial

O uso de funções de potencial no controle de robôs já é algo consagrado na área de robótica. Uma das razões é a facilidade de usar o vetor obtido pela função de potencial diretamente como um vetor a ser seguido por um controlador de mais baixo nível.

Esta seção apresenta a função de potencial proposta em Olfati-Saber [2006]. A lei de controle a ser apresentada na metodologia deste trabalho será baseada no gradiente desta função. Esta função apresenta uma propriedade interessante que é possuir um finite cut-off, isto significa que não haverá forças virtuais em agentes que estão muito distante um do outro, o que pode ajudar a dar uma propriedade local ao algoritmo para segregação em algumas circunstâncias. As funções de potencial utilizadas em Kumar et al. [2010] e Santos [2014] não possuiam esta propriedade.

No contexto original, esta função de potencial foi aplicada diretamente em um grupo de robôs para que estes navegassem enquanto se mantinham agrupados. Neste trabalho, esta função será aplicada para mover os centros das abstrações dos grupos de robôs.

Antes de apresentar a função de potencial, é necessária a definição de um mape-amento não negativo da norma para que a função de potencial seja diferenciável em todos os pontos. Este mapeamento é chamado deσ-norm:

kzkσ= 1 [

q

1+  kzk2− 1], (3.7) onde é um parâmetro que funciona como um ganho e permanece fixo neste trabalho e z é um escalar de qual está se calculando oσ-norm. Agora pode-se apresentar a função de potencial artificial: V(µ) = 1 2 X j X i,j ψα( µi−µj σ), (3.8) onde: ψα(z)= Z z dα γα(s)ds, (3.9) γα = ρh(z/rα) c(z − dα) p 1+ (z − dα)2 , (3.10)

(26)

3.2 Função de Potencial 17 parâmetro rαdefine o finite cut-off rα = krkσ. Isto significa que se dois agentes estiverem

à uma distância maior que rαum do outro, não haverá forças artificiais de atração nem

de repulsão entre estes dois agentes.

A funçãoρh(z) é chamada de função bump e varia suavemente entre 1 e 0:

ρh(z)=            1, z ∈ [0,h) 1 2 h 1+ cos(π(z−h1−h))i z ∈ [h,1] 0, caso contrário. (3.11)

Usando a função de potencial artificial são obtidas forças artificiais a partir do gradiente: Fi = −∇µiV(µ), (3.12) Fi = X j∈Bi γα( µi−µj σ)ni j+ X j∈Bi ρh( µi−µj σ/rα)( ˙µj−µ˙i) | {z } consenso de velocidade , (3.13) onde, ni j = (µj−µi)/ q (1+ µ i−µj 2 ). (3.14)

Na equação (3.13), o termo indicado como consenso de velocidade é usado para que todos os agentes tenham a mesma velocidade quando a força de potencial estiver perto de 0, este termo pode ser visto como termo de amortecimento. Bi é o conjunto de

vizinhos do grupo i. Estes vizinhos são os grupos cujo os centros de suas abstrações estão a uma distância menor do que r do centro da abstração do grupo i.

A figura 3.1 mostra um exemplo das equações (3.9) e (3.10). O parâmetro c atua como um ganho, enquanto o parâmetro h modifica a suavidade da força. Para dois agentes quaisquer, a força de atração/repulsão será zero quando estiverem à distância desejada d e quando a distância entre eles for maior que r.

Se d< r < 2d, todo mínimo local desta função de potencial implica na formação de α-lattices [Olfati-Saber, 2006]. Formações α-lattices são estruturas em forma de treliça em que cada um de seus vértices está a uma mesma distância d de todos os outros vértices pertencentes a sua vizinhança. Estas formações devem satisfazer o conjunto de restrições algébricas dadas por:

µi−µj = d ∀j ∈ Bi. (3.15) A formação de α-lattices, provada em Olfati-Saber [2006] é importante na prova de convergência do sistema para segregação, apresentada no capítulo 4.

(27)

3.3 Grafos 18 0 5 10 15 −0.015 −0.01 −0.005 0 0.005 0.01 0.015 ||µ j − µi||σ γ α (b) 0 5 10 15 0 200 400 600 800 1000 ||µ j − µi||σ ψ α (a)

Figura 3.1: Parâmetros: c = 0. 01, h = 0. 3, dα = 10, rα = 1. 8dα. (a) Potencial artificial

entre dois agentes versus a distância entre eles. (b) Força artificial entre dois agentes baseada no gradiente versus a distância entre eles.

3.3

Grafos

No capítulo 4 são usados conceitos da teoria de grafos, no contexto de se evitar colisões entre robôs. A seguir são definidos conceitos básicos da teoria de grafos.

Um grafo é definido por:

G= (V,E) (3.16)

com V sendo o conjunto de vértices e E o conjunto de arestas. Um outro grafo

G0 = (V0,E0) (3.17) é um subgrafo de G= (V,E) se V0 ⊂ V e E0

⊂ E [Bollobás, 1998].

Um caminho é uma sequência de vértices em que existem arestas entre cada um dos vértices do caminho. Um grafo ou subgrafo é conexo se quaisquer dois de seus vértices puderem ser conectados por um caminho, se existirem dois vértices que não podem ser conectados então o grafo ou subgrafo é desconexo. Os componentes conexos de um grafo são os subgrafos conexos maximais deste grafo, i.e. são os subgrafos que não estão contidos em outros subgrafos conexos.

(28)

3.4 Estabilidade de Lyapunov 19

Figura 3.2: Dois grafos: G1 e G2. O grafo G1 é conexo e o grafo G2 é desconexo e possui dois subgrafos.

3.4

Estabilidade de Lyapunov

A metodologia deste trabalho faz uso da teoria da estabilidade de Lyapunov, que é capaz de analisar a estabilidade e a convergência de sistemas dinâmicos sem calcular explicitamente as soluções de suas equações diferenciais [Slotine et al., 1991], [Khalil and Grizzle, 1996]. Mais especificamente, é utilizado o Lema de Barbalat para análise de estabilidade, que é baseado no lema de estabilidade de Lyapunov original.

No trabalho original de Lyapunov é apresentada uma função W(x) chamada de função de Lyapunov. Em um sistema que tenha um ponto de equilíbrio em x = 0, considerando a função W(x) : Rn → R e sua derivada ˙W(x) em que

W(x) ≥ 0;

W(x) = 0 se e somente se x = 0; • W(x) ≤ 0;˙

então o sistema é dito estável segundo Lyapunov.

O lema de Barbalat, que é baseado na estabilidade de Lyapunov original, diz que considerando uma função de Lyapunov dependente do tempo W(x,t)

• Se W(x,t) for limitada inferiormente, • W(x,t) ≤ 0 para qualquer valor de x;˙

• W(x,t) for uniformemente contínua no tempo.˙

então teremos que ˙W(x,t) → 0 quando t → ∞. Para que ˙W(x,t) seja uniformemente contínua no tempo, é suficiente mostrar que ¨W é limitada.

(29)

3.5 Problema de Segregação em Enxames de Robôs 20

3.5

Problema de Segregação em Enxames de Robôs

Figura 3.3: Robôs circulares divididos em M= 3 com 3 robôs em cada grupo.

Considere PM

j=1Nj robôs holonômicos movendo livremente em um plano com a

posição de cada robô dada pelo vetor

qkj =       xk j yk j       k = 1,2,. . . ,Nj. (3.18) Estes Njrobôs pertencem a um grupo dentre M grupos possíveis. O índice j indica

a qual grupo o robô pertence, j = 1,2,. . . ,M e Njindica o número de robôs do grupo j,

i.e. qkj é o vetor posição do robô k que pertence ao grupo j.

Considere o modelo do tipo integrador simples em que cada robô é atuado direta-mente em velocidade: ˙ qk j = u k j k= 1,2,. . . Nj, (3.19)

considere também modelo do tipo integrador duplo em que cada robô é atuado em aceleração: ˙ qk j = v k j, ˙v k j = u k j k= 1,2,. . . Nj, (3.20)

nos dois modelos, uk

j é a entrada de controle.

Agora que as abstrações e os modelos foram apresentados, pode-se definir o pro-blema de segregação.

Definição do problema: Sejam N robôs de M tipos com dinâmica dada por (3.19) ou (3.20),

derive leis de controle individuais para cada robô que façam com que estes robôs permaneçam no interior das abstrações às quais eles estão associados e além disso cada abstraçãoφj associada a

(30)

3.5 Problema de Segregação em Enxames de Robôs 21 estes robôs convirja para um estado em que:

\

j={1,...,M}

φj = ∅. (3.21)

Isto significa que no estado dito segregado, os robôs de um mesmo tipo estarão agrupados, enquanto estarão separados dos robôs de outros tipos. A Figura 3.3 mostra um sistema segregado de acordo com a nossa definição, nesta Figura robôs do mesmo tipo são da mesma cor e estão dentro da mesma abstração e as linhas conectando os centros das abstrações representam a formação doα-lattice.

(31)

Capítulo 4

Metodologia

“To be is to do.”

Immanuel Kant Durante o desenvolvimento deste trabalho, viu-se a possibilidade de desenvolver algoritmos tanto para robôs do tipo integrador simples (atuados em velocidade) quanto do tipo integrador duplo (atuados em aceleração). Apesar dos dois algoritmos tratarem do mesmo problema, existem aplicações específicas para cada um. Pode-se imaginar estes algoritmos sendo aplicados em robôs usando um modelo puramente cinemático sem maiores problemas, o que faz com que seja ideal o uso do algoritmo para robôs do tipo integrador simples e também pode-se imaginar casos em que a dinâmica dos robôs está presente, com isso pode-se usar o algoritmo para robôs do tipo integrador duplo em conjunto com uma técnica de linearização por realimentação de estados.

Os dois algoritmos são baseados na mesma ideia principal, que consiste em usar abstrações (ver Seção 3.1) que representem os grupos e usar uma função de potencial (ver Seção 3.2) para separar os grupos representados pelas abstrações. As próximas seções detalham os dois algoritmos propostos.

4.1

Robôs do tipo integrador simples

Nesta seção são considerados somente robôs do tipo integrador simples, equação (3.19). Para propor leis de controle individuais destes robôs, deve-se relacionar o movimento da abstração com o movimento dos robôs. Assim, diferenciando a equação (3.5), tem-se:

˙

(32)

4.1 Robôs do tipo integrador simples 23 onde ˙qj = [ ˙x1j, ˙y1j,. . . , ˙x

Nj

j , ˙y Nj

j ]. Com base nas equações (3.1), (3.4) e (3.5) pode-se obter

dφj: dφj = 1 Nj                                   1 0 2(x1 j −µ x j) 0 1 2(y1 j −µ y j) 1 0 2(x2 j −µ x j) 0 1 2(y2j −µy j) ... ... ... 1 0 2(xNj j −µ x j) 0 1 2(yNj j −µ y j)                                   T . (4.2)

Note que dφjé a matriz Jacobiana do sistema.

Para obter as leis de controle individuais, propõe-se:

uj = dφTj(dφjdφTj)−1u˜j+ N ˆuj, (4.3)

Note que det(dφjdφTj) = (2σj)

n3 , então contanto queσj , 0, o determinante é diferente de zero, o que significa que a inversa sempre existe.

O vetor uj é dado por

uj =              (u1 j) T ... (uNj j ) T              (4.4)

e N é tal que dφjN = 0. Conforme será mostrado adiante este segundo termo será

usado para tratar colisões entre robôs. A variável ˜ujé dada por:

˜ uj=       kµUµj kσUσj      , (4.5)

em que kµe kσsão ganhos positivos. Desta forma, como ˙qj = uj, ao substituir (4.3) em

(4.1) tem-se que a evolução da abstração j será governada por:

˙φj = ˜uj. (4.6)

Agora, pode-se propor Uµ

j e U

σ

j de forma a obter as leis de controle para cada robô.

Para separar os centros das abstrações, formandoα-lattices (veja seção 3.2), faz-se:

Uµ

j = Fj, (4.7)

em que Fj são as forças artificiais definidas na seção 3.2. Como estamos tratando de

robôs do tipo integrador simples, que são atuados diretamente em velocidade, o termo apontado como consenso de velocidade da equação (3.13) deve ser desprezado, assim

(33)

4.1 Robôs do tipo integrador simples 24

Figura 4.1: Raio da abstração necessário para atingir segregação de acordo com a definição do problema. temos Uµ j = Fj = X j∈Bj γα( µi−µj σ)ni j, (4.8) onde ni j = (µj−µi)/ q (1+ µ i−µj 2

), γα é dada pela equação (3.10) e Bj é o conjunto

de vizinhos do grupo j.

Desta forma, no mínimo desta função potencial, cada abstração terá seu centro em um vértice doα-lattice.

Para controlar o tamanho de cada abstração, iremos propor um controlador Uσj de forma que cada abstração convirja para o tamanho desejado. Iremos também definir o tamanho desejadoσdes

j para que quando cada abstração atingir este tamanho, o sistema

esteja segregado de acordo com a nossa definição. Sabemos que o raio de cada abstração é dado por Rj = pNjσj. Assim, deve-se especificar o σdesj de forma que o raio Rj de

cada abstração seja menor que metade da distância d que é o tamanho de cada aresta doα-lattice. Sendo assim:

q Njσdesj < d 2, (4.9) σdes j < d2 4Nj. (4.10) Agora, pode-se propor Uσj:

j = σdesj −σj. (4.11) Isto faz com que o tamanho de cada abstração convirja para o tamanho desejadoσdesj .

O esquema da figura 4.1 mostra duas abstrações com uma reta ligando o centro das mesmas, esta reta é uma aresta do α-lattice. O raio Rj necessário para que haja

segregação dos grupos de acordo com a definição do problema no capítulo (3) também é destacado.

(34)

4.1 Tratamento de colisões 25

Figura 4.2: Estratégia para evitar colisões usada em Michael et al. [2007].

4.1.1

Tratamento de colisões

As leis de controle propostas até aqui foram projetadas pensando em robôs pontuais, ou seja, não consideram o tamanho de cada robô. Para que a proposta possa ser usada na prática, deve-se considerar o tamanho de cada robô, com isso deve-se formular estratégias que tratem do problema de colisões entre robôs. Para que o tratamento de colisões não interfira na convergência para segregação, será considerado o controle no espaço nulo de dφj. Este é o termo referente à matriz N apontado na equação (4.3).

Em Michael et al. [2007] é usada uma estratégia parecida, também no espaço nulo de dφj, porém usando agrupamentos entre três robôs para evitar as colisões. Quando um

robô está em iminência de colisão, outros dois robôs do mesmo grupo são escolhidos arbitrariamente para “corrigir” o estado da abstração enquanto o robô em iminência de colisão corrige sua rota afim de evitar a colisão. Estes agrupamentos são baseados na distância entre os três robôs em questão tomada duas a duas.

Para o caso de robôs em duas dimensões, o espaço nulo para cada tríade de robôs (robôs 1, 2 e 3) é dado por:

N (dφ) = λ123                         (x2−x3) (y2−y3) (x3−x1) (y3−y1) (x1−x2) (y1−y2)                         (4.12)

em queλ123deve ser escolhido de forma que as colisões sejam evitadas.

Então o tratamento de colisão de Michael et al. [2007] funciona “escolhendo-se” um vetor tal que o robô em iminente colisão possa escapar da colisão e adicionando no controlador dos outros dois robôs da tríade, vetores complementares ao primeiro. O esquema da figura 4.2 ilustra estes vetores complementares com robôs de índices 1,2 e 3, i.e. caso o robô R1 esteja em iminente colisão com algum outro robô e “escolha” o

vetor ˆu1para escapar desta colisão, então os robôs R2 e R3 terão que adicionar em sua

(35)

4.1 Tratamento de colisões 26 do robô R1.

Nesta dissertação estes agrupamentos não são necessários, é considerado o espaço nulo de todos os robôs do grupo. Para este sistema o espaço nulo de dφj é gerado por:

NullSpace(dφj)= (I − dφTj(dφjdφTj)−1dφj) ˆuj= N ˆuj, (4.13)

onde I é a matriz identidade. Este termo do controlador só será ativado quando for detectada uma colisão iminente:

q k iq l j < 2Rb+ δ, (4.14) em que os índices i e j indicam a quais grupos estes robôs pertencem, e os índices k e l indicam quais dos robôs estão em iminente colisão. Neste trabalho, são considerados robôs circulares de raio Rb. Um pequeno fator de segurançaδ é adicionado para efeitos

práticos. Então, as leis de controle individuais em situações de colisão iminente para um grupo são determinadas a partir de:

uj = dφTj(dφjdφTj)−1u˜j+ (I − dφTj(dφjdφTj)−1dφj) ˆuj. (4.15)

O vetor ˆuj é escolhido para garantir que não haverá uma colisão. Para que a

interfe-rência da estratégia proposta nos estados dos robôs seja energeticamente eficiente, ˆujé

minimizado. Define-se o problema de otimização: min X j∈Ωp ˆuj 2 , s. t. (ukiul j) T(qk iq l j) ≥ 0,para qualquer q k iq l j satisfazendo (4. 14). (4.16)

Esta restrição tem o efeito de fazer com que os robôs se repilam quando estiverem à uma distância menor que 2Rb+ δ.

O conjuntoΩpé o conjunto de grupos nos quais existem robôs em iminente colisão,

sendo que o índice p é dado pelo número de componentes conexos no grafo de colisões (ver Figura 4.3 e Seção 3.3). Neste grafo cada abstração é um nó e existe aresta entre nós que contenham colisões iminentes entre robôs dos grupos.

A Figura 4.3 mostra uma situação em que o grafo possui dois componentes conexos (p = [1,2]), nesta situação, há dois problemas de otimização independentes, um com dois grupos envolvidos e outro com três grupos envolvidos.

Em cada problema de otimização, na função objetivo são considerados todos os grupos em que há robôs envolvidos na colisão iminente, e são considerados todos os outros robôs destes grupos. De posse de todas estas informações, cada robô pode rodar o problema de minimização internamente.

Para cada par de robôs envolvidos é adicionada uma nova restrição responsável por garantir que este par de robôs não irão colidir com as novas leis de controle.

(36)

4.1 Análise do controlador 27

Figura 4.3: Robôs em iminência de colisão.

As colisões entre robôs de um mesmo grupo também são consideradas da mesma forma, adicionando uma nova restrição para cada par de robôs em iminência de colisão. A estratégia proposta é parecida com a estratégia proposta em Michael et al. [2007], porém, ao invés de apenas dois outros robôs serem usados para compensar os movi-mentos do robô escapando da colisão, todos os robôs do grupo são usados.

4.1.2

Análise do controlador

Nesta seção apresentamos a análise formal do controlador proposto.

Teorema 1. Aplicando a lei de controle individual dada por (4.5), (4.8), (4.11) e (4.15) em

PM

j=1Njrobôs com dinâmica dada por (3.19) divididos em M grupos e assumindo que as colisões

são resolvidas de acordo com (4.16) e que não há situações em que todos os robôs do mesmo grupo estão em um mesmo ponto ao mesmo tempo e o sistema não começa em um ponto de sela ou máximo global de V(µ), o sistema irá convergir para um estado no qual todos os robôs de um mesmo grupo estão agrupados enquanto estão separados de robôs de outros grupos, i.e, o problema definido na Seção 3.5 será resolvido.

Demonstração. A prova da convergência é feita em duas partes. Primeiro deve-se provar que o sistema de malha fechada de cada abstração converge para o tamanho desejado (σdes

j ). Depois deve-se provar que os grupos se afastam o suficiente.

Para a prova de convergência, fazem-se três suposições:

1. O sistema não começa em um ponto de sela ou um máximo local de V(µ) [Olfati-Saber, 2006].

2. Não há situações em que todos os robôs de um mesmo grupo estão em um mesmo ponto.

3. Todas as colisões podem ser resolvidas, i.e., o problema de minimização (4.16), sempre tem solução viável.

(37)

4.1 Análise do controlador 28 Sabemos que det(dφjdφTj) = (Nj)j3, e com a suposição 2 sabemos que σj , 0, assim

dφjdφTj sempre terá inversa e o movimento das abstrações será dado pela equação (4.6),

além disso, como o controlador de evitamento de colisões opera no espaço nulo de dφj tem-se que a evolução das abstrações não será alterada por esta componente. A

suposição 3 apenas garante que a evolução das abstrações não será perturbada pela ocorrência de colisões entre robôs, de tal forma que um possa impedir o movimento do outro.

Para a primeira parte da prova, sabe-se que para qualquer valor positivo de kσ a dinâmica dada por ˙σj = kσ(σdesj −σj) sempre faráσjconvergir exponencialmente paraσdesj

[Slotine et al., 1991], além disso, sabemos pela seção 3.1 que todos os robôs associados com uma abstração sempre permanecem dentro da mesma.

Para a segunda parte da prova considere,

W = V(µ), (4.17) ondeµ = [µT 1T 2,. . . ,µ T M] T e V(µ) é dada por (3.8). Calculando ˙W: ˙ W= ∇VTµ.˙ (4.18) Porém, conforme definido em (3.12) e (4.7), temos que as forças artificiais são aplicadas no centro das abstrações, isto é:

˙

µ = −∇V. (4.19)

Logo,

˙

W= − k∇Vk2 ≤ 0. (4.20) Por outro lado, tem-se que W ≥ 0, ou seja, W é limitado inferiormente. Para que se possa concluir que ˙W é uniformemente contínuo, ¨W deve ser limitado. Temos que,

˙ W= −∇VT∇V. (4.21) ¨ W= −2∇VTd∇V dt , (4.22) Calculando d(∇V)dt : d(∇V) dt = d dt                ∇µ 1V ∇µ 2V ... ∇µ MV                =                  ∂ ∂µ(∇µ1V) T ∂ ∂µ(∇µ2V) T ... ∂ ∂µ(∇µMV) T                  | {z } J ˙ µ |{z} ∇V (4.23)

(38)

4.2 Robôs do tipo integrador duplo 29 Substituindo na equação (4.22), ¨ W= 2∇VTJ∇V, (4.24) como ∇µ jV(µ) = X j∈Bj γα  µi−µj σ  ni j, (4.25)

através da definição das funçõesγα(equação (3.10)) e ni j (equação (3.14)), tem-se que

µ jV(µ) = 0 se µi−µj σ > r, (4.26) i.e. ∇µjV(µ) = 0 é limitada pelo finite cut-off r. A derivada parcial de ∇µjV(µ) é dada por:

∂ ∂µ h ∇µ jV(µ)i = ∂∂µ " X j∈Bj γα  µi−µj σ  ni j # , (4.27)

podemos perceber com a definição das funções γα e ni j que a derivada da equação

(4.27) existe e não se torna ilimitada na região µ

i−µj

σ < r. Isto significa que J também é limitado, então podemos concluir que ¨W é limitado e consequentemente ˙W é uniformemente contínuo.

Portanto, utilizando o Lema de Barbalat (Lema 4.3 em Slotine et al. [1991]) conclui-se que ˙W → 0 quando t → ∞. Como ˙W = 0 implica em ∇V = 0 e assumindo a suposição 1 como verdadeira, isto só ocorre se os grupos estiverem a uma distância maior que r (finite cut-off da função de potencial) ou se estiverem numa formação tipo α−lattice a uma distância d (ponto onde ocorre o mínimo de V(µ), veja Olfati-Saber [2006]). Ou seja, o sistema converge para uma situação em que as abstrações estarão a uma distância maior ou igual a d.

Como as abstrações atingem um tamanho especificado respeitando a equação (4.10), então o problema de segregação como definido na seção 3.5 é resolvido. 

4.2

Robôs do tipo integrador duplo

Foi desenvolvido também um algoritmo para robôs do tipo integrador duplo. A abordagem também consiste em acoplar o uso de abstrações (ver seção 3.1) com uma função de potencial (ver seção 3.2).

Como os robôs têm dinâmica do tipo integrador duplo, deve-se relacionar o movi-mento da abstração com a aceleração dos robôs. Diferenciando a equação (3.4) duas

(39)

4.2 Robôs do tipo integrador duplo 30 vezes, temos ¨ σj = 2 Nj                                           x1 j −µ x j y1 j −µ y j x2 j −µ x j y2 j −µ y j . . . xNj j −µx j yNj j −µ y j                                           T ¨ˆqj+ 2σ 0 j, (4.28) onde, σ0 j = 1 Nj Nj X i=1 ( ˙xi− ˙µxj)2+ ( ˙yi− ˙µyj)2, (4.29) em que ¨ˆqj = [ ¨x1j, ¨y1j,. . . , ¨x Nj j , ¨y Nj

j ]. Agora, podemos escrever

¨ φj = dφj¨ˆqj+           0 0 2σ0 j           , (4.30)

em que dφj é o mesmo definido na seção 4.1. Para propor leis de controle para cada

robô de um mesmo grupo de forma a guiar a dinâmica da abstração correspondente fazemos uk= dφTj(dφjdφTj)−1            −           0 0 2σ0 j           + ˜uj            , (4.31)

em queφj é a abstração à qual o robô k pertence e ˜ujdeve ser projetada para controlar

o estado da abstração. Como foi mostrado anteriormente, det(dφjdφTj) = (2σj)

n3 , então

contanto queσj , 0, a inversa desta matriz sempre existe. A partir da equação (4.30), aplicando a lei de controle da equação (4.31) em todos os robôs, cada abstração se moverá de acordo com

¨

φj = ˜uj, (4.32)

em que ˜uj é uma entrada virtual para a abstração j e será dada por:

˜ uj=       kµUµjj      . (4.33) onde Uµ

j é a força artificial que guia a média do grupo, U

σ

j determina a evolução do

(40)

4.2 Tratamento de Colisões 31 determinará o sucesso da abordagem.

Assim como na seção 4.1, fazemos

Uµ

j = Fj, (4.34)

com a intenção de que os centros das abstrações formemα-laticces. Como nessa seção estamos tratando de robôs atuados em aceleração, usamos a força Fjexatamente como

descrita na seção 3.2.

Utilizamos também o mesmo tamanho desejado para cada abstração da seção 4.1: σdes

j <

d2

4Nj.

(4.35) Propomos agora um novo controlador Uσj:

j = ¨σdesj + k1( ˙σdesj − ˙σj)+ k2(σdesj −σj), (4.36)

Podemos fazer σdes

j constante, ¨σ des

j e ˙σ des

j iguais a zero, para que o tamanho da

abstração tenha velocidade e aceleração igual a zero quando t → ∞.

Então, cada robô individual será guiado pelas leis de controle dadas pelas equações (4.33), (4.34), (4.35) e (4.36), como se segue: uk= kµUµj + (qk−µj) σj [2σ0 j−k1σ˙j+ k2(σdesj −σj)], (4.37)

Os parâmetros kµ,k1e k2podem ser fixados e iguais em todas as abstrações.

A lei de controle individual (equação (4.37)) é dependente do número de robôs de cada abstração, do estado do próprio robô, do estado da abstração a qual este robô pertence e do estado das abstrações vizinhas.

4.2.1

Tratamento de Colisões

Na lei de controle individual (equação 4.37) são considerados robôs pontuais, para que possam ser considerados robôs com tamanho real deve-se propor uma estratégia para evitar colisões entre os robôs. Da mesma forma que na seção 4.1 (ver equação (4.15)), o controlador para evitamento de colisões será no espaço nulo do controlador original. Apesar destas semelhanças, a estratégia para robôs do tipo integrador duplo difere da estratégia para robôs do tipo integrador simples.

Referências

Documentos relacionados

O score de Framingham que estima o risco absoluto de um indivíduo desenvolver em dez anos DAC primária, clinicamente manifesta, utiliza variáveis clínicas e laboratoriais

A abordagem mais usual de fadiga, que utiliza a tensão nominal e a classificação de detalhes geométricos para previsão da vida em fadiga, não abrange conexões mais complexas e

Com base nos resultados da pesquisa referente à questão sobre a internacionalização de processos de negócios habilitados pela TI com o apoio do BPM para a geração de ganhos para

“O aumento da eficiência e o plano de produção fizeram com que a disponibilidade das células de fabricação aumentasse, diminuindo o impacto de problemas quando do

O Fórum de Integração Estadual: Repensando o Ensino Médio se efetiva como ação inovadora para o debate entre os atores internos e externos da escola quanto às

Além desta verificação, via SIAPE, o servidor assina Termo de Responsabilidade e Compromisso (anexo do formulário de requerimento) constando que não é custeado

(Considerada a sucata tanto para o novo como para o reparo, impostos diferenciados e considerando o reparo sendo executado em fábrica). Projeto nem sempre mais “enxuto” quando

Refletir sobre a gestão do conhecimento na área da Saúde Pública em tempos de Big Data, que norteiam seus desafios e perspetivas no século XXI para a sustentabilidade dos sistemas