概要
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時間程度です。
#!/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
これ以下上記のスクリプトを詳しく説明します。
リポジトリの登録
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行目が鍵の登録です。
インストール
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のインストール
sudo rosdep init
rosdep update
bashrcの設定
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
source /opt/ros/kinetic/setup.bash
これよりも上の設定でROSはPCにインストールされますが、標準ではROSのコマンドにパスは通っていません。そこで毎回ターミナルの起動時にROSコマンドへのパスを通す必要があります。~/.bashrcはターミナルの起動時に毎回実行されるスクリプトです。
rosinstallの設定
sudo apt-get -y install python-rosinstall
catkinワークスペースの設定
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の再起動を試してみてください。
パッケージの作成
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パッケージのインストール
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