Turtlebot3+ubuntu20.04+ROS noetic環境搭建


使用turtlebot3 burger進行實驗,PC機已經安裝好了ubuntu20.04環境

PC端安裝ROS noetic

參考官方文檔http://wiki.ros.org/noetic/Installation/Ubuntu

  • 安裝源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  • 增加key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  • 更新
sudo apt update
  • 安裝
sudo apt install ros-noetic-desktop-full
  • 環境設置
source /opt/ros/noetic/setup.bash
  • 安裝相關ROS依賴包
sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy \
  ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc \
  ros-noetic-rgbd-launch ros-noetic-rosserial-arduino \
  ros-noetic-rosserial-python ros-noetic-rosserial-client \
  ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server \
  ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro \
  ros-noetic-compressed-image-transport ros-noetic-rqt* ros-noetic-rviz \
  ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-markers
  • 安裝turtlebot3軟件包
sudo apt install ros-noetic-dynamixel-sdk
sudo apt install ros-noetic-turtlebot3-msgs
sudo apt install ros-noetic-turtlebot3

樹莓派環境安裝

  • 去官方下載https://ubuntu-mate.org/download/arm64/focal/

  • 使用SD Card Formatter格式化SD卡

  • 使用Raspberry Pi Image導入ubuntu系統文件

  • 解決鼠標延遲

    電腦打開安裝樹莓派系統的TF卡,在根目錄下找到cmdline.txt文件,打開編輯,在第一行的最后輸入一個空格,添加入:

    usbhid.mousepoll=0
    
  • 使用HDMI和顯示屏,安裝系統ubuntu20.04系統(會比較慢,像是卡住,需要耐心等待)

  • 啟用ssh

    sudo ps -e | grep ssh #檢查SSH服務有沒有開啟
    
    sudo apt-get update #先更新源
    
    sudo apt-get install openssh-server
    
  • 安裝並配置ROS(noetic)環境

    參考官方文檔https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/

  • 安裝並構建TurtleBot3軟件包

sudo apt install ros-noetic-rosserial-python ros-noetic-tf
sudo apt install ros-noetic-hls-lfcd-lds-driver
sudo apt install ros-noetic-turtlebot3-msgs
sudo apt install ros-noetic-dynamixel-sdk
cd ~/catkin_ws/src/
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git
cd ~/catkin_ws/src/turtlebot3
rm -r turtlebot3_description/ turtlebot3_teleop/ turtlebot3_navigation/ turtlebot3_slam/ turtlebot3_example/
cd ~/catkin_ws && catkin_make -j1
source ~/.bashrc
  • 使用rosdep安裝依賴項
sudo apt install python3-rosdep2 ros-noetic-rosbash
cd ~/catkin_ws && rosdep update && rosdep install --from-paths src --ignore-src -r -y
cd ~/catkin_ws/src/turtlebot3/turtlebot3_bringup
sudo cp ./99-turtlebot3-cdc.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
  • openCR設置

不進行這一步,后續rosrun會報checksum error,仍然按照官方文檔進行,需要注意的是

wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS1/latest/opencr_update.tar.bz2 

在進行這一步時,會connect refuse,按照網上其他改host ip映射也不行,於是選擇手動去下載。

網絡設置

  • 使用ifconfig命令獲取遠程PC和樹莓派ip

樹莓派

sudo vim ~/.bashrc #編輯修改
export ROS_MASTER_URI=http://{IP_ADDRESS_OF_REMOTE_PC}:11311
export ROS_HOSTNAME={IP_ADDRESS_OF_RASPBERRY_PI_3}
source ~/.bashrc

遠程PC

sudo vim ~/.bashrc #編輯修改
export ROS_MASTER_URI=http://{IP_ADDRESS_OF_REMOTE_PC}:11311
export ROS_HOSTNAME={IP_ADDRESS_OF_REMOTE_PC}
source ~/.bashrc

開始使用

遠程PC

roscore

TurtleBot3 SBC

roslaunch turtlebot3_bringup turtlebot3_robot.launch

遠程PC新開一個terminal

export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_bringup turtlebot3_model.launch

安裝問題

  • 遇到lose sync的error,記得連接上如激光等設備
  • Creation of publisher failed: Checksum does not match:更新openCR固件
  • Creation of publisher failed:{包名}:包未安裝
  • catkin編譯卡住,參考https://www.cnblogs.com/vcan123/p/12218927.html順利解決

謹記

網上教程很多,主要還是要以官方文檔為主


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM