Spisu treści:

Jasper the Arduino Hexapod: 8 kroków (ze zdjęciami)
Jasper the Arduino Hexapod: 8 kroków (ze zdjęciami)

Wideo: Jasper the Arduino Hexapod: 8 kroków (ze zdjęciami)

Wideo: Jasper the Arduino Hexapod: 8 kroków (ze zdjęciami)
Wideo: AVRISP mkII unboxing 2024, Lipiec
Anonim
Jasper Hexapod Arduino
Jasper Hexapod Arduino
Jasper Hexapod Arduino
Jasper Hexapod Arduino
Jasper Hexapod Arduino
Jasper Hexapod Arduino
Jasper Hexapod Arduino
Jasper Hexapod Arduino

Data projektu: listopad 2018

PRZEGLĄD (JASPER)

Sześć nóg, trzy serwa na nogę, system 18 ruchów serwo sterowanych przez Arduino Mega. Serwa połączone przez osłonę czujnika Arduino Mega V2. Komunikacja z Hexapodem za pośrednictwem modułu Bluetooth BT12 nawiązującego do dedykowanej aplikacji na Androida. System zasilany 2 x 18650, 3400mAh i 2 x 2400mA zestawem akumulatorów każdy trzymany za pomocą rzepu pod korpusem heksapodu. Przełącznik dwustabilny zasilania dla systemów serwomechanizmu i sterowania jest dostarczany, podobnie jak zielona dioda LED na główce heksapodu. Polecenia są powtarzane na wyświetlaczu LCD 16x2. Sygnał wideo, pierścień świetlny i ultradźwiękowe omijanie przeszkód znajdują się w głowie.

UWAGA: W trosce o zdrowie psychiczne gorąco polecam stosowanie serw dobrej jakości, zaczynałem od serw MG995, 20 z nich, z których 11 albo się spaliło, albo straciło zdolność centrowania, albo po prostu przestało działać.

www.youtube.com/embed/ejzGMVskKec

Krok 1: WYPOSAŻENIE

EKWIPUNEK
EKWIPUNEK
EKWIPUNEK
EKWIPUNEK
EKWIPUNEK
EKWIPUNEK
EKWIPUNEK
EKWIPUNEK

1. 20 serw DS3218

2. 1x zestaw podstawowy Hexapod

3. 1x Arduino Mega R3

4. 1x osłona czujnika Arduino Mega v2

5. 1x2 zatoka 18650 uchwyt baterii;

6. 2 x dwubiegunowy wyłącznik zasilania

7. Zielone światło led i rezystor 220kohm

8. Zestawy akumulatorów 2 x 6 v 2800 mAh z mocowaniem na rzep;

9. Baterie 2x18650x3400 mAh;

10. 1x moduł sonaru HC-SR04

11. 1x moduł Bluetooth BT12;

12. 1 x płyta rozwojowa Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT;

13. 1 x osłona kamery Arducam Mini Module z 2 megapikselowym obiektywem OV2640

14. 1 x pierścień świetlny Pixie Neon 16 LCD;

15. Wyświetlacz LCD 1 x 16x2 linii z dołączonym adapterem IIC.

16. 1x5 v wtyczka zasilania dla Arduino Mega;

17. 1 x wtyczka micro USB 5 v do modułu NodeMcu.

18. 1 x moduł konwertera DC na DC Buck

19. 1 x 70 mm x 120 mm x 39 mm kwadratowe czarne plastikowe pudełko (korpus)

20. 1 x 70mm x 50mm x 70mm czarne plastikowe pudełko (głowica)

21. 4 x 40 mm mosiężnych wsporników M3 plus 4 gumowe wsporniki podpór

22. Różne kable rozruchowe męskie na męskie, lut, śruby i śruby m3 oraz gorący klej

Ruch nóg za pomocą logiki na zamówienie. Ruch kamery za pomocą dwóch niezależnych serwomechanizmów dający ruch w górę, w dół, w lewo, w prawo i centralnie. Kamera sterowana przez połączenie WIFI, wyświetlana w widoku WebView w aplikacji Android.

Krok 2: SERWA

SERWA
SERWA
SERWA
SERWA
SERWA
SERWA

Każdy ma maksymalnie 180 stopni do

minimalny ruch 0 stopni.

Każdy serwo identyfikowany kombinacją trzech liczb, LegCFT; gdzie C to ciało (COXA), F to udo (FEMUR), a T to łokieć (TIBIA), więc 410 odnosi się do czwartej nogi i serwa Tibii, podobnie 411 odnosi się do czwartej nogi i serwa Tibii. Sekwencja numeracji będzie wynosić od 100 do 611. Każda noga serwomechanizmu ma gumową stopkę, która amortyzuje uderzenia i zapewnia lepszą przyczepność.

Noga 1: 100, 110, 111 Przód

Noga 2: 200, 210, 211 noga2-noga1

Noga 3: 300, 310, 311 noga4-noga3

Noga 4: 400, 410, 411 noga6-noga5

Noga 5: 500, 510, 511 Tył

Noga 6: 600, 610, 611

Domyślna pozycja dla wszystkich serwonapędów koncentrycznych to 90 stopni.

Domyślna pozycja serw udowych to 90 stopni, 45 stopni to pozycja spoczynkowa.

