LoginSignup
89
86

More than 1 year has passed since last update.

ROS講座02 インストール

Last updated at Posted at 2018-05-02

概要

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

対応関係

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

Ubuntuバージョン ROSバージョン サポート期限
18.04 Melodic Morenia 2023年5月
20.04 Noetic Ninjemys 2025年5月

基本的には今はUbuntu20.04とNoeticを使えば良いでしょう(2022年2月現在)。

Ubuntuのインストール

普通のIntel PCであることが前提です。
UbuntuのページISOイメージを使います。
これをDVDに焼いて、Ubuntuのインストールをしてください。特別な設定は必要ありません。

ROSのインストール

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

ros_noetic_install.sh
#!/bin/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 install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

sudo apt update
sudo apt install ros-noetic-desktop-full
apt search ros-noetic

sudo apt-get install python-rosdep
sudo rosdep init
rosdep update

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

sudo apt-get -y install python-rosinstall
sudo apt-get install -y python3-catkin-tools

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

リポジトリの登録

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
cd ~/catkin_ws
catkin build
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

ROSのプログラムはcatkinワークスペースというフォルダの中で記述してコンパイルします。名前は何でもよいのですがcatkin_wsがよく使われるのでこの名前にします。また自動ではこのcatkin_wsにはROSのパスが通っていません。source ~/catkin_ws/devel/setup.bashを実行することでcatkin_wsの中のROSパッケージにパスが通ります。毎回打つのは大変なのでbashrcに書いておきましょう。

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

インストールの確認

roscore

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

basic_roscore.png

パッケージの作成

make_ros_package.sh
cd ~/catkin_ws/src
catkin_create_pkg rospackage_test roscpp rospy std_msgs tf 

ROSのプログラムはROSパッケージという単位で管理されます。パッケージの作成はインストールとは関係ありませんがここで説明します。パッケージは必ずcatkinワークスペースの中のsrcディレクトリの内部に置きます。
パッケージを製作するコマンドがcatkin_create_pkgです。1つ目の引数はパッケージ名(名前は自由、上のスクリプトではbeginner_tutorials)2つ目以降は依存するパッケージです。とりあえず上の4つを入れておけば簡単なプログラムを作れます。この依存は後から追加できます。

よく使う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講座の目次へのリンク

89
86
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
89
86