Spisu treści:

Sterowana głosem ręka robota: 8 kroków (ze zdjęciami)
Sterowana głosem ręka robota: 8 kroków (ze zdjęciami)

Wideo: Sterowana głosem ręka robota: 8 kroków (ze zdjęciami)

Wideo: Sterowana głosem ręka robota: 8 kroków (ze zdjęciami)
Wideo: Tech Show #8: Okulary do gadania i najgorszy test robotów myjących okna! 2024, Listopad
Anonim
Image
Image
Sterowana głosem ręka robota
Sterowana głosem ręka robota
Sterowana głosem ręka robota
Sterowana głosem ręka robota
Sterowana głosem ręka robota
Sterowana głosem ręka robota

Ta instrukcja wyjaśnia, jak zbudować sterowaną głosem rękę robota za pomocą Arduino Uno R3, modułu Bluetooth HC-06 i pięciu silników krokowych. [1]

Polecenia głosowe Bluetooth są wysyłane z telefonu komórkowego z systemem Android do tłumacza Arduino Uno R3, który kontroluje rękę.

MIT AppInventor 2 został wykorzystany do napisania aplikacji na Androida, która wykorzystuje moc Google-Speech-To-Text. [2]

Ręka, która jest wykonana z profilu aluminiowego o wymiarach 20 mm x 3 mm i drucianego wieszaka, została skonstruowana w celu przetestowania niektórych pomysłów. Techniki konstrukcyjne i kod mogą być interesujące dla innych.

Dodatki zawarte:

  • Prosty w wykonaniu
  • Indywidualne ruchy palców
  • Grupuj ruchy palców
  • Programowalne kształty dłoni do różnych zadań
  • Lekki
  • Każdy palec jest obsługiwany przewodowo…
  • Pracuje pod wodą w razie potrzeby (brak zbyt krótkich silników)

Bez telefonu komórkowego, szacunkowy koszt budowy tego projektu wynosi mniej niż 100 USD

Obrazy

Zdjęcie 1 przedstawia rękę mechaniczną.

Zdjęcie 2 pokazuje rękę przymocowaną do zespołu silnika.

Zdjęcie 3 pokazuje kontroler głosowy Bluetooth (telefon komórkowy)

Zdjęcie 4 to zrzut ekranu przedstawiający typowe okno dialogowe

Film pokazuje sterowaną głosem rękę w akcji

Uwagi

[1]

Silniki krokowe pochodzą z poprzednich projektów. Silniki serwo powinny działać równie dobrze po kilku zmianach kodu.

[2]

Aplikacja MIT AppInventor 2 jest bezpłatnie dostępna na stronie

Aplikacja VTT.apk (Voice To Text) i kod VTT.aia dla tego projektu są przedstawione w tej instrukcji, jeśli chcesz ją dostosować.

Krok 1: Lista części

Następujące części uzyskano z

  • 1 tylko Arduino UNO R3 z kablem USB
  • 1 tylko prototypowa płytka prototypowa PCB dla Arduino UNO R3
  • 1 tylko moduł Bluetooth HC-06
  • 5 tylko 17HS3430 Nema17 12-woltowe silniki krokowe
  • 5 tylko płyt sterownika silnika krokowego Big Easy Driver v1.2 A4988
  • 5 tylko GT2 20 zębów aluminiowe koło pasowe rozrządu otwór 5mm szerokość 6mm ze śrubą
  • 5 tylko GT2 otwór koła pasowego luźnego 4mm z łożyskiem do paska rozrządu GT2 szerokość 6mm 20 zębów
  • 5 Tylko gumowy pasek rozrządu GT2 z zamkniętą pętlą 6 mm 160 mm
  • 1 tylko pkt 120 sztuk 10 cm męski na męski + męski na żeński i żeński na żeński przewód połączeniowy Dupont kabel do zestawu Arduino diy

Lokalnie pozyskano następujące części:

  • 1 tylko długość profilu aluminiowego 20mm x 3mm
  • 1 tylko kawałek złomu aluminium o wymiarach 120 mm x 120 mm
  • 1 tylko 200mm x 100mm x 6mm deska kompozytowa (do przedłużenia ręki i nadgarstka)
  • 1 tylko płyta kompozytowa 500 mm x 500 mm x 6 mm (dla płyty podstawowej)
  • 1 tylko krótki odcinek (około 520 mm) drewna o wymiarach 18 mm x 65 mm (dla nóg z płytą podstawową)
  • 1 tylko druciany wieszak na ubrania (średnica ok. 2,4 mm)
  • 1 tylko długość drutu kurtynowego
  • 1 tylko zasłona-oko
  • 1 tylko rolka nylonowa żyłka 30lb
  • 1 tylko krótki odcinek czapki-elastycznej
  • Tylko 1 pkt. opaski zaciskowe
  • 1 tylko rezystor 1200 omów 1/8 wat
  • 1 tylko rezystor 2200 omów 1/8 wat
  • 1 tylko 1N5408 3 amperowa dioda mocy
  • 1 tylko przełącznik SPST (jednobiegunowy pojedynczy rzut)
  • 1 tylko 2-pinowa listwa zaciskowa PCB
  • 15 tylko gwintowanych nylonowych dystansów M3 x 9mm
  • 30 tylko śrub M3 x 5mm (do nylonowych dystansów)
  • 30 tylko śrub M3 x 10mm (do mocowania na palce i silnika)
  • 2 tylko śruby M4 x 15mm (do przedłużenia nadgarstka)
  • 5 tylko śrub M4 x 30mm (dla rolek napinających)
  • 17 tylko nakrętek M4 (dla rolek napinających)
  • 12 tylko wkrętów do drewna (do nóg z płytą podstawy)

Szacunkowy koszt tych części to mniej niż 100 USD

Krok 2: Schemat obwodu

Schemat obwodu
Schemat obwodu
Schemat obwodu
Schemat obwodu
Schemat obwodu
Schemat obwodu
Schemat obwodu
Schemat obwodu

Schemat obwodu dłoni robota pokazano na zdjęciu 1

Pasująca osłona silnika / Bluetooth jest pokazana na zdjęciu 2

Sterowniki Big Easy pokazano na zdjęciu 3.

Sterowniki silników Big Easy Driver obsługują okablowanie łańcuchowe

Okablowanie silnika

Może być konieczne odwrócenie dwóch środkowych przewodów z każdego 12-woltowego silnika krokowego 17HS3430 Nema17, ponieważ płyty sterownika silnika krokowego Big Easy Driver v1.2 A4988 oczekują, że przewody z każdego z uzwojeń cewki będą przylegać do siebie.

Aby to osiągnąć, należy zamienić dwa środkowe przewody z każdego silnika (zdjęcie 4).

Domyślna kolejność kolorów kabli 17HS3430 (dla moich silników) to czerwony, niebieski, zielony, czarny. Kolejność kolorów po modyfikacji to czerwony, zielony, niebieski, czarny.

Czerwone, zielone uzwojenie jest podłączone do zacisków „A” sterownika Big Easy Driver.

Niebieskie, czarne uzwojenie jest podłączone do zacisków „B” sterownika Big Easy Driver.

Duże łatwe ograniczenia prądu sterownika

Ograniczenie prądu na każdym ze sterowników Big Easy musi być ustawione na 400mA (miliampery).

Osiągnąć to:

  1. Wyłączyć zasilanie [1]
  2. Odłącz Arduino
  3. Odłącz każdy kabel silnika
  4. Obróć każdy z potencjometrów ograniczania prądu na płytach A4988 Big Easy Driver Boards całkowicie zgodnie z ruchem wskazówek zegara
  5. Podłącz 12 V do sterowników Big Easy… powinieneś uzyskać odczyt prądu między 90 mA a 100 mA. Jest to prąd pobierany przez diody LED.
  6. Wyłączyć zasilanie 12 V [1]
  7. Podłącz silnik „kciuk”, włącz zasilanie i dostosuj prąd zasilania do 490mA
  8. Wyłączyć zasilanie 12 V [1]
  9. Odłącz silnik kciuka.
  10. Powtórz kroki 6, 7, 8, 9 dla każdego z pozostałych silników

Podłącz wszystkie kable silnika do odpowiednich sterowników.

Całkowity prąd zasilania wyniesie nieco ponad 2 ampery po włączeniu zasilania

Notatka

[1]

NIGDY nie podłączać ani nie odłączać silnika krokowego przy włączonym zasilaniu. Indukcyjne „kopnięcie” (skok napięcia) prawdopodobnie uszkodzi sterowniki.

Krok 3: Ręka … Koncepcja

Ręka … Koncepcja
Ręka … Koncepcja
Ręka … Koncepcja
Ręka … Koncepcja
Ręka … Koncepcja
Ręka … Koncepcja

Moja pierwsza ręka robota, opisana na https://www.instructables.com/id/Robot-Hand-2/, ma wiele małych części i używa taśmy klejącej do połączeń.

Ta alternatywna ręka jest bardziej wytrzymała, ma mniej części i jest łatwiejsza do wykonania.

Powyższe zdjęcia pokazują podstawową koncepcję… jeśli usuniemy śrubę środkową z pantografu to „przegub” ma obrót minimum 90 stopni [1]

Notatka

[1]

Zamierzałem użyć ramienia pantografu w moim ploterze uruchamiającym https://www.instructables.com/id/CNC-Actuator-Plo… ale zrezygnowałem z tego pomysłu, ponieważ było zbyt wiele niepożądanych ruchów z powodu dużej liczby połączeń.

Krok 4: Ręka… Prototyp

Ręka … Prototyp
Ręka … Prototyp
Ręka … Prototyp
Ręka … Prototyp
Ręka … Prototyp
Ręka … Prototyp

Powyższe zdjęcia pokazują, jak z kawałka aluminiowego profilu i drucianego wieszaka można stworzyć „palec”.

Przegub działa płynnie i jest niezwykle wytrzymały.

Nakrętki i śruby nie są wymagane… kropelka lutowia na każdym końcu drutu zabezpiecza je na miejscu.

Krok 5: Ręka … Budowa

Ręka … Budowa
Ręka … Budowa
Ręka … Budowa
Ręka … Budowa
Ręka … Budowa
Ręka … Budowa
Ręka … Budowa
Ręka … Budowa

Do wykonania tej ręki potrzeba kilku narzędzi… wystarczy piła do metalu, kilka wierteł i pilnik.

Krok 1

  • Narysuj zarys dłoni na papierze. (zdjęcie 1)
  • Zaznacz swoją „linię kostki” i główne „stawy palców”
  • Zignoruj koniuszki palców… zwykle nie zginają się tak bardzo… wystarczy skos. Jeśli wymagane jest lekkie wygięcie, można je dodać później.

Krok 2

  • Wytnij odcinki długości palców z profilu aluminiowego (zdjęcie 2)
  • Wywierć cztery otwory o średnicy wieszaka… po jednym w każdym rogu profilu aluminiowego. (zdjęcie 4)
  • Wywierć otwór o mniejszej średnicy za każdym z pierwszych otworów. Są one używane do elastycznej czapki i nylonowych ścięgien. (zdjęcie 4)
  • Odetnij odcinki drutu z wieszaka i wygnij każdy koniec o 90 stopni
  • Krzyżuj przewody podczas łączenia aluminiowych sekcji palcowych. Przewody są wprowadzane z przeciwnych stron.
  • Zabezpiecz przewody, nakładając lut na każdy koniec przewodu. Nie martw się, że lut przyklei się do aluminium… tak nie jest.
  • Usunąć topnik ze spojeń za pomocą terpentyny mineralnej (lub podobnej), a następnie nałożyć kroplę oleju do maszyn do szycia. Zetrzyj nadmiar oleju ręcznikiem papierowym.

Krok 3

  • Przymocuj każdy palec do drewnianego kształtu dłoni za pomocą aluminiowych wsporników w kształcie litery „L”, wykonanych ze skrawka blachy aluminiowej.
  • Spiłuj ograniczniki tak, aby palce były wyprostowane po całkowitym wysunięciu. (zdjęcie 4)

Krok 4

Przymocuj kciuk (zdjęcie 2). Wspornik kciuka wygląda na skomplikowany, ale jest po prostu kawałkiem blachy aluminiowej w kształcie litery „L” przyciętym pod kątem. Zagięcie 90 stopni jest następnie cięte, a końce rozkładane

Krok 5

  • Pomiędzy pozostałymi górnymi otworami zawiąż kawałek elastycznej czapki (zdjęcie 4).
  • Wyreguluj napięcie, aż palce po prostu się wysuną.

Krok 6

  • Przymocuj nylonowe ścięgna (żyłkę) do dolnych otworów na palce.
  • Przełóż każde nylonowe ścięgno przez otwory o średnicy 2 mm wywiercone w (zakrzywionym) kawałku drewna. Te dziury działają jak oczy kurtyny. (zdjęcie 2)

