Código MAVSDK-python para implementar identificação de sistemas em SITL (software in the Loop). O workflow é o seguinte:
- PX4 rodando em SITL
make px4_sitl gazebo-classic, testado em:- WSL2 em Windows 11,
- Debian 12 using
px4io/px4-dev-ros-noetic:latestdocker image. Run thePX4-docker.shscript,
- O codigo MAVSDK-Python deste repositório roda em Python
venv:-
python3 -m venv venv, a primeira vez, -
source venv/bin/activate, para ativar o virtual environment, -
pip install -r requirements.txt, a primeira vez. -
deactivatepara encerrar ovenv.
-
- São enviados comandos de atitude utilizando o modo
offboard, para analizar as dinâmicas das velocidades angulares$p(t)$ ,$q(t)$ e$r(t)$ .
O que tem sido feito até o momento:
-
O script
offboard_attitude.pyproduz vários sinais de de teste:- Sinal dente-de-serra,
- Sinal quadrado (rico em harmônicos),
- Sinal triangular,
- Sinal de varredura de frequência (frequency sweep).
- Sinal senoidal puro para baixas frequências
-
O sinal é enviado via
MAVlink, para o PX4 em SITL. -
Utilizando
QGroundControlsão obtidos os arquivos de dadosulg. -
No Python notebook
XXX_XXX_analise_resposta_em_freq.ipynbé obtida a resposta em frequência. -
Os dados gerados de resposta em frequência, assim como os dados temporais, são guardados em arquivos de texto (
txt). -
No script
XXX_XXX_analise_resposta_em_freq.ipynbé obtinda a resposta em frequência a partir dos dados anteriores. -
É proposto um modelo linear de primeira ordem com atraso
para a dinâmica da velocidade angular
- O modelo estimado utilizando Mínimos Quadrados é
- O modelo foi validado com sucesso.