Spisu treści:
- Krok 1: Zainstaluj Raspbian i skonfiguruj Raspberry Pi 4b
- Krok 2: Pobierz ROS Kinetic Sources
- Krok 3: Ręcznie napraw błędy kompilacji ROS
- Krok 4: Zbuduj ROS Kinetic
- Krok 5: Zbuduj pakiety TurtleBot3 i Raspicam
Wideo: Zainstaluj ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
TurtleBot3 Burger jest dostarczany z Raspberry Pi 3 B/B+ i nie obsługuje nowego (stan na 9/2019) Raspberry Pi 4b. Wykonaj poniższe czynności, aby TurtleBot3 działał na Raspberry Pi 4b, w tym
- budowanie ROS Kinetic ze źródeł na Raspberry Pi 4b Raspbian Buster
- dodanie pakietów specyficznych dla TurtleBot3
- dodanie raspicam-node do
Krok 1: Zainstaluj Raspbian i skonfiguruj Raspberry Pi 4b
Pobierz obraz Raspbian. Użyłem Raspbian Buster z dnia 2019-07-10.
Nagraj pobrany obraz Raspbian na kartę SD (o rozmiarze co najmniej 8 GB). Podłącz wyświetlacz, klawiaturę i mysz do Raspberry Pi 4b, uruchom komputer i połącz się z Wi-Fi. Rozszerz system plików, aby zajmował całą kartę SD i opcjonalnie włącz SSH i VNC, uruchamiając
sudo raspi-config
Krok 2: Pobierz ROS Kinetic Sources
Poniższe instrukcje są zgodne z oficjalnym samouczkiem ROS, a także z instrukcją DmitryM8.
Zaloguj się do swojego Raspberry Pi 4b i wykonaj te polecenia, aby dodać repozytorium pakietów ROS, kompilować narzędzia i zainicjować narzędzie zależności ROS.
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 sudo apt-get aktualizacja sudo apt-get install -y python-rosdep python-rosinstall-generator python-rosinstall build-essential cmake sudo rosdep init aktualizacja rosdep
Utwórz obszar roboczy, aby zbudować ROS Kinetic ze źródła.
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
Pobierz kod źródłowy pakietu "ros_comm", który zawiera niezbędne moduły przeznaczone do uruchomienia na komputerze pokładowym robota. Tutaj rosinstall_generator tworzy listę repozytoriów kodu źródłowego do pobrania. wstool następnie przystępuje do pobierania kodu źródłowego.
rosinstall_generator ros_comm --rosdistro kinetic --dps --wet-only --tar > kinetic-ros_comm-wet.rosinstall
wstool init -j8 src kinetic-ros_comm-wet.rosinstall rosdep install --from-paths src --ignore-src --rosdistro kinetic -y
Aby uruchomić TurtleBot3 i raspicam będziesz potrzebować tych pakietów ROS oprócz ros_comm: common_msgs, rosserial, image_common, image_transport_plugins i diagnostics. Aby dodać te pakiety, uruchom te polecenia.
rosinstall_generator common_msgs common_msgs rosserial image_common image_transport_plugins diagnostyka nodelet_core --rosdistro kinetic --deps --wet-only --tar > kinetic-extra-wet.rosinstall
wstool merge -t src kinetic-extra-wet.rosinstall wstool aktualizacja -j8 -t src rosdep install --from-paths src --ignore-src --rosdistro kinetic -y
Ponieważ wersje zależności zmieniają się w czasie, mogą wystąpić błędy, takie jak „python-rosdistro-modules_0.7.5-1_all.deb (--unpack): próba nadpisania '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py', który znajduje się również w pakiecie python-rosdistro 0.7.2-1 . Rozwiąż te błędy „próby nadpisania”:
sudo dpkg --remove --force-all python-catkin-pkg python-catkin-pkg-modules python-rosdistro python-rosdistro-modules python-rospkg python-rospkg-modules
// lub sudo apt usuń sudo apt --fix-broken install
Krok 3: Ręcznie napraw błędy kompilacji ROS
Budowanie ROS w tym momencie zakończy się niepowodzeniem z różnymi błędami. Naprawmy te błędy, ręcznie edytując kod źródłowy ROS.
Edytować
/home/pi/ros_catkin_ws/src/opencv3/modules/python/src2/cv2.cpp linia 885
Zastępować
char* str = PyString_AsString(obj);
z
const char* str = PyString_AsString(obj);
Edytuj pliki poniżej.
/home/pi/ros_catkin_ws/src/rospack/include/rospack/rospack.h /home/pi/ros_catkin_ws/src/rospack/src/rospack.cpp /home/pi/ros_catkin_ws/src/rospack/src/utils.cpp
Usuń wszystkie wystąpienia
/tr1
i zastąp wszystkie wystąpienia
std::tr1
z
zwiększyć
Edytuj pliki poniżej.
/home/pi/ros_catkin_ws/src/actionlib/include/actionlib/client/simple_action_client.h /home/pi/ros_catkin_ws/src/actionlib/include/actionlib/destruction_guard.h /home/pi/ros_catkin_ws/src/actionlib/include /actionlib/server/simple_action_server_imp.h /home/pi/ros_catkin_ws/src/actionlib/src/connection_monitor.cpp /home/pi/ros_catkin_ws/src/actionlib/test/destruction_guard_test.cpp /home/pi/ros_catkin_ws_core/bond /bondcpp/src/bond.cpp /home/pi/ros_catkin_ws/src/ros_comm/roscpp/include/ros/timer_manager.h /home/pi/ros_catkin_ws/src/ros/roslib/test/utest.cpp
Zastąp wszystkie wystąpienia
boost::posix_time::milisekundy(…)
z
boost::posix_time::milisekundy(int(…))
Edytuj plik poniżej.
/home/pi/ros_catkin_ws/src/geometry2/tf2/src/buffer_core.cpp
Zamień wszystko
logWarn
z
CONSOLE_BRIDGE_logOstrzeżenie
oraz
logError
z
CONSOLE_BRIDGE_logError
Krok 4: Zbuduj ROS Kinetic
W tym momencie kompilacja powinna się udać.
cd ~/ros_catkin_ws
sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Wydanie --install-space /opt/ros/kinetic
Dołącz do ~/.bashrc, a także wykonaj w swojej powłoce:
źródło /opt/ros/kinetic/setup.bash
Krok 5: Zbuduj pakiety TurtleBot3 i Raspicam
Te instrukcje są zgodne z samouczkiem ROBOTIS.
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/ catkin_make source devel/setup.bash
Edytuj ~/.bashrc i dołącz
źródło /home/pi/catkin_ws/devel/setup.bash
Teraz wykonaj
cd ~/catkin_ws/src
klon git https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git klon git https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git klon git https://github.com/ROBOTIS-GIT/turtlebot3. git git clone https://github.com/UbiquityRobotics/raspicam_node.git cd ~/catkin_ws/src/turtlebot3 rm -r turtlebot3_description/ turtlebot3_teleop/ turtlebot3_navigation/ turtlebot3_slam/ turtlebot3_example/ cd &&cat catkin
Kompilacja powinna się udać.
Skonfiguruj Raspberry Pi 4b do rozpoznawania urządzeń peryferyjnych USB TurtleBot3.
rosrun turtlebot3_bringup create_udev_rules
Uruchom ifconfig i zapisz adres IP Raspbery Pi.
ifconfig
Edytuj ~/.bashrc. Dodaj poniższe linie, a także wykonaj je w swojej powłoce.
eksportuj ROS_MASTER_URI=https://TWÓJ. ROS. MASTER. IP:11311
export ROS_HOSTNAME=TWÓJ. MALINOWY. PI. IP
Synchronizuj czas Raspberry Pi i PC:
sudo apt-get zainstaluj ntpdate
sudo ntpdate ntp.ubuntu.com
W tym momencie konfiguracja powinna zostać zakończona. Teraz możesz używać Raspberry Pi 4b zamiast Raspberry Pi 3/3+ w swoim TurtleBot3.
Zalecana:
Zainstaluj pełny system Windows 10 na Raspberry Pi!: 5 kroków
Zainstaluj pełny system Windows 10 na Raspberry Pi!: Raspberry Pi to świetna płyta do robienia wielu rzeczy. Istnieje wiele instrukcji dotyczących takich rzeczy jak IOT, automatyka domowa itp. W tej instrukcji pokażę, jak uruchomić pełny pulpit systemu Windows na swoim Raspberry PI 3B
Zainstaluj i skonfiguruj monitor sieci Shinken na Raspberry Pi: 14 kroków
Zainstaluj i skonfiguruj Shinken Network Monitor na Raspberry Pi: UWAGA: Shinken został ostatnio zaktualizowany w MAR2016 do stabilnej wersji 2.4.3. Tak więc kilka lat temu przeszedłem na inne sposoby monitorowania sieci domowej. Ponadto wydaje się, że php5 nie jest dostępne. Więc nie używaj tej instrukcji! Zainstaluj
Zainstaluj Ubuntu 18.04.4 LTS na swojej płycie Raspberry Pi: 8 kroków
Zainstaluj Ubuntu 18.04.4 LTS na swojej płycie Raspberry Pi: Zespół Ubuntu wydał system operacyjny Ubuntu 18.04.4 Long Term Support dla komputerów jednopłytowych Raspberry Pi 2/3/4 ARM.Krótki przeglądJak wiemy, Raspbian jest oparty na Debianie dystrybucja, która jest oficjalnym systemem operacyjnym dla Raspbera
Zainstaluj Homebridge na Raspberry Pi i Windows: 9 kroków
Zainstaluj Homebridge na Raspberry Pi i Windows: Ten samouczek jest przeznaczony dla osób, które chcą zainstalować Homebridge na Raspberry Pi i Windows. Początkowo ten samouczek został napisany w języku portugalskim w Brazylii. Starałem się napisać to po angielsku. Więc wybacz mi kilka błędów, które mogą być na piśmie
Zainstaluj i skonfiguruj Raspbian na Raspberry Pi: 6 kroków
Zainstaluj i skonfiguruj Raspbian na Raspberry Pi: Ten samouczek jest przeznaczony dla osób, które chcą zainstalować Raspbian na Raspberry Pi. Początkowo ten samouczek został napisany w języku portugalskim w Brazylii. Starałem się napisać to po angielsku. Więc wybacz mi kilka błędów, które mogą być na piśmie.Ta instrukcja