Spisu treści:

Walking Strandbeest, Java/Python i kontrola aplikacji: 4 kroki (ze zdjęciami)
Walking Strandbeest, Java/Python i kontrola aplikacji: 4 kroki (ze zdjęciami)

Wideo: Walking Strandbeest, Java/Python i kontrola aplikacji: 4 kroki (ze zdjęciami)

Wideo: Walking Strandbeest, Java/Python i kontrola aplikacji: 4 kroki (ze zdjęciami)
Wideo: Normal People VS Programmers #coding #python #programming #easy #funny #short 2024, Lipiec
Anonim

By arrowlikeŚledź Więcej autora:

Eksperymentalne badanie prostego ruchu harmonicznego
Eksperymentalne badanie prostego ruchu harmonicznego
Eksperymentalne badanie prostego ruchu harmonicznego
Eksperymentalne badanie prostego ruchu harmonicznego

Ten zestaw Strandbeest to praca DIY oparta na Strandbeest wynalezionym przez Theo Jansena. Zdumiony genialną konstrukcją mechaniczną, chcę wyposażyć go w pełną zwrotność, a następnie w inteligencję komputerową. W tej instrukcji pracujemy nad pierwszą częścią, zwrotnością. Zajmujemy się również strukturą mechaniczną komputera wielkości karty kredytowej, dzięki czemu możemy bawić się wizją komputerową i przetwarzaniem AI. Aby uprościć prace budowlane i eance, nie korzystałem z arduino lub podobnego programowalnego komputera, zamiast tego zbudowałem kontroler sprzętowy bluetooth. Ten kontroler, działający jako terminal współpracujący ze sprzętem robota, jest kontrolowany przez bardziej wydajny system, taki jak aplikacja na telefon z systemem Android lub RaspberryPi itp. Sterowanie może być sterowaniem przez interfejs użytkownika telefonu komórkowego lub programowalnym sterowaniem w języku Python lub Java. Jeden SDK dla każdego języka programowania jest open-source dostępny pod adresem

Ponieważ instrukcja obsługi mini-Strandbeest jest dość jasna w wyjaśnianiu etapów budowy, w tej instrukcji skupimy się na informacjach, które zwykle nie są zawarte w instrukcji obsługi, oraz na częściach elektrycznych/elektronicznych.

Jeśli potrzebujemy bardziej intuicyjnego pomysłu na montaż mechaniczny tego zestawu, dostępnych jest sporo dobrych filmów na temat montażu, takich jak

Kieszonkowe dzieci

Aby skonstruować część mechaniczną i wykonać wszystkie połączenia elektryczne tego Strandbeest, ukończenie powinno zająć mniej niż 1 godzinę, jeśli czas oczekiwania na wydruk 3D nie jest liczony. Wymaga następujących części:

(1) 1x standardowy zestaw Strandbeest (https://webshop.strandbeest.com/ordis-parvus)

(2) 2x silnik prądu stałego z przekładnią (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) 1x kontroler Bluetooth (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1x akumulator LiPo (3,7 V, pojemność do wyboru w mAh)

(5) wkręty do drewna 12x M2x5,6mm

(6) Pręt węglowy lub bambusowy o średnicy 2 mm

Wydrukuj w 3D następujące części:

(1) 1x główny korpus robotyki

(Pobierz tylko plik projektu druku 3D z kontrolerem Bluetooth)

(plik do druku 3D z dodatkowym pobraniem OrangePi Nano)

(2) 2x kołnierz wału napędowego (pobieranie pliku projektu do druku 3D)

(3) 2x osprzęt systemu zasilania (pobieranie pliku projektu do druku 3D)

Inni:

Telefon komórkowy z Androidem. Przejdź do sklepu Google Play, wyszukaj M2ROBOTS i zainstaluj aplikację kontrolną.

W przypadku trudności z dostępem do sklepu Google Play, odwiedź moją osobistą stronę główną, aby uzyskać alternatywną metodę pobierania aplikacji

Krok 1: Organizacja części

Organizacja części
Organizacja części
Organizacja części
Organizacja części
Organizacja części
Organizacja części
Organizacja części
Organizacja części

Na tym etapie zorganizujemy wszystkie części do złożenia. Rys.1. pokazuje wszystkie gotowe plastikowe części, których używamy do budowy modelu Strandbeest. Wykonywane są metodą formowania wtryskowego, co jest bardzo wydajne w porównaniu z innymi metodami obróbki skrawaniem, takimi jak druk 3D czy frezowanie. Dlatego chcemy jak najlepiej wykorzystać produkt masowo produkowany i spersonalizować tylko jak najmniejszą ilość części.

Jak pokazano na rys. 2, każdy kawałek plastikowej płytki jest oznaczony alfabetem, poszczególne części nie posiadają tego oznaczenia. Po ich rozłożeniu nie ma już etykietowania. Aby rozwiązać ten problem, możemy umieścić części tego samego typu w różnych pudełkach lub po prostu zaznaczyć kilka obszarów na kartce papieru i umieścić jeden rodzaj części w jednym miejscu, patrz rys.3.

Aby odciąć plastikową część z większej plastikowej płyty montażowej, nożyczki i nóż mogą nie być tak skuteczne i tak bezpieczne, jak szczypce pokazane na rys. 4 i 5.

Wszystko tutaj jest wykonane z plastiku, z wyjątkiem gumowego materiału, z którego wykonane są palce, patrz rys.6. Możemy ciąć według gotowych nacięć. Miękka natura gumowego materiału zapewnia lepszą przyczepność pszczół. Jest to szczególnie ważne podczas wspinania się na zbocze. W późniejszych tematach możemy przetestować jego zdolność do wspinania się pod różnym kątem nachylenia, z gumowymi palcami i bez. Kiedy nie ma poślizgu, nazywa się to tarciem statycznym. Gdy traci przyczepność, staje się tarciem kinetycznym. Współczynnik tarcia zależy od użytych materiałów, dlatego mamy gumowe palce. Jak zaprojektować eksperyment, podnieś rękę i zabierz głos.

Ostatni rysunek zawiera "ECU", "Pociąg napędowy" i podwozie tego modelu Strandbeest.

Krok 2: Punkty godne uwagi podczas montażu mechanicznego

Punkty godne uwagi podczas montażu mechanicznego
Punkty godne uwagi podczas montażu mechanicznego
Punkty godne uwagi podczas montażu mechanicznego
Punkty godne uwagi podczas montażu mechanicznego
Punkty godne uwagi podczas montażu mechanicznego
Punkty godne uwagi podczas montażu mechanicznego

Mini Strandbeest ma dość dobrą instrukcję obsługi. Postępowanie zgodnie z instrukcją i zakończenie montażu powinno być łatwe. Pominę te treści i podkreślę kilka interesujących punktów, na które warto zwrócić uwagę.

Na rys. 1 jedna strona szczeliny trzymającej gumowe palce jest narożna pod kątem 90 stopni, podczas gdy druga strona ma nachylenie 45 stopni, które oficjalnie nazywa się fazowaniem. Takie nachylenie prowadzi gumowy palec u nogi do plastikowej stopy. Spróbuj zainstalować palce od strony z fazowaniem, patrz Rys.2, a następnie spróbuj z drugiej strony. Różnica jest bardzo zauważalna. Prawa strona ryc. 3 to korba w naszym Stranbeest. Jest bardzo podobny do korby w silniku, silniku samochodowym, silniku motocyklowym, wszystkie mają tę samą strukturę. W Strandbeest, kiedy korba się obraca, napędza stopy do ruchu. W przypadku silnika to ruch tłoka napędza korbę, aby się obracać. Taka 120-stopniowa separacja w okręgu prowadzi również do trójfazowego silnika lub generatora, moc elektryczna jest 120-stopniowa, jak pokazano na rys.4. Kiedy już zmontujemy wszystkie części mechaniczne dla lewej i prawej strony nadwozia, zaczynamy teraz pracować nad częściami, które dodajemy do Strandbeest, patrz rys.5. Rys. 6 to krok, w którym używamy drukowanego w 3D zacisku silnika, aby przymocować silnik do wydrukowanej w 3D obudowy. Na tym etapie sztuczka polega na tym, że żadna ze śrub nie powinna być dokręcana przed wyregulowaniem położenia silnika, tak aby boczna powierzchnia podwozia była taka sama jak powierzchnia silnika. Gdy jesteśmy zadowoleni z wyrównania, możemy dokręcić wszystkie śruby. Przejdź do rys. 7, pracujemy nad montażem sprzęgła kołnierzowego, łączącego wyjście silnika z korbą. Strona silnika jest trudniejsza do zainstalowania niż połączenie od strony korby, patrz Rys.8. Dlatego najpierw podłączamy kołnierz po stronie silnika. Po zamontowaniu sprzęgła kołnierzowego dla obu silników, jak pokazano na rys. 9, używamy dwóch kawałków prętów węglowych o średnicy 2 mm do połączenia podwozia i lewej/prawej konstrukcji kroczącej. To dzieje się na rys.10. W sumie do połączenia tych elementów używamy 3 sztuk prętów węglowych. Ale na tym etapie łączymy tylko dwa z nich, ponieważ musimy obrócić korbę i dopasować połączenie między kołnierzem a korbą. Jeśli na miejscu znajdują się 3 kawałki prętów węglowych, trudniej będzie ustawić względną pozycję i połączyć je. Wreszcie mamy ostatecznie zmontowany układ mechaniczny, na Rys.11. W kolejnym kroku popracujmy nad elektroniką.

Krok 3: Połączenie elektryczne

Połączenie elektryczne
Połączenie elektryczne
Połączenie elektryczne
Połączenie elektryczne
Połączenie elektryczne
Połączenie elektryczne

Wszystkie systemy elektroniczne wymagają zasilania. Jednoogniwową baterię możemy umieścić w dogodnym miejscu, na przykład pod płytką drukowaną na rys.1. Polaryzacja zasilania jest tak krytyczna, że zasługuje na osobną uwagę do omówienia. Rys. 2 przedstawia podłączenie akumulatora. Na płycie sterownika polaryzacja jest oznaczona znakami „+” i „GND”, patrz rys.3. Gdy bateria się wyczerpie, do jej naładowania używany jest kabel USB, patrz rys.4. Dioda LED wskazująca „trwa ładowanie” zostanie automatycznie wyłączona, gdy akumulator ponownie się naładuje. Ostatnim krokiem jest podłączenie wyjść silnika do złącz silnika na płycie sterownika. Istnieją 3 złącza silnika, oznaczone numerem 16 na Rys.3. Na rys. 5 lewy silnik jest podłączony do skrajnego lewego złącza oznaczonego PWM12, a prawy silnik jest podłączony do środkowego złącza. Obecnie skręcanie czołgu (pojazdu z napędem różnicowym) w lewo jest zakodowane na sztywno jako zmniejszenie mocy wejściowej silnika podłączonego do portu silnika PWM12. Dlatego silnik podłączony do portu PWM12 powinien napędzać lewą stopę. Później przekonwertuję wszystkie funkcje miksowania, aby były konfigurowane przez użytkownika. ponieważ Zamieniając wybór złącza silnika lub odwracając kierunek złącza silnika, możemy rozwiązać problem, taki jak ruch Strandbeesta do tyłu po wydaniu polecenia ruchu do przodu, obracanie w niewłaściwym kierunku, pamiętaj, że silnik prądu stałego zmienia kierunek wirowania, jeśli przewód wejściowy jest podłączony do mocy sterującej w odwrotnej kolejności.

Krok 4: Ustawienia i działanie aplikacji

Ustawienia i obsługa aplikacji
Ustawienia i obsługa aplikacji
Ustawienia i obsługa aplikacji
Ustawienia i obsługa aplikacji
Ustawienia i obsługa aplikacji
Ustawienia i obsługa aplikacji
Ustawienia i obsługa aplikacji
Ustawienia i obsługa aplikacji

Najpierw pobieramy aplikację na Androida ze sklepu Google Play, patrz rys.1. Ta aplikacja ma wiele innych funkcji, których nie możemy omówić w tej instrukcji, skupimy się tylko na bezpośrednio powiązanych tematach dla Strandbeest.

Włącz sprzętowy kontroler Bluetooth, pojawi się on na liście urządzeń do wykrywania. Długie kliknięcie przeniesie nas do funkcji pobierania bezprzewodowo, aby później „poinstruować” nas. Zanim klikniemy i rozpoczniemy kontrolę, zróbmy najpierw kilka konfiguracji, klikając w prawym górnym rogu "Ustawienia". Na rys. 2 jest ukryty pod ikoną …. Rys. 3 przedstawia wiele kategorii ustawień. Te ustawienia, skonfigurowane w aplikacji, działają na trzy sposoby: 1) niektóre ustawienia wpływają tylko na działanie aplikacji, takie jak arytmetyka, aby uzyskać polecenie sterowania mocą każdego silnika z polecenia sterowania i przepustnicy. Mieszkają w aplikacji. W niektórych późniejszych instrukcjach pokażemy, jak zastąpić je naszymi programami Python/Java. 2) niektóre ustawienia są przesyłane do sprzętu jako część protokołu sterowania w powietrzu, takie jak przełączanie między sterowaniem bezpośrednim (serwo obraca dokładnie o zadany kąt) a sterowaniem przewodowym (wbudowany autonomiczny moduł funkcyjny kontrolera obsługuje serwomechanizm kanał zgodnie z poleceniem użytkownika i aktualną postawą) 3) niektóre ustawienia zostaną przesłane do pamięci nieulotnej w kontrolerze sprzętowym. Dlatego sprzęt będzie podążał za tymi ustawieniami za każdym razem, gdy zostanie włączony bez konfiguracji. Przykładem będzie nazwa transmisji Bluetooth urządzenia. Tego rodzaju ustawienia wymagają cyklu zasilania, aby zaczęły obowiązywać. Pierwszą kategorią, w której się zanurzamy, są „Ustawienia ogólne” na ryc.4. „Funkcja kontroli aplikacji” na ryc. 5 określa, jaką rolę odgrywa ta aplikacja, kontroler urządzenia sprzętowego przez bezpośrednie połączenie Bluetooth; most przez intranet/internet do kontroli teleobecności; itd. Następnie strona „Typ HW” na rys. 6 informuje aplikację, że pracujesz z pojazdem z napędem różnicowym, więc należy wybrać tryb „tank”. Łącznie mamy do dyspozycji 6 wyjść PWM. W przypadku Strandbeest musimy skonfigurować kanały od 1 do 4 zgodnie z rys.7. Każdy kanał PWM działa w jednym z następujących trybów: 1) serwo normalne: serwo RC sterowane sygnałem PWM od 1 do 2 ms 2) serwo rewers: sterownik odwróci sterowanie użytkownika dla jego wyjścia 3) cykl pracy silnika DC: a DC silnik lub jakieś elektryczne urządzenie zasilające, może pracować w trybie cyklu pracy, 0% jest wyłączone, 100% jest zawsze włączone. 4) Odwrócenie cyklu pracy silnika prądu stałego: ponownie kontroler odwróci sterowanie użytkownika dla jego wyjścia Ponieważ używamy silnika prądu stałego i dbamy o kierunek obrotów silnika według kolejności okablowania sprzętowego, wybierzemy „Cykl pracy silnika prądu stałego” dla kanału 1 do 4, patrz rys.8. Musimy również połączyć 2 kanały PWM z 1 mostkiem H, aby umożliwić dwukierunkową kontrolę. Ten krok pokazano na rys.9. W trybie „2 kanały PWM do 1 mostka H” kanały 1, 3 i 5 są używane do sterowania obydwoma powiązanymi kanałami. Wprowadza to konieczność przemapowania sterowania przepustnicą, sterowania góra-dół joysticka z domyślnego kanału 2 na kanał 3. Osiąga się to w ustawieniach na Rys.10. Jak pokazano na rys. 11, każdy kanał jest skonfigurowany do przyjmowania jednego dowolnego źródła wejściowego.

