Serwisy partnerskie:
Close icon
Serwisy partnerskie

Digital Twin plus predykcyjne zachowanie z wykorzystaniem AI i ML

Ciężkie silniki, motory i maszyny mają kluczowe znaczenie dla funkcjonowania fabryk, pojazdów i różnych innych urządzeń. Ich wydajna praca jest bardzo istotna, aby zapobiec jakimkolwiek przerwom technicznym. Na przykład, jeśli ciężki silnik w jachcie lub statku nagle przestanie działać, wówczas transport utknie na środku oceanu, narażając na niebezpieczeństwo wiele osób znajdujących się na pokładzie. Jednak wczesne wykrycie usterki może zapobiec takiemu nieszczęściu.
Article Image

Kiedy urządzenia, takie jak silniki, zaczynają się psuć, wzrasta ich hałas i zużycie energii, czemu towarzyszą zmienne wibracje. Wiedząc o takich mikrozmianach, możemy przewidzieć prawdopodobieństwo awarii różnych maszyn, a tym samym naprawiać, konserwować i chronić je przed wystąpieniem jakichkolwiek innych usterek.

Aby rozwiązać powyższy problem, opracujemy model ML, który będzie monitorował dźwięki i wibracje wytwarzane przez maszynę, wykrywał drobne zmiany i przewidywał usterki w celu przeprowadzenia konserwacji predykcyjnej. Z czasem model ML nauczy się różnic w dźwiękach wytwarzanych przez maszynę w normalnych i niesprawnych warunkach. Przetwarzając wynik, wydedukuje, czy zmiana wskazuje na jakiekolwiek nieprawidłowe działanie. Jeśli tak, to alert zostanie wysłany z wyprzedzeniem, aby podjąć niezbędne kroki w celu zapobieżenia uszkodzeniom.

Uwaga: Moduł głosowy można zastąpić dowolnym mikrofonem Bluetooth lub USB.

Szkolenie modelu ML

Możesz wybrać spośród różnych platform takich jak TensorFlow, SensiML, Edge Impulse itp. do stworzenia modelu ML. W tym projekcie używany jest Edge Impulse do szkolenia modelu ML. Aby dowiedzieć się jak utworzyć model ML i wytrenować go, zapoznaj się z poniższym artykułem: "Wykrywanie Covid w oparciu o promienie X".

Wytrenuj model ML tak, aby wykrywał wszelkie drobne zmiany w dźwięku i wibracjach używając sygnałów audio. W tym celu zainstaluj zależności EDGE Impulse na Raspberry Pi (zapoznaj się z powyższym artykułem, aby poznać procedurę instalacji).

Uruchom następujące komendy aby zainstalować zależności:

curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt install -y gcc g++ make build-essential nodejs sox gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-plugins-base-apps
npm config set user root && sudo npm install edge-impulse-linux -g -unsafe-perm

Następnie tworzymy nowy projekt i łączymy projekt Raspberry Pi z EDGE Impulse za pomocą

edge-impulse-linux

Niniejszy projekt został nazwany 'Digital Twin and IoT Predictive Maintenance’. Możesz jednak nadać mu dowolną inną nazwę według własnego uznania.

Następnie otwórz odebrany adres URL w terminalu Linux lub przeglądarce internetowej. Zobaczysz wtedy opcję przesyłania danych do szkolenia modelu ML. Wybierz opcję "mikrofon" i prześlij dźwięk z silnika. Oznacz go jako "normalny" lub "uszkodzony", w zależności od stanu faktycznego. Pod etykietą "normalny", załaduj dźwięk działającego silnika. W przypadku etykiety "uszkodzony", załaduj dźwięk silnika, który nie był odpowiednio naoliwiony i pracował w stanie przeciążenia. Dźwięk został nagrany dla silnika, gdy doświadczał on niskich i wysokich napięć oraz w stanie ssania wału.

Następnie wybierz parametr, przetwarzanie i blok uczenia dla modelu ML, aby wykonać klasyfikację i przetwarzanie dźwięku. Wybierz Spectrogram do przetwarzania dźwięku i sieć neuronową Keras do uczenia ML.

W Spectrogramie wybierz te części z zebranych danych audio, które chcesz ustawić jako parametry dla dźwięku uszkodzonej maszyny.

Następnie przejdź do klasyfikatora NN i dodaj warstwy dla parametrów, aby wytrenować model ML.

Wdrażanie modelu ML

Po uzyskaniu satysfakcjonującej dokładności modelu ML (autor uzyskał dokładność około 90%), można pomyśleć o jego wdrożeniu, do czego należy wybrać odpowiedni mikrokontroler w zależności od miejsca wdrożenia.

Wybierz płytkę z Linuksem, otwórz terminal Linuksa na Raspberry, a następnie pobierz plik modelu ML uruchamiając w terminalu

edge-impulse-linux-runner –download modelfile.eim

Kodowanie

Przed rozpoczęciem kodowania należy zainstalować zależności i bibliotekę Edge Impulse na Raspberry Pi. Upewnij się także, że sklonowałeś Edge Impulse SDK.

Aby to zrobić, wykonaj następujące czynności w terminalu

sudo apt-get install libatlas-base-dev libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev
pip3 install edge_impulse_linux -i https://pypi.python.org/simple
pip3 install edge_impulse_linux
git clone https://github.com/edgeimpulse/linux-sdk-python

Teraz otwórz sklonowany folder Python SDK z Edge Impulse. Przejdź do przykładów, otwórz folder audio i utwórz nowy plik skryptu Pythona o wybranej przez siebie nazwie (np. DigitalTwinpredict.py).

Następnie otwórz plik classify.py Pythona (znajdujący się w tym samym folderze SDK) i skopiuj kod classify.py do DigitalTwinpredict.py (w twoim przypadku inna nazwa pliku). Teraz zaimportuj tutaj piny AIY i inne funkcje do korzystania z modułu głosowego AIY.

Następnie użyj warunku if, aby ustawić wynik dla etykiet dźwiękowych, czyli normalny lub uszkodzony. Jeśli wykryty wynik jest większy niż 70%, gdy model ML przetwarza dźwięk, to ustaw w kodzie funkcję, która wysyła alert za pomocą oświetlenia LED i alarmu informującego, że silnik zbliża się do usterki.

Testowanie

Po wykonaniu tych czynności należy skopiować model w pliku .eim do folderu, w którym znajduje się kod. Następnie otwórz terminal i uruchom kod w Pythonie ze ścieżką do pliku modelu .eim ML. Potem posłuchaj próbki audio. Jeśli masz wiele urządzeń wejściowych audio, może zapytać Cię o numer portu audio. W takich przypadkach wybierz jako domyślne systemowe, a następnie uruchom dźwięk silnika, który może mieć pewne zmiany wskazujące na możliwą usterkę.

Model, który stworzyłem, przetwarza różne dźwięki silnika pracującego w normalnych warunkach, bez smaru i z wałem ciernym, kiedy jest przeciążony, itp. Kiedy więc ML wykryje dźwięk, który jest podobny do dźwięku wytwarzanego przez przeciążony silnik lub gdy zmiana w dźwięku pojawia się, gdy wał doświadcza tarcia, wysyłany jest alert informujący, że naprawa może być potrzebna w przyszłości.

Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić
Wideo
Do pobrania
Download icon Digital Twin plus predykcyjne zachowanie z wykorzystaniem AI i ML - kod źródłowy
AUTOR
Źródło
www.electronicsforu.com
Udostępnij
UK Logo