🧊
Resources
Socials
  • πŸ“™Welcome!
  • βš™οΈROS
    • Beginner's Guide to ROS
      • Prerequisites
        • πŸ’»Ubuntu Setup - Windows Subsystem for Linux (WSL)
        • πŸ’»Ubuntu Setup - Dual Booting (For Windows)
        • πŸ’»Ubuntu Setup - VM on MacOS M1
      • ROS Installation
        • Installation Guide [ROS2 Humble]
      • ROS Concepts
      • ROS Tools/Utils
        • Working with ROS 1/2 Bags
      • Robotics Fundamentals
        • Domains of Robotics Software
          • Perception
          • Localisation
          • Navigation
          • Controls
          • Simulation
        • Fundamental Concepts
          • Rotations (and Quaternion)
          • Coordinate Frames
          • Rigid Body Transformations (3D)
          • Basic Control Theory
          • Image Processing (with OpenCV)
    • Perception
      • Camera
        • [WSL2] Enabling USB Camera Access
        • Image Common
        • Camera Driver
        • Camera Calibration
        • Stereo Vision Concept
        • Image Pipeline
          • Monocular Image Processing
          • Disparity and Depth Image for Stereo Vision
      • LiDAR
        • Working with PointCloud2 Data
Powered by GitBook
On this page
  • What is ROS?
  • 1. What is UNIX/Linux/Debian/Ubuntu??
  • UNIX & Linux
  • Linux
  • Debian
  • Ubuntu
  • Summary
  • 2. UNIX Commands
  • 3. Basic Programming Background (Python Minimally)
  • What is next?
  1. ROS
  2. Beginner's Guide to ROS

Prerequisites

In this page, you will learn what is ROS, UNIX, Linux, Ubuntu.

What is ROS?

Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. Best part is it is open source (in programming terms its free-to-use for all).

Note, ROS is not an operating system.

ROS is an open-source framework that provides a set of tools, libraries, and conventions for creating and running robotic applications. ROS is not an operating system in the traditional sense, but rather a collection of software modules that communicate through a standardized interface.

For total beginners, just take it that ROS is the glue that puts different software modules together, making it easier to create software for robots.

Before learning ROS, you should be familiar with the following:

  1. What is Ubuntu?

  2. Unix Commands

  3. Basic Programming Knowledge with Python/C++


1. What is UNIX/Linux/Debian/Ubuntu??

Let's address a common question everyone will have when they first try to use Linux:

What exactly is Ubuntu? What is Debian? What is Linux? What is UNIX?

UNIX & Linux

UNIX is an older and very influential operating system that was first developed in the 1960s and 1970s at AT&T's Bell Labs.

Linux is an operating system, like Windows or macOS. An operating system is the software that manages all the hardware and software on a computer. It's what lets you interact with your computer and run applications.

While not directly derived from UNIX code, Linux was inspired by UNIX and follows many of its principles. Hence the command lines used in Linux is largely UNIX Command Lines.

macOS is also a UNIX-based OS, hence the terminal works very similarly to that for Linux.

Linux

Linux is special because it's open-source, meaning anyone can see its code, modify it, and share it with others. This has led to many different versions (or "distributions") of Linux being created.

Debian

Debian is one of these Linux distributions. Think of it as a flavor of Linux. Just like there are different brands of cars, there are different brands of Linux, and Debian is one of them. Debian is known for its stability and the huge amount of software available for it. It serves as the foundation for other Linux distributions.

Ubuntu

Ubuntu is another Linux distribution, and it's actually based on Debian. It's designed to be very user-friendly, especially for people who might be new to Linux. Ubuntu is popular because it’s easy to install and use, and it comes with a lot of helpful software right out of the box.

Summary

  • Linux: The underlying operating system.

  • Debian: A stable and robust version (distribution) of Linux.

  • Ubuntu: A user-friendly version of Linux that is based on Debian.

So, if you think of Linux as the basic model of a car, Debian is like a specific brand of that car, and Ubuntu is like a special version of that brand that's made to be especially easy to drive.

2. UNIX Commands

Minimally, you should know how to navigate directories using Command Lines.

There are also plenty of videos on the internet teaching UNIX Commands.

Here are some videos that may help:

3. Basic Programming Background (Python Minimally)

Minimally, you should be familiar with Python programming language.

However, if you have background in C++, you will have a better understanding of how ROS will work under the hood (especially the build process).


What is next?

Now that we have understood what is Ubuntu, we can now move on to setting up Ubuntu on our device(s).

For ROS, I strongly recommend using Ubuntu and specifically for this guide, Ubuntu 22.04.

Below are guides to set up Ubuntu for Windows and also MacOS (M1).

PreviousBeginner's Guide to ROSNextUbuntu Setup - Windows Subsystem for Linux (WSL)

Last updated 10 months ago

Here is a site that you can visit to learn about the .

(42mins)

(16 mins)

I believe best way to learn is to try it out for yourself! So you could follow my guides on first!

If not, you may visit .

My guides will mostly involve using Python, and occasionally C++ as not everything in ROS can be done in python. But don't worry, the pages within will be done in Python.

βš™οΈ
UNIX Commands
Beginner's Guide To The Linux Terminal
Linux File System/Structure
WS3 Schools (Python)
Intro to ROS
πŸ’»Ubuntu Setup - Dual Booting (For Windows)
πŸ’»Ubuntu Setup - Windows Subsystem for Linux (WSL)
πŸ’»Ubuntu Setup - VM on MacOS M1
setting up Ubuntu 22.04