Raspberry Pi 5 用のSDカードを作る(jazzy)

概要

Raspberry Pi 5上でROS2のバージョンjazzyを動作させるSDカードを作る。主なインストールは以下の通り。
1.Ubuntu Desktop 24.04.2 LTS
2.ROS2 jazzy
3.micro-ros-agent
4.カメラキャリブレーション環境
5.

SDカードにUbuntu Desktop 24.04.2 LTSをインストールする

Raspberry Pi Imager を使う。作業環境はWindows11のPC(GOODMINI2)にSDカードリーダーを装着して作る。
参照

Raspberry Pi 5をLANケーブルで接続して行う作業

Raspberry Pi 5にSDカードを装着し、ディスプレイ, キーボード, LANケーブルに接続して起動する。
画面に従って設定する。
【注意】自動ログインにしないこと。後からリモートログインができなくなる。


 	sudo apt install net-tools

 	sudo apt install ssh

IPアドレスを固定にする。
画面から設定する方が楽に設定できる。リモートログインではできないのでここで設定する。

ここからはsshまたはリモートログインで行う

xrdp のインストール
	sudo apt install xrdp
	sudo ufw allow 3389

日本語にする。参照

日本語関連のパッケージをインストールする。
sudo apt -y install language-pack-ja-base language-pack-ja

システムの文字セットを日本語に変更する。
kiyo@jazzy:~$ localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
==== AUTHENTICATING FOR org.freedesktop.locale1.set-locale ====
Authentication is required to set the system locale.
Multiple identities can be used for authentication:
 1.  Ubuntu (ubuntu)
 2.  kiyo,,, (kiyo)
Choose identity to authenticate as (1-2): 2   # 2を選択する
Password:
==== AUTHENTICATION COMPLETE ====

source /etc/default/locale

デスクトップ関連のパッケージ
sudo apt -y install task-japanese-gnome-desktop language-pack-gnome-ja-base language-pack-gnome-ja gnome-user-docs-ja libreoffice-help-ja libreoffice-l10n-ja thunderbird-locale-ja fonts-noto-cjk-extra

ROS2のバージョンjazzyをインストールする

参照サイト

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-full  # fullにすると後々、面倒が少ないような気がする。

.bashrcに設定を追加する。
	echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
	echo "export ROS_DOMAIN_ID=1" >> ~/.bashrc
	source ~/.bashrc


	ros2 run demo_nodes_cpp talker
	ros2 run demo_nodes_py listener

Dockerでmicro-ROS-Agentを起動できるか確認する


ここで起動できなかったら、別途インストールする。

sudo docker run -it --rm -v /dev:/dev --privileged --net=host microros/micro-ros-agent:jazzy udp4 --port 8888

追加でインストールするもの

よく理解しないで入れたもの — ROS2インストール・初期設定

Terminatorのインストール
	sudo apt install -y terminator

Gitをインストールする。
	sudo apt install git

rosdepをインストールする。参照
	# aptでは「E: パッケージ 'python3-rosdep2' にはインストール候補がありません」になる
	sudo apt-get install python3-rosdep  
	sudo rosdep init
	rosdep update

JoyStickのインストール

必要パッケージのインストール
	sudo apt install ros-jazzy-joy-linux
	sudo apt install ros-jazzy-joy-linux-dbgsym
	sudo apt install joystick

インストールおよび接続確認
JoyStickのインデックス