Main Content

rosinit

ROS ネットワークへの接続

説明

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

メモ

ROS ネットワークにはじめて接続する際は、Python 2.7 をインストールして設定しなければなりません。MATLAB で Python® バージョンを確認するには、関数 pyenv を使用します。詳細については、ROS System Requirementsを参照してください。

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 1.2666 seconds.
Initializing ROS master on http://192.168.0.10:59548.
Initializing global node /matlab_global_node_62395 with NodeURI http://bat1002808glnxa64:37851/

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

rosshutdown
Shutting down global node /matlab_global_node_62395 with NodeURI http://bat1002808glnxa64:37851/
Shutting down ROS master on http://192.168.0.10:59548.
.............
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 です。

名前と値のペアの引数

オプションのコンマで区切られた Name,Value 引数のペアを指定します。ここで、Name は引数名、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: "NodeHost","192.168.1.1"

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

例: "comp-home"

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

例: "NodeName","/test_node"

R2019b で導入