UMA ARQUITETURA DE CONTROLE PARA FORMAÇÃO LÍDER-SEGUIDOR, ENTRE UM VANT E UM VTNT, BASEADA EM MODELOS CINEMÁTICOS Lucas Vago Santana∗, Alexandre Santos Brandão†, Mário Sarcinelli Filho‡ ∗ † ‡ Coordenadoria de Automação Industrial, Instituto Federal do Espı́rito Santo - IFES, Linhares, ES, Brasil Departamento de Engenharia Elétrica, Universidade Federal de Viçosa - UFV, Viçosa - MG, Brasil Programa de Pós-Graduação em Engenharia Elétrica, Universidade Federal do Espı́rito Santo - UFES, Vitória, ES, Brasil Emails: [email protected], [email protected], [email protected] Abstract— This paper proposes a control structure for a leader-follower formation involving an unmanned ground vehicle (UGV) and an unmanned aerial vehicle (UAV ), based on their kinematic models. The developed system uses a centralized approach that allows, through a main computer, controlling the navigation of the vehicles and, thus, the navigation of the formation as a whole. The experimental platforms, their mathematical models and other structures necessary to carry out this type of navigation are described, and experimental results are presented, which demonstrate the effectiveness of the proposed methodology . Multi-robot systems, Autonomous navigation, Leader-follower formation, UGV/UAV hybrid for- Keywords— mation Resumo— Este artigo propõe uma estrutura de controle para formação lı́der-seguidor entre um veı́culo terrestre não tripulado (VTNT) e um veı́culo aéreo não tripulado (VANT), baseado em seus modelos cinemáticos. O sistema desenvolvido utiliza uma abordagem centralizada que permite, através de um computador principal, o controle automático da formação e da navegação dos veı́culos. O artigo descreve as plataformas experimentais e seus modelos matemáticos, além de outras estruturas necessárias para realizar este tipo de navegação. Resultados experimentais também são apresentados, os quais comprovam a eficácia da metodologia proposta. Palavras-chave— VTNT/VANT 1 Sistemas multirrobôs, Navegação autônoma, Formação lı́der-seguidor, Formação hı́brida Introdução O estudo de veı́culos aéreos não tripulados (VANTs) tem sido um assunto bastante explorado no meio acadêmico, com resultados significativos já publicados, como aqueles em (Müller et al., 2011), (Mellinger and Kumar, 2011) e (Santana et al., 2014a). Todos esses trabalhos utilizam como plataforma experimental veı́culos aéreos de pás rotativas do tipo quadrimotor. Credita-se o sucesso desta plataforma experimental, principalmente, à versatilidade do veı́culo, que é capaz de realizar manobras em diversas direções durante um voo. Em comparação com um veı́culo terrestre não tripulado (VTNT), a caracterı́stica de deslocamento tridimensional de um VANT aumenta o campo de visão, tornando-o útil para realização de tarefas cooperativas, como inspeção de grandes áreas (Hougen et al., 2000) ou detecção e desarmamento de minas terrestres (MacArthur et al., 2005), por exemplo. Sobre o controle de formação de veı́culos autônomos, em (Duan and Liu, 2010) é realizado um estudo teórico a respeito do uso de VANTs e VTNTs em formações heterogêneas, durante missões táticas de combate. Nesse trabalho, destacase que os VANTs apresentam vantagens importantes em relação aos VTNTs, principalmente quanto à visualização de grandes áreas, devido à sua mobilidade tridimensional. Em contraste, os VTNTs possuem mobilidade em terrenos acidentados com obstáculos e podem atuar mais facilmente em alvos terrestres. Em (Brandao et al., 2013) é possı́vel observar uma solução para o problema de formação VANTVTNT bastante similar àquela aqui apresentada. Porém, destaca-se que neste artigo o diferencial será na forma que a arquitetura de controle está implementada. Em (Brandao et al., 2013), há uma estrutura cinemática de controle de formação, utilizada para controlá-la, através sinais de controle de velocidade para controle de um VTNT e um VANT. Os sinais cinemáticos calculados para o VANT são velocidades que são integradas e, posteriormente, injetadas como posições desejadas em controlador dinâmico de posição de baixo nı́vel. Já neste artigo, os sinais de controle cinemáticos da formação serão inseridos diretamente em um controlador de velocidade o que depois das devidas análises matemáticas, evidenciará a capacidade do sistema de controlar uma formação desejada. Sendo assim, neste artigo o que se pretende é aplicar técnicas baseadas na modelagem cinemática dos veı́culos a fim de gerar uma aplicação prática de controle de formação. Será apresentada uma arquitetura centralizada, onde ambos os veı́culos (lı́der e seguidor) serão comandados através de um computador central. Este computador é responsável pelo gerenciamento de uma rede de em seus graus de liberdade. No caso do VTNT, isto significa ignorar efeitos fı́sicos reais durante um movimento, como a inércia do veı́culo, atrito e deslizamento das rodas com o piso, além de outros efeitos. Aqui adotou-se uma proposta similar a (Kanayama et al., 1990), porém adicionando uma cota virtual para zr . Dessa forma, definindo a postura do VTNT no sistema global de coordenaT das como Xr = xr yr zr ψr , seu modelo cinemático pode ser expresso como Figura 1: O VANT AR.Drone 2.0 e o VTNT Pioneer 3-DX, representados em conjunto com os sistemas de coordenadas adotados ({w} - global, {q} - quadrimotor e {r} - robô terrestre, respectivamente). comunicação dos dados sensoriais e também por rodar os algoritmos que geram os sinais de controle dos veı́culos. A contribuição deste artigo em relação a outras publicações similares está na arquitetura em si, onde verificaremos uma metodologia simplificada para o projeto de controladores, sua análise de estabilidade e, claro, a comprovação experimental de seu funcionamento. 2 Plataformas Experimentais Nesta Seção, apresentam-se brevemente as plataformas robóticas utilizadas na realização deste trabalho. 2.1 O Robô Terrestre Pioneer 3-DX Trata-se de um robô terrestre de tração diferencial, muito utilizado no meio acadêmico por sua robustez e confiabilidade. Tal veı́culo é comercializado pela empresa Adept Technology e conta com ferramentas computacionais para auxı́lio no desenvolvimento de software para o robô. O fabricante disponibiliza aos usuários desta plataforma uma biblioteca denominada ARIA, que habilita programadores a captar os sinais sensoriais processados no firmware do robô, bem como enviar sinais de comando para os atuadores, usando linguagem de alto nı́vel C++ (MobileRobots, 2006). Na Figura 1 há uma ilustração deste veı́culo, bem como a definição dos sistemas de coordenadas adotados. 2.1.1 Modelo Cinemático do VTNT O modelo cinemático para VTNTs é bastante conhecido na literatura (Kanayama et al., 1990). Este tipo de modelo é definido com um conjunto de equações diferenciais que representam uma aproximação do comportamento do veı́culo ẋr cos(ψr )vr ẏr sin(ψr )vr Ẋr = żr = 0.0 ωr ψ̇r 2.2 (1) O Robô Aéreo AR.Drone 2.0 Trata-se de um veı́culo aéreo não tripulado de pás rotativas, comercializado como um brinquedo de última geração, originalmente projetado para ser controlado através de smartphones ou tablets, através de uma rede Wi-Fi e protocolos especı́ficos de comunicação. Seu fabricante, a Parrot Inc., fornece gratuitamente um conjunto de ferramentas de software, que facilita o desenvolvimento de algoritmos de comunicação e controle para o AR.Drone. Detalhes adicionais podem ser encontrados em (Piskorski et al., 2012). Na Figura 1 há uma ilustração deste veı́culo, bem como o sistema de coordenadas adotado para o veı́culo. 2.2.1 Modelo Cinemático do VANT O modelo cinemático do VANT, será representado conforme Brandao et al. (2013). Assim como para o VTNT, isto significa aproximar através de equações diferenciais o comportamento do VANT em seus graus de liberdade. Neste caso, considera-se a capacidade do veı́culo em se estabilizar no ar, caracterı́stica garantida através de seu computador de bordo, assumindo assim que apenas inclinações e velocidades pequenas são desenvolvidas por ele. Para respresentar o veı́culo, suponha que no sistema de coordenadas {q} as velocidades desenvolvidas pelo veı́culo são vq = vqx vqy vqz vqψ T , com vqx sendo a velocidade linear no eixo xq , vqy a velocidade linear no eixo yq , vqz a velocidade linear no eixo zq e vqψ a velocidade angular em torno do eixo zq . Neste caso, em virtude do veı́culo sempre estar pairado no ar, ambas as velocidades desenvolvidas para zq serão assumidas idênticas no eixo zw . Levando os aspectos acima em consideração, define-se a postura do VANT representada no sistema global de coordenadas como Xq = T xq yq zq ψq , e tomando sua primeira derivada temporal, o modelo cinemático do VANT pode ser expresso como ẋq ẏq Ẋq = (2) żq = Rψq vq ψ̇q onde R ψq 3 cos(ψq ) − sin(ψq ) sin(ψq ) cos(ψq ) = 0 0 0 0 0 0 1 0 0 0 . 0 1 Formação Lı́der-Seguidor A fim de encontrar um controlador para a formação, adotaremos como modelo da estrutura lı́derseguidor a diferença entre as posturas dos robôs, obtendo assim Xf = Xr − Xq , onde Xf representa a estrutura da formação. Tomando a derivada de Xf , encontra-se Ẋf = Ẋr − Ẋq , e substituindo a equação (2) pode-se escrever Ẋf = Ẋr − Rψq vq (3) Prosseguindo, propomos a lei de controle vq = −R−1 ψq (−Ẋr + Ẋfd + κX̃f ) (4) para controlar as velocidades do seguidor, ou seja, o vetor vq , onde Xfd representa o valor desejado para as variáveis de interesse da formação, caracterizado como xrd − xqd xfd yfd yrd − yqd Xfd = zfd = zrd − zqd , ψrd − ψqd ψfd e X̃f = Xfd − Xf representa o erro da formação, com κ ∈ R4×4 sendo uma matriz de ganho diagonal e definida positiva. Substituindo a lei de controle (4) em (3), obtém-se, em malha fechada, a equação que governa a cinemática da formação, ou seja, ˙ + κX̃ = 0, X̃ f f (5) que se caracteriza como um sistema assintoticamente estável (Slotine and Li, 1991), permitindo concluir que X̃f → 0 quando t → ∞. Destaca-se que pelo formato do sinal de controle (4) o veı́culo seguidor será guiado pelo controlador, considerando em seu cálculo as velocidades vr e ωr do veı́culo lı́der, bem como sua orientação ψr . Isto implica, em termos práticos, que o VANT seguidor precisa das informações sensoriais do veı́culo lı́der e, quando isto é possı́vel, o controlador desta seção levará o veı́culo seguidor a desenvolver movimentos similares àqueles do lı́der mantendo a formação desejada. 3.1 Um Controlador de Velocidade para o AR.Drone 2.0 Conforme observado, a partir da lei de controle (4) o sistema calcula sinais de velocidade para o quadrimotor seguidor em vq . Tais velocidades, quando desenvolvidas, levam o erro de formação a convergir para o equilı́brio X̃f = 0. Entretanto, o AR.Drone não é preparado para receber diretamente sinais de velocidade (Piskorski et al., 2012) e (Santana et al., 2014c), sendo necessário estabelecer uma forma adequada de realizar esta tarefa. Sob essa ótica, considere que (4) calcula os valores desejados para as velocidades do AR.Drone em formação com o VTNT. Logo, para diferenciar sua notação nesta seção para Vqd , ou seja, estamos definindo uma ação de controle auxiliar. Conforme observado em nossos trabalhos anteriores (Santana et al., 2014c) e (Santana et al., 2014a), o AR.Drone possui um piloto automático, i.e., um estabilizador de voo de baixo nı́vel, que permite o comando do veı́culo através de um protocolo especı́fico. Neste protocolo os sinais de comando são normalizados, de sorte que de controle uq = cada elementodo vetor de sinais ux , uy , uz , uψ ∈ −1.0, +1.0 , sendo que • uz representa um comando de movimento linear sobre o eixo zw ; • uψ representa um comando de movimento angular em torno do eixo zw ; • uy representa um comando de inclinação, com movimento linear relacionado ao eixo yq ; • ux representa um comando de inclinação, com movimento linear relacionado ao eixo xq . Além disso, é fato conhecido (Engel et al., 2012; Piskorski et al., 2012; Krajnik et al., 2011) que a resposta do piloto automático quando estimulado por uq nos graus de liberdade supracitados, pode ser aproximada daquela que um sistema linear teria. Tal fato nos permitiu estabelecer, em (Santana et al., 2014c), que v̇q = K1 ux − K2 vqx x v̇qy = K3 uy − K4 vqy , (6) v̇q = K5 uz − K6 vqz z v̇qψ = K7 uψ − K8 vqψ onde os parâmetros K1 , · · · , K8 > 0 ∈ R são constantes de proporcionalidade que podem ser identificadas experimentalmente. Em outros termos, a resposta do AR.Drone aos sinais uq pode ser modelada conforme o sistema linear v̇q = Avq + Buq , (7) y = vq onde A ∈ R4×4 é uma matriz diagonal com todos os elementos reais e definidos negativos. Isto é equivalente a dizer que A é uma matriz Hurwitz, conforme Chen (1998). Já B ∈ R4×4 é uma matriz diagonal com todos os elementos reais definidos positivos. Finalmente, vq ∈ R4×1 é o vetor de estados do sistema linear, composto pelas velocidades desenvolvidas pelo AR.Drone em seus graus de liberdade. Sendo assim, é razoável propor que se o controlador (4) gera sinais de referência estáveis e limitados para as velocidades do AR.Drone (Vqd ), seria possı́vel rastrear estas referências, usando alguma técnica linear para projetar uq . Para tal, propomos aqui o método de alocação de polos por realimentação de estados, adotando uq = Vqd − Kvq (8) 4×4 onde K ∈ R é uma matriz de ganhos diagonal definida positiva. Dessa forma, este controlador de velocidade em malha-fechada com o sistema (7) resulta em v̇q = (A − BK) vq + BVqd | {z } , A′ y = vq (9) onde A′ = A − BK, com A′ ∈ R4×4 . Seguindo algum método experimental de identificação de sistemas, o leitor concluirá que as constantes de proporcionalidade que compõem A e B em (7) seguirão os termos expostos nesta seção (para maiores informações ver (Santana et al., 2014c)). Diante deste argumento, é possı́vel afirmar que a matriz A′ será Hurwitz, para qualquer valor arbitrário escolhido para compor a matriz de ganhos K, desde que definido positivo. Finalmente, isto leva-nos a afirmar que o seguimento das referências Vqd acontecerá de forma estável pelo AR.Drone, concluindo finalmente a convergência de todo o sistema à X̃f = 0. Destaca-se que no escopo deste trabalho, não há análise de desempenho do sistema no que se refere aos ganhos presentes em κ e K, embora a correta seleção destes valores tenha efeitos importantes, principalmente em relação ao seguimento imperfeito das velocidades desejadas calculadas em Vqd e, consequentemente, à oscilação, tempo de convergência e outras caracterı́sticas práticas do sistema em malha-fechada. Levando em consideração o fato do robô Pioneer 3-DX não se deslocar a velocidades muito elevadas, notou-se a possibilidade prática de ajustar os ganhos para obter bons resultados. Figura 2: Implementação da arquitetura de controle em malha-fechada. 4 Observações de Implementação Para implementar o sistema proposto, programamos no mesmo computador os códigos necessários para comandar o VTNT e o VANT, bem como ler e tratar as informações sensoriais de ambos. Em paralelo, foi projetado um Filtro de Kalman similar àquele de (Santana et al., 2014b), para estimar todas as informações sensoriais necessárias à realimentação do controlador. Destaca-se ainda o uso de dados extraı́dos por um algoritmo de visão computacional, preparado para observar um alvo preso na carcaça do VTNT, minimizando os efeitos dos erros numéricos de integração do sistema. Na Figura 2 é mostrado um diagrama de blocos que exemplifica como foi implementada a arquitetura do sistema em malha-fechada. Observase que o bloco controle do VTNT aparece no diagrama em malha-aberta. Este é o caso quando um operador humano guia o veı́culo lı́der através de comandos manuais vindos, por exemplo, de um joystick. Porém, nada impede que este controle também seja executado em malha-fechada, usando métodos como os de (Kanayama et al., 1990) e as informações sensoriais do vetor qr . 5 Resultados Experimentais Para validação da arquitetura de controle proposta, realizamos experimentos em laboratório, que serão explicados nesta seção. Nestes experimentos as variáveis da formação são estabelecidas como Xfd xrd xfd yfd yrd = zfd = zrd ψrd ψfd 1.5 − xqd − yqd = 0.0 . − zqd −1.0 0.0 − ψqd Em outras palavras, no referencial global xw o VANT deve se posicionar sempre 1.5 m atrás do VTNT, i.e., xfd = xrd − xqd = 1.5 m. Já em yw , ambos devem manter a mesma posição pois yfd = yrd − yqd = 0.0 m. Na cota zw , o VTNT sempre terá valor considerado 0.0 m, portanto a altitude de voo escolhida para o VANT é de 1 m, 1 0 −1 0.6 0.4 0.2 0 1 0.5 −0.2 −2 0 20 40 60 Tempo (seg) 80 Orientação ψ (rad) 2 Position Z (m) Position Y (m) Posição X (m) 3 0 0 20 40 60 Tempo (seg) 80 0 20 40 60 Tempo (seg) 80 Líder Seguidor 0.6 0.4 0.2 0 −0.2 −0.4 0 20 40 60 Tempo (seg) 80 0 −0.5 0 0 20 40 60 Tempo (seg) −1 80 Referência Sensores 0 f −0.5 0 −1 f f 1 0.5 0.5 ψ (rad) 1 0.5 Z (m) 2 1.5 Y (m) f X (m) (a) Posição e orientação global dos veı́culos. −1.5 0 20 40 60 Tempo (seg) −2 80 0 20 40 60 Tempo (seg) −0.5 80 0 20 40 60 Tempo (seg) 80 (b) Comparação entre os valores desejados (Referência) para a formação e as variáveis capturadas durante o experimento. Figura 3: Resultado experimental 1 - Controle manual do lı́der. 0 −1 −2 0.1 0 −0.1 −0.2 0 50 100 Tempo (seg) Orientação ψ (rad) 1 Position Z (m) Position Y (m) Posição X (m) 0.2 2 1 0.5 0 0 50 100 Tempo (seg) 0 Líder Seguidor 0.05 0 −0.05 50 100 Tempo (seg) 0 50 100 Tempo (seg) 0 −0.5 1 0.5 0 0 −0.5 0 50 100 Tempo (seg) −1 0.5 ψf (rad) 1 0.5 Zf (m) 2 1.5 Yf (m) f X (m) (a) Posição e orientação global dos veı́culos. −1 Referência Sensores 0 −1.5 0 50 100 Tempo (seg) −2 0 −0.5 50 100 Tempo (seg) 0 50 100 Tempo (seg) (b) Comparação entre os valores desejados (Referência) para a formação e as variáveis capturadas durante o experimento. Figura 4: Resultado experimental 2 - Controle automático do lı́der. pois zfd = zrd − zqd = −1.0 m. Finalmente, o ângulo de orientação também será o mesmo já que ψfd = ψrd − ψqd = 0.0 rad. No primeiro experimento, a proposta é operar manualmente o veı́culo lı́der (VTNT) e deixar que o algoritmo de controle navegue o veı́culo seguidor (VANT). O segundo experimento é idêntico, com a diferença da existência de um laço de controle automático para posicionar o lı́der sobre o eixo xw usando o controle similar àquele de (Kanayama et al., 1990). As filmagens de ambos os experimentos podem ser conferidas em http://youtu.be/82EeSVG4nBY e em http://youtu.be/Pk0E-7e4Cm8. As Figuras 3(a) e 4(a) exibem as posições globais e a orientação global de ambos os veı́culos, independentemente. É fácil visualizar no gráfico a reprodução do comportamento descrito nos parágrafos anteriores. Já nas Figuras 3(b) e 4(b) são exibidas as variáveis da formação, tanto no que se refere aos valores desejados (Xfd ) quanto aos valores coletados dos sensores durante o experimento (Xf ). Observa-se que o erro da formação tende a se anular ou se manter pequeno e limitado, quando o veı́culo está em movimento. Para uma análise mais crı́tica, observe apenas o grau de liberdade xf . Nesta parte da Figura 3(b), entre os instantes t = 0 s até t ≈ 10s, temos o inı́cio do experimento. Ali o sistema de controle é ligado e há uma pequena oscilação inicial, atribuı́da ao erro de formação inicial. Como o veı́culo lı́der fica alguns instantes parado, é possı́vel visualizar a tendência do erro de formação ser anulado. Já entre os instantes t ≈ 45 s até t ≈ 75s o lı́der realiza um grande movimento. No gráfico é possı́vel observar que, neste caso, o erro da formação existirá, porém limitado a 0.15 m em módulo. Atribui-se tal efeito, principalmente, ao seguimento imperfeito da velocidade de referência gerada para o VANT. Neste sentido, apesar de não discutido neste artigo, destaca-se que este erro pode ser minimizado ou potencializado com o ajuste dos ganhos κ e K. Portanto, apesar de teoricamente eles poderem ser escolhidos arbitrariamente para estabilidade, os valores práticos devem ser ajustados para o bom desempenho do controle. 6 Conclusões Neste trabalho abordamos uma aplicação de controle de formação lı́der-seguidor, utilizando um VANT e um VTNT comerciais, ambos plataformas difundidas na comunidade acadêmica, base- ando o equacionamento dos controladores nos modelos cinemáticos desses veı́culos. No decorrer das seções do artigo mostramos a modelagem adotada e a proposta do algoritmo e da arquitetura de controle necessários para realização da tarefa. Destaca-se que o sistema em malha-fechada possui sua respectiva análise de estabilidade, junto a breves considerações sobre suas limitações. No escopo do trabalho não existe análise de comportamento e desempenho do sistema sob fortes perturbações, mas experimentalmente concluı́mos que o fino ajuste das matrizes de ganho κ e K é suficiente para contornar efeitos não modelados. Finalmente, a validação da arquitetura proposta é obtida através de experimentos. Agradecimentos Os autores agradecem ao CNPq - Conselho Nacional de Desenvolvimento Cientı́fico e Tecnológico, e à FAPES - Fundação de Amparo à Pesquisa e Inovação do Espı́rito Santo, pelo apoio financeiro para a realização desta pesquisa. Eles também agradecem à UFES, ao IFES, à UFV e à FAPEMIG, por viabilizarem sua participação neste trabalho. Kanayama, Y., Kimura, Y., Miyazaki, F. and Noguchi, T. (1990). A stable tracking control method for an autonomous mobile robot, Proc. of the IEEE 1990 ICRA, Cincinnati, OH, USA, pp. 384–389. Krajnik, T., Vonasek, V., Fiser, D. and Faigl, J. (2011). Ar-drone as a platform for robotic research and education, in D. Obdrzalek and A. Gottscheber (eds), Research and Education in Robotics - EUROBOT 2011, Vol. 161 of Communications in Computer and Information Science, Springer. MacArthur, E. Z., MacArthur, D. and Crane, C. (2005). Use of cooperative unmanned air and ground vehicles for detection and disposal of mines, Proc. of the VI Intelligent Systems in Design and Manufacturing, Vol. 5999, Boston, MA. Mellinger, D. and Kumar, V. (2011). Minimum snap trajectory generation and control for quadrotors, Proc. of the 2011 IEEE ICRA, Shanghai, China, pp. 2520–2525. MobileRobots, A. (2006). Pioneer 3 Operations Manual with MobileRobots Exclusive Advanced Robot Control & Operations Software, MobileRobots Inc. Version 3.0. Referências Brandao, A., Sarcinelli-Filho, M. and Carelli, R. (2013). Leader-following control of a uav-ugv formation, Advanced Robotics (ICAR), 2013 16th International Conference on, Montevideo, Uruguay, pp. 1–6. Chen, C.-T. (1998). Linear System Theory and Design, 3rd edn, Oxford University Press, Inc., New York, NY, USA. Duan, H. and Liu, S. (2010). Unmanned air/ground vehicles heterogeneous cooperative techniques: Current status and prospects, Science China Technological Sciences 53(5): 1349–1355. Engel, J., Sturm, J. and Cremers, D. (2012). Camera-based navigation of a low-cost quadrocopter, Proc. of the 2012 IEEE IROS, Vilamoura-Algarve, Portugal, pp. 2815– 2821. Hougen, D. F., Benjaafar, S., Bonney, J., Budenske, J., Dvorak, M., Gini, M. L., French, H., Krantz, D. G., Li, P. Y., Malver, F., Nelson, B. J., Papanikolopoulos, N., Rybski, P. E., Stoeter, S., Voyles, R. M. and Yesin, K. B. (2000). A miniature robotic system for reconnaissance and surveillance., Proc. of the 2000 IEEE ICRA, IEEE, pp. 501–507. Müller, M. W., Lupashin, S. and D’Andrea, R. (2011). Quadrocopter ball juggling, Proc. of the 24th IEEE IROS, San Francisco, USA, pp. 5113–5120. Piskorski, S., Brulez, N., Eline, P. and DHaeyer, F. (2012). AR.Drone Developer Guide, Parrot. SDK Version 2.0. Santana, L. V., Brandão, A. S., Sarcinelli-Filho, M. and Carelli, R. (2014a). A computational system for trajectory tracking and 3d positioning of multiple uavs, Proc.of the 2014 IEEE SBR-LARS, São Carlos, São Paulo, Brazil, pp. 118–123. Santana, L. V., Brandão, A. S., SarcinelliFilho, M. and Carelli, R. (2014b). Modelagem, estimação de estados e controle de formação lı́der-seguidor usando o quadrimotor ar.drone, Anais do XX Congresso Brasileiro de Automática, Belo Horizonte, MG, pp. 3453–3460. Santana, L. V., Brandão, A. S., Sarcinelli-Filho, M. and Carelli, R. (2014c). A trajectory tracking and 3d positioning controller for the ar.drone quadrotor, Proc. of the 2014 IEEE ICUAS, Orlando, FL, USA, pp. 756–767. Slotine, J.-J. and Li, W. (1991). Applied Nonlinear Control, Prentice Hall.