Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Abstract— This article proposes a control strategy to reach segregation in robot swarms using abstractions.
It’s considered the single integrator robot model in the two dimensional case. The approach is based on ab-
stractions created to represent each group of robots and a controller inspired by artificial potential functions
to segregate the groups. A convergence proof is presented and a collision avoidance strategy is also proposed.
Experiments with real robots are also shown.
Resumo— Este artigo propõe uma estratégia de controle para obter a segregação em enxames de robôs com
uso de abstrações. É considerado o modelo de robôs do tipo integrador simples para o caso de duas dimensões.
A abordagem é baseada em abstrações criadas para representar cada grupo e em um controlador inspirado em
funções potencias artificiais para segregar os grupos. A prova de convergência é mostrada e uma estratégia de
controle para evitar colisões também é proposta. Também são apresentados experimentos com robôs reais.
295
XII Simpósio Brasileiro de Automação Inteligente (SBAI)
tante. Neste trabalho, os robôs considerados são As variáveis da abstração definem um círculo que
do tipo integrador simples e podem haver situ- contém todos os robôs do grupo. O centro do
ações em que não são necessárias informações de mesmo é dado pela média das posições de todos
p os
todos os outros robôs do sistema. Além disso, pela robôs do mesmo grupo e o raio dado por Nj σj .
primeira vez, é apresentada uma prova de conver- 2 PNj 2
Note que kqi − µj k p ≤ i=1 kqi − µj k =
gência para múltiplos grupos e ainda experimentos Nj σj ⇒ kqi − µj k ≤ Nj σj . Isto significa que,
com robôs reais. por construção, todos os robôs associados com a
abstração φj sempre permanecem dentro de sua
2 Metodologia abstração. Outras forma de abstrações são pos-
síveis, como apresentado em Belta and Kumar
Considere N robôs holonômicos movendo livre- (2004).
mente em um plano com a posição de cada robô Agora que as abstrações foram apresentadas,
dada pelo vetor q ij = [xij , yji ]T , i = 1, 2, ..., Nj . pode-se definir o problema de segregação.
Estes N robôs pertencem a um grupo dentre M Definição do problema: Sejam N robôs de
grupos possíveis. O índice j indica a qual grupo M tipos com dinâmica dada por (1), derive leis
o robô pertence, j = 1, 2, ..., M e Nj indica o nú- de controle individuais para cada robô que façam
mero de robôs do grupo j. com que cada abstração φj associada a estes robôs
Cada robô é do tipo integrador simples, atu- convirja para um estado em que:
ado diretamente em velocidade:
\
q̇ji = uij , (1) φj = ∅. (6)
j={1,...,M }
em que uij é a entrada de controle. O espaço
de configurações do sistema cresce proporcional- Isto significa que no estado dito segregado, os
mente ao número de robôs: Q = R2N . robôs de um mesmo tipo estarão agrupados en-
quanto estarão separados dos robôs de outros ti-
2.1 Abstrações pos.
Para propor leis de controle individuais, deve-
Belta and Kumar (2003) apresentam pela primeira se relacionar o movimento da abstração com o mo-
vez o controle de um grande número de robôs por vimento dos robôs. Assim, diferenciando a equa-
meio de uma abstração, mapeando o espaço de ção (5), tem-se:
configurações dos robôs para uma variedade de
dimensão menor. Neste trabalho, definimos uma φ˙j = dφj q̇j (7)
abstração como a apresentada em Belta and Ku-
mar (2003) para representar um grupo. Cada abs-
em que q̇j = [ẋ1j , ẏj1 , ..., ẋj j , ẏj j ]. Com base nas
N N
tração utiliza como variáveis a média das posições
equações (2) , (3) e (5) pode-se obter dφj :
dos robôs do grupo e uma variável dependente da
matriz de covariância das posições dos robôs deste T
grupo que dá a ideia da dispersão do grupo. A 1 0 2(x1j − µxj )
média da posição de cada grupo é dada por:
0
1 2(yj1 − µyj )
1 ... .. ..
x dφj = . . . (8)
Nj
Nj
µ 1 X i x
µj = jy = (2) 1 0 2(xj − µj )
Nj
q ,
µj Nj i=1 j
0 1 2(yj j − µyj )
N
a dimensão da variedade topológica G não é de- em que kµ e kσ são ganhos positivos. Desta forma,
pendente da quantidade de robôs do grupo. como q˙j = uj de acordo com (1), ao substituir (9)
As variáveis de cada abstração são então de- em (7) tem-se que a evolução da abstração será
finidas pelo vetor: governada por:
φj (q) = [µxj , µyj , σj ]T . (5) φ̇j = ũj . (11)
296
XII Simpósio Brasileiro de Automação Inteligente (SBAI)
2.2 Função de potencial artificial cada um de seus vértices está a uma mesma dis-
tância d de todos os outros vértices pertencentes a
Esta seção apresenta a função de potencial pro-
sua vizinhança. Estas formações devem satisfazer
posta em Olfati-Saber (2006). A lei de controle a
o conjunto de restrições algébricas dadas por:
ser apresentada na próxima subseção será baseada
no gradiente desta função. kµi − µj k = d ∀j ∈ Bi , (19)
No contexto original, esta função de potencial
foi aplicada diretamente em um grupo de robôs Bi é o conjunto de vizinhos do grupo i. Estes vi-
para que estes navegassem enquanto se manti- zinhos são os grupos cujo os centros de suas abs-
nham agrupados. Neste trabalho, esta função será trações estão a uma distância menor do que r do
aplicada para mover os centros das abstrações dos centro da abstração do grupo i.
grupos de robôs. Antes de apresentar a função de
potencial, é necessária a definição de um mapea-
2.3 Leis de controle
mento não negativo da norma para que a função
de potencial seja diferenciável em todos os pontos. Agora, pode-se propor Ujµ e Ujσ de forma a obter
Este mapeamento é chamado de σ-norm: as leis de controle para cada robô. Para separar os
q centros das abstrações, formando α-lattices, faz-
1 2
kzkσ = [ 1 + kzk − 1], (12) se:
Ujµ = Fj , (20)
em que é um parâmetro que funciona como um
em que Fj são as forças artificias definidas na se-
ganho e permanece fixo neste artigo. Agora pode-
ção 2.2. Assim, no mínimo desta função potencial,
se apresentar a função de potencial artificial:
cada abstração terá seu centro em um vértice do
1 XX α-lattice.
V (µ) = ψα (kµj − µi kσ ), (13) Para controlar o tamanho de cada abstração,
2 i
j6=i
iremos propor um controlador Ujσ de forma que
em que: Z cada abstração convirja para o tamanho desejado.
z
ψα (z) = γα (s)ds, (14) Iremos também definir o tamanho desejado σjdes
dα para que quando cada abstração atingir este tama-
c(z − dα ) nho, o sistema esteja segregado, de acordo com a
γα = ρh (z/rα ) p , (15) nossa definição. Sabemos quep o raio de cada abs-
1 + (z − dα )2 tração é dado por Rj = Nj σj . Assim, deve-
onde c é uma constante. A função ρh (z) é cha- se especificar o σjdes de forma que o raio Rj de
mada de função bump e varia suavemente entre 1 cada abstração seja menor que metade da distân-
e 0: cia d que é o tamanho de cada aresta do α-lattice.
Sendo assim:
h 1, i z ∈ [0, h) d2
1
ρh (z) = 2 1 + cos(π( 1−h )
z−h
z ∈ [h, 1] σjdes ≤ . (21)
4Nj
0, caso contrário. Agora, pode-se propor Ujσ :
(16)
Os parâmetros rα e dα definem o finite cut-off Ujσ = kσ (σjdes − σj ). (22)
rα = krkσ e o mínimo global de ψα , dα = kdkσ ,
respectivamente. Usando a função de potencial Isto faz com que o tamanho de cada abstração
artificial são obtidas forças artificiais a partir do convirja para o tamanho desejado σjdes . Também
gradiente: é o objetivo deste trabalho tratar o problema de
X colisões entre robôs. Para que o evitamento de co-
Fi = −∇µi V (µ) = γα (kµi − µj k)nij , (17) lisões não interfira na convergência das abstrações,
j∈Bj
será considerado o controle no espaço nulo de dφj .
em que, Este é o termo referente à matriz N apontado em
q (10).
2 Em Michael et al. (2007) é usada uma estraté-
nij = (µj − µi )/ (1 + kµi − µj k . (18)
gia parecida, também no espaço nulo de dφj , po-
O parâmetro c atua como um ganho, enquanto rém usando agrupamentos entre três robôs para
o parâmetro h modifica a suavidade da força. evitar as colisões. Neste trabalho estes agrupa-
Para dois agentes quaisquer, a força de atra- mentos não são necessários.
ção/repulsão será zero quando estiverem à distân- Para este sistema o espaço nulo de dφj é ge-
cia desejada d e quando a distância entre eles for rado por:
maior que r. Se d < r < 2d, todo mínimo lo-
cal desta função de potencial implica na formação null(dφj ) = (I − dφTj (dφj dφTj )−1 dφj )ûj = N ûj .
de α-lattices (Olfati-Saber, 2006). Formações α- (23)
lattices são estruturas em forma de treliça em que Este termo do controlador só será ativado quando
297
XII Simpósio Brasileiro de Automação Inteligente (SBAI)
uj = dφTj (dφj dφTj )−1 ũj + N ûj (25) 2. Não há situações em que todos os robôs de
um mesmo grupo estão em um mesmo ponto.
O vetor ûj é escolhido para garantir que não ha-
verá uma colisão. Para que a interferência da es- 3. Todas as colisões podem ser resolvidas, i.e.,
tratégia proposta nos estados dos robôs seja ener- o problema de minimização (26), sempre tem
geticamente eficiente, ûj é minimizado. Define-se solução viável.
o problema de otimização: 2σ
Sabemos que det(dφj dφTj ) = (Njj)3 , e com a
X
min kûj k
2
(26) suposição 2 sabemos que σj 6= 0, assim dφj dφTj ,
j∈Ωp sempre terá inversa e o movimento das abstrações
será dado por (11), além disso, como o controlador
Sujeito a: (uik − ujl )T (qki − qlj ) ≥ 0, para qual- de evitamento de colisões opera no espaço nulo
quer qki − qlj satisfazendo (24). O conjunto Ωp é de dφ tem-se que a evolução das abstrações não
o conjunto de grupos nos quais existem robôs em será alterada por esta componente. A suposição
iminente colisão, sendo que o índice p é dado pelo 3 apenas garante que a evolução das abstrações
número de componentes conexos no grafo de coli- não será perturbada pela ocorrência de colisões
sões (ver figura (1)). Neste grafo cada abstração entre robôs, de tal forma que um possa impedir o
é um nó e existe aresta entre nós que contenham movimento do outro.
colisões iminentes entre robôs dos grupos. Para a primeira parte da prova, sabe-se que
A figura (1) mostra uma situação em que para qualquer valor positivo de kσ a dinâmica
o grafo possui dois componentes conexos (p = dada por σ˙j = kσ (σjdes − σj ) sempre fará σj
[1, 2]), nesta situação, há dois problemas de oti- convergir exponencialmente para σjdes (Slotine
mização independentes, um com dois grupos en- et al., 1991). Sabemos pela seção 2.1 que todos
volvidos e outro com três grupos envolvidos. os robôs associados com uma abstração sempre
Em cada problema de otimização, na função permanecem dentro da mesma.
objetivo são considerados todos os grupos em que Para a segunda parte da prova considere,
há robôs envolvidos na colisão iminente, e são
considerados todos os outros robôs destes grupos. W = V (µ), (27)
Para cada par de robôs envolvidos é adicionada
onde µ = [µT
1 , µ2 , ..., µM ] . Calculando Ẇ :
T T T
uma nova restrição.
Ẇ = ∇V T µ̇. (28)
2.4 Análise do controlador
Porém, conforme definido
Nesta seção apresentamos a análise formal do con-
trolador proposto. µ̇ = −∇V. (29)
298
XII Simpósio Brasileiro de Automação Inteligente (SBAI)
Por outro lado, tem-se que W ≥ 0, ou seja, W é trações. Isto garante que não há nenhum robô
limitado inferiormente. Além disso, Ẅ é limitado, “invadindo” outra abstração.
o que permite concluir que Ẇ é uniformemente
contínuo.
3.1 Simulações
Portanto, utilizando o Lema de Barbalat
(Lema 4.3 em Slotine et al. (1991)) conclui-se que Uma simulação exaltando os aspectos qualitativos
Ẇ → 0 quando t → ∞. Como Ẇ = 0 implica da proposta em ambiente MATLAB é mostrada
em ∇V = 0 e assumindo a suposição 1 como ver- na figura 2. Neste exemplo são usados 6 grupos
dadeira, isto só ocorre se os grupos estiverem a com 6 robôs em cada grupo. Pode-se observar que
uma distância maior que r (finite cut-off da função os sistema atinge a segregação.
de potencial) ou se estiverem numa formação tipo Cada robô é modelado como um círculo e é
α−lattice a uma distância d (ponto onde ocorre usado o modelo cinemático da equação (1). O
o mínimo de V (µ), veja Olfati-Saber (2006)). Ou tamanho de cada abstração é mostrado (círculos
seja, o sistema converge para uma situação em maiores). Cada abstração é identificada por uma
que as abstrações estarão a uma distância maior cor, seus robôs por esta cor e uma forma especí-
ou igual a d. fica. A solução do problema de minimização em
Como as abstrações atingem um tamanho es- (26) é obtido com ajuda da função f mincon do
pecificado respeitando (21), então o problema de MATLAB. No último quadro da figura 2 também
segregação como definido na seção 2.1 é resolvido. é destacado o α-lattice.
2
3.2 Experimentos com robôs reais
3 Experimentos e Simulações
Um experimento com 9 robôs e-puck (Mondada
Primeiramente foram feitas simulações no MA- et al., 2009) também é apresentado. Foi utili-
TLAB (MathWorks, 2014) para estudar a viabi- zada a plataforma experimental descrita em Gar-
lidade do método proposto e em seguida o mé- cia (2009), que possui uma câmera para locali-
todo foi implementado em robôs reais. Um ví- zação dos robôs e-puck através de tags colocadas
deo com os experimentos pode ser encontrado em em cima dos mesmos. Os 9 robôs são divididos
https://youtu.be/BH5Hk_NVNxc. em 3 grupos com 3 robôs em cada um dos gru-
No instante inicial todos os robôs estão pa- pos. Os robôs utilizados são do tipo differential
rados e distribuídos uniformemente. Não há co- drive e é usada a linearização por realimentação
lisões, nem robôs em iminente colisão neste pri- de estados (Pimenta et al., 2013) para que possa
meiro instante. ser possível usar a estratégia proposta em robôs
d2
Nos dois experimentos faz-se σjdes = 4N + ∆, deste tipo. Os robôs são modelados como sendo
para todos os grupos, sendo ∆ um número pe- um quadrado inscrito em um círculo de raio igual
queno que garante que a inequação (21) seja sa- a metade do diâmetro do quadrado. Para efeito
tisfeita. A segregação é atingida quando todas as da metodologia proposta o tamanho dos robôs é
abstrações convergem para seu tamanho desejado considerado como sendo o tamanho dos círculos.
(σj = σjdes ) e o α-lattice é formado, ou seja, não Quadros deste experimento são mostrados na fi-
há mais forças artificias aplicadas sobre estas abs- gura 3.
299
XII Simpósio Brasileiro de Automação Inteligente (SBAI)
300