Desenvolvimento do Controle LQR para um quadrirotor AR.Drone Natanaele do Nascimento Balica ∗ Renato Vilela Lopes † Novembro de 2020 Resumo O quadrirotor é uma aeronave que possui quatro motores que são responsáveis pelo movimento do mesmo através da diferença de suas velocidades de giro. Devido ao seu sistema dinâmico de grande complexidade, sendo estes subatuados e instáveis, há a necessidade do desenvolvimento de estratégias para sua estabilização. Esses veículos, por possuírem uma estrutura compacta, sofrem grande influência do ambiente, onde este pode deixá-los instáveis como as turbulências e forças aerodinâmicas por exemplo. Logo, para uma locomoção vertical e horizontal eficiente, são construídos controles que mantém esse sistema estável durante os voos. Assim, este trabalho apresenta uma abordagem de controle automático para um quadirotor. Para isso, foi construído um controlador LQR na plataforma Matlab/simulink para o AR.Drone 2.0. Palavras-chaves:AR.Drone 2.0. Modelo Dinâmico. Controlador LQR. Quadrirotor Introdução Nos últimos anos, a utilização de Veículos Aéreos Não Tripulados ou do inglês UAVs (Unmanned Aerial Vehicles) tem crescido consistentemente. Dentre suas aplicações estão as fotografias aéreas,entrega de encomendas de tamanho reduzido, transporte de cargas ou mesmo o auxílio do resgate de pessoas. Um quadrirotor é um veículo aéreo impulsionado por quatro rotores, no qual obtém-se o controle do mesmo ao se variar a velocidade relativa de cada um dos rotores para se alterar o empuxo e torque produzidos por eles. (BOUGUERRA ABDERRAHMEN SAIGAA, 2015). Além disso, há uma vasta gama de pesquisas envolvendo essas aeronaves, principalmente na engenharia, onde são usados em experimentos para novas técnicas ou aprimoramento do voo na área de sistemas de controle. O movimento é realizado através ∗ † <natanaelebalic@gmail.com> <rvlopes@unb.br> 1 da manipulação das velocidades de rotação dos quatro rotores que não dependem um do outro, em função disso torna-se possível o controle da orientação (atitude), definida por três parametros dinâmicos: o ângulo de rolamento, o de arfagem e de guinada.(BALAS, 2006-2007). Os UAVs podem ser controlados de maneira autônoma, no qual se usa um computador para traçar suas rotas e monitorar o voo ou com um controle remoto, onde há um piloto responsável por toda a movimentação. Além do mais, os quadrirotores que conseguem decolar e aterrissar verticalmente, chamados de VTOL (V ertical Take-Off and Landing), são capazes de se movimentar em qualquer direção e ficar pairando. Existe também uma facilidade no seu pouso, já que não necessitam de uma pista para isso.(VELOSA, 2011). Há uma aplicação desses veículos para cada conjunto de características da sua construção. Entre suas inúmeras modalidades, estão aqueles que possuem uma asa fixa, como os aviões por exemplo, asas móveis onde existem hélices em torno do seu corpo, como os quadrirotores, entre outras.(COSTA, 2012). Além disso, possuem diferentes modelagens dinâmicas bem como distintos sistemas de controle. Neste trabalho foi utilizado um quadrirotor, que é um sistema eletromecânico de grande complexidade. Desse modo inúmeros testes foram realizados para o entendimento do seu sistema dinâmico e formas de controle, já que nestes veículos os controladores robustos são essenciais.(BABU V. MADHU DAS, 2017). O modelo escolhido para análise e desenvolvimento dos experimentos, foi o AR.Drone 2.0, sendo este um UAV de baixo custo e geralmente aplicado para fins de entretenimento. 1 Plataforma Utilizada 1.1 AR.Drone 2.0 O AR.Drone 2.0 mostrado na figura 1 é a segunda versão do quadrirotor original, construído pela empresa Francesa Parrot SA. É um modelo conhecido comercialmente, já que é utilizado muitas vezes, no entretenimento. Devido ao seu fácil manuseio e baixo custo é objeto de estudo em inúmeras pesquisas acadêmicas, inclusive sua escolha para este trabalho ocorreu em função de tais caracteristicas. Figura 1 – Ar.Drone 2.0 Neste veículo suas quatro hélices tem a proteção de uma estrutura de isopor (carena) para uma maior segurança de voo. Seu frame é construido com fibra de carbono, possui acelerometros, giroscópios, ultrassom, magnetômetros, sensor de pressão. Seus inúmeros 2 sensores contribuem para uma posição mais precisa. Uma das câmeras desse modelo grava em 720p e o mesmo ainda pode ser controlado por tablets e smarthphones através de conexão WiFi. E ainda possui um processador ARM Cortex A8, quatro motores sem escovas de 28500 RPM e uma autonomia de voo de 10 a 15 minutos. 1.2 Simulink AR.Drone Target O suporte de hardware do Parrot é uma toolbox, onde já existem documentos e algoritmos prontos para a implementação e testes de voo. O simulink do MATLAB 2016a é o ambiente utilizado para a construção dos controladores personalizados para o AR.Drone 2.0. A comunicação com o computador é feita via WiFi e a partir disso os algoritmos implementados na toolbox são testados. E ainda, é possivel que usuários criem modelos de controladores ou mesmo aprimorem os já existentes. 2 Modelo dinâmico do Quadrirotor Na modelagem de um quadrirotor ocorre a manipulação matemática dos seus controles de atitude, onde eles são a representação de quatro dos seus seis eixos de liberdade. Tais eixos são conhecidos como Arfagem θ, Rolagem φ, Guinada ψ e Altitude z, que são respectivamente, momento no eixo y, momento no eixo x, momento no eixo z e movimento no eixo z.(MATTIELLO BEATRIZ T. BORSOI, 2015). Figura 2 – Sistema de Coordenadas do quadrirotor (ISLAM MAIDUL OKASHA, 2017) A figura 2 mostra a estrutura básica do quadrirotor em um sistema de coordenadas, no qual ilustra os movimentos e descreve os elementos usados em suas equações. Ao se utilizar as leis da aerodinâmica (OKYERE EMMANUEL BOUSBAINE, 2019) é possivel obter o modelo dinâmico do quadirotor em função de suas acelerações lineares e angulares. Desse modo, as equações no espaço de estados podem ser escritas 3 como (SA, 2012): U ẍ = (cos φ sin θ cos ψ + sin φ sin ψ) m U ÿ = (cos φ sin θ cos ψ − sin φ sin ψ) m U z̈ = −g + (cos φ cos θ) m Iyy −Izz r − IJxx φ̈ = θ̇ ψ̇ θ̇Ω + IUxx Ixx Izz −Ixx − IJyyr φ̇Ω + IUyy θ̈ = φ̇ ψ̇ Iyy I −I ψ̈ = φ̇θ̇ xx yy + U Izz (1) Izz Onde roll, pitch e yaw são representados respectivamente por φ, θ e ψ, além disso Jr é a inércia do rotor e Ixx , Iyy e Izz são os momentos de inércia de cada eixo do UAV.(SA, 2012). O vetor de entradas, u, pode ser definido como na equação abaixo: 2 U1 = b Ω21 + Ω22 + Ω23 + Ω 4 U2 = bL Ω24 − Ω22 U3 = bL Ω23 − Ω21 2 2 2 2 (2) U4 = d Ω2 + Ω4 − Ω1 − Ω3 3 Regulador Quadrático Linear (LQR) O LQR é um controlador ótimo utilizado em sistemas modelados no espaço de estados, ou seja, a planta possui uma dimensão alta, entradas e saídas variadas. A modelagem do quadrirotor, na forma de espaço de estados, foi realizada para a aplicação do projeto do controlador LQR na mesma. As equações utilizadas para esse controle podem ser expressas na forma de espaço de estados como: ẋ = Ax + Bu y = Cx (3) No qual A e B são matrizes que representam o modelo dinâmico do quadrirotor e C é a matriz de saída. O x(t) é o vetor de estados, u(t) o vetor de entrada e y(t) o vetor de saída. O sinal de controle será: u = −Kx (4) No LQR, uma função custo é definida e busca-se o melhor sinal de controle para minimizar tal função.(DHEWA OKTAF AGNI DHARMAWAN, 2017). J= Z ∞ xT Qx + uT Ru dt 0 4 (5) Observa-se na figura 3, a malha de controle para estabilização do sistema, sendo este o diagrama de blocos do LQR, que está regulando a saída da planta em zero. Figura 3 – Diagrama de blocos do controlador LQR O vetor de estados e o vetor de entrada são dados respectivamente por: x = h iT x, ẋ, y, ẏ, z, ż, φ, φ̇, θ, θ̇, ψ, ψ̇ e u = [u1 , u2 , u3 , u4 ]T . Q e R são as matrizes de ponderação definidas, positivas e simétricas. Nessas matrizes especifica-se os fatores com maior importância, sendo estes o desempenho do controle que é referente ao Q, ou o R, relativo a energia gasta para realizar este controle. Na aquisição do ganho K, calcula-se (OKYERE EMMANUEL BOUSBAINE, 2019): K = R−1 B T P (6) Na equação 6, P é obtido a partir da resolução equação algébrica de Ricatti.(OKYERE EMMANUEL BOUSBAINE, 2019) AT + P A − P BR−1 B T P + Q = 0 (7) A função J é uma representação da função energia do sistema, de modo que, torna-la menor reduzirá a energia total desse sistema em malha fechada.(TOSUN DEMET CANPOLAT ISIK, 2015). 3.1 Matrizes de Ponderação Q e R As matrizes Q e R, são puramente diagonais, ou seja são definidos apenas os elementos da diagonal principal, todos os outros valem zero. E ainda, é nessa diagonal que se especifica a ponderação requerida para cada estado. Os valores dessas matrizes são escolhidos conforme a definição do problema, levando em consideração o que se mostra mais importante. Onde Q e R são variados, até que se obtenham variáveis de estado com características adequadas ao projeto, como uma resposta transitória satisfatória, por 5 exemplo. q11 0 0 0 q 0 11 0 q33 Q= 0 . . . 0 0 0 x1 ... 0 x ... 0 2 ... 0 x3 ... ... ... qnn x12 (8) u1 r1 0 0 0 0 r 0 0 u2 2 R= 0 0 r3 0 u3 0 0 0 r4 u4 (9) O controle é realizado conforme os pesos atribuídos a cada elemento da diagonal, nas matrizes Q e R. 4 Metodologia 4.1 Manutenção no Frame Um dos motores do AR.Drone 2.0 apresentava um problema em sua rotação devido ao empeno do eixo do motor, então foi feita a troca de sua cruz central. Como este conjunto localiza-se no fundo do quadrirotor, a placa-mãe , sensores e fiação foram removidos. Assim, com o manejo da espuma que envolve o frame, houve a substitução da cruz e em seguida remontou-se o veículo. 4.2 Calibração dos sensores Fez-se necessário a calibração dos sensores após a troca de sua cruz central para realinhar seus parâmetros. Desse modo, foi utilizada a Toolbox mencionada na seção 1.2, que detalha todo o preocedimento a ser realizado, mostrando a posição no qual deve-se colocar o AR.Drone ao se calibrar cada sensor. Com isso, as ferramentas Calibrating The AR Drone Sensors Model e Calibrating The AR Drone Sensors foram usadas, onde a primeira foi executada no simulink e a segunda passou algumas instruções de posição a serem seguidas. Ao se calibrar o acelerômetro, as posições do Ar.Drone 2.0 nos eixos x, y e z com sentido positivo ou negativo são modificadas. No Giroscópio, o quadrirotor é posicionado em uma superficie plana horizontal e para o magnetômetro são realizadas as rotações em torno de seus eixos de arfagem, rolagem e guinada (roll,pitch,yaw). E ainda, é necessario considerar como referência a posição da câmera. Após todos os procedimentos, os novos parâmetros são salvos. 4.3 AR.FreeFlight O AR.FreeFlight é um aplicativo que permite o controle do AR.Drone 2.0 por meio de um smartphone ou tablet. Movimentos básicos ou complexos podem ser realizados e ainda é possível a gravação de vídeos durante o voo. Dessa forma, foram feitos os testes de voo, usando o modo piloting do aplicativo, para a análise da estabilidade do veículo pairando a um metro. 6 Figura 4 – AR.Drone 2.0 pairando 4.4 Controle LQR Os testes de voo com o modelo de controle, free flight, pertencente a Toolbox, mostraram grande instabilidade, uma vez que o quadrirotor apresentou oscilações e não conseguiu alçar voo ou mesmo pairar. Constatou-se a presença de um problema neste controlador, já que nos experimentos utilizando o aplicativo AR.FreeFlight o UAV se mostrou estável. Dessa forma, houve a necessidade da implementação de um novo controle para a toolbox, o regulador LQR. O desenvolvimento do LQR foi elaborado para o controle da atitude do AR.Drone 2.0. Seus parâmetros já tinham sido identificados, logo foi possível realizar o projeto do controlador. No entanto, este controle só mostra eficácia em um modelo linear e como a equação 2 é não linear, precisa-se linearizar. Para isso, usou-se o software Matlab para 1 , que faz a linearização para cada variável do vetor de estados construção do algoritmo h i do quadrirotor x, ẋ, y, ẏ, z, ż, φ, φ̇, θ, θ̇, ψ, ψ̇ em relação ao ponto de operação do modelo, (0,0,0,0,1,0,0,0,0,0,0,0). No cálculo do ganho K, usou-se uma função do matlab que constrói uma matriz de ganho por meio de suas matrizes de ponderação Q e R. Esta é dada pelo comando dlqr (A, B, Q, R). No desenvolvimento desse controle, trabalhou-se com um ganho baixo para que o mesmo não saia do seu ponto de operação. Uma função foi construída e inserida no arquivo do simulink. A velocidade de rotação dos motores no arquivo com o modelo e controle do quadrirotor, está em RPM Rotação Por Minuto, já a entrada de controle na Toolbox está em porcentagem de PWM, 1 Elaborado pelo Professor Renato Vilela 7 do inglês Pulse-Width Modulation. Então, a função faz o mapeamento entre velocidade e porcentagem de PWM. Por fim, com o LQR fazendo o devido controle das posições e ângulos do quadrirotor, realizou-se a substituição do controlador da Toolbox pelo regulador desenvolvido, para a execução dos testes de voo. 5 Resultados 5.1 Matrizes de Ponderação As matrizes Q e R obtidas, podem ser observadas abaixo. Ao se fazer os experimentos para encontrar os valores adequados, levou-se em consideração, principalmente os valores de θ, φ e z, possuindo, assim, um peso maior. Q= 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 2000 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 2000 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 2000 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 1 R= 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 (10) (11) 5.2 Identificação da Equação de PWM vs Rotações do motor(RPM) Na equação identificada, foram utilizados os parâmetros de rotações dos motores de acordo com (MIRANDA, 2019). Baseando-se na análise experimental da relação de porcentagem de PWM e as rotações dos motores extraiu-se a equação matemática para ser incorporada ao modelo de simulação. Observa-se na figura 10, o bloco MATLAB function, onde foi implementada a equação. A saída do LQR está conectada ao bloco para que seus valores em RPM sejam transformados em porcentagem de PWM. y − y0 = m(x − x0 ) (12) y = 3, 8416x + 115, 58 (13) 8 x= y − 115, 58 3, 8416 (14) A partir do plano cartesiano da figura 6, encontrou-se a equação da reta, já que seus pontos seguem uma tendência linear. A equação final fica na forma de 14. Figura 5 – Gráfico da relação entre Rotações dos motores (RPM) e Porcentagem de PWM 5.3 Modelagem desenvolvida no Simulink O modelo de controle do AR.Drone 2.0 construído no Simulink é mostrado na figura 10, no qual são passados valores de referência a serem seguidos na malha de controle. É realizada uma compensação com o bloco u_equibrio, bem como o bloco x_equilibrio é subtraído de cada cada variável de realimentação. Onde este é um vetor com as doze variáveis de estado, passando, dessa forma, as referências ao modelo. Com a matriz de ganho K calculada a partir das matrizes Q e R, obtém-se o controle do sistema, ou seja, de suas posições, altura e ângulos. Figura 6 – Diagrama de blocos do controlador LQR 9 5.4 Resultado da Simulação Nas figuras 7,8,9 são mostradas as respostas da simulação do modelo contruído, apresentando o controle das posições e ângulos do quadrirotor, com base na referência atribuída , o x_equilibrio = [1; 0; 1; 0; 1; 0; 0; 0; 0; 0; 0; 0]. Figura 7 – Respostas das posições X e Y Na análise dos valores obtidos, observa-se na figura 7 o controle das posições X e Y, de forma que ambas estabilizam em 1 metro, sendo este o valor desejado. Seu tempo de resposta foi de aproximadamente 7 segundos, assim, os critérios do projeto foram atendidos. Figura 8 – Resposta da Altura e do Ângulo Roll O controle do movimento vertical do quadrirotor, observado no gráfico da altura na figura 8, alcança o valor de 1 metro em aproximadamente 7 segundos, tornando-se estável, contudo, possui certa ultrapassagem. O ângulo de rolagem (roll), atinge a estabilidade em 0 radianos, com tempo de resposta de aproximadamente 7 segundos. Para os ângulos o valor setado é 0 radiano, porque o veículo está pairando. O resultado dos Ângulos de Pitch e Yaw simulados, são mostrados na figura 9, no qual o objetivo de controle de ambos é manter o ângulo em 0 radianos. A resposta desejada é atingida aos 5 segundos, possuindo ultrapassagem inicialmente e em seguida estabiliza. 10 Figura 9 – Resposta dos Ângulos Pitch e Yaw 5.5 Substituição do controle da Toolbox Figura 10 – Controlador LQR implementado na Toolbox O controle desenvolvido foi implementado dentro do arquivo simulink Free_Flight, que foi modificado para que houvesse a devida substituição de um controlador por outro. O bloco Attitude and altitude estimation contém dois outros: o bloco Simulink de medição inercial que irá ler os dados do sensor e o bloco do Sistema de Navegação para calcular a atitude e altitude desses dados. Assim, as posições e ângulos são enviados ao LQR que fará o controle e passará os sinais controlados aos atuadores no bloco Motors e então é realizada a interface dos comandos comuputados dos motores com os motores do AR.Drone 2.0. 6 Conclusão Neste estudo, foi utilizado o suporte de hardware do AR.Drone 2.0 para testes experimentais de sistemas de controle, bem como o desenvolvimento de um controlador LQR para controlar ângulos e posições do quadrirotor. Dessa forma, tornou-se imprescindível o entendimento da dinâmica de um UAV, manusear as ferramentas da toolbox e compreender o funcionamento de um Regulador Quadrático Linear. No Matlab/Simulink foram feitos os controles de posição e controle dos ângulos para o modelo do AR.Drone 2.0. Desse modo, o controlador LQR foi elaborado e testado em ambiente de simulação. As respostas da simulação mostraram que as matrizes de ponderação escolhidas, conseguiram atender as epecificações de desempenho do controlador, 11 onde o mesmo conseguiu estabilizar as posições e ângulos desejados. Então, o controlador desenvolvido foi inserido na Toolbox para que fossem realizados os testes de voo. Todavia, os testes em ambiente real, no qual, o controle da Toolbox seria substituido pelo controlador construído, não foram efetuados. Isso ocorreu em função da Pandemia do Covid-19, já que não foi possível fazer a quantidade necessária de testes para o ajuste correto do controle implementado na Toolbox. Referências BABU V. MADHU DAS, K. K. S. Designing of self tuning pid controller for ar drone quadrotor. 2017 18th International Conference on Advanced Robotics, ICAR 2017, p. 167–172, 2017. Citado na página 2. BALAS, C. Modelling and Linear Control of a Quadrotor. 150 p. Tese (Doutorado) — Cranfield University, 2006–2007. Citado na página 2. BOUGUERRA ABDERRAHMEN SAIGAA, D. K. K. Z. S. Fault tolerant lyapunov gain scheduled pid control of a quadrotor uav. International Journal of Intelligent Engineering and Systems, v. 8, n. 2, p. 1–6, 2015. Citado na página 1. COSTA, E. B. Algoritmos de Controle Aplicados a EstabilizaÇão do Voo de um Quadrotor. 133 p. Dissertação (Mestrado) — Universidade Federal de Juiz de Fora, 2012. Citado na página 2. DHEWA OKTAF AGNI DHARMAWAN, A. P. T. K. Model of linear quadratic regulator (lqr) control method in hovering state of quadrotor. Journal of Telecommunication, Electronic and Computer Engineering, v. 9, p. 135–143, 2017. Citado na página 4. ISLAM MAIDUL OKASHA, M. M. I. M. Trajectory tracking in quadrotor platform by using pd controller and lqr control approach. IOP Conference Series: Materials Science and Engineering, v. 260, 2017. Citado na página 3. MATTIELLO BEATRIZ T. BORSOI, K. C. L. F. F. C. C. D. Controle de atitude para veículos aéreos não tripulados do tipo quadricóptero: Pid vs lógica fuzzy. p. 111–120, 2015. Citado na página 3. MIRANDA, I. Identificação dos parâmetros físicos de um quadrirotor ar.drone. p. 1–12, 2019. Citado na página 8. OKYERE EMMANUEL BOUSBAINE, A. P. G. T. J. A. K. A. J. M. Lqr controller design for quadrotor helicopters. The Journal of Engineering, p. 4003–4007, 2019. Citado 2 vezes nas páginas 3 e 5. SA, R. C. CONSTRUÇÃO, MODELAGEM DINÂMICA E CONTROLE PID PARA ESTABILIDADE DE UM VEÍCULO AÉREO NÃO TRIPULADO DO TIPO QUADRIROTOR. Dissertação (Mestrado) — Universidade Federal do Ceará, 2012. Citado na página 4. 12 TOSUN DEMET CANPOLAT ISIK, Y. K. H. Lqr control of a quadrotor helicopter. New Developments in Pure and Applied Mathematics LQR, p. 247–252, 2015. Citado na página 5. VELOSA, C. M. N. Controlo da PosiÇão e da Atitude de um Quadrotor por Referências Programáveis. Dissertação (Mestrado) — Universidade da Beira Interior, 2011. Citado na página 2. 13