Spisu treści:

Tinku: osobisty robot: 9 kroków (ze zdjęciami)
Tinku: osobisty robot: 9 kroków (ze zdjęciami)

Wideo: Tinku: osobisty robot: 9 kroków (ze zdjęciami)

Wideo: Tinku: osobisty robot: 9 kroków (ze zdjęciami)
Wideo: PROSTY UKŁAD - Tańcz z nami instruktorami PAARO - Disco Kids - Tańcz, Tańcz, Tańcz 2024, Listopad
Anonim
Tinku: osobisty robot
Tinku: osobisty robot

By sw4pObserwuj Więcej autora:

Powierzchnia niematerialna
Powierzchnia niematerialna
Powierzchnia niematerialna
Powierzchnia niematerialna
Usunięto instrukcję
Usunięto instrukcję
Usunięto instrukcję
Usunięto instrukcję
Kartonowe pianino
Kartonowe pianino
Kartonowe pianino
Kartonowe pianino

Witam, Tinku to nie tylko robot; to jest osobisty robot. To wszystko w jednym pakiecie. Potrafi widzieć (wizja komputerowa), słuchać (przetwarzanie mowy), rozmawiać i reagować na sytuację. Potrafi wyrażać emocje, a lista rzeczy, które może zrobić, jest długa. nadałem mu imię; Nazywam to Tinku.

Krótkie wprowadzenie do tego, co może zrobić, to

  1. Wizja komputerowa
    • Wykrywanie twarzy
    • Śledzenia twarzy
    • Rób zdjęcia i nagrywaj wideo
    • Rozpoznaj znaczniki ArUco
  2. Przetwarzanie mowy

    • Przetwarzanie mowy offline (wykrywanie słów-kluczy)
    • Może zrozumieć, co mówisz, wykrywając Hotwords.
  3. Wyrażaj emocje

    • Porusza głową w celu komunikacji niewerbalnej i wyrażania uczuć.
    • Wyświetla obrazy i gify na ekranie, aby wspierać obecne nastroje.
  4. Poruszaj się

    Potrafi jeździć na kółkach i identyfikować miejsca za pomocą markerów ArUco

  5. Unikanie przeszkód

    Posiada czujniki sonaru, dzięki czemu zawsze jest świadomy otoczenia i może omijać przeszkody

Może zrobić o wiele więcej rzeczy. Możesz także zaimplementować jakie nowe funkcjonalności chcesz.

Dość gadania, zróbmy.

EDIT: Body of Tinku zaczęło pękać, więc musiałem go całkowicie przeprojektować. Oto nowe obrazy, zupełnie świeże i lepsze Tinku. Przepraszam, nie mam zdjęć przedstawiających etapy przeprojektowania Tinku.

Krok 1: Rzeczy, których będziesz potrzebować

Rzeczy, których będziesz potrzebować
Rzeczy, których będziesz potrzebować
Rzeczy, których będziesz potrzebować
Rzeczy, których będziesz potrzebować
Rzeczy, których będziesz potrzebować
Rzeczy, których będziesz potrzebować
Rzeczy, których będziesz potrzebować
Rzeczy, których będziesz potrzebować

Ciało robota

  1. Arkusz akrylowy
  2. płyta MDF
  3. Małe zaciski L
  4. Zestaw nakrętek i śrub

Serwa, silniki i koła

  1. Dynamixel AX-12A (3 sztuki)
  2. Zestaw śrub i nakrętek bioloidowych
  3. Silniki (2 sztuki)
  4. Gąsienice (2 opakowania)
  5. Koła gąsienicowe (4 sztuki)
  6. Zaciski L do silników (2 sztuki)
  7. Zacisk L do półosi koła atrapy (2 szt.)
  8. Atrapa wału koła (2 sztuki)
  9. Bioloid Ramka F8
  10. Bioloid Ramka F3 (2 sztuki)
  11. Bioloid Ramka F2
  12. Bioloid Ramka F10

Elektronika

  1. Arduino
  2. Raspberry Pi lub Udoo Quad
  3. Kierowca motocyklu
  4. Kamera internetowa Logitech-c270 (ma wbudowany mikrofon)
  5. Ultradźwiękowe czujniki odległości (6 sztuk)
  6. Bateria Lipo (3300 Mah 3S)
  7. Zwiększający regulator napięcia (DC-DC)
  8. Regulator napięcia obniżającego (DC-DC)
  9. Ekran dotykowy (7 cali)
  10. Koncentrator USB (Tylko jeśli używasz Udoo Quad, ponieważ ma tylko 2 porty USB)
  11. 7404 inwerter sześciokątny IC
  12. 74HC244 IC
  13. 14-pinowa podstawa IC
  14. 20-pinowa podstawa IC

Złącza i kable

  1. Złącze baterii męskie z wtyczką T
  2. Elastyczny kabel HDMI (Tylko jeśli ekran ma złącze HDMI)
  3. Kabel micro USB
  4. Trzypinowy kabel relimatowy żeńsko-żeński (6 sztuk)
  5. Wtyk męski DC baryłkowy (2 sztuki)
  6. Złącza serwo Dynamixel (3 sztuki)
  7. Kabel USB A do B (tylko jeśli nie jest dostarczany z Arduino)
  8. Przewody połączeniowe
  9. Druty do krojenia chleba
  10. Paski Burg

Do robienia płytek drukowanych

  1. Laminat pokryty miedzią
  2. Wytrawiacz PCB (Fecl3)
  3. Perforowana płytka drukowana
  4. Wiertło 1 mm

Różnorodny

  1. Klej
  2. Rurki radiatora
  3. Patyczki

Uwaga: tutaj używam płyty Udoo, ponieważ ma lepszą prędkość obliczeniową niż moja raspberry pi 2. Używam zewnętrznego Arduino zamiast wbudowanego Arduino płyty Udoo, ponieważ wszystkie moje czujniki i moduły są kompatybilne z 5 V, a Arduino w Płyta Udoo jest kompatybilna z 3V.

Krok 2: Ciało robota

Ciało robota
Ciało robota
Ciało Robota
Ciało Robota
Ciało Robota
Ciało Robota
Ciało robota
Ciało robota

Do przygotowania korpusu robota użyłem arkusza akrylu i przyciąłem go na określony rozmiar, tworząc strukturę przypominającą pudełko. Wspomniałem o wymiarach każdej strony ciała na zdjęciu.

  1. Wytnij arkusz akrylowy zgodnie z podanym rozmiarem.
  2. Wywierć otwory w określonych miejscach, aby zamontować silniki, czujniki, wsporniki i połączyć ze sobą każdą płytę.
  3. Wywierć większy otwór w płycie podstawy i płycie górnej, aby przeprowadzić kable.
  4. Zrób małe wycięcie w dolnej części przedniego i tylnego panelu, aby przewody wychodzące z czujnika ultradźwiękowego mogły przejść.

Czas przygotować i zamontować silniki i gąsienice.

  1. Przylutuj dodatkowe przewody do kołków silnika, aby przewód mógł dotrzeć do sterowników silnika.
  2. Zamontuj zaciski silnika i zaciski wału koła atrapy na płycie podstawy robota.
  3. Połącz silniki i atrapę wału z zaciskami, a następnie połącz koła.
  4. Złóż tory i zrób pętlę.
  5. Pasek na kółkach. Pamiętaj, że tor nie luzuje się i jest na nim wystarczająco napięty.

Teraz połącz przedni, tylny i jeden panel boczny na panelu podstawowym za pomocą małych zacisków L. Nie montuj panelu górnego i jednego panelu bocznego, abyśmy mieli wystarczająco dużo miejsca na zamontowanie elektroniki na robocie.

Krok 3: Głowa i twarz robota

Image
Image
Głowa i twarz robota
Głowa i twarz robota
Głowa i twarz robota
Głowa i twarz robota
Głowa i twarz robota
Głowa i twarz robota

Już oddaliśmy naszemu robotowi ciało i koła. Teraz nadszedł czas, aby nadać mu głowę, szyję i twarz.

Szyja:

Najbardziej skomplikowaną częścią głowy robota jest szyja. Więc najpierw to przygotujemy. Serwa Dynamixel są nieco mylące w obsłudze, ale są niezawodne i trwałe. Dostępnych jest mnóstwo zacisków montażowych, dzięki czemu można je ze sobą łączyć w dowolny sposób.

Obejrzyj ten film, aby uzyskać lepsze wyjaśnienie, jak połączyć ze sobą serwa dynamixel.

  1. Włóż nakrętki do serwomechanizmów dynamixel, aby zamontować je z ramami.
  2. Umieść ramkę bioloidową F8 na środku górnego panelu i zaznacz otwory do wiercenia i wywierć je.
  3. Przymocuj ramę bioloidu F8 do jednego z serw, a następnie zamontuj ramę bioloidu F8 na górnym panelu.
  4. Połącz każdy serwo razem za pomocą różnych ramek i przygotuj szyję.
  5. Połącz serwa ze sobą za pomocą trójstykowych złącz serwo dynamixel.

Oko i ucho:

Używam kamery internetowej Logitech-c270 jako oka dla mojego robota. To dobry aparat, który potrafi robić zdjęcia i nagrywać filmy w rozdzielczości 720p. Ma również wbudowany mikrofon, dzięki czemu staje się również uchem dla mojego robota. Po długiej burzy mózgów stwierdziłem, że najlepszym miejscem do zamontowania kamery jest górna część ekranu. Ale do zamontowania kamery potrzebuję mocowania kamery. Więc zróbmy jeden.

  1. Usuń metalowe elementy z kamery internetowej, które są dostarczone, aby nadać jej trochę wagi.
  2. Wytnij dwa kawałki z płyty MDF, jeden kwadratowy i jeden trójkątny o wymiarach pokazanych na obrazku.
  3. Wywierć otwór w podstawie kamery internetowej i na kwadratowym elemencie MDF. Zrób wycięcie na kwadratowym elemencie, aby włożyć do niego przewód kamery internetowej.
  4. Sklej kawałki MDF razem, aby utworzyć kształt litery T. Uchwyt kamery jest gotowy.
  5. Przed połączeniem uchwytu kamery i kamery najpierw przygotuj głowicę.

Głowa:

Głowica robota jest połączona z serwomechanizmami. Musi być jak najlżejszy, aby głowica nie obciążała zbyt mocno serw. Dlatego zamiast płyty akrylowej użyłem płyty MDF.

  1. Wytnij kawałek płyty MDF o wymiarach (18cm x 13cm) i wywierć otwory do zamontowania ekranu.
  2. Umieść ramkę bioloidową F10 na środku płyty MDF i zaznacz otwory do wiercenia i wywierć je.
  3. Ustaw ramkę bioloidową F10 i ramkę bioloidową F2 z każdej strony płyty MDF i połącz je ze sobą za pomocą nakrętki i śruby.
  4. Teraz przyklej uchwyt kamery z tyłu deski.
  5. Połącz ramkę bioloidu F2 z końcem konfiguracji serwa.
  6. Zamontuj ekran na płycie MDF za pomocą dystansów.
  7. Zamocuj kamerę internetową na uchwycie kamery.

Teraz nasza głowa i twarz robota są kompletne.

Krok 4: Niestandardowe płytki drukowane

Niestandardowe płytki drukowane
Niestandardowe płytki drukowane
Niestandardowe płytki drukowane
Niestandardowe płytki drukowane
Niestandardowe płytki drukowane
Niestandardowe płytki drukowane

Teraz nadszedł czas, aby rozpuścić trochę fecl3 i wytrawić niektóre PCB.

Dlaczego wykonałem niestandardowe płytki drukowane?

  • Nie mam serwomechanizmu dynamixel, więc muszę go zrobić.
  • Muszę w czystszy sposób podłączyć wiele czujników do Arduino, więc zrobiłem nakładkę dla Arduino.

