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

Publishing custom message that requires BSON #4

Open
kshitijgoel007 opened this issue Aug 21, 2016 · 4 comments
Open

Publishing custom message that requires BSON #4

kshitijgoel007 opened this issue Aug 21, 2016 · 4 comments

Comments

@kshitijgoel007
Copy link

kshitijgoel007 commented Aug 21, 2016

Hi!

Thanks for creating this library, I've been using it a lot lately in my robust tele-operation work and it has been awesome. I am stuck at a small problem. I'm transferring a custom made message composed of Stochastic params (extremely compressed Dense Point Clouds). It is lower in size than sensor_msgs/PointCloud, but is significantly high to such extent that I am observing high network latency. Moreover, I am not reading data using roslibjs. I am using this repo in Unity C# to parse data. Currently, I have a nicely working JSON parser which parses my data with some latency.

Will this BSON enhancement work for such custom messages too? Other than writing a BSON parser, what other enhancements would my repo require?

Thanks for having a look. Awaiting your response.

Kshitij

@kshitijgoel007
Copy link
Author

kshitijgoel007 commented Aug 21, 2016

Referencing this issue on ros_bridge repo. I want to create BSON enhancement here on Unity as well, because this seems to be a promising way to transfer custom messages which are large in size.

Kindly correct me if there are better ways to do this.

Kshitij

cc @rcodddow

@kshitijgoel007
Copy link
Author

kshitijgoel007 commented Aug 25, 2016

Hello,

Just a gentle reminder. Kindly have a look.

cc @michaeljenkin @rcodddow

@rcodddow
Copy link
Collaborator

I can't find very much information on the BSON encoding feature in ROSBridge. I suspect that if turned on all message will be sent and received in BSON format. Without rummaging through the code too much here are some of the changes that would be to be made.

To support this you would have to add an option to ROSBridgeWebSocket connect to inform the class to switch to using a BSON parses. This would also require changes to the OnMessage method and subsequent ParseMessage methods perhaps a ParseMessageBSON unless you BSON parse is also JSON compatible.

All existing message classes would have to have a ToBSONString or you would have to parse .ToYAMLString and convert.

The helper functions in ROSBridgeMsg would need to be updated or would need a similar BSON helper function.

@kshitijgoel007
Copy link
Author

Hello @rcodddow , thanks for your response.

Can I use this : : https://github.com/kernys/Kernys.Bson ? I think I can modify it for this purpose

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

No branches or pull requests

2 participants