Spisu treści:

Sześcionóg: 14 kroków (ze zdjęciami)
Sześcionóg: 14 kroków (ze zdjęciami)

Wideo: Sześcionóg: 14 kroków (ze zdjęciami)

Wideo: Sześcionóg: 14 kroków (ze zdjęciami)
Wideo: Szybkie obroty 2024, Czerwiec
Anonim
Sześcionóg
Sześcionóg
Sześcionóg
Sześcionóg
Sześcionóg
Sześcionóg

Od kilku lat interesuję się zabawą i tworzeniem robotów i bardzo zainspirował mnie Zenta, tutaj znajdziesz jego kanał na Youtube https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T i jego stronę internetową

W Internecie można znaleźć wiele zestawów od wielu różnych sprzedawców, ale są one bardzo drogie, do 1.500 $ + za sześcionóg 4 DoF, a zestawy z Chin nie mają dobrej jakości. Postanowiłem więc tworzyć w hexapod na swój sposób. Zainspirowany heksapodem Phoenix firmy Zenta, znajdziesz go na jego kanale Youtube (oraz zestaw, który możesz znaleźć https://www.lynxmotion.com/c-117-phoenix.aspx, zacząłem tworzyć własne od podstaw.

Do tworzenia, jeśli ustawię następujące cele/wymagania dla siebie:

1.) Baw się dobrze i ucz się nowych rzeczy.

2.) Projekt oparty na kosztach (cholera, moja firma całkowicie mnie zepsuła)

3.) Części wykonane ze sklejki (ponieważ większości ludzi i mnie łatwiej jest ciąć drewno)

4.) Korzystanie z bezpłatnych dostępnych narzędzi (oprogramowania)

Więc czego użyłem do tej pory?

a) SketchUp, do projektowania mechanicznego.

b) Sklejka bukowa 4mm i 6mm (1/4 ).

c) Arduino Uno, Mega, IDE.

d) Standardowe serwa cyfrowe (znalezione w amazon w dobrej cenie).

e) Dosuki i piła taśmowa, wiertarka, papier ścierny i pilnik.

Krok 1: Konstrukcja nóg i wsporników serwo

Konstrukcja nóg i wsporników serw
Konstrukcja nóg i wsporników serw
Konstrukcja nóg i wsporników serw
Konstrukcja nóg i wsporników serw
Konstrukcja nóg i wsporników serw
Konstrukcja nóg i wsporników serw

Najpierw szukałem w Internecie, aby dowiedzieć się, jak zrobić robota, ale nie udało mi się znaleźć dobrych informacji na temat projektowania mechanicznego. Tak więc bardzo się zmagałem i ostatecznie zdecydowałem się na użycie SketchUp.

Po kilku godzinach nauki w programie SketchUp ukończyłem swój pierwszy projekt nóg. Kość udowa jest zoptymalizowana do rozmiaru rogów serwo, których używam. Jak się domyśliłem, oryginał wydaje się mieć średnicę około 1 , ale moje serwo rogi mają 21mm.

Wydruk z odpowiednią skalą nie działał poprawnie w programie SketchUp na moim komputerze, więc zapisałem go jako PDF, wykonałem wydruk ze 100%, wykonałem pomiar i na koniec wydrukowałem ponownie z odpowiednim współczynnikiem skalowania.

Za pierwszym razem tworzyłem tylko sztukę na dwie nogi. W tym celu ułożyłem dwie deski w stos, przykleiłem (do tapet) wydruk i wycinałem części modelarską piłą taśmową.

Użyty materiał: sklejka bukowa 6mm (1/2 )

Potem wykonałem kilka eksperymentów, których nie udokumentowałem, i dokonałem kilku optymalizacji. Jak widać, kość piszczelowa jest trochę za duża, podobnie jak kość udowa.

Aby zamontować serwohorny przez kość udową, należy odciąć 2 mm materiału. Można to zrobić na różne sposoby. Za pomocą routera lub wiertarki Forstner. Forstner miał tylko 200 mm średnicy, więc po wojnie musiałem zrobić ręcznie dłutem.

Krok 2: Optymalizacja kości udowej i piszczelowej

Optymalizacja kości udowej i piszczelowej
Optymalizacja kości udowej i piszczelowej
Optymalizacja kości udowej i piszczelowej
Optymalizacja kości udowej i piszczelowej
Optymalizacja kości udowej i piszczelowej
Optymalizacja kości udowej i piszczelowej
Optymalizacja kości udowej i piszczelowej
Optymalizacja kości udowej i piszczelowej

Zmieniłem trochę projekt.

