2023年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

カテゴリー

ブログパーツ

無料ブログはココログ

« metapackagesのもやもや解消せず | トップページ | roombaにURG-04LXを搭載 »

2013年9月24日 (火)

リモートマシンのパッケージをroslaunchで起動

ROSさんお手やわらかに:ROS奮闘編

以前投稿した、2台のパソコンでroombaを動かすプロセスの起動を、roslaunchで自動化する。これをしないと、面倒でたまらない。

まず、ネットワークで使うための設定ファイルを作る。

T61のcatkin_ws/devel/setup.bashをコピーして、同じフォルダにネット用の設定ファイルrbsetup.bashを作る。環境変数をセットするコマンドを追加したものだ。

export ROS_MASTER_URI=http://T61:11311
export ROSLAUNCH_SSH_UNKNOWN=1

最初のはT61をローカルネットワークのマスター(roscoreを実行)にする設定、次のはroslaunchで他のマシンにアクセスする際、sshでリジェクトされないようにする設定。

リモートマシンを使用するには、T61で端末を開くたびに、setup.bashに代わり
$ source ~/catkin_ws/devel/rbsetup.bash
で環境を設定する。

次にlaunchファイル、rb.launchを作る。

これの2行めで相手のマシン、X61を定義する。このとき、相手のマシンにログインするuserとpasswordを設定しないとだめ。sshを設定して対応する方法もあるようだが、解らないのでこれでいく。passwordは、マニュアルで、使わないことを強く勧めているが、そういう次第なのでやむを得ない。

こうしておくと、nodeタグでmachineにX61を指定すると、そちら側のノードを起動できる。machineを指定しないとroslaunchを実行したマシンの指定になる。この場合はT61だ。

env-loader="/home/hanaokacyan/catkin_ws/devel/env.sh"はリモートマシン側の環境変数の設定スクリプトだが、何も考えずこれでいいみたい。マニュアルどおりだ。 ROS_MASTER_URIの設定は自動的にやってくれる。

こうして作ったrb.launchは、どれかのパッケージのlaunchフォルダに置くのが決まりだが、基本的にどこに置いてもOKだ。これで、これからの実験がやりやすくなる。

なお、電源が入れにくかったroombaだが、箱の中にリモコンを発見。こんなものがついていたのには気がつかなかった。これで、こちらの問題も解決だ。

Dscn2642

« metapackagesのもやもや解消せず | トップページ | roombaにURG-04LXを搭載 »

ROSさんお手やわらかに」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: リモートマシンのパッケージをroslaunchで起動:

« metapackagesのもやもや解消せず | トップページ | roombaにURG-04LXを搭載 »