1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

備忘録 ラズパイ5 ROS2 ① ハードの用意とUbuntu Desktop 24.04LTS

Last updated at Posted at 2024-07-20

 「AGVへの道は遠からじ」で利用するROS2の勉強をしていきます。3年ほど前、ROSの時代、解説記事を読んでも動作がよくわからなかった記憶があります。ラズパイでNodeRED、MTTQとかを動かしていたので、ROS2の解説はすんなり頭に入ってきました。

開発環境

  • Raspberry Pi 5 8GB
  • 追加ボード;NVMe Base for Raspberry Pi 5 (NVMe Base by Pimoroni)
  • Crucial クルーシャル P2シリーズ 500GB 3D NAND NVMe PCIe M.2 SSD CT500P2SSD8
  • RaspberryPi OS Desktop 64bit (Debian version: 12 (bookworm) Release date: March 15th 2024)

IMGP2145.png

IMGP2147.png
 ※ M.2 SSD NVMeメモリの接続、動作確認は省略。購入元のPimoroniの解説に従う。PCIeバスに接続。PCI Express 3.0のドライバで動作。

混乱している

 ROS2を動かす環境で、検索すると、

  • ラズパイのRaspberryPi OS Desktop 64bit(bookworm)
  • ラズパイにUbuntu Server(Desktop) 24.04LTS(64-bit)
    の2通りあるのがわかります。
    2番目のUbuntu Desktopを利用します。

最初にSDメモリにRaspberryPi OS Desktop 64bitを入れる

 SDメモリへのインストールは省略します。
 起動します。

SDメモリの速度を測る(https://tkyonezu.com/iot/raspberry-pi-5%E3%81%AEusb%E3%83%96%E3%83%BC%E3%83%88/)

$ sudo apt install hdparm
$ sudo hdparm -t /dev/mmcblk0p2

 87.63MN/sec。
 次に、PCIバス接続のNVMeメモリの速度を測ります。

$ sudo hdparm -t /dev/nvme0n1p2

 417.64MB/sec。そこそこ速くなりました。
足回りが速くなり、容量も大きいので、開発環境と実行環境は、このラズパイ1台で済ませようと思っています。

NVMe 500GBにUbuntu Desktop 24.04LTS(64-bit)をインストールする

$ sudo raspi-config

 SD bootにして再起動します。
 Accesoriesー>imagerを起動します。
 CHOOSE STRAGEで、CT500P2SSD8()-5000.1GBを選択、OSは、Ubuntu Desktop 24.04LTS(64-bit)をインストールします。
 nvme bootにして再起動 (SDメモリは抜いておく)します。

 Ubuntu Desktop 24.04LTSが起動します。
 hostnameはyoshi。
 CTRL-ALT-Tでターミナルを起動します。

$ sudo apt install raspi-config

 いつものラズパイ設定ユーティリティが使えます。

 画面のどこかで、マウスの右ボタンをクリックするとメニューが出るので、Powerを選択します。デフォルトの5分からに15分に変更すると、画面がすぐに消えなくなります。

WIndows10からアクセスできるようにする

$ sudo systemctl status ssh

 ssh.serviceは動いていないと出たので、起動します。

$ sudo systemctl start ssh

 どうもない?ようなので、インストールします。

$ sudo apt install openssh-server

 インストールが終わったら起動します。

$ sudo systemctl start ssh
$ ip a (ip addr)

で表示アドレスはinet6だけが表示されるときと、inet4も同時に表示されるときがあります。
ラズパイ側の設定は完了しました。
 Windows10側の設定です。コマンドプロンプトを起動し、sshで接続します。

C:\Users\yoshi>ssh 240f:6d:2c00:1:2ecf:67ff:fe30:d78f

 Windows10からsshで接続しました。

 ラズパイにインストールされているmDNSのavahiは、デフォルトだとinet4だけが有効のようです。inet6でつながるように変更します。

 mDNS 行のエントリを/etc/nsswitch.confの中の1行を次のように変更します。

hosts:          files mdns4_minimal [NOTFOUND=return] dns

から、

hosts:          files mdns_minimal [NOTFOUND=return] dns

変更して、実行します。

$ sudo service avahi-daemon restart

 Windows10から、ssh yoshi および ssh yoshi.localでつながりました。

ubuntu24.04にROS2 HumbleではなくJazzy をインストールする

 Jazzyは2024年5月にリリースした?らしいです。

  • 1世代前はHumble(Ubuntu 22.04)
  • 2世代前はFoxy(Ubuntu 20.04)

 OSのアップデートします。

$ sudo apt update

開発はPythonを使うつもり

yoshi@yoshi:~$ python -V
Command 'python' not found, did you mean:
  command 'python3' from deb python3
  command 'python' from deb python-is-python3
$ sudo apt install python3-pip

 仮想Pythonモードros2を用意します。用意しただけで使っていけるかどうかは心配。ラズパイのDebian系は2023年夏から、Pythonは仮想環境を使うことが望ましいということらしいです。でも、ROS2の日本語の記事で仮想環境のPythonを使う記事は1本しか見つかりませんでしたから、誰も使っていないようなので心配です。

yoshi@yoshi:~$ sudo apt install python3.12-venv

yoshi@yoshi:~$ python3 -m venv ros2

yoshi@yoshi:~$ source ros2/bin/activate
(ros2) yoshi@yoshi:~$ pip list
Package Version
------- -------
pip     24.0
(ros2) yoshi@yoshi:~$

ROS2 Jazzyのインストール

 installの前にいろいろ実行したかもしれないが何が有効で意味がなかったかがわからないので、ほかの方の記事を参照してください。installは数分かかったが、エラーなく終わりました。
※ ロケールのセットアップをしたが 調べるとLANG=en_US.UTF-8でした。
※ 仮想環境で作業をしていますが、ROS2自体はシステムのPythonを利用するようなので、まったく意味のない。。。

(ros2) yoshi@yoshi:~$ sudo apt install -y ros-jazzy-desktop
(ros2) yoshi@yoshi:~$ source /opt/ros/jazzy/setup.bash

プログラミング環境には、CもしくはPythonの二通りがあるようです。

<メモ>
ネットワーク・ドライブのマウント

画面左のメニューからFilesを選択。
左のメニューの一番下にあるOther Locationsを選択。利用するNASを選びデフォルトで選択されているAnonymousでConnectすると、自動でマウントされる。NASはWindowsのFAT?、MacのAFPが見えていた。

画面キャプチャ

キーPSc(PrintScreen)を押す。範囲選択画面が出る。
Pictures/ScreenShotsに保存されている。

 OS、ROS2とも、検索すると古いバージョンの記事が多いです。これから始めるので、今現在、一番新しい環境を利用します。前途多難です。


備忘録 ラズパイ5 ROS2

① ハードの用意とUbuntu Desktop 24.04LTS

② Ubuntu Desktop 24.04LTSでROS2環境 rqt_graphとturtlesim

③ Ubuntu Desktop 24.04LTSでROS2環境 Python その1 responder(セットアップ)

④ Ubuntu Desktop 24.04LTSでROS2環境 Pythonその2responder(コーディングと実行;失敗)

⑤ Ubuntu Desktop 24.04LTSでROS2環境 C++ その1 セットアップ main.c

⑥ Ubuntu Desktop 24.04LTSでROS2環境 C++ その2 セットアップ pub.cpp rqt_graph


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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?