Código MAVSDK-python para implementar identificação de sistemas em SITL (software in the Loop). O workflow é o seguinte:
make px4_sitl gazebo-classic
, testado em:
px4io/px4-dev-ros-noetic:latest
docker image. Run the PX4-docker.sh
script,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.deactivate
para encerrar o venv
.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.py
produz vários sinais de de teste:
O sinal é enviado via MAVlink
, para o PX4 em SITL.
Utilizando QGroundControl
são obtidos os arquivos de dados ulg
.
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
$$\dfrac{P(s)}{U(s)}=ke^{-\tau s}\left(\dfrac{Ts+1}{aTs+1}\right)\left(\frac{1}{I_{xx}s}\right),$$
para a dinâmica da velocidade angular $p(t)$.
$$\dfrac{P(s)}{U(s)}=Ke^{-\tau s}\left(\dfrac{s+a}{s+b}\right)\left(\frac{1}{s}\right),$$