Main Content

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

rosinit

ROS ネットワークへの接続

R2019b 以降

説明

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 1.0476 seconds.
Initializing ROS master on http://172.30.241.97:50707.
Initializing global node /matlab_global_node_51070 with NodeURI http://dcc738542glnxa64:40917/ and MasterURI http://localhost:50707.

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

rosshutdown
Shutting down global node /matlab_global_node_51070 with NodeURI http://dcc738542glnxa64:40917/ and MasterURI http://localhost:50707.
Shutting down ROS master on http://172.30.241.97:50707.
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 で導入