Raspberry Pi ZeroへのROSインストール
Zeroへはaptを使ってROSをインストールできないため、各自でmakeする必要がある。2024/12/11現在ROS1はbusterまでしかない?ので、Raspbian Busterを使うこと。
準備
sudo apt update
sudo apt upgrade
sudo apt install dirmngr curl python3
レポジトリを追加する
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
ビルドに必要なパッケージをインストール
sudo apt install python3-rosdep python3-rosinstall-generator python3-vcstools python3-vcstool build-essential python3-wstool python3-rosinstall python3-empy build-essential cmake
ワークスペースの作成
sudo rosdep init
rosdep update
mkdir ~/ros_catkin_ws
ソースコードの取得
Desktop環境ではなく、CUI環境(ros_comm)のみをダウンロードする。
cd ~/ros_catkin_ws/
rosinstall_generator ros_comm --rosdistro noetic --deps --tar > noetic-ros-comm.rosinstall
mkdir ./src
vcs import --input noetic-ros-comm.rosinstall ./src
依存関係解決
依存プログラムをインストールする。
cd ~/ros_catkin_ws/
rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro noetic -y
以下のコマンドで、バージョンがtinyxml2は4系以外、opencvは3であることを確認。違ったら[2]を参考に適宜対処。
apt-cache show libtinyxml2-dev | grep Version
apt-cache show python-opencv | grep Version
ビルド実行
以下でビルド実行。およそ3時間かかった。
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
ビルドするときにpython3 EMPY系のエラーが出たら、以下のオプションを付ける
-DPYTHON_EXECUTABLE=/usr/bin/python3
ビルドが完了したらsource
source ~/ros_catkin_ws/install_isolated/setup.bash
起動時に通す
echo "source ~/ros_catkin_ws/devel_isolated/setup.bash" >> ~/.bashrc
roscoreを実行
roscoreを実行して、動作することを確認。
roscore
参考
[1] https://wiki.ros.org/Installation/Source
[2] https://asukiaaa.blogspot.com/2018/06/raspberry-pi-raspbianstretchrosmelodic.html
[3] https://qiita.com/oho-sugu/items/89487e19631218bf689c
基本的にros公式の[1]にのっとっている。