こんにちは。koraです。
今回は、ロボットに搭載する認識系の動作確認をします。
認識ボード
認識ボードには、処理性能・入手性・コンパクトさから Raspberry Pi 4 を使いたいと思います。
Raspberry Pi 4 用のOSには、Raspberry Pi公式の Raspbian Buster と、Canonicalが公開している Raspberry Pi用のubuntu 18.04 などがあります。今後ROSを使いたいと考えているので、今回はubuntu 18.04を選択します。
OSの動作確認のため、次のものを用意しました。
- Raspberry Pi 4 Model B 4GB
- Raspberry Pi 4用ヒートシンク
- Micro SDカード
- HDMI-Micro端子変換アダプタ
- USBマウス付きキーボード
- USB type-C電源
OSイメージをダウンロードしたら、Micro SDカードに書き込みます。Ubuntu PCから書き込む場合は、デフォルトのファイルマネージャの「ディスクイメージをリストア」を使うことができます。
Raspberry Pi 4に電源を入れて起動します。先ほど書き込んだイメージはUbuntu Serverなので、Raspberry Pi 4を起動するとCLIが立ち上がります。GUIを追加するには、ubuntu-desktopをインストールする必要があります。
$ sudo apt install ubuntu-desktop
インストールにはしばらく時間がかかりますが、これでRaspberry Pi 4上でUbuntu Desktop 18.04を動かすことができるようになります。
センサ
HACの競技では、ボールの距離測定と、ロボットの自己位置推定に、RealSense D435iを使う予定です。
センサの選定は今後の設計に関わってくるので、ここで動作確認をしておきましょう。
まずはカーネルバージョンが合っているか確認します。インストール手順を見る限り、2020年2月現在、ビルド済みのlibrealsenseの対応バージョンは4.4、4.8、4.10、4.13、4.15、4.18で、ソースからビルドする場合は4.16、5.0に対応しているようです。一方、Raspberry Pi 4のカーネルバージョンを
$ uname -r
で見てみると、「5.3.0-1017-raspi2」でした。対応していなかったわけですが、Issueを覗いてみると、developmentブランチからビルドすれば動くとのことです。
というわけで、Linux Ubuntu Installationに従ってビルドとインストールを行います。時間はかかりますが大きなトラブルもなくビルドが通りました。インストール後、RealSense D435iを接続して
$ realsense-viewer
を起動すると、RGB画像、デプス画像、ジャイロと加速度を表示することができました。
D435iが動くことは分かりましたが、若干動作が重いように感じます。SLAMなどの重たい処理を動かす余裕があるかはわかりません。自己位置推定はトラッキング専用カメラのRealSense T265を使用して、Raspberry Pi 4には画像処理や歩行制御に専念させるといった構成が良いかもしれません。今後、全体のバランスを考えながらセンサの選定を行いたいと思います。