A pasta mc_pos_control contém classes relativas ao controle de posição, assim como a pasta mc_att_control contém classes relativas ao controle de atitude.
- A pasta src/modules/simulation/simulator_sih contém o modelo matemático que pode ser utilizado para
Lista de atividades
-
desativar o controle de posição (
mc_pos_control
); -
desativar o controle de atitude(
mc_att_control
); -
desativar o controle de taxa de rotação(
mc_rate_control
); -
incluir um módulo sdre (
mc_sdre_control
); -
compilar o módulo implementado
-
verificar se o módulo está rodando
-
implementar uma função
run()
para o loop do nosso controle; -
tirar arquivos que não são pertinentes ao nosso trabalho (como as funções de asa fixas); -
fazer um "fork" com uma versão limpa; -
Passos
- Desativar os controles não pertinentes rc.mc_app
- Colocar a bibliotecas auxiliares na pasta lib
- Criar os CMakeLists.txt dentre de cada pastaTexto sobre assunto Um exemplo pode ser visto na pasta DRONE colocar um CMakeLists.txt
- Adicionar também uma linha no CMakeLists.txt da pasta lib
Onde é calculado a empuxo? No Controle de posição
- Durante o debug verifiquei que os módulos são executados em paralelo. Os pontos de parada ocorrem intercalados, em uma etapa ocorrem no controle de atitude enquanto que em outra ocorre no controle de taxa.
- Verifica se a opção sair esta ativa
if (should_exit())
- Mede desempenho do módulo
perf_begin(_loop_perf)
- será que é obrigatório?
- Verifica se há modificações de parametros
if (_parameter_update_sub.updated())
- Aparentemente aqui que o controle define a velocidade do loop interno entrando quando há atualização do giroscópio.
if (_vehicle_angular_velocity_sub.update(&angular_velocity))
- Verifica o módo de voo
if(_vehicle_land_detected_sub.updated())
- Detecta se o quadrirrotor está pousado
if (_vehicle_land_detected_sub.updated())
- Verifica se o controle está no modo controle manual. Só entra se o controle de atituede está ativo.
if (_vehicle_control_mode.flag_control_manual_enabled &&!_vehicle_control_mode.flag_control_attitude_enabled)