Spisu treści:
Wideo: Roomblock: platforma do nauki nawigacji ROS z Roomba, Raspberry Pi i RPLIDAR: 9 kroków (ze zdjęciami)
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Co to jest?
„Roomblock” to platforma robota składająca się z Roomby, Raspberry Pi 2, czujnika laserowego (RPLIDAR) i mobilnej baterii. Ramkę montażową można wykonać na drukarkach 3D. System nawigacji ROS umożliwia wykonanie mapy pomieszczeń i wykorzystanie jej do samodzielnego dotarcia do celu.
Kto tego potrzebuje?
Każdy, kto chce poznać najnowocześniejsze technologie zrobotyzowanej nawigacji, mapowania i autonomicznej jazdy. Ten robot można zbudować łatwo i taniej niż inne platformy komercyjne. ROS jest obecnie de facto standardowym systemem oprogramowania dla dziedziny badań robotyki. Ten film pokazuje, co jest możliwe dzięki systemowi nawigacji ROS.
Krok 1: Czego potrzebujesz
Kabel szeregowy USB
Jeśli nie masz kabla szeregowego USB do Roomby, możesz go łatwo zbudować za pomocą tego produktu.
- FTDI: TTL-232R-5V
- Akiduki Denshi: TTL-232R-5V
Zauważ, że interfejs robota Roomba to TTL (5V).
Złącze
Do interfejsu szeregowego robota Roomba potrzebne jest 8-stykowe złącze mini-DIN. Właściwie złącze Roomby to mini-DIN 7 pin, jednak dużo łatwiej kupić złącze 8 pin niż 7 pin.
- Digikey: złącze mini-DIN 8pin
- Kyoritsu: złącze mini-DIN 8pin
Lutowanie
Przylutuj kabel szeregowy do 8-stykowego złącza. Sprawdź połączenie na załączonym obrazku i w dokumencie specyfikacji otwartego interfejsu Roomba.
Specyfikacja otwartego interfejsu Roomba
Należy pamiętać, że można bezpiecznie podłączyć Vcc (czerwony) i RTS (zielony), aby uniknąć problemu z przepływem sprzętu.
Krok 4: Konfiguracja modułu kamery Raspberry Pi (opcjonalnie)
Jeśli masz moduł kamery Raspberry Pi, możesz go podłączyć do Raspberry Pi. Jest to opcjonalne do nauki nawigacji, jednak fajnie jest uzyskać widok z oczu robota.
Część do mocowania kamery jest również uwzględniona w danych ramki na Thingiverse. Moduł kamery można przymocować czterema śrubami M2.
Krok 5: Skonfiguruj lokalny komputer
Zainstaluj Ubuntu
Zainstaluj pulpit Ubuntu 16.04 po oficjalnej stronie
Oficjalna strona Ubuntu
Zainstaluj ROS
Proszę zapoznać się z oficjalną stroną ROS. Zainstaluj pełne pakiety komputerów stacjonarnych Kinetic.
Instrukcja instalacji ROS Kinetic
Zainstaluj pakiet Roomblock ROS
Pakiet dla Roomblocka został już wydany w Kinetic. Możesz je zainstalować za pomocą polecenia apt.
$ sudo apt install ros-kinetic-roomblock
Otóż to.
Jeśli chcesz zmodyfikować i zbudować pakiet z kodu źródłowego, możesz pobrać je z GitHub.
GitHub - blok pokoju
Postępuj zgodnie z instrukcjami w README.md.
Jeśli masz jakiekolwiek problemy lub pytania dotyczące oprogramowania, zgłoś problem na GitHub Issues, abyśmy mogli skutecznie śledzić problemy. Unikaj publikowania ich w Instruktażach.
Krok 6: Skonfiguruj Raspberry Pi
Zainstaluj Ubuntu
Zainstaluj Ubuntu 16.04 na Raspberry Pi zgodnie z instrukcją instalacji:
Ubuntu Wiki: RaspberryPi
Zainstaluj ROS
Zainstaluj ROS Kinetic zgodnie z instrukcją instalacji:
Instalacja ROS Kinetic na Ubuntu
Zainstaluj pakiet Roomblock ROS
Musisz zainstalować pakiet roomblock z kodu źródłowego. Kod źródłowy pakietu znajduje się na GitHub.
GitHub - blok pokoju
Postępuj zgodnie z instrukcjami w README.md.
Jeśli masz jakiekolwiek problemy lub pytania dotyczące oprogramowania, zgłoś problem na GitHub Issues, abyśmy mogli skutecznie śledzić problemy. Unikaj publikowania ich w Instruktażach.
Moduł kamery Raspberry Pi (opcjonalnie)
Jeśli masz moduł kamery Rasberry Pi, musisz zainstalować libraspberrypi-dev. Zapoznaj się z README.md na Github.
Krok 7: Tele-operacja
Uruchom podstawowy system na Raspberry Pi
Przede wszystkim trzeba wychować system. Na terminalu Raspberry Pi uruchom podstawowy system jako:
$ export ROS_IP=IP_ADDRESS_OF_RASPBERRY_PI
$ roslaunch roomblock_bringup roomblock.launch
RPLIDAR zaczyna się kręcić, a teraz możesz połączyć się z masterem robota ROS z lokalnego komputera.
Tele-obsługa z lokalnego komputera PC
Do obsługi robota możesz użyć joysticka. Jeśli masz konsolę Xbox, możesz użyć tego pliku uruchamiania. W przeciwnym razie może być konieczne zmodyfikowanie pliku uruchamiania, aby pasował do joysticka. Szczegółowe informacje można znaleźć na stronach wiki ROS.
ROS wiki - teleop_twist_joy
Eksport $ ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ roslaunch roomblock_bringup teleop.launch
Teraz możesz sterować robotem Roomba za pomocą joysticka.
Zamiast tego możesz użyć klawiatury.
$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
Szczegółowe informacje można znaleźć na stronach wiki ROS.
ROS wiki - teleop_twist_keyboard
Krok 8: Uruchom oprogramowanie do mapowania
Uruchom oprogramowanie do mapowania na lokalnym komputerze
Uruchom oprogramowanie do mapowania, aby utworzyć mapę wokół robota.
$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ export ROS_IP=IP_ADDRESS_OF_LOCAL_PC $ roslaunch roomblock_mapping mapowanie.launch
Teraz możesz zobaczyć Rviz (oprogramowanie do wizualizacji). Obsługuj robota po pokoju, aby stworzyć mapę pokoju.
Możesz zapoznać się ze stroną wiki ROS, aby uzyskać informacje o systemie mapowania.
- ROS wiki - mapowanie
- ROS wiki - serwer_mapy
Krok 9: Uruchom Autonomiczną Nawigację
Uruchom autonomiczne oprogramowanie nawigacyjne
Teraz możesz uruchomić autonomiczny system nawigacji na lokalnym komputerze jako:
$ eksportuj ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ eksportuj ROS_IP=IP_ADDRESS_OF_LOCAL_PC $ roslaunch rolomblock_navigation amcl.launch
Możesz użyć Rviz, aby określić cel. Robot powinien samodzielnie jechać do celu.
Proszę zapoznać się ze stroną wiki ROS dla systemu autonomicznego.
- ROS wiki - nawigacja
- ROS wiki – amcl
Baw się dobrze
Jeśli masz ogólne pytania lub problemy dotyczące ROS, zapoznaj się z ROS wiki. Nie możemy odpowiedzieć na ogólne pytania dotyczące ROS.
ROS wiki - Wsparcie
Jeśli masz jakiekolwiek problemy lub pytania dotyczące oprogramowania Roomblock, zgłoś problem na GitHub Issues, abyśmy mogli skutecznie śledzić problemy. Unikaj publikowania ich w Instruktażach.