Bingo, teraz ukończyliśmy minimalną wymaganą konfigurację i możemy wrócić do strony z widocznym urządzeniem Bluetooth i podłączyć je. Na Rys.12 spróbuj zagrać joystickiem, a my będziemy się dobrze bawić z tym Strandbeestem. Spróbuj wspiąć się po pewnym zboczu, zapamiętaj analizę tarcia między rodzajami materiałów i odczytaj szacunkową pozycję kontrolera lotu, która jest pokazana w rzędzie oznaczonym „RPY(deg)”, cztery wpisy w tym rzędzie to przechylenie, pochylenie, kąt odchylenia szacowany przez żyroskop i akcelerometr na pokładzie; ostatni wpis to wyjście kompasu z kompensacją przechyłu.

Przyszła praca: w poniższych instrukcjach stopniowo omówimy jego interfejs programistyczny, wybierzemy Twój ulubiony język Java lub Python do interakcji ze Strandbeest i nie będziemy już czytać statusu Strandbeest z ekranu telefonu komórkowego. Rozpoczniemy również programowanie w komputerze linux typu RaspberryPi dla bardziej zaawansowanych tematów programowania, patrz ostatni rysunek. Zamówienie https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ dla części mechanicznych do druku 3D i https://github.com/xiapeiqing/m2robots.git dla SDK i przykładowego kodu, jeśli chcesz zacząć natychmiast. Daj mi znać, jaki jest Twój pożądany język programowania, jeśli nie Java lub Python, mogę dodać nową wersję SDK.

Baw się dobrze z hakowaniem i bądź na bieżąco z poniższymi instrukcjami.

Zalecana: