ROS が独自のコンピューターを使用して他のデバイスに接続し、Rviz を表示する方法

Rviz の使用は、ROS 開発では非常に一般的です。便宜上、特定のデバイスの一部のデータを表示する必要がある場合がありますが、ひまわりのような直感的な接続ツールはありません (これらのツールは、デバイスがこれなしでは使用できない場合、画面に基づいています)その上の画面)。では、ssh しかない場合に rviz を表示するにはどうすればよいでしょうか?

通常の状況では、自分のコンピュータで rviz を直接開くと、次のように表示されます: これは、
ここに画像の説明を挿入
rviz が現在自分のコンピュータで開かれており、正常に開くには ros マスターが必要であるためです。この問題を解決するには、Let を解決するだけです。 LAN内のロスマスターを認識して接続します。方法も非常に簡単で、ROS には独自のマスター/スレーブ機構があり、デバイスが自分自身をマスターとして扱うことも、デバイスが自分自身をスレーブとして扱うこともできます。この時点で必要なのは、デバイスをマスターとして構成し、コンピューターをスレーブとして構成することだけです。

まず ifconfig を使用してデバイス IP を表示します。たとえば、ここでは 172.16.3.52 です。デバイス上の .bashrc ファイルを変更し、最後に次のように追加します。

export ROS_MASTER_URI=http://172.16.3.52:11311
export ROS_IP=172.16.3.52

ここに画像の説明を挿入
次に、コンピュータでコンピュータの IP を調べます。たとえば、私の IP アドレスは 2.195 です。コンピュータでそれを設定する必要があります。

export ROS_MASTER_URI=http://172.16.3.52:11311
export ROS_IP=172.16.2.195

ここでの ROS_MASTER_URI のアドレスはデバイスの IP であり、次の ROS_IP はコンピューターの IP であることに注意してください。

この時点で、コンピューター上で rviz を開くと、通常どおり起動して関連機能を使用できます。
ここに画像の説明を挿入
注:

マスター/スレーブ マシンを構成した後、それを使用しない場合は、コンピューター上のマスター/スレーブ マシンの設定をコメントアウトする必要があります。そうしないと、コンピューターで roscore を開いてもノードを開くことができなくなります。コンピュータ上:
ここに画像の説明を挿入これ 場合によっては、ノードが自身のコンピュータのマスターに接続していないか、ROS_MASTER_URI に設定されたマスターを探していることが判明することがあります。そのため、外部接続が切断されている場合は、最初にこの変更をコメントアウトするのが最善です。 。

おすすめ

転載: blog.csdn.net/YiYeZhiNian/article/details/130615290