Სარჩევი:

დააინსტალირეთ ROS Kinetic, TurtleBot3, Raspicam Raspberry Pi– ზე  4b: 5 ნაბიჯი
დააინსტალირეთ ROS Kinetic, TurtleBot3, Raspicam Raspberry Pi– ზე 4b: 5 ნაბიჯი

ვიდეო: დააინსტალირეთ ROS Kinetic, TurtleBot3, Raspicam Raspberry Pi– ზე 4b: 5 ნაბიჯი

ვიდეო: დააინსტალირეთ ROS Kinetic, TurtleBot3, Raspicam Raspberry Pi– ზე  4b: 5 ნაბიჯი
ვიდეო: How to Build and Launch a NODE in ROS | Tutorial #1 | Ros and Raspberry Pi 2024, ივლისი
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– ში.

გირჩევთ: