Controlador para drones em duas dimensões
Version 1.0.0 (37 KB) by
Lucas Eduardo
Controlador de posição z, ângulo phi e posição x para um modelo simplificado de drone.
Para a segunda etapa do projeto, um modelo simplificado de drone em duas dimensões foi importado ao Simulink, onde foi projetado um controlador. As entradas do modelo são as velocidades angulares dos dois rotores e o peso do drone, e as saídas as posições x e z, as velocidades Vx e Vz, o ângulo phi e a velocidade angular p. O modelo pode ser classificado como sub-atuado, isto é, possui mais atuadores (dispositivos que influenciam o sistema) do que graus de liberdade (variáveis independentes que descrevem seu estado). Isto apresenta um maior desafio para as estratégias de controle uma vez que os movimentos serão acoplados uns aos outros.
O controlador é capaz de manter o drone em hover em uma certa altitude, utilizando um feedback negativo da posição z no input de velocidade angular dos motores, para obter-se melhores resultados e performance foram adicionados também feedbacks das parcelas derivativas (Vz) e integrativas, onde há o comparativo com um valor de referência desejado para a altitude. Ao final, um ganho é adicionado para ajuste dos parâmetros de desempenho.
Porém, apenas o controle da posição z não é o suficiente para garantir o hover. Uma vez que o drone ainda pode se locomover na direção x caso haja algum distúrbio no ângulo phi. Portanto, foi adicionado também um controlador para phi, utilizando-se um feedback positivo para um rotor e negativo para o outro, de maneira a criar um momento restaurador sempre que houver um erro na medida de phi (ângulo diferente de zero). Para o controle de Phi, utilizou-se um feedback da parcela proporcional (phi) e derivativa (p), com um ajuste de ganho ao final.
Porém, ao se adicionar o controlador para o ângulo do drone, garantimos que ele irá retornar à posição de equilibrio em phi igual a zero, mas não garantimos que ele se manterá na mesma posição em x. Assim, foi adicionado também um controlador que compara a posição x do drone com uma posição x de referência, permitindo o movimento lateral da planta. Para este controlador, utilizou-se o feedback negativo em um rotor e positivo no outro, com inserção de ganhos para ajuste do desempenho.
Por fim, foi modelado por meio de um input degrau uma perda repentina de massa do drone num certo instante. Analisando-se os resultados, percebe-se que isto causa um distúrbio momentâneo nas posições e velocidades devido à súbita mudança de forças na dinâmica do sistema. Porém, estes distúrbios geram erros no feedback da malha fechada que logo restauram o drone novamente para as condições de referência.
Cite As
Lucas Eduardo (2026). Controlador para drones em duas dimensões (https://www.mathworks.com/matlabcentral/fileexchange/169373-controlador-para-drones-em-duas-dimensoes), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Created with
R2022b
Compatible with any release
Platform Compatibility
Windows macOS LinuxTags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0 |
