Skip to content

Latest commit

 

History

History
21 lines (16 loc) · 2.27 KB

learning-ROS.md

File metadata and controls

21 lines (16 loc) · 2.27 KB

LEARNING ROS: How I came up the ROS learning curve.

ROS has a reputaion for having a pretty formidable learning curve. So when I decided to tackle learning ROS, I knew it would be a pretty long slog. Nevertheless, I already had some of the prerequisite skills. I had a working knowledge (certainly not expert) of these subjects:

  • Linux
  • Python
  • Raspberry Pi and its gpio to interface with sensors and actuators

Initially, I didn't have ROS installed on my PC. Actually, I was away from home. So I got started by signing up for the Robot Ignite Academy and took these two online courses:

  • ROS Basics in 5 Days (Python)
  • ROS Navigation in 5 days

These courses are presented through a web browser interface, with all the ROS installation and configuration happening at the server end. So the student is not distracted by needing to deal with any of this, but can focus on the topic being taught. The student can launch some very impressive demonstrations with a minimum number of keystrokes, providing very strong positive reinforcement. So that's a good thing. But after completing these 2 courses, I realized that I needed to jump into the real world and learn how to install and configure ROS on my own, so that I could build my own robot.

So, here is the summary of that process.

  • I installed ROS on my Raspberry Pi
  • I ran through a bunch of ROS Tutorials
  • I did the TurtleBot3 Simulation Tutorial
  • I then undertook to build my own robot with capabilities similar to TB3.
  • Once I started building my own robot, certainly the best investment I made was to purchase Lloyd Brombach's excellent book Practical Robotics in C++. It's up-to-date and packed with practical knowledge about every aspect of building your first robot. And it's very clearly written. I was afraid that the C++ would make it dry (I'm a Python guy), but even the C++ code was presented in a way that made it easy to grasp.
  • While building the robot and getting it working, I encountered and resolved various issues along the way.