ROS# is a set of open source software libraries and tools in C# for communicating with ROS from .NET applications, in particular Unity.
Here are some showcases illustrating what can be done with ROS#. Community provided a variety of other application examples for ROS# here. Please don't hesitate to post yours!
The biggest changes in ROS# Version 1.5 are:
-
ROS Action Support: Please check out the FibonacciActionServer and FibonacciActionClient example and find the corresponding ROS tutorial here.
-
Message Class Generation via Unity Editor: Please check out the new Unity menu item
RosBridgeClient > Generate Messages > ...
This wiki page gives an overview on the different options to generate new message files. -
BSON (De-)Serialization: As alternative to JSON, you can now select to set up BSON communication with
rosbridge_server
. Make sure to activatebson_only_mode
when launchingros_bridge_server
as explained here.
Please also check out the Wiki page on Coordinate System Conversions between ROS and Unity.
- Libraries: .NET solution for RosBridgeClient, Urdf
- ROS: ROS packages used by ROS#.
- Unity3D: Unity project containing
- Unity-specific extensions to RosBridgeClient and Urdf
- example scenes and reference code (see Wiki)
In addition to the source code, Releases contain:
- a Unity Asset Package containing the Unity3D project assets:
- to be imported in other Unity projects using ROS#.
- binaries of RosBridgeClient and Urdf
- to be used in other .NET projects using these libraries.
The latest release is also being published in the Unity Asset Store.
Please get the latest development version directly from the tip of this master branch.
ROS# is open source under the Apache 2.0 license and is free for commercial use.
RosBridgeClient requires:
- Newtonsoft.Json (MIT License)
- Newtonsoft.Json.Bson (MIT License)
- websocket-sharp (MIT License), required only when using WebSocketSharpProtocol
-
ROS# is developed for Windows and has successfully been used on a variety of other platforms community members.
-
The RosSharp Visual Studio solution requires .NET Framework 4.6 and Visual Studio 2017.
-
The Unity Project Unity3D requires Unity Version 2018.3 and higher. In Versions below 2019.3, make sure to set the scripting runtime version to
.NET 4.x Equivalent
(see Wiki page). -
Please find a UWP version of ROS# here.
-
Please find a .NET Standard 2.0 version of UrdfImporter here.
© Siemens AG, 2017-2019
Author: Dr. Martin Bischoff (martin.bischoff@siemens.com)