Well we have used ZeroMQ mainly as a way of communicating easily between different programs, it doesn’t directly communicate with any hardware. our robot arm was operated in a standalone program from the rest of the machine.
The benefit is that normally the robot move functions would block the entire program, however by keeping the robot control in a standalone program the rest of the machine keeps operational while the robot arm moves.
I have created a small example program in which a webcam stream is opened and the robot arm keeps moving. see: https://github.com/cas2406/ZeroMQ-Demo
If you would like i could write some more use cases for zeromq, for example situations where a lot of visual processing has to be done which may not slow down the program or incombination with protobuf for example to show the ability to send data transfer objects.
It is also possible to stream video using zeromq, see: https://www.pyimagesearch.com/2019/04/15/live-video-streaming-over-network-with-opencv-and-imagezmq/