Windows 10 + ROS kinetic with docker + Deep learning Nvidia
Hi,
I'm using ROS Kinetic with docker under Ubuntu 16.04, and nvidia-docker as well to use gpu.
Under windows 10, I know that a beta version of ROS 2 is working. But ROS 2 needs some improvements in tools for us to use it, so we want to use ROS 1.
We are able to run under windows 10 a docker with ROS Kinetic in it (I didn't test it, but it seems to work and you can add a X11 server to get graphics). But there is no nvidia-docker in Windows 10, and it's not planned by Nvidia.
Currently we work under Ubuntu, we communicate to the robot through a serial communication and we take images from cameras in ROS topics ?
My questions are these ones: if I use the deep learning part directly under windows 10, is-it easy to communicate with ROS under docker ? The computer will be directly on a robot, so does using such a configuration will be disadvantageous ?
Hope that my question is not completely silly but I need to explore this solution because some people in our team prefer using windows.
Thanks for reply
Edit: Hi gvdhoorn,
Thanks for your reply.
You're right. It's needed to know what is the bandwidth needed. Basically, we need to get from ROS 2 color images (right+left) at 2K/30Hz, using 2 USB3.0 links.
But after thinking about your question, the biggest problem I have is how to capture images in docker under windows from USB3.0 and how to communicate from docker to a COM ports. And if this is possible, what are the performances.
Maybe these questions are more docker and windows related than ROS, even if I want to use ROS in a docker. But if someone has some ideas, it will be great for me !
Have a nice day.
Update: maybe I found the answer: it seems not possible to communicate with USB directly from a docker container under windows 10. One work-around is to use USBIP, but you will have delays ( https://forums.docker.com/t/docker-fo... ). This answer was made in 2017, so maybe some progress has be done about this since then.
I believe useful answers are going to depend on what it is that you actually want to "communicate" between your Windows programs and your ROS application. Images? Point clouds? Other sensor data? Who is producing, who is consuming?
If you can add a few sentences about that, that would be good.
Perhaps the experimental ROS Melodic port that Microsoft announced can help here. That would seem to reduce the need for Docker, although it will depend on the exact packages that you're trying to use.
See here for the announcement.
Hi gvdhoom,
Thanks for your answer. I saw the presentation in ROSCon.
I will try it.
Can you please not post answers unless you are answering your own question?
Thanks