Spisu treści:

Zbuduj robota Telepresence kontrolowanego przez Wi-Fi: 11 kroków (ze zdjęciami)
Zbuduj robota Telepresence kontrolowanego przez Wi-Fi: 11 kroków (ze zdjęciami)

Wideo: Zbuduj robota Telepresence kontrolowanego przez Wi-Fi: 11 kroków (ze zdjęciami)

Wideo: Zbuduj robota Telepresence kontrolowanego przez Wi-Fi: 11 kroków (ze zdjęciami)
Wideo: Джон Верваке: Психоделики, зло и буддизм 2024, Listopad
Anonim
Image
Image

Ten projekt dotyczy budowy robota, który może wchodzić w interakcję ze zdalnym środowiskiem i być sterowanym z dowolnej części świata za pomocą Wi-Fi. To jest mój ostatni projekt inżynierski i dzięki nim nauczyłem się wiele o elektronice, IoT i programowaniu. Ten projekt koncentruje się na osobach z niepełnosprawnością lokomocyjną, ponieważ mają trudności z poruszaniem się, więc robot teleobecności może im z łatwością pomóc.

W projekcie są 2 systemy, które zapewniają jego sukces. Sterowanie ruchem dłoni w celu poruszania dłonią robota i aplikacją mobilną, która steruje podstawą silnika.

Poniżej znajduje się dokument i prezentacja Telepresence V1, dzięki czemu uzyskasz głębsze zrozumienie.

Czas to zbudować!

Kieszonkowe dzieci

Do tego projektu potrzeba wielu narzędzi i komponentów. Kosztowało mnie to około 1000 AED (270 $), więc upewnij się, że masz taki budżet. Oto komponenty, których będziesz potrzebować:-

  1. Węzeł MCU x 3
  2. Sterownik silnika prądu stałego L298N x 1
  3. Zasilanie 12 V x 1
  4. Regulator napięcia obniżającego LM2596 x 1
  5. Czujniki MPU9250 IMU x 2
  6. Serwosilniki (moment obrotowy 10-20 kg) x 4
  7. lekkie drewno 1x1m
  8. Metalowe pręty gwintowane 8M 1m x 2
  9. Drukarka 3D (30x30cm)
  10. drwal i wiertarka
  11. Przewody elektryczne, przewody połączeniowe i płytka stykowa
  12. Pełny rękaw na ramię
  13. Silnik 12V DC (25kg.cm) x 2
  14. 3-calowe kółko x 1
  15. Koło gumowe 6 cm z mocowaniem śrubowym x 2
  16. Zestaw lutowniczy

Krok 1: Jak to działa?

Projekt
Projekt

Jest to schemat komunikacji, który pozwala zrozumieć, w jaki sposób komponenty komunikują się ze sobą. Używamy sieci transferu danych o nazwie PubNub jako platformy IoT, która może wysyłać wiadomości w czasie rzeczywistym w zaledwie 0,5 sekundy! To najszybsza reakcja, jaką możemy uzyskać, a to jest jeszcze ważniejsze w naszym projekcie, ponieważ będziemy używać ręki do sterowania ramieniem robota w czasie rzeczywistym.

Wszystkie Nodemcu są używane do wysyłania i odbierania danych. W grę wchodzą 2 indywidualne systemy, w których Nodemcu na ramieniu wysyła dane czujnika ruchu do PubNub i są one odbierane przez Nodemcu na ramieniu robota. w przypadku ruchu bazy aplikacja mobilna wysyła dane dla współrzędnych x, y z joysticka, które są odbierane przez Nodemcu w bazie, która może sterować silnikiem za pośrednictwem sterownika. To wszystko na teraz.

Krok 2: Projekt

Powyższy projekt da Ci wyobrażenie o tym, jak wygląda konstrukcja. Możesz pobrać pliki cad, aby mieć lepszy wygląd. Podstawa łazika jest podtrzymywana przez 3 koła, z których 2 to silnik prądu stałego z tyłu i jedno kółko samonastawne z przodu. Z powodu ruchu ramienia robota zauważyłem niestabilność podstawy, więc warto rozważyć dodanie 2 kółek samonastawnych z przodu. Dolna i górna drewniana podstawa jest podparta prętami gwintowanymi, które są osadzone za pomocą nakrętek. Upewnij się, że używasz nakrętki zabezpieczającej, ponieważ dzięki temu będzie ona trwale szczelna na dłuższą metę.

Pobierz plik źródłowy projektu - projekt Telepresence

Krok 3: Drukowanie 3D ramienia i obliczenia momentu obrotowego

Drukowanie 3D ramienia i obliczanie momentu obrotowego
Drukowanie 3D ramienia i obliczanie momentu obrotowego

Ramię robota telepresence ma prostą konstrukcję w kształcie pudełka, dzięki czemu można go łatwo wydrukować w 3D przy minimalnej ilości filamentu. Jego długość wynosi około 40 cm, co odpowiada długości ludzkiego ramienia. Długość ramienia robota opiera się na momencie obrotowym podnoszonym przez serwomotory. Obliczenie momentu obrotowego można znaleźć na powyższym obrazku wraz ze specyfikacją serwosilnika, którego użyłem, dzięki czemu można dostosować projekt do swoich potrzeb. Ale unikaj używania maksymalnego momentu obrotowego serwomotoru, ponieważ na dłuższą metę spowoduje to uszkodzenie silnika.

Pobierz poniższe pliki do druku 3D, wydrukuj je i idź dalej.

Krok 4: Wykonanie i montaż podstawy

Wykonanie i montaż podstawy
Wykonanie i montaż podstawy
Wykonanie i montaż podstawy
Wykonanie i montaż podstawy
Wykonanie i montaż podstawy
Wykonanie i montaż podstawy

Oto kroki, które możesz wykonać w celu wytworzenia:-

  1. Przetnij gwintowany metalowy pręt w punkcie środkowym za pomocą piły
  2. Użyj drwala, aby zrobić 2 kawałki drewna o wymiarach 40x30cm
  3. Wywierć niezbędne otwory w górnej i dolnej podstawie, jak na powyższym rysunku
  4. Zacznij mocować silnik prądu stałego i kółka samonastawne na dolnej podstawie
  5. Aby zrobić prostokątny otwór na górnej podstawie, najpierw wykonaj okrągły otwór za pomocą wiertarki, a następnie włóż drwala przez otwór i przytnij go wzdłuż krawędzi, aby uzyskać prostokąt.

jeśli zastanawiasz się, dlaczego prawy górny otwór jest umieszczony do tyłu, to dlatego, że nie byłem pewien, czy umieszczę ramię robota w prawym rogu na środku. Umieszczenie go na środku było lepszym wyborem ze względu na wyważenie.

Krok 5: Montaż ramienia robota

Montaż ramienia robota
Montaż ramienia robota

Szczególnej uwagi wymaga montaż ramienia robota. Poza montażem mechanicznym, musisz upewnić się, że serwomotor jest pod odpowiednim kątem podczas montażu. Postępuj zgodnie z powyższym schematem, aby zorientować się, pod jakim kątem ustawić serwosilnik na wszystkich silnikach przed zamontowaniem czegokolwiek na górze. Postaraj się naprawić tę część, w przeciwnym razie złożysz ją ponownie.

Użyj poniższego szablonu kodu, aby ustawić dokładny kąt serwomechanizmu za pomocą Arduino lub Nodemcu. W sieci jest już wiele informacji na ten temat, więc nie będę się wdawał w szczegóły.

#włączać

serwomechanizm;

int pin =; // podaj numer pinu, do którego podłączony jest pin danych serwa na arduino

pusta konfiguracja () {

serwo.attach(pin);

}

pusta pętla () {

kąt int =; //kąt, pod jakim należy ustawić

serwo.zapis(kąt);

}

Krok 6: Obwód kontrolera ramienia

Obwód kontrolera ramienia
Obwód kontrolera ramienia
Obwód kontrolera ramienia
Obwód kontrolera ramienia

Montaż kontrolera ramienia jest prosty. Użyłem długiego rękawa i dołączyłem czujniki, Nodemcu i płytkę stykową z szyciem. Upewnij się, że orientacja czujnika jest w tym samym kierunku, co na powyższym obrazie kontrolera. Na koniec postępuj zgodnie ze schematem obwodu i pobierz poniższy kod.

Krok 7: Obwód robota Telepresence

Obwód robota teleobecności
Obwód robota teleobecności
Obwód robota teleobecności
Obwód robota teleobecności
Obwód robota teleobecności
Obwód robota teleobecności

Postępuj zgodnie ze schematem obwodu w ten sam sposób. Sprawdź krzyżowo styki zasilacza, którego używasz, aby uniknąć zwarć. Ustaw napięcie wyjściowe konwertera buck na 7 V, ponieważ jest to średnie napięcie wszystkich serwosilników. Jedynym miejscem, które można przylutować, są zaciski podstawowego silnika prądu stałego, ponieważ pobiera on dużo prądu, więc musi być szczelny nieco grubszym przewodem elektrycznym. Gdy obwód jest kompletny, później prześlesz 'arm_subscriber.ino' do Nodemcu, który łączy się z ramieniem i 'base.ino' do załadowania na bazowym Nodemcu.

Krok 8: Aplikacja mobilna

Mobilna aplikacja
Mobilna aplikacja

To jest telefon komórkowy do kontrolowania lokomocji. Kiedy poruszasz joystickiem, wysyła współrzędne X, Y na okręgu joysticka do Pubnub i odbiera je Nodemcu w bazie. Ta współrzędna X, Y jest zamieniana na kąt i za jej pomocą możemy znaleźć kierunek, w którym będzie podążał robot. Ruch odbywa się poprzez włączanie/wyłączanie i zmianę kierunku dwóch silników. Jeśli polecenie to Do przodu, oba silniki poruszają się do przodu z pełną prędkością, jeśli lewy, to lewy silnik powróci do tyłu, a prawy do przodu i tak dalej.

powyższą funkcję można po prostu wykonać za pomocą przycisków również zamiast joysticka, ale wybieram joystick do sterowania prędkością silnika. Jednak mój pin enable nie działał z Nodemcu, więc opuściłem tę część. Dodałem kod kontroli prędkości w base.ino na wszelki wypadek jako komentarz.

Poniżej możesz pobrać plik źródłowy.aia, który można edytować za pomocą wynalazcy aplikacji MIT. Będziesz musiał wykonać podstawową konfigurację w aplikacji, o której opowiem w następnym kroku.

Krok 9: Utwórz konto w Pubnub i zdobądź klucze

Utwórz konto w Pubnub i zdobądź klucze
Utwórz konto w Pubnub i zdobądź klucze

Teraz nadszedł czas na ostatni krok, jakim jest konfiguracja Twojej platformy IoT. Pubnub jest najlepszy, ponieważ przesyłanie danych odbywa się w czasie rzeczywistym i zajmuje tylko 0,5 sekundy. Co więcej, możesz wysłać 1 milion punktów danych miesięcznie, więc jest to moja ulubiona platforma.

Przejdź do PubNub i utwórz swoje konto. Następnie przejdź do menu Aplikacje w lewym menu i kliknij przycisk o nazwie „+Utwórz nową aplikację” po prawej stronie. Po nazwaniu aplikacji zobaczysz powyższy obraz klucza wydawcy i subskrybenta. Właśnie tego będziemy używać do łączenia urządzeń.

Krok 10: Dodaj klucze do kodu i prześlij

Dodaj klucze do kodu i prześlij
Dodaj klucze do kodu i prześlij
Dodaj klucze do kodu i prześlij
Dodaj klucze do kodu i prześlij

Potrzebujemy 4 rzeczy, aby urządzenie mogło się ze sobą komunikować:- pubkey, subkey, channel i wifi.

pubkey i subkey pozostaną takie same we wszystkich aplikacjach Nodemcu i mobilnych. 2 komunikujące się ze sobą urządzenia powinny mieć taką samą nazwę kanału. Ponieważ aplikacja mobilna i baza komunikują się, będą miały tę samą nazwę kanału, podobną dla kontrolera i dłoni robota. Na koniec musisz umieścić dane uwierzytelniające Wi-Fi na każdym Nodemcu, aby mógł połączyć się z Wi-Fi na początku. Dodałem już nazwę kanału, więc klucz wifi i pub/sub jest tym, co musisz dodać ze swojego konta.

Uwaga: - Nodemcu może łączyć się tylko z Wi-Fi, do którego można uzyskać dostęp bez strony internetowej jako pośredni. Nawet do mojej ostatniej prezentacji musiałem użyć mobilnego hotspotu, ponieważ uniwersyteckie wifi było przeciągnięte.

Krok 11: Wniosek

Wniosek
Wniosek

Jeśli dotarłeś do tego miejsca, to NIESAMOWITE! Mam nadzieję, że dzięki temu artykułowi zyskałeś coś wartościowego. Ten projekt ma małe ograniczenia, o których chcę ci powiedzieć przed jego wykonaniem. Oto kilka poniżej:-

Nagły ruch ramienia robota:-

Istnieje wiele nagłych ruchów ramienia robota. Wynika to z 0,5 sekundy opóźnienia, gdy informacje z czujnika są przesyłane jako ruch serwa. Uszkodziłem nawet 2 serwomotoru, więc nie ruszaj zbyt szybko ramieniem. Możesz rozwiązać ten problem, dodając kroki pośrednie między oryginalnym ruchem, aby uzyskać płynny ruch.

Brak zatrzymywania ruchu bazy:-

kiedy zmuszam robota do poruszania się w jednym kierunku przez aplikację mobilną, robot porusza się w tym samym kierunku, nawet gdy podnoszę palce. To było denerwujące, ponieważ zawsze musiałem wyłączać zasilanie, aby zatrzymać ruch. Wstawiłem kod zatrzymania w aplikacji, ale nadal nie działał. Może to być problem w samej aplikacji. Może spróbujesz to rozwiązać i daj mi znać.

Brak kanału wideo: –

Bez przekazu wideo pochodzącego od robota do osoby, nigdy nie możemy wdrażać daleko od użytkownika. Chciałem to dodać na początku, ale wymagałoby to więcej czasu i inwestycji, więc to zostawiłem.

Możecie posunąć ten projekt dalej, rozwiązując powyższy problem. Kiedy to zrobisz, daj mi znać. Pożegnanie

Więcej projektów znajdziesz na stronie mojego portfolio

Konkurs robotyki
Konkurs robotyki
Konkurs robotyki
Konkurs robotyki

Drugie miejsce w konkursie robotyki

Zalecana: