ROS 2とは何か?を説明する前に、まずは使ってみることから始めましょう。

ROS 2は、ROSと違い、動作OSはUbuntu以外にも、Windows, macOSをサポートしています。 ここではUbuntu 16.04を対象としますが、macOS Sierraでも動作確認を行っています。

ROS 2のインストール方法は3つあります。

Linux Development Setupに従う

一番面倒ですが、自分のPCに直接ROS2の開発環境を作成したい場合には、やはりソースコードをコンパイルして使うのが一番です。

https://github.com/ros2/ros2/wiki/Linux-Development-Setup

に従うと、依存パッケージのインストールを行い、関連ソースコードをレポジトリからクローンしてビルドが開始されます。 ソースコードのビルドには、ROSのcatkinではなく、amentが用いられます。

2017年5月1日現在、Ubuntu 16.04を使い、上記手順でインストールできることを確認しています。 インストール後は、動作確認のため、

$ . /path/to/ros2_ws/install/local_setup.bash
$ talker

$ . /path/to/ros2_ws/install/local_setup.bash
$ listener

を実行し、文字列がPub/Subされることを確認しましょう。

Linux Install Binaryを使う

ソースコードをビルドする代わりに、バイナリをインストールこともできます。

https://github.com/ros2/ros2/wiki/Linux-Install-Binary

依存パッケージのみインストールが済んだら、下記リリースページから圧縮ファイルを取得します。2017年5月24日現在、Beta 1が最新リリースです。

https://github.com/ros2/ros2/releases

圧縮ファイルを解凍して、ビルド時と同様に環境変数 local_setup.bash を読み込めば、準備は完了です。 talker, listner は同じように動くはずです。

Dockerイメージを使う

最後が一番おすすめのDockerイメージを使う方法です。Dockerに関しては、またおいおいブログで取り上げますが、コンテナと呼ばれる軽量な仮想マシンを構築、実行するツールだと思っていただければ、まずは大丈夫です。

まず、Dockerをインストールします。

https://docs.docker.com/engine/installation/linux/ubuntu/

次に、コンテナのイメージ(OSイメージ)を以下のコマンドで取得します。

$ docker pull osrf/ros2

上記はOSRFの公式ROS2イメージですが、6ヶ月前からビルドに失敗しているため、Beta 1より古いイメージになってしまっている。

私が用意した youtalk/ros2-ja を使うと最新のコミットをビルドしたイメージを取得できます。

$ docker pull youtalk/ros2-ja

Dockerfileは以下のファイルです。実直にLinux Development Setupに従って、依存パッケージのインストール、ソースコードの取得、ビルドを行なっています。

https://github.com/youtalk/docker-images-ja/blob/master/ros2-ja/Dockerfile

動作確認を行うには、Dockerの場合には、1コンテナ1ROSノードで動作させる構成を取るため、まずコンテナ間で通信できるようにネットワークを設定する必要があります。

$ docker network create ros2
$ docker run docker -it --net ros2 youtalk/ros2-ja:xenial talker

$ docker run docker -it --net ros2 youtalk/ros2-ja:xenial listener

Docker Composeの仕組みを使うことで、もっと簡単に実行できますが、それはまた取り上げます。