メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

rosinit

R2026a

ROS ネットワークへの接続

説明

rosinit は、既定の MATLAB® 名でグローバル ROS ノードを起動し、localhost および端子 11311 で実行されている ROS マスターに接続しようとします。グローバル ROS ノードが ROS マスターに接続できない場合、rosinit は MATLAB で ROS コアも起動します。これは、ROS マスター、ROS パラメーター サーバー、および rosout ログ ノードで構成されています。

メモ

ROS ネットワークにはじめて接続する際は、Python をインストールして設定しなければなりません。

  • R2020b ~ R2021b の場合は、Python® 2.7 をインストールします。

  • R2022a 以降では、Python 3.9 をインストールします。

MATLAB で Python のバージョンを確認し、ROS Toolbox で使用できるように設定するには、ROS Toolbox システム要件を参照してください。

例

rosinit(hostname) は、hostname で指定されているホスト名または IP アドレスにある ROS マスターに接続しようとします。この構文では、11311 を既定の端子番号として使用します。

例

rosinit(hostname,port) は、hostname で指定されているホスト名または IP アドレスと、port で指定されている端子番号に接続しようとします。

rosinit(URI) は、指定されたリソース識別子 URI ("http://192.168.1.1:11311" など) にある ROS マスターに接続しようとします。

rosinit(___,Name,Value) は、1 つ以上の Name,Value 引数のペアによって指定された追加オプションを提供します。

rosinit を使用することは、次の理由から、MATLAB のほとんどの ROS 関連タスクの前提条件となっています。

  • ROS ネットワークとの通信には、ROS マスターに接続された ROS ノードが必要です。

  • 既定では、MATLAB の ROS 関数は、グローバル ROS ノード上で動作するか、グローバル ROS ノードに依存するオブジェクト上で動作します。

たとえば、rosinit でグローバル ROS ノードを作成した後に、グローバル ROS ノード上のトピックをサブスクライブできます。ROS ネットワーク上の別のノードがそのトピックにメッセージをパブリッシュすると、グローバル ROS ノードはそのメッセージを受信します。

グローバル ROS ノードが既に存在する場合、rosinit は、新しい引数のセットに基づいてグローバル ROS ノードを再起動します。

ROS ネットワークをさらに高度にするために、Node オブジェクトを使用して複数の ROS ノードまたは ROS マスターに接続することができます。

例

例

すべて折りたたむ

rosinit
Launching ROS Core...
Done in 0.9103 seconds.
Initializing ROS master on http://172.20.27.184:49942.
Initializing global node /matlab_global_node_40605 with NodeURI http://dcc2432849glnxa64:41131/ and MasterURI http://localhost:49942.

終了したら、ROS ネットワークをシャットダウンします。

rosshutdown
Shutting down global node /matlab_global_node_40605 with NodeURI http://dcc2432849glnxa64:41131/ and MasterURI http://localhost:49942.
Shutting down ROS master on http://172.20.27.184:49942.
rosinit('192.168.17.128')
Initializing global node /matlab_global_node_57409 with NodeURI http://192.168.17.1:57782/

終了したら、ROS ネットワークをシャットダウンします。

rosshutdown
Shutting down global node /matlab_global_node_57409 with NodeURI http://192.168.17.1:57782/
rosinit('192.168.17.128', 'NodeHost','192.168.17.1','NodeName','/test_node')
Initializing global node /test_node with NodeURI http://192.168.17.1:57633/

終了したら、ROS ネットワークをシャットダウンします。

rosshutdown
Shutting down global node /test_node with NodeURI http://192.168.17.1:57633/

入力引数

すべて折りたたむ

ホスト名または IP アドレス。string スカラーまたは文字ベクトルとして指定します。

ROS マスターへの接続に使用する端子番号。数値スカラーとして指定します。

ROS マスターの URI。string スカラーまたは文字ベクトルとして指定します。URI の標準形式は http://ipaddress:port または http://hostname:port です。

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: "NodeHost","192.168.1.1"

ROS ネットワークに対してノードが自身をアドバタイズするときに使用するホスト名または IP アドレス。"NodeHost" と文字ベクトルからなるコンマ区切りのペアとして指定します。

例: "comp-home"

グローバル ノード名。"NodeName" と文字ベクトルからなるコンマ区切りのペアとして指定します。rosinit によって作成されたノードは、ROS ネットワーク上で、この名前で登録されます。

例: "NodeName","/test_node"

バージョン履歴

R2019b で導入