4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2019-07-17

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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/284261/eafb4a29-3ac0-d54a-f06e-e85121e5a7aa.png)

【次:[ROS2プロジェクトの作成]】
4
0
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
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?