Announcing ROS#

This is a guest blog post by Martin Bischoff on behalf of his employer Siemens AG. Thanks to Martin for the update, and to Siemens for its generous support to the ROS-Industrial Consortium!

We are happy to announce that we published ROS# on!

RosSharpLogo.png a set of software libraries and tools in C# for communicating with ROS from .NET applications, in particular Unity.

ROS# consists of:

  • RosBridgeClient, a .NET API to ROS using rosbridge_suite on the ROS side.
  • UrdfImporter, a URDF file parser for .NET applications.
  • RosSharp.unitypackage, a Unity Asset package providing Unity-specific extensions to RosBridgeClient and UrdfImporter.

ROS# helps you to:

  • Communicate with ROS from within your Windows app: subscribe and publish topics, call and advertize services, set and get parameters and use all features provided by rosbridge_suite.
  • Import your robot's URDF model as a Gameobject in Unity3D. Import the data either directly from the ROS system using the robot_description service or via a URDF file that you copied into your Unity Asset folder.

(click on the images for videos)

  • Control your real Robot via Unity3D.
  • Visualize your Robot's actual state and sensor Data in Unity3D.
  • Simulate your robot in Unity3D with the data provided by the URDF and without using a connection to ROS. Beside visual components as meshes and textures, also Joint parameters and masses, CoMs, Inertia and Collider specifications of Rigidbodies are imported.
  • And much more! ROS# is useful for a wide variety of applications. Think about Machine Learning, Human-Machine Interaction, Tele-Engineering, Virtual Prototyping, Robot Fleet Operation, Gaming and Entertainment!

Got Interested?

Please do not hesitate to try it out yourself and to get in touch with us! We are very interested in your feedback, applications, improvement suggestions, and contributions!

ROS# Development Team (, Siemens AG, Corporate Technology, 2017