Only released in EOL distros:  

Package Summary

The remonot monitor package

About

Remote monitoring package for navigation with OpenVPN. We actually succeeded in remotely monitoring Robots/CIR-KIT-Unit03's pose running in Tsukuba from Fukuoka (1200 km away)

How to connect remote PCs with OpenVPN can be seen in Qiita: 図解!UbuntuでOpenVPNを使う (Japanese Page).

Tutorial to integrate OpenVPN and ROS is ROS で OpenVPN を使う (Japanese Page).

Demo Video

remote_monitor

下記のコマンドで上記動画のように遊べるはずです

$ roslaunch cirkit_unit03_autorun autorun_gazebo.launch 
$ roslaunch remote_monitor remote_monitor_server_gazebo.launch
$ roslaunch remote_monitor remote_monitor_client_gazebo.launch 

Nodes

monitor_server

  • 遠隔監視PC側nodeserviceで受信した位置と姿勢を地図上に表示させる.

monitor_client

  • 移動ロボット側node.一定距離毎に現在位置と姿勢をserviceで送信する.

  • デフォルトでは/amcl_posesubscribeする.

Installation

以下のコマンドにしたがってインストールしてください. なお<catkin_ws>は,任意のcatkinizeされたワークスペースへのパスを表します.

Clone the repository

$ cd <catkin_ws>/src
$ git clone https://github.com/CIR-KIT/remote_monitor.git

Clone the dependent repository via wstool

$ cd <catkin_ws>
$ wstool init src
$ wstool merge -t src src/remote_monitor/remote_monitor.rosinstall
$ wstool update -t src

Clone the dependent repository via rpsdep

$ rosdep update && rosdep install -r -y --from-paths src --ignore-src

Build

$ cd <catkin_ws>
$ catkin_make
$ source devel/setup.bash

How to launch

service server

  • 地図の在処として,下記のパッケージ配下のフォルダを見に行きます.
    • $(find cirkit_unit03_maps)/map/`
  • 地図名は引数で指定して下さい.

実機の場合のコマンド

$ roslaunch remote_monitor remote_monitor_server.launch map_yaml:=hogehoge.yaml

`Gazebo`の場合のコマンド

$ roslaunch remote_monitor remote_monitor_server_gazebo.launch map_yaml:=hogehoge.yaml

=== service client ===

サーバー側のグローバルIPを設定する.

  • まずサーバ側の人にグローバルIPを聞く.
  • 以下の要領で設定ファイルに反映させる.

$ cd /etc/openvpn
$ emacs client.conf

client.conf

# 省略

# グローバルIPアドレスを指定する.
remote 101.102.103.xxx 1194

# 省略

==== OpenVPNを再起動する. ====

$ service openvpn restart

==== ネットワークを確認する. ====

$ ifconfig
  • 下記のようなtunデバイスが表示される.少し時間がかかる場合がある.

tun0      Link encap:不明なネット  ハードウェアアドレス 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inetアドレス:10.8.0.6  P-t-P:10.8.0.5  マスク:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  メトリック:1
          RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:12 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:100 
          RXバイト:2892 (2.8 KB)  TXバイト:504 (504.0 KB)
  • そしてサーバにping.

$ ping 10.8.0.1

ROSネットワークの設定

  • 必ず「全てのコンソール」で下記の設定をすること.

export ROS_MASTER_URI=http://10.8.0.6:11311
export ROS_HOST_NAME=10.8.0.6
export ROS_IP=10.8.0.6
  • 下記をsourceでもよい.

roscd remote_monitor/scripts
source vpn_setting_for_robot.sh
  • 一応確認する.

$ env | grep ROS

ROSネットワークの確認

$ rosservice list
  • 下記のサービスがあることを確認する.

/remote_monitor_robot_pose
/remote_monitor_human_pose

モニタークライアントを起動する

実機設定

$ roslaunch remote_monitor remote_monitor_client.launch

Gazebo設定

$ roslaunch remote_monitor remote_monitor_client_gazebo.launch

parameters

/config/remote_monitor_server.yaml

ratio (double, default: 0.2)

  • 元画像ファイルを表示する際の初期縮小率

/config/third_robot_client.yaml

interval_dist (double, default: 1.0)

  • 現在地を送る周期(距離[m]毎)
pose_topic (string, default: "amcl_pose")
  • subscribeするトピック名

Commands

地図画像をアクティブにした状態で下記キーを入力するとモードを切り替えられます.

c (current)

  • 現在のロボットの位置のみを地図上に表示します.
h (history)
  • 履歴を含んだロボットの位置を地図上に表示します.
r (reset history)
  • history モードの履歴をクリアします.
p (plus to ratio)
  • 地図を拡大します.historyモードの履歴は削除します.
m (minus to ratio)
  • 地図を縮小します.historyモードの履歴は削除します.

Wiki: remote_monitor (last edited 2016-12-23 19:44:05 by MoriKen)