Satura rādītājs:

Instalējiet ROS Kinetic, TurtleBot3, Raspicam vietnē Raspberry Pi  4b: 5 soļi
Instalējiet ROS Kinetic, TurtleBot3, Raspicam vietnē Raspberry Pi 4b: 5 soļi

Video: Instalējiet ROS Kinetic, TurtleBot3, Raspicam vietnē Raspberry Pi 4b: 5 soļi

Video: Instalējiet ROS Kinetic, TurtleBot3, Raspicam vietnē Raspberry Pi  4b: 5 soļi
Video: ROS Kinetic on Raspbian| ROS Kinetic Installation on Raspberry Pi 4 2024, Novembris
Anonim
Instalējiet ROS Kinetic, TurtleBot3, Raspicam vietnē Raspberry Pi 4b
Instalējiet ROS Kinetic, TurtleBot3, Raspicam vietnē Raspberry Pi 4b

TurtleBot3 Burger tiek piegādāts kopā ar Raspberry Pi 3 B/B+ un neatbalsta jauno (uz 9/2019) Raspberry Pi 4b. Izpildiet tālāk norādītās darbības, lai TurtleBot3 darbotos ar Raspberry Pi 4b, ieskaitot

  • veidojot ROS Kinetic no avotiem vietnē Raspberry Pi 4b Raspbian Buster
  • pievienojot TurtleBot3 specifiskas paketes
  • pievienojot raspicam-mezglu

1. darbība: instalējiet Raspbian un konfigurējiet Raspberry Pi 4b

Instalējiet Raspbian un konfigurējiet Raspberry Pi 4b
Instalējiet Raspbian un konfigurējiet Raspberry Pi 4b

Lejupielādējiet Raspbian attēlu. Es izmantoju Raspbian Buster, kas datēts ar 2019-07-10.

Ierakstiet lejupielādēto Raspbian attēlu SD kartē (vismaz 8 Gb). Pievienojiet displeju, tastatūru un peli savam Raspberry Pi 4b, palaidiet un izveidojiet savienojumu ar WiFi. Paplašiniet failu sistēmu, lai tā aizņemtu visu jūsu SD karti, un pēc izvēles iespējojiet SSH un VNC, palaižot

sudo raspi-config

2. darbība: lejupielādējiet ROS kinētiskos avotus

Lejupielādēt ROS kinētiskos avotus
Lejupielādēt ROS kinētiskos avotus

Tālāk sniegtie norādījumi atbilst oficiālajai ROS apmācībai, kā arī norādēm DmitryM8.

Piesakieties savā Raspberry Pi 4b un izpildiet šīs komandas, lai pievienotu ROS pakotņu krātuvi, izveidotu rīkus un inicializētu ROS atkarības rīku.

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 pto python-rosinstall build-essential cmake sudo rosdep init rosdep atjauninājums

Izveidojiet darbvietu, lai izveidotu ROS Kinetic no avota.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Lejupielādējiet "ros_comm" pakotnes avota kodu, kurā ir būtiski moduļi, kas paredzēti darbināšanai robota borta datorā. Šeit rosinstall_generator izveido lejupielādējamo avota kodu krātuves sarakstu. wstool turpina lejupielādēt avota kodu.

rosinstall_generator ros_comm --rosdistro kinetic --deps-tikai slapjš --tar> kinetic-ros_comm-wet.rosinstall

wstool init -j8 src kinetic-ros_comm-wet.rosinstall rosdep instalēt-no ceļiem src --ignore-src --rosdistro kinetic -y

Lai palaistu TurtleBot3 un raspicam, papildus ros_comm jums būs nepieciešamas šīs ROS paketes: common_msgs, rosserial, image_common, image_transport_plugins un diagnostika. Lai pievienotu šīs paketes, palaidiet šīs komandas.

rosinstall_generator common_msgs common_msgs rosserial image_common image_transport_plugins diagnostika nodelet_core --rosdistro kinetic --deps-tikai slapjš --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

Tā kā atkarību versijas laika gaitā mainās, var būt tādas kļūdas kā "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): mēģinot pārrakstīt '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', kas ir arī iepakojumā python-rosdistro 0.7.2-1 ". Novērsiet šīs kļūdas "mēģināt pārrakstīt":

sudo dpkg-noņemt-piespiest visus python-catkin-pkg python-catkin-pkg-moduļus python-rosdistro python-rosdistro-modules python-rospkg python-rospkg-modules

// vai sudo apt noņemt sudo apt --fix-broken install

3. darbība: manuāli labojiet ROS apkopošanas kļūdas

Manuāli labojiet ROS apkopošanas kļūdas
Manuāli labojiet ROS apkopošanas kļūdas

ROS veidošana šajā brīdī neizdosies ar dažādām kļūdām. Labosim šīs kļūdas, manuāli rediģējot ROS avota kodu.

Rediģēt

/home/pi/ros_catkin_ws/src/opencv3/modules/python/src2/cv2.cpp 885. līnija

Aizvietot

char* str = PyString_AsString (obj);

ar

const char* str = PyString_AsString (obj);

Rediģējiet failus zemāk.

/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

Noņemiet visus notikumus

/tr1

un aizstāt visus notikumus

std:: tr1

ar

palielināt

Rediģējiet failus zemāk.

/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/sr /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_ond_cpp/home/pi/ /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

Nomainiet visus notikumus

palielināt:: posix_time:: milisekundes (…)

ar

palielināt:: posix_time:: milisekundes (int (…))

Rediģējiet zemāk esošo failu.

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

Nomainiet visus

logWarn

ar

CONSOLE_BRIDGE_logBrīdināt

un

logError

ar

CONSOLE_BRIDGE_logKļūda

4. solis: veidojiet ROS kinētiku

Šajā brīdī būvei vajadzētu izdoties.

cd ~/ros_catkin_ws

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

Pievienojiet ~/.bashrc un izpildiet arī savā apvalkā:

avots /opt/ros/kinetic/setup.bash

5. darbība: izveidojiet TurtleBot3 un Raspicam paketes

Izveidojiet TurtleBot3 un Raspicam paketes
Izveidojiet TurtleBot3 un Raspicam paketes

Šie norādījumi seko ROBOTIS apmācībai.

mkdir -p ~/catkin_ws/src

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

Rediģējiet ~/.bashrc un pievienojiet

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

Tagad izpildiet

cd ~/catkin_ws/src

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

Būvēšanai vajadzētu izdoties.

Konfigurējiet Raspberry Pi 4b, lai atpazītu TurtleBot3 USB perifērijas ierīces.

rosrun turtlebot3_bringup create_udev_rules

Palaidiet ifconfig un pierakstiet Raspbery Pi IP.

ifconfig

Rediģēt ~/.bashrc. Pievienojiet zemāk esošās līnijas un izpildiet tās savā apvalkā.

eksportēt ROS_MASTER_URI = https://YOUR. ROS. MASTER. IP: 11311

eksportēt ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

Sinhronizējiet Raspberry Pi un datora laiku:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

Šajā brīdī jūsu iestatīšana ir jāpabeidz. Tagad TurtleBot3 varat izmantot savu Raspberry Pi 4b, nevis Raspberry Pi 3/3+.

Ieteicams: