raspberry pi とノートpcをROSを用いて通信させる
raspberry piとノートpc上の仮想マシンとして起動しているubuntuをROSを用いて通信させる。
[参考]
ja/ROS/Tutorials/MultipleMachines - ROS Wiki
ja/ROS/NetworkSetup - ROS Wiki
[log]
hostとなるubuntuでroscore(master)を起動後
clientとなるraspberry piからhokuyo_nodeを起動させる。
このとき
Couldn't find an AF_INET address for [ubuntu]
というエラーが発生した。
これをhostとclientとの通信がうまくいってないためだと
予測し、pingで通信を確認した。
結果、hostからclientのpingは通ったが
clientからhostへのpingは通らなかった。
他のマシンではこのようなエラーは出なかったため
仮想マシンの設定が原因だと考えた。
仮想マシンのネットワーク設定をNATからブリッジに
変更したところ、これを解決することができた。
しかし、依然、最初に出たエラーは変わらず
Couldn't find an AF_INET address for [ubuntu]
と出てくる。
このエラーについて検索したところ
ROS_IPの設定をすれば解決すると出てきた。
[host]
$ export ROS_IP=`hostname -I`
$ export ROS_MASTER_IP=http://`hostname -I`:11311
$ export ROS_MASTER_URI=http://`hostname -I`:11311
$ roscore
[client]
$ export ROS_IP=`hostname -I`
$ export ROS_MASTER_IP=http://(hostのhostname -Iに表示された数字、文字を入れる):11311
$ export ROS_MASTER_URI=http://(hostのhostname -Iに表示された数字、文字を入れる):11311
& rosrun hokuyo_node hokuyo_node
これで解決。
hostnameをわかりやすい名前に設定したほうがいいかも。
[追記]
後日この記事の手順で詰まった。
IPとURIを間違えた。
(参考)
ROS/Troubleshooting - ROS Wiki
http://www.umiacs.umd.edu/~cteo/umd-erratic-ros-data/README-rvis-remote