ROS2(Humble)の初期環境構築

 

1.使用したもの

 ・Raspberry Pi 400    1台

 ・microSDカード(Team microSDHCカード 32GB) 1枚

 ・周辺機器

  ・マウス(有線) 1つ

  ・モニター 1台

  ・HDMIケーブル(タイプAオスーマイクロタイプDオス) 1本

  ・ACアダプタ(USB C Raspberry Pi 用)1つ

 ・PC(microSDカードスロットがある) 1台

引用元:https://1.bp.blogspot.com/-4FXQNU7cK0Y/Xr325DNMgQI/AAAAAAABY4w/GUMW7pgPNXIrtC-mnVIYeJwAkdd-rinvACNcBGAsYHQ/s1600/computer_keyboard_white.png

 

2.手順

 2-1.Raspberry Pi ImagerをPCにダウンロード+インストール

参照元https://www.raspberrypi.com/software/

 2-2.microSDカードにOSを書き込む

 PCにmicroSDカードを挿入し、Raspberry Pi Imagerを利用して"Ubuntu Server 22.04.3 LTS(64bit)"を書き込む。

 

Raspberry Pi Imager OS選択-1

 

Raspberry Pi Imager OS選択-2

 

Raspberry Pi Imager OS選択-3

Raspberry Pi Imager ストレージ選択



Raspberry Pi Imager その他の設定(歯車マーク)をし保存。  
後で設定すると面倒なので設定することを推奨。特にWIFI

 

Raspberry Pi Imager "書き込む"ボタンを押ししばらく待つ。

 

 2-3.Raspberry Pi 400の準備

 書き込みが終わったらmicroSDカードをPCから抜き、Raspberry Pi 400に挿入する。必要な配線もする。

 

Raspberry Pi 400背面
右の線から、マウス(USB A)、電源(USB C)、HDMI(micro D)



 2-4.ubuntu server OSにログイン

 Raspberry Pi 400に電源をつなぐと起動するので、モニターに"ubuntu login:"と表示されたら、Raspberry Pi Imagerで書き込む際にその他の設定でユーザー名とパスワードを設定した場合にはそれぞれを入力する。設定しなかった場合には、ユーザー名"ubuntu"、パスワード"ubuntu"を入力し、今後使うユーザー名とパスワードを入力し登録する。すると、”ユーザー名”@ubuntu:~$のように表示され、以降キーボードによって操作する状態になる。

 

 2-5.ubuntu desktopをインストール

 まず、sudo apt updateとsudo apt upgradeをそれぞれ入力し更新をする。しばらく更新した後、次にsudo apt install ubuntu-desktopを入力しインストールが終わるまでしばらく待つ。ちなみに、先のその他の設定でWIFI設定をしていない場合には別途設定してから行う必要がある。インストールが終わったらrebootを入力し再起動する。

 

 2-6.ubuntu desktopにログイン

 再起動が終わるとログイン画面が表示されるのでパスワードを入力しログインする。

 

ubuntu desktopのログイン画面

 

 2-7.ROS2 Humbleをインストール

 ROS2 Humbleをインストールするための準備を行う。以下のサイトの手順を参考に実行した。

 

demura.net

 

 2-8.ROS2の動作確認例

 インストールが終わったらまずターミナル間通信の例を通して動作確認をする。1つ目のターミナルを開き、source /opt/ros/humble/setup.bashを入力し環境設定のセットアップスクリプトを実行する。次に、ros2 run demo_nodes_cpp talkerを入力しC++ファイルのtalkerファイルを実行する。すると、talkerがメッセージを送信し続ける状態になる。さらに、もう1つのターミナルを開き、同様のセットアップスクリプトを実行し、ros2 run demo_nodes_py listenerを入力することでPythonファイルのlistnerファイルが実行し、talkerが送信したメッセージをlistnerが受信する様子が観察できる。このことでROS2が正しくインストールされ、C++APIとPythonAPIが正しく動作していることが確認できたことになる。

 3.感想

 すんなり環境構築したかのように書いていますが、何度もつまづいて何度もインストールしなおした結果です。まず、ROS2にはいろいろなバージョンが存在します。その中でなぜROS2(Humble)を選んだかの理由は、最新かつ事前に購入していたマニピュレータのCRANE+ V2を動作させるためのパッケージがHumbleに対応し始めているためです。マニピュレータを購入した当時はFoxyというROS2のバージョンに対応したパッケージが提供されていたのでそれ用のubuntuとFoxyをインストールして動かしていました。しかし、この記事を書くために改めてubuntuとFoxyをインストールしようとしましたが、Foxy対応のubuntu20.04の更新ができず行き詰ってしまいました。単純にsudo apt updateが通らないのはアップデートが終了し、最新のアップデートファイルが違う場所に移動されたことだと現在は推測しています。

 今回の作業でまだ理解できていないことがあります。それはGPG公開鍵とリポジトリについてです。なんとなく認証をしているのかなあと思いますが、今は使えるようにすることが最優先なのであとで理解することにします。ちょっともやもやが残りますが、完璧主義の癖をなおすために進み続けてみます。

 今回役立った知識は、linuxのコマンドとシェルについてです。学生時代にステレオビジョンロボットを動かす実験の時に使ったことがあり、この機会に学びなおし、実践で使うことで理解が少し深まりました。

 今後の課題は、ROS2(Humble)でマニピュレータが動かせるのかの検証と、linux環境のさらなる理解、ROS2のドキュメントサイトのTutorialを1つ1つ確認する作業をすることです。

 

以上です。ありがとうございました。