Spisu treści:
- Krok 1: Rzeczy, których będziesz potrzebować
- Krok 2: Ciało robota
- Krok 3: Głowa i twarz robota
- Krok 4: Niestandardowe płytki drukowane
- Krok 5: Zasilanie
- Krok 6: Montaż końcowy
- Krok 7: Oprogramowanie
- Krok 8: Kody
- Krok 9: Demo
Wideo: Tinku: osobisty robot: 9 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
By sw4pObserwuj Więcej autora:
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
- Wizja komputerowa
- Wykrywanie twarzy
- Śledzenia twarzy
- Rób zdjęcia i nagrywaj wideo
- Rozpoznaj znaczniki ArUco
-
Przetwarzanie mowy
- Przetwarzanie mowy offline (wykrywanie słów-kluczy)
- Może zrozumieć, co mówisz, wykrywając Hotwords.
-
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.
-
Poruszaj się
Potrafi jeździć na kółkach i identyfikować miejsca za pomocą markerów ArUco
-
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ć
Ciało robota
- Arkusz akrylowy
- płyta MDF
- Małe zaciski L
- Zestaw nakrętek i śrub
Serwa, silniki i koła
- Dynamixel AX-12A (3 sztuki)
- Zestaw śrub i nakrętek bioloidowych
- Silniki (2 sztuki)
- Gąsienice (2 opakowania)
- Koła gąsienicowe (4 sztuki)
- Zaciski L do silników (2 sztuki)
- Zacisk L do półosi koła atrapy (2 szt.)
- Atrapa wału koła (2 sztuki)
- Bioloid Ramka F8
- Bioloid Ramka F3 (2 sztuki)
- Bioloid Ramka F2
- Bioloid Ramka F10
Elektronika
- Arduino
- Raspberry Pi lub Udoo Quad
- Kierowca motocyklu
- Kamera internetowa Logitech-c270 (ma wbudowany mikrofon)
- Ultradźwiękowe czujniki odległości (6 sztuk)
- Bateria Lipo (3300 Mah 3S)
- Zwiększający regulator napięcia (DC-DC)
- Regulator napięcia obniżającego (DC-DC)
- Ekran dotykowy (7 cali)
- Koncentrator USB (Tylko jeśli używasz Udoo Quad, ponieważ ma tylko 2 porty USB)
- 7404 inwerter sześciokątny IC
- 74HC244 IC
- 14-pinowa podstawa IC
- 20-pinowa podstawa IC
Złącza i kable
- Złącze baterii męskie z wtyczką T
- Elastyczny kabel HDMI (Tylko jeśli ekran ma złącze HDMI)
- Kabel micro USB
- Trzypinowy kabel relimatowy żeńsko-żeński (6 sztuk)
- Wtyk męski DC baryłkowy (2 sztuki)
- Złącza serwo Dynamixel (3 sztuki)
- Kabel USB A do B (tylko jeśli nie jest dostarczany z Arduino)
- Przewody połączeniowe
- Druty do krojenia chleba
- Paski Burg
Do robienia płytek drukowanych
- Laminat pokryty miedzią
- Wytrawiacz PCB (Fecl3)
- Perforowana płytka drukowana
- Wiertło 1 mm
Różnorodny
- Klej
- Rurki radiatora
- 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
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.
- Wytnij arkusz akrylowy zgodnie z podanym rozmiarem.
- Wywierć otwory w określonych miejscach, aby zamontować silniki, czujniki, wsporniki i połączyć ze sobą każdą płytę.
- Wywierć większy otwór w płycie podstawy i płycie górnej, aby przeprowadzić kable.
- 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.
- Przylutuj dodatkowe przewody do kołków silnika, aby przewód mógł dotrzeć do sterowników silnika.
- Zamontuj zaciski silnika i zaciski wału koła atrapy na płycie podstawy robota.
- Połącz silniki i atrapę wału z zaciskami, a następnie połącz koła.
- Złóż tory i zrób pętlę.
- 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
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.
- Włóż nakrętki do serwomechanizmów dynamixel, aby zamontować je z ramami.
- Umieść ramkę bioloidową F8 na środku górnego panelu i zaznacz otwory do wiercenia i wywierć je.
- Przymocuj ramę bioloidu F8 do jednego z serw, a następnie zamontuj ramę bioloidu F8 na górnym panelu.
- Połącz każdy serwo razem za pomocą różnych ramek i przygotuj szyję.
- 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.
- Usuń metalowe elementy z kamery internetowej, które są dostarczone, aby nadać jej trochę wagi.
- Wytnij dwa kawałki z płyty MDF, jeden kwadratowy i jeden trójkątny o wymiarach pokazanych na obrazku.
- 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.
- Sklej kawałki MDF razem, aby utworzyć kształt litery T. Uchwyt kamery jest gotowy.
- 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.
- Wytnij kawałek płyty MDF o wymiarach (18cm x 13cm) i wywierć otwory do zamontowania ekranu.
- Umieść ramkę bioloidową F10 na środku płyty MDF i zaznacz otwory do wiercenia i wywierć je.
- 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.
- Teraz przyklej uchwyt kamery z tyłu deski.
- Połącz ramkę bioloidu F2 z końcem konfiguracji serwa.
- Zamontuj ekran na płycie MDF za pomocą dystansów.
- Zamocuj kamerę internetową na uchwycie kamery.
Teraz nasza głowa i twarz robota są kompletne.
Krok 4: 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.
- Pobierz pliki PCB i wydrukuj je na laminacie platerowanym miedzią.
- Wytrawić laminat platerowany miedzią za pomocą fecl3
- Wywierć otwory 1mm do montażu układów scalonych i listwy burger.
- Aby listwy układające osłony zsunęły się w dół plastikowych zatyczek listwy ryglowej w kierunku końca kołków.
- Przylutuj podstawy układów scalonych i listwę burgerową na płytkach drukowanych.
- 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
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
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.
- Pyautogui - Pyautogui to pakiet do symulacji naciśnięć klawiszy klawiatury lub ruchu myszy.
- Numpy - wpisz "pip install numpy" w powłoce Linuksa i naciśnij enter. To takie proste.
- 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
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:
Arc Reactor a La Smogdog, bardzo osobisty projekt…: 13 kroków (ze zdjęciami)
Arc Reactor a La Smogdog, bardzo osobisty projekt…: Co mam wspólnego z tymi dwoma facetami? Tym razem to nie broda! Wszyscy mamy dziurę w klatce piersiowej, no cóż ja i Leo urodziliśmy się z Pectus Excavatum, Stark musiał sobie zasłużyć :-)Pectus Excavatum to (patrz tutaj: https://en .wikipedia.org/wik
Osobisty wykrywacz wyładowań atmosferycznych: 5 kroków (ze zdjęciami)
Osobisty wykrywacz piorunów: W tym projekcie stworzymy małe urządzenie, które ostrzega o pobliskich uderzeniach piorunów. Całkowity koszt wszystkich materiałów w tym projekcie będzie tańszy niż zakup komercyjnego detektora wyładowań atmosferycznych, a będziesz mógł doskonalić swoje umiejętności tworzenia obwodów
Osobisty asystent: 9 kroków (ze zdjęciami)
Osobisty asystent: W tej instrukcji pokażę, jak wykorzystać moc ESP8266, kreatywność w projektowaniu i programowaniu oprogramowania, aby stworzyć coś fajnego i edukacyjnego. Nazwałem go Osobistym Asystentem, ponieważ jest kieszonkowy, mówi do ty i możesz dać
Osobisty dziennik biometryczny: 5 kroków (ze zdjęciami)
Biometryczny dziennik osobisty: ten zgrabny mały gadżet ma czujnik odcisków palców, dzięki czemu możesz zabezpieczyć swoje fajne rzeczy w spersonalizowanym przenośnym etui. Używam do trzymania pamiętnika i długopisu oraz projektów do moich nowych projektów. Posiada obudowę z nadrukiem 3D i wykorzystuje Arduino nano. Świetny pomysł na prezent
IRobot Utwórz osobisty robot domowy: 16 kroków (ze zdjęciami)
IRobot Create Personal Home Robot: Przedstawiamy osobistego robota domowego zbudowanego na platformie iRobot Create i systemie komputerowym mini-itx. Projektowanie i budowanie robotów nigdy nie było prostsze i bardziej przystępne cenowo dzięki wykorzystaniu ekonomii skali z oprogramowania, komputera, zabawki i innych