6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ROS 2Advent Calendar 2024

Day 1

ラズパイ5 Ubuntu24にROS2 humbleを入れるガイド

Last updated at Posted at 2024-11-30

はじめに

こんにちは、kazuです。
ROS 2 Advent Calendar 2024の1日目は、Ubuntu24でROS2 humbleをsource buildするガイドです。

※あくまでapt経由でROS 2を入れることができない場合に時間をかけてやる作業です。
aptが使える場合(Ubuntu22とhumble,24とjazzy等)はapt経由で入れることを推奨します。

1. とりあえず公式通り進める

rosdepを使い始めるまでは基本的に公式ページ通りにやっていけば問題ないです
念の為実行するコマンドを載せておきます

locale設定

locale  # UTF-8か確認します

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # sudo必要かもしれないです

apt関係追加

# timezoneの設定があるかもです5,78でいけます
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update && sudo apt install curl -y
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 \
    ros-dev-tools \
    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

ROS 2の追加

mkdir -p ~/ros2_humble/src
cd ~/ros2_humble
vcs import --input https://raw.githubusercontent.com/ros2/ros2/humble/ros2.repos src
sudo apt upgrade
sudo rosdep init

2. rosdepに頑張ってもらう

rosdepでは基本的にros-humble-◯◯をaptで入れようとします。
しかしros-humble-*系はUbuntu24.04に対応していないので無理やり書き換える必要があります。

ほかのプラットフォームでrosdepの依存関係をデバッグしているときや、プラットフォームが実際にとても似ていて、強制される必要があるときや、もちろん自動検索が失敗しているときなどで使えます。

raspberry pi 5では問題ありませんでしたが、他の環境でrosdep installのときに -os=ubuntu:jammyが必要と言われることがあります。原因不明ですがrosdep installの部分で失敗する場合最後に-os=ubuntu:jammyを付け足してみてください。

echo 'export ROS_OS_OVERRIDE=ubuntu:jammy' >> ~/.bashrc
source ~/.bashrc
rosdep update
cd ~/ros2_humble
sudo apt install -y libfastrtps-dev
# 失敗したら最後に -os=ubuntu:jammy を付け足す
rosdep install --from-paths src --ignore-src -r -y --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers"

3. 無限ビルド編

あとはビルドして終わりです。
無限に時間がかかるので時間のあるときにやりましょう。
また時短コマンドを載せておきますが、公式ページ通りでも問題ないです

cd ~/ros2_humble
colcon build --symlink-install --cmake-args -DBUILD_TESTING=OFF

4. 動作確認

ビルドが終了したら動作確認をしてみましょう!

source ~/ros2_humble/install/setup.bash
ros2 run demo_nodes_cpp talker
source ~/ros2_humble/install/setup.bash
ros2 run demo_nodes_py listener

最後に

nav2の対応が最初はできていなかったり、パッケージがhumble止まりなのにhumble入らない!みたいなケースが結構ありそうなので記事にしてみました。
時間があればaptで入れるros-humble-*を自力で入れる記事も書きたいと思います。
明日は高瀬先生による「極私的ROSCon 2024まとめ」です!

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?