robcog-iai / UROSBridge

Unreal ROS Bridge topic / service communication via websocket
http://robcog.org/
BSD 3-Clause "New" or "Revised" License
52 stars 37 forks source link

Add BSON support #18

Open aaronsnoswell opened 6 years ago

aaronsnoswell commented 6 years ago

As a: Plugin user I want to: Have the option of using BSON, not JSON to communicate with my ROSBridge server So that: I can send large messages without the overhead of JSON (e.g. Point Clouds)

Creating an issue for ongoing discussion around adding BSON support to this plugin.

A good reference for implementing this might be the ROSIntegration plugin by @Sanic - it already has BSON support in Unreal Engine.

andreihaidu commented 6 years ago

Hi @aaronsnoswell , in case you are a student and would be interested in applying for gsoc2018 in our institute, here here are some of our proposed topics, feel free to apply and suggest any other topic of your interest.

aaronsnoswell commented 6 years ago

Thanks for the suggestion @andreihaidu! I am a (PhD) student, but unfortunately I am a little too busy with my upcoming research milestone to participate this year :) I'll still be working on this project and sending pull requests if that's OK though :)

If we have other non-issue specific stuff to discuss, feel free to email me - my address is on my site.

iamsuperwen commented 6 years ago

Hello, May I just ask a question here. I am a bit confusing what is the different between UROSBridge and ROSIntegration ? I thought both of them are from the same institute, and both of them publish/subscribe topics between ROS and UE4. Could anyone tell me what's the main difference between them? (the pros and cons, or when to use which?)

Thanks a lot.

Sanic commented 6 years ago

Hi @iamsuperwen I think the main difference is that ROSIntegration offers a direct integration to generate RGBD data. This comes with a different encoding type (BSON) for the data on the network. Unfortunately, this results in the necessity to include a third party library for BSON handling. So i think it's easier to start with UROSBridge when you just need ROS Topics & Services. When you want to generate RGBD data or you want to transfer more binary data in general, you might wanna have a look at ROSIntegration. Please note that we want to streamline the modules in the future to avoid this ambiguity.