[Documentation] [TitleIndex] [WordIndex

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

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

前提条件

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

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

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

Ubuntu あるいは Debian:

Fedora:

Generic (pip):

rosdep のインストール

$ sudo rosdep init
$ rosdep update

インストール

Start by building the core ROS packages.

catkin ワークスペースの作成

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

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

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

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

依存関係の解決

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

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 だけを使用して呼び出すことができます。

注: 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ファイルが生成されていることがわかります。 そこにインストールされているものを利用するには、次のようにそのファイルを入手するだけです。

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

ソースチェックアウトを最新の状態に保ちたい場合は、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

2024-05-04 12:55