Conversation
There was a problem hiding this comment.
Added some comments.
For deep copying: we should be avoiding as many copy operations as possible. To do so, we should be utilizing ComposableNodes. Its edging closer to NITROS every second, but composable nodes allow for zero-copy message transfer https://docs.ros.org/en/humble/Tutorials/Intermediate/Writing-a-Composable-Node.html. Its a rossy way to pass messages without having to deep copy the data (mightve spawned outside of nvidia stuff)
@thomasonzhou good for you to note as well on composable nodes, it might be the only way we can mitigate the copying going on within deep ros, in a rossy way as well
|
also gotta add tests |
* adds test package * documentation on the node * pre-commit * ci failing
72204d6 to
ae86f45
Compare
- This is required since compressed image subs only work with lifecycle in rolling - Additional fixed package test errors
|
Sorry for the late comment, but what is the goal of republishing raw images? It would be super nice to have debayering + compression integrated into deepros though. |
|
For camera software synchronization, so other deep_ros nodes subscribe to one multi-image topic that ensures all the images are synced to an adjustable sync tolerance (in ms). Also, software sync is needed in cases where hardware sync is not possible and since deep_ros is intended to be open source this could be used by others without it. This could be expanded to incorporate compression and debayering if need be. |
|
Makes sense, thanks for the clarification. Looking forward to seeing the speedups from batch inference :) |
Edwardius
left a comment
There was a problem hiding this comment.
approved, just some small changes before merge plz
Uses Message filters to synchronize Image msgs of both compressed and raw images. Then republishes them as a combined custom MultiImage msgs.
Currently there is no way to implicitly set message filters to have any number of subscribers so camera sync just has cases for each number of cameras from 2-6. In the future this could be changes though.
Note:
In order to republish the images as a combined msg type it needs to be deep copied otherwise there might be ownership issues. This could be a problem with raw images, as they are quite large and as such will take lots of CPU time becoming more significant with more cameras.