Comments (2)
Hi!
Interesting find, i also thought about using CBOR, but didn't use it because the libraries weren't so well available like (hopefully) nowadays when i started this project.
Before going this step, it would be interesting to repeat the experiments from RobotWebTools/rosbridge_suite#370 and compare them against BSON to see how much processing time it would actually save.
I don't know what is meant with "When I evaluated BSON for binary ROS messages I found that the JS decoder was very slow and the message size was larger than JSON." in the mentioned PR, as the JS decoder/encoder shouldn't be called when using bson_only_mode.
Regarding your argument "every value is prefixed with the index": You could try to use the "binary" type of BSON. Then you shouldn't need to prefix every list element.
Converting to CBOR would roughly be a two-step process:
- Extending https://github.com/Sanic/rosbridge2cpp/ to support CBOR . ROSIntegration uses a copy of this project, but in this repo you have the code separated and you can use it outside of unreal
- Exchange the ROSIntegrationInstance handling to support CBOR
You are right, all the message converts have to be changed to support CBOR, as the data retrieval and setting methods differ quite a lot between the different libraries.
from rosintegration.
Hi Sanic, thanks for your fast answer!
Yes, I would also like to evaluate that. I just asked in the issue in rosbridge for the evaluation code, maybe we can save some time there.
I tried to use the binary type in messages instead of arrays, unfortunately when I do that, rosbridge complains that the type of the field is not the corresponding array type and discards the message. (I don't have the actual error message handy but it just wouldn't take it as binary).
from rosintegration.
Related Issues (20)
- Fork with visualizations, websockets, latest rosbridge_suite, etc. HOT 5
- Subsystem Game Instance HOT 3
- PR #180 Gives Compile Error in UE4 HOT 4
- Use of undeclared Identifier GetGameInstance HOT 1
- How can I solve the problem of `sensor_msgs/CameraInfo does not have a field d` HOT 2
- ROS bridge for UE 5 HOT 4
- (UE5 / Humble) De-/serialization problem when trying to publish sensor_msgs/Image or CompressedImage HOT 3
- ROS Message Types as UObjects? HOT 1
- Crashing and lag spikes. HOT 1
- Accessing the variable that was updated from a subscribed topic
- HoloLens2 packaging fails HOT 2
- (UE5/Melodic) Subscribing to color compressedImage and depth Image at the same time HOT 1
- /Clock publish rate too low. HOT 2
- sensor_msgs/Image Issue HOT 2
- After receiving the Service, it will crash when receiving the Topic.
- Trigger implementation issues HOT 2
- { Plugin "ROSIntergration" failed to load } problem HOT 1
- Error: no matching member function for call to 'AddRaw' HOT 1
- ROSBridge Message Error for sensor_msgs/CameraInfo HOT 2
- Failed to build ROSIntegration on UE5 5.3.2 linux
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rosintegration.