環境
RasberryPi 400(キーボード内蔵型のRasberryPi4)
Ubuntu24.04 Desktop
インストール
基本公式ページ通りにやれば問題なかった。
ロケールの設定
日本語に設定していたが、UTF-8をサポートしていることがインストールの条件となっていたため問題ないと判断しスキップ
パッケージのインストールとリポジトリの追加
sudo apt install software-properties-common
sudo add-apt-repository universe
ROS2リポジトリの暗号鍵を取得し、リポジトリを追加
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
開発ツールのインストール
ROSのパッケージをビルドするcolcon(ROS1でのcatkin的な)が含まれるらしいのでインストール
sudo apt update && sudo apt install ros-dev-tools
ROS2のインストール
sudo apt update
sudo apt upgrade
sudo apt install ros-jazzy-desktop
ROS2への環境変数をbashに追加
ROS2を使う度にROS2へのパスを通すのは大変なので、bashに追加してしまう。
追加後は一度bashを再読み込みしているが、もちろんターミナルを開き直しても良い。
cd
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc
全体の依存関係の確認と初期セットアップ
rosdepを使って依存関係を確認しておく。多分開発ツール内に含まれているため、rosdep自体のインストールは済んでいるはず。
rosdepは公式外のリポジトリにあるパッケージをインストールする際に活用すると、依存関係にあるパッケージを自動でインストールしてくれる優れもの。
インストール時の一度のみsudo
で実行する必要があるが、それ以降はsudo
をつけなくても良い。間違ってつけてしまうとセキュリティ上問題があるので、sudo rosdep fix-permissions
を使って修正する。
参考記事
sudo rosdep init
rosdep update
ワークスペースのセットアップ
ROS1でcatkinを使ったように、ROS2ではcolconを使ってビルドする。
この辺はROS1とほぼ同じ
まず適当にワークスペースとなるディレクトリを作成し、中にsrc
のディレクトリを作る。
cd
mkdir -p colcon_ws/src
cd colcon_ws
colcon build
colcon_ws
内にビルド後のディレクトリが増えていることが確認できる。
ワークスペースへのパスを通す
このままだとcolcon_ws内のパッケージを実行する際に、毎回colcon_wsへのパスを通さなければならない。bashrcに書いておくことでターミナルを開く時に自動でパスが通るようにしておく。
echo "source $HOME/colcon_ws/install/setup.bash" >> ~/.bashrc
.bashrc
にsourceの一文が追加されていることが確認できる
まとめ
インストールにつまづくかもしれないと思い、この記事を書きながらインストールを行ったが、あまりにもあっさり終わってしまった。
他の方の記事や公式のページ通りにしか作業していない。
そのうちROS2の解説記事やプログラムのテンプレート記事なども作ろうと思う。