Note that ONNX, by its very nature, has limitations and doesn't support all of the functionality provided by the larger PyTorch project.
You can check out this tutorial on deploying PyTorch models to mobile using ONNX to see if this path might suit your use case. 
That said, we've heard that there's a lot more that PyTorch users want to do on mobile, so look for more mobile-specific functionality in PyTorch in the future.
For other embedded systems, like robots, running inference on a PyTorch model from the C++ API could be the right solution.
If you can't use the cloud or prefer to manage all services using the same technology, you can follow this example to build a simple model microservice using the Flask web framework.