Raspberry pi 開発環境について(Ubuntu Mate設定/ROS導入)
この記事の目的
RaspberryPi3(with ROS/Python) を使った電子工作の環境構築手順についてまとめる
ROSを使ったロボット制御のソフトウェアを実装するため下記を導入する。
Ubuntu Mate 16.04
ROS Kinetic
必要なハード
下記記事のハードを用い、Raspberry pi 3 model B を使用する。
下記の手順はWindows PC で必要なソフトのダウンロードやmicroSDカードへの書き込みなどを行うことを前提とする。
環境構築手順
1.SDカードの初期化
Raspberry pi はmicroSDカードにOSを書き込む必要がある。
公式サイトではツールSDCardFormatterでFAT32に初期化する手順を推奨しているが、SDカードのサイズが64GB以上の場合exFATに自動的に変換してしまうので注意が必要。
下記のIOデータのハードディスクフォーマッタではフォーマット時にFAT32を明示的に選択することができる。
2.OSイメージの焼き込み
現在(2019.6)時点で、公式サイトのUbuntu Mate は 18.04に更新されている。
Ubuntu Mate 18.04 に対してROSを入れることも可能なようであるが、まだリリースされてから日が浅くトラブルも多いと予想できるので、 ここではUbuntu 16.04を導入する。Ubuntu 16.04はすでに公式サイトからはダウンロードできなくなっているが、下記サイトからダウンロード可能である。 (torrent形式なのでBitTorrentなどを用いてダウンロードする必要がある)
ダウンロードしたubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz は7.zipでimgファイルに展開する
展開したimgファイルを下記のWin32 Disk ImagerでmicroSDカードに焼きこむ
3.初期設定
上記までの手順でUbuntu Mateを焼きこんだmicro SDカードを、Raspberry pi の SDカードスロットに差してmicro USBから電源供給すると Raspberry pi 3が起動する。
Wifi/地域設定/キーボード設定をインストーラーはインストーラーの手順に従って実施すればできる。
システムの更新
Mate Terminalを開いて下記コマンドを実行
sudo apt-get update sudo apt-get upgrade
その他初期設定に関する記事(画面の最大化なども便利)
上記を実施するとfirefoxがクラッシュする。(バージョンによって起動しないとのこと)ブラウザにこだわりがなければ下記でchromiumを導入してしまった方が早い。
sudo apt install chromium-browser
日本語入力対応
地域設定をしておくとGUI表示はデフォルトで日本語になる 言語設定が必要なのでシステム⇒設定⇒ユーザー向け⇒言語サポートからインストールし、入力形式をfcitxに変更する 下記に画像付きの解説がされている。
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
その後、下記サイトに従って暗号化レベルの変更と日本語キーボード設定を追加する (日本語キーボード設定がないと円マークなどが正しく入力できなくなる)
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の作り方などについては今後別記事で説明する。