1.) Tibia znacznie lepiej pasuje do serwa, którego używam.

2.) Kość udowa jest teraz nieco mniejsza (około 3 od osi do osi) i pasuje do rogów serwa (średnica 21 mm).

Użyłem 6 desek z 6 mm sklejki i skleiłem je taśmą dwustronną. Jeśli to nie jest wystarczająco mocne, możesz wywiercić otwór we wszystkich deskach i użyć śruby, aby je połączyć. następnie części są wycinane od razu za pomocą piły taśmowej. Jeśli jesteś wystarczająco twardy, możesz również użyć układanki:-)

Krok 3: Projektowanie wspornika serwomechanizmu

Projektowanie wspornika serwomechanizmu
Projektowanie wspornika serwomechanizmu
Projektowanie wspornika serwomechanizmu
Projektowanie wspornika serwomechanizmu
Projektowanie wspornika serwomechanizmu
Projektowanie wspornika serwomechanizmu
Projektowanie wspornika serwomechanizmu
Projektowanie wspornika serwomechanizmu

Teraz nadszedł czas na zaprojektowanie wspornika serwomechanizmu. Jest to mocno zaprojektowane w związku z używanym serwomechanizmem, którego używałem. Wszystkie części wykonane są ze sklejki bukowej 6 mm ponownie patrz następny krok.

Krok 4: Cięcie i montaż wsporników serwo

Cięcie i montaż wsporników serwo
Cięcie i montaż wsporników serwo
Cięcie i montaż wsporników serwo
Cięcie i montaż wsporników serwo

Znowu wyciąłem na piłce taśmowej sześć części jednocześnie. Metoda jest taka sama jak poprzednio.

1.) Za pomocą taśmy dwustronnej sklej ze sobą deski.

2.) Śruby zapewniające większą stabilność podczas cięcia (nie pokazano tutaj).

Następnie użyłem kleju modelarskiego do sklejenia ich ze sobą i dwóch śrub SPAX (nie nałożonych jeszcze na zdjęciu).

W porównaniu z oryginalnym heksapodem nie używam jeszcze łożysk kulkowych, zamiast tego używam tylko 3 mm śrub, podkładek i nakrętek samomocujących później do montażu nóg z korpusem/podwoziem.

Krok 5: Montaż nóg i test

Image
Image
Montaż nóg i test
Montaż nóg i test
Montaż nóg i test
Montaż nóg i test

Na pierwszych dwóch zdjęciach widać pierwszą wersję nogi. Następnie widać porównanie starych i nowych części oraz porównanie części nowych (wersja druga) z oryginałem (zdjęcie w tle).

Na koniec zrobisz pierwszy test ruchu.

Krok 6: Konstruowanie i składanie ciała

Konstruowanie i składanie ciała
Konstruowanie i składanie ciała
Konstruowanie i składanie ciała
Konstruowanie i składanie ciała
Konstruowanie i składanie ciała
Konstruowanie i składanie ciała

Ciało, które próbowałem zrekonstruować ze zdjęć. Jako punkt odniesienia użyłem tuby serwo, którą założyłem o średnicy 1". Czyli przód ma szerokość 4,5", a środek 6,5". Na długość założyłem 7". Później kupiłem oryginalny zestaw body i porównałem go. Byłem bardzo zbliżony do oryginału. W końcu stworzyłem trzecią wersję, która jest kopią oryginału w skali 1:1.

Pierwszy body kit, który wykonałem ze sklejki o grubości 6 mm, tutaj widzisz drugą wersję wykonaną z sklejki o grubości 4 mm, która według mnie jest wystarczająco mocna i sztywna. Inaczej niż w oryginalnym zestawie montowałem klakson serwo na górze, ew. przez materiał (widać to również na kości udowej). Powodem jest to, że nie mam ochoty kupować drogich klaksonu aluminiowego, zamiast tego chcę skorzystać z już dostarczanych klaksonu plastikowego. Innym powodem jest to, że zbliżam się do serwa, więc siły poprzeczne są mniejsze. Zapewnia to bardziej stabilne połączenie.

Swoją drogą, czasami dobrze jest mieć na pokładzie Ganesha. Dzięki mojemu przyjacielowi Tejasowi:-)

Krok 7: Pierwsze testy elektroniki

Image
Image
Tibia i Coxa EV3
Tibia i Coxa EV3

Wszystkie sztuki są teraz zebrane razem. OK, wiem, że to nie wygląda zbyt pięknie, ale tak naprawdę dużo eksperymentuję. Na filmie widać odtwarzanie kilku prostych, predefiniowanych sekwencji, w rzeczywistości nie ma zaimplementowanej kinematyki odwrotnej. Predefiniowany chód nie działa poprawnie, ponieważ został zaprojektowany dla 2 stopni swobody.

W tym przykładzie używam kontrolera serwo SSC-32U firmy Lynxmotion, znajdziesz go tutaj:

Kilka dni temu korzystałem również z innego kontrolera PWM (Adafruit 16-kanałowy kontroler PWM, https://www.adafruit.com/product/815), ale SCC ma w rzeczywistości kilka fajnych funkcji, takich jak spowolnienie serw.

Więc to już wszystko. Następnie muszę się dowiedzieć, jak działa kinematyka odwrotna (IK), może zaprogramuję prosty chód, taki jak predefiniowany w sterowniku SSC. Już znalazłem gotowy do użycia przykład tutaj https://github.com/KurtE/Arduino_Phoenix_Parts, ale jeszcze go nie uruchomiłem. Nie mam pojęcia dlaczego, ale pracuję nad.

Oto krótka lista rzeczy do zrobienia.

1.) Zaprogramuj prosty chód, taki jak wbudowany w SSC.

2.) Zaprogramuj klasę/opakowanie kontrolera PS3 dla Arduino Phoenix.

3.) Pobierz kod z uruchomionego KurtE lub napisz własny kod.

Serwa, których używam, znalazłem na Amazon https://www.amazon.de/dp/B01N68G6UH/ref=pe_3044161_189395811_TE_dp_1. Cena jest całkiem dobra, ale jakość mogłaby być znacznie lepsza.

Krok 8: Pierwszy prosty test chodu

Jak wspomniałem w ostatnim kroku, próbowałem zaprogramować własną sekwencję chodu. Jest to bardzo proste, jak mechaniczna zabawka i nie jest zoptymalizowane pod kątem ciała, którego tu używam. Prosty prosty korpus byłby znacznie lepszy.

Więc życzę dużo zabawy. Muszę się teraz nauczyć IK;-)

Uwagi: Kiedy uważnie przyjrzysz się nogom, zobaczysz, że niektóre serwa zachowują się dziwnie. Chodzi mi o to, że nie poruszają się zawsze płynnie, może muszę je zastąpić innymi serwomechanizmami.

Krok 9: Przenoszenie kontrolera PS3

Dziś rano pracowałem nad pisaniem wrappera dla kodu Phoenix. Zajęło mi to kilka godzin, około 2-3. kod nie jest ostatecznie debugowany i dodałem dodatkowe debugowanie do konsoli. Na razie działa:-)

Ale tak przy okazji, kiedy uruchamiałem kod Phoenixa, wygląda na to, że wszystkie serwa działają w odwrotnym kierunku (przeciwny kierunek).

Jeśli chcesz wypróbować samodzielnie, potrzebujesz kodu od KurtE jako podstawy https://github.com/KurtE/Arduino_Phoenix_Parts. Postępuj zgodnie z instrukcjami, aby zainstalować kod. Skopiuj folder Phoenix_Input_PS do folderu biblioteki Arduino (zwykle podfolder folderu szkicu), a folder Phoenix_PS3_SSC32 do folderu szkicu.

Info: Jeśli nie masz doświadczenia z Arduino i narzędziami i masz jakieś problemy, skontaktuj się ze społecznością Arduino (www.arduino.cc). Jeśli masz problemy z kodem Phoenix od KurtE, skontaktuj się z nim. Dziękuję.

Ostrzeżenie: Zrozumienie kodu nie jest moim zdaniem niczym dla początkujących, więc musisz być bardzo zaznajomiony z C/C++, programowaniem i algorytmem. Kod zawiera również wiele warunkowo skompilowanego kodu, kontrolowanego przez #defines, co czyni go bardzo trudnym do odczytania i zrozumienia.

Lista sprzętu:

  • Arduino Mega 2560
  • Osłona hosta USB (dla Arduino)
  • Kontroler PS3
  • Kontroler serwo LynxMotion SSC-32U
  • Bateria 6 V (proszę przeczytać wymagania dotyczące całego sprzętu, w przeciwnym razie możesz go uszkodzić)
  • Arduino IDE
  • Niektóre kable USB, przełączniki i inne małe części w razie potrzeby.

Jeśli lubisz kontroler PS2, znajdziesz w Internecie wiele informacji o tym, jak połączyć się z Arduino.

Więc proszę o cierpliwość. Zaktualizuję ten krok, gdy oprogramowanie będzie działać poprawnie.

Krok 10: Pierwszy test IK

Image
Image

Znalazłem inny port kodu Phoenix, który działa znacznie lepiej (https://github.com/davidhend/Hexapod), może mam problem z konfiguracją innego kodu. Kod wydaje się być trochę błędny, a chód nie wygląda zbyt płynnie, ale dla mnie to duży krok do przodu.

Proszę wziąć pod uwagę, że kod jest w rzeczywistości eksperymentalny. Muszę dużo sprzątać i poprawiać, a w najbliższych dniach opublikuję aktualizację. Port PS3 bazuje na opublikowanym już porcie PS3, a pliki PS2 i XBee odrzuciłem.

Krok 11: Drugi test IK

Rozwiązanie było takie proste. Musiałem poprawić niektóre wartości konfiguracyjne i odwrócić wszystkie kąty serw. Teraz działa:-)

Krok 12: Tibia i Coxa EV3

Tibia i Coxa EV3
Tibia i Coxa EV3
Tibia i Coxa EV3
Tibia i Coxa EV3

Nie mogłem się oprzeć, więc zrobiłem nowe piszczele i coxę (wsporniki serwa). To już trzecia wersja, którą stworzyłem. Nowe są bardziej okrągłe i mają bardziej organiczny/bioniczny wygląd.

Tak więc aktualny stan jest taki. Sześcionóg działa, ale nadal masz problemy z kilkoma rzeczami.

1.) Nie dowiedziałem się, dlaczego BT ma opóźnienie 2,3 sekundy.

2.) Jakość serwa jest słaba.

Rzeczy do zrobienia:

* Należy poprawić okablowanie serw.

* Potrzebujesz dobrego uchwytu baterii.

* Muszę znaleźć sposób na zamontowanie elektroniki.

* Ponownie skalibruj serwa.

* Dodanie czujników i monitora napięcia baterii.

Krok 13: Gładka kość udowa

Gładka kość udowa
Gładka kość udowa
Gładka kość udowa
Gładka kość udowa
Gładka kość udowa
Gładka kość udowa
Gładka kość udowa
Gładka kość udowa

Kilka dni temu wykonałam już nową kość udową, ponieważ poprzednia nie była w pełni usatysfakcjonowana. Na pierwszym zdjęciu zobaczysz różnice. Stare miały na końcach średnicę 21 mm, nowe mają średnicę 1 cala. Za pomocą swojej frezarki za pomocą prostego narzędzia pomocniczego wykonałem otwory zlewowe w kości udowej, jak widać na kolejnych trzech zdjęciach.

Przed zagłębieniem się w kości udowej warto wywiercić wszystkie otwory, w przeciwnym razie może to być trudne. Róg serwa pasuje bardzo dobrze, kolejnym krokiem, nie pokazanym tutaj, jest nadanie krawędziom okrągłego kształtu. Do tego użyłem frezu o promieniu 3 mm.

Na ostatnim zdjęciu zobaczysz porównanie starego i nowego. Nie wiem, co myślisz, ale nowy podoba mi się znacznie bardziej.

Krok 14: Ostatnie kroki

Image
Image
Ostatnie kroki
Ostatnie kroki
Ostatnie kroki
Ostatnie kroki
Ostatnie kroki
Ostatnie kroki

Skończę teraz ten samouczek, inaczej stanie się niekończącą się historią:-).

W filmie zobaczysz kod Phoenixa KurtE z niektórymi moimi modyfikacjami. Robot nie porusza się idealnie, przepraszam za to, ale tanie serwa są kiepskiej jakości. Zamówiłem inne serwa, właśnie przetestowałem dwa z dobrymi wynikami i wciąż czekam na dostawę. Tak więc przepraszam, że nie mogę pokazać, jak robot działa z nowymi serwomechanizmami.

Widok z tyłu: czujnik prądu o natężeniu 20 amperów, na lewo od potencjometru 10 tys. Kiedy robot chodzi, z łatwością zużywa 5 amperów. Na prawo od puli 10 tys. zobaczysz piksel OLED 128x64 pokazujący pewne informacje o stanie.

Widok z przodu: Prosty czujnik ultradźwiękowy HC-SR04, jeszcze niezintegrowany w SW.

Widok z prawej strony: akcelerator MPU6050 i żyro (6-osiowe).

Widok z lewej strony: głośnik piezo.

Konstrukcja mechaniczna jest teraz mniej lub bardziej skończona, z wyjątkiem serw. Tak więc kolejnymi zadaniami będzie integracja niektórych czujników w SW. W tym celu utworzyłem konto GitHub z oprogramowaniem, którego używam, które jest oparte na migawce oprogramowania Phoenix firmy KurtE.

OLED:

Mój GitHub:

Zalecana: