ROSの基本操作


【リモートPC側操作】

 $ roscore

後日IPアドレス固定でマスターは「192.168.1.200」となっています。



【TURTLEBOT3側操作】リモートPCよりSSH操作

 $ roslaunch turtlebot3_bringup turtlebot3_robot.launch<後日TURTLEBOT3側アドレスは、192.168.1.100 に変更>


ROS master [http://192.168.1.83:11311] に接続できないというエラーが発生。
リモートPCから「ssh jun@192.168.1.87」でSSH通信成功しているし、各PCからのPING「192.168.1.83 , 192.168.1.87 」もOKである。
SSH通信を使用せず、TURTLEBOT3側で直接コマンドを実行しても同様である。

原因が2個ありました。
1.リモートPC側の「~/.bashrc」内にマスター、ホストアドレスがダブって設定されていた。
  以前設定していたものが残っていた<コメントアウトして対応>
2.リモートPC側がファイアーウオールがかかっていた
  確認方法:sudo ufw status これで「active」なら無効化が必要
  無効化方法:sudo ufw disable 


無効化



再度、「roscore」から初めてSSH通信でTURTLEBOT3をリモートPCから制御
「$ roslaunch turtlebot3_bringup turtlebot3_robot.launch」コマンドを結果、見事に成功でした。



その他に色々なトラブルがここで発生する可能性があります。その場合以下の事も試してみてください。
turtlebot3_bringup が見つからない場合があります。<実は今回発生しています>
このパッケージが存在するか確認してみます。

 $ rospack find turtlebot3_bringup

not という found エラーがでれば、このパッケージは有りません。

もう一度
 $ cd catkin_ws
 $ catkin_make
 $ source devel/setup.bash
してください。
これでだめなら

 $ source /opt/ros/kinetic/setup.bash

これでだめなら最初からセットアップを実行しましょう。
但し、何回もセットアップをやり直しすると「~/.bashrc」内に同じ設定がダブって出来上がり動作が不安定になるので要注意です。
この場合 $ nano ~/.bashrc で中を確認し不要部分があれば削除かコメントアウトしましょう。