Turinys:

Įdiekite „ROS Kinetic“, „TurtleBot3“, „Raspicam“į „Raspberry Pi“ 4b: 5 veiksmai
Įdiekite „ROS Kinetic“, „TurtleBot3“, „Raspicam“į „Raspberry Pi“ 4b: 5 veiksmai

Video: Įdiekite „ROS Kinetic“, „TurtleBot3“, „Raspicam“į „Raspberry Pi“ 4b: 5 veiksmai

Video: Įdiekite „ROS Kinetic“, „TurtleBot3“, „Raspicam“į „Raspberry Pi“ 4b: 5 veiksmai
Video: cartographer test(ROS + YDLIDAR X4 + Raspberry pi 3 B+) 2024, Liepa
Anonim
Įdiekite „ROS Kinetic“, „TurtleBot3“, „Raspicam“į „Raspberry Pi 4b“
Įdiekite „ROS Kinetic“, „TurtleBot3“, „Raspicam“į „Raspberry Pi 4b“

„TurtleBot3 Burger“tiekiamas su „Raspberry Pi 3 B/B+“ir nepalaiko naujo (nuo 2019 m. Rugsėjo mėn.) „Raspberry Pi 4b“. Atlikite toliau nurodytus veiksmus, kad „TurtleBot3“veiktų su „Raspberry Pi 4b“, įskaitant

  • kuriant „ROS Kinetic“iš šaltinių „Raspberry Pi 4b Raspbian Buster“
  • pridedant „TurtleBot3“specifinius paketus
  • pridedant raspicam-node

1 veiksmas: įdiekite „Raspbian“ir sukonfigūruokite „Raspberry Pi 4b“

Įdiekite „Raspbian“ir sukonfigūruokite „Raspberry Pi 4b“
Įdiekite „Raspbian“ir sukonfigūruokite „Raspberry Pi 4b“

Atsisiųskite Raspbian paveikslėlį. Aš naudoju „Raspbian Buster“, datuojamą 2019–07–10.

Įrašykite atsisiųstą „Raspbian“vaizdą į SD kortelę (mažiausiai 8 Gb dydžio). Prijunkite ekraną, klaviatūrą ir pelę prie „Raspberry Pi 4b“, paleiskite ir prisijunkite prie „WiFi“. Išplėskite failų sistemą, kad ji užimtų visą SD kortelę, ir pasirinktinai paleiskite SSH ir VNC

sudo raspi-config

2 veiksmas: atsisiųskite ROS kinetinius šaltinius

Atsisiųskite ROS kinetikos šaltinius
Atsisiųskite ROS kinetikos šaltinius

Toliau pateiktose instrukcijose laikomasi oficialios ROS mokymo programos, taip pat nurodomos DmitryM8 instrukcijos.

Prisijunkite prie „Raspberry Pi 4b“ir vykdykite šias komandas, kad pridėtumėte ROS paketų saugyklą, sukurtumėte įrankius ir inicijuotumėte ROS priklausomybės įrankį.

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 atnaujinimas

Sukurkite darbo vietą, kad sukurtumėte „ROS Kinetic“iš šaltinio.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Atsisiųskite „ros_comm“paketo, kuriame yra esminių modulių, skirtų paleisti roboto borto kompiuteryje, šaltinio kodą. Čia „rosinstall_generator“sukuria atsisiunčiamų šaltinio kodo saugyklų sąrašą. „wstool“pradeda atsisiųsti šaltinio kodą.

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

Norėdami paleisti „TurtleBot3“ir „raspicam“, be „ros_comm“jums reikės šių ROS paketų: common_msgs, rosserial, image_common, image_transport_plugins ir diagnostika. Norėdami pridėti šiuos paketus, paleiskite šias komandas.

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

Kadangi priklausomybių versijos laikui bėgant keičiasi, gali būti tokių klaidų kaip „python-rosdistro-modules_0.7.5-1_all.deb (--unpack): bandoma perrašyti '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', kuris taip pat yra pakuotėje python-rosdistro 0.7.2-1 . Išspręskite šias „bandymo perrašyti“klaidas:

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

// arba sudo apt pašalinti sudo apt --fix-broken install

3 veiksmas: rankiniu būdu ištaisykite ROS kompiliavimo klaidas

Rankiniu būdu ištaisykite ROS kompiliavimo klaidas
Rankiniu būdu ištaisykite ROS kompiliavimo klaidas

Kuriant ROS šiuo metu nepavyks su įvairiomis klaidomis. Ištaisykime šias klaidas rankiniu būdu redaguodami ROS šaltinio kodą.

Redaguoti

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

Pakeisti

char* str = PyString_AsString (obj);

su

const char* str = PyString_AsString (obj);

Redaguokite failus žemiau.

/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

Pašalinkite visus įvykius

/tr1

ir pakeisti visus įvykius

std:: tr1

su

padidinti

Redaguokite failus žemiau.

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

Pakeiskite visus įvykius

boost:: posix_time:: milisekundės (…)

su

boost:: posix_time:: milisekundės (int (…))

Redaguokite žemiau esantį failą.

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

Pakeiskite visus

logWarn Įspėjimas

su

CONSOLE_BRIDGE_logĮspėti

ir

logError

su

CONSOLE_BRIDGE_logKlaida

4 žingsnis: sukurkite „ROS Kinetic“

Šiuo metu kūrimas turėtų pavykti.

cd ~/ros_catkin_ws

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Išleisti --install -space/opt/ros/kinetic

Pridėti prie ~/.bashrc ir taip pat vykdyti savo apvalkale:

šaltinis /opt/ros/kinetic/setup.bash

5 veiksmas: sukurkite „TurtleBot3“ir „Raspicam“paketus

Sukurkite „TurtleBot3“ir „Raspicam“paketus
Sukurkite „TurtleBot3“ir „Raspicam“paketus

Šios instrukcijos atitinka ROBOTIS vadovėlį.

mkdir -p ~/catkin_ws/src

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

Redaguokite ~/.bashrc ir pridėkite

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

Dabar vykdyk

cd ~/catkin_ws/src

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

Konstrukcija turėtų pavykti.

Konfigūruokite „Raspberry Pi 4b“, kad jis atpažintų „TurtleBot3“USB išorinius įrenginius.

rosrun turtlebot3_bringup create_udev_rules

Paleiskite ifconfig ir užsirašykite Raspbery Pi IP.

ifconfig

Redaguoti ~/.bashrc. Pridėkite žemiau esančias eilutes ir vykdykite jas savo apvalkale.

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

eksportuoti ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

Sinchronizuokite „Raspberry Pi“ir kompiuterio laiką:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

Šiuo metu jūsų sąranka turėtų būti baigta. Dabar „TurtleBot3“galite naudoti „Raspberry Pi 4b“, o ne „Raspberry Pi 3/3+“.

Rekomenduojamas: