対象となる読者
- ROS2のインストールを初めておこなう人
- Raspberry Pi5でROS2を使う人
- 過去インストールをしたが流れを忘れてしまった人
installするROS2のバージョン
ROS2のバージョンにはFoxy, Humble, Iron...といくつかあるが,サポート期限に違いがあるとのこと.
Humbleを入れようとしたがinstallが上手くいかず,今後も使えそうなJazzyをセットアップした.
install
公式のinstall手順を参考に環境を構築
raspi OSはDevianベースのOSであるため,公式の手順では初期の段階でErrorが出る.
そのためubuntu24.04のOSをSDカードに焼き直した.
raspi osのinstall Error
手順通り`universe`をinstallしようとすると以下のErrorが出るaptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/bookworm
installしようとしているものがraspbianにあったものでないため起こるErrorらしい.
回避策は以下の通り
https://qiita.com/hnw/items/734f82bee26a40269c1b
環境構築
環境設定をUTF-8
に変更,なお既にlocale
が入っている場合は初期のinstallはpassしてOK
locale # check for 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 # verify settings
変更前と後
変更前 ```bash LANG=C.UTF-8 LANGUAGE= LC_CTYPE="C.UTF-8" LC_NUMERIC="C.UTF-8" LC_TIME="C.UTF-8" LC_COLLATE="C.UTF-8" LC_MONETARY="C.UTF-8" LC_MESSAGES="C.UTF-8" LC_PAPER="C.UTF-8" LC_NAME="C.UTF-8" LC_ADDRESS="C.UTF-8" LC_TELEPHONE="C.UTF-8" LC_MEASUREMENT="C.UTF-8" LC_IDENTIFICATION="C.UTF-8" LC_ALL= ``` 変更後 ```bash LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= ```ros2 repositoryの追加
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
source.listにrepositoryを追加
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
ros2コードのinstall
sudo apt update
sudo apt upgrade
sudo apt install ros-jazzy-desktop
動作確認
talker側
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_cpp talker
listener側
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_py listener
動いた!!
感想
Humbleの環境構築できると思ったらinstall先に居なかったのは罠
困ったらapt search |grep ***
で検索をして,本当に存在するかどうかを確かめることが時間を溶かさないコツ