Spisu treści:

Inspektor Roomba: 6 kroków (ze zdjęciami)
Inspektor Roomba: 6 kroków (ze zdjęciami)

Wideo: Inspektor Roomba: 6 kroków (ze zdjęciami)

Wideo: Inspektor Roomba: 6 kroków (ze zdjęciami)
Wideo: 6 kroków do własnego domu? WEBINAR #2 | Jak się wybudować i nie zwariować 2024, Lipiec
Anonim
Image
Image
Podłączanie części elektronicznych
Podłączanie części elektronicznych

Większość z nas używa robotów iRobot Roomba tylko do odkurzania, ale niewielu wie, że jest to świetna baza do nowych projektów robotyki. Wszyscy producenci powinni wypróbować otwarty interfejs Roomba (OI), aby dowiedzieć się, jak łatwo jest sterować tym robotem. W tej instrukcji dowiesz się, jak dodać kilka przydatnych funkcji do robota Roomba. Na początku opiszę jak zdalnie sterować Roombą przez bluetooth i aplikację na Androida. Później pokażę jak uruchomić streaming wideo w oparciu o RPi i na koniec nakreślę plan dalszego rozwoju tego projektu.

Części potrzebne w tym projekcie:

  1. Moduł bluetooth BTM-222 lub inny pracujący z prędkością 115200 bodów x1
  2. Regulator napięcia obniżającego 5 V D24V6F5 x1
  3. mini płytka do krojenia chleba x1
  4. Kilka przewodów

wersja z obudową:

  1. 8-pinowe złącze mini DIN x1
  2. wyłącznik zasilania x1
  3. led 3mm x1
  4. rezystor 10k x1
  5. mała obudowa 50x40x20 mm x1

Rozszerzona wersja:

  1. Raspberry Pi 3x1
  2. Radiator miedziany RPi x1
  3. Adapter USB WiFi x1
  4. karta microSD 8 GB lub większa x1
  5. Kamera RPi - obiektyw typu rybie oko x1
  6. Etui na RPi x1
  7. Akumulator o dużej pojemności 5 V (co najmniej 10 Ah) x1
  8. Kawałek plastikowego wspornika x1
  9. Śruby i nakrętki M2 x4

Krok 1: Połączenie części elektronicznych

Podłączanie części elektronicznych
Podłączanie części elektronicznych
Podłączanie części elektronicznych
Podłączanie części elektronicznych
Podłączanie części elektronicznych
Podłączanie części elektronicznych

Tym razem ten krok jest bardzo prosty, ponieważ wystarczy połączyć dwa moduły, aby móc sterować naszą Roombą. Pierwszy to moduł Bluetooth, który może działać z prędkością 115200 bps. Drugi to regulator napięcia obniżającego napięcie 5V D24V6F5. Naładowany akumulator Roomba ma napięcie około 14,4V, a nasz moduł bluetooth potrzebuje 5V, więc musimy zredukować napięcie akumulatora do poziomu 5V za pomocą regulatora napięcia. Regulator D24V6F5 ma sprawność od 80 do 90%, co jest bardzo dobrą wartością w porównaniu z klasycznymi regulatorami liniowymi, które zazwyczaj mają sprawność poniżej 40%. Najłatwiejszym sposobem połączenia tych dwóch modułów jest umieszczenie ich w mini płytce stykowej i okablowanie zgodnie ze schematem jw. Dodatkowo wszystkie połączenia pokazane są na ponumerowanych zdjęciach. Zachowaj ostrożność podczas podłączania do zacisków akumulatora. Przypadkowe zwarcie może uszkodzić baterię!

Krok 2: Korzystanie z aplikacji Android Control

Image
Image
Korzystanie z aplikacji Android Control
Korzystanie z aplikacji Android Control
Korzystanie z aplikacji Android Control
Korzystanie z aplikacji Android Control
Korzystanie z aplikacji Android Control
Korzystanie z aplikacji Android Control

Opracowałem aplikację na Androida, która umożliwia sterowanie robotem odkurzającym Roomba serii 500 przez Bluetooth. Możesz pobrać moją aplikację za darmo z Google Play – Roomb Control. Działa zarówno ze smartfonami, jak i tabletami.

Jak korzystać z aplikacji Roomb Control:

  • dotknij prawego górnego rogu ekranu (3 pionowe kropki)
  • wybierz zakładkę "Połącz"
  • stuknij w zakładkę „BTM222” i po chwili powinien pojawić się komunikat „Połączono z BTM222”
  • po podłączeniu możesz sterować robotem Roomba
  • jeśli nie widzisz swojego urządzenia Bluetooth, naciśnij przycisk „Skanuj w poszukiwaniu urządzeń”
  • przy pierwszym użyciu modułu bluetooth pamiętaj, aby sparować go ze smartfonem, wpisując domyślny kod podany w specyfikacji modułu bluetooth

Krok 3: Otwarty interfejs robota Roomba w przykładach

W tym kroku znajdziesz przykłady typowych poleceń używanych do sterowania robotem Roomba serii 500. Więcej informacji na temat otwartego interfejsu robota Roomba znajdziesz w tym dokumencie.

Roomba 500+ może pracować w jednym z czterech trybów:

  • Tryb pełny zapewnia pełną kontrolę nad robotem Roomba (bez ograniczeń bezpieczeństwa, jak w przypadku trybu bezpiecznego i pasywnego)
  • Tryb bezpieczny wprowadza pewne wyjątki związane z bezpieczeństwem, gdy nie można sterować wszystkimi elementami wykonawczymi:

    • wykrywanie upadku koła
    • wykrywanie klifu podczas poruszania się do przodu lub do tyłu;
    • ładowarka podłączona i zasilana
  • Tryb pasywny umożliwia żądanie i odbieranie danych z czujników, ale w tym trybie nie można sterować siłownikami Roomba (silniki, światła, głośnik)
  • Tryb wyłączenia przy pierwszym włączeniu zasilania lub po wymianie baterii (oczekiwanie na polecenie Start)

Bezpiecznym i w pełni funkcjonalnym trybem pracy jest tryb bezpieczny, który jest preferowanym trybem zdalnego sterowania. Aby uruchomić tryb awaryjny, najpierw musimy wysłać polecenie 128, które uruchamia otwarty interfejs, a następnie polecenie 130 (lub 131), aby przełączyć robota Roomba w tryb awaryjny. Jeśli chcemy uruchomić jeden z wbudowanych trybów sprzątania (clean, spot, dock, etc.) powinniśmy wysłać trzecią komendę z odpowiednim kodem (Clean-135, Spot-134, Dock-143). Pełna sekwencja szeregowa dla tych trybów jest następująca:

  • Ustaw tryb awaryjny - (128, 130)
  • Punktowy - (128, 130, 134)
  • Czysty - (128, 130, 135)
  • Dok - (128, 130, 143)

Jeśli Roomba jest w trybie awaryjnym, możemy sterować kołami napędowymi Roomby za pomocą polecenia 137. Pełna 5-bajtowa sekwencja szeregowa jest następująca: (137, wysoki bajt prędkości, niski bajt prędkości, wysoki bajt promienia, niski bajt promienia). Przykłady sekwencji szeregowych dla sterowania ruchem Roomba:

  • Naprzód - (137, 100, 0, 128, 0)
  • Wróć - (137, 254, 12, 128, 0)
  • Skręć w prawo - (137, 100, 0, 255, 255)
  • Skręć w lewo - (137, 100, 0, 0, 1)

Alternatywnie do sterowania ruchem robota możemy użyć polecenia 146. To polecenie pozwala nam sterować PWM (modulacja szerokości impulsu) dla prawego i lewego koła: (146, Wysoki bajt prawego PWM, niski bajt prawy PWM, wysoki bajt lewego PWM, lewy PWM niski bajt). Przykład sterowania PWM:

  • Przesuń w prawo w górę - (146, 0, 130, 0, 255)
  • Przesuń w górę w lewo - (146, 0, 255, 0, 130)

Rozkaz 139 steruje kolorami diod LED. Możemy zmienić kolor diody LED Clean/Power, ustawiając wartość bajtu Color w sekwencji szeregowej: (139, LED Bits, Color, Intensity). Jeśli bajt koloru jest ustawiony na 0, otrzymujemy kolor zielony. Zwiększając tę wartość otrzymujemy kolory pośrednie (pomarańczowy, żółty itp.) oraz kolor czerwony dla maksymalnej wartości 255. Przykłady sterowania diodami:

  • zielony - (139, 0, 0, 128)
  • pomarańczowy - (139, 0, 128, 128)
  • czerwony - (139, 0, 255, 128)

Ostatnią komendą, o której chciałbym wspomnieć, jest komenda 140, która pozwala odtwarzać proste utwory. Przykłady sekwencji seryjnych do odtwarzania utworów:

  • utwór 1 - (140, 0, 5, 72, 32, 74, 32, 76, 32, 77, 32, 79, 32, 141, 0)
  • utwór 2 - (140, 1, 5, 69, 16, 71, 16, 72, 16, 74, 16, 76, 16, 141, 1)

Krok 4: Zdalna kamera internetowa RPi

Zdalna kamera internetowa RPi
Zdalna kamera internetowa RPi

Aby móc oglądać strumienie wideo z kamery na dowolnym urządzeniu podłączonym do mojej sieci lokalnej (komputer, smartfon, tablet, itp.) zainstalowałem serwer Motion webcam. Szczegółowe informacje, jak to zrobić, znajdziesz w tej instrukcji. Główne kroki są następujące:

  1. Edycja: sudo nano /etc/modules - dodaj na końcu pliku: bcm2835-v4l2
  2. Zainstaluj ruch: sudo apt-get install motion
  3. Otwórz plik motion.conf wpisując: sudo nano /etc/motion/motion.conf i ustaw parametry wideo (np.: demon włączony, szerokość 640, wysokość 480, liczba klatek na sekundę 30, webcam_localhost wyłączona)
  4. Włącz demona (usługa): sudo nano /etc/default/motion i znajdź i zmień start_motion_daemon=yes.
  5. Uruchom usługę: sudo service motion start lub sudo motion -n -c /etc/motion/motion.conf
  6. Teraz otwórz przeglądarkę internetową na swoim komputerze lub smartfonie i wpisz: RPi IP:8081 (gdzie „RPi IP” to adres IP twojego Raspberry Pi, a 8081 to domyślny port). Przykład: 192.168.1.14:8081. Jeśli wszystko działa dobrze, po chwili powinieneś zobaczyć widok z kamery w przeglądarce internetowej.

Krok 5: Plany dalszego rozwoju

Plany dalszego rozwoju
Plany dalszego rozwoju
Plany dalszego rozwoju
Plany dalszego rozwoju
Plany dalszego rozwoju
Plany dalszego rozwoju
Plany dalszego rozwoju
Plany dalszego rozwoju

Obecnie moja Roomba jest wyposażona w małe ramię robota opisane w tej instrukcji. To ramię robota może być zdalnie sterowane przez Bluetooth z aplikacji na Androida. W kolejnym kroku zamierzam wykorzystać widok z kamery do zdalnego chwytania i przesuwania obiektów do zaznaczonej przestrzeni (praca w trybie semi-autonomicznym).

Jeśli chcesz zobaczyć inne moje projekty związane z robotyką odwiedź:

  • moja strona internetowa: www.mobilerobots.pl
  • facebook: roboty mobilne

Krok 6: Podłączanie części elektronicznych - wersja 2 z obudową

Połączenie części elektronicznych - wersja 2 z obudową
Połączenie części elektronicznych - wersja 2 z obudową
Połączenie części elektronicznych - wersja 2 z obudową
Połączenie części elektronicznych - wersja 2 z obudową
Połączenie części elektronicznych - wersja 2 z obudową
Połączenie części elektronicznych - wersja 2 z obudową

Jeśli chcesz zbudować własny wymienny odbiornik do sterowania robotem Roomba, ten dodatkowy krok jest dla Ciebie. Dodamy jeszcze kilka elementów i zamkniemy je wszystkie w smukłej obudowie. Głównym elementem, którego będziemy potrzebować w tym kroku, jest 8-pinowe złącze mini DIN. Dodatkowo przyda nam się włącznik zasilania oraz wskaźnik oparty o diodę LED i rezystor 10k.

Teraz nie musisz się martwić o wystające przewody. Odbiornik bluetooth zamknięty jest w niewielkiej obudowie o wymiarach 50x40x20 mm. Jeśli nie chcesz go używać, możesz go łatwo wyjąć z Roomby, pociągając za wtyczkę mini DIN.

Zalecana: