Spisu treści:
- Krok 1: Proces projektowania
- Krok 2: Rola Arduino
- Krok 3: Potrzebne materiały
- Krok 4: Części drukowane 3D
- Krok 5: Przygotowanie wsporników serwo
- Krok 6: Tworzenie elementów łączących
- Krok 7: Montaż nóg
- Krok 8: Niestandardowa płytka drukowana i okablowanie
- Krok 9: Składanie ciała
- Krok 10: Wstępna konfiguracja
- Krok 11: Trochę o kinematyce
- Krok 12: Programowanie Arduino
- Krok 13: Wyniki końcowe: czas na eksperymenty
Wideo: Robotyczny dwunożny sterowany Arduino: 13 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Projekty Fusion 360 »
Zawsze intrygowały mnie roboty, zwłaszcza takie, które próbują naśladować ludzkie działania. To zainteresowanie skłoniło mnie do zaprojektowania i opracowania robota dwunożnego, który mógłby imitować chodzenie i bieganie człowieka. W tej instrukcji pokażę Ci projekt i montaż robota dwunożnego.
Głównym celem podczas budowania tego projektu było uczynienie systemu tak solidnym, jak to tylko możliwe, tak aby podczas eksperymentowania z różnymi chodami i bieganiem nie musiałem stale martwić się o awarię sprzętu. To pozwoliło mi docisnąć sprzęt do granic możliwości. Drugim celem było sprawienie, aby dwunożny był stosunkowo tani przy użyciu łatwo dostępnych części hobbystycznych i drukowania 3D, pozostawiając miejsce na dalsze ulepszenia i rozbudowy. Te dwa cele połączone razem zapewniają solidną podstawę do przeprowadzania różnych eksperymentów, pozwalając rozwijać dwunożnego do bardziej specyficznych wymagań.
Kontynuuj tworzenie własnego robota dwunożnego kontrolowanego przez Arduino i oddaj głos w „Arduino Contest”, jeśli podobał Ci się projekt.
Krok 1: Proces projektowania
Humanoidalne nogi zostały zaprojektowane w darmowym oprogramowaniu do modelowania 3d firmy Autodesk Fusion 360. Zacząłem od zaimportowania serwonapędów do projektu i zbudowałem wokół nich nogi. Zaprojektowałem wsporniki do serwomotoru, które zapewniają drugi punkt obrotu diametralnie przeciwny do wału serwomotoru. Posiadanie podwójnych wałów na obu końcach silnika zapewnia stabilność konstrukcji i eliminuje wszelkie przekrzywienia, które mogą wystąpić, gdy nogi są wykonane, aby przejąć pewne obciążenie. Ogniwa zostały zaprojektowane tak, aby utrzymać łożysko, podczas gdy wsporniki wykorzystywały śrubę do wału. Po zamontowaniu ogniw na wałach za pomocą nakrętki łożysko zapewni gładki i solidny punkt obrotu po przeciwnej stronie wału serwomotoru.
Kolejnym celem podczas projektowania dwunożnego modelu było zachowanie jak najbardziej zwartego modelu, aby maksymalnie wykorzystać moment obrotowy zapewniany przez serwomotory. Wymiary ogniw zostały wykonane tak, aby osiągnąć duży zakres ruchu przy jednoczesnej minimalizacji całkowitej długości. Skrócenie ich spowodowałoby zderzenie wsporników, zmniejszając zakres ruchu, a zbyt długie powodowałoby niepotrzebny moment obrotowy na siłownikach. Na koniec zaprojektowałem korpus robota, na którym montuje się Arduino i inne elementy elektroniczne.
Uwaga: Części są zawarte w jednym z poniższych kroków.
Krok 2: Rola Arduino
W tym projekcie wykorzystano Arduino Uno. Arduino było odpowiedzialne za obliczenie ścieżek ruchu różnych testowanych chodów i poinstruowało siłowniki, aby poruszały się pod precyzyjnymi kątami z precyzyjną prędkością, aby uzyskać płynny ruch chodu. Arduino to świetny wybór do tworzenia projektów ze względu na swoją wszechstronność. Zapewnia szereg pinów IO, a także zapewnia interfejsy, takie jak szeregowy, I2C i SPI, do komunikacji z innymi mikrokontrolerami i czujnikami. Arduino zapewnia również doskonałą platformę do szybkiego prototypowania i testowania, a także daje programistom miejsce na ulepszenia i możliwości rozbudowy. W ramach tego projektu kolejne wersje będą obejmować jednostkę pomiaru bezwładnościowego do przetwarzania ruchu, takiego jak wykrywanie upadków i dynamiczne poruszanie się w nierównym terenie oraz czujnik pomiaru odległości w celu uniknięcia przeszkód.
W tym projekcie wykorzystano Arduino IDE. (Arduino udostępnia również internetowe IDE)
Uwaga: programy dla robota można pobrać w jednym z poniższych kroków.
Krok 3: Potrzebne materiały
Oto lista wszystkich komponentów i części wymaganych do stworzenia własnego robota Bipedal z napędem Arduino. Wszystkie części powinny być powszechnie dostępne i łatwe do znalezienia.
ELEKTRONIKA:
Arduino Uno x 1
Silnik serwo Towerpro MG995 x 6
Płyta perforowana (podobny rozmiar do Arduino)
Męski i żeński nagłówek (około 20 szt.)
Zworki (10 sztuk)
MPU6050 IMU (opcjonalnie)
Czujnik ultradźwiękowy (opcjonalnie)
SPRZĘT KOMPUTEROWY:
Łożysko do deskorolki (8x19x7mm)
Nakrętki i śruby M4
Filament do drukarki 3D (jeśli nie posiadasz drukarki 3D, powinna ona znajdować się w lokalnym miejscu pracy lub wydruki można wykonać online za dość tanio)
Bez Arduino i drukarki 3D całkowity koszt tego projektu to 20$.
Krok 4: Części drukowane 3D
Części wymagane do tego projektu musiały być zaprojektowane na zamówienie, dlatego do ich wydrukowania użyto drukarki 3D. Wydruki zostały wykonane z wypełnieniem 40%, 2 obwodami, dyszą 0,4 mm i wysokością warstwy 0,1 mm z PLA, kolorem do wyboru. Poniżej znajdziesz pełną listę części i STL do wydrukowania własnej wersji.
Uwaga: Od tego momentu części będą się odwoływać za pomocą nazw z listy.
- nożny uchwyt serwa x 1
- lustro uchwytu na serwomechanizm stopy x 1
- uchwyt na serwo kolanowe x 1
- lustro uchwytu na serwo kolanowe x 1
- nożny uchwyt serwa x 1
- lustro uchwytu na serwomechanizm stopy x 1
- ogniwo nośne x 2
- link klaksonu serwa x 2
- stopka x 2
- most x 1
- mocowanie elektroniki x 1
- rozpórka elektroniki x 8 (opcjonalnie)
- przestrzeń na serwomechanizm x 12 (opcjonalnie)
Łącznie bez przekładek jest 14 części. Całkowity czas drukowania to około 20 godzin.
Krok 5: Przygotowanie wsporników serwo
Po wydrukowaniu wszystkich części możesz zacząć od skonfigurowania serw i wsporników serw. Najpierw wsuń łożysko do uchwytu serwomechanizmu kolanowego. Pasowanie powinno być ciasne, ale radzę nieco przeszlifować wewnętrzną powierzchnię otworu zamiast dociskać łożysko, co może grozić uszkodzeniem części. Następnie przełóż śrubę M4 przez otwór i dokręć ją za pomocą nakrętki. Następnie chwyć łącznik nożny i przymocuj do niego okrągły serwomechanizm za pomocą dostarczonych śrub. Przymocuj łącznik stopy do uchwytu serwomechanizmu kolanowego za pomocą śrub, których użyjesz również do zamocowania serwomotoru. Upewnij się, że silnik jest ustawiony tak, aby wał znajdował się po tej samej stronie śruby, którą wcześniej przymocowałeś. Na koniec zabezpiecz serwo resztą śrub i nakrętek.
Zrób to samo z uchwytem serw biodrowego i uchwytem serwomechanizmu nożnego. Dzięki temu powinieneś mieć trzy serwosilniki i odpowiadające im wsporniki.
Uwaga: podaję instrukcję budowania jednej nogi, druga jest po prostu lustrzana.
Krok 6: Tworzenie elementów łączących
Po zmontowaniu wsporników zacznij tworzyć linki. Aby utworzyć ogniwo łożyska, ponownie lekko przeszlifuj wewnętrzną powierzchnię otworów na łożysko, a następnie wepchnij łożysko do otworu po obu stronach. Upewnij się, że wsuwasz łożysko, aż jedna strona znajdzie się w jednej płaszczyźnie. Aby zbudować łącznik klaksonu serwomechanizmu, chwyć dwa okrągłe klaksony serwomechanizmu i dostarczone śruby. Umieść rogi na wydruku 3D i wyrównaj otwory, następnie przykręć róg do wydruku 3D, dokręcając śrubę od strony wydruku 3D. Do tych śrub zalecam użycie drukowanej w 3D podkładki do serwomechanizmów. Po zbudowaniu ogniw możesz rozpocząć montaż nogi.
Krok 7: Montaż nóg
Po złożeniu ogniw i wsporników można je połączyć, aby zbudować nogę robota. Najpierw użyj łącznika serwomechanizmu, aby połączyć wspornik serwomechanizmu biodrowego i wspornik serwomechanizmu kolanowego. Uwaga: Nie przykręcaj jeszcze klaksonu do serwomechanizmu, ponieważ w następnym etapie jest etap konfiguracji i będzie to niewygodne, jeśli klakson zostanie przykręcony do serwonapędu.
Po przeciwnej stronie zamontuj ogniwo łożyska na wystających śrubach za pomocą nakrętek. Na koniec przymocuj wspornik serwomechanizmu nożnego, wkładając wystającą śrubę przez łożysko na uchwycie serwomechanizmu kolanowego. I przymocuj wał serwa do serwomechanizmu połączonego z uchwytem serwomechanizmu kolanowego po drugiej stronie. To może być trudne zadanie i polecam do tego drugą parę rąk.
Powtórz kroki dla drugiej nogi. Użyj zdjęć dołączonych do każdego kroku jako odniesienia.
Krok 8: Niestandardowa płytka drukowana i okablowanie
Jest to krok opcjonalny. Aby uporządkować okablowanie, zdecydowałem się wykonać niestandardową płytkę drukowaną za pomocą płytki perf i pinów nagłówka. PCB zawiera porty do bezpośredniego podłączenia przewodów serwosilnika. Ponadto zostawiłem też dodatkowe porty na wypadek, gdybym chciał rozbudować i dodać inne czujniki, takie jak bezwładnościowe jednostki pomiarowe lub ultradźwiękowe czujniki odległości. Zawiera również port dla zewnętrznego źródła zasilania wymaganego do zasilania serwosilników. Połączenie zworki służy do przełączania między USB a zewnętrznym zasilaniem Arduino. Zamontuj Arduino i PCB po obu stronach mocowania elektroniki za pomocą śrub i drukowanych w 3D przekładek.
Uwaga: Upewnij się, że odłączyłeś zworkę przed podłączeniem Arduino do komputera przez USB. Niewykonanie tego może spowodować uszkodzenie Arduino.
Jeśli zdecydujesz się nie używać płytki drukowanej i zamiast tego użyć płytki stykowej, oto połączenia serwa:
- Lewe biodro >> szpilka 9
- Prawe biodro >> szpilka 8
- Lewe kolano >> szpilka 7
- Prawe kolano >> szpilka 6
- Lewa stopka >> trzpień 5
- Prawa stopa >> trzpień 4
Jeśli zdecydujesz się na PCB, postępuj zgodnie z tą samą kolejnością, jak powyżej, używając portów na PCB od prawej do lewej, z portem IMU skierowanym do góry. I użyj zwykłych przewodów połączeniowych męskich do żeńskich, aby podłączyć płytkę drukowaną do Arduino za pomocą powyższych numerów pinów. Upewnij się, że podłączyłeś również pin uziemiający i stworzyłeś ten sam potencjał uziemienia i pin Vin, gdy zdecydujesz się uruchomić go bez zasilania USB.
Krok 9: Składanie ciała
Po złożeniu dwóch nóg i elektroniki połącz je ze sobą, aby zbudować korpus robota. Użyj elementu mostu, aby połączyć ze sobą dwie nogi. Użyj tych samych otworów montażowych w uchwycie serwomechanizmu biodrowego oraz nakrętek i śrub, które mocują serwosilnik. Na koniec podłącz uchwyt elektroniki do mostka. Wyrównaj otwory w uchwycie mostka i elektroniki i użyj nakrętek i śrub M4, aby wykonać połączenie.
Aby uzyskać pomoc, zapoznaj się z załączonymi obrazami. W ten sposób zakończyłeś budowę sprzętu robota. Następnie wskoczmy do oprogramowania i ożyw robota.
Krok 10: Wstępna konfiguracja
Podczas budowy tego projektu zauważyłem, że serwomotory i klaksony nie muszą być idealnie wyrównane, aby pozostać względnie równoległym. Dlatego „centralna pozycja” każdego serwomotoru musi być ręcznie regulowana, aby zrównać się z nogami. Aby to osiągnąć, usuń rogi serw z każdego serwomechanizmu i uruchom szkic Initial_setup.ino. Gdy silniki ustawią się w pozycji centralnej, ponownie przymocuj rogi tak, aby nogi były idealnie proste, a stopa idealnie równoległa do podłoża. Jeśli tak jest, masz szczęście. Jeśli nie, otwórz plik constants.h znajdujący się na sąsiedniej karcie i zmodyfikuj wartości przesunięcia serwomechanizmu (linie 1-6), aż nogi będą idealnie wyrównane, a stopa będzie płaska. Pobaw się wartościami, a dowiesz się, co jest konieczne w Twoim przypadku.
Po ustawieniu stałych zanotuj te wartości, ponieważ będą potrzebne później.
Aby uzyskać pomoc, zapoznaj się z ilustracjami.
Krok 11: Trochę o kinematyce
Aby dwunożny wykonywał przydatne czynności, takie jak bieganie i chodzenie, różne chody muszą być zaprogramowane w postaci ścieżek ruchu. Ścieżki ruchu to ścieżki, po których porusza się efektor końcowy (w tym przypadku stopy). Można to osiągnąć na dwa sposoby:
- Jednym podejściem byłoby podawanie kątów połączeń różnych silników w sposób brutalny. Takie podejście może być czasochłonne, żmudne, a także pełne błędów, ponieważ ocena jest czysto wizualna. Zamiast tego istnieje mądrzejszy sposób na osiągnięcie pożądanych rezultatów.
- Drugie podejście polega na podaniu współrzędnych efektora końcowego zamiast wszystkich kątów połączenia. To jest tak zwana kinematyka odwrotna. Wprowadzane przez użytkownika współrzędne i kąty połączeń dostosowują się, aby ustawić efektor końcowy na określonych współrzędnych. Tę metodę można uznać za czarną skrzynkę, która przyjmuje jako dane wejściowe współrzędne i wyprowadza kąty połączenia. Dla tych, którzy są zainteresowani tym, jak powstały równania trygonometryczne tej czarnej skrzynki, mogą spojrzeć na powyższy diagram. Dla tych, którzy nie są zainteresowani, równania są już zaprogramowane i mogą być używane za pomocą funkcji pos, która przyjmuje jako dane wejściowe x, z i wyprowadza trzy kąty odpowiadające silnikom.
Program zawierający te funkcje można znaleźć w następnym kroku.
Krok 12: Programowanie Arduino
Przed programowaniem Arduino należy dokonać drobnych modyfikacji w pliku. Pamiętasz stałe, o które prosiłem cię o zdjęcie notatki? Zmodyfikuj te same stałe do wartości ustawionych w pliku constants.h.
Uwaga: Jeśli korzystałeś z projektów przedstawionych w tej instrukcji, nie masz nic do zmiany. W przypadku, gdy niektórzy z Was stworzyli własne projekty, będziecie musieli zmienić kilka dodatkowych wartości wraz z przesunięciami. Stała l1 mierzy odległość między osią biodra a kolanem. Stała l2 mierzy odległość między osią kolana a osią kostki. Więc jeśli zaprojektowałeś swój własny model, zmierz te długości i zmodyfikuj stałe. Ostatnie dwie stałe są używane do chodów. Stała stepClearance mierzy, jak wysoko podniesie się stopa podczas wychodzenia do przodu po kroku, a stała stepHeight mierzy wysokość od podłoża do bioder podczas wykonywania kroków.
Gdy wszystkie stałe zostaną zmodyfikowane zgodnie z potrzebami, możesz wgrać główny program. Główny program po prostu inicjalizuje robota do pozycji chodu i zaczyna robić kroki do przodu. Funkcje można modyfikować w zależności od potrzeb, aby zbadać różne chody, prędkości i długości kroków, aby zobaczyć, co działa najlepiej.
Krok 13: Wyniki końcowe: czas na eksperymenty
Dwunożny może stawiać kroki o długości od 10 do 2 cm bez przewracania się. Prędkość również można zmieniać, zachowując równowagę chodu. Ten dwunożny w połączeniu z mocą Arduino zapewnia solidną platformę do eksperymentowania z różnymi innymi chodami i innymi celami, takimi jak skakanie lub balansowanie podczas kopania piłki. Polecam spróbować zmienić ścieżki ruchu nóg, aby stworzyć własne chody i odkryć, jak różne chody wpływają na wydajność robota. Czujniki, takie jak IMU i czujnik odległości, można dodać do systemu, aby zwiększyć jego funkcjonalność, a czujniki siły można dodać do nóg, aby eksperymentować z dynamiczną lokomocją na nierównych powierzchniach.
Mam nadzieję, że podobał ci się ten Instructable i jest wystarczającą inspiracją do zbudowania własnego. Jeśli podobał Ci się projekt, wesprzyj go, odrzucając głos w „Arduino Contest”.
Miłego tworzenia!
I nagroda w konkursie Arduino 2020
Zalecana:
Robotyczny szczur: 8 kroków (ze zdjęciami)
Robotic Rat: Cześć! Nazywam się David, jestem 14-letnim chłopcem mieszkającym w Hiszpanii i to jest mój pierwszy Instruktaż. Od jakiegoś czasu buduję roboty i naprawiam stare komputery, a mój nauczyciel robotyki powiedział mi, że to dobry czas, aby zacząć dzielić się z innymi
Dwunożny BORIS dla początkujących i nie tylko: 11 kroków (ze zdjęciami)
BORIS the Biped for Beginners and Beyond: Zawsze chciałeś nauczyć się programować Arduino, ale po prostu nie możesz znaleźć projektu, na który warto poświęcić czas lub pieniądze, aby to zrobić. Czy kiedykolwiek chciałeś mieć własnego łatwego do programowania, hakowalnego i konfigurowalnego robota, ale nie możesz znaleźć takiego, który pasuje
ICBob - dwunożny robot inspirowany Bobem: 10 kroków (ze zdjęciami)
ICBob – dwunożny robot inspirowany Bobem: Jesteśmy Klubem Nastolatków Wyobraźni z Biblioteki Publicznej Bridgeville Delaware. Wykonujemy fajne projekty, ucząc się elektroniki, kodowania komputerowego, projektowania 3D i druku 3D. Ten projekt jest naszą adaptacją BoB the BiPed, robota opartego na Arduino
Tworzenie Spielatrona (robotyczny Glockenspiel): 11 kroków (ze zdjęciami)
Making the Spielatron (Robotic Glockenspiel): Stworzyliśmy ten robotyczny glockenspiel z części, które już mieliśmy i wykonaliśmy. Nadal jest eksperymentalny i jest w wersji 1. Spielatron jest kontrolowany przez Arduino, które odtwarza polecenia Midi wysyłane do niego z komputera. Obecne ograniczenia to jest monop
Robotyczny dozownik filamentu dla Arduino: 8 kroków (ze zdjęciami)
Robotic Filament Dispenser dla Arduino: Dlaczego zmotoryzowany żarnik do drukarek 3D – zwykle prawie wytrzymały – jest ciągnięty przez ekstruder, podczas gdy rolka jest umieszczona w pobliżu drukarki i może się swobodnie obracać. Zaobserwowałem znaczące różnice w zachowaniu materiału w zależności od poziomu użytkowania