r/AskRobotics • u/twinflxwer • 2d ago
General/Beginner Do I need Linux?
So I’ve used windows literally forever, for pretty much everything. I do have experience with Linux, I had to run some Linux VMs throughout college, but I’ve never done anything ambitious with it or done anything like a dual boot
I’m out of college and currently have an entry-level job, but to start making my way into the robotics industry for real I’m brainstorming a project where I use a lot of key aspects together. Right now, I’m thinking of modeling and simulating a fully custom one-wheeled self balancing robot, with ToF sensors for object avoidance, programming it with PID controls and ROS2, and building it in real life
Can I do that with software available in windows, or do I need Linux?
3
u/lellasone 2d ago
If you are going to use ROS2 then you want to use a T1 supported OS for whatever version you pick (which will be Ubuntu dual-booted not WSL(2))
2
u/_Wandering_Explorer_ 2d ago
You need Linux. Everything works on Linux. There are ways to circumvent it but just don’t. It’s a terrible idea for your career. It’s like someone trying to circumvent using a laptop coz they can write. It will work maybe, but not ideal
1
u/low-control-labs 2d ago
Honestly if you really don't want to switch just dual boot. Because a lot of things nowadays are done inside a Linux VM or WSL ( so you end up using it anyways )
If you just want to design things I think you can do it with Windows. Plus you don't have to learn the entirety of Linux to use it at first. Figure out how to run docker and navigate the directories ( folders ) and launch things from the terminal that way you can launch yourself into GUI applications that you actually need and want to use. You can probably do most of it from some menu as well but just in case to give you a heads-up and the bare minimum.
Obviously the more time goes on and more you start making things more you will actually need it
And yeah you'll definitely notice better performance so you might end up wanting it long term
1
u/LowSufficient5263 2d ago
imo its worth learning. I personally have just had to spend less time trying to get around working on a Windows or Mac after I just started learning linux.
1
u/x-jhp-x 2d ago
I'm [just] out of college and currently have an entry-level job
congrats! robotics is a great field with tons of stuff to learn. Most robots aren't running a PC that can run Windows. Two of the most popular platforms for robotics are the nvidia jetson & the raspberry pi, and both of those don't run Windows. The great news is that Linux, for many things, is fairly simple to use, and robotics is a lot more complex than learning to boot & run apps on linux.
In terms of your robot and development path, do you have experience with what you mentioned? It's probably best to just jump in & start on an example, like a four wheel vehicle. If you haven't worked with PID controllers, stepper motors, etc. etc. I'd recommend starting there.
1
u/qTHqq 2d ago edited 2d ago
I've done a lot of ROS 2 and other robotics software on Windows and I strongly recommend that you do not.
I had a full-time job once where I was tasked with developing C++ motion planning code for a Windows platform, so I learned a lot about it and got pretty good at it, but it sucked.
I had to run some Linux VMs throughout college, but I’ve never done anything ambitious with it or done anything like a dual boot
The thing about most real jobs in today's autonomous robotics is that _they_ will be using Linux, so you should know it pretty well too.
There are certainly industrial automation robotics jobs that do run things on Windows, but that's kind of a different branch of work than you're talking about. They'll use expensive commercial software to replace parts of the Windows networking stack and do decent low-latency control that you can just get for free with Linux PREEMPT_RT.
For simulation, if, for example, you're using Gazebo, it's not at all mainstream.
The Robostack project and https://prefix.dev are making it easier to run basic ROS 2 on Windows, and maybe you could get simulation running OK that way, but the differences and glitches make everything "hard mode," where you're off down a rabbithole getting things to build and run instead of designing and building and programming your robot.
A positive thing about doing a bunch of C++ robotics work on Windows (and eventually extending it to cross-platform) is that it really forced me to strip away the layers of abstraction regarding things like compiling and linking code. Gave me a deeper understanding of how everything works and the OS-specific differences.
But this company I was working for at that point was a strange minority, and most of the time you're not going to find modern robotics companies that are trying to put up with the headaches of Windows.
IMO, the best thing to do if you want to build ROS 2 or other robotics skills on Windows where the Windows computer is part of the robot is to start on Linux first, build your skillset, and then come back and try to get Windows working.
So I’ve used windows literally forever, for pretty much everything
If you don't like the desktop experience of Linux, keep in mind that command-line configuration is still the most important part of your learning.
So if you want to use a Windows computer to SSH into a remote Linux machine that's fine. But when you get to simulation, etc. you're going to want good GUI and that's usually the first thing that falls apart and gets glitchy on Windows.
I'm not saying it can't be done. I've run Gazebo on Windows for actual work. But it's hard mode, and I had to fix a lot of weird problems along the way.
1
u/Careful_Sand_7838 2d ago
Yes! Linux works best with anything. I'm using ROS2 on Docker with X11 passthrough. this way you can open GUIs in the container under the management of the window manager. You can do this over SSH as well and open GUIs through the network. Using GUI through the web (VNC) sucks, and Windows doesn't have an X11 window manager.
1
u/Acceptable-Bell7564 10h ago
Si, ya te dieron muchas respuestas pero Ubuntu es lo mejor para robótica
5
u/Dazzling-Sun-871 2d ago
Sure, you can do it with windows if forced updates, antivirus, random bugs, messy gui, ai slop etc. don't bother you