初めに
siemens社のros-sharpによりrosbridgeを用いてros melodicと通信を行います。
ros-sharpを動かすpcとrosを動かすpcの二台が同じlan環境内にあることを前提とします。
ros-sharpは、visual studio 2019 community を用いて開発を行います。
rosは、ubuntu 18.04 & melodicです。
環境構築
ROS
ros bridgeを参考に行います。
sudo apt-get install ros-melodic-rosbridge-server
rosのバージョンは環境に合わせて読み替えてください。
また、私の環境ではポート9090を開放しないと上手く動きませんでした。
Windows
リポジトリを適当なところにzipでダウンロードしてください。
ビルド
windows
ros-sharp-master→Libraries内のRosSharp.slnをvisualstudioで開きます。
main関数はRosSocketConsoleExample.csにあり、
RosSocketConsoleExample.cs
static readonly string uri = "ws://192.168.***.***:9090";
には、rosを動かしているpcのipアドレスを入力します
RosBridgeClientTestをスタートアッププロジェクトにしてビルドを行います。
実行
ros側を先に実行します。
3つターミナルを立ち上げて実行します。
ROS
1
export ROS_IP=192.168.***.***
export ROS_MASTER_URI=http://192.168.***.***:11311
roslaunch rosbridge_server rosbridge_websocket.launch address:=192.168.***.***
2
rostopic echo /publication_test
3
rostopic pub /subscription_test std_msgs/String "subscription test message data"
windows
ros-sharp-master\Libraries\RosBridgeClientTest\binにある、実行ファイルを実行します。