Տեղադրեք 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-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt-get թարմացում sudo apt-get install -y python-rosdep python-rosinthon python-rosinstall build-essential cmake sudo rosdep init rosdep update

Ստեղծեք աշխատանքային տարածք ՝ աղբյուրից ROS Kinetic կառուցելու համար:

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Ներբեռնեք «ros_comm» փաթեթի աղբյուրի կոդը, որը պարունակում է հիմնական մոդուլներ, որոնք նախատեսված են ռոբոտի բորտ համակարգչի վրա աշխատելու համար: Այստեղ rosinstall_generator- ը ստեղծում է ներբեռնման համար կոդերի պահեստների ցանկ: wstool- ը այնուհետև շարունակում է ներբեռնել աղբյուրի կոդը:

rosinstall_generator ros_comm --rosdistro kinetic --deps-միայն թաց --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-խորխորատներ-միայն թաց-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)..py ', որը նույնպես փաթեթում կա python-rosdistro 0.7.2-1 »: Լուծել այս «վերագրանցել փորձելու» սխալները.

sudo dpkg-հեռացնել-ուժ-բոլոր python-catkin-pkg python-catkin-pkg- մոդուլներ python-rosdistro python-rosdistro-modules python-rospkg python-rospkg-modules

// կամ 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_l/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 arnգուշացում

եւ

logError

հետ

CONSOLE_BRIDGE_log Սխալ

Քայլ 4. Կառուցեք ROS կինետիկա

Այս պահին շինարարությունը պետք է հաջողվի:

cd ~/ros_catkin_ws

sudo:

Կցեք ~/.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

Խմբագրել ~/.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- ի կլոն

Կառուցվածքը պետք է հաջողվի:

Կարգավորեք 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- ի և համակարգչի ժամանակը.

sudo apt-get տեղադրել ntpdate

sudo ntpdate ntp.ubuntu.com

Այս պահին ձեր կարգավորումը պետք է ավարտվի: Այժմ ձեր TurtleBot3- ում Raspberry Pi 3/3+ - ի փոխարեն կարող եք օգտագործել ձեր Raspberry Pi 4b- ը:

Խորհուրդ ենք տալիս: