-
Notifications
You must be signed in to change notification settings - Fork 1
GUIを用いない操作
複数台PCでROS通信をする場合、roscoreが起動しているPCのIPアドレス(ROS_MASTER_URI)と 自身のPCのIPアドレス(ROS_IP)の設定が必要になります。 設定方法としてはいくつかありますが、下記では、roscoreが起動しているPCをロボットPC(IP:192.168.0.50)とし、 roscoreが起動していないPCを遠隔操作用PC(IP:192.168.0.200)としたうえで、2パターンの設定方法例を記載します。
- 環境変数を直接入力する
- ロボットPCでROS_IPを設定する :
$ export ROS_IP=192.168.0.50
- ロボットPCでroscoreを起動する :
$ roscore
- 遠隔操作用PCでROS_IPを設定する :
$ export ROS_IP=192.168.0.200
- 遠隔操作用PCでROS_MASTER_URIを設定する :
$ export ROS_MASTER_URI=http://192.168.0.50:11311
- アプリケーション(jsk_commonを使う)
- ロボットPCでROS_IPを設定する :
$ rossetip 192.168.0.50
- ロボットPCでroscoreを起動する :
$ roscore
- 遠隔操作用PCでROS_IPを設定する :
$ rossetip 192.168.0.200
- 遠隔操作用PCでROS_MASTER_URIを設定する :
$ rossetmaster 192.168.0.50
操作手順では、後者を用いた設定について記載します。
また、SEED-Moverにはディスプレイが接続されていないため、SSH接続する必要があります。
SSH接続をするとターミナル毎に上記設定をする必要があり、かつターミナルを落とすとプログラムも停止するため、仮想ターミナルを用いると便利です。操作手順では仮想ターミナルとしてbyobuを用いた起動手順について記載します。
ロボットPCのIPアドレスをIP:192.168.0.50
、遠隔操作用PCのIPアドレスをIP:192.168.0.200
と仮定して説明します。
-
遠隔操作用PCにて新規ターミナルを開き(
Ctrl + Alt + t
)、ロボットPCに対してSSH接続する$ ssh [email protected]
ロボットPCの出荷時ユーザー名とパスワードはともに
seed
です。 本ターミナルを以降ではロボットターミナルと呼びます。 -
ロボットターミナル上でROS_IPを設定し、byobuを開く
$ rossetip 192.168.0.50 $ byobu
-
ロボットターミナルのbyobu上で下記コマンドを実行する
$ roslaunch task_programmer robot_bringup.launch
-
新規ターミナルを開き(
Ctrl + Alt + t
)、下記コマンドを実行してRvizを開く$ rossetip 182.168.0.200 $ rossetmaster 182.168.0.50 $ roslaunch task_programmer view.launch
このときロボットモデルは表示されませんが、地図の作成と保存もしくはwaypointの作成と確認をすることで表示されます。
-
ロボットターミナルのbyobu上で
F2
を押し(byobu内で新規ターミナルを開き)、下記コマンドを実行する$ roslaunch task_programmer make_map.launch
-
ゲームパッドを用いてSEED-Moverを操作し、地図が完成するまで走り回る
ゲームパッドでの移動はこちらを参照してください。
-
ロボットターミナルのbyobu上で新規ターミナルを開き(
F2
)、下記コマンドを実行して地図を保存する$ roslaunch task_programmer map_saver.launch
この時、地図は
/task_programmer/config/maps
ディレクトリに保存されます。 -
全てのプログラムを終了(
Ctrl + c
)する
byobu内の別ターミナルに移動する場合はF3
かF4
を押してください。
-
コントローラの起動を実行する
-
ロボットターミナルのbyobu上で新規ターミナルを開き(
F2
)、下記コマンドを実行する$ roslaunch task_programmer static_map.launch
-
Rviz画面にて、初期位置合わせをする
RViz上の“2D Pose Estimate”を選択し、画面上をクリック&ドラッグ&ドロップして現在位置を設定します。
この時、保存した地図とLiDARの点がおおよそ重なるまで繰り返してください。
-
ゲームパッドを用いてwaypointを登録する
ゲームパッドでの登録方法はこちらを参照してください。 -
ロボットターミナルのbyobu上で新規ターミナルを開き(
F2
)、下記コマンドでポイント0へ移動する事を確認する$ rosrun task_programmer go.py 0
0はポイント番号です。その他のポイントへ移動したい場合は、対応する数字を入力してください。
-
waypointの作成と確認を行った状態で、プログラムを終了していないものとする
-
下記コマンドを実行する
$ rosrun task_programmer start.py
この時、
/config/scenario.yaml
が読み込まれます。他のYAMLを読み込みたい場合は、引数に加えてください。
たとえば/config/test.yaml
を実行したい場合は下記のようになります。$ rosrun task_programmer start.py test.yaml
実機環境が無くてもRVizのみで動作確認可能です。
PC1台だけでRvizを用いて動作確認する方法を下記に示します。
- 地図ファイル(画像と設定データ)を用意し、
/config/mas
に保存する
任意のmap.pgm
とmap.yaml
を作成してください。
地図ファイルに関してはROS Wikiなどを参照してください。 - 下記コマンドを実行して、コントローラの起動、Rvizの起動を行う
$ roslaunch task_programmer simulation.launch $ roslaunch task_programmer view.launch
- 下記コマンドを入力してシナリオを実行する
別シナリオの実行はシナリオの実行を参考にしてください。
$ rosrun task_programmer start.py