Uploaded by Natanaele Balica

Relatorio PIBIC 2019 2020

advertisement
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
Download