ROS(Robot Operating System)を使う
安曇野の森から > ROS(Robot Operating System)を使う > ログ表示
ネットワーク接続されたマシン上で動作しているノードは、ネットワーク接続された他マシン上で動作しているノードとの間で通信することが出来ます。
ただし、マスターだけはネットワーク上の1台のみで動作している必要があります。
このマシン間通信を実現するために各マシンの環境変数ROS_MASTER_URIにマスターが動作するマシンを登録しておく必要があります。
2台のマシンと各マシンにメッセージ送受信のプログラムを用意します。
今回は前のページメッセージで使ったサンプルプログラムpub_testとsub_testをノートPCとRapberry Piに入れてノード間接続を試してみます。
ホスト名を使って接続するには各マシンの/etc/hostsに互いのIPアドレスとホスト名のペアを以下のように記載しておきます。
ここではノートPCに「CF-J9」、Raspberry Piに「raspberrypi」というホスト名を付けています。IPアドレスは各自の環境に合わせて変えてください。
/etc/hostsを使わない場合は以降の説明の中でホスト名が出てくる箇所をIPアドレスで書き換えて使ってください。
以下のコマンドをノートPCのターミナルで実行してノートPCからRaspberry Piへpingが通るか確認します。
pingが通らない場合はRaspberry Piに電源が入っているか、無線LAN設定が間違っていないかを確認してください。
ノートPC(ホスト名:CF-J9)とRaspberry Pi(ホスト名:raspberrypi)という2つのマシン間で通信する場合の手順は以下のとおりです。
以上の操作でRaspberry PiからのメッセージがノートPCのサブスクライバ―を起動したターミナルに表示されます。