タイトル的なものを作ってみました.
ROSで複数台のPCを使ってやり取りするためにはROS_IP
とROS_MASTER_URI
をexportする必要があるのですが,
このやり方だといちいちターミナルごとにやらないといけないので,めっちゃめんどくさいです.
hostnameを設定してしまう方法もあるのですが,これはこれで設定変えるのがめんどくさいので,
ROS_IP
とROS_MASTER_URI
をexportするbashを生成して,それを.bashrcが呼ぶようにしました.
ここから使ってみてください:)
使い方
複数PCでROSを回すときは
$ ./ros_ip_setup [このPCのIP] [roscoreが回るPCのIP]
$ source ~/.bashrc
とすると,設定できる.
元に戻すときは,
$ ./ros_ip_setup -0
$ source ~/.bashrc
でPC1台でROSを回す環境に戻せる.
# roscoreを回すPCでは,$ ./ros_setup [このPCのIP] [このPCのIP]
と二度手間だったり,
# そもそも自分のIPぐらい自動で取ってこれると思うけれど,今は保留ということでおなしゃす...
もしtf使うのであれば,時刻同期が必要です.
一応公式ページでは,chronyが推されますが,
そちらの設定bashもここにありますので,もしよければ使ってみてください:)
こちらは,chronyをapt-getでインストールして,
$ ./chrony_setup [NTPサーバマシンのIP]
とすると設定でき,
元に戻すときは
$ ./chrony_setup -0
でいけます.
注意
持ってきたスクリプトを実行可能にするのを忘れないで下さい.
$ chmod +x ros_ip_setup
か,右クリック→プロパティ→アクセス権からプログラムとして実行可能にチェックでできますね.
あと,chrony_setupを使うときにそれぞれのPCのシステムの時刻(右上のインジケータに出ている時刻)がズレてるとうまくいきませんでした.
(当たり前なのかな?その辺詳しくないのでよくわかりませんが...)
とりあえず自分の環境では,全てのPCで手動設定にしていると大丈夫でした.