Cuprins:

Instalați ROS Kinetic, TurtleBot3, Raspicam pe Raspberry Pi  4b: 5 pași
Instalați ROS Kinetic, TurtleBot3, Raspicam pe Raspberry Pi 4b: 5 pași

Video: Instalați ROS Kinetic, TurtleBot3, Raspicam pe Raspberry Pi 4b: 5 pași

Video: Instalați ROS Kinetic, TurtleBot3, Raspicam pe Raspberry Pi  4b: 5 pași
Video: ROS and Raspberry Pi for Beginners | Tutorial #0 - Topics Packages RosMaster 2024, Noiembrie
Anonim
Instalați ROS Kinetic, TurtleBot3, Raspicam pe Raspberry Pi 4b
Instalați ROS Kinetic, TurtleBot3, Raspicam pe Raspberry Pi 4b

TurtleBot3 Burger vine cu Raspberry Pi 3 B / B + și nu acceptă noul (începând cu 9/2019) Raspberry Pi 4b. Urmați pașii de mai jos pentru ca TurtleBot3 să funcționeze pe Raspberry Pi 4b, inclusiv

  • construirea ROS Kinetic din surse de pe Raspberry Pi 4b Raspbian Buster
  • adăugarea pachetelor specifice TurtleBot3
  • adăugând raspicam-nod la

Pasul 1: Instalați Raspbian și configurați Raspberry Pi 4b

Instalați Raspbian și configurați Raspberry Pi 4b
Instalați Raspbian și configurați Raspberry Pi 4b

Descărcați o imagine Raspbian. Am folosit Raspbian Buster din 2019–07–10.

Înregistrați imaginea Raspbian descărcată pe un card SD (cel puțin 8 GB). Conectați un afișaj, tastatură și mouse la Raspberry Pi 4b, porniți și conectați-vă la WiFi. Extindeți sistemul de fișiere pentru a vă ocupa întregul card SD și, opțional, activați SSH și VNC rulând

sudo raspi-config

Pasul 2: Descărcați sursele cinetice ROS

Descărcați surse cinetice ROS
Descărcați surse cinetice ROS

Instrucțiunile de mai jos urmează tutorialul oficial ROS, precum și instructiunea DmitryM8.

Conectați-vă la Raspberry Pi 4b și executați aceste comenzi pentru a adăuga depozitul de pachete ROS, a construi instrumente și a inițializa instrumentul de dependență 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 update sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake sudo rosdep init rosdep update

Creați un spațiu de lucru pentru a construi ROS Kinetic din sursă.

mkdir ~ / ros_catkin_ws

cd ~ / ros_catkin_ws

Descărcați codul sursă pentru pachetul „ros_comm”, care conține module esențiale destinate să ruleze pe computerul de bord al robotului. Aici rosinstall_generator creează o listă de depozite de cod sursă pentru descărcare. wstool continuă apoi să descarce codul sursă.

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 --de-căi src --ignore-src --rosdistro kinetic -y

Pentru a rula TurtleBot3 și raspicam, veți avea nevoie de aceste pachete ROS pe lângă ros_comm: common_msgs, rosserial, image_common, image_transport_plugins și diagnostice. Pentru a adăuga aceste pachete rulați aceste comenzi.

rosinstall_generator common_msgs common_msgs rosserial image_common image_transport_plugins diagnostics 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 instalare --de-căi src --ignore-src --rosdistro kinetic -y

Deoarece versiunile dependențelor se schimbă în timp, pot exista erori precum „python-rosdistro-modules_0.7.5-1_all.deb (--unpack): încercând să suprascrie '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', care se află și în pachetul python-rosdistro 0.7.2-1 . Rezolvați aceste erori „încercând să suprascrieți”:

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

// sau sudo apt elimina sudo apt --fix-broken install

Pasul 3: Remediați manual erorile de compilare ROS

Remediați manual erorile de compilare ROS
Remediați manual erorile de compilare ROS

Construirea ROS în acest moment va eșua cu diferite erori. Să remediem acele erori editând manual codul sursă ROS.

Editați | ×

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

A inlocui

char * str = PyString_AsString (obj);

cu

const char * str = PyString_AsString (obj);

Editați fișierele de mai jos.

/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

Eliminați toate aparițiile de

/ tr1

și înlocuiți toate aparițiile de

std:: tr1

cu

impuls

Editați fișierele de mai jos.

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

Înlocuiți toate aparițiile de

boost:: posix_time:: milisecunde (…)

cu

boost:: posix_time:: milisecunde (int (…))

Editați fișierul de mai jos.

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

Înlocuiește-le pe toate

logWarn

cu

CONSOLE_BRIDGE_logWarn

și

logError

cu

CONSOLE_BRIDGE_logError

Pasul 4: Construiți ROS Kinetic

În acest moment, construcția ar trebui să aibă succes.

cd ~ / ros_catkin_ws

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

Adăugați la ~ /.bashrc și, de asemenea, executați în shell:

sursa /opt/ros/kinetic/setup.bash

Pasul 5: Construiți pachete TurtleBot3 și Raspicam

Construiți pachete TurtleBot3 și Raspicam
Construiți pachete TurtleBot3 și Raspicam

Aceste instrucțiuni urmează tutorialul ROBOTIS.

mkdir -p ~ / catkin_ws / src

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

Editați ~ /.bashrc și adăugați

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

Acum, execută

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_doct

Construirea ar trebui să aibă succes.

Configurați Raspberry Pi 4b pentru a recunoaște perifericele USB TurtleBot3.

rosrun turtlebot3_bringup create_udev_rules

Rulați ifconfig și scrieți adresa IP a Raspbery Pi.

ifconfig

Editați ~ /.bashrc. Adăugați liniile de mai jos și, de asemenea, executați-le în shell.

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

export ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

Sincronizați Raspberry Pi și ora computerului:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

În acest moment, configurarea dvs. ar trebui să fie finalizată. Acum puteți utiliza Raspberry Pi 4b în loc de Raspberry Pi 3/3 + în TurtleBot3.

Recomandat: