ロボットにはsshでログインするとします.私の場合,ロボット側のリソースが非常に貧相な環境ですのでROSをインストールするにあたり,ros-baseをインストールしています.つまりデスクトップフルバージョンではないんですね.ROSにまつわるGUI関連のパッケージはないし,rvizもないです.
今回紹介する方法は実行するPCとモニタリングするPCは通信させます.
1. 環境と事前準備
実行するロボット側のPCと,それをモニタリングする側のPCがあるとします.
OS : Ubuntu16.04LTS
ROS : kinetic
両方とも同じです.
実行するロボット側に入れます.サーバーが入られる方でクライアントが入る方ですね.
sudo apt-get install openssh-server
2. 実行するPCの準備
IPアドレスを入力するのがだるいのでファイルで管理します.emacsはインストールしてるよね?
cd
sudo emacs /etc/hosts
なんか同じような様式のモノが書かれていたらその下にでも書いちゃいましょう.
192.168.100.101 execution_pc
192.168.100.102 monitoring_pc
ここでは,
実行PCのIPアドレスが192.168.100.101
モニタリングPCのIPアドレスが192.168.100.102
とします.
IPアドレスの横に名前を書くことでtabを押しても出てくるようになります.
次に
cd
emacs .bashrc
一番下に以下を追記します.
export ROS_MASTER_URI=http://execution_pc:11311
export ROS_HOSTNAME=execution_pc
上でマスター:roscoreするPCのIPアドレスを定義,
下で自分のIPアドレスをROSに教えています.
保存したら
source .bashrc
で変更完了です.
3. モニタリングするPCの準備
コマンドも書き込むのもほとんど同じです.
cd
sudo emacs /etc/hosts
追記内容も同じです.IPアドレスはあらかじめどちらも固定されてるといいですね.
192.168.100.101 execution_pc
192.168.100.102 monitoring_pc
毎回使えるようにします.
cd
emacs .bashrc
一番下に以下を追記します.
export ROS_MASTER_URI=http://execution_pc:11311
export ROS_HOSTNAME=monitoring_pc
ここだけ違いますね.モニタリングPCに教える自分のIPアドレスです.
source .bashrc
4. 確認
モニタリングPCにて
ssh PCの名前@execution_pc
パスワードを入力したら
roscore
次にモニタリングPCで新しくターミナルを開きます.
rostopic list
として/rosout とか/rosout_aggとか出ていれば完了です.
0 件のコメント:
コメントを投稿