3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ROS2 workspaceの作成

Last updated at Posted at 2020-05-04

ROS2でプログラミングするために勉強したメモです.
ここではworkspaceの作成方法を書きます.

workspaceの作成

ROS2環境をターミナルに反映

メインのROS2をunderlayに指定して,ターミナルに反映する.

source /opt/ros/<distro>/setup.bash

dashingを使用している場合は以下となる.

source /opt/ros/dashing/setup.bash

フォルダの作成

  • 新しいworkspaceごとに新しいフォルダを作成することがオススメ.
  • <workspace_name>は,workspaceの目的を示すのに役立つ.
mkdir <workspace_name>
mkdir <workspace_name>/src
cd <workspace_name>/src

依存関係を解決する

  • workspaceをビルドする前に,packageの依存関係を解決する必要がある.
  • 既にすべての依存関係が解決している場合もありますが,git cloneするたびに依存関係を確認することがお勧め.
  • 依存関係が正しく解決されていないために,長い待機の後にビルドが失敗するのは望ましくない.

workspaceのルートフォルダに移動し,以下を実行する

sudo rosdep install -i --from-path src --rosdistro <distro> -y

ここでは,<distro>の部分をdashingにする.

  • 依存関係がすべて解決していると,以下が出力される.
#All required rosdeps installed successfully

colconでworkspace/packageをビルドする.

packageの作成についてはココにもう少し詳しく記述.

colcon build
オプションの説明
  • --packages-up-to:(時間節約目的で)必要なパッケージとそのすべての依存関係をビルドするが,ワークスペース全体はビルドしない.
  • --symlink-install:Pythonスクリプトを微調整するたびに再構築する必要がなくなる.
  • --event-handlersconsole_direct+ビルド中のコンソール出力を表示します.
build結果の説明
  • ビルドすると,buildinstalllogのフォルダができる.
  • colconが正常にビルドを完了すると,出力はinstallフォルダにできる.

overlayの注意点

  • インストールされている実行可能ファイルまたはライブラリを使用する前に,それらをパスおよびライブラリパスに追加する必要がある.
  • installフォルダの中に,環境のセットアップに役立つbash/batファイルを生成する.
  • これらのファイルは,必要なすべての要素をパスとライブラリパスに追加するし,packageによってエクスポートされたあらゆるbashまたはshellコマンドを提供する.

underlayをsourceする

  • overlayを取得する前に,workspaceを構築したターミナルとは別の新しいターミナルを開くことが非常に重要.
    • ビルドしたのと同じターミナルでoverlayをsourceしたり,同様にoverlayでsourceした環境でビルドしたりすると、複雑な問題が発生する可能性がある.
    • だから,新しいターミナルでメインのROS2環境を「underlay」としてsourceし,「その上」にoverlayを構築できるようにする.

新しいターミナルで,以下を実行.

source /opt/ros/<distro>/setup.bash

ここで,<distro>dashingとする.

overlayをsourceする

workspaceのルートに移動する.

cd <workspace_name>

以下を実行する.

. install/local_setup.bash

[Note]

  • overlayのlocal_setupをのsourceすることは,overlayで使用可能なpackageのみを環境に追加する.
  • setupは,overlayとそれが作成されたunderlayをsourceし、両方のworkspaceを利用できるようにする.
  • メインのROS2インストールのsetupと,その後にdev_wsのoverlayのlocal_setupをsourceすることは,dev_wsのoverlayのsetupをsourceすることは同じである.
    • なぜなら,それが作成されたunderlayの環境が含まれているからだ.

参考サイト

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?