Jak Połączyć Mechanikę i budowę maszyn z programowaniem??

0

Cześć, jestem inż mechanikiem i zajmuje się diagnostyką drganiową ale od pewnego czasu zastanawiam się nad nauką jakiegoś języka programowania który pozwoliłby mi połączyć diagnostykę drganiową z programowaniem. Nie wiem jeszcze jak mógłbym to połączyć ale chciałbym nauczyć się tworzyć ukłądy pomiarowe. Do tego jest coś takiego jak machine learning czyli coś w stylu na podstawie sygnałów drganiowych i podejmowanych akcji aplikacaja uczyłaby sie kiedy podjemować akcje np wymiany łożyska.
Problem w tym że jestem zielony w kwestiach programowania i nie wiem jak mam to ugryźć ? jaki język programowania się do tego nadaje?
Jakie inne problemy stoją na mojej drodzę o których nie zdaje sobie sprawy ?
Pozdrawiam

2

Zacznij od raspberryPI (lub może lepiej Arduino bo więcej wybacza). Podłącz jakieś czujniki i zacznij zbierać z nich dane.
W przypadku raspberryPI takie tane możesz potem przesłać np. WiFi na inny komputer i tam już analizować.

Jak już będziesz miał dane i będziesz się czuł komfortowo z Raspberry PI, możesz sięgnąć po Pythona i napisane w nim biblioteki do ML (machine learning).

0

Co chcesz zrobić z tą apką, jak już ją napiszesz? Chcesz ją sprzedawać? Skąd weźmiesz input do machine learning?

0

@ArchitektSpaghetti: Nie wiem nie mam żadnych planów co do aplikacji nawet nie wiem czy taką będę umiał stworzyć. Po prostu chcę się tego nauczyć bo może mi się to przydać w dalszej karierze. "Skąd weźmiesz input do machine learning?"" masz na myśli to że do takiej aplikacj będe musiał dostarczać ciągłe dane pomiarowe ? Nie wiem przyznam że nie przemyślałem tego jeszcze dokładnie bo nie znam się na programowainu. Można powiedzieć że jestem na etapie poszukiwań możliowści jak pokierować swoją drogą zawodową

0

Generalnie programowanie polega na tłumaczeniu strasznemu kretynowi co ma zrobić, zrobi dokładnie to co mu powiesz (nic mniej i nic więcej) tylko bardzo szybko. My nie znamy twojej domeny, jeśli jesteś w stanie opisać zajebiście dokładnie co trzeba zrobić i dostarczyć danych wejściowych, to się to uda. Jak nie wiesz jak opisać to co chcesz uzyskać, to się nie uda.

0

@0xmarcin: Właściwie zakupiłem Arduino z pewnym zestawem i ono jest oparte na c++ a Ty wposmniałeś że można później siegac po phytona i tutaj się pojawia moje pytanie. Dlaczego akurat phyton ? czy nie można dalej kontynuować w C++ ?

1

Arduino - prosta metoda zbierania danych. Zestaw startowy za stówkę czy dwie. Sporo gotowych kursów i projektów na których można się uczyć. Zaletą jest niski poziom złożoności większości tych wynalazków, wadą niska jakość kodu w większości przypadków.
Do analizy danych najwięcej narzędzi znajdziesz w Python. Masz gotowe biblioteki Matpy, Scipy do analizy danych. Masz też możliwość prostej integracji z kombajnami typu TensorFlow, gdzie nie za bardzo musisz się przejmować co tam się w środku dzieje. Do analizy drgań raczej jakiś wielki ML nie będzie potrzebny, bo parametrów na wejściu mało, schematy rozpoznawania stanu tego łożyska też raczej skomplikowane nie są. Sam Python ma tę zaletę, że stosunkowo mało czasu poświęca się na cały narzut wskaźników, typów danych itd. Czyli nie musisz się zastanawiać jak coś tam jest liczone przez komputer, a raczej na rozwiązaniu problemu. Oczywiście ma to swój koszt (np. wolniejsze działanie, brak jakiegokolwiek sprawdzania kodu podczas kompilacji), ale przy takich prostych analizach bilans jest dodatni.

0

Ogólnie dostałem ostatnio pytanie czy przy analizowaniu używam Machine Lerining trochę byłem zaskoczony wiem, że oprogramowanie jakie używamy do analizy sygnałów drganiowych "uczy" się na podstawie podjemowanych przez nas akcji. Ale czy istnije jakiś inny sposób wykorzystywania ML która wymaga jakiś bardziej zaawansowanej wiedzy i działań ?

1

Python to obecnie standard przy ML i przetwarzaniu danych. Język posiada sporo bardzo dobrej jakości bibliotek do przetwarzania danych, w internecie znajdziesz mnóstwo samouczków w języku polskim i angielskim. Pobaw się na przykład https://jupyter.org/

C++ to język niskopoziomowy (zapewne niektórzy się z tym stwierdzeniem nie zgodzą), dobry do obsługi sprzętu ale niewygodny przy przetwarzaniu danych.

1
AdioPomiodoro napisał(a):

Ale czy istnije jakiś inny sposób wykorzystywania ML która wymaga jakiś bardziej zaawansowanej wiedzy i działań ?

Machine Learning to napompowany termin na bardzo proste pojęcie. Masz przejrzeć dane historyczne i przewidzieć co się stanie w podobnej sytuacji w przyszłości. Czyli jeżeli sobie weźmiesz dane o powierzchni i cenie mieszkać z ostatniego roku, wyliczysz średnią i na podstawie tej średniej wyliczysz przewidywana cenę innego mieszkania, to to już jest Machine Learning (oczywiście jeżeli tę średnią i rezultat wyliczy maszyna).
Jeżeli analizujesz drgania (nie znam się, ale one chyba nie mają zbyt wielu parametrów - częstotliwość, amplituda, czas), dodasz do tego stan łożyska i na podstawie tych danych zbudujesz taką czy inną metodą matematyczną funkcję stan = f(częstotliwość, amplituda), to zbudowałeś model ML. Do jakiegoś tam poziomu skomplikowania wystarczą banalne metody typu regresja liniowa, tylko jeżeli na wejściu masz obrazek z 2M punktów, czyli 6M danych a na wyjściu prawdopodobieństwo, ze na obrazku jest krowa, pies, świnia itd. to metoda nadal jest ta sama ale jej złożoność rośnie gigantycznie. Trzeba użyć innych metod, żeby dało się opisać taki problem.
Oczywiście to nie jest tak, że ML jest prosty, bo chociaż wejście w niego to banał, to chcąc rozwiązywać realne problemy już coś trzeba wiedzieć i mieć przyzwoite pojęcie o statystyce.

1 użytkowników online, w tym zalogowanych: 0, gości: 1