Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Ubuntu 22LTS on RaspberryPi4B(8G)にxArm for ROS2 humble

Raspberry Pi 4B (8Gbyte) に Ubuntu 22.04 LTSの環境を組んだ状態で、そこに ROS2 humbleとxArm ROS2の環境を構築します。

実際のところ

前提

作業

リポジトリをアップデートし、必要なソフトウェア類を追加

$ 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