• Nenhum resultado encontrado

No desenvolvimento das simulações, observou-se que os momentos produzidos pelo efeito da precessão giroscópica apresentaram valores pouco significativo quando comparado ao momento produzido pela força de empuxo dos propulsores. Observou-se que alguns autores desprezam o efeito da precessão giroscópica em seus artigos simplificando o equacionamento. Seria importante em um trabalho futuro verificar se a influência da precessão giroscópica sobre o momento tem maior influência em aeronaves de maior ou menor porte.

Referência Bibliográfica

ABAUNZA, Hernan et al. Dual Quaternion Modeling and Control of a Quad-rotor Aerial Manipulator. Journal of Intelligent & Robotic Systems, v. 88, n. 2-4, p. 267-283, 2017.

AMUKELE, Timothy et al. Drone transportation of blood products. Transfusion, v. 57, n. 3, p. 582-588, 2017.

BONDYRA, Adam et al. Performance of coaxial propulsion in design of multi-rotor UAVs. In: Challenges in Automation, Robotics and Measurement Techniques. Springer, Cham, 2016. p. 523-531.

BOTHEZAT, George. Helicopter. U.S. Patent n. 1,749,471, 4 mar. 1930.

BOUABDALLAH, Samir; SIEGWART, Roland Y. Full control of a quadrotor. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, 2007: IROS 2007; Oct. 29, 2007-Nov. 2, 2007, San Diego, CA. Ieee, 2007. p. 153-158.

BRYZEK, Janusz. Impact of MEMS technology on society. Sensors and Actuators A: Physical, v. 56, n. 1-2, p. 1-9, 1996.

COZA, Cosmin; MACNAB, Ca JB. A new robust adaptive-fuzzy control method applied to quadrotor helicopter stabilization. In: Fuzzy Information Processing Society, 2006. NAFIPS

2006. Annual meeting of the North American. IEEE, 2006. p. 454-458.

DYDEK, Zachary T.; ANNASWAMY, Anuradha M.; LAVRETSKY, Eugene. Adaptive control of quadrotor UAVs: A design trade study with flight evaluations. IEEE Transactions

on control systems technology, v. 21, n. 4, p. 1400-1406, 2013.

EFRAIM, Hanoch; SHAPIRO, Amir; WEISS, Gera. Quadrotor with a dihedral angle: on the effects of tilting the rotors inwards. Journal of Intelligent & Robotic Systems, v. 80, n. 2, p. 313-324, 2015.

EMILIAVACA, A. SMArt MORPHING WING: um protótipo de asa adaptativa acionada por micromolas de liga com memória de forma. 2016. 107 f. Dissertação (Mestrado em Engenharia

Mecânica) – Programa de Pós-Graduação em Engenharia Mecânica, Centro de Ciências e Tecnologia, Universidade Federal de Campina Grande, Paraíba, Brasil, 2016.

HARTMAN, MMSMD; LANDIS, K.; CHANG, JKDBC. Quadcopter dynamic modeling and simulation. In: freeware project presented at “2014 MATLAB and Simulink Student

Design Challenge”. 2015.

IRIZARRY, Javier; GHEISARI, Masoud; WALKER, Bruce N. Usability assessment of drone technology as safety inspection tools. Journal of Information Technology in Construction (ITcon), v. 17, n. 12, p. 194-212, 2012.

LEE, Daewon; KIM, H. Jin; SASTRY, Shankar. Feedback linearization vs. adaptive sliding mode control for a quadrotor helicopter. International Journal of control, Automation and

systems, v. 7, n. 3, p. 419-428, 2009.

LEISHMAN, J. Gordon; ANANTHAN, Shreyas. Aerodynamic optimization of a coaxial proprotor. In: Annual Forum Proceedings-American Helicopter Society. American Helicopter Society, INC, 2006. p. 64.

