techno_memo

個人用の技術メモ。python・ROS・AI系のソフトウェア・ツールなどの情報を記載

Raspberry pi 開発環境について(Ubuntu Mate設定/ROS導入)

この記事の目的

 RaspberryPi3(with ROS/Python) を使った電子工作の環境構築手順についてまとめる

 ROSを使ったロボット制御のソフトウェアを実装するため下記を導入する。

  • Ubuntu Mate 16.04

  • ROS Kinetic

必要なハード

下記記事のハードを用い、Raspberry pi 3 model B を使用する。

sd08419ttic.hatenablog.com

下記の手順はWindows PC で必要なソフトのダウンロードやmicroSDカードへの書き込みなどを行うことを前提とする。

環境構築手順

1.SDカードの初期化

Raspberry pimicroSDカードにOSを書き込む必要がある。

公式サイトではツールSDCardFormatterでFAT32に初期化する手順を推奨しているが、SDカードのサイズが64GB以上の場合exFATに自動的に変換してしまうので注意が必要。

下記のIOデータのハードディスクフォーマッタではフォーマット時にFAT32を明示的に選択することができる。

www.iodata.jp

2.OSイメージの焼き込み

現在(2019.6)時点で、公式サイトのUbuntu Mate は 18.04に更新されている。

Ubuntu Mate 18.04 に対してROSを入れることも可能なようであるが、まだリリースされてから日が浅くトラブルも多いと予想できるので、 ここではUbuntu 16.04を導入する。Ubuntu 16.04はすでに公式サイトからはダウンロードできなくなっているが、下記サイトからダウンロード可能である。 (torrent形式なのでBitTorrentなどを用いてダウンロードする必要がある)

ubuntu-pi-flavour-maker.org

ダウンロードしたubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz は7.zipでimgファイルに展開する

sevenzip.osdn.jp

展開したimgファイルを下記のWin32 Disk ImagerでmicroSDカードに焼きこむ

sourceforge.net

3.初期設定

上記までの手順でUbuntu Mateを焼きこんだmicro SDカードを、Raspberry pi の SDカードスロットに差してmicro USBから電源供給すると Raspberry pi 3が起動する。

Wifi/地域設定/キーボード設定をインストーラーはインストーラーの手順に従って実施すればできる。

システムの更新

Mate Terminalを開いて下記コマンドを実行

sudo apt-get update 
sudo apt-get upgrade

その他初期設定に関する記事(画面の最大化なども便利)

pinky-blog.com

上記を実施するとfirefoxがクラッシュする。(バージョンによって起動しないとのこと)ブラウザにこだわりがなければ下記でchromiumを導入してしまった方が早い。

sudo apt install chromium-browser

日本語入力対応

地域設定をしておくとGUI表示はデフォルトで日本語になる 言語設定が必要なのでシステム⇒設定⇒ユーザー向け⇒言語サポートからインストールし、入力形式をfcitxに変更する 下記に画像付きの解説がされている。

deviceplus.jp

IP固定

Windows PCからリモートでのログインやデータの受け渡しのために、IPを固定しておくと便利である。 Wifiであれば、画面右上のネットワークアイコン以下のGUIを使って設定が可能である

https://qiita.com/dendensho/items/ab63e4b343607d832f21

ファイル共有設定

sambaのインストールと設定行い、Raspberry pi のファイルをWindows PC からアクセス可能にできる

sudo apt-get -y install samba

上記を実施後、下記サイトにある『UI を使って samba を設定する(おまけ)』に従うとGUIを使ってsambaの共有設定ができる。

https://pinky-blog.com/raspberry-pi/nas-samba-server-ubuntu-mate/

リモートデストップの有効化

下記コマンドでxrdpをインストールする

sudo apt-get -y install xrdp

その後、下記サイトに従って暗号化レベルの変更と日本語キーボード設定を追加する (日本語キーボード設定がないと円マークなどが正しく入力できなくなる)

algorithm.joho.info

4. ROSのインストール

公式の手順に従いros-kineticをインストールする。

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 apt install python-roslaunch

次にrosのパッケージ管理機能の初期化/更新を行う

rosdep init
rosdep update

最後に環境変数にROSのパスを通す (ROSのコマンドを利用するために必要)

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

上記まででRaspberry pi でROSを使う準備が整う。 ROSのcatkin_workspaceの作り方などについては今後別記事で説明する。