Domyślna pozycja dla Tibia Servo dla wszystkich nóg to 90 stopni, nogi 1, 3 i 5 mają 175 stopni jako pozycja spoczynkowa, a nogi 2, 4 i 6 używają 5 stopni.

Szyja 1: 700 Ograniczona do 75 do 105 stopni dla ruchu w górę iw dół

Szyja 2: 800 Ograniczona do 45 do 135 stopni dla ruchu w lewo i w prawo

Ruch serwa ograniczony do trzech „zapisów” przed uwzględnieniem 10-milisekundowego opóźnienia, przed wydaniem dalszych poleceń „zapisu”. Pomaga to zmniejszyć obciążenie akumulatorów.

Krok 3: POLECENIA

POLECENIA
POLECENIA
POLECENIA
POLECENIA
POLECENIA
POLECENIA

A=Stop – Stań w domyślnej pozycji.

B=forward - walk_forward

C=reverse - spacer_backward

D=w prawo - skręt_w prawo

E=w lewo - skręt_w lewo

F = ruch w lewo na boki - krab_w lewo

G=prawo ruch boczny - krab_w prawo

H=Rear_crouch (nogi 1 i 2 maksymalnie, 3 i 4 nogi w pozycji neutralnej, nogi 5 i 6 w pozycji minimalnej)

I= Przód_kuc (nogi 1 i 2 w pozycji minimalnej, nogi 3 i 4 w pozycji neutralnej, nogi 5 i 6 w pozycji maksymalnej)

J= kamera w galopie – środek (szyja 1 i szyja 2 w pozycji środkowej, pozycja domyślna)

K=kamera lewa - pan_left (szyja 1, pozycja środkowa, minimalna pozycja serwa szyi 2)

L=kamera prawa - pan_right (szyja 1, pozycja środkowa, maksymalna pozycja serwa szyi 2)

M=camera up - pan_up (maksymalna pozycja szyi 1, pozycja środkowa serwa szyi 2)

N=kamera w dół - pan_down (minimalna pozycja szyi 1, pozycja środkowa serwa szyi 2)

O=Odpoczynek (sześcionóg) siedzi na podporach.

P=Standing Up – Hexapod wstaje do domyślnej pozycji.

Q=Światła wyłączone

R = zielone światło na pierścieniu świetlnym Pixie Neon.

S=Czerwone światło na pierścieniu świetlnym Pixie Neon.

T = niebieskie światło na pierścieniu świetlnym Pixie Neon.

U = białe światło na pierścieniu świetlnym Pixie Neon.

V = falujące przednie nogi.

W=Róg dźwiękowy.

X=Przesuń głowę od lewej do prawej.

Y=Odtwórz melodię.

Krok 4: RUCH

RUCH
RUCH
RUCH
RUCH
RUCH
RUCH

Położenie serwomechanizmu Coax jest wzdłużne do osi ciała, więc na wprost ma 0 stopni, a bezpośrednio z tyłu 180 stopni. Jednak ten Coax i wszystkie inne serwa byłyby ograniczone do 45 do 135 stopni.

Ruch nóg do przodu, do tyłu, w lewo i w prawo zaczynał się od podniesienia nogi za pomocą serwomechanizmów kości udowej i piszczelowej, następnie ruch serwomechanizmów ciała, a na koniec ponowne opuszczenie tej samej nogi za pomocą serwomechanizmów kości udowej i piszczelowej.

Do przodu i do tyłu

Aby poruszać się do przodu lub do tyłu nogami, ćwicz w parach, 1 i 2, 3 i 4, 5 i 6. Prosty ruch do przodu polega na przejściu nóg 1 i 2 z ich aktualnej pozycji do jak najdalej do przodu, a następnie nóg 3 i 4, i wreszcie 5 i 6 nóg powtarza tę samą czynność. Następnie wszystkie sześć serw koncentrycznych przesuwa się z tej wysuniętej do przodu pozycji z powrotem do swojej pierwotnej pozycji wyjściowej. Odwrotność tego procesu służy do cofania się. W ramach procesu ruchu do przodu jednostka ultradźwiękowa HC_SR04 sprawdzi, czy przed nami znajdują się przeszkody i jeśli taka zostanie znaleziona, obróć Hexapod losowo w lewo lub w prawo.

Lewo i prawo

Aby poruszać się lewą lub prawą nogą, pary pracują razem, ale w przeciwnych kierunkach. Na przykład, aby skręcić w prawo noga 1 przesuwa się z bieżącej pozycji z powrotem do pozycji 135 stopni, podczas gdy noga 2 przesuwa się do przodu do pozycji 45 stopni. Powtarza się to dla par nóg 3 i 4 oraz 5 i 6 nóg. W tym czasie serwa Coax cofają swoją pierwotną pozycję z powrotem do nowej pozycji, skręcając ciało w kierunku ruchu, tj. Prawidłowy. Ten proces jest kontynuowany aż do zakończenia wymaganego obrotu w lewo. Odwrotność tego procesu jest używana do skręcania w lewo, więc noga 1 przesuwa się z obecnej pozycji do przodu do pozycji 45 stopni, a noga 2 przesuwa się do tyłu do pozycji 135 stopni.

Wstań i odpocznij

Oba te procesy nie wykorzystują serwa Coax żadnej z nóg, więc aby wstać, serwo Tibii, dla wszystkich nóg, przesuwa się z obecnej pozycji do maksymalnie 45 stopni, podczas gdy w celu spoczynku te same serwa udowe przesuwają się na najniższe pozycja, 175 lub 5 stopni. Ten sam ruch dotyczy serw Tibii, które poruszają się maksymalnie do 45 stopni w pozycji stojącej i ich minimum, tj. 175 lub 5 stopni na odpoczynek.

Kucanie do przodu i kucanie do tyłu

Tutaj znowu procesy są swoimi lustrzanymi odbiciami. Przy kucaniu do przodu nogi 1 i 2 znajdują się w najniższej pozycji, podczas gdy nogi 5 i 6 znajdują się w najwyższej pozycji. W obu przypadkach nogi 4 i 5 przyjmują pozycję neutralną, która jest zgodna z zestawami nóg 1 i 2 oraz 5 i 6. Przy kucaniu do tyłu nogi 1 i 2 znajdują się w najwyższej pozycji, podczas gdy nogi 5 i 6 są w najniższej pozycji.

Krok 5: GŁOWICA/SONAR

GŁOWICA/SONAR
GŁOWICA/SONAR
GŁOWICA/SONAR
GŁOWICA/SONAR
GŁOWICA/SONAR
GŁOWICA/SONAR

Głowica składać się będzie z kwadratowego plastikowego pudełka 38mm x 38mm x 38mm ze zdejmowaną pokrywą. Pudełko/głowica będą miały ograniczony ruch w pionie i poziomie. Ruch będzie realizowany za pomocą dwóch serw, jednego przymocowanego do korpusu robota, drugiego przymocowanego do korpusu pierwszego serwomechanizmu i ramienia przymocowanego do głowy. Napięcie 7,4 V dostarczane przez dwie baterie 18650 będzie zasilać płytkę rozwojową IOT Arduino V3 NodeMcu Lua WIFI ESP8266 12E DEVKIT, podłączoną do Arducam Mini Module Camera Shield z 2 megapikselowym obiektywem OV2640. Takie ustawienie pozwoli robotowi wykrywać przeszkody i przesyłać strumieniowo wideo na żywo za pośrednictwem pokładowego Wi-Fi. Sonar wykorzystujący HC-SR04 i ewentualne informacje o zarządzaniu światłem przepłyną z powrotem do Arduino Mega.

Dziękuję Dmainmunowi za jego artykuł Arducam Instructables, który był bardzo pomocny w moim początkowym zrozumieniu, w jaki sposób Arducam może być używany do przesyłania strumieniowego wideo.

Bateria

Postanowiono zastosować dwa pakiety baterii, jeden do komponentów głowicy i płytki Arduino Mega, a drugi do zasilania wszystkich serw. Pierwsza paczka składała się z 2 akumulatorów 18650 3400 mAh zasilających 7,4V. Drugi pakiet składał się z 2 akumulatorów 6 V 2800 mAh połączonych równolegle, dając w ten sposób zasilanie 6,4 V, ale o zwiększonej pojemności 5600 mAh przymocowane do spodu Hexapod za pomocą pasków na rzepy.

Krok 6: RUCH NÓG

RUCH NÓG
RUCH NÓG
RUCH NÓG
RUCH NÓG
RUCH NÓG
RUCH NÓG

Ramiona mogą pracować w parach lub pojedynczo. Każde ramię składa się ze stawu ciała zwanego Coax z ruchem 45 do 135 stopni, stawu udowego o nazwie Femur z ruchem 45 do 135 stopni i wreszcie stawu łokciowego zwanego piszczelowym lub efektora końcowego z ruchem 45 do 135 stopni. Oprogramowanie na zamówienie zostało napisane, aby zapewnić ruch nóg.

Rodzaje ruchu nóg:

W przypadku kabla koncentrycznego 45 stopni jest skierowane do tyłu od głowy, 90 stopni to pozycja neutralna, a 135 stopni jest skierowane do przodu.

Dla kości udowej 45 stopni jest najwyższą pozycją od ziemi, 90 stopni jest pozycją neutralną, a 135 stopni jest najniższą pozycją od ziemi.

W przypadku Tibii 45 stopni to pozycja najbardziej odległa od ciała, 90 stopni to pozycja neutralna, a 135 stopni to pozycja najbliższa ciała.

Załóżmy, że wszystkie serwa są w pozycji neutralnej, 90 stopni.

Przód: Noga 1 i 2, uniesienie kości udowej do 135 stopni, kabel koncentryczny do 45 stopni, piszczel do 45 stopni najdalej od ciała, kość udowa obniża się do 45 stopni. Jest to powtarzane dla par nóg 3 i 4 oraz par nóg 5 i 6. Wszystkie 6 serw koncentrycznych porusza się od 45 stopni do tyłu do 90 stopni, pozycja neutralna, wszystkie 6 serw udowych porusza się od 45 stopni do 90 stopni, pozycja neutralna. Wreszcie, wszystkie serwa Tibii przesuwają się z 45 stopni do 90 stopni, pozycja neutralna.

Rewers: Zaczynając od nóg 5 i 6, potem 3 i 4, a na końcu nóg 1 i 2, w przeciwnym razie ruch jest taki sam dla kości koncentrycznej, kości udowej i piszczeli.

Po lewej: Nogi 1, 3 i 5 poruszają się w odwrotnym kierunku, podczas gdy nogi 2, 4 i 6 poruszają się w kierunku do przodu. Zarówno ruch do przodu, jak i do tyłu są zgodne ze standardowym ruchem do przodu i do tyłu. Aby zakończyć obrót wszystkimi sześcioma serwomechanizmami Coax, przesuń o 45 stopni, co spowoduje obrót ciała.

Po prawej: Nogi 2, 4 i 6 poruszają się w odwrotnym kierunku, podczas gdy nogi 1, 3 i 5 poruszają się w kierunku do przodu. Zarówno ruch do przodu, jak i do tyłu są zgodne ze standardowym ruchem do przodu i do tyłu. Ruch koncentryczny jest podobny do powyższego, ale w odwrotnym kierunku.

Odpoczynek: Wszystkie serwa Coax i Femur w pozycji neutralnej, wszystkie serwa Tibii w najniższej pozycji 45 stopni, skutecznie kucając zarówno przednie, środkowe, jak i tylne nogi.

Przykucnij z tyłu, stań z przodu: nogi 1 i 2 w najwyższej pozycji, nogi 3 i 4 w pozycji neutralnej, nogi 5 i 6 w najniższej pozycji.

Stań z tyłu, kucnij z przodu: Nogi 1 w najniższej pozycji, nogi 3 i 4 w pozycji neutralnej, nogi 5 i 6 w najwyższej pozycji.

Krab w lewo: Nogi 1 i 5 unoszą się i wysuwają na zewnątrz w lewo, w tym samym czasie nogi 2 i 6 unoszą się i kurczą pod tułowiem. Gdy wszystkie cztery nogi leżą na ziemi, wszystkie Tibii wracają do swojej neutralnej pozycji. Na koniec nogi 3 i 4 powtarzają ten sam proces.

Krab w prawo: Nogi 2 i 6 unoszą się i wysuwają na zewnątrz w prawo, jednocześnie nogi 1 i 5 unoszą się i kurczą pod tułowiem. Gdy wszystkie cztery nogi leżą na ziemi, wszystkie Tibii wracają do swojej neutralnej pozycji. Na koniec nogi 3 i 4 powtarzają ten sam proces.

Ruch głowy w lewo: serwo na szyję 1 45 stopni. Oba serwa powracają do 90 pozycji neutralnej.

Prawy ruch głowy: serwo szyi 1 135 stopni

Ruch głowy w górę: szyja 2 serwo 45 stopni

Ruch głowy w dół: szyja 2 serwo 135 stopni

Ruch głowy: szyja 2 porusza się od 45 do 135 stopni

SERWA

Po wstępnych testach serwa MG995 i MG996 zostały wymienione. Wszystkie 20 serw zastąpiono serwami DS32228 20kg, które zapewniły znacznie lepsze centrowanie i zwiększoną nośność.

Ważne jest, aby dokładnie przetestować każdy serwo za pomocą odpowiedniego programu testowego. Zmodyfikowałem prosty przykładowy program „sweep”, aby przetestować dokładnie dla pozycji 0, 90 i 180, ta procedura testowa była uruchamiana przez co najmniej 5 minut dla każdego serwa, a następnie powtarzana dzień później.

UWAGA: Użycie standardowej płytki Arduino Uno zasilanej kablem USB może nie zapewnić wystarczającego napięcia do uruchomienia niektórych serw. Odkryłem, że napięcie 4,85 V, które otrzymał serwo Uno, powodowało nieprawidłowe zachowanie serw DS3218, zwiększenie tego napięcia do 5,05 V wyleczyło ten problem. Postanowiłem więc uruchomić serwa na 6v. W końcu stwierdziłem, że konieczne było napięcie 6,4 V, ponieważ napięcie 6 V powodowało nieprawidłowe zachowanie serw.

Krok 7: BUDOWA

BUDOWA
BUDOWA
BUDOWA
BUDOWA
BUDOWA
BUDOWA

NOGI

Zaczęło się od układania części zestawu Hexapod. Wszystkie okrągłe rogi serwo wymagały powiększenia otworu matującego na obu końcach kości udowej i wszystkich otworów koncentrycznych. Każda tuba serwomechanizmu była przymocowana do odpowiedniego kabla koncentrycznego i udowego za pomocą czterech śrub i piątej śruby przechodzącej przez środek głowicy serwomechanizmu. Wszystkie korpusy serw zostały przymocowane za pomocą czterech śrub i nakrętek. Mocowanie serwomechanizmu Coax, dla każdej z sześciu nóg, miało łożysko przymocowane do spodu mocowania za pomocą jednej śruby i nakrętki. Każde mocowanie serwomechanizmu Coax zostało przymocowane za pomocą czterech śrub i nakrętek do mocowania serwomechanizmu kości udowej, przy czym mocowanie to było obrócone o 90 stopni. Głowica serwomechanizmu kości udowej była przymocowana do jednego końca ramienia udowego, a drugi koniec kości udowej przymocowanej do głowy serwomechanizmu Tibii. Sześć serw Tibii zostało przymocowanych do górnej części sześciu nóg za pomocą czterech śrub i nakrętek. Każdy efektor końca nóg został pokryty miękką gumową osłoną, aby zapewnić dodatkową przyczepność. Stwierdzono, że dostarczony serwomechanizm był zbyt duży, aby można go było przymocować do połączeń koncentrycznych, udowych i piszczelowych, więc wszystkie środkowe otwory zostały powiększone do 9 mm. Moje podziękowania dla „Toglefritz” za jego instrukcje dotyczące kaparów II dotyczące elementów konstrukcyjnych zestawu Hexapod. Odstąpiłem jednak od konstrukcji w jednym obszarze, a mianowicie mocowaniu rogów serwa do obu końców kości udowej. Zdecydowałem się powiększyć środkowy otwór kości udowej, aby umożliwić przejście przez środek tuby serwomechanizmu, dzięki czemu tuba serwomechanizmu ma dodatkową wytrzymałość, ponieważ była bliżej serwomechanizmu, a te dwa połączenia doświadczyły maksymalnego momentu obrotowego. Każdy róg serwo był przymocowany do kości udowej za pomocą dwóch wkrętów samogwintujących M2.2, przy czym końce tych wkrętów zostały usunięte i oszlifowane na płasko. Wszystkie śruby M3 miały mocno założony zamek.