Krok 7:

Zasłona-oko służy do zmiany kierunku nylonowego ścięgna kciuka. Oczko kurtyny jest wkręcane w nylonową nasadkę z gwintem M3 znajdującą się po drugiej stronie dłoni

Krok 6: Oprogramowanie… Android

Oprogramowanie… Android
Oprogramowanie… Android
Oprogramowanie… Android
Oprogramowanie… Android
Oprogramowanie… Android
Oprogramowanie… Android
Oprogramowanie… Android
Oprogramowanie… Android

Zdjęcie 1 pokazuje ekran „Projektowanie” aplikacji MIT AppInventor 2 dla mojej aplikacji VTT (Voice-To-Text).

Zdjęcie 2 pokazuje „Bloki” użyte w tej aplikacji.

Zdjęcia 3 i 4 to małe grafiki PNG, których użyłem. Mikrofon jest skądś darmową grafiką… ikona Bluetooth jest moja.

Czytanie kodu

  • Dwa górne „bloki” po lewej stronie łączą telefon z Arduino po naciśnięciu przycisku „Bluetooth”.
  • Środkowe dwa „bloki” po lewej stronie wysyłają polecenie głosowe do arduino po naciśnięciu przycisku „mikrofon”. Tekst jest tworzony przy użyciu Google Speech_To_Text.
  • Wszystkie polecenia głosowe są wyświetlane jako tekst nad ikoną „mikrofonu”.
  • Dwa dolne „bloki” po lewej stronie przenoszą ten tekst do przycisku „niestandardowego”, jeśli chcesz powtórzyć polecenie podczas testowania.
  • Dwa dolne prawe bloki wysyłają do ręki słowa „otwórz” i „zamknij”. Pomyślałem, że przydadzą się one podczas testowania.
  • Trzy górne „bloki” po prawej stronie kontrolują czas.

VTT.apk

Załączony plik VTT.apk to rzeczywista aplikacja na telefon z systemem Android.

Aby zainstalować VTT.apk:

  • Skopiuj VTT.apk na swój telefon (lub wyślij go do siebie jako załącznik)
  • Zmień ustawienia telefonu, aby umożliwić instalowanie aplikacji innych firm
  • Pobierz instalator apk z
  • Uruchom instalator.

VTT.aia

Alternatywną metodą instalacji kodu jest:

  • utwórz konto MIT AppInventor
  • Pobierz i zainstaluj MIT AppInventor 2 z
  • Pobierz i zainstaluj „MIT AI2 Companion” z https://play.google.com/store na swoim telefonie.
  • Naśladuj zdjęcie 1 na ekranie „Projekt”
  • Replikuj bloki pokazane na zdjęciu 2
  • Uruchom „MIT AI2 Companion” na swoim telefonie
  • Kliknij „Buduj | Aplikacja (podaj kod QR dla.apk)”
  • Kliknij opcję QR w telefonie, gdy pojawi się kod QR
  • Postępuj zgodnie z instrukcjami.

Krok 7: Oprogramowanie Arduino

Instrukcje Instalacji

Pobierz załączony plik „VTT_voice_to_text_7.ino”

Skopiuj zawartość pliku do nowego szkicu Arduino i zapisz.

Prześlij szkic do swojego Arduino.

Uwagi do projektu

Język angielski jest niezwykle złożony.

Często istnieje wiele sposobów powiedzenia tego samego. W poniższych przykładach „ręka” i palce” mają to samo znaczenie:

  • „Otwórz rękę” ……………………………………… odnosi się do Twojej ręki
  • „Otwórz palce” …………………………………… odnosi się do Twojej dłoni

Ale słowa kluczowe mogą mieć też różne znaczenia:

  • „Otwórz palce” ………………………………….. odnosi się do Twojej dłoni
  • „Otwórz palce wskazujące i środkowe” ………… odnosi się do konkretnych palców

Sensowne polecenia wymagają co najmniej dwóch słów kluczowych. Następujące komendy nie powodują akcji rozdania, ponieważ mają tylko jedno słowo kluczowe:

  • „Otwarte” ……………………………………………………..jedno słowo kluczowe „otwarte” [1]
  • „Podaj mi rękę”……………………………………….jedno słowo kluczowe „ręka”
  • „Podaj mi klucz” ………………………………… jedno słowo kluczowe „ręka”

