Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

複数台PCでROSする用の設定用bash

More than 5 years have passed since last update.

タイトル的なものを作ってみました.
ROSで複数台のPCを使ってやり取りするためにはROS_IPROS_MASTER_URIをexportする必要があるのですが,
このやり方だといちいちターミナルごとにやらないといけないので,めっちゃめんどくさいです.
hostnameを設定してしまう方法もあるのですが,これはこれで設定変えるのがめんどくさいので,
ROS_IPROS_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で手動設定にしていると大丈夫でした.

参考

ROS/Tutorials/MultipleMachines
ROS/NetworkSetup

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away