Spisu treści:

ROS Melodic na Raspberry Pi 4[Debian Buster] + RPLIDAR A1M8: 6 kroków
ROS Melodic na Raspberry Pi 4[Debian Buster] + RPLIDAR A1M8: 6 kroków

Wideo: ROS Melodic na Raspberry Pi 4[Debian Buster] + RPLIDAR A1M8: 6 kroków

Wideo: ROS Melodic na Raspberry Pi 4[Debian Buster] + RPLIDAR A1M8: 6 kroków
Wideo: 3. Установка и проверка ROS 2024, Listopad
Anonim
Image
Image
ROS Melodic na Raspberry Pi 4[Debian Buster] + RPLIDAR A1M8
ROS Melodic na Raspberry Pi 4[Debian Buster] + RPLIDAR A1M8

W tym artykule omówimy proces instalacji ROS Melodic Morenia na Raspberry Pi 4 z najnowszym Debian Buster i jak używać RPLIDAR A1M8 w naszej instalacji.

Ponieważ Debian Buster został oficjalnie wydany zaledwie kilka tygodni temu (w momencie pisania tego artykułu), nie ma gotowych pakietów ROS do zainstalowania za pomocą apt-get, który jest preferowaną metodą instalacji. Dlatego będziemy musieli zbudować go ze źródła. Zaufaj mi, to nie jest takie straszne, jak się wydaje. Proces jest opisany w tym oficjalnym samouczku, ale aby zbudować ROS Melodic na Raspberry Pi, będziemy musieli wprowadzić kilka modyfikacji.

Jeśli nadal się boisz, oto zabawny obrazek, który *może* pomóc Ci się zrelaksować. Prosimy o przekazanie informacji zwrotnej, jeśli zapewniony poziom relaksu był wystarczający. Jeśli nie, zostanie zastąpiony zdjęciem zabawnego kota.

EDIT w styczniu 2020 r.: Ponieważ minęło pół roku od opublikowania tego artykułu, mogły nastąpić pewne zmiany w ROS lub Buster. Obrazek dla Raspberry Pi 4 zrobiłem jakiś czas temu, po napisaniu tego samouczka. Współtwórca przesłał go na Dysk Google

Kwiecień 2020 EDYCJA: Ostatnio znalazłem czas na ponowne wykonanie instalacji ROS Melodic na najnowszym obrazie Raspbian z oficjalnej strony Raspberry Pi. Odpowiednio zmodyfikowałem tę instrukcję. Stworzyłem również i udostępniłem czyste, skompresowane obrazy:

Raspbian Buster Lite 2020-02-13 Wydanie z ROS Melodic Bare-bones Potrzebujesz karty SD o pojemności 8 GB

Raspbian Buster z pulpitem 2020-02-13 Wydanie z ROS Melodic Desktop Potrzebujesz karty SD o pojemności 16 GB

Może to być najszybszy sposób na uruchomienie i uruchomienie systemu. Jeśli chcesz samodzielnie skompilować ROS, czytaj dalej ten artykuł.

Krok 1: Instalowanie zależności Bootstrap i pobieranie pakietów

Zacznijmy od skonfigurowania repozytoriów i zainstalowania niezbędnych zależności

sudo sh -c 'echo "deb https://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

aktualizacja sudo apt-get

sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake

Następnie zainicjuj rosdep i zaktualizuj go

sudo rosdep init

aktualizacja rosdep

Kiedy to zrobimy, stwórzmy dedykowany obszar roboczy catkin do budowania ROS i przejdźmy do tego katalogu.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Teraz masz dwie możliwości:

ROS-Comm: (Bare Bones) instalacja - zainstaluj tę, jeśli znasz ROS i wiesz, co robisz i jakich pakietów będziesz potrzebować. Jeśli potrzebujesz pakietów, które nie są zawarte w ROS-Comm, będziesz musiał skompilować również ze źródeł.

Instalacja na pulpicie: zawiera narzędzia GUI, takie jak rqt, rviz i biblioteki robot-generic. Może być lepszym wyborem dla początkujących do ROS.

