LoginSignup
1
2

More than 3 years have passed since last update.

unityを用いずにwindowsアプリケーション(C#)とros(ubuntu)で通信を行う

Posted at

初めに

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にある、実行ファイルを実行します。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2