Skip to content

Add covariance insertion node

Igor Bogoslavskyi requested to merge (removed):505-fill-covariances-node into master

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

Merge request reports