Skip to content

Releases: siemens/ros-sharp

ROS# Version 2.1.0

20 Jan 17:58
a8c5e50
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[2.1.0] - 20.01.2025

Added

  • ROS2 Action Support:
    • In ActionClient.cs and ActionServer.cs, new methods were introduced for setting, sending, canceling, and responding to action goals, accommodating ROS2-specific parameters like feedback, fragment size, and compression, etc. Additionally, Communicators.cs now includes new classes—ActionConsumer and ActionProvider—which facilitate ROS2 action goal management and feedback/result handling (including non-blocking listener callbacks, custom delegates, and more).

      • Derived example classes FibonacciActionClient.cs and FibonacciActionServer.cs and their console examples are updated as well.
    • ActionServer.cs now features the ROS2 server state machine model (ROS2 Design - Actions)

    • Namespace and Message Type Integration:

      • Across key files such as ActionAutoGen.cs, FibonacciActionClient.cs, and FibonacciActionServer.cs, namespaces were updated to RosSharp.RosBridgeClient.MessageTypes.Action, aligning with ROS2. Furthermore, message types and identifiers were modified to reflect ROS2 constructs.
    • Abstract Action Message Types:

      • In ActionFeedback.cs, ActionResult.cs, and ActionGoal.cs, (TActionFeedback/Result/Goal) new properties were added to support ROS2's (action) feedback system and result tracking, enhancing metadata management.
    • Utility and Infrastructure Enhancements:

      • RosSocket.cs now feature new methods for ROS2 action advertising, unadvertising, managing action goals, cancel requests; feedback, result and status responses.
      • Communication.cs now feature ROS2 action message structures defined by the ROS Bridge Protocol.
    • MessageGeneration Support for ROS2 Actions:

      • In ActionAutoGen.cs, automatic action message generation capabilities have been implemented, including dynamic package inclusion, default and parameterized constructors based on ROS version.
    • ROS2 Action Support for Unity Fibonacci Examples

Changed/Removed

  • There were no changes/removals affecting ROS1 functionalities. All new ROS2 enhancements were contained within conditional compilation directives, thereby maintaining the continuity of ROS1 operations.

ROS# Version 2.0.0

10 Oct 14:04
fa4003b
Compare
Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[2.0.0]

Added

  • Unity package supports UPM and requires Unity 2022.3.
  • ROS2 support is available for both the Unity Package (com.siemens.ros-sharp) and the complete ROS# .NET solution, including RosBridgeClient, MessageGeneration, and Urdf (Libraries).
  • New ROS packages: File Server, Unity Simuatlion Scene, and Gazebo Simulation Scene, with ROS2 support.
  • Unity Simulation Scene and Gazebo Simulation Scene, included in the Unity Package for ROS2 support.
  • RawImageSubscriber script is now part of the Unity package.
  • Post-build events for Visual Studio streamline development between Unity and .NET.

Fixed

  • UrdfTransfer files use serializer-specific methods instead of Newtonsoft JSON.

Changed

  • RosBridgeClient, MessageGeneration, and Urdf support .NET 8.0.
  • RosBridgeClient, MessageGeneration, and Urdf source code is included in the Unity Package; and no longer dynamically linked to the Unity package.
  • Switched from websocket-sharp to websocket-sharp.netstandard.
  • The JoyAxisReader script in the Unity package inherits from IAxisReader interface for increased applicability.
  • The ImageSubscriber script in the Unity package is renamed to CompressedImageSubscriber.
  • URDF export and import windows in the Unity package utilize the existing RosSocket component in the scene.
  • Thread safety for Subscriber : RosBridgeClient.Communication. Each Subscriber, including .NET and Unity package, can be configured to receive thread-safe.

Removed

  • Newtonsoft BSON is no longer supported.

ROS# Version 1.7.0

01 Feb 10:00
Compare
Choose a tag to compare
  • updating to Unity Version 2019.4.18f1
  • multiple minor fixes, see commit history for details

ROS# Version 1.6.0

20 Dec 14:54
Compare
Choose a tag to compare

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.

Action Server and Action Client Revision:

  • Check out the new Wiki pages for [Action Server] and [Action Client] for further info.

ROS# Version 1.5.0

28 Jun 13:55
Compare
Choose a tag to compare

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 activate bson_only_mode when launching ros_bridge_server as explained here.

The attached binaries are:

  • RosSharp.unitypackage : complete ROS# Unity Package containing all assets of the Unity3D project
  • RosBridgeClient.dll: the build of RosBridgeClient project
  • Urdf.dll: the build of Urdf project

ROS# Version 1.4.0

20 Dec 09:40
Compare
Choose a tag to compare

This version gives you the possibility to create, modify and export your URDF models with all comforts of the Unity Editor!

The biggest changes since Version 1.3 are:

  • Urdf Libary: The UrdfImporter project was renamed to Urdf. It now supports the ability to both read from and write to URDF files.
  • Create, Modify, and Export URDF models in Unity: ROS# now supports creating and exporting URDF models directly in Unity. It is also possible to modify and re-export an existing URDF model.
  • Transfer URDF files from Unity to ROS: Previously it was only possible to transfer/import URDF files from ROS to Unity. Now ROS# can send a URDF and all its meshes from Unity to a package in ROS.
    Please see the Wiki, especially Section 3.2, for further info.

The attached binaries are:

  • RosSharp.unitypackage : complete ROS# Unity Package containing all assets of the Unity3D project
  • RosBridgeClient.dll: the build of RosBridgeClient project
  • Urdf.dll: the build of Urdf project

ROS# Version 1.3.0

13 Sep 14:45
Compare
Choose a tag to compare

This version comes with the following changes in RosBridgeClient as discussed in Issue #59:

  • Generic Communication Protocol Interface: an interface to the communication protocol used by RosBridgeClient. It currently comes with two implementations: WebSocketNetProtocol and WebSocketSharpProtocol
  • Message Type Structure: a more ROS-oriented structure of message types, including further code simplifications
  • Simplified Message Handling in Unity: a simplified structure with even better performance. It requires a different placement of ROS# components in Unity scene.

Please see the Wiki and the videos of UnitySimulationScene and GazeboSimulationScene for a detailed info on how to use the new framework.

The attached binaries are:

  • RosSharp.unitypackage : complete ROS# Unity Package containing all assets of the Unity3D project
  • RosBridgeClient.dll: the build of RosBridgeClient project
  • UrdfImporter.dll: the build of UrdfImporter project

ROS# Version 1.2.3

23 Jul 14:24
Compare
Choose a tag to compare

This version is is the final state of ROS# before a major change in RosBridgeClient (cf. #59 ).
Please refer to this release and/or the corresponding commit if you want to continue working with the old framework.

The attached binaries are:

  • RosSharp.unitypackage: complete ROS# Unity Package containing all assets of the Unity3D project
  • RosBridgeClient.dll: the build of RosBridgeClient project
    UrdfImporter.dll: the build of UrdfImporter project

ROS# Version 1.2.2

04 Jun 14:54
Compare
Choose a tag to compare

This version includes a bunch of minor fixes that we found since release 1.2a.

The attached binaries are:

  • RosSharp.unitypackage: complete ROS# Unity Package containing all assets of the Unity3D project
  • RosBridgeClient.dll: the build of RosBridgeClient project
  • UrdfImporter.dll: the build of UrdfImporter project

ROS# Version 1.2.1

05 Apr 10:14
Compare
Choose a tag to compare

This version includes a bunch of minor fixes that we found since Pre-release 1.2.

The attached binaries are