粗大メモ置き場

個人用,たまーに来訪者を意識する雑記メモ

Raspberry Pi + Ubuntu Mate + ROS のセットアップ

ラズパイに入れるOSの選定

Raspberry Piの公式で推されているのはRaspbianですが,Ubuntu系列も入れる事ができます。Raspbian使いづらい

ではなぜPopularなUbuntuではなくその亜種を使っているかというと,端的にリソースの問題だと思われます。(以下参考サイト) itsfoss.com これらはデスクトップ環境が異なっておりざっくりと聞きかじったところ以下のような特徴があるそうです。(上記サイト参照)

  • UbuntuGNOME 3 使用。RAMが4G以上推奨?
  • KubuntuKDE使用。RAM 2G以上推奨?
  • XubuntuXfce使用。RAM 1G程度でも動作。
  • Lubuntu:LXDE使用。RAM 1G程度でも動作。
  • Ubuntu MATE:GNOME 2使用。RAM 1G程度でも可。

もちろん必要RAMの少ない軽量なディストリビューションはあまり洗練された描画を行えないとのことですが,ラズパイ環境では贅沢できないのでXubuntu, Lubuntu, Ubuntu MATEで妥協する必要がありそうです。

筆者の主観的な選定基準

  • Raspbian:とりあえず安牌な選択肢2018年12月時点では個人的におすすめしないです

買ったばかりのときはRaspberry用に最もPopularと思われるRaspbianを用いました。特にやることが決まってない人やUnixのOSにこだわりがない人はこちらから始めてもよいでしょう。Mathematicaも入ってるし。

ossyaritoori.hatenablog.com

今回使うROS等特にUbuntuで使われているソフトを使いたい場合は軽量版のUbuntu亜種を使う人が多いようです。

ouroboros.hamazo.tv

簡易版があるとはいえ,Ubuntuそのものを使いたい事情があるならばそちらを入れることもあるでしょう。 事実MATEでいくつかうまくいかないことがあったりしたのでUbuntuならなんとかなったのかもしれません。 「Raspberry Pi 3」に「Ubuntu 16.04」を入れる(備忘録) - Qiita

準備する機器

2年前のものですが必要なものは変わってないです。SDカードと電源は気を使いましょう。 ossyaritoori.hatenablog.com

Ubuntu MATEのインストールと初期設定

Raspberry pi 3本体とmicroSDカード,マウス,キーボードその他ディスプレイ環境は整っているものとします。 その他に今回はWindowsのマシンを使用します。Ubuntuマシンを使う方はこのあたりは他の記事を参照にしてください。

microSDのフォーマット

買いたてのまっさらなmicroSDを使う人はこの章は飛ばしても結構です。

パーティションの削除(ある場合)

すでにブート環境を整えたりしてパーティションを作ってしまった場合,windowsではdiskpartというツールが用意されています。 スタートページまたはコマンドプロンプトからdiskpartを起動しましょう。

list diskとコマンドを打つとコンピュータが認識しているディスクが表示されます。512GのSSDと32GのSDカードが刺さっている場合は以下のようになります。

DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン           476 GB      0 B        *
  ディスク 1    オンライン            29 GB   109 MB

ちなみに,容量が減って見えるのは販売時は1GB=1000MB=1,000,000KB=1,000,000,000Bとして売っていいということになっているためらしいです。 つまり,販売時に32GBとあるメモリは実質 32/1.0243 = 29.8GBの容量になるわけですざけんな。

その後select disk 1でディスク1を選択し,list partitionパーティションを確認します。

DISKPART> SELECT DISK 1

ディスク 1 が選択されました。

DISKPART> LIST PARTITION

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    プライマリ               63 MB  4096 KB
  Partition 2    プライマリ               29 GB    67 MB

これをそれぞれのパーティションに入ってdelete partitionとうってすべてのパーティションを消し飛ばせます。なお,大文字小文字の区別はないようです。

DISKPART> SELECT PARTITION 1

パーティション 1 が選択されました。

DISKPART> DELETE PARTITION

DiskPart は選択されたパーティションを正常に削除しました。

すべてのパーティションを消したあと,以下のようにしてパーティションを再構成します。

DISKPART> CREATE PARTITION PRIMARY

DiskPart は指定したパーティションの作成に成功しました。
フォーマット

Windows側から読めないディスクを検知した場合,エクスプローラ起動時に「フォーマットしますか?」とのメッセージが出る仕様になってます。 メッセージに従ってFAT32でSDカードのフォーマットを行えばOKです。

microSDへのイメージ書き込み

次にUbuntuMATEのイメージを書き込みます。 まずは下準備として,

  1. ここからRaspberry Pi用のUbuntu MATEのイメージをダウンロードして解凍。
  2. DD for windowsをダウンロードしてインストール。

回線しだいですが10分程度かかるかと。

次に,DDforWindowsを管理者権限で実行します。

ディスクの選択の後,ファイル選択で先程解凍した.imgファイルを選択します。

ラズパイに挿して起動

いよいよ起動です。 起動後に現れるメッセージに従って進めていくと良いでしょう。

なお僕は一度Wifiの設定にてWPA-PEAPのネットワークにつなごうとして失敗して入れ直したのではじめはWifiに繋がずに進めるといいかもしれません。

起動後即やることは,WifiまたはEthernetにつないだ後に

sudo apt-get update
sudo apt-get upgrade

を行うことです。

これには1時間以上かかったので休憩するタイミングはここです。

Chromiumのインストール

自分の環境ではFirefoxがCrashしてしまうので,代わりにChromiumを使うことにしました。

sudo apt install chromium-browser

https://laptop.ninja/how-to-install-chromium-and-google-chrome-on-ubuntu-mate/laptop.ninja

ROS Kineticのインストール

さて,このあとは公式のガイドに従っていつものようにROSを入れればいいです。

実行するだけチートシート

どういうことが行われているかわかっているから手っ取り早く結果を見たい!という場合は以下のコマンドをコピペして順に実行すればいいです。

所要時間は1時間くらいだったかと思います。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ros-kinetic-desktop-full
sudo rosdep init
rosdep update
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc 
source ~/.bashrc

ここから各種センサつないだりいろいろあると思いますがとりあえずはここまで。