The source project of this merge request has been removed.
Add covariance insertion node
Description
Will be used in #505 (closed) to set covariances of the messages that don't get published with covariances in the first place.
Notes for Reviewer
I have iterated a couple of times on this internally. I might be missing something, but this seems like the best trade-off between the flexibility of the node and its simplicity. Other designs I have considered:
- Allow adding any entry to any message. I think this is possible, but basically requires implementing some form of reflection which is really hard to do in C++. I think I know a way to do this for a specified amount of message types, but this is a much too big of an effort for this implementation IMO.
- Allow only to use a single message type and never change the types of the messages. This is the simplest way but is extremely rigid. I decided to have something in the middle.
The current implementation can only add covariance to messages but it can add it to any message (new messages have to be added programmatically, but the framework is set up for this). It supports converting from message types without covariances to the ones with them too. It might be a little bit hard to read, so I am open to discussion about it.
Checklist
-
Documentation was updated
Edited by Igor Bogoslavskyi