ROSを用いた自作ロボット制作-環境開発2(前半)-

# はじめに
RaspberryPiにOSを載せてROSを導入します。他の製作記事は[ここから](https://qiita.com/STAHL_S6K/items/49a95e27045f2565e090)。

| 項目  　　 　| バージョン            |
|:------------|---------------------:|
| RaspberryPi | 3 Model B            |
| Ubuntu      | MATE 16.04.2(Xenial) |
| ROS         | kinetic              |

…[後編]()はこちら

# 環境開発
### ハードウェア
まずRaspberryPiを始めるためのハードウェアを用意します。

1) RaspberryPi 3 Model B
<img width="200" alt="ubuntu16.04_gamen.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/b1db78b7-32b5-9270-e4ee-e00d980685be.jpeg">
Amazonや秋葉原のいろいろなところで売っています。現在Amazonでの値段が¥5,000なので手軽に手に入るはずです。

2) microSDカード
<img width="200" alt="ubuntu16.04_gamen.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/a95e277e-040e-4dc9-24d1-4bc47d51b71f.jpeg">
ラズパイには内蔵ストレージがないのでSDカードが必要です。**ただし、RaspberryPiはSDカードとの相性があるので注意しましょう。**以下のサイトを参考にするとTeam、TOSHIBA、Samsung製のSDカードが良いようで、私はTOSHIBA製のを使用しています。容量は最低16GB理想32GBが目安です。(OSの容量が約8GBほどなので)
[Raspberry Pi 3modelB+で安心して使えるmicroSDカードはこれだ！](https://raspida.com/safety-sd)

3) 電源
RaspberryPiには5V2.5A以上のACアダプター電源が推奨されています。それ以下を用いると最も電力を消費する起動時や接続デバイスが多い場合に落ちる可能性が高くなります。

4) ディスプレイ
必ずHDMI端子のディスプレイを用意しましょう。それ以外になると高額な変換ケーブルが必要になります。また、ラズパイには専用のタッチパネルの小型ディスプレイなども販売されています。

5) Wi-Fiアンテナ
<img width="200" alt="ubuntu16.04_gamen.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/d480ce1c-ce38-4501-1acb-af6570d17819.jpeg">
ラズパイの3 Model BにはWi-Fiが内蔵されていますが5.0GHz帯は受信できず（Model B+は受信できます）また、電波強度も弱いです。外部デバイスの電源供給された出力の強いものを使うのが良いでしょう。

6) 親PC
SDカードにOSを書き込んだり、リモートで開発するためには必須になります。

### OSの書き込み
親PCに必要なソフトウェアをインストールして、OSのイメージファイルをダウンロードし、SDカードに書き込みます。以下のサイトを参考にしました。
[第48回「ラズベリーパイにUbuntu MATEをインストール！」](https://deviceplus.jp/hobby/raspberrypi_entry_048/)

1) 必要なソフトウェアをインストールする。
・SD Card Formatter [ダウンロードサイト](https://www.sdcard.org/jp/downloads/formatter/index.html)
<img width="100" alt="ubuntu16.04_gamen.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/4ca84778-6482-c469-6dbf-8b281130bd76.jpeg">
SDカードのフォーマットソフト。OSを書き込んだSDカードなどをフォーマットする際に使用する。

・7-zip [ダウンロードサイト](https://sevenzip.osdn.jp/)
![7ziplogo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/4a8ef142-4a23-05a2-20d8-87bea80161c2.png)
圧縮されたOSのイメージファイルを展開するためのソフト。xz形式という圧縮フォルダを展開できるソフトなら何でもよい。

・Win32 Disk Imager [ダウンロードサイト](https://freesoft-100.com/review/win32diskimager.html)
<img width="100" alt="ubuntu16.04_gamen.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/f7599900-e5fb-81a6-c7d3-e11e78e5158f.png">
OSのイメージファイルをSDカードに書き込むソフト。

2) OSの圧縮イメージファイルをダウンロードする。
今回ラズパイにはUbuntu MATEというOSを搭載します。
<img width="200" alt="ubuntu16.04_gamen.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/4556141e-e66c-541e-6931-aae4e854a412.png">
基本、ラズパイと言ったらRaspbianを搭載している入門書が多いですが、**ROSを運用するなら圧倒的にUbuntu環境をオススメします。**RaspbianもLinuxカーネルのDebian系ですが、ROSの導入がとても困難で多くのパッケージとの互換性も悪いです。
UbuntuMATEのイメージファイルは以下のRaspberryPi公式サイトのダウンロードページで入手できます。画像の手順に従って「ubuntu-mate-18.04.2-beta1-desktop-armhf+raspi-ext4.img.xz」をダウンロードしてください。[downloads](https://www.raspberrypi.org/downloads/)
<img width="502" alt="ubuntuMATEダウンロード.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/c2b3219a-d817-e06a-8a49-9c820c1e4611.png">

<img width="473" alt="ubuntuMATEdownload.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/fca9bcda-daeb-8bb4-ac10-d3c7e39e21aa.png">

<img width="499" alt="ubuntuMATErecommended.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/b20be7b0-2375-5663-5a03-4da12c890e5e.png">

<img width="453" alt="ubuntuMATExz.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/cf975d17-d5ca-d21d-bd9a-3dc0a8e25776.png">

3) 圧縮イメージファイルを展開する。
7-zipソフトで先ほどダウンロードしたxz形式の圧縮イメージファイルを展開します。ただ、展開すると容量が8GB近くまでなるので空き容量を用意しておきます。

>**ちなみに**
自分の場合空き容量が少なかったので以下の方法を試しました。
・システムファイルのディスククリーンアップ
・DiskInfo3で容量の大きいファイルを調べて削除

4) Win32 Disk Imager1でOSをSDカードに書き込む。
展開したイメージファイルを"Image File"に参照して、SDカードのストレージを"Device"で選び、"Write"で書き込みます。
<img width="241" alt="win32disk.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384152/637e7f5a-8ed4-cc31-ccbd-07e5d0f2ef61.png">
書き込んだらSDカードを安全に取り出し、ラズパイに挿入して起動します。

…[後半]()に続く