Skocz do zawartości
Madiz08

Oprogramowanie robota 3D, czy jest opcja wdrożenia przemysłowego?

Pomocna odpowiedź

Witam

Jest to mój pierwszy post na tym forum. Przez 3 ostatnie miesiące intensywnie próbowalem wykorzystać projekt robota BCN3D. W międzyczasie okazało się, że konstrukcja niemal każdej z osi robota BCN3d jest po prostu lipna, dlatego metodą prób i błądów udało mi sie zbudować coś takiego:

Temat opisałem na https://www.elektroda.pl/rtvforum/topic3613898.html, ale nie bardzo znalazł się tam ktokolwiek zainteresowany tematem. Robot wykonany w obecnej postaci jest na prawdę mocny i poza lekko chwiejną pierwszą osia obrotową jest na prawdę bardzo stabilny. Zastosowałem enkodery absolutne AS5600 bezpośrednio na każdej z osi (na razie bardzo mało popularne u nas chociaż kosztuja 10zł z przesyłką z Chin i początkowo były wykorzystywane w robotach firmy "Boston Dynamics"). Problemy jakie napotkałem na początku z tymi enkoderami opisałe  w https://www.elektroda.pl/rtvforum/topic3626277.html . Finalnie problem z zakłóceniami zupełnie skończył się po dodaniu rezystorów (wystarczyło wczytać się w DTR multippleksera).

Całością zarządza ESP32 napisany w języku Arduino. Dodatkowo tworzę aplikacje w C# w Visual studio. Potrafię już podjechać ręcznie do punktu, zapamiętać go, robot dojeżdża z punktu do punktu w zadanym czasie, ale takie rzeczy jak ruch liniowy są dla mnie nieosiągalne. Ogólnie nie jestem dobry z programowania mikrokontrolerów i być może ktoś z kolegów byłby zainteresowany obecnie napisanym programem (który być może jest napisany tragicznie) i ewentualnie jego totalnymi korektami. Oczywiście jeżeli ktokolwiek byłby zainteresowany mogę wrzucić pliki do wydruku.

Przedstawiony filmik prezentuje wrzucenie jedynie 4 piłek, ale puściłem robota w pętlę na 3 godziny (nieustannie sprawdzając temperaturę silników krokowych, ponieważ więcej niż 50 powoduje miękkość materiału) i wynik na pirometrze nie wskazał więcej niż 36 stopni, także rokowania są bardzo dobre

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

@Madiz08 witam na forum 🙂

Konstrukcja wygląda bardzo fajnie, ciężko jednak pisać coś na temat zastosowań przemysłowych. Gdzie dokładnie widziałbyś swoją konstrukcję? Robotyka przemysłowa to nie tylko same roboty. Oprogramowanie, szkolenia, niezawodne konstrukcje, certyfikaty, kompatybilność z innymi systemami itd. Oczywiście nie mówię, że to nie realne, ale raczej ciężko nazywać tego typu konstrukcje przemysłowymi. Jedynym komercyjnym robotem tego typu, który znalazł pół-przemysłowe zastosowania jest chyba Dobot: https://www.dobot.cc/ Konstrukcja ta głównie jest przeznaczona do edukacji, ale znalazła sporo zastosowań pół-przemysłowych (np. testowanie ekranów dotykowych). Teraz z tej serii są już dostępne rozwiązania typowo przemysłowe 😉 

Udostępnij ten post


Link to post
Share on other sites

Nie, nie. Jak najbardziej zdaję sobie sprawę, że do jakiejś masowej produkcji taka konstrukcja się nie nadaje. Pracuję jako Automatyk w branży Automotive  i mając styczność z różnego rodzaju robotami z całą pewnością mogę powiedzieć, że jakiekolwiek porównanie jeżeli chodzi o konstrukcję, szybkość, wytrzymałość, precyzję oraz środowisko obsługujące robota nie ma sensu. Bardziej myślałem o jakichś wolnych czynnościach typu nakładanie warstwy kleju, przenoszenie przedmiotów z uwzględnieniem rzędów i kolumn.  W rodzinie mamy małą firmę produkcyjną gdzie większość rzeczy robi się ręcznie i czasami przychodzi mi do głowy myśl, że można by tam kilka rzeczy zrobotyzować. Z drugiej strony jednak, też z własnej ciekawości chciałbym sprawdzić czy robot z wydruku 3D o takim zasięgu może pracować bezawaryjnie przez chociażby jedna zmianę, czyli 8 godzin. 

W ostatnim czasie sporo zajmowałem się komunikacją Arduino z PLC Siemens, korzystając z biblioteki Settimino. Mam w domu S7-1211 i również mam w planach zrobić jakąś wymianę danych pomiędzy robotem a sterownikiem PLC, ale najpierw chciałbym (mam nadzieję, że przy pomocy kogoś z forum) spróbować z napisaniem algorytmów dla ruchu liniowego. ESP32 to na prawdę szybki 32-bitowiec (240MHz) i wydaje mi się, że spokojnie można na nim coś takiego napisać.

Udostępnij ten post


Link to post
Share on other sites

Ruch liniowy masz na myśli po linii prostej? W takiej sytuacji przyda Ci się kinematyka odwrotna, gdzie określasz punkt (efektor) w przestrzeni kartezjańskiej, a wszystkie kąty w przegubach są obliczane. Wydaje mi się, że w tym przypadku możesz podejść do tematu algebraicznie i po prostu wyznaczyć wzór. W tego typu robocie nie powinno być miejsca na kilka przypadków, czy sytuację że musisz parametryzować zmienną, żeby uzyskać konkretną odpowiedź.

Na początek możesz skorzystać ze współrzędnych walcowych gdzie podstawa to okrąg (współrzędne biegunowe), a położenie efektora to pewien promień w podstawie i wysokość. Taka sytuacja się upraszcza, bo zostaje Ci do wyznaczenia ruch fragmentu robota w płaszczyźnie. Zostaniesz wtedy z 2 przypadkami gdzie "łokieć" robota jest nad lub pod prostą, odrzucasz jeden z wyników i masz wzór wprost.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...