Robotics StackExchange | Archived questions

ROS1 on Windows using WSL? or on pure Windows

Which is the best engine to install ROS 1 melodic? 1. Windows using WSL? 2. Windows without WSL? 3. Windows with Docker (or VM)?

Asked by AlexandrosNic on 2019-08-30 08:57:52 UTC

Comments

Answers

I used both ROS Melodic and Kinetic on WSL and there's a couple of problems:

  • WSL don't support access to hardware until now, thus, you can't use usb_cam to grab images from the camera for example, or any other sensor
  • WSL only run commandlines and no Display, which means you can't use GUI applications (rviz, rqt...) using the official WSL tools, but hopefully we can use a 3rd party XServer tool for this (such as MobaXterm) which works fine
  • I couldn't run gazebo simulations on WSL: in ROS Melodic on Ubuntu 18 I get this error Controller Spawner couldn't find the expected controller_manager ROS interface, while in ROS Kinetic on Ubuntu 16 I only get a black screen with no error messages.

Given all these problems, I suggest you to not use ROS on WSL for now and prefer using ROS directly on Windows or in VM with Ubuntu. I never used ROS on Docker so I can't talk about this one.

Edit (aug 2019): I could finally run gazebo simulations on Melodic and WSL Ubuntu 18.04, but not on Kinetic with WSL Ubuntu 16.04 (still get black screen). Thus, if you want only to use ROS with simulations you can go for WSL with Ubuntu 18 and ROS Melodic, but if you plan to use real robots, or hardware (cameras, imu, lidars...), or ROS Kinetic, you should definitely go for the pure windows version or the VM.

Asked by Horse-man on 2019-08-30 17:08:54 UTC

Comments

But do you think that with the pure windows install, I will be able to do the stuff that you mentioned?

Asked by AlexandrosNic on 2019-08-31 08:28:03 UTC

With pure windows you have access to cameras, sensors and any hardware, GPU support and even communicate with Arduino boards.... Gazebo has been ported to windows on December 2018, I saw some simulation demos that worked well but I didn't try it personally. My point of view is that using ROS on windows is better than using ROS on WSL, but the best is to use it on pure Ubuntu to have access to all the packages and tools developped by the community, on Ubuntu you can be sure to find answers to almost all the bugs you may get. Thus, my advice: if you're a beginner you should either use a pure Ubuntu installation, or a VM with Ubuntu on top of Windows. If you already some have some experience with ROS you can go for ROS on pure Windows or ROS on WSL and give it a try.

Asked by Horse-man on 2019-08-31 09:28:24 UTC

Thank you Horse-man. You definetely answered my question!

Asked by AlexandrosNic on 2019-08-31 10:25:01 UTC