Zróbmy.

  1. Pobierz pliki PCB i wydrukuj je na laminacie platerowanym miedzią.
  2. Wytrawić laminat platerowany miedzią za pomocą fecl3
  3. Wywierć otwory 1mm do montażu układów scalonych i listwy burger.
  4. Aby listwy układające osłony zsunęły się w dół plastikowych zatyczek listwy ryglowej w kierunku końca kołków.
  5. Przylutuj podstawy układów scalonych i listwę burgerową na płytkach drukowanych.
  6. Dostarczyłem schematy w celach informacyjnych.

Uwaga - użyj oprogramowania Express PCB, aby otworzyć oprogramowanie.pcb i oprogramowanie Express SCH, aby otworzyć plik.sch.

Krok 5: Zasilanie

Zasilacz
Zasilacz
Zasilacz
Zasilacz

Utrzymanie stałej mocy w różnych modułach elektronicznych i silnikach robota jest bardzo konieczne. Jeśli moc spadnie poniżej wartości granicznej w jakimkolwiek module, spowoduje to usterkę i bardzo trudno jest zidentyfikować przyczynę tego.

Podstawowym źródłem energii w tym robocie jest bateria 2200mAh 3S Lipo. Ta bateria ma trzy ogniwa, a napięcie wyjściowe wynosi 11,1 wolta. Płyta Udoo wymaga zasilania 12 V, a płyta Arduino wymaga zasilania 5 V. Wybieram więc dwa regulatory napięcia, jeden step-up, a drugi step-down. Jeden utrzyma zasilanie prądem wszystkich modułów 12v, a drugi utrzyma zasilanie wszystkich modułów 5v.

Obraz zawiera ręcznie rysowane schematy.

  • Przylutuj regulatory napięcia do perforowanych płytek PCB.
  • Przylutuj męskie złącze baterii T-plug do wejścia obu regulatorów napięcia.
  • Podłącz wyjścia „Ground” obu regulatorów.
  • Podłącz gniazda DC baryłkę do każdego z wyjść regulatora. Utrzymuj długość przewodów na tyle, aby mogły dotrzeć do płytki Udoo/Raspberry Pi i Arduino.
  • Do każdego z wyjść regulatora przylutuj listwę burgerową jako dodatkowe wyjście mocy na wypadek, gdybyśmy potrzebowali jej w przyszłej modyfikacji.
  • Przed podłączeniem zasilania do któregokolwiek z modułów elektronicznych należy skalibrować wyjście każdego regulatora za pomocą dostarczonego potencjometru trymowania na dokładnie 12V i 5V.

Krok 6: Montaż końcowy

Montaż końcowy
Montaż końcowy
Montaż końcowy
Montaż końcowy
Montaż końcowy
Montaż końcowy

Już czas. Po tylu krokach przyszedł czas na złożenie każdego modułu w całość. Podekscytowany? Dobrze, jestem.

  • Wytnij prostokątny kawałek płyty MDF o wymiarach (30cm x 25cm). Ta płytka jest podstawą do montażu modułów elektronicznych. Nie chcę wiercić wielu otworów w podstawie akrylowej, więc używam płyty MDF. Pomaga również ukryć pod nim przewody, aby nasz robot wyglądał schludnie i czysto.
  • Umieść moduły na płycie MDF i zaznacz otwory montażowe i wywierć je. Wykonaj dodatkowe otwory, aby przeprowadzić przewody pod płytą MDF.
  • Do niektórych otworów przypisałem numery, dzięki czemu łatwiej mi je odnieść, a Ty zrozumiesz schematy okablowania.

Zasilacz:

  • Zamontuj moduł zasilacza na płytce i przełóż wtyczkę 12v i 5v przez otwór numer 1 i wyciągnij wtyczkę 12v przez otwór numer 2 i wyciągnij wtyczkę 5v przez otwór numer 3.
  • Na razie trzymałem baterię luźną, ponieważ muszę ją czasem wyjąć i naładować.

Kierowca motocyklu:

  • Wyciągnij przewody podłączone do silników przez otwór numer 4 i podłącz je do płyty sterownika silnika.
  • Silniki potrzebują zasilania 12V do prawidłowego działania, więc połącz piny 12V i GND sterownika z wyjściem regulatora napięcia 12V.
  • Podłącz piny sterownika silnika do Arduino zgodnie z kodem.

Arduino:

  • Przed zamontowaniem Arduino przeprowadź przewody trzech czujników ultradźwiękowych przez tylny panel i przewody pozostałych trzech czujników ultradźwiękowych przez panel przedni i wyciągnij je przez otwór numer 3.
  • Zamontuj Arduino i przymocuj do niego osłonę czujnika.
  • Podałem numery wszystkim przewodom czujników ultradźwiękowych, aby łatwo było je debugować w przypadku jakiegokolwiek błędu. Podłącz piny czujnika do ekranu, zaczynając od numeru 1 do 6 kolejno.
  • Podłącz gniazdo zasilania 5V do Arduino.

Sterownik serwo Dynamixel:

  • Zamontuj serwowzmacniacz dynamixel na płycie.
  • Połącz piny 12V i GND serwowzmacniacza z wyjściem regulatora napięcia 12V.
  • Połącz pin 5v i GND serwowzmacniacza z wyjściem regulatora napięcia 5v.
  • Połącz piny kontrolera serwo i Arduino zgodnie z kodem.
  • Na razie pozostaw pin wyjściowy serwomechanizmu odłączony. Podłącz go po zamontowaniu górnego panelu robota.

Udoo / Raspberry Pi:

Uwaga: Przed wykonaniem poniższych kroków upewnij się, że masz już zainstalowany system operacyjny na karcie MicroSD i umieściłeś go na płycie Udoo / Raspberry Pi. Jeśli nie, skorzystaj z linków do instalacji Raspbian na Raspberry Pi lub Udoobuntu na płycie Udoo.

  • Zamontuj Udoo / Raspberry Pi na płytce i podłącz do niego gniazdo zasilania.
  • Jeśli używasz Udoo, podłącz koncentrator USB do jednego z jego gniazd USB.
  • Podłącz do niego kabel HDMI i kabel micro USB. Te piny służą do dostarczania danych i zasilania do ekranu.
  • Podłącz Arduino do Udoo / Raspberry Pi za pomocą kabla USB A do B.

Górny panel:

  • Przymocuj górny panel do bocznych, przednich i tylnych paneli robota za pomocą zacisków L.
  • Podłącz kabel HDMI, kabel micro USB do ekranu i kamerę internetową do płytki Udoo / Raspberry Pi.
  • Połącz trzypinowe złącze serwomechanizmu pochodzące z bazowego serwomechanizmu dynamixelowego ze sterownikiem serwomechanizmu. Zwróć uwagę, który pin to DATA, GND i +12v. Zapoznaj się z ilustracjami w sekcji „Głowa i twarz robota”, aby uzyskać lepsze odniesienie. Jeśli podłączysz przewody w odwrotnej kolejności, może to spowodować uszkodzenie serw.

Ultradźwiękowe czujniki odległości:

Ostatni element układanki. Po tym nasze zgromadzenie dobiega końca.

  • Wytnij sześć prostokątnych kawałków płyty MDF/arkusz akrylowy o wymiarach(6cm x 5cm).
  • Wywierć w nich otwory w wymaganych miejscach.
  • Przymocuj czujniki ultradźwiękowe do każdej z płytek i przymocuj wszystkie płytki do panelu podstawy robota.
  • Połącz czujniki ze złączami.

Wreszcie gotowe. Podłącz baterię i uruchom Udoo/Raspberry Pi

Krok 7: Oprogramowanie

Sprzęt jest kompletny, ale bez oprogramowania ten robot to tylko pudełko. Lista oprogramowania, którego potrzebujemy, to

  • CiasnyVNC
  • Pyton
  • Otwórz CV
  • Snowboy
  • Niektóre pakiety Pythona
    • Pyautogui
    • numpy
    • pyserial
    • pyaudio

MocnoVNC:

TightVNC to darmowy pakiet oprogramowania do zdalnego sterowania. Dzięki TightVNC możesz zobaczyć pulpit zdalnej maszyny i sterować nim za pomocą lokalnej myszy i klawiatury, tak jakbyś to robił siedząc przed tym komputerem.

Jeśli masz dodatkową klawiaturę i mysz, to dobrze. Jeśli nie, zainstaluj TightVNC na swoim laptopie i wykonaj te czynności.

Po raz pierwszy podłącz klawiaturę i mysz do Udoo / Raspberry Pi. Połącz się z siecią Wi-Fi. Otwórz terminal i wpisz

$ ifconfig

  • Zanotuj adres IP robota.
  • Otwórz TightVNC w swoim laptopie. Wprowadź adres IP w wymaganym polu i naciśnij Enter. Voila! Jesteś teraz połączony. Użyj touchpada i klawiatury laptopa, aby uzyskać dostęp do robota.

Pyton:

Python jest bardzo popularnym i wszechstronnym językiem, dlatego używam go jako podstawowego języka programowania dla tego robota.

Tutaj używam Pythona 2.7, ale jeśli chcesz, możesz również użyć Pythona 3. Na szczęście Python jest preinstalowany zarówno w systemie operacyjnym Udoobuntu, jak i Raspbian. Więc nie musimy go instalować.

Otwórz CV:

OpenCV to biblioteka o otwartym kodzie źródłowym, której głównym celem jest widzenie komputerowe w czasie rzeczywistym. OpenCV z Pythonem jest bardzo łatwy w użyciu. Instalacja OpenCV jest nieco kłopotliwa, ale dostępnych jest wiele bardzo łatwych do naśladowania przewodników. Moim osobistym faworytem jest ten. Ten przewodnik dotyczy Raspberry Pi, ale możesz go również użyć dla płyty Udoo.

Snowboy:

Snowboy to biblioteka napisana przez ludzi z Kitt.ai, której głównym celem jest przetwarzanie mowy offline/wykrywanie słów-kluczy. Jest bardzo łatwy w użyciu. Kliknij ten link, aby zainstalować snowboy na Raspberry Pi. Jeśli używasz tablicy Udoo, przejdź do tego projektu, napisanego przez meto install snowboy w Udoo.

Pakiety Pythona:

Postępuj zgodnie z tymi łatwymi w użyciu przewodnikami, aby zainstalować niektóre pakiety Pythona.

  1. Pyautogui - Pyautogui to pakiet do symulacji naciśnięć klawiszy klawiatury lub ruchu myszy.
  2. Numpy - wpisz "pip install numpy" w powłoce Linuksa i naciśnij enter. To takie proste.
  3. Pyserial - Pyserial to pakiet przeznaczony do komunikacji szeregowej za pośrednictwem Pythona. Wykorzystamy go do komunikacji z Arduino.

Krok 8: Kody

Część sprzętowa jest kompletna. Część oprogramowania jest kompletna. Teraz nadszedł czas, aby dać duszę temu robotowi.

Załóżmy kod.

Kod dla tego robota jest nieco skomplikowany i aktualnie dodaję do niego kolejne funkcjonalności. Dlatego umieściłem kody w moim repozytorium Github. Możesz to sprawdzić i sklonować/pobrać kody stamtąd.

Teraz to nie tylko robot; teraz jest Tinku.

Krok 9: Demo

Image
Image

Próbny. taaaaaaaa!!

Oto niektóre z podstawowych wersji demonstracyjnych. Przed nami znacznie ciekawsze.

Czekajcie na więcej aktualizacji, a jeśli masz jakiekolwiek wątpliwości, śmiało komentuj.

Dziękuję za przeczytanie mojego projektu. Jesteś niesamowity.

Jeśli podoba Ci się ten projekt, zagłosuj na niego w konkursie Mikrokontroler i Robotyka

Szczęśliwe tworzenie;-)

Zalecana: