今回はRaspberry Pi 4に「Ubuntu 20.04 LTS(64bit)」を入れ、ロボットを動かすための「ROS2 Foxy Fitzroy」を入れる。
これまではノートPCのUbuntuにROSを入れ、ウェアラブルロボットとつないでウェアラブルロボットを動かしていた。しかし、ウェアラブルなのにノートPCと接続されているのでは可搬性が悪く、ウェアラブルロボットの強みを生かせない。そこでラズパイをロボットに積んで可搬性を良くしようと考えた。
Robot Operating System(ROS)は、ロボットアプリケーションを構築するためのソフトウェアライブラリとツールのセットだ。ドライバーや最先端のアルゴリズム、そして強力な開発者ツールを備えたROSは次のロボットプロジェクトに必要なものがそろっている。そしてそれはすべてオープンソースである(ROS 2 Overviewより)。
これまではROSでロボットを動かしていたが、今回はROS2を入れることにした。きっかけはRaspberry Pi 4を購入したことだ。
Raspberry Pi 4はメモリ4GBと8GBの2種類あるが、メモリ8GBのラズパイを使ってみたかったので、今回は8GB版を購入した。
Ubuntuはバージョン20.04からラズパイ対応だ。こちらの一覧を見ると、Raspberry Pi 4対応のバージョンがわかる。
次にROS、ROS2のそれぞれの対応OSを調べる。ROSはこちら、ROS2はこちらから調べると、「ROS Noetic Ninjemys」「ROS2 Foxy Fitzroy」がUbuntu 20.04に対応していることが分かった。
(使える期間はROS Noetic Ninjemysの方が長いし悩むな……。ここは一旦ROS2の波に乗ってみるか……!)
というわけで、ROS2 Foxy Fitzroyを入れることにしたのだった。ROS2挫折して、ROS Noetic Ninjemys入れなおしたらごめんね。
今回購入したものは以下。
・Raspberry Pi 4 Model B / 8GB(商品ページ)
・ラズパイ4に最適なACアダプター 5.1V/3.0A USB Type-Cコネクタ出力(商品ページ)
・Raspberry Pi 4用アルミケース(商品ページ)
それと、家にあった128GBのmicroSDカードを使っている。
●ラズパイを組み立てる
まずはラズパイのアルミケースを組み立てる。
昨年入院している間に組み立てたので、病室からお届けする。
●Ubuntuを入れる
組み立て終えたら、microSDカードにUbuntuを書き込んでいく。
Raspberry Pi Imagerをこちらからインストール。Operating Systemから「Ubuntu」を選び、20.04の64bit版Serverを選ぶ。
「SD Card」から、自分のPCに接続したSDカードを選んで、「WRITE」を選択するとUbuntuの書き込みが始まる。
「Verifying」が100%になったら、SDカードを取り出してもよいという表示が出る。
何か書き込んであるSDカードだと、1度目の「WRITE」でフォーマットして、2度目で書き込みするようだ。
ただ、Raspberry Pi Imagerでダウンロードしながら書き込むと、とても時間がかかる。
そこで、先にこのページからダウンロードしておいて、Raspberry Pi Imagerの「Use Customか」ら事前にダウンロードしたファイルを選択するという方法がある。ちなみに上記のスクリーンショットはその方法で書き込んでいる。
書き込んだらラズパイにSDカードを差し込んで起動する。
ラズパイには、ディスプレー、キーボード、マウス、有線LANケーブルをつないでおき、SDカードを差し込んでから電源を入れる(電源ケーブルをつなぐ)。
すると文字がばばばばっと流れ、ログインするように表示が出る。最初はユーザー名もパスワードも「ubuntu」でログイン可能。その後パスワードを変更するよう表示が出るので、新しいパスワードを2回入力。ログインできたら初期設定だ(こちらのサイトを参考)。
●Ubuntuの初期設定をする
はじめにユーザーを追加する。
$ sudo adduser
たとえば「n2m2ng」というユーザー名なら、
$ sudo adduser n2m2ng
という具合だ。
できたら、システムを最新の状態にする。
$ sudo apt update
$ sudo apt upgrade
次にVimをインストール。
$ apt install vim
そのほかの初期設定はあとでGUIからやることにして、Desktopをインストールした(こちらを参考)。
$ sudo apt install ubuntu-desktop
インストールできたら、再起動。
$ sudo shutdown -r now
その後、こちらを参考にROS2をインストールしようとしたところ、
E: Unable to locate package ros-foxy-desktop
というエラーが出た。
調べてみたところ、こちらの質問コーナーに「ここを見ろ」と書いてあったので、よく読んで設定をすることにした。
まず、Ubuntuのアプリ一覧(画面左下)から「Software & Update」を開いて、画像のようにチェックを入れる。

画像は質問コーナーより
ついでに、初期設定でやっていなかった設定をやることにした。
アプリ一覧から「setting」を開き、「Region & Language」で「Manage Installed Language」をクリック。「Install / Remove Languages...」で日本語を選択してインストールした。
続いて「Regional Formats」で日本語を選択し、「Apply Systems-Wide」を選択。パスワードを入力する。
再起動すると「Formats」が日本になっている。
今回は、LanguageはそのままEnglishにすることにした。
さらに同じく「setting」でキーボードとタイムゾーンを適したものにした。
●ROS2 foxyをインストールする
続いて、こちらを見ながらROS2 foxyを入れていく。最新の情報はリンク先をご覧いただきたい。

この連載の記事
- 第278回 妊娠中の後輩にイラッとしてしまう。会社にどう伝えたらいいですか?
- 第277回 純白のかわいいスタジオで黒いウェアラブルロボットを撮る
- 第276回 不妊治療中の34歳。妊娠中の後輩についイラッとしてしまいます
- 第275回 ウェアラブルロボットを身に着けた男子と青春をねつ造する
- 第274回 ChatGPTにココイチの気分に合わせたカスタマイズを考えてもらった
- 第273回 卵子凍結って、管理職と両立できる?
- 第272回 女性向け風俗店で働くセラピストさんを突撃してみた!
- 第271回 キヤノンのフィルムカメラで撮る、春の桜とウェアラブルロボット
- 第270回 35歳。卵子凍結を考えていますが、仕事も楽しいです。ご意見を聞かせてください
- 第269回 プログラミング経験ゼロからモバイルRPAツールを開発、特許まで取得した破天荒エピソードを彼氏の先輩に聞いた
- この連載の一覧へ