ROS 2 公式文書(英語) 日本語訳シリーズです。
本ブログの日本語翻訳版のトップページは以下のリンクを参照下さい。
Ubuntu Bionicでは、ROS 2 Crystal(最新リリース)とROS 2 Bouncy用のDebianパッケージが利用可能です。 ROS 2 Ardent用のパッケージはUbuntu Xenial用です。
リソース
- ステータス:
- Jenkins インスタンス
- リポジトリ
ロケール設定(言語・地域設定)
UTF-8をサポートするロケールがあることを確認してください。docker container のような必要最小限の環境下であれば、ロケールはPOSIXのような最小限のものである可能性がありなす。開発者サイドとしては以下の設定でテストしています。サポートされている別のUTF-8ロケールを使用していても問題ありません。
sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8
apt ソースの設定
Debian パッケージをインストールするには、Debian リポジトリをご自身の apt ソースに追加する必要があります。まず、下記のように apt で gpg キーを認証してください:
sudo apt update && sudo apt install curl gnupg2 lsb-release curl http://repo.ros2.org/repos.key | sudo apt-key add -
そしてリポジトリをソースリストに追加します。
sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'
ROS 2 パッケージのインストール
まず、インストールしたい ROS 2 リリースの環境変数を設定して、他のコマンドで使用できるようにします。
export CHOOSE_ROS_DISTRO=crystal # or bouncy or ardent sudo apt update
デスクトップ インストール(推奨):ROS、RViz、デモ、チュートリアル。
sudo apt install ros-$CHOOSE_ROS_DISTRO-desktop
ROS ベース インストール(必要最小限の機能):通信ライブラリ、メッセージパッケージ、コマンドラインツール。GUI ツール無し。
sudo apt install ros-$CHOOSE_ROS_DISTRO-ros-base
ros1_bridge、TurtleBot パッケージ、代替の RMW パッケージ もインストールする方法については、それぞれのリンク先を参照してください。
環境設定
argcomplete のインストール(オプション)
ROS 2 コマンドラインツールは自動補完に argcomplete を使用します。自動補完が必要な場合は、argcomplete をインストールする必要があります。
Ubuntu 18.04
sudo apt install python3-argcomplete
Ubuntu 16.04 (argcomplete >= 0.8.5)
Ubuntu 16.04(Xenial)に argcomplete
をインストールするには、pipを使用する必要があります。apt を介して入手可能なバージョンの argcomplete
にバグがあり、正常に機能しないためです。
sudo apt install python3-pip sudo pip3 install argcomplete
setup スクリプトの souce
次のファイルを source して環境を設定します。
source /opt/ros/$CHOOSE_ROS_DISTRO/setup.bash
本コマンドを .bashrc に追加しても構いません。
echo "source /opt/ros/$CHOOSE_ROS_DISTRO/setup.bash" >> ~/.bashrc
追加の RMW のインストール
※RMW とはROS Middleware API
の略で、ROS クライアントライブラリと、サードパーティの DDS 間を仲介する抽象化インターフェースを指します。
・出典:OSRF, "ROS 2 Update", ROSCon 2016 Seoul
デフォルトでは、eProsima 社のFastRTPS
が使用されます。 Ardent を使用している場合は OSRF がビルドしたOpenSplice
もインストールされます。
Bouncy にOpenSplice
または RTI 社のConnext
のサポートをインストールするには、次の手順を実行します。
sudo apt update sudo apt install ros-$CHOOSE_ROS_DISTRO-rmw-opensplice-cpp # for OpenSplice sudo apt install ros-$CHOOSE_ROS_DISTRO-rmw-connext-cpp # for RTI Connext (requires license agreement)
環境変数RMW_IMPLEMENTATION = rmw_opensplice_cpp
を設定することで、代わりに OpenSplice を使うように切り替えることができます。 ROS 2 リリース Bouncy 以降では、RTI Connext を使用するためにRMW_IMPLEMENTATION = rmw_connext_cpp
も選択できます。
Connext DDS-Security プラグインをインストールしたい場合は、このページを参照してください。
ROS 1 パッケージを使用した追加パッケージのインストール
ros1_bridge
および TurtleBot デモは ROS 1 パッケージを使用しています。それらをインストールするためには、こちらのページのように ROS 1ソースを追加することから始めてください。
Docker を使用している場合は、ros:melodic
またはosrf / ros:melodic-desktop
(Ardent を使用している場合は Kinetic)で始められます。 ROS ソースはすでに統合されているので、これによってROS ソースをセットアップする必要もなくなります。
これで残りのパッケージをインストールできます。
sudo apt update
sudo apt install ros-$CHOOSE_ROS_DISTRO-ros1-bridge
turtlebot2 パッケージは Bouncy で利用可能ですが Crystal では利用できません。
sudo apt install ros-$CHOOSE_ROS_DISTRO-turtlebot2-*
自作パッケージのビルド
自作パッケージを構築したい場合は、チュートリアルColconを使ったパッケージの構築を参照してください。