Este é o meu Projeto de Graduação em Engenharia Mecânica na UFES, defendido no ano 2021. No texto apresento a fundamentação, a metodologia, os materiais e os resultados obtidos pelo projeto. Neste repositório há os códigos utilizados e ainda vários experimentos que não entraram no trabalho.
Em resumo, aqui você encontra os módulos python utlizados no processamento dos dados de vibração, o dataset gerado e minhas análises em notebooks Jupyter elencados nesse página, confira!
Neste projeto de ML foi estudado o diagnóstico automático de falhas em rotores a partir dos dados de vibração, utilizando um classificador SVM linear para um problema com quatro classes dedefeito:
- Condição normal;
- Desbalanceamento;
- Desalinhamento horizontal; e
- Desalinhamento vertical.
Dos sinais de vibração, foi feita a extração de características no domínio do tempo e da frequência. Avaliou-se o desempenho destas características para a determinação do estado de operação do conjunto mecânico. Também se avaliou se o número de acelerômetros (haviam 6 sinais) poderia ser reduzido sem perda de eficácia no diagnóstico.
Para este trabalho, será utilizada a base de dados MaFaulDa, que por sua vez foi gerada com o equipamento ilustrado acima. Ao invés de se utilizar os sinais brutos de vibração no modelo de ML, prefere-se extrair características relevantes dos sinais de vibração. As características escolhidas neste trabalho geraram o dataset data.csv, que contém 880 exemplos.
A base MaFaulda pode ser baixada e descompactada na pasta mafaulda
do diretório raiz deste projeto. Nesta pasta devem estar presentes ao menos as subpastas normal
, horizontal-misalignment
, vertical-misalignment
e imbalance
, que são as condições estudadas.
Montado o diretório, basta executar o script main.py e o arquivo com as características data.csv será sobrescrito. Para verificar as características extraídas, consulte features.py. Abaixo uma pré-visualização da execução script.