Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Which .NET Platform should be supported by UrdfImporter and RosBridgeClient? #21

Closed
MartinBischoff opened this issue Nov 24, 2017 · 9 comments

Comments

@MartinBischoff
Copy link
Collaborator

MartinBischoff commented Nov 24, 2017

We developed ROS# primarily for communicating with ROS from within Unity3D.
Official Unity3D Versions still support .NET Framework 3.5 only.

For Non-Unity3D-Applications of ROS#, UrdfImporter and RosBridgeClient could be provided in a more recent, "standardized" .NET platform.
Currently discussed versions are:

Please use this issue to let us know the platforms you requrire for your project.
Please support us by providing suggestions how to manage multiple Platform releases in one Visual Studio Project as upgrading from .NET Framework 3.5 would complicate the applicabilty in Unity3D.
@blommers

@rwarrier243
Copy link
Contributor

rwarrier243 commented Nov 25, 2017

To be able to use ROS# with unity and hololens, the project must be built in the Universal Windows Platform (UWP), but the websocket library on which Rosbridgeclient is built on is not supported in UWP. So for UWP platform a custom websocket library needs to be built. I would suggest keeping the communication protocol user defined in Rosbridgeclient so that users can choose which protocol to use without too much change in the source code.

@MartinBischoff
Copy link
Collaborator Author

From what I read here UWP also supports .NET Core Framework.

From .NET Framework 4.5 on, .NET has its own WebSocket Class such that no external dependency as
websocket.sharp will be required. So our code will become even nicer and simpler when upgrading to .NET Standard 2.0.

@Jasonthefirst
Copy link

Like suggested I'll give my two cents here, too.
For my project it would be awesome if the ros-sharp library would support the hololens and therefore UWP Apps. I am not quite sure what the problem is and what needs to be done but there are additional projects at my university and especially at my institute working with the hololens connecting to robots via ROS. Right now unity has problems during compilation with the websocket and newtonsoft-json.
Right now we are using an example project from h2r here on github to connect with ros.
Thank you for your awesome project and making it open to use.

@MartinBischoff
Copy link
Collaborator Author

@jaguar243 have you made progress with an UWP version of RosBridgeClient? Can you advise here?

@rwarrier243
Copy link
Contributor

rwarrier243 commented Dec 14, 2017

I'll commit my changes as a separate branch in the coming few days. Basically, I had to rebuild the RosBridgeClient using my custom websocket plugin that was compatible with UWP. No changes are needed on the ROS side.

@MartinBischoff
Copy link
Collaborator Author

MartinBischoff commented Jan 9, 2018

I found this pull request on the websocket-sharp github repository stating that it provides a websocket-sharp version supporting .NET Core.

Anyone interested in UWP support of ROS# interested in trying it out and report the results here?

Any suggestion on other websocket implementations to use instead of websocket-sharp?
@Jasonthefirst @arunavanag591 @jaguar243

See also here sta/websocket-sharp#270

@dwhit
Copy link
Contributor

dwhit commented May 9, 2018

That pull request is super old and I couldn't get it working. However, I did learn today that Unity 2018.1 supports .NET 4.7 and assemblies compiled in .NET Standard 2.0. So .NET Standard 2.0 would work for both RosBridgeClient and UrdfImporter, and take care of the websocket-sharp incompatibility issue.

@MartinBischoff
Copy link
Collaborator Author

Thanks for sharing this info @dwhit . We've been following Unity's .NET platform support and waited for such a release supporting .NET 4.5+. It has been announced for such a long time already.

You are absolutely right: We can now also upgrade to .NET 4.7 and replace websocket-sharp by the .NET WebSocket class mentioned above.

Let us continue the discussion on this topic in #59.

@tsdavs tsdavs mentioned this issue May 13, 2019
3 tasks
@Weimmer
Copy link

Weimmer commented Nov 8, 2019

Hi @MartinBischoff ,
i got the problem today, i am using websocket.sharp, but it dose not support UWP, as you posted above, it can be replaced by WebSocket Class, how it works, i am newbee to progromming by the way, but i will try to solve the problem, can you give me some tips?
Thanks in advance
Wei

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants