Releases: siemens/ros-sharp
ROS# Version 2.1.0
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.
- Across key files such as ActionAutoGen.cs, FibonacciActionClient.cs, and FibonacciActionServer.cs, namespaces were updated to
-
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.
- In ActionFeedback.cs, ActionResult.cs, and ActionGoal.cs, (
-
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
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
- updating to Unity Version 2019.4.18f1
- multiple minor fixes, see commit history for details
ROS# Version 1.6.0
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
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 itemRosBridgeClient > 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 withrosbridge_server
.
Make sure to activatebson_only_mode
when launchingros_bridge_server
as explained here.
The attached binaries are:
RosSharp.unitypackage
: complete ROS# Unity Package containing all assets of the Unity3D projectRosBridgeClient.dll
: the build of RosBridgeClient projectUrdf.dll
: the build of Urdf project
ROS# Version 1.4.0
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 projectRosBridgeClient.dll
: the build of RosBridgeClient projectUrdf.dll
: the build of Urdf project
ROS# Version 1.3.0
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 projectRosBridgeClient.dll
: the build of RosBridgeClient projectUrdfImporter.dll
: the build of UrdfImporter project
ROS# Version 1.2.3
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
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
This version includes a bunch of minor fixes that we found since Pre-release 1.2.
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