【ROS2関係トップページへ】
【ROS2レクチャー:初級 -ROS1 style-】
【次:ROS2プロジェクトの作成】
より詳細はこちら
ROS2の構造
用語
- ノード:node
- ROS2における様々な機能を提供するもの.
- ターゲット:target
- nodeを組み込んで実行できるようにしたもの.
- ライブラリ:library
- nodeを共有ライブラリ化したもの.
- パッケージ:package,プロジェクト:project
- 関係の深いターゲット,ライブラリを集めたもの.ros2 pkg createコマンドで作成.
- ワークスペース:workspace
- 使用するパッケージを集めたトップディレクトリ.より具体的には「コンパイル・ビルドを行うディレクトリ」.もしパッケージディレクトリの中でコンパイル・ビルドを行うなら,ワークスペース=そのパッケージとなる.
- アンダーレイ:underlayとオーバーレイ:overlay
- ROS2が管理する領域.特に管理する全体の領域をアンダーレイ:underlayと呼び,source /opt/ros/<distro>/setup.bashで設定される.その中にworkspaceやpackageがある. workspaceやpackageなど,切り替えて使用するもの/できるものを,アンダーレイに対してオーバーレイ:overlayと呼ぶ.
ROS2における実装スタイル
ROS2での実装スタイルを大別すると以下となる.
- ROS風node
- 初級 -ROS1 style-の説明対象
- クラス化したnode
- 共有ライブラリ化したnode
- コンポーネント化したnode
ROS風node
ROS風の実装方法だと,main関数の頭から,
- ROS2システムのための初期化
- nodeに関する設定.初期化やnodeの実行に必要な処理などを行う部分.
- nodeを実行.下図ではwhileをつかって「ループして実行してます!」と表現しているけど,ROS/ROS2の通常ではspin()を使う.
- 終了処理.nodeの実行が正しく終わったらちゃんと終了させないとね.
という流れとなる.
【次:ROS2プロジェクトの作成】