1
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?

RasPi5を用いたROS2環境の構築

1
Posted at

この記事について

折に触れてROS2をしっかりと理解したいと思っていました。
昔に少しだけ触ったことがあるのですが、よく理解しないまま動いて満足してしまった記憶しかありません。
改めてちゃんとROSを使ったシステム開発がしたいと思ったので、本記事では環境構築まで行いたいと思います。
最終的に何かしらの簡易システムが作れたらいいなと思ってます

環境構築のゴール

効率的にROSの学習と開発が行える環境を構築することをゴールとしたいので、
以下を具体的なゴールとします。

  • Raspberry Pi 5にUbuntuをインストールし、ROS2が動くことを確認できる
  • Windows11からリモートデスクトップで操作できる

対象環境

Ubuntu側

ハードウェア

  • Raspberry Pi 5
  • RAM 8GB
  • 164 GB メモリカード
  • Arm Cortex A76

OS

Ubuntu Desktop 24.04.3 LTS

Windows側

ハードウェア

ふつうのPC

OS

Windows11

ネットワーク

ローカルネットワーク

環境構築手順

5.1 OS導入

WindowsにRaspberry Pi Imagerをインストールして使用します。
ImagerでUbuntu Desktop 24.0.3 LTS(64-bit)を選択します。
ストレージはmicroSDを選択
image.png

5.2 初期設定(Raspberry Pi側の設定)

5.2.1 初期セットアップ1_Terminal

# ipの確認
ip a 

# パッケージ更新
sudo apt update
sudo apt upgrade -y

# SSHサーバ導入(Windows側からコマンドアクセスできるようにするため)
sudo apt install -y openssh-server

# systemdで有効化&起動
sudo systemctl enable ssh

# 状態確認
sudo systemctl status ssh

# 再起動
sudo reboot

5.2.2 初期セットアップ2_GUI

設定 → システム → Remote Desktop を開く

image.png

Remote Desktop をON

image.png

Remote Control をON

image.png

5.3 Windowsからのリモート接続

リモートデスクトップを選択

image.png

IPアドレス・ユーザー名を入力後、『名前を付けて保存』を選択しrdpファイルを作成

image.png

rdpファイルを編集

rdpファイルの該当箇所の最後の数値を1に変更する。

use redirection server name:i:1

image.png

変更しないと、接続時に下記画像の警告が出る
image.png

5.4 ROS 2 Jazzy をインストール(Ubuntu 24.04)

公式の deb 手順に沿う。(docs.ros.org)

# パッケージ一覧を更新し、curl(HTTP取得ツール)をインストールする
sudo apt update && sudo apt install -y curl

# ros-apt-source の GitHub Releases から「最新リリースのタグ名」を取得して変数に入れる
# 例: 0.3.0 のようなバージョン文字列が入る
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}'
)

# 最新リリースの ros2-apt-source .deb を /tmp にダウンロードする
# - $(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}}) で Ubuntu のコードネームを取得
#   Ubuntu 24.04 なら "noble" になる想定
# - 取得したコードネームに対応する *_all.deb を選んでいる
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"

# ダウンロードした .deb をインストールする
# これにより ROS 2 用の apt リポジトリ設定(sources.list.d)と GPG キー設定が導入される
sudo dpkg -i /tmp/ros2-apt-source.deb

# パッケージ一覧(リポジトリ情報)を最新化する
sudo apt update

# インストール済みパッケージを最新バージョンへ更新する(確認プロンプトを -y で自動承認)
sudo apt upgrade -y

# ROS 2 Jazzy のデスクトップ一式(RVizなどGUIツール込み)をインストールする(-y で自動承認)
sudo apt install -y ros-jazzy-desktop

# 環境読み込み(毎回の手間を潰す)
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc

動作確認

6.2 ROS2基本

talker

# ROS 2 Jazzy の環境変数(PATH / AMENT_PREFIX_PATH / ROS_DOMAIN_ID など)を現在のシェルに読み込む
# これを実行しないと ros2 コマンドや各種パッケージが見つからないことがある
source /opt/ros/jazzy/setup.bash

# C++製のサンプルノード talker を起動する
# "chatter" トピックへ文字列メッセージを定期的に publish(送信)する
ros2 run demo_nodes_cpp talker

listener

# ROS 2 Jazzy の環境変数を現在のシェルに読み込む(別ターミナルでも必要)
source /opt/ros/jazzy/setup.bash

# Python製のサンプルノード listener を起動する
# "chatter" トピックを subscribe(受信)して、受け取ったメッセージを表示する
ros2 run demo_nodes_py listener

image.png

次回予告

未定…

1
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
1
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?