Pójdę z instalacją Desktop Install tutaj.

rosinstall_generator pulpit --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall

wstool init -j8 src melodic-desktop-wet.rosinstall

Pobranie wszystkich podstawowych pakietów ROS do folderu src zajmie kilka minut.

Jeśli init wstool nie powiedzie się lub zostanie przerwany, możesz wznowić pobieranie, uruchamiając:

aktualizacja wstool -j4 -t src

Krok 2: Napraw problemy

Napraw problemy
Napraw problemy

Kwiecień 2020 EDIT: Pomiń ten krok, wydaje się, że wszystkie problemy zostały teraz naprawione

Zainstalujmy kompatybilną wersję Assimp (Open Asset Import Library), aby naprawić problem z zależnościami collada_urdf.

mkdir -p ~/ros_catkin_ws/external_src

cd ~/ros_catkin_ws/external_src

wget https://sourceforge.net/projects/assimp/files/assi… -O assimp-3.1.1_no_test_models.zip

rozpakuj assimp-3.1.1_no_test_models.zip

cd asimp-3.1.1

cmake.

robić

sudo dokonać instalacji

Zainstalujmy też OGRE dla rviz

sudo apt-get zainstaluj libogre-1.9-dev

AKTUALIZACJA ze stycznia 2020 r.: Problemy z libbost zostały już naprawione przez programistów ROS, możesz pominąć tę część

/// pomiń /// Na koniec musimy naprawić problemy z libboost. Używam rozwiązania z tego postu na stackoverflow:

Błędy podczas kompilacji są powodowane przez funkcję 'boost::posix_time::milliseconds', która w nowszych wersjach boost akceptuje tylko argument typu integer, ale pakiet actionlib w ROS daje jej pływalność w kilku miejscach. Możesz wyświetlić listę wszystkich plików używając tej funkcji (!w folderze ros_catkin_ws!):

znajdź -typ f -print0 | xargs -0 grep 'boost::posix_time::milisekundy' | wyciąć -d: -f1 | sortuj -u

Otwórz je w edytorze tekstu i wyszukaj wywołanie funkcji 'boost::posix_time::milisekundy'.

i zamień wywołania w ten sposób:

boost::posix_time::milisekundy(loop_duration.toSec() * 1000.0f));

z:

boost::posix_time::milisekundy(int(loop_duration.toSec() * 1000.0f)));

i tamte:

boost::posix_time::milisekundy(1000.0f)

z:

boost::posix_time::milisekundy(1000)

Polecam używać edytora tekstu nano, który jest prostszy niż VIM;) Ctrl+O zapisuje, Ctrl+X wychodzi, a Ctrl+W szuka.

///kontynuuj_tutaj///

Krok 3: Zbuduj i pobierz instalację

Następnie używamy narzędzia rosdep do instalacji wszystkich pozostałych zależności:

rosdep install --from-paths src --ignore-src --rosdistro melodyczny -y

Po zakończeniu pobierania pakietów i rozwiązywania zależności jesteś gotowy do zbudowania pakietów catkin. (Uruchom to polecenie z folderu ros_catkin_ws)

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Wydanie --install-space /opt/ros/melodic -j2

Jeśli proces kompilacji zawiesza się (bardzo prawdopodobne, jeśli instalujesz wersję desktopową), musisz zwiększyć dostępną przestrzeń wymiany. Domyślnie jest to 100 MB, spróbuj zwiększyć do 2048 MB.

Powodzenia! Cały proces kompilacji zajmuje około 1 godziny (mniej w wersji Bare-bones), więc idź zrobić sobie herbatę.

Teraz ROS Melodic powinien być zainstalowany na twoim Raspberry Pi 4. Nową instalację pobierzemy za pomocą następującego polecenia:

echo "źródło /opt/ros/melodic/setup.bash" >> ~/.bashrc

Otwórz nową powłokę, aby zmiany zaczęły obowiązywać. Spróbuj uruchomić roscore, aby sprawdzić, czy wszystko się udało.