CIAŁO

Korpus składa się z dwóch płyt, każda z sześcioma otworami, każdy otwór służy do mocowania serwomechanizmu Coax. Dwie baterie 6V 2800mAh zostały przymocowane do spodu dolnej płyty za pomocą rzepów. Przymocowano cztery stojaki M3 rozciągające się tuż za dnem uchwytu baterii, z których każda ma miękką gumową osłonę wsuniętą na spód, co zapewnia stabilną podstawę, na której może spoczywać Hexapod. W górnej części dolnej płyty znajduje się Arduino Mega i osłona czujnika przymocowana za pomocą czterech 5mm dystansów. Na górze dolnej płyty przymocowano 4 stojaki M3 o wysokości 6 cm, które otaczały Arduino Mega i zapewniały wsparcie dla górnej płyty. Do górnej płyty przymocowano pudełko o wymiarach 120 mm x 70 mm x 30 mm, które pomieści pierwsze serwomechanizmy szyjne i ekran LCD. Druga 2 zatoka, 2 x 18650 uchwyt baterii została przymocowana do spodu górnej płyty z tyłu płyty Arduino Mega skierowanej w stronę przodu Hexapod.

Górna płyta ma sześć rogów serwo, każdy przymocowany czterema śrubami M2.2. Na górze płyty jest zainstalowana skrzynka o wymiarach 70mm x 120mm x 30mm, w której zainstalowano 2 wnękowy uchwyt baterii 18650, dwubiegunowy przełącznik, zieloną diodę LED i wyświetlacz LCD IC2 16x2. Ponadto zainstalowany jest również serwomechanizm z pierwszą szyjką, a kabel zasilający i kabel danych z serwomechanizmem drugiej szyi przechodzą przez otwór, aby zasilić drugie serwo i moduł Arduino V3 NodeMcu. Kolejny kabel danych przechodzi przez górną skrzynkę i zasila moduł ultradźwiękowy HC-SR04, ponownie umieszczony w głowicy. Drugi kabel danych i zasilania również przechodzi do głowy, aby zasilić pierścień led pixie.

Dwa serwo kable danych i kabel danych HC-SR04 są poprowadzone przez górną płytę, podczas gdy moduł Bluetooth jest przymocowany do spodu płyty za pomocą podkładki neonowej i gorącego kleju. Zarządzanie kablami pozostałych 18 kabli danych serwomechanizmu musi być na miejscu przed jakąkolwiek próbą przymocowania górnej płyty do dolnej płyty za pomocą 4 śrub M3, które pasują do 4 stojaków M3, które zostały przymocowane do dolnej płyty. W ramach procesu mocowania górnej płyty dolnej wszystkie sześć serw koncentrycznych musi być również umieszczonych we właściwej pozycji z łożyskiem pasującym do otworu w dolnej płycie i głowicą serwomechanizmu w górnym rogu płyty. Po zamontowaniu górne części sześciu serwonapędów Coax są zabezpieczone 6 śrubami M3. Ze względu na położenie rogów serwo dla sześciu serwomechanizmów Coax, wsporniki 4 x M3 musiały zostać zmniejszone o 2 mm, aby łożyska serwa Coax prawidłowo osadziły się w dolnej płycie.

GŁOWA

Głowica składa się z dwóch serw 90 stopni względem siebie, jednego umieszczonego w pudełku przymocowanym do górnej płyty, a drugiego przymocowanego do pierwszego za pomocą tuby serwomechanizmu za pomocą mosiężnej płyty w kształcie litery U. Róg drugiego serwomechanizmu jest przymocowany do mosiężnego wspornika w kształcie litery L, który jest przymocowany do pudełka o wymiarach 70 mm x 70 mm x 50 mm za pomocą dwóch śrub i nakrętek. Pudełko tworzy głowicę, wewnątrz której zainstalowana jest kamera Ardcam, moduł ultradźwiękowy HC-SR04 i moduł Arduino V3 NodeMcu oraz dioda LED zasilania. Zarówno moduł ultradźwiękowy transmitujący, jak i odbierający, głowice czujników wystają z przodu obudowy, podobnie jak obiektyw kamery. Obiektyw otacza na zewnątrz pudełka pierścień 16 LCD Nero pixie. Dioda LED zasilania NodeMcu jest widoczna przez otwór w tylnej płycie głowicy, kabel zasilający, kabel danych modułu ultradźwiękowego, a kable zasilania danych pixie Neon wchodzą przez otwór między tylną płytą a płytą głowicy.

ELEKTRONIKA

Poniższe diagramy Fritzing pokazują elektronikę korpusu i głowicy. Linie VCC i GRD nie są pokazane dla 20 serwomechanizmów, aby ułatwić czytelność diagramu. Moduł Bluetooth, za pośrednictwem aplikacji na Androida, steruje ruchem Hexapod, w tym serwomechanizmami. Moduł Arduino NodeMcu oparty na WIFI steruje modułem kamery Arducam. Wszystkie serwa są podłączone do osłony czujnika Arduino za pomocą pojedynczego bloku zawierającego linie VCC, GRD i sygnałowe. Do podłączenia Bluetooth BT12, HC-SR04 i IC2 LCD używane są standardowe kable połączeniowe DuPont o długości 20 cm.

KALIBRACJA NÓG

Jest to jeden z najtrudniejszych obszarów przygotowania przed pracą nad ruchem sześcionoga. Początkowym pomysłem jest ustawienie wszystkich nóg na następujące, serwa koncentryczne 90 stopni, serwa kości udowej na 90 stopni, a serwa tibijskie ustawione na 90 z fizyczną pozycją nóg ustawioną na 105 stopni dla nóg 2, 4, 6 i 75 stopni dla nóg 1, 3 i 5. Hexapod został umieszczony na płaskiej powierzchni, spoczywającej na czterech wspornikach pod obudową baterii. To nogi są umieszczone w równych punktach między każdą nogą i w równej odległości od ciała. Wszystkie te pozycje zostały zaznaczone na płaskiej powierzchni. Podczas budowy nóg znaleziono środkowy punkt każdego serwa, powinno to być położenie serw 90 stopni. Ta domyślna pozycja 90 stopni jest używana we wszystkich serwach.

Serwa koncentryczne 2 i 5 wewnętrzne powierzchnie są równoległe do siebie, dotyczy to serw 1 i 6 oraz 3 i 4. Wszystkie serwa udowe i koncentryczne są połączone ze sobą pod kątem 90 stopni podczas fazy konstrukcyjnej. Wszystkie serwa udowe mają ramię udowe przymocowane do nich pod kątem 90 stopni. Wszystkie serwa Tibii są przymocowane do Tibii pod kątem 90 stopni. Serwa 2, 4 i 6 są przymocowane do ramienia kości udowej pod kątem 105 stopni, podczas gdy serwa tibijskie 1, 3 i 5 są przymocowane do ramienia kości udowej pod kątem 75 stopni.

Ważne jest, aby pamiętać, że podczas testowania wszystkie serwa powinny być monitorowane pod kątem temperatury, gorące serwo oznacza, że serwo pracuje zbyt ciężko i może zawieść, większość serwomechanizmów będzie ciepła w dotyku.

Początkowa kalibracja polega na przesunięciu Hexapod z pozycji spoczynkowej po włączeniu do pozycji stojącej, która jest zarówno stabilna, stabilna, pozioma, a co najważniejsze, żadne z serwomechanizmów nie przegrzewa się. Aby utrzymać stałą pozycję, konieczne jest zapisywanie do każdego serwa z opóźnieniem mniejszym niż 20 milisekund, użyto 10 milisekund. Wszystkie serwa mogą poruszać się tylko od 0 do 180 stopni i od 180 stopni z powrotem do 0, więc dla wszystkich serw udowych 0 i 180 stopni jest w pionie, a 90 stopni w poziomie.

Przed podłączeniem każdego serwa do każdego z wcześniej zdefiniowanych serwo wysyłany był zapis inicjujący podając jego aktualny kąt spoczynku, tj. aktualna pozycja, w której znajduje się serwo podczas spoczynku. Było to 90 stopni dla wszystkich serw koncentrycznych, 55 stopni dla serw kości udowej i piszczelowej 1, 3 i 5 oraz 125 stopni dla serw udowych i piszczelowych 2, 4 i 6.

Należy pamiętać, że na początku sesji kalibracji akumulatory powinny być zawsze w pełni naładowane.

Hexapod zawsze zaczyna się od pozycji spoczynkowej, całe ciało opiera się na czterech stopach. Od tej pozycji wszystkie serwa kości udowej i tibii są cykliczne od pozycji startowej do pozycji stojącej, w której to momencie wszystkie serwa znajdują się pod kątem 90 stopni. Aby zakończyć pozycję stojącą, wydawane jest polecenie „wstań”, polecenie to wymaga, aby wszystkie nogi podniosły się i ponownie opuściły w dwóch seriach po trzy ruchy nóg, nogi 1, 5 i 4 oraz 2, 6 i 3.

Krok 8: OPROGRAMOWANIE

Oprogramowanie składa się z trzech części, część pierwsza to kod Arduino działający na Arduino Mega, część druga to kod Arduino działający na module NodeMcu w głowicy. Komunikacja odbywa się za pośrednictwem modułu Bluetooth BT12, który odbiera polecenia z tabletu z systemem Android, a mianowicie Samsung Tab 2, na którym działa niestandardowa aplikacja Android Studio. To właśnie ta aplikacja wysyła polecenia do Hexapod. Ta sama aplikacja odbiera również obraz wideo na żywo z modułu NodeMcu za pośrednictwem wbudowanej sieci WIFI.

KOD ANDROIDA

Zindywidualizowany kod Androida, opracowany przy użyciu Android Studio, zapewnia platformę, na której uruchamiana jest aplikacja dwuekranowa. Aplikacja posiada dwa ekrany, główny ekran pozwala użytkownikowi na wydawanie poleceń do Hexapoda i oglądanie obrazu wideo pochodzącego z głowicy Hexapoda. Drugi ekran, dostępny za pomocą przycisku WIFI, pozwala użytkownikowi połączyć się po pierwsze z sześciokątnym Bluetooth, a po drugie z hot spotem WIFI, który jest generowany przez kartę NodeMCU Arduino w głowicy sześciokątnej. Aplikacja wysyła polecenia jednoliterowe, za pośrednictwem szeregowego łącza 9600 bodów, z tabletu za pośrednictwem wbudowanego modułu Bluetooth do modułu Bluetooth BT12 podłączonego do sześcionoga.

KOD ARDUINO

Tworzenie kodu rozpoczęło się od opracowania programu testowego, który został zaprojektowany do testowania podstawowych funkcji Hexapoda, jego głowy i ciała. Ponieważ głowa i jej działanie są całkowicie oddzielone od ciała, rozwój oprogramowania był testowany równolegle z kodem funkcji ciała. Kod działania głowicy był w dużej mierze oparty na poprzednim opracowaniu z włączeniem ruchu serwo. Kod zawierał obsługę wyświetlacza LCD 16x2, modułu ultradźwiękowego HC-SR04 oraz pierścienia świetlnego z 16 diodami LED. Konieczne było dalsze opracowanie kodu, aby zapewnić dostęp WIFI do przekazu wideo na żywo z głowicy.

Kod funkcji ciała został początkowo opracowany w celu zapewnienia początkowego mocowania serwomechanizmu i początkowej pozycji podczas spoczynku. Z tej pozycji Hexapod został zaprogramowany tak, aby po prostu stał. Następnie rozpoczęto prace rozwojowe z dodatkowymi ruchami Hexapoda i połączeniem sekcji kodu głowy i ciała z komunikacją szeregową za pomocą aplikacji na Androida.

Testowy kod serwo pozwolił na rozwój ruchów nóg i ciała, a mianowicie:

1. InitLeg - pozwala na spoczynkową pozycję nóg, stojącą pozycję nóg, początkową pozycję nóg kraba przy chodzeniu w lewo lub w prawo, początkową pozycję nóg przy chodzeniu do przodu lub do tyłu.

2. Falowanie - pozwala przednim nogom pomachać cztery razy przed powrotem do pozycji stojącej.

3. TurnLeg- Pozwala Hexapodowi skręcić w lewo lub w prawo.

4. MoveLeg - pozwala Hexapodowi chodzić do przodu lub do tyłu.

5. Przykucnij Noga - Pozwala Sześcionogowi przykucnąć do przodu w dół na przednich nogach lub do tyłu na tylnych nogach.

Ruch nóg opiera się na parze nóg pracujących razem, więc nogi 1 i 2, 3 i 4, 5 i 6 pracują parami. Ruch składa się z dwóch podstawowych czynności: wyciągnięcia do przodu i pociągnięcia oraz pchnięcia do tyłu. Aby chodzić do tyłu te dwa ruchy są odwrócone, a więc np. chodzenie do przodu, nogi 1 i 2 ciągną, podczas gdy nogi 5 i 6 pchają, nogi 3 i 4 zapewniają stabilność. Chodzenie kraba to po prostu te same czynności, ale ustawione pod kątem 90 stopni do ciała, w tym przypadku nogi 3 i 4 również poruszają się w taki sam sposób, jak inne nogi. Podczas chodzenia pary nóg poruszają się naprzemiennie, jednak podczas chodzenia kraba nogi 1 i 5 pracują jako para, podczas gdy noga 3 działa naprzemiennie z nogami 1 i 5.

Ruch Opis funkcjonalny jest następujący dla każdej z głównych funkcji ruchowych, z których każda składa się z elementów ruchowych zebranych razem i działających w ustalonej kolejności.

ODPOCZYNEK: Zaczynając od pozycji stojącej, wszystkie serwa udowe poruszają się w górę, aby opuścić ciało na cztery podpory. W tym samym czasie wszystkie tibijskie serwa poruszają się do wewnątrz.

STOJĄCY: Zaczynając od pozycji spoczynkowej, wszystkie serwa Tibii poruszają się na zewnątrz, kiedy to jest zakończone, wszystkie serwa udowe przesuwają się do pozycji 90 stopni, w końcu wszystkie serwa Tibii poruszają się do pozycji 90 stopni w tym samym czasie.

SKRĘCENIE W LEWO: Nogi 1, 3 i 5 odsuwają się od głowy o 45 stopni do tyłu, jednocześnie nogi 2, 4 i 6 przesuwają się do przodu w kierunku głowy. Po zakończeniu, wszystkie serwa Coax przemieszczą się z ich aktualnej pozycji z powrotem do standardowej pozycji 90 stopni, ruch ten będzie w kierunku przeciwnym do ruchu wskazówek zegara do ciała.

SKRĘCENIE W PRAWO: Nogi 1, 3 i 5 przesuwają się do przodu w kierunku głowy o 45 stopni, w tym samym czasie nogi 2, 4 i 6 odsuwają się do tyłu od głowy. Po zakończeniu, wszystkie serwa Coax przemieszczą się z ich obecnej pozycji z powrotem do standardowej pozycji 90 stopni, ruch ten będzie zgodny z ruchem wskazówek zegara do ciała.

Kucnij do przodu: Nogi 1 i 2 obniżają się za pomocą serwomechanizmów udowych i piszczelowych, podczas gdy nogi 5 i 6 są podnoszone za pomocą serwomechanizmów udowych i piszczelowych, nogi 3 i 4 pozostają w standardowej pozycji.

KUCHNIJ DO TYŁU: Nogi 1 i 2 są podnoszone za pomocą serwomechanizmów udowych i piszczelowych, podczas gdy nogi 5 i 6 są opuszczane za pomocą serwomechanizmów udowych i piszczelowych, nogi 3 i 4 pozostają w standardowej pozycji.

MACHANIE: Ten układ wykorzystuje tylko nogi 1 i 2. Serwa Coax poruszają się po łuku 50 stopni, podczas gdy kość udowa i piszczel również poruszają się po łuku 50 stopni. Nogi 3 i 4 przesuwają się do przodu w kierunku głowy o 20 stopni, co zapewnia bardziej stabilną platformę.

CHODZENIE DO PRZODU: Nogi 1 i 6, 2 i 5 oraz 3 i 4 muszą pracować razem. Tak więc, podczas gdy noga 1 ciągnie ciało, noga 6 musi pchać ciało, gdy tylko ta czynność zostanie zakończona, nogi 2 i 5 muszą wykonać tę samą czynność, podczas gdy każdy z tych cykli czynności ma miejsce, nogi 3 i 4 muszą wykonać swoje iść naprzód rutynę.

Wstępne funkcje modułu nóg testowych umożliwiły zaprojektowanie każdego z trzech ruchów nóg. Wymagane są trzy ruchy nóg, ponieważ przeciwne nogi po prostu wykonują ruchy wsteczne. Opracowano, przetestowano i skopiowano nowy połączony moduł nóg 1, 3 i 6 dla drugiego modułu odwróconej nogi 2, 4 i 5. Testowanie ruchów nóg sześcionoga osiągnięto poprzez umieszczenie sześcionoga na podniesionym bloku, dzięki czemu nogi mogą się swobodnie poruszać bez dotykania ziemi. Pomiary zostały wykonane, gdy nogi się poruszały i stwierdzono, że wszystkie nogi poruszają się poziomo na odległość 80 mm, jednocześnie pozostając 10 mm nad ziemią w najniższym punkcie podczas ruchu. Oznacza to, że Hexapod będzie po prostu kołysał się z boku na bok podczas ruchu, a wszystkie nogi będą miały równą siłę ciągnącą podczas ruchu.

CHODZENIE W TYŁ:

KRAB CHODZI W LEWO: Początkowy ruch zaczyna się od nóg 1, 2, 5 i 6, które obracają się o 45 stopni w kierunku ruchu. Dzięki temu wszystkie nogi są zgodne z kierunkiem jazdy, nogi 3 i 4 są już w prawidłowej orientacji. Kość udowa i piszczelowa każdej nogi zaczynając od domyślnej pozycji 90 stopni. Ten chód składa się z dwóch zestawów trzech nóg pracujących naprzemiennie, nogi 1, 5 i 4 oraz nogi 3, 2 i 6. Każdy zestaw trzech nóg działa poprzez ciągnięcie przednimi nogami, tj. 1 i 5 oraz pchanie z noga 4, ten ruch jest następnie odwrócony, więc noga 3 ciągnie, podczas gdy nogi 2 i 6 pchają, żadne z serwomechanizmów koncentrycznych nie wykonuje żadnej pracy podczas tego ruchu. Każdy zestaw trzech nóg unosi nieruchomy drugi zestaw nóg podczas ruchu pierwszego zestawu.

KRAB CHODZI W PRAWO:

UWAGA: Głowa odwróci się w kierunku chodu kraba w lewo lub w prawo. Pozwala to na użycie ultradźwiękowego wykrywania HC-SR04 podczas chodzenia.

USTAWIENIE NÓG: Aby Hexapod stał poziomo, wszystkie nogi muszą stać na tej samej wysokości. Umieszczając Hexapod na blokach, a następnie korzystając ze stojaka i procedur odpoczynku, można było zmierzyć odległość od podłoża każdego efektora końcowego. Do każdego efektora końcowego dodałem gumowe buty, aby najpierw zwiększyć przyczepność, ale także aby umożliwić niewielką regulację długości nóg, tak aby między wszystkimi nogami 5 mm lub mniej. Ustawienie każdego serwomechanizmu na 90 stopni było łatwe, jednak mocowanie każdego serwomechanizmu do obu końców kości udowej może i powodowało problemy, ponieważ bardzo małe różnice w kątach obrotu wewnętrznych kolców rogów powodują, że wysokość nóg różni się o 20 mm. Zmiana śrub w różnych otworach mocujących w rogach serwa skorygowała tę różnicę wysokości 20 mm. Byłem zdeterminowany, aby rozwiązać ten problem za pomocą tej metody, zamiast kompensować te różnice wysokości za pomocą oprogramowania.

Zalecana: