樹莓派4b下安裝ros

2021-10-07 15:33:46 字數 3665 閱讀 1750

安裝完成

由於採用raspberry pi 4b為最新版本,暫無適配的ubuntu mate映象。而ros系統較適合用於ubuntu系統安裝和使用。

但ros官網也提供了raspberry 的官方系統raspbian buster的安裝說明,但步驟麻煩,安裝時間較長,同時安裝過程中也會存在各種問題。

本文依照自己的raspberry pi 4b版本參考官網安裝流程安裝。

lsb_release  -a
本raspberry pi 4b 安裝官方版本raspbian buster

sudo sh -c 'echo "deb  $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver hkp: --recv-key c1cf6e31e6bade8868b172b4f42ed6fbab17c654

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
sudo rosdep init

rosdep update

其中執行sudo rosdep init會出現如下錯誤。

sudo rosdep init error: cannot download default sources list from:
參考部落格,

開啟/etc/hosts檔案,並在末尾新增如下語句:

151.101.84.133  raw.githubusercontent.com
再次執行,完美解決

mkdir -p ~/ros_catkin_ws

cd ~/ros_catkin_ws

建議安裝ros_robot 或 ros_comm,因為樹莓派效能問題,不建議安裝desktop。因為不需要在樹莓派上執行rviz等介面操作。後續有另一篇文件會說明在x86系統上連線樹莓派進行rviz等操作。

rosinstall_generator robot --rosdistro kinetic --deps --wet-only --tar > kinetic-ros_comm-wet.rosinstall

wstool init src kinetic-robot-wet.rosinstall

mkdir -p ~/ros_catkin_ws/external_src

cd ~/ros_catkin_ws/external_src

wget -o assimp-3.1.1_no_test_models.zip

unzip assimp-3.1.1_no_test_models.zip

cd assimp-3.1.1

cmake .

make

sudo make install

要根據系統版本raspbian buster,進行選擇,否則可參考官方修改下面指令中–os=內容

cd ~/ros_catkin_ws

rosdep install -y --from-paths src --ignore-src --rosdistro kinetic -r --os=debian:buster

由於我的系統是raspbian buster,因此一定要執行以下命令,即更換libboost1.67庫,否則編譯時一定會會出現"'boost/tr1/unordered_set.hpp' file not found"錯誤,已經親身經歷,編譯失敗後,重新編譯是重頭進行編譯的,非常浪費時間。

sudo apt remove libboost1.67-dev

sudo apt autoremove

sudo apt install -y libboost1.58-dev libboost1.58-all-dev

sudo apt install -y g++-5 gcc-5

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 20

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30

sudo update-alternatives --set cc /usr/bin/gcc

sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30

sudo update-alternatives --set c++ /usr/bin/g++

sudo apt install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake

編譯時還會遇到 tf失敗,出現error ,如/home/pi/ros_catkin_ws/src/geometry2/tf2/src/buffer_core.cpp:126:34: error: 『logwarn』 was not declared in this scope

請提前修改/usr/include/console_bridge/console.**件,在此檔案的開頭增加如下定義

#define logwarn console_bridge_logwarn

#define logerror console_bridge_logerror

#define logdebug console_bridge_logdebug

#define loginform console_bridge_loginform

sudo ./src/catkin/bin/catkin_make_isolated --install -dcmake_build_type=release --install-space /opt/ros/kinetic
編譯安裝時間較久,約120個包。

永久source,可使每次開啟終端自動source

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

樹莓派4B安裝docker

方法二 如果方法一不能直接apt install,那麼就需要做原始碼安裝準備 5.1 安裝原始碼包,順序 docker ce cli containerd.io docker ce 例 dpkg i containerd.io 1.2.10 3 armhf.deb 6 直接啟動可能會啟動失敗,jou...

樹莓派4b安裝wringPi

出現這個問題的原因在於,系統當前的wiringpi版本不支援樹莓派4b,但是這個問題不會影響我們程式設計使用樹莓派的所有引腳的功能。解決這個問題的步驟 進入樹莓派系統,首先需要確保樹莓派可以正常上網。我們可以輸入一下命令來判斷樹莓派是否可以正常上網。如上圖所示,能正常ping通就表示樹莓派可以正常上...

樹莓派4b安裝seafile

安裝前檢查python環境,安裝mysql,準備提供root密碼。將tar包解壓,執行安裝指令碼 setup seafile mysql.sh 按提示輸入配置引數。修改資料檔案路徑。raspberry版安裝時不提示詢問seafile資料檔案的存放路徑 與說明文件不一致,不明原因 因此分別修改服務啟動...