controlador servo-visual aplicado ao l ider de uma … multi-robÔs/geral33.pdf · mant em em...

36
CONTROLADOR SERVO-VISUAL APLICADO AO L ´ IDER DE UMA EQUIPE DE ROB ˆ OS COM CONTROLE DE FORMA¸ C ˜ AO CENTRALIZADO Douglas Almonfrey * , Raquel Frizera Vassallo * * Dpto. de Engenharia El´ etrica, Universidade Federal do Esp´ ırito Santo Av. Fernando Ferrari 514 Vit´oria, ES, Brasil Emails: [email protected], [email protected] Abstract— This work implements a visual-servo control that generates motor commands for a mobile robot according to a visual target. This robot is also the leader of a robot team that uses a centralized, non-linear and stable controller to keep group formation. Therefore, whenever the target moves, the leader moves to correct its position and orientation, also forcing the whole team to move in formation. The combination of these two controllers will allow the future implementation of a hybrid cooperation strategy, joining a decentralized (visual- servo control) and a centralized (the formation control) approaches. Some experiments were done, so the system performance could be analyzed. Keywords— Visual-servo control, formation control, hybrid cooperation strategy. Resumo— Este trabalho aborda a implementa¸c˜ao de um controle servo-visual que comanda o movimento de um robˆo de acordo com um objeto de interesse. O robˆ o em quest˜ao ´ eol´ ıder de uma equipe de robˆos que se mant´ ememforma¸c˜ ao por meio de um outro controlador n˜ ao linear, centralizado e est´ avel. Desta maneira, quando o objeto se deslocar, o l´ ıder, por meio do controle servo-visual, tamb´ em ir´ a se movimentar, mantendo sempre as mesmasposi¸c˜ aoeorienta¸c˜aoiniciaisemrela¸c˜ ao ao objeto. Paralelo a isso, a equipe de robˆos seguidores tamb´ em se movimenta, mantendo a forma¸c˜ao junto ao seu l´ ıder. Esse esquema tem por objetivo preparar a ado¸c˜ao de uma estrat´ egia de coopera¸ c˜ao mista. Por fim, testes foram realizados de maneira a validar o funcionamento do sistema. Palavras-chave— Controle servo-visual, controle de forma¸c˜ao, estrat´ egia de coopera¸c˜ ao mista. 1 Introdu¸c˜ ao Devido ao avan¸co tecnol´ ogico dos ´ ultimos anos, o homem tem buscado cada vez mais desenvol- ver m´ aquinas e sistemas capazes de realizar suas tarefas. Estas variam de atividades repetitivas, que exigem um alto grau de acerto, a atividades que apresentam risco ao ser humano. Os robˆ os em sido cada vez mais empregados para reali- zar tais tarefas (Mark W. Spong, 2006). Entre- tanto, muitas vezes, a utiliza¸c˜ ao de apenas um robˆ o n˜ ao ´ e suficiente, sendo necess´ ario ou acon- selh´ avel o emprego de uma equipe de robˆ os. Em (Tamio Arai, 2002) e (Parker, 2003) s˜ ao apresen- tados e discutidos diversos t´ opicos acerca de sis- temas multi-robˆ os, suas vantagens e aplica¸ oes. Em se tratando de equipe, o conceito de for- ma¸ ao torna-se, na maioria das vezes, fundamen- tal para o sucesso da atividade realizada. O trans- porte de cargas ´ e um exemplo de trabalho onde amanuten¸c˜ ao da forma¸c˜ ao ´ e fundamental. Caso uma equipe de robˆ os saia da forma¸ ao durante o transporte de uma carga, esta pode ter seu peso mal distribu´ ıdo e cair, causando o fracasso da ati- vidade. Al´ em de manter a forma¸c˜ ao, uma equipe de robˆ os deve ser capaz de navegar pelo ambiente, aumentando sua ´ area de atua¸ ao e mantendo a seguran¸ca da equipe. Baseado nesse contexto, este trabalho visa permitir que o l´ ıder de uma equipe de robˆ os m´ o- veis, que possuem uma estrat´ egia de controle de forma¸c˜ ao centralizada, navegue pelo ambiente ba- seado nos movimentos de um padr˜ ao colorido, por meio de um controlador servo-visual. Enquanto se move, seguindo o padr˜ ao, o l´ ıder guia a sua equipe para um determinado local a fim de exe- cutar uma tarefa. Desta maneira, se o padr˜ ao for adaptado sobre um outro robˆ o, o l´ ıder da equipe seguir´ a os movimentos deste robˆ o. Isso permitir´ a o desenvolvimento de uma estrat´ egia de coopera- ¸c˜ ao mista, onde o l´ ıder da equipe de robˆ os segue o padr˜ ao (outro robˆ o) em um esquema de coope- ra¸c˜ ao descentralizado e ao mesmo tempo mant´ em os membros de sua equipe em forma¸c˜ ao de forma centralizada. 2 Sistemas de Vis˜ ao No presente trabalho, ser˜ ao empregadas imagens perspectiva e omnidirecional, ambas capturadas pelo mesmo sistema de vis˜ ao. A primeira ser´ a uti- lizada para realimentar o controlador servo-visual e a segunda para obter informa¸ oes para o con- trole de forma¸ ao. Imagens perspectivas s˜ ao ´ uteis quando se deseja uma representa¸ ao mais realista da cena, enquanto imagens omnidirecionais pro- porcionam a vantagem de um campo de vis˜ ao de 360 . A fim de evitar a utiliza¸c˜ ao de um sistema perspectivo e outro omnidirecional, optou-se por realizar a retifica¸c˜ ao da imagem omnidirecional, para obter, assim, uma imagem perspectiva livre dedistor¸c˜ oes. Desta forma, apenas um sistema de vis˜ ao omnidirecional catadi´ optrico formado por

Upload: others

Post on 30-Dec-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

CONTROLADOR SERVO-VISUAL APLICADO AO LIDER DE UMA EQUIPE DEROBOS COM CONTROLE DE FORMACAO CENTRALIZADO

Douglas Almonfrey∗, Raquel Frizera Vassallo∗

∗Dpto. de Engenharia Eletrica, Universidade Federal do Espırito SantoAv. Fernando Ferrari 514

Vitoria, ES, Brasil

Emails: [email protected], [email protected]

Abstract— This work implements a visual-servo control that generates motor commands for a mobile robotaccording to a visual target. This robot is also the leader of a robot team that uses a centralized, non-linear andstable controller to keep group formation. Therefore, whenever the target moves, the leader moves to correctits position and orientation, also forcing the whole team to move in formation. The combination of these twocontrollers will allow the future implementation of a hybrid cooperation strategy, joining a decentralized (visual-servo control) and a centralized (the formation control) approaches. Some experiments were done, so the systemperformance could be analyzed.

Keywords— Visual-servo control, formation control, hybrid cooperation strategy.

Resumo— Este trabalho aborda a implementacao de um controle servo-visual que comanda o movimento deum robo de acordo com um objeto de interesse. O robo em questao e o lıder de uma equipe de robos que semantem em formacao por meio de um outro controlador nao linear, centralizado e estavel. Desta maneira, quandoo objeto se deslocar, o lıder, por meio do controle servo-visual, tambem ira se movimentar, mantendo sempre asmesmas posicao e orientacao iniciais em relacao ao objeto. Paralelo a isso, a equipe de robos seguidores tambemse movimenta, mantendo a formacao junto ao seu lıder. Esse esquema tem por objetivo preparar a adocao deuma estrategia de cooperacao mista. Por fim, testes foram realizados de maneira a validar o funcionamento dosistema.

Palavras-chave— Controle servo-visual, controle de formacao, estrategia de cooperacao mista.

1 Introducao

Devido ao avanco tecnologico dos ultimos anos,o homem tem buscado cada vez mais desenvol-ver maquinas e sistemas capazes de realizar suastarefas. Estas variam de atividades repetitivas,que exigem um alto grau de acerto, a atividadesque apresentam risco ao ser humano. Os robostem sido cada vez mais empregados para reali-zar tais tarefas (Mark W. Spong, 2006). Entre-tanto, muitas vezes, a utilizacao de apenas umrobo nao e suficiente, sendo necessario ou acon-selhavel o emprego de uma equipe de robos. Em(Tamio Arai, 2002) e (Parker, 2003) sao apresen-tados e discutidos diversos topicos acerca de sis-temas multi-robos, suas vantagens e aplicacoes.

Em se tratando de equipe, o conceito de for-macao torna-se, na maioria das vezes, fundamen-tal para o sucesso da atividade realizada. O trans-porte de cargas e um exemplo de trabalho ondea manutencao da formacao e fundamental. Casouma equipe de robos saia da formacao durante otransporte de uma carga, esta pode ter seu pesomal distribuıdo e cair, causando o fracasso da ati-vidade. Alem de manter a formacao, uma equipede robos deve ser capaz de navegar pelo ambiente,aumentando sua area de atuacao e mantendo aseguranca da equipe.

Baseado nesse contexto, este trabalho visapermitir que o lıder de uma equipe de robos mo-veis, que possuem uma estrategia de controle deformacao centralizada, navegue pelo ambiente ba-

seado nos movimentos de um padrao colorido, pormeio de um controlador servo-visual. Enquantose move, seguindo o padrao, o lıder guia a suaequipe para um determinado local a fim de exe-cutar uma tarefa. Desta maneira, se o padrao foradaptado sobre um outro robo, o lıder da equipeseguira os movimentos deste robo. Isso permitirao desenvolvimento de uma estrategia de coopera-cao mista, onde o lıder da equipe de robos segueo padrao (outro robo) em um esquema de coope-racao descentralizado e ao mesmo tempo mantemos membros de sua equipe em formacao de formacentralizada.

2 Sistemas de Visao

No presente trabalho, serao empregadas imagensperspectiva e omnidirecional, ambas capturadaspelo mesmo sistema de visao. A primeira sera uti-lizada para realimentar o controlador servo-visuale a segunda para obter informacoes para o con-trole de formacao. Imagens perspectivas sao uteisquando se deseja uma representacao mais realistada cena, enquanto imagens omnidirecionais pro-porcionam a vantagem de um campo de visao de360.

A fim de evitar a utilizacao de um sistemaperspectivo e outro omnidirecional, optou-se porrealizar a retificacao da imagem omnidirecional,para obter, assim, uma imagem perspectiva livrede distorcoes. Desta forma, apenas um sistemade visao omnidirecional catadioptrico formado por

Page 2: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

uma camera e um espelho hiperbolico foi empre-gado, permitindo que uma camera perspectiva vir-tual fosse idealizada sobre o foco do espelho hi-perbolico. O processo de retificacao utilizado foiproposto por (Junior, 2002), levemente corrigidoe implementado em (Vale, 2009).

3 Controle Servo-Visual

O controlador servo-visual utiliza a variacao dascoordenadas, na imagem, dos vertices de um pa-drao retangular localizado no mundo, para gerarsinais de controle para um robo. A primeira ima-gem capturada do padrao e utilizada para definiras coordenadas de referencia usadas para compa-racao com as demais imagens capturadas poste-riormente durante o movimento do robo. Dessaforma, o robo tentara manter sempre as mesmasdistancia e orientacao, em relacao ao retangulo lo-calizado no mundo, que ele possuıa no momentoda captura da primeira imagem (Vassallo, 2004).

As Figuras 1(a) e 1(b) exibem dois casos quedefinirao o comportamento do robo, a partir domovimento dos vertices do retangulo na imagem.O retangulo verde e formado pelos vertices de re-ferencia, e o azul, pelos vertices da imagem cap-turada em um instante posterior.

(a) (b)

Figura 1: (a) Tendencia de movimento parafrente. (b) Movimento composto de translacao erotacao.

No caso expresso na Figura 1(a), o robo seaproximaria do retangulo localizado no mundo,tendo em vista que a imagem deste diminuiu emrelacao a referencia, ou seja, ele se afastou do robo.Na Figura 1(b), como o robo e de tracao diferen-cial, ele transladaria e rotacionaria de maneira avisualizar a imagem do retangulo azul da mesmaforma que o retangulo verde. As posicoes iniciale final do robo para o caso da Figura 1(b) podemser vistas na Figura 2.

Frente do Robô

Posição Inicial

Posição Final

Padrão Retangular

d

d

Figura 2: Posicao inicial e final do robo para a mo-vimento do retangulo, na imagem, da Figura 1(b).

Os demais deslocamentos possıveis para orobo sao gerados por movimentos opostos aos dasFiguras 1(a) e 1(b) ou pela combinacao destes.

Conhecidos os comportamentos desejados dorobo, pode-se estabelecer as leis de controle. Con-sidere os referenciais adotados para o robo e paraa camera na Figura 3.

X

ZY

Robô

Câmera

Figura 3: Referenciais do robo e da camera.

Dado um movimento generico do robo comvelocidades linear e angular iguais a T (Tx, Ty, Tz)e Ω(ωx, ωy, ωz), o movimento de um ponto P comrelacao ao robo, expresso no referencial do robo, edado pelas Equacoes 1 e 2.

P = −T − Ω× P (1) X

Y

Z

=

−Tx − ωyZ + ωzY−Ty − ωzX + ωxZ−Tz − ωxY + ωyX

(2)

Considerando o ponto P projetado perspecti-vamente sobre o plano da imagem, conforme mos-tra a Figura 4, tem-se as expressoes da Equacao 3.

Z c

Y c

X c

z

x

P X ,Y , Z

C

c

p x , y

Figura 4: Projecao de um ponto P no plano daimagem.

x =X

Y, z =

Z

Y(3)

Derivando as expressoes da Equacao 3,obtem-se as expressoes da Equacao 4. Essasexpressoes relacionam a variacao da posicao doponto na imagem com seu movimento no mundo.

x =XY −XY

Y 2, z =

ZY − ZYY 2

(4)

Como o robo deste trabalho possui plataformadiferencial, ele possui apenas dois graus de liber-dade, ou seja, velocidades de translacao na dire-cao Y (Ty) e de rotacao em torno do eixo Z (ωz).Logo, por meio das Equacoes 1, 2 e das expres-soes da Equacao 4, pode-se obter a velocidade do

Page 3: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

robo dado o movimento de um ponto na imagem,conforme exibido na Equacao 5.[

xz

]=

[xY

1 + x2

zY

xz

] [Tyωz

](5)

A matriz que se encontra logo apos a igual-dade e um Jacobiano. Dado que os quatro verti-ces do retangulo serao utilizados como entrada docontrolador, pode-se compor um Jacobiano esten-dido, conforme mostra a Equacao 6.

P8×1 = J8×2

[Tyωz

]com

P8×1 =[x1 z1 ... x4 z4

]Te (6)

J8×2 =

[ x1Y1

z1Y1

... x4Y4

z4Y4

1 + x21 x1z1 ... 1 + x2

4 x4z4

]T

Isolando a matriz de velocidades do robo esubstituindo a matriz da velocidade dos verticespela matriz da variacao de suas coordenadas, acada imagem, em relacao a posicao de referen-cia, pode-se obter a velocidade do robo conformea Equacao 7.[

Tyωz

]= C2×8 E8×1 com

E8×1 =

x1r − x1

z1r − z1...

x4r − x4

z4r − z4

T

e (7)

C2×8 = (JTJ)−1JT

onde C e a pseudo-inversa do Jacobiano.Tanto C quanto J dependem da distancia Yi

de cada vertice i no espaco 3D. Estes valores de-veriam ser estimados, porem, isto nao e possıvelquando se trabalha sem qualquer conhecimentoprevio sobre a cena e com apenas uma imagem.Desse modo, conforme em (Espiau et al., 1992),a estrategia adotada e considerar que os verti-ces do retangulo se encontram a mesma profun-didade constante na cena, Yi = Yc. Sendo assim,conforme (Espiau et al., 1992), a convergencia docontrole e garantida na vizinhanca da posicao dereferencia Yc pretendida.

E importante mencionar que os parametrosintrınsecos da camera perspectiva devem ser con-siderados nas coordenadas dos vertices, antes depassa-los como entrada para o controlador servo-visual.

4 Controle de Formacao

O controle de formacao empregado neste trabalho,baseado em (Gava, 2007), possui dois modulos: ocontrolador de formacao e de compensacao. Oprimeiro e responsavel por levar o robo seguidorate a posicao desejada, considerando o robo lıder

parado. O segundo modulo se preocupa em com-pensar as velocidades linear e angular do lıder noscomandos de velocidade gerados pelo controladorde formacao.

Considere o vetor de parametros de formacaoρ(ξ), onde ξ e o vetor de posicoes dos n robos se-guidores existentes, conforme mostra a Equacao 8.

ξ =(ξ1 ξ2 . . . ξi

)T(8)

onde ξi = (xi, yi) e a posicao do i-esimo segui-dor no referencial fixado sobre o lıder da equipe.Derivando ρ(ξ) em relacao ao tempo, obtem-se aEquacao 9.

ρ = J(ξ)ξ (9)

Como o vetor de parametros de formacao foiescolhido igual a posicao dos seguidores, ρ(ξ) = ξ,o Jacobiano da Equacao 9 torna-se uma matrizidentidade. Logo, por meio da Equacao 9, pode-se definir a lei de controle dada na Equacao 10.

ξfr = ρd + fρ(ρ) com ρ = ρd − ρ (10)

onde ρ e o vetor erros de formacao, ρd e o ve-tor com parametros de formacao desejados e ρ eo vetor com os parametros de formacao atuais. Afuncao fρ(ρ) e a saturacao sobre o erro de forma-cao utilizada em (Gava, 2007).

A velocidade ξfr e gerada pelo controlador deformacao com o objetivo de levar os seguidores aformacao desejada. As velocidades linear (ξl) eangular (ξω) do lıder sao adicionadas a velocidadeξfr pelo modulo de compensacao (Equacao 11).

ξr = ξfr + ξl + ξω (11)

A Figura 5 exibe um dos casos da compensa-cao do comando de velocidade ξfr. Por simplici-dade, o seguidor ja se encontra em formacao.

v ii

ri

r

y i

x iv

Líder

SeguidorCentro de Rotação

y

x

Figura 5: Compensacao das velocidades linear eangular do lıder, nos comandos de velocidade ge-rados para o seguidor.

Como as velocidades v e ω do lıder sao conhe-cidas, pode-se encontrar, por meio da Equacao 12,o raio de sua trajetoria (r) e o da trajetoria de seuseguidor (ri). Assim, obtem-se as compensacoesda Equacao 11 por meio das Equacoes 13 - 15.

r =v

ωe ri =

√(r + xi)2 + (yi)2 (12)

φi = arctan

(yi

r + xi

)e vi = ωri (13)

vix = |vi| cos(φi +

π

2

)(14)

viy = |vi| sen(φi +

π

2

)(15)

Page 4: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

Apos obtidas as compensacoes, os comandosde velocidades que devem ser enviados aos segui-dores sao obtidos pelas Equacoes 16 e 17.

ξci = ‖ξri‖ cos (α) (16)

ωci = ˙αri + fα(αi) + ω (17)

onde ‖ξri‖ e a norma da velocidade desejada parao seguidor, ˙αri e a variacao de sua orientacao notempo, αi = αri − αi e seu erro angular e αi esua orientacao atual. A funcao fα(αi) e a sa-turacao sobre o erro de orientacao utilizada em(Gava, 2007). Maiores detalhes do controle de for-macao, assim como a prova da estabilidade podemser vistas em (Gava, 2007).

5 Processamento de Imagens

O processamento de imagens tem por objetivoprover as informacoes necessarias para realimen-tar os controles servo-visual e de formacao. Paraisso, foi utilizada a funcao CAMSHIFT (Continu-ously Adaptive Mean-Shift), disponibilizada pelaOpenCV (Intel R©Open Source Computer VisionLibrary) (Bradski and Kaehler, 2008). Esta fun-cao e capaz de realizar o rastreamento de um ob-jeto, baseado em seu histograma e sua localizacaoinicial.

Como o controlador servo-visual e realimen-tado com as posicoes na imagem dos vertices deum retangulo localizado no mundo, uma forma deconseguir a imagem desses vertices e utilizar o pa-drao com marcas laranja da Figura 6(a).

(a) (b)

Figura 6: (a)Padrao com marcas coloridas utili-zado. (b) Rastreamento das marcas coloridas re-alizado pela CAMSHIFT.

A Figura 6(b) exibe uma imagem perspectivaobtida por meio do processo de retificacao da ima-gem omnidirecional e mostra o processo de ras-treamento das marcas. Desta forma, o centro decada marca pode ser obtido mesmo que o padraose mova. Como esses centros sao imagens dos ver-tices de um retangulo, pode-se, entao, realimentaro controlador servo-visual.

Ja para o controle de formacao, o processa-mento de imagens e utilizado para obter, a par-tir de uma imagem omnidirecional, a postura dosseguidores em relacao ao lıder, ou seja, sua posi-cao e orientacao. Atribuindo a cada seguidor umacor, pode-se obter o histograma de cada robo e a

regiao onde ele inicialmente se encontra na ima-gem. Em seguida, utilizando essas informacoes naCAMSHIFT, pode-se realizar o rastreamento doseguidor, conforme mostra a Figura 7.

Figura 7: Processo de rastreamento do seguidor.

Sendo assim, pode-se obter a posicao de cadaseguidor na imagem. Com o auxılio de uma fun-cao polinomial, converte-se as coordenadas da po-sicao na imagem para o referencial fixado sobre olıder, eliminando as distorcoes impostas pelo es-pelho hiperbolico. Utilizando essas posicoes noreferencial do robo, pode-se estimar a orientacaode cada seguidor. A atualizacao da postura do se-guidor nao e realizada a todo momento, mas simapos ele realizar um deslocamento mınimo. Issodiminui o ruıdo presente nas medidas de posicaoe orientacao. O metodo utilizado para se estimara orientacao do seguidor tambem esta detalhadoem (Gava, 2007).

6 Resultados Experimentais

Para a realizacao dos experimentos foram utiliza-dos um robo Pioneer-2DX, escolhido como lıderda equipe e dotado de um sistema de visao omni-direcional, e um robo seguidor, conforme mostraa Figura 8. Alem disso, um padrao colorido comoo da Figura 6(a) foi empregado para realizacao docontrole servo-visual.

O primeiro experimento avalia o desempenhodo controlador servo-visual quando aplicado ape-nas ao lıder da equipe, sem que o controle de for-macao esteja atuando. Em seguida, e avaliado odesempenho do controle de formacao quando o lı-der da equipe segue o padrao, utilizando o controleservo-visual.

6.1 Experimento 1

A Figura 9 exibe os resultados obtidos no Expe-rimento 1. A posicao inicial do Pioneer foi es-colhida sobre a origem do referencial absoluto domundo. Neste experimento, o padrao colorido foiafastado do Pioneer de maneira que este se movi-mentasse para frente aproximando-se do padrao,ou seja, mantendo as mesmas distancia e orien-tacao inicial em relacao ao padrao. As oscilacoesnos graficos de posicao e orientacao sao resultado

Page 5: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

(a) (b)

Figura 8: (a)Pioneer e sistema omnidirecional. (b)Robo seguidor .

0 50 100 150−0.25

−0.2

−0.15

−0.1

−0.05

0

0.05

0.1Erro de Posição do Pioneer em Relaçao ao Padrão

Tempo (s)

Pos

ição

(m

)

(a)

0 20 40 60 80 100 120 140−40

−30

−20

−10

0

10

20

30

40 Erro de Orientação do Pioneer em Relação ao Padrão

Tempo (s)

Err

o de

Orie

ntaç

ão (

Gra

us)

(b)

0 1 2 3 4 5 6

−1

0

1

2

3

Trajetória do Pioneer

Posições Absolutas x (m)

Pos

içõe

s A

bsol

utas

y (

m)

Traj. PioneerPadrão com Marcas LaranjaDistância entre o Pioneer e o Padrão

(c)

Figura 9: (a) Erro de posicao do Pioneer em rela-cao ao Padrao (b) Erro de Orientacao do Pioneerem relacao ao Padrao (c) Trajetoria descrita peloPioneer.

da inercia do Pioneer, que tarda em responder aosmovimentos do padrao. Apesar das oscilacoes, oerro de posicao final ficou abaixo de 0.05 m e o deorientacao em torno de 10. A posicao e orienta-cao do padrao, nos graficos da Figura 9(c), foramobtidas por meio de tecnicas de reconstrucao 3D.

6.2 Experimento 2

A Figura 10 exibe os resultados obtidos no se-gundo experimento. A posicao inicial do seguidorfoi estimada em x = −0.45 m e y = 0.39 m em re-lacao ao referencial absoluto. A orientacao inicialdo seguidor em relacao ao referencial fixo sobreo lıder foi estimada em α0 = 89. A formacaodesejada para o seguidor foi x = (xP − 0.30) me y = (yP + 0.50) m, onde xP e yP sao as co-ordenadas do robo lıder expressas no referencialabsoluto. Assim como no Experimento 1, o pa-drao foi afastado do Pioneer de maneira que esteultimo se movimentasse em direcao ao primeiro.

0 50 100 150 200 250−0.15

−0.1

−0.05

0

0.05

0.1

0.15

0.2Erro de Posição do Seguidor

Tempo (s)

Pos

ição

(m

)

Erro em xErro em y

(a)

0 50 100 150 200 25040

60

80

100

120

140Orientação do Seguidor

Tempo (s)

Orie

ntaç

ão (

Gra

us)

(b)

0 1 2 3 4 5−4

−3.5

−3

−2.5

−2

−1.5

−1

−0.5

0

0.5

Trajetórias

Posições Absolutas x (m)

Pos

içõe

s A

bsol

utas

y (

m)

Traj. Real Seg.Traj. PioneerTraj. Ideal Seg.Formação RealFormação Desejada

(c)

Figura 10: (a) Erro de posicao do Seguidor (b)Orientacao do seguidor(c) Trajetoria descrita peloPioneer e pelo seguidor.

Por meio da Figura 10(a), observa-se que, du-rante o movimento, o erro de posicao do seguidorfoi menor que 0.10 m em x e menor que 0.15 mem y. Entretanto, ao final do movimento o errode posicao foi menor que 0.05 m. O alto erro ob-tido durante o movimento da equipe e devido aconsideracao que as velocidades v e ω que o lı-der recebe do controle servo-visual sao instanta-neamente aplicadas, desconsiderando a inercia re-lativa ao lıder. Essa consideracao e feita pois a

Page 6: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

leitura de odometria do Pioneer-2DX e bastanteruidosa e, portanto, nao e utilizada. Desta forma,este resultado pode melhorar significativamentequando se adicionar ao sistema uma melhor es-timativa das velocidades do robo lıder.

O grafico da Figura 10(b) mostra que o segui-dor inicia o experimento desalinhado com o lıder,porem, durante o movimento, sua orientacao variaem torno de 90 em relacao ao referencial fixo so-bre o lıder. No final do movimento, quando o lıderpara, o seguidor busca sua formacao ideal e per-manece com a orientacao com a qual chegou a estaformacao. A Figura 10(c) mostra que o seguidorexecutou a trajetoria de maneira adequada.

A Figura 11 exibe o erro de posicao da imagemdos vertices do retangulo em relacao a referencia.Pode-se perceber que este erro tendeu a um va-lor proximo de zero, garantindo que o robo lıdermantivesse a posicao e orientacao em relacao aopadrao proximos aos valores iniciais.

0 50 100 150 200 250−60

−50

−40

−30

−20

−10

0

10

20Erro de Posição do Vértice 1

Tempo (s)

Pos

ição

(P

ixei

s)

Erro em xErro em z

(a)

0 50 100 150 200 250−50

−40

−30

−20

−10

0

10

20Erro de Posição do Vértice 2

Tempo (s)

Pos

ição

(P

ixei

s)

Erro em xErro em z

(b)

0 50 100 150 200 250−50

−40

−30

−20

−10

0

10

20Erro de Posição do Vértice 3

Tempo (s)

Pos

ição

(P

ixei

s)

Erro em xErro em z

(c)

0 50 100 150 200 250−50

−40

−30

−20

−10

0

10

20Erro de Posição do Vértice 4

Tempo (s)

Pos

ição

(P

ixei

s)

Erro em xErro em z

(d)

Figura 11: (a) Erro de Posicao do vertice 1 (b)Erro de Posicao do vertice 2 (c) Erro de Posicaodo vertice 3 (d) Erro de Posicao do vertice 4

7 Consideracoes Finais

Este trabalho apresentou a implementacao de umcontrolador servo-visual aplicado a um lıder deuma equipe de robos, de maneira que este sejacapaz de navegar pelo ambiente guiado pelos mo-vimentos de um padrao colorido. Alem disso, en-quanto se movimenta, o lıder mantem seu segui-dor em formacao. Isso prepara a adocao de umaestrategia de cooperacao mista, onde o padrao se-ria adaptado a um robo capaz de navegar peloambiente, por exemplo, desviando de obstaculos.Assim o lıder da equipe de seguidores manteriaum esquema de cooperacao descentralizada com orobo possuidor do padrao colorido, enquanto guia

sua equipe em formacao atraves de um esquemacentralizado. Por enquanto, o padrao colorido foimovimentado de maneira manual e sua adaptacaosobre um robo e deixado como trabalho futuro.Por fim, testes foram realizados e resultados pro-missores foram obtidos. Entretanto, o fato de naose possuir uma leitura de odometria confiavel, cer-tamente influenciou na nao obtencao de menoreserros de posicao e orientacao. Portanto, a uti-lizacao de encoders, com medidas confiaveis quepermitam uma melhor estimativa de velocidades,e encorajada.

Agradecimentos

Os autores gostariam de agradecer FAPES (Fun-dacao de Apoio Ciencia e Tecnologia do EspıritoSanto) pelo suporte financeiro atraves do projeto38425052/2007.

Referencias

Bradski, G. and Kaehler, A. (2008). LearningOpenCV, 1 edn, O’Reilly Media, Inc., Sebas-topol.

Espiau, B., Chaumette, F. and Rives, P. (1992). Anew approach to visual servoing in robotics,IEEE Transactions on Robtics and Automa-tion 8(3): 313–326.

Gava, C. C. (2007). Controle de formacao derobos moveis baseado em visao omnidirecio-nal, Master’s thesis, Universidade Federal doEspırito Santo - UFES.

Junior, V. G. (2002). Sistema de visao omnidire-cional aplicado no controle de robos moveis,Master’s thesis, Escola Politecnica da Univer-sidade de Sao Paulo.

Mark W. Spong, Seth Hutchinson, M. V. (2006).Robot Modeling and Control, Wiley, John &Sons, Inc.

Parker, L. E. (2003). Current research in multiro-bot systems, Artif Life Robotics .

Tamio Arai, Enrico Pagello, L. E. P. (2002). Guesteditorial - advances in multirobot systems,IEEE Transactions on Robtics and Automa-tion 18(5): 655–661.

Vale, I. M. (2009). Sistema de visao estereo hı-brido com recuperacao da posicao relativa en-tre as cameras. Projeto de Graduacao, Uni-versidade Federal do Espırito Santo.

Vassallo, R. F. (2004). Uso de mapeamen-tos visuomotores com imagens omnidirecio-nais para aprendizagem por imitacao robo-tica, PhD thesis, Universidade Federal do Es-pırito Santo.

Page 7: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

UM ESQUEMA DE CONTROLE MULTICAMADAS APLICADO A UMAFORMACAO MULTIRROBOS COM DESVIO DE OBSTACULOS

Vinicius Thiago Lecco Rampinelli∗, Alexandre Santos Brandao∗,Mario Sarcinelli Filho∗, Felipe Nascimento Martins†, Ricardo Carelli‡

∗Universidade Federal do Espırito Santo, Vitoria, ES, Brasil†Engenharia de Automacao e Controle, UCL - Faculdade do Centro Leste, Brasil

‡Universidad Nacional de San Juan, Instituto de Automatica, San Juan, Argentina

Emails: [email protected], [email protected], [email protected],[email protected], [email protected]

Abstract— This paper presents a multi-layer scheme to control a formation of n mobile robots, including astrategy for obstacle avoidance. The controller adopted is able to guide the robots to track the desired trajectory,avoiding obstacles during the navigation. Stability analysis performed for the closed-loop system shows thatthe formation errors are ultimately bounded. Finally, simulation results for a group of four unicycle-like mobilerobots are presented, showing the viability of using the proposed scheme to guarantee a safe navigation of theformation.

Keywords— Centralized Formation Control, Obstacle Avoidance, Multi-Layer Control Scheme.

Resumo— Este artigo apresenta um esquema de controle multicamadas para controlar uma formacao de nrobos moveis, incluindo uma estrategia de desvio de obstaculos. O controlador utilizado e capaz de conduzir osrobos no seguimento da trajetoria desejada, evitando obstaculos durante a navegacao. A analise de estabilidaderealizada para o sistema em malha fechada mostra que os erros de formacao sao finalmente limitados. Finalmente,resultados de simulacao para um grupo de quatro robos sao apresentados, demonstrando a viabilidade do esquemaproposto para garantir uma navegacao segura para a formacao.

Keywords— Controle de Formacao Centralizado, Desvio de Obstaculos, Esquema Multicamadas.

1 Introducao

Na atualidade, o numero de pesquisadores ded-icados ao controle de sistemas multirrobos temcrescido, em boa parte devido a percepcao de que,para dadas tarefas, um grupo de robos e muitomais eficiente que um unico robo especializado. Otransporte de cargas, a busca e resgate de pessoasem escombros, o mapeamento de grandes areas,a busca e desarmamento de minas terrestres, ofutebol de robos e a exploracao espacial sao ex-emplos de tarefas que sao melhor executadas emcooperacao (Stilwell and Bishop, 2000; Sisto andGu, 2006; De-La-Cruz and Carelli, 2006).

Em relacao ao controle de formacao, tresabordagens podem ser mencionadas: estruturaslıder-seguidor(es), metodo de estruturas virtuais emetodo baseado em comportamentos (Dong et al.,2006). Na primeira, o lıder (ente mais importante)e responsavel por guiar toda a formacao, leva-la a posicao desejada e ali permanecer. Porem,sua falha compromete o resultado final da tarefa(Chen and Wang, 2005; Shao et al., 2005). Naabordagem usando estruturas virtuais, a formacaocomo um todo e considerada o ente principal, oqual se desloca visando estabelecer uma figura ge-ometrica preestabelecida (Gava et al., 2007). Naultima abordagem, por sua vez, uma serie de com-portamentos (buscar alvo, evitar obstaculos, esta-belecer formacao, etc.) e definida para o pelotao,que analisa o estado atual do ambiente de nave-gacao, tira uma media ponderada dos sinais de

controle correspondentes a cada comportamento eenvia um sinal final a cada robo individualmente(Liu et al., 2006).

Quanto a estrategia de controle, esta podeser implementada de forma centralizada ou de-scentralizada. No primeiro caso, existe umaunidade centralizadora de informacao responsavelpor obter os dados correntes da formacao, analisaro estado atual da mesma e computar os sinais decontrole necessarios para cumprimento da tarefa(Liu et al., 2006). No outro caso, cada robo daformacao esta incumbido de se localizar, identi-ficar os demais membros da formacao e o estadodo ambiente de navegacao e, por si so, alcancar aposicao adequada para constituir a formacao, semque exista qualquer troca de informacao (Lawtonet al., 2003).

Apesar da abordagem de controle centralizadopossuir problemas intrınsecos, como a dificuldadeem se manter uma comunicacao entre os robos e aescalabilidade limitada, ela possui vantagens tec-nicas quando aplicada em controle de formacoescom formas geometricas definidas, e por isso existeinteresse significativo no seu uso. Por exemplo,em (Antonelli et al., 2008) e proposto um sistemacentralizado multirrobos destinado a realizar umatarefa de escolta, onde o ente escoltado se encon-tra no centroide de um polıgono de ordem n, quepossui em cada um dos seus vertices um robo daformacao. Outro caso em que a manutencao deuma certa forma geometrica durante a navegacao

Page 8: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

e importante e o caso de transporte de cargas, jaque a carga em si tem uma forma geometrica bemdefinida.

Na linha de pesquisa em controle centralizadode formacao, Mas et al. (2008) apresentam umaabordagem baseada em estruturas virtuais, de-nominada Cluster Space, cujo controle de posicao(ou de seguimento de trajetoria) e realizado so-bre o centroide da figura geometrica formada (umtriangulo, neste caso). Seguindo esta abordagem,este trabalho trata da problematica da escala-bilidade presente nos sistemas de controle cen-tralizado, especificamente no esquema de cont-role multicamadas proposto por Brandao et al.(2009) quando aplicado a um sistema multirrobos,com o desenvolvimento de uma tecnica que ex-plora as caracterısticas de generalizacao intrınse-cas ao referido trabalho. Adicionalmente, tam-bem e explorada a possibilidade de que a for-macao assim controlada desvie de obstaculos, con-siderando a possibilidade de sua deformacao mo-mentanea (elasticidade da formacao). Para tratardeste tema, a secao 2 descreve brevemente o es-quema de controle multicamadas, e a secao 3 ap-resenta o modelo cinematico de um robo moveltipo uniciclo e sua extensao para um sistema mul-tirrobos. Na sequencia, a secao 4 aborda as trans-formacoes cinematicas direta e inversa formacao-robos e o controle utilizado, enquanto a secao 5trata da metodologia pela qual a formacao podeevitar obstaculos presentes em sua trajetoria. Porfim, sao tambem apresentados resultados de sim-ulacao (secao 6) e algumas conclusoes (secao 7).

2 Esquema de Controle Multicamadas

Esta secao descreve brevemente o esquema mul-ticamadas utilizado para o controle de formacaomultirrobos (Figura 1), descrito em detalhes em(Brandao et al., 2009). Cada camada deste es-

Figura 1: Esquema de controle multicamadas.

quema trabalha como um modulo independente,e sua estrutura basica inclui a camada de cont-role, a camada dos robos e a camada correspon-dente ao ambiente de navegacao. Acima de taiscamadas existem duas camadas de planejamento,denominadas Planejamento Off-line e On-line. Aprimeira delas e responsavel pela determinacaodas condicoes iniciais, pela geracao da trajetoriaa ser seguida e pela definicao da estrutura daformacao, enquanto a outra e responsavel pelasmodificacoes de referencia durante a execucao datarefa, como, por exemplo, para evitar obstacu-los. A camada Controle e responsavel pelo enviodos sinais de controle aos robos da formacao, paraque estes alcancem as posicoes determinadas pelacamada de planejamento. A camada Robos repre-senta a formacao e, por fim, a camada Ambientede Navegacao representa os objetos ao redor daformacao e as interacoes intra-formacao. As var-iaveis presentes na Figura 1 sao explicadas nassecoes seguintes.

3 Modelo Cinematico do Robo Movel

O modelo cinematico do i-esimo robo e dado por

xi

yi

ψi

=

cosψi −ai sin ψi

sin ψi ai cosψi

0 1

[ui

ωi

], (1)

onde ui e ωi sao, respectivamente, as velocidadeslinear e angular, hi = [xi yi]T e o vetor com ascoordenadas do ponto de interesse, ψi e a orien-tacao e ai e a distancia perpendicular entre hi e oeixo virtual que une as rodas de tracao.

Considerando somente hi, a cinematica in-versa do robo movel tipo uniciclo e dada porvi = K−1

ri hi, onde vi = [ui ωi]T e

K−1ri =

[cos ψi sin ψi

− 1ai

sinψi1ai

cos ψi

], com ai > 0.

Por sua vez, para uma formacao de tres robos,

Kr =

Kr1 0 00 Kr2 00 0 Kr3

,

onde o subscrito numerico indica o i-esimo robo.E importante mencionar que a formacao podeser constituıda por robos que possuam modeloscinematicos distintos (formacao heterogenea), porexemplo uniciclo e car-like, o que e levado emconta por meio da alteracao adequada de Kri namatriz Kr.

4 Camada de Controle de Formacao

Esta secao apresenta as especificacoes fundamen-tais associadas a implementacao do controle deformacao centralizado do esquema multicamadaspara tres ou mais robos, implementacao esta quese da na camada Controle. As variaveis de es-tado utilizadas para representar a formacao sao

Page 9: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

Figura 2: Variaveis de formacao.

mostradas na Figura 2, conforme proposto em(Mas et al., 2008). A postura da formacao edefinida por PF = [xF yF ψF ], onde (xF , yF ) rep-resenta a posicao de seu centroide e ψF sua ori-entacao. Sua forma e dada por SF = [pF qF βF ],que representa, respectivamente, a distancia entreR1 e R2, a distancia entre R1 e R3 e o anguloR2R1R3. A formacao e controlada com base noreferencial global xy.

4.1 Transformacoes Cinematicas Direta e In-versa Formacao-Robos

A relacao entre as variaveis de formacao (pos-tura e forma) e a posicao hi dos robos que com-poem a formacao e expressa pelas transformacoescinematicas direta e inversa, ou seja, q = f(x)e x = f−1(q), onde q = [PF SF ]T e x =[h1

T h2T h3

T ]T . Note-se que a orientacao do robomovel nao esta sendo considerada nesta propostade controle.

A transformacao cinematica direta f(·), deacordo com a Figura 2, e dada por

PF =

x1 + x2 + x3

3y1 + y2 + y3

3

arctan23x1 − 1

3 (x2 + x3)23y1 − 1

3 (y2 + y3)

T

, (2)

SF =

√(x1 − x2)2 + (y1 − y2)2√(x1 − x3)2 + (y1 − y3)2

arccosp2

F + q2F − r2

F

2pF qF

T

, (3)

onde rF =√

(x2 − x3)2 + (y2 − y3)2 e a distanciaentre os robos R2 e R3.

Por sua vez, para a transformacao cinematicainversa f−1(·) duas representacoes podem ser con-sideradas, ao inves de uma unica. Essas duas rep-resentacoes dependem da disposicao (em sentidohorario ou anti-horario) dos robos que constituemo triangulo da formacao, e viabilizam a generaliza-cao do esquema multicamadas para n robos. Taldisposicao pode estar na sequencia R1R2R3 ou nasequencia R1R3R2, de agora em diante nomeadas

ABC e ACB, respectivamente. Neste sentido,portanto, x = f−1

ABC(q) e dada por

x =

xF + 23hF sin ψF

yF + 23hF cos ψF

xF + 23hF sin ψF − pF sin(α + ψF )

yF + 23hF cos ψF − pF cos(α + ψF )

xF + 23hF sin ψF + qF sin(βF − α− ψF )

yF + 23hF cos ψF − qF cos(βF − α− ψF )

, (4)

onde hF =√

12

(p2

F + q2F − 1

2r2F

)e a distan-

cia entre R1 e o ponto medio do seg-mento de reta R2R3, passando por(xF , yF ), rF =

√p2

F + q2F − 2pF qF cos(βF ) e

α = arccosp2

F + h2F − 1

4r2F

2pF hF. Por sua vez,

x = f−1ACB(q) e dada por

x =

xF + 23hF sin ψF

yF + 23hF cos ψF

xF + 23hF sin ψF + pF sin(α− ψF )

yF + 23hF cos ψF − pF cos(α− ψF )

xF + 23hF sin ψF − qF sin(βF − α + ψF )

yF + 23hF cos ψF − qF cos(βF − α + ψF )

. (5)

Tomando a derivada temporal das transfor-macoes cinematicas direta e inversa, obtem-se arelacao de velocidades entre x e q, representadapela matriz Jacobiana, a qual e dada por q =J(x)x no sentido direto, e por x = J−1(q)q nosentido inverso, onde

J(x) =∂qn×1

∂xm×1e J−1(q) =

∂xm×1

∂qn×1,

para m,n = 1, 2, · · · , 6 (note-se que havera umamatriz Jacobiana inversa ABC e outra ACB).

4.2 Controle de Formacao

O diagrama de blocos da Figura 3 apresenta oesquema de controle adotado para uma formacaoem triangulo, ilustrada na Figura 2. A Camada deControle recebe da camada superior o valor dese-jado das variaveis de formacao qdes = [PFd SFd]T

e de sua derivada primeira qdes = [PFd SFd]T .Definindo o erro de formacao como q = qdes − q,a lei de controle de formacao proposta e

qref = qdes + κq, (6)

onde κ e uma matriz de ganhos diagonal positivadefinida. Considerando uma possıvel discrepanciaδv entre as variacoes das variaveis de formacaoreal e de referencia, isto e, q− qref = δv, entao aequacao de malha fechada pode ser escrita como

˙q + κq = −δv. (7)

Tomando a funcao candidata de LyapunovV = 1

2 qTq > 0, sua primeira derivada tempo-

ral e V = qT ˙q = −qTκq − qTδv. Ao assumir

Page 10: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

qdes+

κq

qdes

+ + + +qref

δv

J−1(q)q

K−1

r

xRobos

v 1

s

x

f(x)q

Figura 3: Diagrama de blocos do controle de formacao multicamadas.

um seguimento perfeito de velocidade (δv = 0),pode-se concluir que V < 0, ou seja, o equi-lıbrio e globalmente assintoticamente estavel, i.e.,q → 0 quando t → ∞. Por outro lado, seδv 6= 0, o equilıbrio sera atrativo seqTκq > |qTδv|. Uma condicao suficiente paraisto e ‖q‖ > ‖δv‖/λmin(κ), onde λmin(κ) rep-resenta o autovalor mınimo de κ. Isto significaque o erro de formacao q e finalmente limitado, eeste limite depende do erro de seguimento de ve-locidade da formacao δv (Brandao et al. (2009)mostram que δv pode ser reduzido com a inclusaode uma Camada de Compensacao Dinamica).

4.3 Controle de uma Formacao com n-Robos

A ideia de generalizacao aqui proposta se baseiana decomposicao de polıgonos em partes maissimples, no caso em triangulos. Tal tipo de de-composicao tem sido usada em reconhecimento depadroes, compressao de dados, processamento deimagens e modelagem de objetos, e e baseada noteorema detriangulacao de polıgonos, que enunciaque todo polıgono admite pelo menos uma trian-gulacao, i.e., qualquer triangulacao de um polı-gono simples (regular ou irregular) com n verticestem exatamente n− 2 triangulos.

Nesse sentido, esta subsecao propoe uma gen-eralizacao para o controle coordenado de n-robosutilizando-se a lei de controle proposta na Sub-secao 4.2, ao se aproveitar de tal propriedade ge-ometrica dos polıgonos e aplica-la a uma formacaomultirrobos, sem a necessidade de se realizar mod-ificacoes no projeto do controlador ja apresentadopara uma formacao com tres robos.

Tal proposta consiste, inicialmente, em rotu-lar os robos da formacao (Ri, para i = 1, · · · , n)e formar o triangulo base da formacao (R2R1R3

ou R3R1R2, atentando para a sequencia ABC ouACB). Em seguida, arma-se os demais trian-gulos, tomando os dois ultimos robos do ultimotriangulo formado e o robo subsequente (em out-ras palavras, RjRj+1Rj+2 ou Rj+2Rj+1Rj , ondej = 1, · · · , n − 2 representa a formacao tri-angular corrente). Adicionalmente, da secao 4.1tem-se que a cada formacao triangular sao asso-ciadas as variaveis de formacao desejadas SFj =[pFj qFj βFj ]. Assim, para uma formacao comn robos, ao se utilizar a proposta supracitada,o numero de variaveis de formacao passa a ser2(n − 2) + 1, e nao 3(n − 2), pois assume-se queSFj = [rFj−1 qFj βFj ].

Nas formacoes com mais de tres robos semprehavera redundancias nos sinais de controle. Porexemplo, os robos R2 e R3 em um agrupamentode quatro entes sempre receberao os sinais de con-trole resultantes dos erros das formacoes triangu-lares 1 e 2. Neste trabalho, entretanto, optou-se por enviar ao pelotao somente os sinais prove-nientes do triangulo de menor ordem; em outraspalavras, somente Rj+2 recebe os sinais de cont-role resultantes da formacao triangular j ≥ 2, en-quanto R1, R2 e R3 recebem os sinais gerados emj = 1. Neste sentido, uma possibilidade futura efazer uma fusao dos sinais de controle disponıveis,para gerar o sinal de controle final a ser enviado acada robo da formacao.

5 Desvio de Obstaculos Baseado emForcas Fictıcias

A estrategia de desvio de obstaculos foi desen-volvida visando preservar a estrutura de controlemulticamadas proposta por Brandao et al. (2009)e e baseada nos trabalhos de Hogan (1985), queaplica o conceito de impedancia mecanica paradesvio de obstaculos em robos manipuladores, eSecchi et al. (2003), que aplica o mesmo con-ceito para modificar a posicao do destino quandoum obstaculo aparece no caminho de um robomovel. A principal vantagem dessa estrategia eque cada robo da formacao corrige a sua trajetoriade forma independente dos demais. Como conse-quencia, a formacao comporta-se como uma estru-tura flexıvel na presenca de obstaculos, podendocontrair-se e/ou expandir-se. E importante men-cionar que a implementacao dessa estrategia supoeque a aplicacao permite o uso de uma formacaoflexıvel, por exemplo, inspecao de grandes areas.

A ideia principal e associar o movimento dorobo a forcas fictıcias que caracterizam a sua in-teracao com o entorno. Como qualquer obstaculodeve ser evitado, a interacao robo-ambiente edefinida por forcas de repulsao fictıcias dadas por

Ff = a− b(d− dmin)n, (8)

a qual depende de d, distancia do robo ao ob-staculo mais proximo; dmin, menor distancia aoobstaculo aceitavel para evitar uma colisao, e n,um numero inteiro positivo. Note-se que quantomaior a distancia d menor a forca Ff , e vice-versa.As constantes a e b em (8) correspondem a cali-bracao do sistema, e sao determinadas por

a− b(dmax − dmin)n = 0, (9)

Page 11: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

onde dmax e a maxima distancia robo-obstaculo,considerando que Ff = 0 se d ≥ dmax (como em(Secchi et al., 2003), assume-se que cada robo daformacao possui um sistema sensorial capaz de de-tectar a sua distancia aos obstaculos).

A fim de capacitar o sistema multirrobos amover-se em ambientes com multiplos obstaculos,cada robo considera a acao de duas forcas fictıciasno calculo da correcao de sua trajetoria (Figura 4).As variaveis dD e dE representam as medidas dedistancia mais proximas a direita e a esquerda dorobo, e estao associadas, respectivamente, as for-cas fictıcias FD e FE . Para a normalizacao dasforcas com dmin = 0, 3m e dmax = 1, 0m, os val-ores adotados foram a = 8 e n = 4.

A magnitude das correcoes associadas a FD

e FE sao calculadas por xCE= Z−1FD e xCD

=Z−1FE , onde Z representa a impedancia mecanicaque caracteriza a interacao robo-ambiente, consid-erada como Z = Is2 + Bs + K, sendo I, B e Kconstantes positivas que representam, respectiva-mente, os efeitos da inercia, do amortecimento eda constante elastica. Por fim, considerando aslimitacoes do movimento dos robos moveis tipouniciclo (restricoes nao-holonomicas) as correcoessao aplicadas perpendicularmente a trajetoria de-sejada. Assim, quando algum dos robos da for-macao detectar obstaculos a uma distancia menorque dmax, a sua trajetoria desejada sera modifi-cada por uma componente perpendicular, de mag-nitude e sentido dados pela resultante das cor-recoes xCE e xCD .

Figura 4: Obstaculos e forcas fictıcias.

6 Resultados de Simulacao

Esta secao apresenta os resultados de simulacaopara uma formacao de quatro robos movendo-seem um ambiente onde existem dois obstaculos composicoes desconhecidas. Mais especificamente, ocenario proposto representa um caso de estreita-mento do caminho livre da formacao. A simu-lacao foi realizada usando a plataforma MRSiM(Brandao et al., 2008), onde estao implementadoso modelo do robo movel Pioneer 2-DX da MobileRobots e o modelo do sensor laser LMS 200 daSICK (para a deteccao de obstaculos).

Os valores escolhidos para as constantes daimpedancia mecanica foram I = 10N.s2/rad, B =40N.s/rad e K = 5N/rad.

A Figura 5(a) mostra, da esquerda para a di-reita, a formacao inicial, as trajetorias executadaspor cada robo da formacao, e a formacao final(as trajetorias desejadas para os centroides dasformacoes triangulares um e dois foram definidascomo sendo paralelas ao eixo x).

E importante observar que os obstaculos (asparedes) obstruem as trajetorias desejadas dosrobos R2 e R3, em virtude disso, suas trajetoriasdeixam de ser paralelas ao eixo x e passam a ter aforma semelhante ao contorno dos obstaculos, ateque os mesmos sejam totalmente ultrapassados.Na sequencia, as trajetorias desejadas sao entaorestabelecidas, assim como a formacao. Tambeme importante observar que R4 comeca a descreveruma trajetoria diferente da desejada mesmo antesde detectar as paredes. Isso ocorreu em conse-quencia de R3, que, ao se desviar da parede a suaesquerda, aproximou-se de R4, e este, por sua vez,passou a identifica-lo como um obstaculo.

(a) Caminho percorrido pelo pelotao.

(b) Erro da Formacao R1R2R3

(c) Erro da Formacao R2R4R3

Figura 5: Caminho executado durante o desvio deobstaculos e os respectivos erros de formacao.

Page 12: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

Os erros de pose e forma da primeira e dasegunda formacao triangulares sao mostrados nasFiguras 5(b) e 5(c). Note-se que eles crescem du-rante o desvio de obstaculos, e tendem a zero aposos mesmos serem ultrapassados.

Uma segunda simulacao e apresentada naFigura 6. Esta exibe o caminho percorrido porum pelotao composto por cinco robos em um am-biente semi-estruturado contendo obstaculos. Oobjetivo desta simulacao e ilustrar as situacoesonde obstaculos podem fazer com que a formacaose expanda para envolve-los ou se contraia parapassar entre eles. A figura, portanto, enfatiza aestrategia de uma formacao flexıvel com desvio deobstaculos.

Figura 6: Caminho executado pela formacao du-rante o desvio de obstaculos.

7 Conclusoes

Este artigo apresenta uma generalizacao de um es-quema de controle multicamadas, proposto anteri-ormente para uma formacao de 3 robos, para umaformacao envolvendo n robos. Tambem e propostauma tecnica que modifica a forma da formacao afim de evitar obstaculos em sua trajetoria. Resul-tados de simulacao sao apresentados, permitindoconcluir que o esquema de controle proposto e efe-tivo, nao somente em termos de assegurar que osrobos alcancem a formacao desejada, mas tam-bem em termos de evitarem obstaculos enquantoseguem uma trajetoria especificada pelo usuario.Em trabalhos futuros pretende-se abordar o as-sunto da suscetibilidade do metodo de desvio deobstaculos a mınimos locais, o qual esta alem dosobjetivos do presente trabalho. A princıpio, essecaso pode ser tratado com a insercao de um super-visor no sistema de controle, a fim de monitoraralgumas situacoes de mınimo local, intervindo nosistema para permitir que a situacao se altere, per-mitindo a cada robo sair da eventual configuracaode mınimo local.

Agradecimentos

Os autores agradecem a FAPES - Fundacaode Apoio a Ciencia e Tecnologia do EspıritoSanto, pelo suporte dado a esta pesquisa, aCAPES/MEC e a SPU, Secretaria de PolıticasUniversitarias, da Argentina, pelo suporte dadoao convenio entre a Universidade Federal do Es-pırito Santo e a Universidad Nacional de San Juan(projeto 018/04 CAPG-BA), o qual inclui este tra-balho. Dr. Martins tambem agradece a UCL -Faculdade do Centro Leste.

Referencias

Antonelli, G., Arrichiello, F. and Chiaverini, S. (2008). TheEntrapment/Escorting Mission, Robotics & Automa-tion Magazine, IEEE 15(1): 22–29.

Brandao, A. S., Martins, F. N., Rampinelli, V. T. L.,Sarcinelli-Filho, M., Bastos-Filho, T. F. and Carelli,R. (2009). A multi-layer control scheme for multi-robot formations with adaptative dynamic compan-sation, Proceedings of the International Conferenceon Mechatronics (ICM’09), Malaga, Spain.

Brandao, A. S., Sarcinelli-Filho, M., Carelli, R. and Bastos-Filho, T. F. (2008). MRSiM: An environment for sim-ulating mobile robots navigation, Jornadas Argenti-nas de Robotica .

Chen, Y. Q. and Wang, Z. (2005). Formation control: areview and a new consideration, Proceedings of the2005 IEEE/RSJ International Conference on Intelli-gent Robots and Systems (IROS’05), IEEE, Edmon-ton, Canada, pp. 3181–3186.

De-La-Cruz, C. and Carelli, R. (2006). Dynamic modelingand centralized formation control of mobile robots,Proceedings of the 32nd Annual Conference of theIEEE Industrial Electronics Society (IECON 2006),IEEE, Paris, France, pp. 3880–3885.

Dong, W., Guo, Y. and Farrell, J. (2006). Formation con-trol of nonholonomic mobile robots, Proceedings of the2006 American Control Conference (ACC’06), IEEE,Minnesota, USA.

Gava, C., Vassallo, R., Roberti, F., Carelli, R. and Bastos-Filho, T. (2007). Nonlinear control techniques andomnidirectional vision for team formation on coop-erative robotics, Proceedings of the 2007 IEEE In-ternational Conference on Robotics and Automation(ICRA’07), IEEE, Roma, Italia, pp. 2409–2414.

Hogan, N. (1985). Impedance control: An approach tomanipulation, ASME Journal of Dynamic Systems,Measurement, and Control 107: 1–23.

Lawton, J. R. T., Beard, R. W. and Young, B. J.(2003). A decentralized approach to formation ma-neuvers, IEEE Transactions on Robotics and Au-tomation 19(6): 933–941.

Liu, B., Zhang, R. and Shi, C. (2006). Formation con-trol of multiple behavior-based robots, Proceedings ofthe International Conference on Computational In-telligence and Security (CIS’06), Vol. 1, Springer,Guangzhou, China, pp. 544–547.

Mas, I., Petrovic, O. and Kitts, C. (2008). Clusterspace specification and control of a 3-robot mobilesystem, Proceedings of the 2008 IEEE InternationalConference on Robotics and Automation (ICRA’08),pp. 3763–3768.

Secchi, H. A., Carelli, R. and Mut, V. A. (2003). An expe-rience on stable control of mobile robots, Latin Amer-ican Applied Research, Vol. 33, LAAR, Buenos Aires,Argentina, pp. 379–385.

Shao, J., Xie, G., Yu, J. and Wang, L. (2005). Leader-following formation control of multiple mobile robots,Proceedings of the 2005 IEEE International Sympo-sium on Intelligent Control (ISIC’05), IEEE, Limas-sol, Cyprus, pp. 808–813.

Sisto, M. and Gu, D. (2006). A fuzzy leader-followerapproach to formation control of multiple mobilerobots, Proceedings of the 2006 IEEE/RSJ, Interna-tional Conference on Intelligent Robots and Systems(IROS’06), IEEE, Beijin, China, pp. 2515–2520.

Stilwell, D. and Bishop, B. (2000). A strategy for con-trolling autonomous robot platoons, Proceedings ofthe 39th IEEE Conference on Decision and Control,Vol. 4, IEEE, Sydney, Australia, pp. 3483–3488.

Page 13: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

CONTROLE DE FORMACAO NAO LINEAR PARA A EXECUCAO DA TAREFACOOPERATIVA DE EMPURRAR UMA CARGA

Julio Storch Dalfior∗, Raquel Frizera Vassallo∗

∗Dpto. de Engenharia Eletrica, Universidade Federal do Espırito SantoAv. Fernando Ferrari 514

Vitoria, ES, Brasil

Emails: [email protected], [email protected]

Abstract— The main issue addressed in this work is multirobot formation control for cooperative load pushing.Specifically, the principal concern is how to achieve and maintain a formation of two or more inexpensive robotsto keep them in contact with the load and coordinate their movement in order to perform the task. Also a finalposition controller is implemented for defining the load motion towards a desired position. The presented resultsare encouraging and motivate the future steps.

Keywords— Cooperative load pushing, nonlinear control, computer vision

Resumo— O principal problema abordado nesse trabalho e o controle de formacao de um grupo de robos paraa execucao da tarefa cooperativa de empurrar uma carga. Especificamente, a maior preocupacao consiste emalcancar e manter uma formacao de dois ou mais robos para mante-los em contato com a carga e coordenar omovimento do grupo durante a realizacao da tarefa. Alem do controle de formacao, um controlador de posicaofinal e empregado para definir o movimento da carga ate o destino desejado. Os resultados aqui apresentadossao bastante interessantes e representam um boa motivacao em direcao aos trabalhos futuros.

Palavras-chave— Cooperacao de robos, controle nao-linear, visao computacional

1 Introducao

Ja se conhecem as vantagens que um sistemamulti-robos pode trazer. Em varias aplicacoespode-se notar facilmente o ganho que se obtem emtermos de eficiencia, confiabilidade e robustez, de-vido a redundancia de agentes mesmo que os robosutilizados nao sejam tao robustos ou confiaveis(Balch and Parker, 2002). Sao varias as aplica-coes recentes em sistemas multi-robos como mape-amento, exploracao, localizacao, sistemas reconfi-guraveis, redes de comunicacao, transporte de car-gas, arquiteturas de cooperacao centralizadas, de-centralizadas ou hıbridas, alem dos sistemas bio-inspirados (Tamio Arai, 2002; Parker, 2003).

Neste trabalho sera apresentado uma estrate-gia de cooperacao entre dois robos, extensıvel amais agentes, para a realizacao da tarefa de em-purrar uma carga. Para isso, e necessario que osrobos estejam em posicoes bem definidas em re-lacao a carga e se movimentem coordenadamentede forma a empurra-la em direcao ao destino.

Em (Gava, 2007) foi desenvolvido um controlede formacao para uma equipe de robos moveis, naqual um lıder comandava um grupo de robos sim-ples fazendo com que eles mantivessem uma for-macao durante o movimento. Substituindo-se orobo lıder pela carga, pode-se notar que esse con-trole resolve parte do problema proposto e, porisso, foi aproveitado para o desenvolvimento dasolucao. Alem disso, foi utilizado um controle deposicao final nao linear para se definir o movi-mento da carga ate o destino desejado.

Para levar os robos a uma formacao especı-fica e executar a tarefa de forma bem sucedida, o

controlador proposto necessita de infomacoes taiscomo os parametros de formacao, determinadospela forma da carga, e as posturas dos robos. Arealimentacao do controlador e feita por uma ca-mera perspectiva, montada no topo do ambientede trabalho, que fornece imagens de todos os robose da carga.

A seguir, na Secao 2 sera descrito o processa-mento de imagens empregado, enquanto na Secao3 e explicado o controlador implementado. Os ex-perimentos sao apresentados na Secao 4 e as con-sideracoes finais discutidas na Secao 5.

2 Processamento de Imagens eEstimativa de Postura

Cada um dos robos, assim como a carga, possuemduas etiquetas coloridas de forma que a combi-nacao das cores e unica. Assim, dado que asduas etiquetas coloridas de um determinado roboforam localizadas nas posicoes c1 = [x1 y1]T ec2 = [x2 y2]T , o seu centro e sua orientacao sao

c =c1 + c2

2, α = arctan

„y2 − y1x2 − x1

«. (1)

Assim, o problema de estimar as posturas passaa ser de estimar a posicao das etiquedas coloridasna imagem. Primeiramente ela e convertida parao formato HSV (Hue, Saturation, Value). Os trescanais sao comparados com os valores das coresusadas nos cartoes de forma a segmentar a imageme destacar as regioes de interesse. O algoritmo desegmentacao e bastante rapido, mas depende deuma calibracao das cores, que pode variar com ailuminacao.

