ROS
ロボット

ROS講座02 インストール


概要

ROSはUbuntu上で動くソフトです。ROSは内部でいろいろなものをインストールするのでクリーンなUbuntuの状態で始めることをお勧めします。

Ubuntuのインストールからroscoreが動く状態までを説明します。


対応関係

ROSのバージョンはUbuntuのバージョンとリンクして上がっていきます。大事なのはROSは対応するバージョンのUbuntu上でしか動くことが保証されていません(むしろほかのバージョンでは動かないと思ったほうが良い)。つまりROS kineticをUbuntu 18にインストールするというのはほぼ不可能です。

またUbuntuにもLTSがあるようにROSにもLTSとそうでないものがあります。基本的にLTSであるものを使えばよいです。

Ubuntuバージョン
ROSバージョン
サポート期限

14.04
Indigo Igloo
2019年5月

16.04
Kinetic Kame
2021年5月

18.04
Melodic Morenia
2023年5月

基本的には今はUbuntu16.04とkineticを使えば良いでしょう(2017年5月現在)。


Ubuntuのインストール

普通のIntel PCであることが前提です。

UbuntuのページISOイメージを使います。

これをDVDに焼いて、Ubuntuのインストールをしてください。特別な設定は必要ありません。


ROSのインストール

結果から言うと以下のスクリプトを走らせればすべて自動でインストールします。途中で何回かパスワードを求められます。かかる時間は20分~1時間程度です。


ros_kinetic_install.sh

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 -y update
sudo apt-get -y upgrade

sudo apt-get -y install ros-kinetic-desktop-full
apt-cache search ros-kinetic

sudo rosdep init
rosdep update

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

sudo apt-get -y install python-rosinstall

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc


これ以下上記のスクリプトを詳しく説明します。


リポジトリの登録


ros_kinetic_install.shの一部

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 -y update
sudo apt-get -y upgrade

ROSはUbuntuの標準のaptリポジトリにはないのでROSのリポジトリを登録します。1行目がリポジトリの登録、2行目が鍵の登録です。


インストール


ros_kinetic_install.shの一部

sudo apt-get -y install ros-kinetic-desktop-full

apt-cache search ros-kinetic

ここがインストールの本体です。rosのインストールには3種類のオプションがあります。今回はdesktop-fullを使用します。

パッケージ名
入っているもの

ros-indigo-ros-base
通信、ビルド等

ros-indigo-desktop
Base+rqt,rviz,一般的なライブラリ等

ros-indigo-desktop-full
desktop+シミュレーター等


rosdepのインストール


ros_kinetic_install.shの一部

sudo rosdep init

rosdep update


bashrcの設定


ros_kinetic_install.shの一部

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

source ~/.bashrc
source /opt/ros/kinetic/setup.bash

これよりも上の設定でROSはPCにインストールされますが、標準ではROSのコマンドにパスは通っていません。そこで毎回ターミナルの起動時にROSコマンドへのパスを通す必要があります。~/.bashrcはターミナルの起動時に毎回実行されるスクリプトです。


rosinstallの設定


ros_kinetic_install.shの一部

sudo apt-get -y install python-rosinstall



catkinワークスペースの設定


ros_kinetic_install.shの一部

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

ROSのプログラムはcatkinワークスペースというフォルダの中で記述してコンパイルします。名前は何でもよいのですがcatkin_wsがよく使われるのでこの名前にします。また自動ではこのcatkin_wsにはパスが通りません。sourceコマンドでパスを通す必要があります。

ここまで来たら一度PCを再起動しましょう。


インストールの確認

roscore

このコマンドを実行して以下のように表示されれば成功です。エラー表示(赤字)が出るなど失敗する場合はターミナルの再起動、Ubuntuの再起動を試してみてください。

basic_roscore.png


パッケージの作成


make_ros_package.sh

cd ~/catkin_ws/src

catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

ROSのプログラムはROSパッケージという単位で管理されます。パッケージの作成はインストールとは関係ありませんがここで説明します。パッケージは必ずcatkinワークスペースの中のsrcディレクトリの内部に置きます。

パッケージを製作するコマンドがcatkin_create_pkgです。1つ目の引数はパッケージ名(名前は自由、上のスクリプトではbeginner_tutorials)2つ目以降は依存するパッケージです。とりあえず上の3つを入れておけばよく、後から追加できます。


よく使うROSパッケージのインストール


ros_kinetic_add_packages.sh

sudo apt-get install -y ros-kinetic-joystick-drivers

sudo apt-get install -y ros-kinetic-jsk-visualization
sudo apt-get install -y ros-kinetic-image-proc

よく使うものをここであらかじめインストールしておきます。

ros-[ROSのディストリビューション]-[パッケージ名(_(アンダーバー)を-(ハイフン)に変えたもの)]がaptのパッケージ名になっています。

例えばjoystick_driversをインストールしたければros-kinetic-joystick-driversという名前のaptパッケージをインストールします。


ROS以外のツールのインストール

個人的に使うツールをインストールします。

sudo apt-get install -y git

sudo apt-get install -y vim


参考

ROSのバージョン:http://wiki.ros.org/Distributions

ROSのインストール:http://wiki.ros.org/ja/indigo/Installation/Ubuntu


目次ページへのリンク

ROS講座の目次へのリンク