Sadržaj:

Instalirajte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi  4b: 5 koraka
Instalirajte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b: 5 koraka

Video: Instalirajte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b: 5 koraka

Video: Instalirajte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi  4b: 5 koraka
Video: ROS Kinetic on Raspbian| ROS Kinetic Installation on Raspberry Pi 4 2024, Juli
Anonim
Instalirajte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b
Instalirajte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b

TurtleBot3 Burger dolazi s Raspberry Pi 3 B/B+ i ne podržava novu (od 9./2019.) Raspberry Pi 4b. Slijedite donje korake kako bi TurtleBot3 radio na Raspberry Pi 4b, uključujući

  • izgradnja ROS Kinetic iz izvora na Raspberry Pi 4b Raspbian Busteru
  • dodavanjem paketa specifičnih za TurtleBot3
  • dodavanje raspicam-node u

Korak 1: Instalirajte Raspbian i konfigurirajte Raspberry Pi 4b

Instalirajte Raspbian i konfigurirajte Raspberry Pi 4b
Instalirajte Raspbian i konfigurirajte Raspberry Pi 4b

Preuzmite Raspbian sliku. Koristio sam Raspbian Buster od 2019–07–10.

Prenesite preuzetu Raspbian sliku na SD karticu (veličine najmanje 8 Gb). Povežite ekran, tastaturu i miša sa svojim Raspberry Pi 4b, pokrenite sistem i povežite se na WiFi. Proširite datotečni sistem tako da zauzima cijelu SD karticu i, opcionalno, pokretanjem omogućite SSH i VNC

sudo raspi-config

Korak 2: Preuzmite kinetičke izvore ROS -a

Preuzmite kinetičke izvore ROS -a
Preuzmite kinetičke izvore ROS -a

Upute u nastavku slijede službeni vodič za ROS, kao i uputstva za DmitrijM8.

Prijavite se na svoj Raspberry Pi 4b i izvršite ove naredbe za dodavanje spremišta ROS paketa, izradu alata i pokretanje alata za ovisnost o ROS -u.

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 update sudo apt-get install -y python-rosdep python-rosinstall-generator-python-rosinstall-generator python-rosinstall bit-build cmake sudo rosdep init rosdep update

Napravite radni prostor za izgradnju ROS Kinetic -a od izvora.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Preuzmite izvorni kod za paket "ros_comm", koji sadrži bitne module namijenjene izvođenju na ugrađenom računaru robota. Ovdje rosinstall_generator stvara popis spremišta izvornog koda za preuzimanje. wstool zatim nastavlja s preuzimanjem izvornog koda.

rosinstall_generator ros_comm --rosdistro kinetic --deps --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

Za pokretanje TurtleBot3 i raspicama bit će vam potrebni i ovi ROS paketi uz ros_comm: common_msgs, rosserial, image_common, image_transport_plugins i dijagnostika. Da biste dodali ove pakete, pokrenite ove naredbe.

rosinstall_generator common_msgs common_msgs rosserial image_common image_transport_plugins dijagnostika nodelet_core --rosdistro kinetic --deps --wet-only --tar> kinetic-extra-wet.rosinstall

wstool merge -t src kinetic -extra -wet.rosinstall wstool update -j8 -t src rosdep install --from -paths src --ignore -src --rosdistro kinetic -y

Kako se verzije ovisnosti mijenjaju s vremenom, može doći do grešaka poput "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): pokušaj prepisivanja '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', koji se takođe nalazi u paketu python-rosdistro 0.7.2-1 ". Riješite ove greške "pokušaja prepisivanja":

sudo dpkg --remove --force-all python-catkin-pkg python-catkin-pkg-moduli python-rosdistro python-rosdistro-moduli python-rospkg python-rospkg-moduli

// ili sudo apt ukloniti sudo apt --fix-broken install

Korak 3: Ručno ispravite greške pri kompilaciji ROS -a

Ručno ispravite greške pri kompilaciji ROS -a
Ručno ispravite greške pri kompilaciji ROS -a

Izgradnja ROS -a u ovom trenutku neće uspjeti s raznim greškama. Ispravimo te greške ručnim uređivanjem izvornog koda ROS -a.

Uredi

/home/pi/ros_catkin_ws/src/opencv3/modules/python/src2/cv2.cpp linija 885

Zamijenite

char* str = PyString_AsString (obj);

sa

const char* str = PyString_AsString (obj);

Uredite datoteke ispod.

/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

Ukloni sva pojavljivanja

/tr1

i zamijeniti sve pojave

std:: tr1

sa

pojačati

Uredite datoteke ispod.

/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_ckin /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_sr/ /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

Zamijenite sve pojave

boost:: posix_time:: milliseconds (…)

sa

boost:: posix_time:: milliseconds (int (…))

Uredite donju datoteku.

/home/pi/ros_catkin_ws/src/geometry2/tf2/src/buffer_core.cpp

Zamijenite sve

logWarn

sa

CONSOLE_BRIDGE_logWarn

i

logError

sa

CONSOLE_BRIDGE_logError

Korak 4: Izgradite ROS Kinetic

U ovom trenutku izgradnja bi trebala uspjeti.

cd ~/ros_catkin_ws

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Izdanje --install -space/opt/ros/kinetic

Dodajte u ~/.bashrc i takođe izvršite u svojoj ljusci:

izvor /opt/ros/kinetic/setup.bash

Korak 5: Izgradite TurtleBot3 i Raspicam pakete

Napravite TurtleBot3 i Raspicam pakete
Napravite TurtleBot3 i Raspicam pakete

Ove upute slijede vodič za ROBOTIS.

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/catkin_make izvor devel/setup.bash

Uredite ~/.bashrc i dodajte

izvor /home/pi/catkin_ws/devel/setup.bash

Sada, izvrši

cd ~/catkin_ws/src

git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone 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_catkin

Izgradnja bi trebala uspjeti.

Konfigurirajte Raspberry Pi 4b za prepoznavanje TurtleBot3 USB perifernih uređaja.

rosrun turtlebot3_bringup create_udev_rules

Pokrenite ifconfig i zapišite IP Raspbery Pi.

ifconfig

Uredi ~/.bashrc. Dodajte donje redove i izvedite ih u ljusci.

izvoz ROS_MASTER_URI = https://YOUR. ROS. MASTER. IP: 11311

izvoz ROS_HOSTNAME = VAŠ. RASPBERRY. PI. IP

Sinhronizirajte vrijeme Raspberry Pi i računara:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

U ovom trenutku vaše postavljanje bi trebalo biti dovršeno. Sada možete koristiti svoj Raspberry Pi 4b umjesto Raspberry Pi 3/3+ u TurtleBot3.

Preporučuje se: