ASCII倶楽部

このページの本文へ

週替わりギークス 第198回

ラズパイでロボットを動かす(OSインストール編)

2021年01月30日 12時00分更新

文● きゅんくん 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 今回はRaspberry Pi 4に「Ubuntu 20.04 LTS(64bit)」を入れ、ロボットを動かすための「ROS2 Foxy Fitzroy」を入れる。

 これまではノートPCのUbuntuにROSを入れ、ウェアラブルロボットとつないでウェアラブルロボットを動かしていた。しかし、ウェアラブルなのにノートPCと接続されているのでは可搬性が悪く、ウェアラブルロボットの強みを生かせない。そこでラズパイをロボットに積んで可搬性を良くしようと考えた。

Raspberry Pi 4をケースに入れたところ

 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度目で書き込みするようだ。

書き込みして確認中(Verifying)…

 ただ、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を入れていく。最新の情報はリンク先をご覧いただきたい。

カテゴリートップへ

この連載の記事

週間ランキングTOP5

ASCII倶楽部会員によく見られてる記事はコレだ!

ASCII倶楽部の新着記事

会員専用動画の紹介も!