Raspberry Pi 4B (8Gbyte) に Ubuntu 22.04 LTSの環境を組んだ状態で、そこに ROS2 humbleとxArm ROS2の環境を構築します。
実際のところ
前提
- Raspberry Pi 4B (8Gbyte)
- Ubuntu 22.04 LTS (Raspberry Pi Imagerで書き込み)
作業
リポジトリをアップデートし、必要なソフトウェア類を追加
$ sudo apt update && sudo apt install curl software-properties-common -y
リポジトリに"universe"を追加、ROS2用の鍵ファイルを導入
$ sudo add-apt-repository universe $ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
$ sudo apt update && sudo apt install -y \ python3-flake8-docstrings \ python3-pip \ python3-pytest-cov \ python3-flake8-blind-except \ python3-flake8-builtins \ python3-flake8-class-newline \ python3-flake8-comprehensions \ python3-flake8-deprecated \ python3-flake8-import-order \ python3-flake8-quotes \ python3-pytest-repeat \ python3-pytest-rerunfailures \ python3-rosdep2 \ python3-colcon-common-extensions
$ cd ~ $ mkdir -p dev_ws/src
$ cd ~/dev_ws/src $ git clone https://github.com/xArm-Developer/xarm_ros2.git --recursive -b $ROS_DISTRO
xArm SDKの環境を構築していない場合
$ cd ~/dev_ws/src/xarm_ros2 $ git pull $ git submodule sync $ git submodule update --init --remote
rosdepで必要な外部パッケージをいれます
初回想定なのでrosdep initを入れれますが、構築済みなら飛ばしてください
$ cd ~/dev_ws/src/ $ sudo rosdep init $ rosdep update $ rosdep install --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
ここでgazebo周りのインストールに失敗しますが……今回は一旦捨て置きます。(多分Qtまわりかなと)
shuzo-kino.hateblo.jp
でやったように、都合の悪いパッケージ群は一旦すっ飛ばします。
おそらくarm用のGazebo系がダメかと思われるのですっ飛ばしてしまいました。
$ cd ~/dev_ws $ colcon build --symlink-install --packages-skip realsense_gazebo_plugin xarm_gazebo xarm_planner