Ubuntu で ROS 2 のインストールとテスト実行
ROS 2 のディストリビューションは,対応する Ubuntu のバージョンが定められている.Jazzy Jalisco は Ubuntu 24.04 LTS,2026 年 5 月にリリースされた Lyrical Luth(サポート期限 2031 年 5 月)は Ubuntu 26.04 LTS を Tier 1 のプラットフォームとする.Ubuntu 26.04 を使用する場合は,以下の手順の「jazzy」を「lyrical」に読み替える.
初代 ROS(ROS 1)は最終リリースの Noetic Ninjemys が 2025 年 5 月にサポートを終了しており,新規に導入する場合は ROS 2 を用いる.
【関連する外部ページ】は https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debs.html
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now
ロケールの設定
ROS 2 は UTF-8 に対応したロケールを前提とする. 端末で,次のコマンドを実行する.
# 現在のロケールを確認 (UTF-8 であるかを確認)
locale
sudo apt update
sudo apt -y 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
ROS 2 のインストール
- Ubuntu universe リポジトリの有効化
端末で,次のコマンドを実行する.
sudo apt update sudo apt -y install software-properties-common sudo add-apt-repository universe - ROS 2 の apt リポジトリと署名鍵の設定
ros2-apt-source パッケージは,ROS 2 リポジトリの署名鍵と apt ソース設定を提供する.このパッケージを導入すると,リポジトリ設定の更新は apt による通常の更新で自動的に反映される.
端末で,次のコマンドを実行する.
sudo apt update sudo apt -y install curl export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F'"' '{print $4}') curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb" sudo dpkg -i /tmp/ros2-apt-source.deb - ROS 2 のインストール
ros-jazzy-desktop には,ROS 2 本体,RViz,デモ,チュートリアルが含まれる.GUI ツールを必要としない場合は,代わりに ros-jazzy-ros-base をインストールする.
端末で,次のコマンドを実行する.
# パッケージリストの情報を更新 sudo apt update sudo apt full-upgrade sudo apt -y install ros-jazzy-desktop - 開発ツールのインストール
パッケージのビルドを行う場合は ros-dev-tools をインストールする.これには colcon,rosdep,vcstool などが含まれる.
端末で,次のコマンドを実行する.
sudo apt update sudo apt -y install ros-dev-toolsUbuntu 24.04 で ros-dev-tools のインストール時に依存関係の衝突が発生する場合がある.これは apt のソース設定に noble-updates,noble-backports が含まれていないことが原因である.次のコマンドで確認する.grep Suites /etc/apt/sources.list.d/ubuntu.sources表示された行が「Suites: noble noble-updates noble-backports」でない場合は,このファイルを編集して上記の内容に書き換え,次のコマンドを実行する.
sudo apt clean && sudo apt update && sudo apt full-upgrade -y - rosdep の初期化
rosdep は,パッケージが必要とするシステム依存パッケージを解決する仕組みである.
端末で,次のコマンドを実行する.
sudo rosdep init rosdep update - 環境設定
ROS 2 のコマンドを使用するには,setup.bash を読み込んで環境変数を設定する必要がある.端末を開くたびに自動で読み込むために,~/.bashrc に追記する.
端末で,次のコマンドを実行する.
echo "if [ -f /opt/ros/jazzy/setup.bash ]; then" >> ~/.bashrc echo " source /opt/ros/jazzy/setup.bash" >> ~/.bashrc echo "fi" >> ~/.bashrc source ~/.bashrc - 環境変数の確認
新しい端末を開き,次のコマンドを実行する.「jazzy」と表示され,ROS_DISTRO や ROS_VERSION などの環境変数が設定されていれば,環境設定は完了している.
printenv ROS_DISTRO env | grep ROS
インストールの確認(talker と listener)
ROS 2 の基本となる通信は,データを送信するパブリッシャ(publisher)と,データを受信するサブスクライバ(subscriber)によって行われる.これらの実行単位をノード(node)と呼ぶ.C++ 版のパブリッシャ talker と Python 版のサブスクライバ listener を実行することで,C++ と Python の両方の API が動作することを確認できる.
- talker の起動
端末で,次のコマンドを実行する.
ros2 run demo_nodes_cpp talker - listener の起動
別の端末を開き,次のコマンドを実行する.
ros2 run demo_nodes_py listenertalker 側に「Publishing」,listener 側に「I heard」と表示されれば,インストールは正常である.終了するときは,それぞれの端末で Ctrl + C を押す.
ROS 2 ワークスペースとパッケージの作成
- ROS 2 ワークスペースの作成
端末で,次のコマンドを実行する.
mkdir -p ~/ros2_ws/src cd ~/ros2_ws - パッケージの作成
ros2 pkg create でパッケージの雛形を作成する.--dependencies に指定した rclcpp(C++ クライアントライブラリ)と std_msgs(標準メッセージ型)が,依存関係として package.xml と CMakeLists.txt に記述される.
端末で,次のコマンドを実行する.
cd ~/ros2_ws/src ros2 pkg create --build-type ament_cmake --license Apache-2.0 beginner_tutorials --dependencies rclcpp std_msgs - 作成された package.xml の確認
端末で,次のコマンドを実行する.
cat ~/ros2_ws/src/beginner_tutorials/package.xml - ワークスペースのビルド
ROS 2 のビルドツールは colcon である.
端末で,次のコマンドを実行する.
cd ~/ros2_ws colcon build - ワークスペースの環境設定
ビルドしたパッケージを利用できるようにするため,ワークスペースの setup.bash を読み込む.
端末で,次のコマンドを実行する.
cd ~/ros2_ws source install/setup.bash
turtlesim の実行
turtlesim は,ROS 2 の基本操作を学ぶための 2 次元シミュレータである.
- turtlesim のインストール
ros-jazzy-desktop をインストールした場合は,turtlesim も導入済みである.個別にインストールするときは, 端末で,次のコマンドを実行する.
sudo apt update sudo apt -y install ros-jazzy-turtlesim - turtlesim の起動
turtlesim_node はノード名である.
端末で,次のコマンドを実行する.
ros2 run turtlesim turtlesim_node - ノード一覧の表示
別の端末を開き,次のコマンドを実行する.「/turtlesim」と表示されれば,ノードが起動している.
ros2 node list - ノードの詳細情報の表示
端末で,次のコマンドを実行する.そのノードが送受信するトピック,サービス,アクションが表示される.
ros2 node info /turtlesim - turtle_teleop_key の起動
turtle_teleop_key はノード名である.
別の端末を開き,次のコマンドを実行する.
ros2 run turtlesim turtle_teleop_key - turtle_teleop_key を実行した端末でカーソルキーを操作すると,turtlesim のウィンドウ内のタートルが動く.
終了するときは,それぞれの端末で Ctrl + C を押す.