ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Maybe these questions are more docker and windows related than ROS, even if I want to use ROS in a docker.
I’d recommend reflecting on the core dependencies and requirements for your application, and how they relate to Windows 10. If you want to use Docker with GPU hardware acceleration, graphical interface passthrough, mounting of external device interface, and software defined networking, I’d suspect opting for any major Linux distro as a host OS could resolve most of that functionality, reducing the number of hurals just out of the gate so you can focus on the robotic aspects of the project. This is part in due to that the state of linux containers is more mature on linux.
That being said, as gvdhoorn has pointed out, MS has invested efforts in releasing ROS1 for Windows. I haven't used it yet, but if your more comfortable doing software development in windows, this could be a nice avenue for writing native ROS1 code. I’d argue that if you really needed windows support for your application, and are just starting with ROS, then going with ROS2 to target the window deployment would be the better long term investment; using a ros1 bridge in the interim as you migrate older code.
As for using Docker VMs on windows, I’ve found the complication of the virtual machine it introduces difficult; with bridge networks constraining, trying to share file systems a pain, and the added performance overhead unwelcome.