Page 14: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

A imagem segmentada e usada como basepara o algoritmo mean-shift (Comaniciu andMeer, 2002) de forma a acompanhar o movimentodos cartoes ao longo do tempo. Com isso e possı-vel determinar as posicoes dos cartoes na imagem.A Figura 1 mostra os robos e a carga localizadosna imagem a partir de seus cartoes coloridos.

Figura 1: Robos e carga localizados na imagem.

Para deixar o controlador independente da ca-mera, as medidas foram convertidas de pıxeis parametros. Isso foi feito considerando que os robos e acarga se movem sobre um plano. Assim, sabendo-se os parametros que definem o plano bem comoos parametros da camera, obtidos atraves de umacalibracao, e possıvel estimar a posicao em me-tros de um cartao em um dado referencial nomundo. Alem disso, o efeito de distorcao radial foicorrigido segundo o modelo apresentado em (Maet al., 2003).

Dado um ponto na imagem de coordenadasp′ = [x′ y′]T , o ponto equivalente em relacaoa um referencial fixo no ambiente de trabalhoP0 = [X0 Y0 Z0]T pode ser obtido aplicando-seas equacoes abaixo:

pd =

»xdyd

–=

»fx 00 fy

–−1 »x′ − cxy′ − cy

–(2)

pn =

»xnyn

–= (1 + k1r

2 + k2r4)

»xdyd

–(3)

Z =d

pTe Ncom pe = [xn yn 1]T (4)

P = [X Y Z]T = Z[xn yn 1]T . (5)

P0 = R−1(P − T ). (6)

A Equacao 2 corrige as distorcoes lineares relacio-nadas ao modelo de projecao perspectiva (Bradskiand Kaehler, 2008), sendo (fx, fy, cx, cy) os para-metros intrınsecos da camera. A Equacao 3 cor-rige o efeito da distorcao radial segundo os pa-rametros (k1, k2). A Equacao 4 recupera a infor-macao de profundidade, supondo que o ponto per-tence ao plano definido pelo vetor normal N e peladistancia d, sendo pe o ponto pn em coordenadashomogeneas. A Equacao 5 recupera o ponto emrelacao ao referencial da camera. Por fim, atravesda Equacao 6 e obtido o ponto em relacao a umreferencial fixo no ambiente de trabalho.

Calculadas as posturas, aplica-se um filtro deKalman para melhorar a estimativa e obter as ve-locidades linear e angular dos robos e da carga.

3 Controlador

O controlador de formacao aqui implementado foibaseado em (Gava, 2007). O controlador origi-nal e aplicado a um grupo de robos e e divididoem duas partes. A primeira, chamada de controlede formacao, e responsavel por gerar as veloci-dades desejadas para robos seguidores, corrigindoseus erros de postura. A segunda, chamada decontrole de compensacao, leva em consideracao omovimento do robo lıder, complementando as ve-locidades desejadas para os seguidores.

A Figura 2(a) mostra o esquema do controla-dor de formacao. A partir das posturas dos robos,o controle de formacao gera os sinais para corrigiros erros de postura. Tendo como entrada as ve-locidades linear e angular do lıder, o controle decompensacao gera os sinais para considerar o mo-vimento do lıder. Os dois sinais sao somados paragerar as velocidades desejadas para os seguidores.

A Figura 2(b) mostra as alteracoes feitas nocontrolador de formacao para este trabalho. Aprincipal mudanca foi a adicao de um modulo,chamado controle de grupo, que gera as velocida-des linear e angular desejadas para a carga, umavez que nao ha um robo lıder neste caso. Estas ve-locidades servem como entrada para o controle decompensacao, adicionando aos sinais dos robos omovimento desejado para a carga. Essa modifica-cao e responsavel por fazer com que os robos em-purrem a carga. No caso do controlador originalos robos apenas a seguiriam, caso ela se movessedevido a alguma forca externa.

Controle deFormação

Controle deCompensação

Velocidadesdos líderes

Posturados robôs

Velocidadesdesejadas

(a)

Controle deGrupo

Posturado líder

Controle deFormação

Controle deCompensação

Postura dos robôs

Velocidadesdesejadas

(b)

Figura 2: Alteracoes no controle de formacao.

Um vetor que contenha todas as coordenadasdas posicoes dos robos pode ser escrito como

ξ =ˆξT1 ξT2 . . . ξTn

˜T, (7)

sendo ξTi = [xi, yi] as coordenadas do i-esimo robono referencial da carga.

O controlador para que os robos entrem emformacao, projetado em (Gava, 2007), e dado por:

ξfr = J−1(ξ)(ρd + fρ(ρ)) com ρ = ρd− ρ (8)

onde ρ(ξ), chamado de vetor de parametros deformacao, representa uma transformacao nas co-ordenadas. Como, neste trabalho, as posicoes

Page 15: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

sao obtidas em unidades metricas e no referencialda carga, nenhuma transformacao de coordena-das precisa ser aplicada, resultando em ρ(ξ) = ξ eJ−1(ξ) = I. Entretanto, para usar a mesma nota-cao que (Gava, 2007), o termo ρ(ξ) sera mantido.

Assim, ρ e o vetor de erros de formacao, ρd e ovetor com os parametros de formacao desejados eρ e o vetor com os parametros de formacao atuais.O vetor ρd representa a taxa de variacao temporaldos parametros desejados que, neste caso, e umvetor nulo.

O vetor ξfr representa as velocidades de for-macao de referencia, ou seja, as velocidades noreferencial da carga que os robos devem ter paraalcancar a formacao, enquanto que fρ(ρ) repre-senta uma funcao de saturacao sobre os erros deformacao1. Os robos tendem, entao, a se alinharcom os vetores velocidade gerados. Entretanto,nao se pode garantir que eles chegarao na forma-cao com uma orientacao especıfica.

O controle de formacao mostrado nao se pre-ocupa com a orientacao que os robos terao ao che-gar nas suas posicoes, como pode ser observadopela Equacao 8. Eles sempre tentam se orientarconforme o vetor velocidade de referencia que, porsua vez, tem a mesma direcao que o vetor erro deposicao (ρ). A Figura 3(a) mostra a trajetoria queum robo tende a desenvolver ao partir de uma po-sicao inicial ρ0 ate a sua posicao desejada ρd. Orobo tende a se mover seguindo a reta que liga osdois pontos. Como consequencia, ele pode chegarinclinado em relacao a carga. O comportamentoideal seria que os robos chegassem nas suas po-sicoes, ou seja, na carga, com um angulo de 90o

(perpendicular a carga).

(a)

(b)

Figura 3: Trajetorias do robo ao se aproximar dasua posicao desejada.

Para que os robos cheguem na carga com ori-entacao proxima a 90o, pode-se variar a posicaodesejada ρd de um robo da seguinte forma: inici-almente, toma-se uma posicao um pouco atras dacarga como sendo a desejada e, conforme ele se

1Mais detalhes em (Gava, 2007).

aproxima dela, desloca-se gradativamente a posi-cao desejada em direcao a carga, ate que o robochegue finalmente nela. Isso pode ser melhor en-tendido observando-se a Figura 3(b). Quando orobo esta longe ρd = ρ′d. Quando ele comeca ase aproximar da carga, ρd comeca a se deslocarem direcao a ρdf , o ponto final que se deseja queo robo alcance. Assim, a grosso modo, a trajeto-ria fica dividida em duas, sendo que na segunda,como somente a componente em y varia, o robotende a se orientar com angulo de 90o.

Esse comportamento pode ser descrito pelaequacao matematica

ρd = ρdf + δ, (9)

onde δ e responsavel pelo deslocamento de ρd emdirecao a ρdf , conforme o robo se aproxima dacarga, e e dado por

δj =

0,fρ(ρj),

para j = 1, 3, ..., n− 1para j = 2, 4, ..., n

, (10)

onde os termos ımpares de j sao relativos as coor-denadas em x, enquanto que os pares sao relativosas coordenadas em y. Dessa forma, a variacao seda apenas no eixo y, o que faz com que a orienta-cao do robo se aproxime de 90o. A funcao fρ(ρj),por sua vez, e dada por

fρ(ρj) = d(−0, 5− 0.5tanh(c(ρdfj − ρj))). (11)

A forma da funcao e mostrada na Figura 4. Ovalor de d define o valor maximo da funcao, ouseja, o valor de δj quando o robo j esta distanteda sua posicao desejada. Ja o valor de c define ainclinacao da funcao, o que permite controlar quaorapidamente δj tende a zero conforme o robo j seaproxima da sua posicao desejada.

0 0.1 0.2 0.3 0.4 0.5

-0.1

-0.08

-0.06

-0.04

-0.02

0

Erro de posição final (m)

Figura 4: Forma da funcao fρ(ρj) para d = 0, 1 ec = 20.

De acordo com a Figura 4, um determinadorobo se movera em direcao ao ponto localizado0, 1m atras da sua posicao desejada, pois o valorde δ sera 0, 1m. Quando ele estiver 0, 2m atrasdela, o valor de δ comecara a diminuir gradati-vamente ate 0, fazendo com que o robo se movaem direcao ao ponto desejado e com orientacaoproxima de 90o.

Uma vez que os robos estao nas suas posi-coes desejadas, e preciso entao determinar a forma

Page 16: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

como o grupo vai se movimentar de modo a le-var a carga ao seu destino. Isso pode ser feitoprojetando-se um controlador de posicao final dacarga. A lei de controle e definida pela equacao

Vcr = N(ρc)fρc(ρc), (12)

onde ρc representa o erro de posicao da cargano referencial atual da propria carga, ou seja, aposicao destino nesse referencial. A funcao fρc

(ρc)e uma saturacao sobre o erro de posicao, dada por

fρc(ρc) = diag

»kf

a+ ‖ρcj‖

–ρc, (13)

onde kf representa o valor de saturacao e a e talque kf

a e o ganho para erros pequenos. O objetivodessa funcao de saturacao e evitar que erros gran-des de posicao causem velocidades para o grupotambem muito elevadas, maiores do que os robosconseguem atingir.

O vetor N(ρc) tem como objetivo eliminar acomponente da velocidade no eixo y, caso ela sejanegativa. Isso impede que seja gerado um sinalpara que os robos puxem a carga para tras, o quee impossıvel nessa aplicacao. O vetor e dado por

N(ρc) =

»1 00 k

–com k =

0,1,

se ρcy < 0se ρcy = 0

(14)

onde ρcy e a componente em y do erro de posicaoda carga.

O movimento que o grupo e capaz de realizare limitado, nao sendo possıvel realizar Vcr dire-tamente. Assim, o movimento desejado pode serdescrito em termos de velocidades linear e angu-lar, calculadas pelas Equacoes 15 e 16

Vc = ‖Vcr‖cos(α)kef (ρ) (15)

ωc = fα(α)kef (ρ) (16)

onde α e a diferenca entre a orientacao desejadae a atual, ou seja, a orientacao do vetor Vcr menosπ2 . A Figura 5 mostra melhor o angulo α.

Figura 5: Angulos e vetores relacionados a deter-minacao das velocidades linear e angular do grupo.

A funcao kef (ρ) e a responsavel por fazer comque as velocidades desejadas para o grupo sejamnulas quando os erros de formacao sao grandes.Assim, somente se todos os robos estiverem emformacao, bem posicionados, e que podera haveralgum movimento no sentido de empurrar a carga.A funcao e definida como

kef (ρ) = 0, 5− 0, 5max(ρl)− d

b+ ‖max(ρl)− d‖(17)

com l = 2, 4, ..., n

sendo max(ρl) o maior dos elementos de ındicepar do vetor de erros de formacao, ou seja, doserros de formacao no eixo y. A forma da funcao emostrada na Figura 6. O valor de d determina oponto em que a funcao atinge 0, 5, enquanto queb controla a inclinacao.

0 0.1 0.2 0.3 0.4 0.50

0.2

0.4

0.6

0.8

1

Erro de formação máximo no eixo y (m)

Figura 6: Forma da funcao kef (ρ) para d = 0, 1 eb = 0, 001.

Ja a funcao fα(α) representa uma saturacaosobre o erro angular, sendo dada pela equacao

fα(α) =kwα

3

a+ ‖α3‖ . (18)

O valor kw e a saturacao da funcao, enquanto quea e tal que kw

a determina a sua inclinacao. Valeressaltar que para erros muito pequenos, a funcaoe praticamente nula. Isso e necessario para evitaroscilacoes quando o erro angular e pequeno.

O controle de grupo nada mais e do que umcontrole de posicao para a carga. Assim, ele cal-cula as velocidades linear e angular que ela deveter para que chegue ao destino. Entretanto, elanao e capaz de se mover sozinha e tem que serempurrada pelos robos. Nesse sentido, o controlede compensacao determina como eles devem semover para que a carga atinja as velocidades de-sejadas. As equacoes responsaveis por incorpo-rar o movimento desejado da carga ao movimentodos robos sao as mesmas que incorporam o movi-mento do robo lıder ao dos robos seguidores em(Gava, 2007). A Figura 7 mostra a geometria queajuda a entender as equacoes.

Figura 7: Geometria para a compensacao das ve-locidades linear e angular da carga.

Ao empurrar a carga, o robo e a propria cargadescrevem cırculos concentricos de raios ri e r,respectivamente. Eles sao dados pela Equacao 19.Os vetores vix e viy, dados pelas Equacoes 22 e23, sao as componentes da velocidade linear de

Page 17: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

compensacao do i-esimo robo (vi).

r =Vcωc, ri =

q(r + xi)2 + y2

i (19)

ϕ = arctan

„yi

r + xi

«(20)

vi = |ωcri| (21)

vix = |vi|cos“ϕi +

π

2

”(22)

viy = |vi|sen“ϕi +

π

2

”(23)

Considerando-se entao a compensacao decor-rente do movimento desejado para a carga, a ve-locidade de referencia do i-esimo robo e definidasegundo a Equacao 24.

ξri = ξfri + vi. (24)

Uma vez conhecidas as compensacoes a seremfeitas para alcancar a formacao e o movimento dacarga, os comandos que devem ser enviados ao i-esimo robo sao dados pelas Equacoes 25 e 26, jaque estes robos sao nao-holonomicos e nao podemrealizar ξri diretamente.

ξci = ‖ξri‖cos(αi) (25)

ωci = αri + fα(αi) + ωl (26)

onde αri e a variacao no tempo da orientacao do i-esimo robo. Portanto, αri e a orientacao desejada,enquanto que a atual e representada por αi. Logo,αi = αri − αi e o erro angular do i-esimo robo.

Como nos casos anteriores, a funcao fα(αi) euma saturacao sobre o erro angular. Ela e dadapela mesma equacao que no caso do controle degrupo (Equacao 18).

fα(αi) =kwα

3i

a+ ‖α3i ‖. (27)

4 Resultados Experimentais

Os experimentos foram realizados com dois robose uma caixa de papelao, utilizada como carga a serempurrada, alem de um computador com proces-sador Core 2 duo 1.8GHz onde o processamento deimagens e o controle foram executados. Os robospossuem plataforma diferencial e usam o micro-controlador MSP430F611 da Texas Instruments.A comunicacao entre o computador e os robos foifeita utilizando-se modulos ZigBee.

As figuras nesta secao mostram o movimentodescrito pelos robos e pela carga. As curvas azuisrepresentam as trajetorias realizadas pelos robos,enquanto que as verdes representam as posicoesdesejadas para eles. A curva vermelha descrevea trajetoria da carga e o triangulo cinza, cujosvertices sao a posicao da carga (seu centroide) eas posicoes desejadas para os robos em relacao aela, representa a carga num determinado instante.

Assim, a base do triangulo representa o lado dacarga que os robos devem empurrar.

Dois experimentos foram realizados para ana-lisar o desempenho da aproximacao dos robos atea carga. A Figura 8 mostra o resultado. Comoa carga nao se move, as curvas vermelhas e ver-des se tornam, na verdade, pontos. Pelas curvasazuis pode ser visto que os robos chegaram comorientacao proxima de 90o, como era desejado.

Posição desejada dos robôs

Robôs

Carga

0 0.1 0.2 0.3 0.4 0.5 0.6

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

Posição em x (m)

Pos

ição

em

y (

m)

(a)

Posição desejada dos robôs

Robôs

Carga

-0.2 0 0.2 0.4 0.6 0.8 1 1.2

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Posição em x (m)

Pos

ição

em

y (

m)

(b)

Figura 8: Trajetorias dos robos ate carga

Para testar o controle de grupo foram feitosquatro experimentos. As Figuras 9 e 10 mostramas trajetorias para os dois primeiros. Como podeser observado, em ambos os robos empurraram acarga ate a posicao destino. Alem disso, os er-ros de formacao foram pequenos, sendo que no se-gundo eles foram um pouco maiores no final (cercade 5cm). E importante que os erros de formacaonao sejam muito grandes, caso contrario um dosrobos pode deslizar em direcao a extremidade dacarga ate perder contato com ela.

Posição desejada dos robôs

Robôs

Carga

Destino

-0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Posição em x (m)

Pos

ição

em

y (

m)

Figura 9: Trajetorias do grupo: experimento 1.

As Figuras 11 e 12 mostram as trajetorias des-critas pelos robos e pela carga nos dois ultimos ex-perimentos, onde o sentido de movimento da cargafoi invertido em relacao aos dois primeiros. Nova-mente o ponto destino foi atingido. Entretanto,em ambos os testes os erros de formacao em xforam consideravelmente grandes, cerca de 10cm.Uma das hipoteses para tais erros e que o con-trolador de formacao e aplicado considerando-se

Page 18: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

Posição desejada dos robôs

Robôs

Carga

Destino

-0.4 -0.2 0 0.2 0.4 0.6 0.8 1

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Posição em x (m)

Pos

ição

em

y (

m)

Figura 10: Trajetorias do grupo: experimento 2.

os centros dos robos e nao as suas extremidades,as quais sao os pontos que realmente encostamna carga. Este topico sera um dos focos de tra-balhos futuros, com o intuito de se encontrar afonte do problema e aprimorar o controlador uti-lizado. Apesar disso, o resultado geral foi satisfa-torio, uma vez que a carga foi empurrada ate o seudestino com erros menores do que 2cm em todosos experimentos.

-0.5 0 0.5 1-0.5

0

0.5

1

Posição em x (m)

Pos

ição

em

y (

m)

Figura 11: Trajetorias do grupo: experimento 3.

-0.5 0 0.5 1

-0.5

0

0.5

1

Posição em x (m)

Pos

ição

em

y (

m)

Figura 12: Trajetorias do grupo: experimento 4.

5 Consideracoes Finais

Este trabalho apresenta uma estrategia para a co-operacao de um grupo de robos de maneira a em-purrar uma carga ate uma posicao destino. Isso eobtido usando como base um controlador de for-macao nao linear e estavel, cuja realimentacao vi-

sual se da atraves de uma camera perspectiva po-sicionada sobre os robos.

O controlador proposto utiliza um contraldorde formacao, para que os robos fiquem nas posi-coes ideais para empurrar a carga, um controladorde grupo, responsavel por gerar as velocidades de-sejadas para que o grupo chegue ao destino, e umcontrolador de compensacao, que adiciona as velo-cidades desejadas para a carga ao movimento dosrobos.

Os atuais resultados sao promissores. Nosproximos passos, mais experimentos serao realiza-dos para ajuste dos controladores. Futuramentepretende-se, tambem, realizar todo o processa-mento em um robo lıder. Assim, pode-se mon-tar sobre ele um sistema omnidirecional de formaa realimentar o controlador. Isso permitira queos robos empurrem a carga por uma longa dis-tancia, supervisionados e controlados pelo lıder.Atualmente, o ambiente por onde a carga podeser empurrada e limitado pelo alcance da cameraperspectiva fixa.

Agradecimentos

Os autores gostariam de agradecer a FAPES (Fun-dacao de Apoio a Ciencia e Tecnologia do EspıritoSanto) pelo apoio financeiro atraves do ProjetoNo. 38425025/2007.

Referencias

Balch, T. and Parker, L. E. (2002). Robot Teams:from Diversity to Polymorphism, A K PetersLtda.

Bradski, G. and Kaehler, A. (2008). LearningOpenCV: Computer Vision with the OpenCVLibrary, O’Reilly, Cambridge, MA.

Comaniciu, D. and Meer, P. (2002). Mean shift: Arobust approach toward feature space analy-sis, IEEE Transactions on Pattern Analysisand Machine Intelligence 24(5): 603–619.

Gava, C. C. (2007). Controle de formacao derobos moveis baseado em visao omnidirecio-nal, Master’s thesis, Universidade Federal doEspırito Santo - UFES.

Ma, Y., Soatto, S., Kosecka, J. and Sastry,S. S. (2003). An Invitation to 3-D Vi-sion: From Imagens to Geometric Models,Springer-Verlag, LLC, New York.

Parker, L. E. (2003). Current research in multiro-bot systems, Artif Life Robotics .

Tamio Arai, Enrico Pagello, L. E. P. (2002). Guesteditorial - advances in multirobot systems,IEEE Transactions on Robtics and Automa-tion 18(5): 655–661.

Page 19: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

LOCALIZACAO E MAPEAMENTO SIMULTANEOS EM ROBOTICA COOPERATIVACOM PLANEJAMENTO: UMA REVISAO

Vilar F. da Camara Neto∗, Mario F. M. Campos†

∗Fundacao Centro de Analise, Pesquisa e Inovacao Tecnologica (FUCAPI)Av. Gov. Danilo de Matos Areosa, 381 — CEP 69.075-351 — Distrito Industrial

Manaus, AM, Brasil†Universidade Federal de Minas Gerais (UFMG)

Av. Antonio Carlos, 6627 — CEP 31.270-010 — PampulhaBelo Horizonte, MG, Brasil

Emails: [email protected], [email protected]

Abstract— Simultaneous Localization and Mapping (SLAM) techniques have been created to allow a robot,while travelling in an unknown environment, to build a map of its surroundings while simultaneously estimatingits current pose. Although this problem has been extensively studied in the last two decades, little effort hasbeen given to the adaptation of SLAM to the context of Cooperative Robotics, which would potentially allow thedevelopment of more efficient, cost-effective, reliable and robust solutions.This article presents a survey on both Cooperative SLAM and SPLAM (Simultaneous Planning, Localizationand Mapping), discussing the limitations in the state-of-the-art approaches and identifying directions for futureadvancements in this research field.

Keywords— Localization, Mapping, Planning, SLAM, Cooperative Robotics.

Resumo— As tecnicas de Localizacao e Mapeamento Simultaneos (SLAM) surgiram para permitir que umrobo, deslocando-se em um ambiente desconhecido, seja capaz de construir uma representacao da geometria desseambiente, ao mesmo tempo em que estima a sua propria pose em relacao a esse mapa. Embora esse problematenha sido extensivamente estudado nas ultimas duas decadas, pouca enfase tem sido aplicada a adaptacao dessastecnicas ao contexto da Robotica Cooperativa, o que permitiria o desenvolvimento de solucoes potencialmentemais eficientes, baratas, confiaveis e robustas.O presente artigo apresenta uma revisao dos trabalhos publicados sobre SLAM cooperativo e SLAM complanejamento, discutindo as limitacoes do estado-da-arte e identificando direcoes a serem exploradas nessa area depesquisa.

Palavras-chave— Localizacao, Mapeamento, Planejamento, SLAM, Robotica Cooperativa.

1 Introducao

O estudo de Localizacao e Mapeamento Simulta-neos (Simultaneous Localization and Mapping, ouSLAM) teve como ponto de partida fundamentalo trabalho de Smith and Cheeseman (1986), quelancou as bases para o tratamento do problemasob o ponto de vista estocastico. Nas decadas se-guintes, o problema recebeu a atencao de variospesquisadores e foi amplamente estudado e adap-tado para o uso de diversas classes de sensores.Durrant-Whyte and Bailey (2006) e Bailey andDurrant-Whyte (2006) apresentam uma revisaoextensiva das tecnicas desenvolvidas para SLAM econsideram que os principais problemas relaciona-dos a representacao, computacao e associacao dedados foram essencialmente resolvidos.

O desenvolvimento de tecnicas de SLAM pros-seguiu durante muito tempo dissociado de quais-quer estrategias exploratorias, considerando-se im-plicitamente que a trajetoria dos veıculos e determi-nada por outros meios (teleoperacao por humanos,caminhamento aleatorio ou seguimento de paredes,por exemplo). Essa deficiencia e crıtica quandose considera o problema de SLAM no contexto daRobotica Cooperativa: neste caso, espera-se que asdecisoes acerca das acoes dos robos sejam autono-

mas, dinamicas e adaptativas, de modo a otimizaro custo e/ou o tempo de execucao da tarefa, proverredundancia e melhorar a qualidade dos resultadosobtidos.

A convergencia de SLAM, cooperacao e pla-nejamento e de interesse para diversas atividadeshumanas, desde as exploracoes arqueologicas e pa-leontologicas em regioes de difıcil acesso (caver-nas, ruınas, areas submersas, etc.) ate a explora-cao extraterrena. Essa convergencia tem ocorridoem duas frentes independentes: (i) Planejamento,Localizacao e Mapeamento Simultaneos (Simul-taneous Planning, Localization and Mapping, ouSPLAM) e (ii) Cooperative SLAM (C-SLAM). Esteartigo apresenta uma revisao dos trabalhos rele-vantes publicados nessas duas frentes, apresentaas restricoes presentes nas metodologias atuais ediscute possıveis direcoes futuras para tratar essaslimitacoes.

Este trabalho esta organizado da seguinte ma-neira: A Secao 2 apresenta uma revisao acerca dostrabalhos de SPLAM; a Secao 3 discute os traba-lhos na area de C-SLAM; e a Secao 4 apresentaalgumas notas conclusivas.

Page 20: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

LocalizaçãoMapeamento

Controle demovimento

I

IIIII

IV

Figura 1: Os campos da robotica exploratoria esuas intersecoes: (I) SLAM, (II) exploracao clas-sica, (III) localizacao ativa e (IV) SPLAM. (Adap-tado de Makarenko et al. (2002))

2 Planejamento, Localizacao eMapeamento Simultaneos (SPLAM)

Tanto o mapeamento quanto a localizacao sao as-suntos de interesse para a grande area de pes-quisas chamada de Robotica Exploratoria. Se-gundo Makarenko et al. (2002), essa area e com-posta por tres linhas principais (Figura 1): mape-amento, localizacao e controle de movimento (oucontrole de trajetoria), sendo essa ultima respon-savel pela tomada de decisoes sobre a trajetoriaque deve ser executada pelo veıculo para otimizaruma funcao-objetivo, como maximizar o ganho deinformacao ou minimizar o tempo gasto ou a dis-tancia percorrida. A intersecao entre as tres areasconstitui o SPLAM, tambem chamado de Adapta-tive Concurrent Mapping and Localization (Federet al., 1999), Integrated Exploration (Makarenkoet al., 2002) ou Active SLAM (Leung, Huang andDissanayake, 2006).

A dificuldade da integracao do aspecto explo-ratorio ao SLAM deve-se principalmente ao fatode que nao e possıvel planejar a trajetoria comantecedencia, ja que o proprio mapa do ambientee desconhecido (Huang et al., 2005). Portanto, aocontrario das tecnicas classicas de exploracao, ofoco do planejamento em SPLAM nao e buscar umasolucao eficiente para um horizonte extenso, masdesenvolver tecnicas adaptativas de baixo custocomputacional capazes de incorporar as informa-coes constantemente coletadas pelos sensores.

2.1 Estrategias para planejamento restrito a pro-xima acao

As abordagens pioneiras para o planejamento emSPLAM baseiam-se em escolher a proxima acao demovimento a ser aplicada sobre o veıculo de modoa maximizar alguma funcao-objetivo:

ut+1 = arg maxu

f(·), (1)

onde ut+1 representa o controle a ser aplicado aorobo no proximo instante. O primeiro trabalho a

descrever uma metodologia para o SPLAM foi apre-sentado por Feder et al. (1999), que apresentamum arcabouco estocastico para estimar o movi-mento a ser aplicado ao veıculo (e aos sensores, seesses forem moveis) com maior probabilidade demaximizar a informacao do sistema, ou:

ut+1 = arg maxu

Pt+1−1, (2)

onde Pt+1 e a matriz de covariancia do estado dosistema esperada para o instante t+1. Um aspectocrıtico desta proposicao e que ela nao privilegia aexploracao de areas desconhecidas: apenas tendea melhorar a qualidade da localizacao dos marcosja observados. Essa estrategia foi explicitamentecontestada por Bourgault et al. (2002), que propu-seram uma nova funcao-objetivo: enquanto Federet al. (1999) buscam a reducao geral da incertezado estado do sistema (Eq. (2)), neste trabalho osautores procuram maximizar uma funcao que en-globa dois objetivos distintos e contraditorios:

ut+1 = arg maxu

(wIUI + wLUL), (3)

onde UI e a utilidade do ganho de informacao (queprivilegia a exploracao de novas areas), UL e a uti-lidade da localizacao (que privilegia a qualidade dalocalizacao do veıculo) e w∗ sao pesos arbitrados deponderacao das funcoes de utilidade. Makarenkoet al. (2002) incluem na funcao-objetivo um ter-ceiro termo: a utilidade da navegacao, UN , que pe-naliza trajetorias longas. Assim, a funcao-objetivoe representada por:

ut+1 = arg maxu

(wIUI + wLUL + wNUN ). (4)

Um merito desse trabalho e levar explicitamenteem consideracao a otimizacao do custo de nave-gacao, importante em varias aplicacoes praticas.Em ambos os trabalhos, as funcoes-objetivo saocalculadas com base em um Mapa de Grade deOcupacao (Occupancy Grid Map, ou OGM), quedeve ser mantido paralelamente a estimativa deestados do sistema; em princıpio, essa abordagemlimita o algoritmo a ambientes internos e bidimensi-onais, ja que o OGM nao escala bem para cenariosexternos ou tridimensionais.

2.2 Estrategias para planejamento de um con-junto de acoes

Alguns pesquisadores criticam a estrategia de pla-nejamento restrita a uma unica acao, argumen-tando que o planejamento em horizontes maiorestraz resultados melhores do que os metodos gu-losos baseados na Eq. (1). Assim, a proposicaooriginal foi modificada para o planejamento de umconjunto de passos seguintes, ou:

ut+1, . . . ,ut+N = arg maxu

f(·), (5)

Page 21: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

onde N e o horizonte de predicao. Como nao epossıvel prever o ganho de informacao pelas obser-vacoes futuras ou mudancas da dimensao do estadodo sistema (observacao de novos marcos ou des-carte de marcos nao observaveis), uma suposicaorecorrente e que nao havera ganho de informacaodurante o tempo coberto pelo horizonte de predi-cao.

Huang et al. (2005) lancam as bases matema-ticas que provam que o uso de Model PredictiveControl (MPC) gera resultados melhores do que aaplicacao recursiva do planejamento guloso (one--step). A funcao-objetivo procura minimizar otraco da matriz final de covariancia:

ut+1, . . . ,ut+N = arg minu

tr(Pt+N ). (6)

(O uso do traco da matriz de covariancia como basede calculo e discutido na Secao 2.3.) Embora oplanejamento seja feito para os N passos seguintes,a trajetoria e replanejada a cada passo, a medidaque novos dados sao incorporados a estimacao doestado do sistema. O trabalho e posteriormente es-tendido por Leung, Huang, Kwok and Dissanayake(2006), que apresentam metodologias para otimizaro custo do MPC.

No entanto, o criterio de otimizacao apresen-tado na Eq. (6) possui a mesma limitacao inerenteao trabalho de Feder et al. (1999): a exploracao deareas desconhecidas nao e privilegiada. Uma solu-cao para este problema foi apresentada por Leung,Huang and Dissanayake (2006), onde uma maquinade estados determina o comportamento do veıculoentre tres alternativas: exploracao (navegacao paraareas inexploradas), melhoria da localizacao (na-vegacao para areas com marcos bem localizados)e melhoria do mapa (navegacao para areas commarcos mal localizados). Para nao modificar aimplementacao original do MPC, os autores intro-duziram o conceito de “atrator”, que consiste emum falso marco com alta covariancia posicionadoem locais estrategicos. A incerteza associada aoatrator eventualmente leva o MPC a tracar umatrajetoria as areas de interesse. Uma implemen-tacao pratica da metodologia e apresentada emLeung et al. (2008). Infelizmente esse trabalho ebastante restrito: o ambiente em questao e interno(indoor), bidimensional e fortemente estruturado(considera-se que a cena e suficientemente simplespara que possa ser representada por um conjuntode segmentos de reta). Os autores nao apresentamqualquer analise de custo computacional, portantonao e possıvel perceber se a metodologia e escalavelpara ambientes tridimensionais.

2.3 Analise teorica do ganho de informacao emSPLAM

A exploracao em SLAM ja foi tratada sob umponto de vista mais teorico, pela analise proba-bilıstica do ganho de informacao esperado com

diferentes estrategias de otimizacao. O artigo deSim and Roy (2005) foi o ponto de partida para al-guns trabalhos nessa area — que, por tratarem deum problema mais abstrato, relaxam o problemado SLAM em varios aspectos: consideram que onumero de marcos e conhecido a priori, a sua ob-servacao nao apresenta ambiguidades e o ambientee interno, bidimensional e nao possui obstaculos,permitindo o deslocamento livre dos veıculos e aobservacao dos marcos sem oclusao.

Ainda assim, chegaram a algumas conclusoesimportantes. Em Sim and Roy (2005), provam queo criterio de entropia relativa (usado em algunsalgoritmos de Visual SLAM, como no trabalho deBailey (2003)) e essencialmente falho. Esse criterioequivale a estrategia chamada de “D-Otimalidade”(Montgomery, 2000), que busca reduzir o determi-nante da matriz de covariancia do processo:

ut+1, . . . ,ut+N = arg min[det(Pt)]

= arg min∏

i

λi, (7)

onde λi sao os autovalores de Pt. Porem, o pro-blema se torna malcondicionado se a incerteza dalocalizacao de um unico marco tender a zero, tor-nando Pt singular. A alternativa proposta e a es-trategia da “A-Otimalidade” (Montgomery, 2000),que procura reduzir o traco de Pt, ou:

ut+1, . . . ,ut+N = arg min[tr(Pt)]

= arg min∑

i

λi. (8)

Ainda que a estrategia seja considerada pobrequando o estado e composto por valores de uni-dades diferentes (medidas espaciais vs. angulares),na pratica os autores demonstraram que e possıvelchegar a melhores resultados.

Ainda no campo teorico, Sim (2005b) demons-tra uma contradicao inerente ao uso do Filtro deKalman Estendido (EKF) em estrategias explorato-rias no campo de bearing-only SLAM 1: Quando umveıculo se encontra proximo a um marco, maior eo ganho esperado de informacao; entretanto, nessecaso a funcao de predicao se comporta de modoaltamente nao linear, tornando o EKF um estima-dor ruim por causa da linearizacao adotada em seualgoritmo. Essa condicao atinge os trabalhos deBourgault et al. (2002) e Stachniss et al. (2004), en-tre outros. Para evitar instabilidade na estimacaodo estado, Sim (2005a) sugere ignorar a observacaode marcos que estejam mais proximos do que umlimite mınimo de distancia.

1Bearing-only SLAM e uma variacao do SLAM em queos sensores fornecem apenas a direcao dos marcos da cena,mas nao a sua distancia a partir do sensor. O exemploclassico e o SLAM monocular.

Page 22: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

3 SLAM cooperativo

Embora muito esforco tenha sido aplicado as solu-coes de SLAM para o caso de um unico veıculo, oestudo de SLAM com varios veıculos — chamadode C-SLAM — vem avancando de maneira tımida.Apesar da formulacao teorica do mapeamento esto-castico (Smith et al., 1990) permitir trivialmente aexpansao para o tratamento de mais de um veıculo,na pratica surgem varios problemas: a concorren-cia pelo espaco fısico e a possibilidade de colisoes,a possıvel interferencia entre os sensores dos veıcu-los, a necessidade de comunicacao para a troca dedados, etc. A maior parte dos trabalhos sobre C-SLAM ignora esses problemas, que sao abordadospelo campo mais geral da Robotica Cooperativa.

A primeira questao a ser considerada quandose trata de cooperacao no campo de SLAM e de-terminar qual aspecto do processo sera beneficiadopela cooperacao. Como nao ha consenso sobrea definicao de “SLAM cooperativo”, diversos pes-quisadores tem aplicado livremente o termo paraabordar problemas bem distintos. Em geral, pode--se agrupar os trabalhos em tres frentes distintas:

1. a localizacao cooperativa (tambem chamada deposicionamento cooperativo ou interlocaliza-cao), onde os veıculos sao capazes de observara sua posicao relativa em relacao aos demais,geralmente por meio de cameras. A hodome-tria e corrigida pela interlocalizacao antes dealimentar as tecnicas tradicionais de SLAM;

2. a exploracao distribuıda, onde o problema deSPLAM e estendido para o caso de variosveıculos;

3. o processamento distribuıdo e fusao de dados,em que cada veıculo trata o SLAM localmente(no espaco de sua vizinhanca), procedendoperiodicamente a estimacao de uma solucaoglobal pela fusao das estimativas individuais.

Essa ultima frente e objeto de grande interessede diversas areas de pesquisa e nao se restringe aRobotica Cooperativa. Outros trabalhos apresen-tam uma revisao extensiva dos metodos na area(Nakamura et al. (2007), entre outros). Dessaforma, este trabalho concentra-se na revisao daliteratura acerca das duas primeiras frentes — lo-calizacao cooperativa e exploracao distribuıda —,que serao apresentadas nas subsecoes seguintes.

3.1 Localizacao cooperativa

As tecnicas de localizacao cooperativa tem sidoestudadas ha mais de duas decadas e ja foram usa-das em diversas areas de Robotica Cooperativa.Em SLAM, em geral a localizacao cooperativa eusada como um filtro para corrigir a hodometriacapturada pelos veıculos, de modo a beneficiar asestimacoes feitas no processo de mapeamento (na

pratica, essa abordagem e melhor descrita como“localizacao seguida de mapeamento”). Por essemotivo, pode-se contestar que o termo “SLAM co-operativo” se aplique a localizacao cooperativa, jaque esta e uma tecnica independente do SLAMusada apenas para enriquecer um dado de entrada(a hodometria): de fato, nao foram encontradostrabalhos que apresentam algoritmos de SLAMespecialmente adaptados para se beneficiar da lo-calizacao cooperativa. Nao obstante, nao ha du-vidas de que outras frentes de cooperacao podemse beneficiar dessas tecnicas, para melhorar os re-sultados do processo sempre que um veıculo puderperceber outro.

O trabalho de Kurazume et al. (1994) foi umdos pioneiros no estudo de localizacao cooperativa.A principal contribuicao (no campo de interesse deSLAM) esta na definicao formal de uma metodolo-gia para determinar a incerteza da interlocalizacaocomo uma matriz de covariancia, essencial quandose usa os filtros de Kalman. Dada a dificuldade deinterlocalizacao com os veıculos em movimento, osautores lancaram uma ideia que seria usada pordiversos trabalhos posteriores: os veıculos alter-nam os papeis de “marco estacionario” e “veıculoem movimento” (ou “mestre” e “escravo”), de modoque um ou mais veıculos permanecem estaticos eservem de referencia para os demais.

Uma tecnica semelhante e usada por Rekleitiset al. (1997) e Rekleitis et al. (2000) no contextoespecıfico de mapeamento de ambientes bidimensi-onais usando sensores de distancia a laser : nessestrabalhos, a exploracao e feita com robos aos pares,sempre visıveis entre si, onde um deles conserva-seimovel enquanto o outro realiza o mapeamento.A interlocalizacao e feita por marcos no corpo dorobo facilmente identificaveis por cameras. De ma-neira similar, Howard and Kitchen (1999) utilizamrobos com bases pintadas com cores caracterısticas;no entanto, toda a trajetoria passada do robo econstantemente reavaliada — o que configura umasolucao estatica para o problema. Naturalmente,essa solucao e restrita a trajetorias curtas, ja queo custo dessa reavaliacao cresce gradualmente etende a se tornar crıtico.

Duas sao as principais limitacoes desse con-junto de trabalhos: (i) exigem que a todo instantepelo menos um dos veıculos esteja parado, impe-dindo que a coleta de dados seja feita com todos osveıculos simultaneamente; e (ii) obrigam a que osveıculos estacionarios sejam visıveis por todos osdemais, impondo limites ao espalhamento dos mes-mos no ambiente. Alem disso, todas essas aborda-gens sao estritamente bidimensionais, tipicamenterepresentando os ambientes como plantas-baixas.

Em Grabowski et al. (2000), os autores apre-sentam uma aplicacao real de localizacao coope-rativa no contexto de mapeamento e exploracao.O trabalho possui o merito de realizar a interloca-lizacao com todos os veıculos em movimento; no

Page 23: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

entanto, nao ha mencao sobre o tratamento dasincertezas.

Roumeliotis and Bekey (2000) e Roumeliotisand Bekey (2002) apresentam um trabalho pioneiroem dois sentidos: Nao so o problema de interlo-calizacao (aqui chamado de collective localization,“localizacao coletiva”) e tratado de maneira proba-bilıstica, por meio de filtros de Kalman, como tam-bem sao propostas alteracoes nesses filtros para queo processamento possa ocorrer de maneira distri-buıda. Tambem e merito deles que a metodologianao seja restrita a cenarios bidimensionais (emboraos experimentos o sejam). Um trabalho posterior(Roumeliotis and Rekleitis, 2004) apresenta umaanalise teorica para estabelecer os limites supe-riores de incerteza da metodologia em questao.Curiosamente, os autores nao citam qual variacaodo KF foi utilizada nos experimentos; na realidade,no que diz respeito ao estimador, a metodologiaapresenta apenas as adaptacoes a serem feitas nocalculo do ganho de Kalman. Alem disso, o con-junto dos trabalhos nao faz nenhuma referenciaa qualquer processo de mapeamento do ambiente;portanto, a metodologia se aplica somente comoferramenta para o processo de localizacao seguidade mapeamento.

Fregene et al. (2002) tratam especificamenteda localizacao cooperativa com reconstrucao datopografia do terreno no contexto de EKF. A in-terlocalizacao e realizada com base em imagens ob-tidas de cameras, seguindo a ideia de varios outrostrabalhos; a metodologia de observacao entre osveıculos e detalhada em outro trabalho (Madhavanet al., 2004). Entretanto, a localizacao dos veıcu-los e feita utilizando-se a informacao produzidapor GPS diferencial, sendo que a interlocalizacaoe usada apenas quando um dos veıculos perde osinal desse sistema. Posto de outra maneira, alocalizacao cooperativa e implementada somentecomo ferramenta de tolerancia a falhas, nao sendoessencial para a reconstrucao do ambiente.

3.2 Exploracao distribuıda

Varias tecnicas foram propostas para a exploracaode ambientes por times de robos. Os trabalhosmais antigos apresentavam algoritmos teoricos paragarantir a continuidade da exploracao a medidaque areas inexploradas forem descobertas (Singhand Fujimura, 1993; Rekleitis et al., 1997), maspouca enfase foi dada na distribuicao dessas areasentre os robos.

A publicacao do trabalho de Yamauchi (1997)permitiu a expansao das pesquisas em torno dacolaboracao exploratoria. Nesse trabalho, os auto-res apresentam o conceito de fronteiras — o limiteentre areas exploradas e inexploradas — e, maisimportante, uma metodologia para manter cons-tantemente o registro das fronteiras do mapa emexploracao, de modo que o robo seja capaz de pla-

nejar a exploracao eficiente e completa do ambiente.Posteriormente o autor estende o conceito para aexploracao por multiplos robos (Yamauchi, 1998),mas nao trata da coordenacao: como os veıculos se-guem sempre em direcao a fronteira mais proxima,a concorrencia espacial na tentativa de explorar amesma regiao poderia ser menos eficiente do quea exploracao por um unico robo.

Esse problema e tratado por Burgard et al.(2000). Nesse trabalho, os autores coordenam adistribuicao das fronteiras, de modo a manter amaior distancia possıvel entre os robos. Posteri-ormente, os mesmos autores melhoraram o me-todo (Simmons et al., 2000), permitindo que osrobos permanecam proximos quando as fronteirasse encontram em areas isoladas, como em corre-dores adjacentes. Em Burgard et al. (2005), osautores generalizam a metodologia para planejar aexploracao usando funcoes de custo de navegacao(possivelmente distintas para cada robo). Um algo-ritmo global de otimizacao dessas funcoes e usadopara atribuir as fronteiras a cada robo; assim, umrobo nao e necessariamente alocado para explorara fronteira mais proxima se o tempo (custo) globalda tarefa puder ser reduzido com outro arranjo.

Em conjunto, os trabalhos apresentados nestasubsecao possuem uma mesma limitacao: todo otrabalho de identificacao e alocacao de fronteirase feito com base em OGMs. Como essa estruturanao e escalavel para ambientes tridimensionais, porconta do custo de armazenamento, nenhuma dessasmetodologias poderia ser diretamente aplicada acenas 3D.

4 Conclusoes

Ao longo das ultimas decadas grande esforco foidedicado ao problema de Localizacao e Mapea-mento Simultaneos, porem apenas recentementea comunidade tem buscado solucoes mais gerais,que contemplam planejamento e cooperacao. Nocontexto de planejamento, os trabalhos enfocandoa otimizacao com base em funcoes multiobjetivorepresentam boas solucoes; por outro lado demons-tram a necessidade de maior generalidade, princi-palmente quanto a restricao do uso de OGMs, oque impede a adaptacao para a livre movimentacaodos robos em ambientes tridimensionais. A locali-zacao cooperativa ainda necessita de mais investi-gacao para que seja integrada com o mapeamento,evitando as solucoes de “localizacao seguida demapeamento”. Os trabalhos publicados acerca deexploracao distribuıda sao promissores, porem emgeral consideram resolvido o problema de localiza-cao global. Essa restricao representa um obstaculodecisivo a ser transposto para a coordenacao daexploracao em SLAM.

Trabalhos em SLAM com planejamento e coo-peracao estao sendo atualmente abordados pelosautores, com resultados preliminares promissores.

Page 24: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

A ideia central e adaptar a funcao multiobjetivo(Eq. (4)) para promover a distribuicao espacial dosrobos e utilizar a propria incerteza do mapa dacena para avaliar configuracoes futuras dos robosadequadas para incorporar maior quantidade deinformacao no sistema, e a partir daı planejar atrajetoria para se atingir essas configuracoes.

Agradecimentos

Este trabalho contou com o apoio da FundacaoCentro de Analise, Pesquisa e Inovacao Tecnolo-gica (FUCAPI), Manaus, AM, Brasil.

Referencias

Bailey, T. (2003). Constrained initialisation for bearing-only SLAM, Proc. ICRA, pp. 1966–1971.

Bailey, T. and Durrant-Whyte, H. (2006). Simultane-ous localization and mapping (SLAM): part II,Robotics & Automation Mag. 13(3): 108–117.

Bourgault, F., Makarenko, A., Williams, S., Gro-cholsky, B. and Durrant-Whyte, H. (2002). Infor-mation based adaptive robotic exploration, Proc.IROS, pp. 540–545.

Burgard, W., Moors, M., Fox, D., Simmons, R. andThrun, S. (2000). Collaborative multi-robot ex-ploration, Proc. ICRA, pp. 476–481.

Burgard, W., Moors, M., Stachniss, C. and Schneider,F. E. (2005). Coordinated multi-robot explora-tion, IEEE Trans. Robotics 21(3): 376–386.

Durrant-Whyte, H. and Bailey, T. (2006). Simulta-neous localization and mapping (SLAM): part I,Robotics & Automation Mag. 13(2): 99–110.

Feder, H. J. S., Leonard, J. J. and Smith, C. M. (1999).Adaptive mobile robot navigation and mapping,Intl. J. Rob. Research 18(7): 650–668.

Fregene, K., Madhavan, R. and Parker, L. E. (2002).Incremental multiagent robotic mapping of out-door terrains, Proc. ICRA, pp. 1339–1346.

Grabowski, R., Navarro-Serment, L. E., Paredis, C.and Khosla, P. (2000). Heterogeneous teams ofmodular robots for mapping and exploration, Au-ton. Rob. 8(3): 293–308.

Howard, A. and Kitchen, L. (1999). Cooperative loca-lisation and mapping: Preliminary report, Tech-nical report, University of Melbourne.

Huang, S., Kwok, N., Dissanayake, G., Ha, Q. andFang, G. (2005). Multi-step look-ahead trajectoryplanning in SLAM: Possibility and necessity, Proc.ICRA, pp. 1091–1096.

Kurazume, R., Nagata, S. and Hirose, S. (1994). Coo-perative positioning with multiple robots, Proc.ICRA, pp. 1250–1257.

Leung, C., Huang, S. and Dissanayake, G. (2006).Active SLAM using model predictive control andattractor based exploration, Proc. IROS, pp. 5026–5031.

Leung, C., Huang, S. and Dissanayake, G. (2008).Active SLAM for structured environments, Proc.ICRA, pp. 1898–1903.

Leung, C., Huang, S., Kwok, N. M. and Dissanayake, G.(2006). Planning under uncertainty using modelpredictive control for information gathering, Rob.and Aut. Systems 54(11): 898–910.

Madhavan, R., Fregene, K. and Parker, L. E. (2004).Distributed cooperative outdoor multirobot loca-lization and mapping, Auton. Rob. 17(1): 23–39.

Makarenko, A. A., Williams, S., Bourgault, F. andDurrant-Whyte, H. (2002). An experiment inintegrated exploration, Proc. IROS, pp. 534–539.

Montgomery, D. C. (2000). Design and Analysis ofExperiments, 5a edn. ISBN 0471316490.

Nakamura, E. F., Loureiro, A. A. F. and Frery, A. C.(2007). Information fusion for wireless sensornetworks: Methods, models, and classifications,ACM Computing Surveys 39(3): 9.

Rekleitis, I., Dudek, G. and Milios, E. (2000). Multi-robot collaboration for robust exploration, Proc.ICRA, pp. 3164–3169.

Rekleitis, I. M., Dudek, G. and Milios, E. E. (1997).Multi-robot exploration of an unknown environ-ment, efficiently reducing the odometry error,Proc. 15th IJCAI, pp. 1340–1345.

Roumeliotis, S. and Bekey, G. (2002). Distributedmultirobot localization, IEEE Trans. Roboticsand Automation 18(5): 781–795.

Roumeliotis, S. I. and Bekey, G. A. (2000). CollectiveLocalization: A distributed Kalman filter appro-ach to localization of groups of mobile robots,Proc. ICRA, pp. 2958–2965.

Roumeliotis, S. I. and Rekleitis, I. M. (2004). Propa-gation of uncertainty in cooperative multirobotlocalization: Analysis and experimental results,Auton. Rob. 17(1): 41–54.

Sim, R. (2005a). Stabilizing information-driven ex-ploration for bearings-only SLAM using rangegating, Proc. IROS, pp. 3396–3401.

Sim, R. (2005b). Stable exploration for bearings-onlySLAM, Proc. ICRA, pp. 2411–2416.

Sim, R. and Roy, N. (2005). Global A-optimal robotexploration in SLAM, Proc. ICRA, pp. 661–666.

Simmons, R., Apfelbaum, D., Burgard, W., Fox, D.,Moors, M., Thrun, S. and Younes, H. (2000). Co-ordination for multi-robot exploration and map-ping, Proc. Nat. Conf. Art. Intel., pp. 852–858.

Singh, K. and Fujimura, K. (1993). Map making bycooperating mobile robots, Proc. ICRA, pp. 254–259.

Smith, R. C. and Cheeseman, P. (1986). On the repre-sentation and estimation of spatial uncertainty,Intl. J. Rob. Research 5(4): 56–68.

Smith, R., Self, M. and Cheeseman, P. (1990). Estima-ting uncertain spatial relationships in robotics,Autonomous Robot Vehicles, pp. 167–193.

Stachniss, C., Hahnel, D. and Burgard, W. (2004). Ex-ploration with active loop-closing for FastSLAM,Proc. IROS, pp. 1505–1510.

Yamauchi, B. (1997). A frontier-based approach forautonomous exploration, Proc. Intl. Symp. onComp. Int. in Rob. and Autom., pp. 146–151.

Yamauchi, B. (1998). Frontier-based exploration usingmultiple robots, Proc. 2nd Intl. Conf. AutonomousAgents, pp. 47–53.

Page 25: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

UMA INFRA-ESTRUTURA PARA EXPERIMENTACAO COM ENXAMES DEROBOS

Renato F. Garcia∗, Luiz Chaimowicz∗

∗VeRLab – Laboratorio de Visao e RoboticaDepartamento de Ciencia da Computacao

Universidade Federal de Minas GeraisBelo Horizonte, MG, Brasil

Emails: renatofg, [email protected]

Abstract— The use of swarms of robots is a novel research area that has received much attention in recentyears. One of the great challenges in this area is the development of scalable experimental frameworks thatcan be used with large groups of robots. This paper presents the environment developed at VeRLab for swarmexperimentation. We describe the hardware platform, programming interfaces and the localization mechanismused in the environment and present several experiments that demonstrate its utility.

Keywords— Robot Swarms, Experimentation.

Resumo— A utilizacao de enxames de robos e uma area de pesquisa emergente que tem recebido bastanteatencao nos ultimos anos. Um dos grandes desafios que surgem quando se trabalha com enxames e o desen-volvimento de ambientes de experimentacao que sejam escalaveis para um grande numero de robos. Esse artigoapresenta o ambiente desenvolvido no VeRLab para a experimentacao com enxames de robos. Sao descritos osmecanismos de programacao e localizacao desenvolvidos bem como a plataforma de hardware utilizada. Alemdisso, diversos experimentos realizados com a infra-estrutura sao apresentados de forma a demonstrar a suautilidade.

Keywords— Enxames de Robos, Experimentacao.

1 Introducao

A robotica cooperativa e uma area que tem re-cebido bastante atencao nos ultimos anos. Re-sumidamente, trata-se da utilizacao de grupos derobos trabalhando de maneira coordenada na exe-cucao de diversas tarefas, trazendo ganhos de de-sempenho, uma maior tolerancia a falhas e pos-sibilitando a execucao de tarefas que nao pode-riam ser realizadas por um unico robo. Dentroda robotica cooperativa, uma area nova e que tematraıdo bastante interesse recentemente e a utiliza-cao de grupos compostos por um grande numerode robos mais simples, que individualmente naopossuem muita capacidade, mas em conjunto po-dem realizar diversos tipos de tarefas. Esses gru-pos sao genericamente chamados de “enxames”derobos (swarms). O uso de enxames de robos temuma forte inspiracao biologica uma vez que diver-sas sociedades de animais e insetos requerem, deuma forma ou de outra, a coordenacao de multip-los agentes. Por exemplo, a forma com que abel-has e formigas buscam alimento, ou a migracao depassaros normalmente requer a coordenacao efi-ciente de um grande numero de indivıduos.

Nos ultimos anos, pesquisadores do VeRLab- UFMG (Laboratorio de Visao Computacionale Robotica da UFMG) tem desenvolvido diver-sos trabalhos no controle e coordenacao de enx-ames de robos, por exemplo (Chaimowicz and Ku-mar, 2004; Chaimowicz et al., 2005; Marcolino andChaimowicz, 2008; Hsieh et al., 2008). Em suamaioria, a parte experimental desses trabalhos e

feita atraves simulacoes devido a falta de platafor-mas adequadas para a realizacao de experimen-tos. Entretanto, na robotica, e sempre importanteque os algoritmos sejam validados em plataformasreais, de forma a testar a sua robustez frente asdificuldades inerentes ao mundo real, tais comoruıdos nos sensores, falhas de comunicacao, etc.

Esse artigo apresenta a infra-estrutura dehardware e software desenvolvida no VeRLab paraa experimentacao com enxames de robos. Uti-lizando um conjunto de robos off-the-shelf, essainfra-estrutura integra diversas ferramentas parapermitir a localizacao, programacao e controle deum grande numero de robos de forma simples, efi-ciente e escalavel.

2 Trabalhos Relacionados

Apesar da grande importancia de se validar os al-goritmos de controle em plataformas reais, poucostrabalhos implementaram arcaboucos para testesreais com grandes grupos de robos.

Um destes arcaboucos foi desenvolvido noGRASP Laboratory – University of Pennsylva-nia (Michael et al., 2008). Nele sao utilizadosrobos terrestres e aereos e a programacao e feitaatraves do sistema Player (Gerkey et al., 2003).O modelo de robo terrestre utilizado e o Scarab,desenvolvido no proprio laboratorio e que apre-senta dimensoes de 20 × 13,5 × 22,2cm, o quepode ser um ponto negativo quando se usa umgrande grupo de robos. O sistema de localizacaoe feito por cameras instaladas de modo a terem

Page 26: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

uma visao superior da cena, de onde buscam pelobrilho de LEDs instalados sobre os robos, sendoque estes os identificam de acordo com o padraocom que piscam.

Um outro arcabouco e apresentado em(Schwager et al., 2008), que utiliza um grupo derobos SwarmBot na execucao de experimentos dedispersao e cobertura. Um sistema de localizacaotambem baseado em LEDs e utilizado para groundthruth. Ja o trabalho de (Howard et al., 2006)nao utiliza um sistema de localizacao centralizadoem cameras e marcos visuais, como os dois ante-riores. Aqui toda a estimacao das poses e feitaa partir dos sensores dos proprios robos, sendoque estes formam um time heterogeneo, com ummenor numero de robos de alta capacidade de pro-cessamento e melhores sensores, e muitos robosmais simples. Os robos mais capazes tem a re-sponsabilidade de mapear a area e ajudar na ori-entacao dos outros.

Outros poucos trabalhos na literatura real-izam experimentos reais com enxames de robos.Entre eles pode-se mencionar (Correll et al., 2006),(Konolige et al., 2003) e (McLurkin and Smith,2004).

A infra-estrutura apresentada nesse ar-tigo traz algumas contribuicoes importantes.Primeiramente, ela foca na integracao de compo-nentes ja desenvolvidos, como robos off-the-shelf(e-pucks) e plataformas de programacao comu-mente utilizados (Player). Outro ponto impor-tante e que ela procura facilitar o processo de ex-perimentacao atraves de APIs e ferramentas quediminuem o trabalho do programador. Por fim,e importante mencionar que essa infra-estruturapara experimentacao com grandes grupos de robose inedita no Brasil, trazendo uma importante con-tribuicao no contexto nacional.

3 Infra-estrutura

3.1 Robos

O primeiro passo para a construcao da infra-estrutura foi a escolha do robo a ser usado nosexperimentos. Para esse tipo de experimentacao,os robos devem ser de pequeno porte e preferen-cialmente possuir mecanismos de sensoriamento ecomunicacao locais. Por exemplo, sensores infra-vermelhos ou de contato para detectar obstaculose mecanismos de comunicacao sem fio tais comoIEEE 802.11 ou bluetooth. Alem disso, e dese-javel que os robos facam processamento on-boarde sejam simples de programar e usar.

Devido a esses requisitos foi feita a opcaopela aquisicao de robos ja prontos (off-the-shelf).Especificamente, foram adquiridos doze robos e-puck (Cianci et al., 2007), projetado pela EPFL- Ecole Polytechnique Federale de Lausanne naSuıca. O e-puck e um robo diferencial de pequeno

Figura 1: “Enxame” de 12 robos e-puck.

Figura 2: Detalhe de um dos robos.

porte (7cm de diametro) voltado para educacao epesquisa. Ele possui um microprocessador DsPicde 16 bits, comunicacao bluetooth, uma micro-camera VGA, um conjunto de 8 sensores infraver-melhos, um acelerometro 3D, alto-falante e tresmicrofones, dois motores de passo para controledas rodas, um anel de leds para sinalizacao e ba-teria recarregavel LiIon de 3,6V e 1,4Ah. Paraprograma-lo e disponibilizada uma biblioteca es-crita em linguagem C, que fornece uma API parase controlar os varios perifericos. Todo o projetoe-puck e aberto, os projetos mecanico e eletronicodo robo sao licenciados como open hardware e abiblioteca C como open software.

Os doze robos adquiridos pelo VeRLab po-dem ser visto na Figura 1, com o detalhe deum robo mostrado na Figura 2. Apesar de 12robos nao poderem ser considerados efetivamenteum “enxame”, esse numero ja permite a validacaode experimentos realizados em simulacao com umnumero maior de robos.

3.2 Programacao

Para a programacao do enxame, foi desenvolvidoum arcabouco que funciona sobre a PlataformaPlayer/Stage/Gazebo (Gerkey et al., 2003), umadas plataformas de programacao mais utilizadasna comunidade de pesquisa em robotica. A princi-pal caracterıstica desta plataforma e fornecer umaAPI com interfaces para varios tipos de sensores eatuadores, sendo que estas interfaces nao sao de-pendentes de nenhum robo ou periferico especıfico.Desta forma, um programa que utiliza a API doPlayer pode ser executado em diferentes tipos derobos sem nenhuma, ou no maximo com poucasalteracoes. Alem disso, este mesmo codigo podeser usado em simulacoes no Stage ou no Gazebo,os simuladores (2D e 3D) do Projeto Player.

Page 27: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

A plataforma Player comunica-se com os dis-positivos fısicos atraves de drivers especıficos. Nocaso do e-puck, tal driver ainda nao existia. Por-tanto foi desenvolvido um driver para converteros comandos recebidos do servidor Player parachamadas apropriadas da biblioteca de progra-macao do e-puck. Atualmente o Player se encon-tra na versao 2.1 mas a versao anterior, 2.0, aindatem uma grande base instalada, pois e esta queesta disponıvel nos repositorios Debian e Ubuntupor exemplo. Por este motivo, o driver construıdoe compatıvel com aquelas duas versoes, 2.0 e 2.1.

Para que sejam acessados pelo programador,os diversos dispositivos presentes no e-puck de-vem ser mapeados atraves do driver para uma dasvarias interfaces oferecidas pelo Player. No driverimplementado, os motores, juntamente com infor-macoes de odometria, sao acessados atraves da in-terface position2d, que permite o acesso a pose at-ual do robo, bem como suas velocidades.

Quanto aos LEDs, a interface para acessa-losdepende da versao do Player que e utilizada. Naversao 2.1 eles estao ligados a interface blinken-light, que representa algum indicador luminoso.Porem, os LEDs do e-puck nao possibilitam ouso de todas as funcionalidades que a interfaceblinkenlight oferece, ja que eles possuem uma unicacor, e podem somente ser ligados ou desligados,nao sendo possıvel faze-los piscar a uma dada fre-quencia. Ja na versao 2.0 do Player, a interfaceblinkenlight ainda nao estava disponıvel, portantoa interface opaque foi utilizada. Esta e uma in-terface generica, que pode ser usada quando nen-huma das outras opcoes for adequada.

Os dois ultimos perifericos interfaceados saoa camera e o infravermelho. A camera usa a in-terface camera, e todas as informacoes de configu-racao que sao necessarias para a sua inicializacaopodem ser informadas no arquivo de configuracaodo Player, na secao referente a este driver. Os sen-sores infravermelhos de proximidade usam a inter-face ir, de onde e possıvel obter tanto os valoresbrutos lidos, quanto a distancia estimada dos ob-staculos percebidos. Outros dispositivos como osalto-falantes e os microfones ainda nao foram in-terfaceados no driver, e a sua inclusao e planejadapara as futuras versoes do driver.

3.3 Comunicacao

O driver desenvolvido e divido em duas partes:uma e executada em um computador remoto jun-tamente com o Player e a outra e executada on-board no processdor dsPIC do e-puck. A comu-nicacao entre estas duas partes e feita utilizandoo protocolo bluetooth RFCOMM, que emula umaporta serial.

A parte do driver que e executada no e-puckfoi projetada para realizar a menor carga de pro-cessamento possıvel. A sua responsabilidade e ba-

sicamente receber os comandos do computador echamar as funcoes apropriadas da API do e-puck.Para a movimentacao por exemplo, a velocidadeque cada cada um dos motores devera ter e re-cebida ja em passos por segundo, e em seguidaatribuıda aos motores. O calculo das posicoesestimadas dos obstaculos, percebidos pelo sen-sor infra-vermelho, tambem nao e feito aqui, asleituras sao enviadas para a outra parte do driversem processamento.

A parte do driver que e executada no com-putador tem a responsabilidade de receber os co-mandos do programa no formato dado pelo Player,traduzir para um formato mais proximo do esper-ado API do e-puck e enviar para a outra partedo driver. Inversamente, ele tambem recebe asleituras dos sensores enviadas pelo e-puck, as pro-cessa e repassa ao Player no formato esperado pelainterface apropriada.

Ja a comunicacao entre diferentes e-pucks efeita atraves de mecanismos de comunicacao in-terprocessos do sistema operacional rodando noscomputadores remotos. A principal razao paraisso e o fato que o bluetooth dos e-pucks ja estapareado com o computador em que o driver estasendo executado, nao podendo, portanto ser uti-lizado na comunicacao direta entre eles. Alemdisso, uma vez que todo o processamento dos da-dos que foram coletados pelos sensores do robo efeito pela parte do driver que fica no computadore e tambem la que esta o programa que ira de fatocontrola-los, e natural que esta comunicacao entrerobos seja feita em um nıvel mais alto.

E importante mencionar que cada e-puck econtrolado por um programa independente (nor-malmente varias instancias de um mesmo pro-grama) e a plataforma Player permite o pro-cessamento distribuıdo de forma completamentetransparente. Dessa forma, cada e-puck pode sercontrolado por um computador diferente ou pormultiplas threads em um mesmo computador.

3.4 Sistema de Localizacao

Dado que o ambiente desenvolvido tem como fi-nalidade a realizacao de experimentos com enx-ames de robos, ha frequentemente a necessidadede se conhecer com precisao a pose de cada umdos componentes deste enxame. Para alcancareste objetivo foi construıdo o Silver (Sistema deLocalizacao VeRLab), que fornece esta localizacaoutilizando cameras de vıdeo fixadas no teto do lab-oratorio, e cujos campos de visao cobrem toda aarea de atuacao dos robos. Para serem localiza-dos, cada um dos robos carrega um marco visual,pois a partir das imagens obtidas pelas camerasestes serao identificados. Cada uma das camerase previamente calibrada com uma transformacaohomografica (Trucco and Verri, 1998) permitindo-se obter a pose de cada robo.

Page 28: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

O Silver e composto por tres modulos: silver-server, silver-cameras e silver-client. Cada um de-les e independente dos demais, no sentido de quesao programas separados, possivelmente executa-dos em computadores diferentes. Toda a troca dedados entre eles e feita atraves de uma rede, us-ando o protocolo IP.

O modulo silver-cameras e um programa quecontrola a aquisicao das imagens pelas cameras, ea extracao das poses a partir dos marcos iden-tificados nelas. Ele pode ser instanciado si-multaneamente em quantos computadores foremnecessarios, e cada uma de suas instancias podecontrolar qualquer numero de cameras, o limitesendo a capacidade do computador.

O modulo silver-server deve ser instanciadouma unica vez. Ele processa os dados obtidospelas instancias dos silver-cameras, por exemploeliminando duplicidades caso um mesmo marcotenha sido identificado por duas cameras em areasde intersecao, e envia os resultados aos clientes.

Finalmente, o modulo silver-client e o com-ponente que recebe as poses desejadas do silver-server, e as entrega a algum programa do usuario.Atualmente existem duas implementacoes destemodulo: a primeira na forma de uma bibliotecaC++, que fornece uma API para ser usada peloprograma que ira receber as localizacoes; e umasegunda como um driver do Player, que fornece ainterface fiducial com as localizacoes.

Uma versao preliminar desse sistema de lo-calizacao foi apresentado em (Garcia et al., 2007)onde foi demonstrado que o sistema e escalavelpara o uso com uma grande quantidade de robos.Naquela ocasiao foram feitos testes nos quais atequarenta marcos foram localizados com sucesso,simultaneamente a 30 fps. Desde entao varias mel-horias foram feitas. Dentre as principais podemoscitar uma maior modularidade do codigo, facili-tando o acrescimo de novos modelos de cameras,novos tipos de marcos, e a possibilidade de se cal-cular a transformacao homografica usando umalookup table, ao inves do calculo usando uma ma-triz. Outro acrescimo foi o modulo silver-clientimplementado como um driver Player, tornandomais homogeneo o acesso ao varios componentesdo ambiente de experimentacaoo.

E interessante mencionar tambem que o sis-tema desenvolvido pode ser usado nao so paraa localizacao dos robos durante a execucao mastambem como um mecanismo de ground thruth,armazenando-se as trajetorias de cada robo efazendo uma analise apos a execucao.

4 Testes Preliminares

Para testar a interface de acesso aos sensores eatuadores dos e-pucks atraves do driver desen-volvido para o Player e a integracao do mecanismo

0.50 0.45 0.40 0.35 0.30 0.25 0.20 0.15 0.10 0.05X (m)

0.20

0.15

0.10

0.05

0.00

0.05

0.10

0.15

0.20

0.25

Y (m

)

Silver (Ground truth)Odometria

Figura 3: Ida e volta do e-puck a um ponto.

(a) Experimento montado.

0.25 0.20 0.15 0.10 0.05 0.00 0.05 0.10 0.15X (m)

0.3

0.2

0.1

0.0

0.1

0.2

0.3

0.4

0.5

Y (m

)

(b) Trajetoria percorrida pelo e-puck.

Figura 4: Desvio de obstaculo utilizando os sen-sores infravermelhos.

de localizacao, foram realizados alguns testes pre-liminares utilizando apenas um robo.

O teste mais simples consistiu de deslocar oe-puck para um ponto que se encontrava 40cm afrente e 40cm a direita de sua posicao inicial e, aochegar la, retornar de volta a origem. A estimacaoda pose durante o trajeto foi feita somente com aodometria, e o Silver foi usado como um groundtruth. O grafico mostrando a trajetoria pode servisto na figura 3. Nele, o inıcio e o fim do trajetonao coincidem exatamente pois a implementacaoconsidera que se alcancou o destino caso se estejaa uma distancia de pelo menos 3cm dele.

No segundo teste o e-puck deveria ir a umponto que em princıpio poderia ser alcancadodeslocando-se em linha reta. Porem, no caminhohavia um obstaculo desconhecido pelo robo, quedeveria ser percebido pelos seus sensores infraver-melhos. O obstaculo seria entao transposto peloe-puck utilizando o algoritmo de bug. A montagemdo experimento pode ser vista na figura 4(a), e ocaminho percorrido pelo robo na figura 4(b).

Page 29: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

5 Experimentacao com Enxames

A infra-estrutura montada ja esta sendo utilizadapara a realizacao de experimentos com enxamesde robos. Um exemplo e o desenvolvimento dealgoritmos distribuıdos para o controle de trafegode um grande numero de robos (Marcolino andChaimowicz, 2009). A ideia geral do algoritmo eque os primeiros robos a perceberem o risco de umcongestionamento avisem os outros, permitindo-osatualizar dinamicamente a trajetoria de forma aevitar o problema.

Sempre que um robo detecta a presenca deoutro, ele envia uma mensagem avisando qual esua direcao de destino. Assim, caso as direcoesde destino sejam diferentes, os robos sao capazesde perceber o risco iminente de um congestion-amento. Os robos que perceberam o risco deum congestionamento enviam uma mensagem aosseus vizinhos. Cada robo, ao receber essa men-sagem, a retransmite para seus respectivos viz-inhos. Dessa forma, a informacao do risco deum congestionamento e transmitida pelo enxamee cada grupo podera desviar de forma apropriada.Assim que um robo percebe esse risco, seja encon-trando um robo do outro grupo, seja pelo avisode outros robos de seu proprio grupo, ele desviado local onde aconteceria o problema. Para re-alizar o desvio, o robo utiliza como base a direcaode seu destino. Pode-se especificar, por exemplo,que cada robo desviara no sentido anti-horario.

Primeiramente foram realizados simulacoesdesse algoritmo utilizando o simulador Stage.Uma sequencia de snapshots de uma simulacaopode ser vista na Figura 5. Quatro gruposde robos devem navegar em direcoes opostas nocenario. Como pode ser observado, os gruposcircularam em torno da regiao onde aconteceriao congestionamento, e todos conseguiram chegarde uma forma suave e eficiente no alvo proposto.Tambem foi realizada uma analise experimen-tal em simulacao, onde comparou-se o algoritmocom uma execucao convencional, utilizando ape-nas forcas de repulsao. Essa analise foi realizadacom um intervalo de confianca de 95% e mostrouum ganho no tempo de convergencia de 40%.

Apos a simulacao, foram realizadas diversasexecucoes reais desse algoritmo utilizando a infra-estrutura desenvolvida. Praticamente o mesmoprograma utilizado nas simulacoes pode ser us-ado nos robos reais gracas ao uso da plataformaPlayer. Os snapshots de uma execucao com quatrogrupos podem ser vistos na Figura 6. E-pucks comos leds acesos estao desviando da regiao de conges-tionamento. Os graficos abaixo de cada imagemmostram as posicoes dos robos obtidas pelo sis-tema de localizacao bem como o seu estado (des-viando ou nao).

A realizacao deste experimento foi importantepois demonstrou na pratica a viabilidade da infra-

estrutura, onde os doze robos, juntamente como sistema de localizacao foram utilizados comsucesso. Mais detalhes sobre esse algoritmo e osresultados experimentais podem ser obtidos em(Marcolino and Chaimowicz, 2009).

6 Conclusao

A realizacao de experimentos reais e de suma im-portancia para a validacao de resultados obtidosem simulacao. Esse artigo apresentou uma infra-estrutura para a experimentacao com grandes gru-pos de robos. A infra-estrutura engloba um con-junto de robos off-the-shelf, uma plataforma deprogramacao construıda sobre o Player, mecan-ismos de comunicacao sem fio, e um sistema delocalizacao que permite a obtencao da pose dosrobos em tempo de execucao. Essa plataformae inedita no Brasil e tem permitido o estudoe experimentacao de diversos algoritmos paragrandes grupos de robos no Laboratorio de Visaoe Robotica do DCC-UFMG (VeRLab).

Como trabalhos futuros pretende-se incre-mentar a infra-estrutura com a implementacao denovas funcionalidades (por exemplo, uma inter-face para acompanhamento e controle dos multi-plos robos em tempo real) alem de continuarutilizando-a na experimentacao de novos algorit-mos de coordenacao e controle de enxames.

Agradecimentos

Os autores gostariam de agradecer a Pedro Shi-roma, pelo auxılio no desenvolvimento do sis-tema de localizacao, e a Leandro Marcolino, pelodesenvolvimento e experimentacao do algoritmomostrado na Secao 5. Esse trabalho foi parcial-mente financiado pela Fapemig e CNPq.

Referencias

Chaimowicz, L. and Kumar, V. (2004). Aerialshepherds: Coordination among uavs andswarms of robots, Proc. of the 7th In-ternational Symposium on Distributed Au-tonomous Robotic Systems (DARS 2004),pp. 231–240.

Chaimowicz, L., Michael, N. and Kumar, V.(2005). Controlling swarms of robots usinginterpolated implicit functions, Proc. of the2005 IEEE International Conf. on Roboticsand Automation, pp. 2498–2503.

Cianci, C. M., Raemy, X., Pugh, J. and Martinoli,A. (2007). Communication in a Swarm ofMiniature Robots: The e-Puck as an Educa-tional Tool for Swarm Robotics, Simulationof Adaptive Behavior (SAB-2006), SwarmRobotics Workshop, Lecture Notes in Com-puter Science (LNCS), pp. 103–115.

Page 30: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

Figura 5: Simulacao do algoritmo de controle de trafego utilizando o Stage.

−0.5 0 0.5

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

(a)

−0.5 0 0.5

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

(b)

−0.5 0 0.5

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

(c)

−0.5 0 0.5

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

(d)

−0.5 0 0.5

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

(e)

−0.5 0 0.5

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

(f)

Figura 6: Experimentacao real utilizando a infra-estrutura desenvolvida.

Correll, N., Rutishauser, S. and Martinoli, A.(2006). Comparing coordination schemesfor miniature robotic swarms: A case studyin boundary coverage of regular structures,Proc. of the International Symposium on Ex-perimental Robotics (ISER).

Garcia, R. F., Shiroma, P. M., Chaimowicz, L. andCampos, M. F. M. (2007). Um arcaboucopara a localizacao de enxames de robos,VIII Simposio Brasileiro de Automacao In-teligente (SBAI 2007), SBA.

Gerkey, B. P., Vaughan, R. T. and Howard, A.(2003). The player/stage project: Tools formulti-robot and distributed sensor systems,11th International Conference on AdvancedRobotics (ICAR 2003).

Howard, A., Parker, L. E. and Sukhatme, G. S.(2006). Experiments with a large hetero-geneous mobile robot team: Exploration,mapping, deployment and detection, Inter-national Journal of Robotics Research 25(5-6): 431–447.

Hsieh, M. A., Chaimowicz, L. and Kumar, V.(2008). Decentralized controllers for shapegeneration with robotic swarms, Robotica26: 691–701.

Konolige, K., Ortiz, C., Vincent, R., Agno,A., Eriksen, M., Limketkai, B., Lewis, M.,Briesemeister, L., Ruspini, E., Fox, D., Ko,J., Sftewart, B. and Guibas, L. (2003).Large-scale robot teams, Multi-Robot Sys-tems: From Swarms to Intelligent Autonoma,Kluwer Academic Publishers.

Marcolino, L. S. and Chaimowicz, L. (2008). Norobot left behind: Coordination to overcomelocal minima in swarm navigation, Proc.of the 2008 IEEE International Conf. onRobotics and Automation.

Marcolino, L. S. and Chaimowicz, L. (2009). Traf-fic control for a swarm of robots: Avoidinggroup conflicts, Proc. of the 2009 IEEE In-ternational Conf. on Intelligent Robots andSystems.

McLurkin, J. and Smith, J. (2004). Distributedalgorithms for dispersion in indoor environ-ments using a swarm of autonomous mobilerobots, Proc. of the 7th International Sym-posium on Distributed Autonomous RoboticSystems (DARS 2004).

Michael, N., Fink, J. and Kumar, V. (2008).Experimental testbed for large multirobotteams, Robotics & Automation Magazine,IEEE 15(1): 53–61.

Schwager, M., McLurkin, J., Slotine, J. J. E. andRus, D. (2008). From theory to practice: Dis-tributed coverage control experiments withgroups of robots, Proc. of International Sym-posium on Experimental Robotics, Athens,Greece.

Trucco, E. and Verri, A. (1998). IntroductoryTechniques for 3-D computer Vision, Pren-tice Hall.

Page 31: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

PROPOSTA E APLICACAO DE UM ALGORITMO DE LEILAODESCENTRALIZADO PARA COORDENACAO DE MULTIPLOS ROBOS

Sandro Jeronimo de Almeida∗, Luiz Cantoni∗, Luiz Chaimowicz∗

∗Laboratorio de Visao Computacional e Robotica (VeRLab)Departamento De Ciencia da Computacao - Universidade Federal de Minas Gerais (UFMG)

Belo Horizonte, Minas Gerais, Brasil

Emails: [email protected], [email protected], [email protected]

Abstract— This paper presents a distributed task allocation algorithm to multiple robots, one of the mainchallenges in the coordination of multi-robot teams. The proposed algorithm, called Fully-Distributed-Auction(FDA), is based on a classical auction algorithm proposed by Bertsekas. The FDA algorithm is an alternativefor scenarios in which the use of a centralized agent (auctioneer) is impracticable. Several simulations wereperformed and the results showed that the auction mechanism of FDA algorithm is as efficient as algorithmswith a centralized auctioneer. We also show some initial steps in modeling and applying this algorithm in aproblem of robotic cleanup of hazardous sites using the Player/Stage simulator.

Keywords— Multi-robot Coordination, Auction Algorithm, Task Allocation

Resumo— Esse artigo apresenta um algoritmo distribuıdo para alocacao de tarefas para multiplos robos, umdos principais desafios na coordenacao de times de robos. O algoritmo proposto, denominado Fully-Distribuited-Auction (FDA), e baseado no algoritmo de leilao classico proposto por Bertsekas. O algoritmo FDA e umaalternativa em cenarios nos quais e impraticavel o uso de um agente centralizador (leiloeiro). Foram realizadasdiversas simulacoes e os resultados demonstram que o mecanismo de leilao descentralizado do algoritmo FDAmostrou-se tao eficiente quanto algoritmos com agente centralizador. Esse artigo tambem descreve os passos ini-ciais na modelagem e aplicacao desse algoritmo em um problema de limpeza de locais perigosos com comunicacaorestrita utilizando o simulador Player/Stage.

Palavras-chave— Coordenacao de Multiplos Robos, Algoritmo de Leilao, Alocacao de Tarefas

1 Introducao

Robos autonomos tem sido utilizados na resolucaode diversos problemas. Em alguns desses proble-mas, nos quais o tempo para execucao das tarefase um fator importante, o uso de multiplos robospode ser interessante. Varios robos atuando deforma coordenada nesses problemas tendem a mi-nimizar o tempo necessario para concluir a exe-cucao das tarefas. Um exemplo pratico seria oproblema de busca e resgate de vıtimas em es-combros, ocasionado por terremotos. Nessas situ-acoes, a medida que o tempo passa menores saoas chances de sobrevivencia das vıtimas nao loca-lizadas.

Para resolver problemas do mundo real comeficiencia usando multiplos robos e essencial queo mecanismo de coordenacao adotado seja ade-quado. Dependendo do problema abordado diver-sos requisitos e limitacoes devem ser consideradosna coordenacao, tais como: comunicacao limitadaentre os robos, informacoes parciais do ambiente,ausencia de entidade central e/ou hierarquia en-tre os robos, robos heterogeneos com capacidadesdistintas, mudancas dinamicas no ambiente, possi-bilidade de falhas dos robos, entre diversas outrascaracterısticas (Dias and Stentz, 2003).

O problema de coordenacao de multiplosrobos e um problema que tem atraıdo a aten-cao de muitos pesquisadores nos ultimos anos.Algumas abordagens para resolver esse problemasao baseadas em modelos economicos (Dias and

Stentz, 2003; Botelho and Alami, 1999; Ger-key and Mataric, 2002), outras abordagens saobaseadas em comportamentos (behaviour-based)(Parker, 1998; Balch and Arkin, 1999). Existemainda abordagens hıbridas. Alem dessas aborda-gens e comum adaptar para a robotica coopera-tiva algoritmos desenvolvidos por pesquisadoresda area de sistemas multiagentes (Inteligencia Ar-tificial Distribuıda)(Weiss, 1999).

Dentre os modelos economicos adotados nacoordenacao de multiplos agentes1, destaca-se omodelo de leilao. Nessa abordagem, agentes po-dem leiloar tarefas e executa-las (Gerkey and Ma-taric, 2002). Bertsekas foi um dos precursores nosalgoritmos de leilao (Bertsekas, 1992). Essencial-mente, o algoritmo de leilao de Bertsekas e ummetodo centralizado para resolucao de problemasde alocacao.

Contudo, existem situacoes nas quais e im-praticavel o uso de uma entidade centralizadoracomo intermediaria em um leilao. Em alguns ca-sos, esse agente poderia representar um ponto vul-neravel no processo de coordenacao - se o agenteleiloeiro falhar o processo de leilao e interrompido.Diante da relevancia do problema de coordenacaode agentes/robos e do problema apresentado e pro-posto neste trabalho um algoritmo de leilao distri-

1De acordo com Russell e Norvig um agente e uma enti-dade capaz de perceber seu ambiente por meio de sensorese de agir sobre esse ambiente por intermedio de atuado-res (Russell and Norvig, 2003). A partir dessa definicao,consideramos que robos sao agentes.

Page 32: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

buıdo que nao pressupoe a existencia de um agentecentralizador (abordagem descentralizada).

O algoritmo proposto, denominado Fully-Distribuited-Auction (FDA), foi desenvolvido paraser utilizado na coordenacao de agentes/robos. Afim de demonstrar a aplicabilidade do algoritmoFDA, o mesmo e aplicado em um suposto pro-blema de limpeza de locais perigosos (Robotic cle-anup of hazardous site). No problema abordado,um conjunto de robos e posicionado em um ambi-ente que deve ser explorado e limpo pelos robos.

