Raspberry Pi 3 に ROS をインストールしてみた

  • 7
    いいね
  • 0
    コメント

Raspberry Pi 3 に ROS を入れる必要があり、やっとインストールできたのでここにまとめておきます。

環境

まず、本記事では Mac ユーザを対象にしています。Windows ユーザの方は適宜読み替えて対応してください。(ssh までできてしまえば、あとは同じようにできるはずです)

  • OS X El Capitan (10.11.4)
  • Raspberry Pi 3
  • micro SD: 8GB

Raspbian Jessie のインストール

Raspberry Pi 3 用の Ubuntu のイメージが見つからなかったので、Raspbian Jessie で妥協することにしました。こうすれば RasPi 3 に Ubuntu 14.04 が入るよ、という情報待ってます笑

SD カードのフォーマット

Disk Utility を起動して、FAT でフォーマットします。名前をつけてもいいですが、イメージの書き込みが終わると BOOT という名前になるので、意味がないかもしれません。

イメージのダウンロードと書き込み

まず、Raspberry Pi 公式 から Raspbian Jessie のイメージが固められている ZIP ファイルをダウンロードします。以下、本記事では Jessie を対象にして説明します。

次に、その ZIP ファイルを解凍して、公式のドキュメントに沿って SD カードにイメージを書き込みます。

Raspberry Pi 3 を起動

ここまで問題なく進めば、やっと Raspberry Pi を起動することができます。初期設定では、自動的に GUI が立ち上がるようになっています。

Wi-Fi をつなげておく

最初は、勝手に GUI が起動しますので、画面右上にある Wi-Fi マークをクリックしてパスワードなどを入力すれば、Wi-Fi につなげることができます。Raspberry Pi 3 は標準で Wi-Fi モジュールが載っているのでこれだけです。

初期起動を CLI にする

CLI 起動にしておきます。まず、Terminal を開いて、sudo raspi-config というコマンドを叩きます。すると、青い画面になりますので、Boot の設定項目を選択して CLI に自動でログインする設定にしておきましょう。

SSH

Raspbian Jessie には、avahi-daemon というホスト名でのアクセスをすることができるようにしてくれるソフトウェアが標準で入っているようなのですが、とりあえず次のようにインストールしておきます。

sudo apt-get install avahi-daemon

これで、おそらく Mac 側で

ssh pi@raspberrypi.local

とすると、ssh できるはず。もし、RSA 鍵関連でエラーが起きているようなら、Mac の ~/.ssh/known_hosts に登録されている RSA 鍵と衝突していることが考えられるので、適宜削除するなどして対応すれば解決するでしょう。

locale の設定

locale をとりあえず en_US.UTF-8 に設定しておきましょう。まず、/etc/locale.genen_US.UTF-8 UTF-8 の行だけコメントアウトを解除します。その後、以下のコマンドを打ちます。

sudo locale-gen
sudo update-locale LANG=en_US.UTF-8

そのあと、駄目押しで、.bashrc に次の 2 行を追加して終わりです。

export LANG=en_US.UTF-8
export LC_ALL=$LANG

ROS のインストール

基本的には、この記事(Installing ROS Indigo on the Raspberry Pi) を読めば ROS comm に関してはうまくいきますが、ROS Desktop の場合は collada-dom-dev 周りでうまくいきませんでした。

まあ、結局 GUI 部分は要らないので、諦めて ROS comm を入れました。以下のような流れでインストールできます。(先ほどのリンク先とやっていることは同じです。)

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu jessie main" > /etc/apt/sources.list.d/ros-latest.list'
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-pip python-setuptools python-yaml python-distribute python-docutils python-dateutil python-six
sudo pip install rosdep rosinstall_generator wstool rosinstall
sudo rosdep init
rosdep update
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
rosinstall_generator ros_comm --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-ros_comm-wet.rosinstall
wstool init src indigo-ros_comm-wet.rosinstall
rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:jessie
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo -j2
source /opt/ros/indigo/setup.bash
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc

最後に、roscore というコマンドを実行して問題なさそうであれば、インストール完了です。