დააინსტალირეთ 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 to

ნაბიჯი 1: დააინსტალირეთ Raspbian და დააკონფიგურირეთ Raspberry Pi 4b

დააინსტალირეთ Raspbian და დააკონფიგურირეთ Raspberry Pi 4b
დააინსტალირეთ Raspbian და დააკონფიგურირეთ Raspberry Pi 4b

ჩამოტვირთეთ Raspbian სურათი. მე გამოვიყენე Raspbian Buster დათარიღებული 2019-07-10.

გადმოწერეთ Raspbian სურათი SD ბარათზე (მინიმუმ 8 გბ ზომის). შეაერთეთ ეკრანი, კლავიატურა და მაუსი თქვენს 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-გასაღები C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt-get sudo apt-get install -y python-rosdep python-rostol python-rosinstall build-thelb cmake sudo rosdep init rosdep განახლება

შექმენით სამუშაო ადგილი, რათა ააშენოთ ROS კინეტიკა წყაროდან.

მკდირი ~/ros_catkin_ws

cd ~/ros_catkin_ws

ჩამოტვირთეთ "ros_comm" პაკეტის წყაროს კოდი, რომელიც შეიცავს აუცილებელ მოდულებს, რომლებიც განკუთვნილია რობოტის ბორტ კომპიუტერზე. აქ rosinstall_generator ქმნის წყაროს კოდის საცავების ჩამონათვალს ჩამოსატვირთად. wstool აგრძელებს წყაროს კოდის ჩამოტვირთვას.

rosinstall_generator ros_comm --rosdistro kinetic-დეპსი-მხოლოდ სველი --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 როსერიული სურათი_ჩვეული სურათი_ტრანსპორტი_გამაძლიერებლები დიაგნოსტიკა nodelet_core --rosdistro kinetic-დეპსი-მხოლოდ სველი-ტარი> კინეტიკურ-დამატებით-სველი. დაინსტალირება

wstool შერწყმა -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-ამოღება-ძალა-ყველა პითონი-კატკინი-პკგ პითონი-კატკინი-ფქგ-მოდულები პითონი-როსდისტრო პითონი-როსდისტრო-მოდულები python-rospkg python-rospkg- მოდულები

// ან sudo apt წაშლა sudo apt-დაფიქსირებული გატეხილი ინსტალაცია

ნაბიჯი 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.cils

ამოიღეთ ყველა მოვლენა

/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_catkin_ws/s /r /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_ws / src / bond_core /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

შეცვალეთ ყველა შემთხვევა

გაძლიერება:: posix_time:: მილიწამი (…)

თან

გაძლიერება:: posix_time:: მილიწამი (int (…))

შეცვალეთ ფაილი ქვემოთ.

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

შეცვალეთ ყველა

logWarn

თან

CONSOLE_BRIDGE_log გაფრთხილება

და

logError

თან

CONSOLE_BRIDGE_log შეცდომა

ნაბიჯი 4: ააშენეთ ROS კინეტიკა

ამ ეტაპზე მშენებლობა წარმატებული უნდა იყოს.

cd ~/ros_catkin_ws

sudo./src/catkin/bin/catkin_make_isolated -ინსტალაცია -DCMAKE_BUILD_TYPE = გამოშვება -სივრცის ინსტალაცია/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 source devel/setup.bash

Ed/.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 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_slam / turtlebot3_example / cd ~ / catkin_ws && catkin_make

მშენებლობა წარმატებული უნდა იყოს.

დააკონფიგურირეთ Raspberry Pi 4b TurtleBot3 USB პერიფერიული მოწყობილობების ამოცნობის მიზნით.

rosrun turtlebot3_bringup create_udev_rules

გაუშვით ifconfig და ჩაწერეთ Raspbery Pi- ს IP.

ifconfig

რედაქტირება ~/.bashrc. დაამატეთ ქვემოთ მოცემული ხაზები და ასევე შეასრულეთ ისინი თქვენს გარსში.

ექსპორტი ROS_MASTER_URI = https://YOUR. ROS. MASTER. IP: 11311

ექსპორტი ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

Raspberry Pi და PC დროის სინქრონიზაცია:

sudo apt-get დააინსტალირეთ ntpdate

sudo ntpdate ntp.ubuntu.com

ამ ეტაპზე, თქვენი კონფიგურაცია უნდა დასრულდეს. ახლა თქვენ შეგიძლიათ გამოიყენოთ თქვენი Raspberry Pi 4b ნაცვლად Raspberry Pi 3/3+ თქვენს TurtleBot3- ში.

გირჩევთ: