Инсталирайте ROS Kinetic, TurtleBot3, Raspicam на Raspberry Pi  4b: 5 стъпки
Инсталирайте ROS Kinetic, TurtleBot3, Raspicam на Raspberry Pi 4b: 5 стъпки
Anonim
Инсталирайте ROS Kinetic, TurtleBot3, Raspicam на Raspberry Pi 4b
Инсталирайте ROS Kinetic, TurtleBot3, Raspicam на Raspberry Pi 4b

TurtleBot3 Burger се предлага с Raspberry Pi 3 B/B+ и не поддържа новия (от 9/2019 г.) Raspberry Pi 4b. Следвайте стъпките по -долу, за да накарате TurtleBot3 да работи на Raspberry Pi 4b, включително

  • изграждане на ROS Kinetic от източници на Raspberry Pi 4b Raspbian Buster
  • добавяне на специфични за TurtleBot3 пакети
  • добавяне на raspicam-node към

Стъпка 1: Инсталирайте Raspbian и конфигурирайте Raspberry Pi 4b

Инсталирайте Raspbian и конфигурирайте Raspberry Pi 4b
Инсталирайте Raspbian и конфигурирайте Raspberry Pi 4b

Изтеглете изображение на Raspbian. Използвах Raspbian Buster от 2019–07–10.

Запишете изтегленото Raspbian изображение на SD карта (с размер поне 8 Gb). Свържете дисплей, клавиатура и мишка към вашия Raspberry Pi 4b, стартирайте и се свържете с WiFi. Разширете файловата система, за да заеме цялата ви SD карта и, по желание, активирайте SSH и VNC, като стартирате

sudo raspi-config

Стъпка 2: Изтеглете ROS кинетични източници

Изтеглете ROS кинетични източници
Изтеглете ROS кинетични източници

Инструкциите по -долу следват официалния урок за ROS, както и инструкциите на DmitryM8.

Влезте в своя Raspberry Pi 4b и изпълнете тези команди, за да добавите хранилище на пакети за ROS, да създадете инструменти и да инициализирате инструмента за зависимост от 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-генератор python-rosinstall сборка от съществено значение cmake sudo rosdep init rosdep актуализация

Създайте работно пространство за изграждане на ROS Kinetic от източника.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Изтеглете изходния код за пакета "ros_comm", който съдържа основни модули, предназначени за работа на бордовия компютър на робота. Тук rosinstall_generator създава списък с хранилища на изходния код за изтегляне. След това wstool продължава да изтегля изходния код.

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

За да стартирате TurtleBot3 и raspicam ще ви трябват тези ROS пакети в допълнение към ros_comm: common_msgs, rosserial, image_common, image_transport_plugins и диагностика. За да добавите тези пакети, изпълнете тези команди.

rosinstall_generator common_msgs common_msgs rosserial image_common image_transport_plugins диагностика 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

Тъй като версиите на зависимости се променят с течение на времето, може да има грешки като „python-rosdistro-modules_0.7.5-1_all.deb (--unpack): опитвайки се да презапише„ /usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', който също е в пакета python-rosdistro 0.7.2-1 . Разрешете тези грешки при „опит за презапис“:

sudo dpkg --remove --force-all python-catkin-pkg python-catkin-pkg-модули python-rosdistro python-rosdistro-модули python-rospkg python-rospkg-модули

// или sudo apt премахнете sudo apt --fix-broken install

Стъпка 3: Ръчно коригирайте грешките при компилиране на ROS

Ръчно коригирайте грешките при компилиране на ROS
Ръчно коригирайте грешките при компилиране на ROS

Изграждането на ROS в този момент ще се провали с различни грешки. Нека поправим тези грешки, като ръчно редактираме изходния код на ROS.

редактиране

/home/pi/ros_catkin_ws/src/opencv3/modules/python/src2/cv2.cpp ред 885

Заменете

char* str = PyString_AsString (obj);

с

const char* str = PyString_AsString (obj);

Редактирайте файловете по -долу.

/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

Премахнете всички събития на

/tr1

и замества всички появявания на

std:: tr1

с

тласък

Редактирайте файловете по -долу.

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

Заменете всички събития на

boost:: posix_time:: милисекунди (…)

с

boost:: posix_time:: милисекунди (int (…))

Редактирайте файла по -долу.

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

Сменете всички

logWarn

с

CONSOLE_BRIDGE_logWarn

и

logError

с

CONSOLE_BRIDGE_logError

Стъпка 4: Изградете ROS Kinetic

В този момент изграждането трябва да успее.

cd ~/ros_catkin_ws

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

Добавете към ~/.bashrc и също изпълнете във вашата черупка:

източник /opt/ros/kinetic/setup.bash

Стъпка 5: Изградете TurtleBot3 и Raspicam пакети

Създайте пакети TurtleBot3 и Raspicam
Създайте пакети TurtleBot3 и Raspicam

Тези инструкции следват урока ROBOTIS.

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/catkin_make източник devel/setup.bash

Редактирайте ~/.bashrc и добавете

източник /home/pi/catkin_ws/devel/setup.bash

Сега, изпълнете

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 клонинг https://github.com/ROBOTIS-GIT/turtlebot3. git git клонинг 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

Изграждането трябва да успее.

Конфигурирайте Raspberry Pi 4b за разпознаване на TurtleBot3 USB периферни устройства.

rosrun turtlebot3_bringup create_udev_rules

Стартирайте ifconfig и запишете IP на Raspbery Pi.

ifconfig

Редактирайте ~/.bashrc. Добавете редовете по -долу и ги изпълнете във вашата черупка.

експортиране ROS_MASTER_URI = https://YOUR. ROS. MASTER. IP: 11311

експортиране на ROS_HOSTNAME = ВАШАТА. РАЗПЕРБЕРИЯ. PI. IP

Синхронизирайте времето на Raspberry Pi и компютър:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

На този етап настройката ви трябва да бъде завършена. Сега можете да използвате вашия Raspberry Pi 4b вместо Raspberry Pi 3/3+ във вашия TurtleBot3.

Препоръчано: