While almost everyone will tell you to use the Wiki to learn ROS (pronounced “Ross” like the man’s name), it can be very confusing and frustrating to set up for the first time.
And, to top it all off, just about no one will admit how challenging this is, so don’t worry.
You’re not alone in the hair-pulling learning curve.
In this article, I’m going to share some resources to help you learn ROS online.
These courses, YouTube Videos, and websites will get you out of the ROS Wiki and into the world of developing real projects with the Robot Operating System.
While you won’t learn ROS in a day, a lot of these resources will get you past the 20% hurdle of what you need to know to build 80% of the most common projects.
ROS is an advanced system, so I highly recommend studying up on Python and C++ before diving into the technicalities of ROS packages. Once you have a firm grasp in one (or both) of these languages, you’ll be ready to tackle these ROS online courses and gain the skills to become a top-notch ROS developer.
What kind of robots use the Robot Operating System (ROS)?
Despite the misguided name, the Robot Operating System (ROS) is not an operating system at all. It’s a set of libraries and tools that help developers build robotic applications. ROS is licensed under an open-source BSD license, which means anyone (including companies) can incorporate ROS into proprietary products.
There are a ton of robots that use ROS including mobile robot platforms, industrial robot arms, and humanoids.
Some examples of ROS compatible robots are the TurtleBot3 (below), Baxter, Niryo One, and Universal Robots. The full list of robots that work with ROS is here.
ROS Online Courses You Should Take
The Robot Operating System (ROS) is an important platform to know how to use. While the name is a little misleading, (it’s not an operating system), it provides services to integrate and control hardware and software on a variety of robots.
ROS is challenging to learn; however, the following resources should make your learning experience faster and easier.
As mentioned, you can get started with ROS using their Wiki, but if you’re more of a visual learner and want a more guided learning experience, I recommend checking out these courses.
1. ROS for Beginners Online Courses
In this course, you’ll master the basics of ROS and create reusable code for any robot powered by ROS. You’ll also learn how to use ROS by completing projects in simulation. Check out ROS for Beginners.[et_bloom_inline optin_id=optin_25]
2. ROS for Beginners: Basics, Motion, and OpenCV
If you’re looking for a beginner course that covers the basics but also introduces you to more intermediate topics, then you’ll want to check out ROS for Beginners: Basics, Motion, and OpenCV.
This course requires prior Python and/or C++ knowledge.
You’ll learn how position and orientation are represented in ROS, and develop simple computer vision programs with ROS and OpenCV.
I think this course is a better option for those of you who want to get more into Vision applications for robotics. Get 89% off the course here.
3. Robotics with ROS: Real Robot using Raspberry Pi and OpenCV
This course was designed for the more intermediate and advanced ROS users. I recommend taking a beginner ROS course before starting this one.
If you have some ROS knowledge and want to build an affordable mobile robot running ROS, then this is a good choice.Sign up for the course here.
4. Robot Ignite Academy by The Construct (Comprehensive ROS Training Online)
Robot Ignite Academy by The Construct has a variety of beginner, intermediate, and advanced ROS courses that are hosted 100% online in a simulated ROS environment. It’s an awesome way to learn ROS without the hassle of actually configuring ROS.
If you plan on getting an engineering job that requires ROS skills, I highly recommend starting with the Robot Ignite Academy. Their courses align directly with Industry Applications and best practices.
Plus, you’ll have a straightforward learning path of all the skills you need to master to become fully fluent in all-things ROS. I will say that their ROS in 5 Days course is extremely challenging for beginners, but doable if you have prior Python skills. You can view their courses, here.
They also have a lower-cost option on Udemy, and you don’t even need to install ROS on your computer!
5. Clear Path Robotics Guides
Lastly, Clear Path Robotics has a bunch of guides for getting started with ROS. While this isn’t a traditional course, they are free and packed with information if you’re looking for a free way to learn to code robots using ROS.
Learn ROS on YouTube
Furthermore, you can use YouTube to learn ROS. Because this isn’t a course, you won’t be able to track your project or earn a certificate; however, it is a free option, so you really can’t complain.
Sometimes it’s challenging to figure out what you need to learn when you’re tiring to learn a new subject (aka the unknown, unknown).
Tiziano Fiorenzani created a comprehensive playlist of beginner ROS tutorials that will lead you through a hands-on project. You can watch the first one, below.
The rest of his videos are here.
Who should learn ROS? Hint: Not Every Robotics Engineer needs to learn ROS
I’m a firm believer that you should only learn things that are required for your current job (or degree program), relevant to your (future) career goals, or topics that deeply interest you.
Not every robotics engineer needs to learn ROS or become an expert in it. Most Robotics Engineering degrees use ROS in one way or another. A lot of research programs and advanced robotics degrees will require a mastery of ROS.
Here are some other roles that may require advanced ROS knowledge
- Senior Software Developers for Robotics Companies
- Robotics Researchers
- Anyone who works with robots that run on ROS
- Startups who have products that use ROS
- Python/C++ Programmers writing code for robots
As a robotics engineer who has spent time on the automated manufacturing side of life, I can assure you that you don’t need to know ROS to work on industrial robots (or most robots for that matter).
Here are robotics engineering jobs that don’t require ROS knowledge at all
- Manufacturing Engineering
- Automation Engineering or Technician roles
- System Engineering (Factory IIoT and Dev-Ops)
- Software Engineers who work in a custom robot development environment
- Robotics Engineers who work on the mechanical or electrical sides
What about ROS Industrial? Should I learn that too?
ROS-Industrial is commonly found in advanced manufacturing and research labs. The purpose of ROS-Industrial is to bridge the ROI gap between high-volume, repetitive manufacturing tasks, and low-volume, mixed-part production activities.
Robots used in manufacturing sites today run on technology that is 20+ years old. While that’s great for simple tasks like welding, dispensing, and material-handling, it doesn’t advance the field.
ROS-Industrial is a pathway for bringing sophisticated ROS libraries to a manufacturing environment. If you’re currently in manufacturing, you’re probably thinking that PLCs are sufficient and proficient enough for 99% of automated work cells (and I agree with that statement, too).
However, if the researchers working on ROS-Industrial find a seamless (and reliable) way to bring advanced technologies into factories, it’s only going to improve production yields and advance the field of automated manufacturing for the better.
With that said, I wouldn’t worry too much about learning ROS Industrial unless your job requires it or you’re interested in learning more.
Why ROS isn’t going anywhere
Even though ROS was created in 2007, it’s here for the long haul. ROS is a set of libraries and tools to build robot applications.
Why reinvent the wheel if it already exists and is readily available?
With the world of high-tech robotics expanding, and the increasing growth in automation, you can expect a continuous need for ROS software developers.
From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it’s all open source.
Since ROS sets a robotics standard, you can expect to see continued support and development work for years to come.
Do you use ROS? Are you planning to use it for your next Robotics project?
In this article, we explored online ROS courses to help you learn ROS fast. Whether you’re brand-new to ROS, need a refresher, or are struggling to get the hang of it, online courses can expedite the learning process so that you can get on with your project.
If you’re frustrated with the ROS wiki and can’t seem to figure out how to piece together topics and messages and publishers, then taking an online ROS course might make the most sense.
Not everyone needs to learn ROS to be a successful robotics engineer. However, if your job requires complex computing, or uses robots that run on ROS, then you’ll want to get up to speed quickly. There’s nothing worse than feeling overwhelmed, so taking an online course can help fill these knowledge gaps.
How did you learn ROS? Did you study the wiki, take ROS online courses, or learn it on the job?
Be sure to comment on your thoughts on learning ROS below. Leave us your best tips and tricks for mastering ROS and what kinds of robots you’ve worked on!
And lastly, if you have friends who are struggling to learn ROS, be sure to share this article with them.