This post’s purpose is to clarify one or a few things for absolute beginners to ROS or Ubuntu or both. I will keep this guide updated through time. If you have more questions, feel free to leave a comment.
- What is ROS?
- What do you need prior to install ROS?
- Which Ubuntu version do you need for ROS?
- About Ubuntu
- Can I install ROS on Windows?
- How do I learn ROS?
What is ROS?
Its full name is Robotics Operating System. But it’s really not an operating system but a robotics framework. That probably does not help for first-timer with ROS, so let me try again in an example.
Imagine you live in the 1950s when cell phones had not existed yet. If you want to call your parents, you pick up the landline phone and dial their numbers. You immediately send call signal over some phone tower with live operators working there, and the operator then goes ahead with some switching magic quickly to connect you to your parents phone line. When your parents pick up the call, you two can talk to each other as long as one of you hang up. ROS here is the phone tower that allows all the hardware sensors to send information in and communicate with each other.
What do you need prior to install ROS?
Ubuntu or Debian OS
These are two official supported OS for ROS at the moment. I personally use Ubuntu for all my PC and each one of them of course has ROS installed. And I think this is the easiest way to go for ROS installation.
Which Ubuntu version do you need for ROS?
Each ROS version comes with a specific Ubuntu version that it is compatible with. ROS installation guide should mention about the compatible version in their installation guide. For example: Ubuntu 16.04 for ROS Kinetic, Ubuntu 18.04 for ROS Melodic, etc..
This is an open sourced Linux distribution OS. It is FREE. Free here means as “yes you don’t have to pay anything to get this OS”. You can go ahead to their website, download the OS then create an image to a USB stick, and you are ready to install on your PC. If you have a Windows PC, you can dual boot Ubuntu with Windows as well.
Most software in Ubuntu/Linux can be installed for free with a few command lines on terminal. I said “most” because I don’t know if everything is free or not. But for my years of experience using Ubuntu, I have not had to paid anything yet.
I recommend all robotics or curious programmers should get a start with Ubuntu and ROS. They open great doors to potential. And who would not love that feeling like in “The Matrix”?
Can I install ROS on Windows?
Yes you can but for Windows 10 only because you can install an Ubuntu app on Windows 10. It’s called Bash Shell. So basically you can run Ubuntu inside Windows 10, and you can use that base to install ROS. I wrote an article showing how to do that How to install ROS on Windows 10
How do I learn ROS?
Their free tutorials, I would recommend to start here
To be honest, I felt super intimidated at first to learn ROS. If you’re like me, you would feel like quitting at a few first tutorials either because you don’t understand it or because it seems too much reading (“hello! we live in the video era. Where are my free tutorial videos?”) Like what are all these terms mean? (rosnode, rospack, rostopic, etc..) But right here is the hump.
If it’s too hard to grasp at first for you, just take a break then come back later. I don’t understand every term either or I must have read them and forget them soon after. So, I just learn to have a rough idea, and find some small projects to practice. Usually I gain knowledge about other aspect of ROS when I start to wonder why this or that or how I do this or that. Then, there is Google for me to find out.
But as when you wonder for ROS video tutorials, there are quite some on Youtube, The Construct is my favorite resource. I learned so much from these guys just from their free videos. They have their own tutorial site for ROS with different plans, seem like some cool projects they have but I haven’t tried any of them yet to give any recommendation. I just like their free videos, but of course, it’s because I was looking for specific things and their free videos provide. If you have tried their paid plan, give a comment about your experience?