LIEW, Chun Fui et al. Recent Developments in Aerial Robotics: An Survey and Prototypes Overview. arXiv preprint arXiv:1711.10085, 2017.

LUPASHIN, Sergei et al. A platform for aerial robotics research and demonstration: The flying machine arena. Mechatronics, v. 24, n. 1, p. 41-54, 2014.

MARQUES, Nuno Miguel dos Santos. Integrated architecture for vision-based indoor localization and mapping of a quadrotor micro-air vehicle. 2014. Tese de Doutorado.

MULLER, Richard A. Thomas precession: Where is the torque?.American journal of physics, v. 60, n. 4, p. 313-317, 1992.

NEMATI, Alireza; KUMAR, Manish. Modeling and control of a single axis tilting quadcopter. In: American Control Conference (ACC), 2014. IEEE, 2014. p. 3077-3082.

OLIVEIRA, Uruatã Dias. Instrumentação e controle de um helicóptero rádio controlado com três graus de liberdade. 2016. xii, 74 f., il. Monografia (Bacharelado em Engenharia Mecatrônica) - Universidade de Brasília, Brasília, 2016.

ORSAG, Matko; BOGDAN, Stjepan. Influence of forward and descent flight on quadrotor dynamics. In: Recent Advances in Aircraft Technology. InTech, 2012.

PARTOVI, Ali Reza et al. Development of a cross style quadrotor. In: AIAA Guidance, Navigation, and Control Conference. 2012. p. 4780.

PRABHA, M.; THOTTUNGAL, Rani; KALIAPPAN, S. Modeling and Simulation of X-

Quadcopter Control. International Journal for Research in Applied Science & Engineering

Technology (IJRASET).[online] Available at: http://www. ijraset. com/fileserve. php, 2016.

QUAN, Quan. Introduction to multicopter design and control. Singapore: Springer Singapore, 2017.

KUMAR, Prem et al. Quad Band Signal Strength Monitoring System Using Quadcopter and Quad Phone. Journal of Green Engineering, v. 5, n. 1, p. 1-22, 2014.

RAJPOOT, Anurag Singh; GADANI, Namrata; KALATHIA, Sagar. Development of Arduino Based Quadcopter. International Advanced Research Journal in Science, Engineering and

Technology, v. 3, n. 6, 2016.

SCHÖLLIG, Angela; AUGUGLIARO, Federico; D’ANDREA, Raffaello. A platform for dance performances with multiple quadrocopters. Improving Tracking Performance by Learning from Past Data, v. 147, 2012.

THEYS, Bart et al. Influence of propeller configuration on propulsion system efficiency of multi-rotor unmanned aerial vehicles. In: Unmanned Aircraft Systems (ICUAS), 2016 International Conference on. IEEE, 2016. p. 195-201.

VALER, Leila Ana. Modelo matemático ARIMAX de um propulsor eletromecânico

utilizado em naves do tipo multirrotor. 2016.

ZIPFEL, Peter H. Modeling and simulation of aerospace vehicle dynamics. American Institute of Aeronautics and Astronautics, 2007.

YOON, Steven; CHAN, William M.; PULLIAM, Thomas H. Computations of torque- balanced coaxial rotor flows. In: 55th AIAA Aerospace Sciences Meeting. 2017. p. 0052.

Apêndice A

Obtenção dos parâmetros

No capítulo 3 é descrito o modelo matemático que representa a dinâmica de voo de aeronaves. A Tabela 3 descreve os parâmetros que serão necessários para a simulação de voo. No presente apêndice são descritos procedimentos para identificar esses parâmetros em um quadrirrotor.

Coeficiente de torque e coeficiente de empuxo

Quan (2017), descreve como forma de determinar o empuxo e o torque produzido por um propulsor em função de seus coeficientes conforme apresenta as equações (45) e (46):

𝑇 = cT 𝜌 (𝑁 60) 2 𝐷𝑝4 (45) 𝑀 = cq 𝜌 (𝑁 60) 2 𝐷𝑝5 (46)

Os coeficientes de torque e coeficientes de empuxo podem ser determinados matematicamente utilizando a teoria das lâminas e teoria do momento ou, podem ser obtidos experimentalmente. Uma forma de obter os valores experimentalmente é utilizando plataformas apropriadas para aplicar um comando aos propulsores e medir o valor do empuxo e torque produzido por esses. Obtendo esses valores é possível fazer a inversão das equações (45) e (46) e encontrar os coeficientes. Alguns fabricantes fornecem os dados de empuxo e torque para configurações pré-definidas de propulsores. A tabela 5 ilustra os parâmetros para um conjunto de motor e propulsor comercializado pela empresa TigerMotor.

Tabela 5 - Dados para sistema de propulsão TigerMotor MN5212 KV340 com hélice 15x5CF

Velocidade (RPM) Empuxo (g) Torque (N.m) Corrente (A)

3821 745 0.142 3.3 4220 910 0.172 4.2 4576 1075 0.198 5.2 4925 1254 0.232 6.3 5663 1681 0.31 9.1 6315 2115 0.382 12.2 7167 2746 0.498 17.8 Fonte: (QUAN, 2017)

Matriz do momento de inércia

A matriz do momento de inércia é construída somando o momento de cada parte da aeronave calculada individualmente. A Figura A.1a ilustra os parâmetros necessários para calcular o momento de inércia devido a massa do braço do quadrirrotor. A Figura A.1b ilustra os parâmetros necessários para calcular o momento de inércia devido a massa do ESC montado junto ao braço do quadrirrotor (HARTMAN, 2015).

Figura A.1: Parâmetros para cálculo do momento de inércia

Fonte: (HARTMAN, 2015)

Conhecidos os parâmetros de massa, centro de massa e distância em que estão em relação ao centro do quadrirrotor, calcula-se o momento de inércia para cada componente em relação a cada um dos eixos x, y e z conforme (47) (HARTMAN, 2015):

𝐽𝐶𝑂𝑀 =1 2 𝑚 𝑟

2 (47)

Determinando o momento de inércia de cada um dos componentes individualmente, somasse todos os componentes e constrói-se a matriz de inércia (48) (HARTMAN, 2015):

𝐽𝑏= [ 𝐽𝑥𝑥 0 0 0 𝐽𝑦𝑦 0 0 0 𝐽𝑧𝑧 ] (48)

A construção da matriz do momento de inércia não sofre influência da escolha por utilizar a topologia positiva ou a topologia cruzada. Independente da topologia adotada a matriz final será idêntica. Logo, para construção da matriz de inércia, a opção considerando a topologia positiva torna mais fácil a sua construção.

Parâmetros utilizados na simulação

Hartman (2015), descreve procedimento para obtenção dos parâmetros de um quadrirrotor. Sendo foco do presente documento um cotejamento entre as topologias positiva e cruzada, optou-se por utilizar para as simulações os parâmetros apresentados por Hartman em seu trabalho. Esses parâmetros estão listados na Tabela 6

Tabela 6 - Parâmetros utilizados nas simulações.

Parâmetro Valor cT 1.4865 x 10-8 cq 2.925 x 10-9 d+ 0.2223 dx 0.2223 Jxx 0.0095 Jyy 0.0095 Jzz 0.0186 Jm 3.7882 x 10-6 g 9.81 m 1.023

Apêndice B

Código implementado em S-Function

Para realizar as simulações, utilizou-se o código .m implementado no trabalho de Hartman (2015). Esse código foi utilizado para implementação da S-Function e realização das simulações descritas no capítulo 4. Para sua utilização deve ser criada a S-Function no Simulink e carregado o código M com algoritmo descrito a seguir.

% ########################################################### function quadcopterDynamicsSFunction(block) setup(block); function setup(block) block.NumInputPorts = 5; block.NumOutputPorts = 12;

for i = 1:4; % These are the motor inputs block.InputPort(i).Dimensions = 1; block.InputPort(i).DirectFeedthrough = false; block.InputPort(i).SamplingMode = 'Sample'; end

%---

% This is the disturbance input

block.InputPort(5).Dimensions = 6; % torques x,y,z; forces x,y,z. block.InputPort(5).DirectFeedthrough = false; block.InputPort(5).SamplingMode = 'Sample'; %--- for i = 1:12; block.OutputPort(i).Dimensions = 1; block.OutputPort(i).SamplingMode = 'Sample'; end block.NumDialogPrms = 2; block.NumContStates = 12; block.SampleTimes = [0 0]; block.SetAccelRunOnTLC(false);

block.SimStateCompliance = 'DefaultSimState'; block.RegBlockMethod('CheckParameters', @CheckPrms); block.RegBlockMethod('InitializeConditions', @InitializeConditions); block.RegBlockMethod('Outputs', @Outputs); block.RegBlockMethod('Derivatives', @Derivatives); function CheckPrms(block) quad = block.DialogPrm(1).Data; IC = block.DialogPrm(2).Data; function InitializeConditions(block) IC = block.DialogPrm(2).Data;

% IC.P, IC.Q, IC.R are in deg/s ... convert to rad/s P = IC.P*pi/180; Q = IC.Q*pi/180; R = IC.R*pi/180; % IC.Phi, IC.The, IC.Psi are in deg ... convert to rads

Phi = IC.Phi*pi/180; The = IC.The*pi/180; Psi = IC.Psi*pi/180; U = IC.U; V = IC.V; W = IC.W;

X = IC.X; Y = IC.Y; Z = IC.Z;

init = [P,Q,R,Phi,The,Psi,U,V,W,X,Y,Z]; for i=1:12 block.OutputPort(i).Data = init(i); block.ContStates.Data(i) = init(i); end function Outputs(block) for i = 1:12; block.OutputPort(i).Data = block.ContStates.Data(i); end function Derivatives(block) quad = block.DialogPrm(1).Data; % P Q R in units of rad/sec P = block.ContStates.Data(1); Q = block.ContStates.Data(2); R = block.ContStates.Data(3); % Phi The Psi in radians

Phi = block.ContStates.Data(4); The = block.ContStates.Data(5); Psi = block.ContStates.Data(6);

% U V W in units of m/s U = block.ContStates.Data(7); V = block.ContStates.Data(8); W = block.ContStates.Data(9); % X Y Z in units of m X = block.ContStates.Data(10); Y = block.ContStates.Data(11); Z = block.ContStates.Data(12);

% w values in rev/min! NOT radians/s!!!! w1 = block.InputPort(1).Data; w2 = block.InputPort(2).Data; w3 = block.InputPort(3).Data; w4 = block.InputPort(4).Data; w = [w1; w2; w3; w4]; %--- Dist_tau = block.InputPort(5).Data(1:3); Dist_F = block.InputPort(5).Data(4:6); %---

tau_motorGyro = [Q*quad.Jm*2*pi/60*(-w1-w3+w2+w4); P*quad.Jm*2*pi/60*(w1+w3- w2-w4); 0]; % Note: 2*pi/60 required to convert from RPM to radians/s

Mb = (quad.dctcq*(w.^2))+ tau_motorGyro ; % Mb = [tau1 tau2 tau3]' Fb = [0; 0; sum(quad.ct*(w.^2))]; %[0, 0, sum(ct*w.^2)]' % Obtain dP dQ dR omb_bi = [P; Q; R]; OMb_bi = [ 0,-R, Q; R, 0,-P; -Q, P, 0]; b_omdotb_bi = quad.Jbinv*(Mb-OMb_bi*quad.Jb*omb_bi); H_Phi = [1,tan(The)*sin(Phi), tan(The)*cos(Phi);

0, cos(Phi), -sin(Phi);

0,sin(Phi)/cos(The),cos(Phi)/cos(The)]; Phidot = H_Phi*omb_bi;

Rib = [cos(Psi)*cos(The) cos(Psi)*sin(The)*sin(Phi)-sin(Psi)*cos(Phi) cos(Psi)*sin(The)*cos(Phi)+sin(Psi)*sin(Phi);

sin(Psi)*cos(The) sin(Psi)*sin(The)*sin(Phi)+cos(Psi)*cos(Phi) sin(Psi)*sin(The)*cos(Phi)-cos(Psi)*sin(Phi);

-sin(The) cos(The)*sin(Phi) cos(The)*cos(Phi)]; Rbi = Rib';

ge = [0; 0; -quad.g]; gb = Rbi*ge;

vb = [U;V;W];

b_dv = (1/quad.mass)*Fb+gb+Dist_Fb-OMb_bi*vb; % Acceleration in body frame (FOR VELOCITY)

i_dp = Rib*vb; % Units OK SI: Velocity of body frame w.r.t inertia frame (FOR POSITION) dP = b_omdotb_bi(1); dQ = b_omdotb_bi(2); dR = b_omdotb_bi(3); dPhi = Phidot(1); dTheta = Phidot(2); dPsi = Phidot(3); dU = b_dv(1); dV = b_dv(2); dW = b_dv(3); dX = i_dp(1); dY = i_dp(2); dZ = i_dp(3);

% Rough rule to impose a "ground" boundary...could easily be improved... if ((Z<=0) && (dZ<=0)) % better version then before?

dZ = 0;

block.ContStates.Data(12) = 0; end

f = [dP dQ dR dPhi dTheta dPsi dU dV dW dX dY dZ].'; block.Derivatives.Data = f;

Apêndice C

Bloco do sistema de controle

A implementação das malhas de controles pode ser realizada de diversas formas. Coza (2006), apresenta um projeto de controle robusto utilizando lógica Fuzzy para resolver problemas de estabilidade em voo pairado de VANTs causados por turbulência do ar. Lee (2009), realiza um comparativo entre as técnicas de controle. Descreve a técnica por “feedback

linearization” como um sistema muito sensível a ruídos provocados pelos sensores. Apresenta

uma técnica chamada de “adaptative sliding mode” como mais estável aos ruídos provocados pelos sensores. Dydek (2013), realiza um comparativo entre as técnicas de controle adaptativo direto e controle adaptativo indireto, apresentando como opção uma proposta de controle adaptativo composto com resultados mais suáveis a transientes e que requer uma menor capacidade de processamento dos sistemas de controle. Abaunza (2017), apresenta um modelo de sistema de controle aplicado em VANTs utilizando técnica de “quaternion duplo”. Apresenta os resultados obtidos e destaca a importância de em trabalhos futuros buscar-se aperfeiçoar as técnicas de controle adaptativo que consigam adequar os parâmetros do VANT a mudanças de massa e inércia. Hartman (2015), apresenta uma proposta de simulação incluindo os métodos para obtenção dos parâmetros necessários a simulação do projeto.

As técnicas de implementação de controladores estão em constante desenvolvimento sendo uma área de grande interesse para a realização de pesquisas. Considerando o foco do presente trabalho o cotejamento entre as topologias positiva e cruzada e, não tendo como objetivo abordar o projeto de controladores, para a presente simulação utiliza-se um controlador PID proposto no projeto desenvolvido por Hartman (2015).

O sistema de controle apresentará características diferentes entre as topologias positiva e cruzada. A Figura C.1 ilustra os componentes desse bloco.

Figura C.1: Diagrama do circuito de controle

Fonte: (DO AUTOR)

O circuito misturador de velocidade irá ajustar a rotação dos propulsores 1 a 4. Na topologia positiva esse circuito opera de acordo com as equações (49) a (52):

𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒𝑀1= 𝐸𝑟𝑟𝑜𝐴𝑙𝑡𝑖𝑡𝑢𝑑𝑒− 𝐸𝑟𝑟𝑜𝐺𝑢𝑖𝑛𝑎𝑑𝑎− 𝐸𝑟𝑟𝑜𝐴𝑟𝑓𝑎𝑔𝑒𝑚 (49)

𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒𝑀2= 𝐸𝑟𝑟𝑜𝐴𝑙𝑡𝑖𝑡𝑢𝑑𝑒− 𝐸𝑟𝑟𝑜𝐺𝑢𝑖𝑛𝑎𝑑𝑎+ 𝐸𝑟𝑟𝑜𝐴𝑟𝑓𝑎𝑔𝑒𝑚 (50)

𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒𝑀3= 𝐸𝑟𝑟𝑜𝐴𝑙𝑡𝑖𝑡𝑢𝑑𝑒+ 𝐸𝑟𝑟𝑜𝐺𝑢𝑖𝑛𝑎𝑑𝑎+ 𝐸𝑟𝑟𝑜𝐴𝑟𝑓𝑎𝑔𝑒𝑚 (51)

𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒𝑀4= 𝐸𝑟𝑟𝑜𝐴𝑙𝑡𝑖𝑡𝑢𝑑𝑒+ 𝐸𝑟𝑟𝑜𝐺𝑢𝑖𝑛𝑎𝑑𝑎− 𝐸𝑟𝑟𝑜𝐴𝑟𝑓𝑎𝑔𝑒𝑚 (52)

Figura C.2: Misturador de controle para topologia Positiva

Fonte: (HARTMAN, 2015)

As equações (53) a (56) descrevem o funcionamento do circuito misturador para a topologia cruzada.

𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒𝑀1= 𝐸𝑟𝑟𝑜𝐴𝑙𝑡𝑖𝑡𝑢𝑑𝑒− 𝐸𝑟𝑟𝑜𝐴𝑟𝑓𝑎𝑔𝑒𝑚− 𝐸𝑟𝑟𝑜𝑅𝑜𝑙𝑎𝑔𝑒𝑚− 𝐸𝑟𝑟𝑜𝐺𝑢𝑖𝑛𝑎𝑑𝑎 (53)

𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒𝑀3= 𝐸𝑟𝑟𝑜𝐴𝑙𝑡𝑖𝑡𝑢𝑑𝑒+ 𝐸𝑟𝑟𝑜𝐴𝑟𝑓𝑎𝑔𝑒𝑚− 𝐸𝑟𝑟𝑜𝑅𝑜𝑙𝑎𝑔𝑒𝑚− 𝐸𝑟𝑟𝑜𝐺𝑢𝑖𝑛𝑎𝑑𝑎 (54)

𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒𝑀4= 𝐸𝑟𝑟𝑜𝐴𝑙𝑡𝑖𝑡𝑢𝑑𝑒+ 𝐸𝑟𝑟𝑜𝐴𝑟𝑓𝑎𝑔𝑒𝑚− 𝐸𝑟𝑟𝑜𝑅𝑜𝑙𝑎𝑔𝑒𝑚+ 𝐸𝑟𝑟𝑜𝐺𝑢𝑖𝑛𝑎𝑑𝑎 (55)

𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒𝑀2= 𝐸𝑟𝑟𝑜𝐴𝑙𝑡𝑖𝑡𝑢𝑑𝑒− 𝐸𝑟𝑟𝑜𝐴𝑟𝑓𝑎𝑔𝑒𝑚+ 𝐸𝑟𝑟𝑜𝑅𝑜𝑙𝑎𝑔𝑒𝑚− 𝐸𝑟𝑟𝑜𝐺𝑢𝑖𝑛𝑎𝑑𝑎 (56)

Figura C.3: Misturador de controle para topologia cruzada

Documentos relacionados