INHOUDSOPGAWE:

Installeer ROS Kinetic, TurtleBot3, Raspicam op Raspberry Pi  4b: 5 stappe
Installeer ROS Kinetic, TurtleBot3, Raspicam op Raspberry Pi 4b: 5 stappe

Video: Installeer ROS Kinetic, TurtleBot3, Raspicam op Raspberry Pi 4b: 5 stappe

Video: Installeer ROS Kinetic, TurtleBot3, Raspicam op Raspberry Pi  4b: 5 stappe
Video: ROS and Raspberry Pi for Beginners | Tutorial #0 - Topics Packages RosMaster 2024, November
Anonim
Installeer ROS Kinetic, TurtleBot3, Raspicam op Raspberry Pi 4b
Installeer ROS Kinetic, TurtleBot3, Raspicam op Raspberry Pi 4b

TurtleBot3 Burger kom met Raspberry Pi 3 B/B+ en ondersteun nie die nuwe (vanaf 9/2019) Raspberry Pi 4b. Volg die onderstaande stappe om TurtleBot3 op Raspberry Pi 4b te laat werk, insluitend

  • bou ROS Kinetic uit bronne op Raspberry Pi 4b Raspbian Buster
  • voeg TurtleBot3-spesifieke pakkette by
  • voeg raspicam-node by

Stap 1: Installeer Raspbian en stel Raspberry Pi 4b in

Installeer Raspbian en stel Raspberry Pi 4b op
Installeer Raspbian en stel Raspberry Pi 4b op

Laai 'n Raspbian -prent af. Ek het Raspbian Buster gedateer 2019-07-10 gebruik.

Brand die afgelaaide Raspbian -prent op 'n SD -kaart (ten minste 8 GB groot). Koppel 'n skerm, sleutelbord en muis aan jou Raspberry Pi 4b, begin en maak verbinding met WiFi. Brei die lêerstelsel uit om u hele SD -kaart te beset, en stel SSH en VNC moontlik in deur te hardloop

sudo raspi-config

Stap 2: Laai ROS Kinetic Sources af

Laai ROS Kinetic Sources af
Laai ROS Kinetic Sources af

Die instruksies hieronder volg die amptelike ROS -tutoriaal sowel as die instruksie van DmitryM8.

Meld aan by u Raspberry Pi 4b en voer hierdie opdragte uit om ROS -pakketbewaarplek by te voeg, gereedskap te bou en ROS -afhanklikheidsinstrument te initialiseer.

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-wpstool python-rosinstall build-essential cmake sudo rosdep init rosdep update

Skep 'n werkruimte om ROS Kinetic uit die bron te bou.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Laai die bronkode af vir die pakket "ros_comm", wat noodsaaklike modules bevat wat bedoel is om op die boordrekenaar van die robot te werk. Hier skep rosinstall_generator 'n lys met bronkode -bewaarplekke om af te laai. wstool gaan dan voort met die aflaai van die bronkode.

rosinstall_generator ros_comm --rosdistro kinetiese --deps-slegs nat --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

Om TurtleBot3 en raspicam te bestuur, benodig u hierdie ROS -pakkette benewens ros_comm: common_msgs, rosserial, image_common, image_transport_plugins en diagnostics. Voer hierdie opdragte uit om hierdie pakkette by te voeg.

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

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

Namate die afhanklikheidsweergawes mettertyd verander, kan daar foute wees soos "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): probeer '/usr/lib/python2.7/dist-packages/rosdistro/_init_ oorskryf.py ', wat ook in die verpakking is python-rosdistro 0.7.2-1 ". Los hierdie "probeer om te oorskryf" foute op:

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

// of sudo apt verwyder sudo apt --fix-gebreekte installasie

Stap 3: Los ROS -samestellingsfoute handmatig op

Los ROS -samestellingsfoute handmatig op
Los ROS -samestellingsfoute handmatig op

Die bou van ROS op hierdie punt sal misluk met verskillende foute. Laat ons hierdie foute regstel deur ROS -bronkode handmatig te wysig.

Redigeer

/home/pi/ros_catkin_ws/src/opencv3/modules/python/src2/cv2.cpp reël 885

Vervang

char* str = PyString_AsString (obj);

met

const char* str = PyString_AsString (obj);

Wysig lêers hieronder.

/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

Verwyder alle voorvalle van

/tr1

en vervang alle voorvalle van

std:: tr1

met

hupstoot

Wysig lêers hieronder.

/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.cpp/home/pc/home/p/// /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

Vervang alle gevalle van

hupstoot:: posix_time:: millisekondes (…)

met

hupstoot:: posix_time:: millisekondes (int (…))

Wysig die lêer hieronder.

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

Vervang alles

logWarn

met

CONSOLE_BRIDGE_logWaarsku

en

logError

met

CONSOLE_BRIDGE_logFout

Stap 4: Bou ROS Kinetic

Op hierdie punt behoort die bou suksesvol te wees.

cd ~/ros_catkin_ws

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

Voeg by ~/.bashrc en voer ook in u dop uit:

bron /opt/ros/kinetic/setup.bash

Stap 5: Bou TurtleBot3 en Raspicam pakkette

Bou TurtleBot3 en Raspicam pakkette
Bou TurtleBot3 en Raspicam pakkette

Hierdie instruksies volg die handleiding van ROBOTIS.

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/catkin_make bronontwikkeling/setup.bash

Wysig ~/.bashrc en voeg by

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

Nou, voer uit

cd ~/catkin_ws/src

git-kloon https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git git-kloon https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git-kloon https://github.com/ROBOTIS-GIT/turtlebot3. git git -kloon https://github.com/UbiquityRobotics/raspicam_node.git cd ~/catkin_ws/src/turtlebot3 rm -r turtlebot3_description/turtlebot3_teleop/turtlebot3_navigation/turtlebot3_slam /_turtlebot_catch

Die bou moet slaag.

Stel Raspberry Pi 4b op om TurtleBot3 USB -randapparatuur te herken.

rosrun turtlebot3_bringup create_udev_rules

Begin ifconfig en skryf die IP van Raspbery Pi neer.

ifconfig

Wysig ~/.bashrc. Voeg die lyne hieronder by en voer dit ook in u dop uit.

voer ROS_MASTER_URI = https://YOUR. ROS. MASTER. IP uit: 11311

voer ROS_HOSTNAME = U. RASPBERRY. PI. IP uit

Sinkroniseer Raspberry Pi en PC -tyd:

sudo apt-get installeer ntpdate

sudo ntpdate ntp.ubuntu.com

Op hierdie punt moet u opstelling voltooi word. Nou kan u u Raspberry Pi 4b in plaas van Raspberry Pi 3/3+ in u TurtleBot3 gebruik.

Aanbeveel: