ソースからのインストール

ソースからインストールするには、自分でソースコードをダウンロードしてコンパイルする必要があります。 ROS Noetic は Ubuntu Focal と Debian Buster をサポートしていますが、他のプラットフォームも可能です。 ターゲットプラットフォームは REP 3 で定義されています。

前提条件

ブートストラップ依存関係のインストール

ブートストラップ依存関係のインストール (Ubuntu):

これらのツールは、特にROSパッケージとその依存関係のダウンロードと管理を容易にするために使用されます。

Ubuntu あるいは Debian:

  • $ sudo apt-get install python3-rosdep python3-rosinstall-generator python3-vcstool build-essential

Fedora:

  • $ sudo dnf install gcc-c++ python3-rosdep python3-rosinstall_generator python3-vcstool @buildsys-build
    • ROSで使用されている一部のパッケージは、現在 Fedora RPM リポジトリでは使用できません。 他のほとんどのパッケージは RPM Fusion で利用できます。こちらを参照してください。RPM Fusion Command Line Setup.

Generic (pip):

  • Debian以外のシステムを使用している場合は、すべてのビルドツール(コンパイラ、CMakeなど)がインストールされていることを確認する必要があります。 PIPを介してすべての ROS Python ツールをインストールできます。
    $ sudo pip3 install -U rosdep rosinstall_generator vcstool
    ここまでで、あるいは以下の rosdep ステップでエラーが発生した場合は、システムのバージョンのpipが古くなっている可能性があります。 システムのパッケージ管理を使用して更新するか、システム自体を更新します。
    $ sudo pip3 install --upgrade setuptools

    OSXなどの多くのプラットフォームでは、システムの依存関係と衝突しないように、上記のパッケージをインストールし、virtualenv 内でROSを使用することをお勧めします。

rosdep のインストール

$ sudo rosdep init
$ rosdep update

インストール

Start by building the core ROS packages.

catkin ワークスペースの作成

コアパッケージをビルドするには、catkinワークスペースが必要です。 以下の通り作成します:

  • $ mkdir ~/ros_catkin_ws
    $ cd ~/ros_catkin_ws

次に、ROSパッケージのソースコードをダウンロードして、ビルドできるようにします。 これにはvcstool を使用します。 このガイドでは、全「デスクトップ」環境を構築することを想定しています。

  • $ rosinstall_generator desktop --rosdistro noetic --deps --tar > noetic-desktop.rosinstall
    $ mkdir ./src
    $ vcs import --input noetic-desktop.rosinstall ./src

これにより、「デスクトップ」のパッケージ部分のすべてのソースコードが "~/ros_catkin_ws/src" ディレクトリにダウンロードされます。 コマンドはすべてをダウンロードするのに数分かかります。

「デスクトップ」以外のものをお探しでしょうか? REP 150 には、 desktop_full robotperception などのバリアントが定義されています。上記の desktop から希望のものへパッケージパスを変更するだけです。

依存関係の解決

catkinワークスペースを構築する前に、プラットフォームにすべてのシステム依存関係解決されていることを確認する必要があります。 これには rosdepツールを使用します:

  • $ rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro noetic -y

rosdep は、src ディレクトリ内のすべてのパッケージを調べて、プラットフォームへの依存関係を見つけてインストールします。 しばらくすると(そしておそらくパスワードの入力を求めるプロンプトが表示されます)、rosdepはシステムの依存関係のインストールを終了し、続行します。

catkin ワークスペースのビルド

これで、すべてのソースコードを含むワークスペースが作成され、必要なすべてのシステム依存関係がインストールされました。 次に、コードをビルドします。 ROS1パッケージはCMakeを使用します。 ただし、すべてのパッケージで手動で cmake を呼び出すのは面倒です。 すべてのパッケージを正しい順序でビルドするために使用できるツールがあります。 使用するツールは catkin_make_isolatedです。

使用できるツールは catkin_make_isolatedだけではありません。 catkin_makecatkin_tools (catkin と呼ばれるコマンドラインで実行可能なもの) や、colcon などのツールは他にもあります。 それらのいくつかはあなたのユースケースに適しているかもしれませんが、ROSビルドファームが使用するものであるため、ここでは catkin_make_isolatedを使用します。

このコマンドは、ワークスペース内のすべてをビルドします。 しばらく時間がかかる場合があります。 catkin_make_isolated コマンドはまだインストールされていないため、ソースフォルダから直接コマンドを実行しています。 インストールすると、 catkin_make_isolated だけを使用して呼び出すことができます。

  • $ ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release

注: EMPY モジュールの欠落に関連するエラーが表示された場合は、Python3ではなくPython2を使用してビルドしている可能性があります。後者を使用していることを確認するには、上記のコマンドに次を追加します。 Python 3を他の場所にインストールしている場合は、それに応じてパスを更新します。

-DPYTHON_EXECUTABLE=/usr/bin/python3

注:デバッグシンボルが必要ですか? 別のCMakeビルドタイプ を選択することをお勧めします。

上記のコマンドが終了すると、すべてが ~/ros_catkin_ws/install_isolatedにインストールされます。 別の場所にインストールする場合は、 --install-space path/to/somewhere/elsecatkin_make_isolated 実行時のオプションに追加します。

Ubuntu 以外のロボットで使用する場合は、Ubuntuパッケージと同じように、コンパイル済みコードを /opt/ros/noetic にインストールすることをお勧めします。 もちろん、Ubuntuではこれを行わないでください。パッケージが apt-get パッケージと衝突するためです。

これで、パッケージは ~/ros_catkin_ws/install_isolated に、または --install-space 引数で指定した場所にインストールされているはずです。 そのディレクトリを見ると、 setup.bashファイルが生成されていることがわかります。 そこにインストールされているものを利用するには、次のようにそのファイルを入手するだけです。

  • $ source ~/ros_catkin_ws/install_isolated/setup.bash

ソースチェックアウトの維持

ソースチェックアウトを最新の状態に保ちたい場合は、rosinstall ファイルを定期的に更新し、最新のソースをダウンロードして、ワークスペースを再構築する必要があります。

rosinstall ファイルの更新

ワークスペースを更新するには、最初に既存の rosinstall ファイルを移動して上書きされないようにし、更新されたバージョンを生成します

$ mv -i noetic-desktop.rosinstall noetic-desktop.rosinstall.old
$ rosinstall_generator desktop --rosdistro noetic --deps --tar > noetic-desktop.rosinstall

次に、新しい rosinstall ファイルを古いバージョンと比較して、更新されるパッケージを確認します。

$ diff -u noetic-desktop.rosinstall noetic-desktop.rosinstall.old

最新のソースのダウンロード

これらの変更を確認したら、新しい rosinstall ファイルをワークスペースに組み込み、ワークスペースを更新します。

$ vcs import --input noetic-desktop.rosinstall ./src

ワークスペースの再ビルド

ワークスペースが最新のソースに更新されているので、次のように再構築します。

$ ./src/catkin/bin/catkin_make_isolated --install

ワークスペースを最初に指定したときに --install-space オプションを指定した場合は、ワークスペースを再構築するときに再度指定する必要があります

ワークスペースが再構築されたら、セットアップファイルを再度 source (シェルに読み込ませる) する必要があります。

$ source ~/ros_catkin_ws/install_isolated/setup.bash

Wiki: ja/noetic/Installation/Source (last edited 2021-08-19 06:54:39 by n-ando)