0
Help us understand the problem. What are the problem?

posted at

updated at

ROS2に関する基本情報:初級 -class style-

ROS2関係トップページへ
ROS2レクチャー:初級 -class style-

【次:ROS2プロジェクトの作成

より詳細はこちら

ROS2の構造

用語

ノード:node
ROS2のサービスとしてpublisher/subscriber, service/client, parameterなどの機能を提供するもの.ひとつのnode内に複数の機能を提供することもある.
ターゲット:target
class化したnodeを組み込み,実行できるようにしたものをtargetと呼ぶ.ひとつのtarget内に複数のnodeを組み込むことも可であり,その場合nodeの実行順や並列動作などを柔軟に制御することもできる.
ライブラリ:library
nodeを共有ライブラリ化したもの.
パッケージ:package,プロジェクト:project
関係の深いターゲット,ライブラリを集めたもの.ros2 pkg createで簡単に作成できる.
ワークスペース:workspace
使用するパッケージを集めたトップディレクトリ.普通にmkdirなどで作成する.
アンダーレイ:underlayとオーバーレイ:overlay
ROS2が管理する領域.特に管理する全体の領域をアンダーレイ:underlayと呼び,source /opt/ros/<distro>/setup.bashで設定される.その中にworkspaceやpackageがある. workspaceやpackageなど,切り替えて使用するもの/できるものを,アンダーレイに対してオーバーレイ:overlayと呼ぶ.

ROS2における実装方法

ROS2での実装スタイルを大別すると以下となる.

  • ROS風node
  • クラス化したnode
    • 初級 -class style-の説明対象
  • 共有ライブラリ化したnode
  • コンポーネント化したnode

クラス化したnode

ROS2ではターゲットとnodeを分離することが推奨されている.これによりnodeの再利用を高めるとともに,一つのターゲットで複数のnodeを使用できるようになる(それにより実行順番など細かな制御も可能になる).
nodeの実行はROS2システムのspin関数により制御されるので,クラスとしてはnodeの準備・設定についてのコードを書くことになる.標準的なプログラムでは,コンストラクタの中でほとんどの準備・設定を書くことになる.
```

ROS2クラス化PG.png

【次:ROS2プロジェクトの作成

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
0
Help us understand the problem. What are the problem?