Skip to content

owanachanaki/ros-sharp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

242 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ROS#

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!

UWP Compatibility

  • The guide line on how to recreate this fork was detailed in dwhit's fork
  • This rossharp version was built from the latest stable version of rossharp, v1.6

How to get started

  • Step 1: Clone this project
  • Step 2: Create a new Unity project and copy everything in Unity3D/Assets/RosSharp folder into your project's Assets folder
  • Step 3: After adding RosSharp into Asset Folder, import JSON .NET for Unity from Asset Store https://assetstore.unity.com/packages/tools/input-management/json-net-for-unity-1134
  • Step 4: Disable the Newtonsoft.Json in RosSharp/Plugins folder for all platform. This can be done in Unity, by opening the file in the Plugins folder and untick the options for all platforms.
  • Step 5: Construct your Unity scene with the examples from the wiki

Recent Changes

Automatic Message Generation:

With ROS# you can now generate C# classes of any ROS message, service or action type.

For example, the auto-generated class of sensor_msgs/JointState.msg is JointState.cs.

Please find the new library here and the console tool sources here. Please also note the new Unity Editor menu features.

Check out the new Wiki page for further info.

Namespace Changes:

We had to update the namespaces as follows:

old new
RosSharp.RosBridgeClient.Messages RosSharp.RosBridgeClient.MessageTypes
RosSharp.RosBridgeClient.Services RosSharp.RosBridgeClient.MessageTypes
RosSharp.RosBridgeClient.Messages.Standard RosSharp.RosBridgeClient.MessageTypes.Std
RosSharp.RosBridgeClient.Messages.Navigation RosSharp.RosBridgeClient.MessageTypes.Nav

Contents

Releases

In addition to the source code, Releases contain:

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.

Licensing

ROS# is open source under the Apache 2.0 license and is free for commercial use.

External Dependencies

RosBridgeClient requires:

Platform Support

  • 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.1 and Visual Studio 2019.

  • 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 .NET Standard 2.0 version of UrdfImporter here.

Further Info


© Siemens AG, 2017-2019

Author: Dr. Martin Bischoff (martin.bischoff@siemens.com)

About

ROS# is a set of open source software libraries and tools in C# for communicating with ROS from .NET applications, in particular Unity3D

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C# 96.4%
  • CMake 2.4%
  • Other 1.2%