
Let's take a look at what features the Robot Operating System (ROS) version 2 (ROS2) has to offer us as robotics developers
Installing a Ubuntu Virtual Machine can be an incredibly helpful tool so you can easily learn the ROS features while still having full access to your Windows computer. So let's use VMWare to run a Ubuntu 22.04 operating system on our Windows system.
For MacOS users, I highly suggest installing VirtualBox so that you can utilize a Ubuntu 22.04 Virtual Machine to try out your ROS2 programming in an isolated environment, while still having access to your main MacOS computer.
In this lecture we will go through how to install the ROS2 Humble distribution on an Ubuntu 22.04 machine.
In this lecture we will be installing are Visual Studio Code editor along with some extensions which help us with programming our ROS2 Nodes in C++. Feel free to use you preferred code editor, but this will be the code editor I will be using throughout the course.
In order to develop our custom ROS2 packages, we must first set up our development workspace which we will be compiling our code. Here you will see how to set up your project so we can use the colcon build tool to compile our code we will be creating in the upcoming lectures.
In this project we will implement ROS Services in a realistic robotics application, in which we want to request images from our robot only at particular locations. In this walkthrough I will briefly cover the OpenCV library, which is used to help with Computer Vision applications and image processing.
See how you can communicate with different robotic systems on the same network. In this lecture we will see how you can use Domain ID's to help multiple robots communicate with each other, or keep similar ROS Nodes separate on the same network.
Learn how to use the Robot Operating System (ROS) version 2 platform (ROS2) which is used to program real world robotics.
From Industrial Robots, to Autonomous Cars, to Research & Development systems; ROS is the back-bone of a wide variety of automated systems.
The course is designed for beginners with little, to no experience using ROS2. The coding in this course is done in C++ using ROS2 Humble. We will go over installation of ROS2, how to develop code that uses the framework, and even go over simulation tools so you can make your own robot and control it in simulation, with code that can easily be ported to a real robotic system.
This course is also well suited towards developers who utilized the previous ROS version, and want to learn how to use the newly reworked ROS2 API. It is also worth noting unlike ROS1, ROS2 has cross-platform support which allows it to be used on Ubuntu, Windows 10, and some versions of MacOS. ROS2 also allows for compatibility with ROS1 systems, so you can integrate your new ROS2 projects with your previous ROS1 systems.
Course Outline:
The course is broken into 7 main sections:
Course Introduction
Environment Setup
ROS2 Overview
Using ROS2 in C++
Additional ROS2 Tools
Robotics Simulation
Advanced Features In ROS2
Section 1 is a general introduction to the course.
In section 2 you will learn how to setup your computer to be able to run ROS 2. This includes utilizing the Ubuntu operating system, installing ROS 2, and introducing you to the code editors we will be using in this course.
In section 3 I will teach you at a high level what "tools" are included in the ROS 2 framework, and what each of them do.
You will spend the majority of this course in section 4, learning how to implement all the various ROS2 tools in your very own C++ code.
Section 5 will look at some tools which ROS2 provides outside of the coding environment.
Section 6 will touch on using the simulation and sensor data visualization tools ROS 2 has to offer.
Section 6 will go over advanced features of ROS 2. This will cover building ROS 2 from source in order to utilize tools such as SROS, which allows you to secure your topic data, as well as utilizing the ROS 2 bridge which lets you communicate with ROS 1 Nodes.
We will also be working with the famous OpenCV library to work with image data coming from our robot's camera.
So what are you waiting for? Let's get to programming, using the new and improved version of the most widely used open source robotics platform: ROS version 2.