I've used zeromq, nanomsg, and nng. The differences are subtle and focused on native library support, background threading model, and other systems level things.
All of them are based on specs that are widely published. I've had zero problems implementing real robotic systems in nng, zmq, etc.
And it is so damn easy to use it's amazing to me the whole world doesn't use it.