
Meet your instructor, Raymond, as he outlines the beginner-friendly ROS2 Python course. Explore the four delivery modes, how to access lecture resources, and the Udemy Q&A for help.
Discover what ROS is and why it’s prevalent in robotics. Learn how an open source robot operating system with built-in tools and packages saves development time across ROS versions.
Install and configure ROS Humble on Ubuntu 22.04 using a virtual machine, noting OS version specificity and possible dependency issues when building from source.
Learn to install VMware Workstation Player on Windows, set up an Ubuntu 22.04 virtual machine, and prepare ROS2 simulations on a Windows host.
Install and configure ROS 2 Humble on Ubuntu 22.04, including locale setup, adding the ROS repository, installing the Debian package, sourcing the environment, and running talker and listener examples.
Install and configure Visual Studio Code on Ubuntu for ROS development, add Python, C/C++, and ROS extensions, customize themes and icons, and sync settings across machines for ROS 2 workflows.
Explore what ROS 2 offers for robot development through a high-level overview of its tools. Take notes, revisit the section, and compare ROS 2's communication architecture to ROS 1.
Explore the ROS 2 framework overview, showing how data distribution service enables secure node communication via publishers and subscribers on topics, with services, actions, parameters, bag files, and cross-platform packages.
Learn to use the ROS client libraries in Python, with ROS terminal commands for debugging, and coding explanations using the raster framework on Ubuntu.
Learn to create and organize a ROS2 workspace, including a source package with python scripts, package XML, build and install steps, and how to source the setup file.
Create a ROS2 python publisher that sends a Hello World string with an incrementing counter, using rclpy, a hello world topic, and a timer to publish every 0.5 seconds.
Create a ROS2 Python subscriber that subscribes to the hello world topic using a string message, prints received data in the callback, and maintains a running node.
Configure a ros2 package to run Python nodes from any location by updating package.xml and setup files, configure make lists, and run publisher and subscriber nodes with ros2 run.
Learn to configure VS Code to compile ROS2 Python packages, using the Simulink install option to create linked files, automate builds with a tasks.json, and ensure Python scripts are executable.
Explore ROS interface types by examining standard and sensor messages and their primitive data. Learn to import message types and view available interfaces with the ROS to interface list command.
Build a ROS2 Python project with an rpm publisher and a speed calculator subscriber to publish speed in meters per second from rpm using wheel radius and circumference.
Learn how to use ros2 parameters in python to make nodes dynamic, declare and retrieve wheel radius, and adjust runtime values with set and get commands to affect speed calculations.
Use Python-based ROS 2 launch files to start multiple nodes with a single command. Define nodes with package and executable names, and learn to run them via ROS 2 launch.
Create a ros2 launch file to run rpm publisher and speed calculator nodes with configurable wheel radius, observe the speed topic with a single command, and recompile your workspace.
Learn to implement ROS2 services in Python by building a custom odd-even service with a client and server, including interface creation, code generation, and testing.
Create a ROS 2 service with a client and server to rotate a camera by a given angle and return a corresponding pre-taken image, using OpenCV and CV Bridge.
Install the USB cam package for ROS 2 humble via apt and the ROS index, then build in a workspace, resolve dependencies, and launch the demo to stream camera images.
Learn how to create, record, and replay ros2 bag files to capture topic data, adjust parameters like wheel radius, and inspect bag metadata with bag info and bag play.
Explore ROS 2 visualization tools, including Orvis 3D visualization and the RQT GUI, for viewing sensor data, bag playback, topic and node graphs, and image streams.
Simulate a robot with Ignition to test software using the same code as a real robot. Explore ROS2 visualization on Ubuntu 22, with sensor data like cameras, leaders, and gases.
Learn ignition gazebo basics for robotics simulation, bridge ignition topics to ROS 2 with the ignition bridge, and visualize laser scan and camera data in ROS.
Extend a simple SDF world with camera sensors and plug-ins, configure camera pose and image settings, test in Ignition Gazebo, and bridge topics to ROS with a GUI image view.
Create a wheeled robot in Gazebo Classic with the model editor, set visuals, collision, and joints, then drive it using the diff drive plugin and bridging Ignition topics to ROS.
Configure a ROS 2 package to launch a Gazebo Ignition simulation with a launch file, remap topics via the ignition bridge, and manage world and models directories.
Build a simulated wheeled robot with a camera in ignition gazebo, launch via a single ros launch file, and bridge ignition topics to ros for image streams.
Explore ignition gazebo and Gazebo Classic for ROS robotics simulation, and compare tools like Move It, Reebok's, Moukoko, and Nvidia's Isaac SIM for AI-driven training.
Explore advanced ROS2 features, including security configurations and ROS bridge for ROS2–ROS1 communication, using Ubuntu 20 and building ROS Foxy from source.
Learn to set up two Ubuntu machines on the same local network, run ROS 2 publisher and listener nodes, and configure ROS domain IDs to control cross-device communication.
Learn to secure ROS 2 message streams by creating a keystore, generating keys and certificates, and encrypting topics for talker and listener nodes using an enclave and environment variables.
Bridge legacy ROS1 to ROS2 using the ROS1 bridge, enabling communication between nodes on Noetic and Foxy. Learn setup steps and a talker/listener example.
Install the VMware player on Windows, download Ubuntu 20.04, and create a new virtual machine with default disk space, then install VMware Tools, log in, and open a terminal.
Install ROS Foxy on Ubuntu 20.04 by configuring sources, installing Debian packages, and setting up the environment to source ROS in the terminal.
Learn to install ROS 2 Foxy on Windows 10 from a fresh system, including prerequisites, environment setup, dependencies, and running sample Talker and Listener nodes.
Install ROS 2 Foxy on macOS Mojave 10.14 using binary packages, configure brew and Python, set up the terminal and bashrc, and run talker and listener demos.
Build ROS2 Foxy from source on Ubuntu 20, set up a workspace, install dependencies, build with colcon, enable security, and verify with talker and chatter topics.
Learn to bridge ros1 and ros2 using the ros2 bridge, install and configure ros noetic, source environments, and run talker and listener examples.
Apply ROS2 tools with Python to build, simulate, and visualize robotics projects, then showcase work on GitHub to strengthen your resume for robotic software roles.
Newly Updated For 2023! 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. I'm Raymond, an experienced Robotics Systems Developer with over 10 years of experience in developing robotics applications.
The course is designed for beginners with little, to no experience using ROS2. The coding in this course is done in Python 3 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.
You will learn how to create robotic simulations, integrate advanced tools, and program robots using Python and ROS2. Here are a few of the course sections:
Course Outline:
The course is broken into 8 main sections:
Course Introduction
Environment Setup
ROS2 Overview
Using ROS2 in Python
Additional ROS2 Tools
Robotics Simulation
Advanced Features In ROS2
Course Outro
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 editor 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 Python code.
Section 5 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.
This course offers a comprehensive and practical approach to learning ROS2 Humble on Ubuntu 22, with real-world examples and coding walkthroughs in Python.
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.