Aby zinterpretować te polecenia, pogrupowałem słowa kluczowe o podobnym znaczeniu w następujący sposób:

  • Wiele palców: „ręka”, „palce”, „otwórz”, „zamknij”, „puść” [1]
  • Konkretne palce: „kciuk”, „indeks”, „środek”, „pierścień”, „mały”
  • Otwarte palce: „otwórz”, „podnieś”, „wyciągnij”, „puść” [1]
  • Zamknij palce: „zamknij”, „opuść” [1]
  • Zadania: „przenieś”, „zatrzymaj”, „wybierz”, „demo”, „kalibruj”

Każda grupa słów kluczowych jest powiązana z „flagą”. Aby zinterpretować mowę naturalną, po wykryciu słowa kluczowego wyzwalana jest flaga lub grupa flag. Interpreter mowy musi tylko spojrzeć na kombinacje flag, aby dowiedzieć się, jakie działania są wymagane.

Rekurencja

Rekursja występuje, gdy polecenie wywołuje siebie raz lub więcej razy.

Załóżmy, że niektóre palce są wysunięte, a inne zamknięte. Załóżmy również, że chcesz mieć wyciągnięty kciuk i zamknięte palce, jak podczas noszenia czegoś.

Metoda 1

Osiągną to następujące dwa polecenia głosowe:

  • „otwórz rękę”
  • „zamknij środkowy pierścień wskazujący i małe palce”

Metoda 2

Zamiast wydawania dwóch oddzielnych poleceń, możesz utworzyć zadanie „carry()”:

„zanieś to dla mnie”

To polecenie aktywuje funkcję „carry()”, która następnie wydaje:

  • proces („otwórz rękę”);
  • proces („zamknij środkowy pierścień wskazujący i małe palce”)

Ta rekurencyjna akcja umożliwia tworzenie złożonych kształtów dłoni.

Notatka

[1]

Dla wygody zaprogramowałem tłumacza, aby akceptował „otwórz”, zamknij i „zwolnij” jako jednowyrazowe polecenia.

Krok 8: Podsumowanie

Ta instrukcja pokazuje, jak można zbudować dłoń robota z krótkiego odcinka aluminiowego profilu i drucianego wieszaka na ubrania.

Ręka została skonstruowana w celu przetestowania niektórych pomysłów. Zatyczki do uszu są przymocowane do opuszków palców, aby poprawić chwyt.

Dodatki zawarte:

  • Prosty w wykonaniu
  • Każdy palec jest obsługiwany przewodowo.
  • Indywidualne ruchy palców
  • Grupuj ruchy palców
  • Programowalne kształty dłoni do różnych zadań
  • Niska cena
  • Lekki
  • Pracuje pod wodą w razie potrzeby (brak zbyt krótkich silników)

Każdy palec jest obsługiwany przewodowo. Żyłka nylonowa jest używana do cięgien, z których każde jest prowadzone przez odcinek elastycznego drutu kurtynowego.

Zdjęcie 2 w dziale Intro pokazuje dwa kable… jeden z 2 ścięgnami… drugi z trzema. Jest to w porządku, jeśli promień gięcia jest duży, w przeciwnym razie palce mają tendencję do przyklejania się, gdy kable są zginane. Zostało to przezwyciężone przez użycie pięciu oddzielnych kabli w filmie

Podczas gdy żyłka nylonowa działa, ma tendencję do rozciągania się. Lepszym wyborem byłby przypon ze stali nierdzewnej… Kołowrotek mam na zamówienie.

Siłowniki wykonane są z silników krokowych i pasów bezkońcowych. Cięgna są przymocowane do pasów napędowych za pomocą opasek kablowych.

Ten projekt powinien działać równie dobrze z serwomotorami. Drobne zmiany kodu będą konieczne, jeśli zdecydujesz się na użycie serw.

Polecenia głosowe Bluetooth są wysyłane do Arduino z aplikacji telefonu komórkowego z systemem Android.

Kod aplikacji na telefon komórkowy został opracowany przy użyciu MIT AppInventor 2 i jest opublikowany w tej instrukcji.

Tłumacz głosowy Arduino jest niezwykle niezawodny. Kod zawarty w tej instrukcji może być przydatny w innych projektach.

Bez telefonu komórkowego, szacunkowy koszt budowy tego projektu wynosi mniej niż 100 USD

Kliknij tutaj, aby wyświetlić inne moje instrukcje.

Zalecana: