flojoy-ai / blocks

Flojoy Standard Blocks Library (now merged into flojoy-ai/studio)
https://blocks.flojoy.ai
4 stars 1 forks source link

[BLO-137] ROS 2 [RFC]: Simpler primitive types for DataContainers #28

Open IsabelParedes opened 12 months ago

IsabelParedes commented 12 months ago

Context

Some frameworks and libraries use primitive Python and C types.

For instance, ROS 2 has a simple message specification¹.

Problem

Currently there is an impedance mismatch between Flojoy's DataContainers and those primitive Python and C types.

For instance, in the case of ROS 2, handling the standard libraries' messages in subscriber and publisher Blocks would be significantly more difficult. Primitive types need to be boxed behind subclasses of DataContainer, which would mean that one would have to create a plethora of DataContainer and adaptations.

Also if users were to define ROS 2 messages themselves for their application, they would need to define a custom DataContainer.

Another potential major project which is used in variety of applications to transfer data between stack and which would face a similar problem is [protobuf](https://protobuf.dev/).

Proposed Solutions

References

From SyncLinear.com | BLO-137