Main Content

ros2node

指定したネットワークに ROS 2 ノードを作成

R2019b 以降

説明

ros2node オブジェクトは ROS 2 ノードを表します。このオブジェクトを通じて ROS 2 ネットワークの残りの部分と通信できます。パブリッシャーやサブスクライバーを作成する前にノードを作成する必要があります。

作成

説明

node = ros2node(Name) は、与えられた Name の ROS 2 ノードを初期化します。ノードは、ROS_DOMAIN_ID 環境変数で特に指定されていない限り、ドメイン ID 0 で指定されるネットワークに配置されます。

ノードでは、RMW_IMPLEMENTATION 環境変数で特に指定されていない限り、既定では 'rmw_fastrtps_cpp' ROS ミドルウェア (RMW) 実装が使用されます。RMW_IMPLEMENTATION 環境変数は ros2node オブジェクトを作成する前に設定します。たとえば、setenv('RMW_IMPLEMENTATION','rmw_cyclonedds_cpp') は RMW 実装を 'rmw_cyclonedds_cpp' に設定します。RMW 実装の詳細については、Switching Between ROS Middleware Implementationsを参照してください。

node = ros2node(Name,ID) は、Name の ROS 2 ノードを初期化し、ドメイン ID を使用してネットワークに接続します。

node = ros2node(___,Parameters=params) は、前述の構文のいずれかの引数を使用し、ノードの起動時に宣言するパラメーターを名前と値の引数 Parameters を使用して指定します。params はパラメーターをフィールドとして含む構造体として指定します。params の各パラメーターは、スカラーまたは uint8int64logicalstringchardouble データ型の配列にすることができます。

入力引数

すべて展開する

ROS 2 ネットワーク上のノードの名前。

メモ

ROS 1 では、ノード名は一意であり、同じ名前の新しいノードが起動されると既存のノードをシャットダウンすることで一意性が確保されます。ROS 2 では、ノード名の一意性は確保されません。新しいノードを作成するときに、関数 ros2 を使用して既存のノードをリストします。

ROS 2 ネットワークのドメイン ID。

データ型: double

プロパティ

すべて展開する

この プロパティ は読み取り専用です。

ROS 2 ネットワーク上のノードの名前。

例: "/node_1"

データ型: char

この プロパティ は読み取り専用です。

ROS 2 ネットワークのドメイン ID。0 ~ 232 の非負のスカラー整数として指定します。

例: 2

データ型: double

オブジェクト関数

deleteRemove reference to ROS 2 node
getParameterGet value of parameter declared in ROS 2 node
setParameterSet value of parameter declared in ROS 2 node

すべて折りたたむ

既定の ROS 2 ネットワーク上のノード '/node_1_default' を初期化します。

node1 = ros2node('node_1_default')
node1 = 
  ros2node with properties:

    Name: '/node_1_default'
      ID: 0

ドメイン 2 で識別される ROS 2 ネットワーク上のノード '/node_2_specified' を初期化します。

node2 = ros2node('node_2_specified', 2)
node2 = 
  ros2node with properties:

    Name: '/node_2_specified'
      ID: 2

ROS 2 ノードのすべてのパラメーターを含む構造体を作成します。

nodeParams.my_double = 2.0;
nodeParams.my_namespace.my_int = int64(1);
nodeParams.my_double_array = [1.1 2.2 3.3];
nodeParams.my_string = "Keyparams";

ROS 2 ノードを作成し、nodeParams をパラメーターとして指定します。

node1 = ros2node("/node1",Parameters=nodeParams);

パラメーター my_double を新しい値に設定します。

setParameter(node1,"my_double",5.2);

パラメーター my_double の新しい値を取得します。

doubleValue = getParameter(node1,"my_double")
doubleValue = 5.2000

拡張機能

バージョン履歴

R2019b で導入