今回は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を入れていく。最新の情報はリンク先をご覧いただきたい。
この連載の記事
- 第318回 DTM勢がAIで作曲したら、AIの得意分野と苦手分野が見えてきた
- 第317回 ものづくり版コミケ「Makerフェア」2024年は面白かった。出展者の世代交代もなされているように見えた
- 第315回 0歳児、いつから保育園に? 女性の働き方、とことん考えてみました
- 第315回 推しの細胞がついた指輪を作ってもらった
- 第314回 おしゃれすぎるファン付きウェアを買って重要な問題に気付いた
- 第313回 0歳児がいながら、働く。ベストなやり方は?
- 第312回 パートナーの反対で転職できない問題
- 第311回 YouTubeの再生を止めないために画面を自動でタップする機械を作った
- 第310回 地方に移住したいが、東京にとどまるべきか
- 第309回 「マジック:ザ・ギャザリング」という深淵の入り口に立った。まだ底は見えない
- この連載の一覧へ