Krok 4: Zainstaluj pakiet RPLIDAR ROS

Zainstaluj pakiet RPLIDAR ROS
Zainstaluj pakiet RPLIDAR ROS

Stwórzmy osobny obszar roboczy dla innych pakietów, które nie są częścią rdzenia ROS.

Z twojego folderu domowego wykonaj:

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/

catkin_make

i podaj go do bashrc:

echo "źródło $HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc

OK, jesteśmy gotowi do rozpoczęcia instalacji pakietu RPLIDAR ROS.

cd src

klon sudo git

Płyta CD..

catkin_make

Poczekaj na zakończenie kompilacji pakietu. Spróbuj uruchomić pakiet, aby sprawdzić, czy kompilacja się powiodła:

roslaunch rplidar_ros rplidar.launch

Jeśli nie wyświetla żadnych błędów, wykonaj szybki taniec celebracyjny (*opcjonalnie).

Teraz brakuje tylko ostatniego elementu - ponieważ prawdopodobnie używasz Raspberry Pi 4 w trybie bezgłowym, nie możemy wizualizować wiadomości lidarowych. W tym celu musimy skonfigurować ROS, aby działał na wielu komputerach.

Krok 5: Skonfiguruj ROS, aby działał na wielu komputerach

Skonfiguruj ROS, aby działał na wielu komputerach
Skonfiguruj ROS, aby działał na wielu komputerach

Do tej części potrzebny będzie komputer z systemem Ubuntu 18.04 z zainstalowanym ROS Melodic. Ponieważ jest to Ubuntu ROS można po prostu zainstalować za pomocą apt-get, jak opisano w tym samouczku.

Po uruchomieniu instalacji ROS zarówno na Raspberry Pi, jak i komputerze stacjonarnym, sprawdź adresy IP obu komputerów. Muszą być w tej samej sieci!

Uruchom roscore na komputerze stacjonarnym i wyeksportuj ROS_MASTER_URI

roscore

eksportuj ROS_MASTER_URI=https://[your-desktop-machine-ip]:11311

Następnie w wykonaniu Raspberry PI

eksportuj ROS_MASTER_URI=https://[your-desktop-machine-ip]:11311

eksportuj ROS_IP=[twój-malinowy-pi-ip]

i uruchom plik uruchamiania RPILIDAR

roslaunch rplidar_ros rplidar.launch

Jeśli uruchomi się pomyślnie, sprawdź tematy obecne na komputerze stacjonarnym za pomocą listy rostopowej

Jeśli widzisz / skanujesz wiadomości, wszystko działa tak, jak powinno działać. Następnie uruchom RVIZ na komputerze stacjonarnym, dodaj wiadomości Laser Scan i wybierz temat /scan. Będziesz także musiał zmienić stałą ramkę na /laser.

Voila!

Krok 6: Gotowe

Gotowe!
Gotowe!
Gotowe!
Gotowe!

Ten przewodnik może być pierwszym krokiem do zbudowania robota ROS na nowym Raspberry Pi 4. Zainstalowaliśmy ROS Melodic i przygotowaliśmy instalację do uruchamiania bezgłowego i łączenia się z naszym komputerem stacjonarnym przez sieć bezprzewodową w celu zdalnego sterowania.

Kolejne kroki zależą od typu robota, którego chcesz zbudować. Możesz dodać silniki i enkodery do odometrii, kamerę stereo do Visual SLAM i wiele innych ekscytujących i przydatnych rzeczy.

Sprzęt do tego artykułu został dostarczony przez studio Seeed. Sprawdź Raspberry Pi 4, RPLIDAR A1M8 i inny sprzęt dla producentów w sklepie Seeed Studio!

Dodaj mnie na LinkedIn, jeśli masz jakieś pytanie i zasubskrybuj mój kanał na YouTube, aby otrzymywać powiadomienia o ciekawszych projektach związanych z uczeniem maszynowym i robotyką.

Zalecana: