Only released in EOL distros:
Package Summary
The remonot monitor package
- Maintainer status: maintained
- Maintainer: Arita Yuta <k104009y AT mail.kyutech DOT jp>, Masaru Morita <p595201m AT mail.kyutech DOT jp>, Doi Yusuke <o111027y AT mail.kyutech DOT jp>
- Author: CIR-KIT <cirkit.infomation AT gmail DOT com>
- License: BSD
- Bug / feature tracker: https://github.com/CIR-KIT/remote_monitor/issues
- Source: git https://github.com/CIR-KIT/remote_monitor.git (branch: indigo-devel)
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
下記のコマンドで上記動画のように遊べるはずです
$ 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側node.serviceで受信した位置と姿勢を地図上に表示させる.
monitor_client
移動ロボット側node.一定距離毎に現在位置と姿勢をserviceで送信する.
デフォルトでは/amcl_poseをsubscribeする.
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]毎)
- subscribeするトピック名
Commands
地図画像をアクティブにした状態で下記キーを入力するとモードを切り替えられます.
c (current)
- 現在のロボットの位置のみを地図上に表示します.
- 履歴を含んだロボットの位置を地図上に表示します.
- history モードの履歴をクリアします.
- 地図を拡大します.historyモードの履歴は削除します.
- 地図を縮小します.historyモードの履歴は削除します.