Skip to content

How to use Global IP Address in ROS

Masato-Imai edited this page Dec 3, 2019 · 2 revisions

How to use Global IP Address in ROS

使用するホスト名とIPアドレスの確認(例)

ホスト名 ローカルIP グローバルIP
CFSZ6-4L 192.168.102.2 10.52.18.2
NUC8i5BEK (roscore) 192.168.103.2 10.52.18.3
P2SEN-1 192.168.104.2 10.52.18.4
P2SEN-2 192.168.105.2 10.52.18.5
P2SEN-3 192.168.106.2 10.52.18.6
P2SEN-4 192.168.107.2 10.52.18.7

ルータ側

  • NAT(ないしポートマッピング)の設定

以下のように設定し、ローカルIPとグローバルIPを対応させてください PortMapping この段階でsshやnetcatなどを使って、きちんと設定できているか確認しておくと良いです

(加えて、パケットフィルタの設定も必要かもしれません)

PC側

  • /etc/hostsの編集

これにより、ホスト名とIPアドレスを対応させます
例えば、CFSZ6-4Lでは以下のように追記します

127.0.0.1 localhost
#127.0.1.1 CFSZ6-4L

# ROS LTE
## Me (Local IP)
192.168.102.2 CFSZ6-4L
## Others (Global IP)
10.52.18.3 NUC8i5BEK
10.52.18.4 P2SEN-1
10.52.18.5 P2SEN-2
10.52.18.6 P2SEN-3
10.52.18.7 P2SEN-4

自分のホスト名に対してはローカルIPを、他のホスト名に対してはグローバルIPを対応させます

  • ~/.bashrcの編集

すべてのPCにおいて、以下を設定してください

export ROS_MASTER_URI=http://NUC8i5BEK:11311

roscoreを立ち上げるマシンでは自分のローカルIPを、それ以外ではroscoreを立ち上げるマシンのグローバルIPを設定すれば良いですが、編集するファイルをできるだけ最小限にするためホスト名で書いておくことを推奨します。

なお、~/.bashrcにはROS_MASTER_URIのみ設定し、ROS_HOSTNAMEやROS_IPは設定しないでください

Clone this wiki locally