えいあーるれいの技術日記

ROS2やM5 Stack、Ubuntuについて書いています

Raspberry Pi Zero 2 Wの動作確認(ROS-Humble)

2022年6月21日にswitch-scienceよりRaspberry Pi Zero 2 Wが発売されました。(以下、zero2と記載)

www.switch-science.com

zero2については、1ヶ月ほど前から入荷するかもという情報が出ており、KSYのキャンペーンでも優先購入のキャンペーンが記憶に新しいです。


そして、私はその Raspberry Pi Zero 2 W を手に入れました❗

かなり待ち遠しかったです。


研究・工作・動作検証といろいろな用途に使っていきます。



Raspberry Pi Zero 2 とは

Raspberry Pi Zero 2は、前世代のRaspberry Pi Zeroのレイアウトを引き継いだスペックアップ版です。これまでシングルコアだったCPUが他のRaspiシリーズと同じ4コアになっています。

海外では半年以上前に流通しているため、基本情報についてはそれらの記事を見たほうが詳しいと思います。


日本でもユーザグループが性能の検証を行っています。

www.raspi.jp


【スペック】

  • CPU:Cortex-A53の1GHz、4コア、64bit

  • RAM:512MB

  • Wi-Fi:802.11 b/g/n (2.4GHz Only)

  • Bluetoorh:4.2,BLE

  • VideoCore IV GPU


Raspi 3Bに近い性能と言われています。

Zero <<<< Zero 2 W <≒ 3B < 3B+ << 4B

↑こんな感じ


他の記事↓(大体は3B+と比較されている)

medium.com

www.cnx-software.com


Bullseye + libcamera

とりあえず、ROS2が入っているLite版のRaspbian-bullseyeが手元にあったのでそのまま使って起動しました。

久しぶりのminiHDMIとmicroB→A変換コネクタだったので、ちょっと探しました。zeroを持っていない人は買い忘れに注意です。


zeroはCUIも重かった記憶がありましたが、zero2は起動後のCUIのレスポンスがなかなか良かったです。

Tab補完もレスポンスが早く助かりました。


zero2は従来のRaspiと同様にVideoCore IVというGPUがあります。このGPUの機能をフルに活用することでカメラのデータから画像処理などの作業をCSIカメラ→GPU(RAM)→CPUの順にデータを転送し、圧倒的軽量を実現することができます。

カメラで撮影した画像・映像を編集できるカメラなんてものも作れそうです。

6. Camera Hardware — Picamera 1.13 Documentation


libcamera-app に含まれる libcamera-still (jpeg圧縮) や libcamera-vid (H.264圧縮) などのGPUエンコードが必要なアプリは直接サポートされないため、自前でビルドしています。

↓以下のGitHubリポジトリからアクセスして手順通りビルドします。

github.com


libcamera-vidでストリーミング。

実行したところ、CUI画面に撮影している映像が!

CUIレンダリングとはこれ如何に。(それGUIじゃん…)


ストリーミングはチョット重い…(zero2にとどまらず重い気もする)


ROS2の起動など

私は、RaspibanでROS2を動かすことができます。(HumbleとGalacticがサポート済)

github.com


…ということはやることは一つ!zero2でROS2は動くのか!?

実はzeroでも動かしたことがありますが、その時は、ロードに1分以上かかり、とても使えるような状態ではなかったです。


実行速度なんて測っても面白くはないですが、timeコマンドでros2cliの実行速度を見てみました。

Raspberry Pi 4 Model Bは2~3秒程度で環境やコマンド呼び出しに対応するので、zero2がどれだけ迫れるかに期待です。

確認項目はとりあえず2つ

  • source /opt/ros/galactic/setup.bashコマンド
  • ros2 topic listコマンド

ビルドについてはどうせ重い&フリーズすることが分かっているので行いません。


結果

time source /opt/ros/galactic/setup.bash

real    0m3.617s
user    0m2.681s
sys 0m0.985s

3.5秒くらい


time ros2 topic list

real    0m6.427s
user    0m5.289s
sys 0m0.619s

かなり遅く感じる。6.5秒


ros2-daemonが絡むコマンドは結構重い感じでした。

ちなみに、早いと褒めていたTab補完もROS2では激重です。エイリアスに登録or暗記orコピペ推奨です。

また、Pub-Subプロセスの実行中はRAMの総使用量が500MB中100MB程度になっていました。GUIで使ったらもっとカツカツになりそう…

以上のデータより、zeroと違ってROS2を使える水準にはなっていると思います。

(間違ってもケチって開発環境としてzero2だけを学生に渡してはいけません。不幸になるだけです。)


TurtleSimも動きました。しかしネットワークの状態なのか、zero2の限界なのかかなりカクカクでした…


まとめ

zero2は、3Bと遜色ないスペックを持ちながら小型化を実現したかなり強いデバイスです。

IoTや小型ロボット、GUIを搭載したコントローラ・パネルなどの様々な用途への活用が期待されます。

ただし、500MB RAMとWi-Fiが2.4GHz帯にしか対応していないところは注意が必要です。


早く半導体不足と円安の荒波が過ぎ去り、たくさん買える日が来てほしい❗


関連商品リンク

I-O DATA アイ・オー・データ Raspberry Pi Camera V2  UD-RPCAMERA


感想(0件)