Hi,
I am a developer who focuses on the development of cloud-native ros applications.
Most of my friends are developing under Windows. Certainly, this has caused some troubles.
At present, we are working through remote ubuntu machines.
If you have any plans to participate in the discussion, please let me know.
Hello Mohamed! thanks for responding. I’d love to understand what you will use ROS on Windows for? will this be ROS1 or ROS2? is it for personal, education or commercial purposes?
Hello! thanks @tpeyruse! I’d like to understand why you use WSL over the native install. The native install should be straightforward. I’d love to understand the issues you had.
It is correct that WSL connecting to hardware is limited, and if you are looking for a commercialization/deployment path forward, WSL is not a long term solution.
Is you work for personal, education or commercial purposes?
@dougsmith thank you for the feedback. Just to make sure, you tried ROS2 On windows native, and the lack of tab completion was the issue? Is that correct? thank you!
Linux is the primary target OS for our robotics platforms.
A few of our developers use WSL with a GPU. WSL solves for having a windows developer machine that is also used for work related software where the Linux equivalent is less capable (Teams for example). This is an alternative to running Linux only, dual-boot Windows & Linux, cloud native Linux via Mac OS | Windows, or a computer with Linux and another with Windows.
I did. I found it difficult to use PowerShell, and to get my permissions right to actually be able to compile and run things in ROS2 native on Windows. It seems like the security model of Windows is really geared toward consumers and not developers, which is entirely understandable given the threat matrix out there in terms of people trying to hack and whatnot.
I actually think this would be a really high value addendum to the installation instructions - “Here’s a guide on how to get yourself set up with a working PowerShell and compiler environment for ROS2 in Windows native.”
Also - command completion. I think someone mentioned this elsewhere in the thread.
Hi Dan,
I’m Pradeep Karosiya working in medical domain in The Netherlands and using ros2 in Ubuntu mostly for simulation. I would be quite interested in knowing about the Windows version and joining the conversation.
I actually had a couple of reasons which led me to not try the native ROS2 on Windows.
Windows 11 is not yet officially supported : My computer at home runs Windows 11, and since I have a lot of important files on my computer, I am cautious about trying out unsupported OSes, I would like to give ROS2 on Windows 11 a chance if it is officially supported by MS IOT
Difficulty in installation : The Linux installation process feels a lot more comfortable to me, and I am really not a big fan of having to install Visual Studio 2019 - it takes up a lot of space.
Most of my development happens on Linux: For my work, I generally use a Ubuntu + Docker setup, and it saves me the trouble of having to manually install everything from scratch when I move to Windows. WSL2 seemed to be a much simpler option to me. What you guys could do is point us to some Dockerfile (at least a base image), which can help us get started quickly.
Embedded Devices : I find myself working on Embedded Systems from time to time, and my toolchain is set up on a Linux machine for an embedded linux target. I have not yet tried to work with embedded devices on a windows platform, but I am open to advice and suggestions from the community on this regard.
I hope this feedback was useful, and I am looking forward to learn about how other people use ROS2 on Windows. It’s a great idea !
Yes, a couple years ago I tried some of the examples. I’m highly dependent on tab completion on the cli and code completion in an IDE. I work with too many different things to memorize everything.
I’ve only worked for Windows based companies, so all of our linux dev is done through VMware/VirtualBox. We have numerous engineers developing windows native c++ applications / CV / ML, so it would be nice to synchronize on just the windows target, and we keep trying for that. But our only solution for ros 1/2 is to dockerize it on a ubuntu base.
What stops us from really bothering to try ros development on windows like in a VM/box is just the instant ease of use of the ros tools, other shell/cmdline tools, things just working…
But we’re once again looking into running a ros application natively on windows, but the ease of deploying reproducible builds may push us back to docker, and if back on docker, that’s just ubuntu again…