質問: "hello world %s" % rospy.get_time() pub.publish(hello_str) rate.sleep() ``` 何かわかる方がいましたらアドバイスよろしくお願いします。
回答: 自己解決しました。 ### 原因 結論から言うとRosSharpがマスター側のノードのアドレスを見つけられないことが原因でした。 ubuntu側のRosのノードのアドレスが http://ホスト名:ポート番号/ ※例 http://EXMAPLE:34681/ という形になっているようです。 上記はRosのコマンド rosnode info トピック名 で確認できます。 RosSharpからRosMasterに接続する際には、ubuntu側のRosMasterのアドレスを http://IPアドレス:ポート番号/ ※例http://192.168.10.100:11311/ という風に指定します。 RosMasterへの接続はIPアドレスを発見できるため正常にできるのですが、そこからノードと通信をしようとしたときにホスト名で探しに行くため、ホスト名を解決できずエラーとなっていたようでした。 パブリッシャが正常に動作したのは、トピックをパブリッシュするためにはRosMasterのアドレスさえわかればいいためだと思われます。 ### 解決法 Windows側にホスト名を追加することで正常に動作しました。 具体的には C:\Windows\System32\drivers\etc\hosts をテキストエディタで編集しホスト名を追加しました。 詳しい編集方法などはwindows hostsなどで検索すれば出てくると思います。