Este artigo esta organizado em cinco secoes.Na Secao 2 sao apresentados trabalhos relaciona-dos e a fundamentacao teorica. Na Secao 3 e apre-sentado o modelo proposto para coordenacao deagentes/robos. Na Secao 4, o algoritmo propostoe comparado com versoes que utilizam um agentecentralizador (leiloeiro). Ainda na Secao 4 um es-tudo de caso contemplando a aplicacao do modeloproposto em um problema de robotica e apresen-tado. Finalizando, na secao 5 sao apresentadasconclusoes e as perspectivas de trabalhos futuros.

2 Coordenacao de Agentes

Coordenar agentes computacionais tem sido im-portante na area de robotica (Chaimowicz et al.,2004) e sistemas multiagentes (Weiss, 1999). Diase Stentz em (Dias and Stentz, 2003) apontam asseguintes situacoes praticas nas quais a coordena-cao de multiplos robos se aplica, tais como: robosexplorando o solo de outros planetas, robos auxili-ando operacoes militares (Urban reconnaissance),robos sendo utilizados na busca e resgate de so-breviventes em tragedias, entre outros.

Dentre as diversas atividades envolvidas nacoordenacao de agentes, destaca-se a atividadede alocacao de papeis, tarefas e/ou recursos. Osproblemas de alocacao mais simples requeremque um conjunto de n agentes sejam alocadospara a execucao de m tarefas, considerando umcusto/benefıcio para cada atribuicao. Esses pro-blemas sao comumente resolvidos por algoritmosde custo polinomial, como por exemplo, o al-goritmo Hungaro que resolve um problema dealocacao simples com tempo de execucao pro-porcional a ordem de complexidade O(n2 × m)(Kuhn, 1955). O algoritmo classico de leilao pro-posto por Bertsekas tambem resolve esses proble-mas em tempo polinomial, com ordem de comple-xidade O(n2 ×max |aij |/ε) (Bertsekas, 1992).

Outros problemas mais complexos, como porexemplo, alocar n agentes para executar m ta-refas, considerando que ha dependencia entre astarefas (o agente que executar a tarefa s tam-bem deve executar t simultaneamente), sao consi-derados problemas combinatorios. Alguns dessesproblemas podem ser transformados no problemaclassico de particionamento de conjuntos (Set Par-titioning Problem (SPP)), classificado como NP-

Difıcil (Balas and Padberg, 1976).Os algoritmos de coordenacao de agentes po-

dem ser classificados em duas abordagens: a pri-meira abordagem e a centralizada, na qual o pro-cessamento das alocacoes e feito por uma unicaentidade (Ex. Hungaro e/ou Simplex); a segundaabordagem e a distribuıda. Nesse caso, cadaagente envolvido no processo de alocacao contribuide alguma forma com o processamento do algo-ritmo, e a solucao final emerge a partir dessas inte-racoes. Recentemente, em (Zavlanos et al., 2008)foi proposto um algoritmo distribuıdo para reso-lucao do problema de alocacao baseado em lei-lao. Esse trabalho e uma transformacao do al-goritmo de leilao paralelo de Bertsekas em umaversao ditribuıda(Bertsekas and Catanon, 1991).

Dentre os varios trabalhos na area de coopera-cao robotica, pode-se citar: (Parker, 1998; Balchand Arkin, 1999; Chaimowicz et al., 2004; Diasand Stentz, 2003; Botelho and Alami, 1999; Ger-key and Mataric, 2002; Dias et al., 2004).

3 Modelo Proposto

Conforme apresentado na introducao deste traba-lho, o algoritmo denominado Fully-Distribuited-Auction (FDA) foi proposto para ser utilizado nacoordenacao de agentes/robos. O algoritmo devepermitir que um conjunto de agentes execute ta-refas distribuıdas em um ambiente. As seguin-tes restricoes sao consideradas pelo algoritmo: osagentes nao conhecem a posicao das tarefas, a co-municacao entre os agentes e limitada (raio limi-tado), a comunicacao pode falhar, os agentes po-dem parar de funcionar, novos agentes podem seradicionados dinamicamente no cenario, os agen-tes possuem capacidades heterogeneas, nao ha hi-erarquia entre os agentes e e inviavel manter umagente centralizador. Na figura 1 e apresentado odiagrama de maquina de estados de cada agente.

As transicoes de estados dos agentes sao base-adas em pelo menos cinco tipos de mensagens. Umagente encontra-se disponıvel inicialmente ate re-ceber uma mensagem do tipo Start Mission. Aposreceber essa mensagem o agente muda para o es-tado Exploring, no qual passara a explorar o am-biente a procura de elementos. Ao perceber umelemento (tarefa) ou receber uma mensagem delance, o agente muda para o estado In Auction.Nesse estado, o agente podera efetuar lances pelatarefa, onde permanece ate que se decida se iraexplorar a nova tarefa ou se permanecera explo-rando o ambiente. A descricao do mecanismo deleilao utilizado no algoritmo FDA e apresentadana subsecao 3.2.

A fim de garantir uma maior robustez no al-goritmo, foi criado um estado intermediario entrea decisao de se executar uma tarefa (In Auction)e sua execucao propriamente dita. Enquanto oagente A se desloca para a tarefa a ser executada,

Page 33: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

Figura 1: Diagrama de Maquina de Estados Fini-tos (Finite State Machine) dos Agentes.

o mesmo envia mensagens do tipo I’m Going toExecute (na mensagem e enviado um valor de uti-lidade que mede o quanto o agente e interessadopela tarefa). Se durante esse percurso o agente Apercebe que um agente B ja esta indo executar atarefa e o agente B e mais apropriado para execu-tar essa tarefa (maior utilidade), entao o agente Avolta para o estado Exploring. Por outro lado, seo agente decide executar a tarefa, apos essa exe-cucao o mesmo voltara para o estado Exploring.Em qualquer um dos estados o agente pode voltarpara o estado inicial (Free), desde que receba umamensagem do tipo End Mission.

O comportamento dos algoritmos executadospelos agentes, quando esses se encontram nos es-tados Free, Exploring, Executing Task ou GoingTo Execute Task, depende do problema a ser abor-dado. No problema de limpeza de locais perigosos,abordado na secao 4, exemplos de comportamen-tos para esses estados sao apresentados.

3.1 Algoritmo de Leilao Classico

Nesta secao sao apresentados os fundamentos doalgoritmo de Bertsekas, base para entendimentodo mecanismo de leilao do algoritmo FDA.

Considere a possibilidade de combinar n pes-soas com n objetos por meio de um mecanismode mercado. Nesse cenario, cada pessoa i possuium interesse aij por um objeto j. Considere queo objeto j possui um preco pj e que a pessoa quereceber o objeto j deve pagar o preco pj por esseobjeto. Pode se deduzir que o “valor real” do ob-jeto j para uma pessoa i e aij − pj .

Supondo que cada pessoa atue em seu inte-resse proprio, entao cada pessoa tentara maximi-zar o valor real de suas escolhas. Logo:

aij − pj = maxj=1,...,n

aij − pj (1)

O algoritmo classico de Leilao proposto porBertsekas realiza iteracoes e em cada iteracao,uma pessoa nao atribuıda a algum objeto e se-lecionada. Esta pessoa realiza um lance em umobjeto que lhe torna mais satisfeita.

No inıcio de cada iteracao e verificado se exis-tem pessoas nao atribuıdas, para continuar a ite-racao. Assim, quando todas as pessoas estiverematribuıdas a algum objeto, o algoritmo finaliza aexecucao.

O lance que a pessoa i fara pelo objeto ji edefinido por:

γi = vi − wi + ε (2)

O objeto j que traz mais benefıcios para umapessoa i e definido por:

ji ∈ arg maxj=1,...,n

aij − pj (3)

O “valor real” do melhor objeto para a pessoai e definido por:

vi = maxjaij − pj (4)

O “valor real” do segundo melhor objeto paraa pessoa i e definido por:

wi = maxj 6=ji

aij − pj (5)

Segundo Bertsekas quando ε < 1n |ε > 0, a

solucao do problema e otima. Essa propriedadese mantem nos algoritmos de leilao distribuıdos(Zavlanos et al., 2008).

3.2 Mecanismo de Leilao Descentralizado

Quando um agente estiver no estado In Auctiondo Algoritmo FDA, o mesmo ira executar o me-canismo de leilao descentralizado (sem leiloeiro)descrito nesta subsecao.

A partir da remocao do agente leiloeiro, que eresponsavel pela sincronizacao dos lances relativosaos objetos do leilao, faz-se necessario inserir ummecanismo que permita manter a consistencia dosvalores dos objetos entre os agentes participantesdo leilao. O conceito de lance via broadcast podeser utilizado para suprir essa necessidade.

No algoritmo proposto, a condicao de paradado algoritmo depende das caracterısticas do pro-blema abordado. No caso particular do problemade limpeza de locais perigosos, o leilao por umadeterminada tarefa e finalizado quando os pro-prios robos percebem que durante um intervalo detempo nao estao sendo trafegados lances na redepela tarefa leiloada. Apos esse perıodo de tempo,os agentes decidem executar a tarefa escolhida.

Page 34: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

Figura 2: Mecanismo de Leilao do AlgoritmoFDA.

Na figura 2 e descrita a logica adotada porcada agente envolvido no leilao.

Observa-se a presenca do metodo (i) Run noalgoritmo. Esse metodo e executado ciclicamentee periodicamente por cada agente. Nesse metodo,a primeira instrucao e invocar o metodo que avaliaa fila de mensagens do agente. Posteriormente,caso o agente nao esteja atribuıdo a algum objeto,entao o procedimento “Avaliar Leilao”e invocado.

O metodo (ii) Avaliar Fila de Mensagens eresponsavel pelo recebimento e processamento delances enviados por outros agentes. Basicamente,ao receber um lance por um objeto o agente atu-aliza o preco desse objeto. Caso o lance recebidotenha sido dado sobre o objeto que o agente atualesta atribuıdo, entao o agente atual devera ficar“desatribuıdo” a este objeto. Lances com valoresinferiores ao mantido pelo agentes nao sao consi-derados (descartados).

O objetivo do metodo (iii) Avaliar leilao e ve-rificar qual objeto traz melhor benefıcio para oagente. Os criterios de escolha do “melhor ob-jeto”e valor do lance a ser dado sobre esse objetoe o mesmo descrito em (Bertsekas, 1992). Aposo agente escolher o seu objeto preferido, ele enviaum mensagem para todos os agentes envolvidos noleilao (lance via broadcast).

O valor do benefıcio de uma tarefa para umagente e calculado de acordo com o problema

abordado. Na secao 4 e apresentada a funcao uti-lizada no calculo desse valor para os robo dos pro-blema de limpeza de locais perigosos.

4 Experimentos Computacionais

Esta secao e divida em duas partes: na primeirasao apresentados resultados de um estudo quan-titativo comparativo entre os algoritmos de leilaoabordados neste trabalho; na segunda parte e des-crita uma aplicacao do algoritmo FDA em um su-posto problema de limpeza de locais perigosos.

4.1 Desempenho dos Algoritmos de Leilao

Um dos aspectos mais importante do algoritmoFDA e o desempenho do mecanismo de leilao em-butido nesse algoritmo. Para avaliar o desempe-nho do mecanismo de leilao do algoritmo FDA, asseguintes implementacoes foram avaliadas e com-paradas:

1. Sem Broadcast - Nessa versao, existe a figurado agente leiloeiro e apenas com ele os par-ticipantes podem trocar mensagens. Quandoo leiloeiro recebe um lance, ele encaminha olance somente para o participante que pedeuo objeto.

2. Com Broadcast - Essa versao e similar a pri-meira, porem, a cada n instante de tempo,o agente leiloeiro envia via broadcast a suatabela de precos, mantendo os agentes parti-cipantes do leilao mais atualizados.

3. Distribuıdo - Essa e a implementacao do me-canismo de leilao (distribuıdo e sem agentecentralizador) embutido no algoritmo FDA(apresentado na 3.2).

Esses algoritmos foram implementados no fra-mework de simulacoes multiagentes Repast (Re-cursive Porus Agent Simulation Toolkit) (Collier,2000). Foi utilizada a versao Repast Symphonypara implementacao. Basicamente foram analisa-das as duracoes dos tempos de execucao dos al-goritmos e o fluxo de mensagens por lance neces-sarias para a finalizacao do leilao. Alem disso,nos experimentos realizados variou-se o numerode agente e itens de leilao.

No grafico da figura 3 e exibido o tempo (nor-malizado) que cada leilao demandou para ser fi-nalizado. Percebe-se que o algoritmo distribuıdo(mecanismo de leilao do algoritmo FDA) e finali-zado em um espaco de tempo muito menor que osdemais algoritmos. Em relacao as implementacoescom agente centralizador, a versao com broadcastteve um desempenho superior a versao sem broad-cast.

Em experimentos complementares observou-se que o numero de mensagens enviadas no lei-lao segue essa mesma tendencia. Notou-se que,

Page 35: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

Figura 3: Duracao da execucao dos algoritmos.

quanto maior a duracao da execucao de um leilao,maior e o numero de mensagens enviadas nesseleilao.

Entretanto, analisando o numero de mensa-gens enviadas por lance, o comportamento dos al-goritmos e inverso. No grafico da figura 4 e de-monstrado o fluxo de mensagens por lance paraos algoritmos de leilao.

Figura 4: Fluxo de mensagens por lance.

No algoritmo distribuıdo, o consumo de men-sagens e consideravelmente superior se comparadocom as versoes centralizadas. Isso acontece, poisnessa implementacao cada lance de cada partici-pante deve ser enviado para todos os outros par-ticipantes do leilao. Ja nas implementacoes comagente centralizador, a versao com broadcast re-quer o envio de mais mensagens por lance, devidoa atualizacao de preco que o leiloeiro realiza cons-tantemente.

4.2 Aplicacao do Algoritmo FDA

A fim de ilustrar o funcionamento do algoritmoproposto FDA, o mesmo foi aplicado em um su-posto problema de limpeza de locais perigosos(Robotic cleanup of hazardous site) utilizando aferramenta Player/Stage (Gerkey et al., 2003). Aaplicacao e modelagem do problema ainda esta nafase inicial. No problema abordado, robos sao po-sicionados em um ambiente que deve ser exploradoe limpo. Em princıpio, os robos nao conhecem aslocalizacoes das tarefas (lixos espalhados pelo am-biente), e objetivo dos robos e limpar o ambiente.

Os robos podem se comunicar atraves de mensa-gens.

A figura 5 e uma fotografia da simulacao dosrobos. Observa-se um conjunto de robos explo-rando o ambiente.

Figura 5: Simulacao do Robos na ferramentaPlayer/Stage.

Nota-se dois grupos de robos participando dedois leiloes simultaneos por tarefas. Cada robopossui um raio de deteccao de objetos e um raiode comunicacao. Esses raios determinam o limitede visao e comuninicacao entre os robos.

O algoritmo FDA permite que o mecanismode exploracao dos robos seja desenvolvido deacordo com o os requisitos e necessidades encon-tradas no problema abordado. No problema delimpeza de locais perigosos, adotou-se um algo-ritmo que gera pontos aleatorios pelos quais osrobos devem passar. Para desviar de obstaculosadotou-se algoritmos usados em (Soriano Marco-lino and Chaimowicz, 2008). Pretende-se em tra-balhos futuros desenvolver um algoritmo eficientepara exploracao do ambiente.

No problema simulado, robos possuem habi-lidades diferentes para executar as tarefas. Essacaracterıstica e considerada basicamente no mo-mento em que o agente faz o lance por uma tarefano leilao. O modelo proposto inicialmente paraesse calculo considera a distancia do robo em rela-cao a tarefa, e sua capacidade de executar a tarefa,como segue:

aij = α 1dij

+ βki,j

onde, aij e o benefıcio que um robo i tem poruma tarefa j, dij e a distancia do robo i em re-lacao a tarefa j, e ki,j e a capacidade que o roboi tem para executar a tarefa j. As constantes αe β representam o peso/importancia de cada umdesses termos (distancia e capacidade do agente)no calculo do benefıcio. Utilizou-se o valor de (1)e (0,1), respectivamente para as constantes α e β.

Embora as simulacoes mostrem que esse mo-delo permite uma convergencia para a solucao doproblema (ambiente e limpo pelos robos), estetrabalho carece de mais experimentos, a fim deavaliar o modelo e suas constantes. Pretende-se

Page 36: CONTROLADOR SERVO-VISUAL APLICADO AO L IDER DE UMA … MULTI-ROBÔS/GERAL33.pdf · mant em em formac~ao por meio de um outro controlador n~ao linear, centralizado e est avel. Desta

em trabalhos futuros realizar a execucoes do al-goritmo proposto em um ambiente real, formadopor robos reais e tarefas reais.

5 Comentarios e Conclusoes

Coordenar robos e importante em varios contex-tos. Nesse sentido, definir metodos de coordena-cao de agente/robos que sejam eficiente e impor-tante. No presente trabalho foi proposto um al-goritmo para coordenacao de agentes/robos base-ado em algoritmo de leilao. O metodo de coorde-nacao Fully-Distribuited-Auction (FDA) foi pro-posto para cenarios onde e impraticavel ou invia-vel a adocao de um algoritmo de leilao com agentecentralizador (leiloeiro).

Experimentos computacionais demonstraramque, de forma geral, o algoritmo de leilao distri-buıdo descentralizado (mecanismo de leilao do al-goritmo FDA) obteve desempenho relativamentesuperior (em alguns aspectos) em relacao aos al-goritmos com agente centralizados. O ponto fracodo algoritmo de leilao distribuıdo, em princıpio eo fluxo de mensagem, pois esse envia mais mensa-gens por lance do que os outros algoritmos avali-ados. Apesar disso, o numero absoluto de mensa-gens enviadas pelo algoritmo distribuıdo e menordo que o numero de mensagens enviadas pelos al-goritmos com agente centralizador.

O trabalho apresentado possui algumas limi-tacoes que poderao ser eliminadas com o desen-volvimentos de trabalhos futuros. Existem ta-refas no mundo real que requerem que mais deum agente/robo para executa-la simultaneamente.Pretende-se adicionar recursos no algoritmo quepermitam esse tipo de coordenacao.

Apesar do desempenho observado, mais ex-perimentos quantitativos do algoritmo FDA de-vem ser realizados para avaliar a sua eficien-cia. Pretende-se futuramente aplicar o algoritmoem problemas reais, e posteriormente compararo desempenho do algoritmo com outros mode-los propostos por outros autores de outras areas,como modelos baseados na economia (Dias andStentz, 2003).

Referencias

Balas, E. and Padberg, M. W. (1976). Set partiti-oning: A survey, SIAM Review 18: 710–760.

Balch, T. and Arkin, R. (1999). Behavior-based formation control for multi-robot te-ams, IEEE Transactions on Robotics and Au-tomation.

Bertsekas, D. P. (1992). Auction algorithms, An-nals of Operations Research 1: 23–31.

Bertsekas, D. P. and Catanon, D. A. (1991). Pa-rallel synchronous and asynchronous imple-

mentations of the auction algorithm, ParallelComputing 17: 707–732.

Botelho, S. S. C. and Alami, R. (1999). M+: ascheme for multi-robot cooperation throughnegotiated task allocation and achievement.

Chaimowicz, L., Kumar, V. and Campos, M.(2004). A paradigm for dynamic coordina-tion of multiple robots, Autonomous Robots17(1).

Collier, N. (2000). Repast: An extensible fra-mework for agent simulation, Technical re-port, Social Science Research Computing,University of Chicago, Chicago, Illinois.

Dias, M. B., Zinck, M. B., Zlot, R. M. and Stentz,A. T. (2004). Robust multirobot coordina-tion in dynamic environments, IEEE Inter-national Conference on Robotics and Auto-mation (ICRA).

Dias, M. and Stentz, A. (2003). Traderbots:A market-based approach for resource, role,and task allocation in multirobot coordina-tion, CMU-RI-TR-03-19, Robotics Institute,Carnegie Mellon University, Pittsburgh, PA.

Gerkey, B. P. and Mataric, M. J. (2002). Sold!:Auction methods for multi-robot coordina-tion, ITRA 18(5): 758–768.

Gerkey, B., Vaughan, R. and Howard, A. (2003).The player/stage project: Tools for multi-robot and distributed sensor systems, Proc.Int’l Conf. on Advanced Robotics, pp. 317–323.

Kuhn, H. W. (1955). The hungarian method forthe assignment problem, Naval Research Lo-gistics Quarterly 2: 83–97.

Parker, L. (1998). Alliance: An architecturefor fault-tolerant multi-robot cooperation,14: 504–516.

Russell, S. and Norvig, P. (2003). Artificial Intel-ligence: A Modern Approach, second editionedn, Prentice Hall, Englewood Cliffs, NewJersey 07632.

Soriano Marcolino, L. and Chaimowicz, L. (2008).No robot left behind: Coordination to over-come local minima in swarm navigation, Pro-ceedings of the 2008 IEEE International Con-ference on Robotics and Automation.

Weiss, G. (1999). Multi-agent Systems: A ModernIntroduction to Distributed Artificial Intelli-gence, MIT Press.

Zavlanos, M. M., Spesivtsev, L. and Pappas, G. J.(2008). A distributed auction algorithm forthe assignment problem, IEEE Conferenceon Decision and Control 47: 1212–1217.