ROS# is 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. (See code example below.)
Import your robot’s URDF model as a Gameobject in Unity3D (video).
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.
Control your real Robot via Unity3D (video)
Visualize your Robot’s actual state and sensor Data in Unity3D (video) (see image below).
Simulate your robot in Unity3D with the data provided by the URDF and without using a connection to ROS (see video and post below).
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!
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 (firstname.lastname@example.org), Siemens AG, Corporate Technology, 2017