Tags
Language
Tags
November 2024
Su Mo Tu We Th Fr Sa
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Self Driving And Ros 2 - Learn By Doing! Odometry & Control

Posted By: ELK1nG
Self Driving And Ros 2 - Learn By Doing! Odometry & Control

Self Driving And Ros 2 - Learn By Doing! Odometry & Control
Published 9/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.09 GB | Duration: 20h 51m

Create a Self-Driving robot and learn about Robot Localization and Sensor Fusion using Kalman Filters

What you'll learn

Create a Real Self-Driving Robot

Mastering ROS2, the last version of the Robot Operating System

Implement Sensor Fusion algorithms

Simulate a Self-Driving robot in Gazebo

Programming Arduino for Robotics Applications

Use the ros2_control library

Develop a Controller

Odometry and Localization

Kalman Filters and Extended Kalman Filter

Probability Theory

Differential Kinematics

Create a Digital Twin of a Self-Driving Robot

Master the TF2 library

Requirements

Basic knowledge of Python or C++

Basic knowledge of Linux

No prior knowledge of ROS or ROS 2 required

No prior knowledge of Robotics theory required

No hardware required. All the course can be followed also using only the PC

Description

Would you like to build a real Self-Driving Robot using ROS2, the second and last version of Robot Operating System by building a real robot?Would you like to get started with Autonomous Navigation of Robot and dive into the theoretical and practical aspects of Odometry and Localization from industry experts?The philosophy of this course is the Learn by Doing and quoting the American writer and teacher Dale Carnegie Learning is an Active Process. We learn by doing, only knowledge that is used sticks in your mind.In order for you to master the concepts covered in this course and use them in your projects and also in your future job, I will guide you through the learning of all the functionalities of ROS both from the theoretical and practical point of view.Each section is composed of three parts:Theoretical explanation of the concept and functionalityUsage of the concept in a simple Practical exampleApplication of the functionality in a real RobotThere is more! All the programming lessons are developed both using Python and C++ . This means that you can choose the language you are most familiar with or become an expert Robotics Software Developer in both programming languages!By taking this course, you will gain a deeper understanding of self-driving robots and ROS 2, which will open up opportunities for you in the exciting field of robotics.

Overview

Section 1: Introduction

Lecture 1 Course Motivation

Lecture 2 The Self-Driving Program

Lecture 3 Course Presentation

Lecture 4 Meet your Teacher

Lecture 5 [EXTRA]: Boost your Robotics Software Developer Career

Lecture 6 Get the Most out of the Course

Lecture 7 Course Material

Section 2: Setup

Lecture 8 Install Ubuntu on Virtual Machine

Lecture 9 Install Ubuntu on Dual Boot

Lecture 10 Install ROS 2

Lecture 11 Configure the Development Environment

Section 3: Introduction to ROS 2

Lecture 12 Why a Robot Operating System?

Lecture 13 What is ROS 2

Lecture 14 Why a NEW Robot Operating System?

Lecture 15 ROS 2 Architecture

Lecture 16 Hardware Abstraction

Lecture 17 Low-Level Device Control

Lecture 18 Messaging Between Process

Lecture 19 Package Management

Lecture 20 Architecture of a ROS 2 Application

Lecture 21 Create and Activate a Workspace

Lecture 22 Simple Publisher

Lecture 23 Simple Publisher

Lecture 24 Simple Subscriber

Lecture 25 Simple Subscriber

Section 4: Locomotion

Lecture 26 Robot Locomotions

Lecture 27 Mobile Robots

Lecture 28 Friction Effects

Lecture 29 Robot Description

Lecture 30 URDF

Lecture 31 Create the URDF Model

Lecture 32 Rviz 2

Lecture 33 Parameters

Lecture 34 Parameters

Lecture 35 Parameters

Lecture 36 ROS 2 Parameter CLI

Lecture 37 Visualize the Robot

Lecture 38 Launch Files

Lecture 39 Visualize the Robot with Launch Files

Lecture 40 Gazebo

Lecture 41 Simulate the Robot

Lecture 42 Launch the Simulation

Section 5: Control

Lecture 43 ROS 2 Control

Lecture 44 Control Types

Lecture 45 ros2_control with Gazebo

Lecture 46 YAML Configuration File

Lecture 47 Configure ros2_control

Lecture 48 Launch the Controller

Lecture 49 ros2_control CLI

Section 6: Kinematics

Lecture 50 Robot Kinematics

Lecture 51 Pose of a Mobile Robot

Lecture 52 Translation Vector

Lecture 53 Introduction to Turtlesim

Lecture 54 Translation Vector

Lecture 55 Translation Vector

Lecture 56 Rotation Matrix

Lecture 57 Rotation Matrix

Lecture 58 Rotation Matrix

Lecture 59 Transformation Matrix

Section 7: Differential Kinematics

Lecture 60 Differential Kinematics

Lecture 61 Velocity of a Mobile Robot

Lecture 62 Linear Velocity

Lecture 63 Angular Velocity

Lecture 64 Velocity in World Frame

Lecture 65 Differential Forward Kinematics

Lecture 66 Simple Speed Controller

Lecture 67 Simple Speed Controller

Lecture 68 Simple Speed Controller

Lecture 69 Launch the Simple Controller

Lecture 70 Teleoperating with Joystick

Lecture 71 Using the diff_drive_controller

Section 8: TF2 Library

Lecture 72 The TF2 Library

Lecture 73 Operations with Transformations

Lecture 74 Static and Dynamic Transformations

Lecture 75 Simple TF2 Static Broadcaster

Lecture 76 Simple TF2 Static Broadcaster

Lecture 77 Simple TF2 Broadcaster

Lecture 78 Simple TF2 Broadcaster

Lecture 79 ROS 2 Services

Lecture 80 Service Server

Lecture 81 Service Server

Lecture 82 Service Client

Lecture 83 Service Client

Lecture 84 Simple TF2 Listener

Lecture 85 Simple TF2 Listener

Lecture 86 Angle Rapresentations

Lecture 87 Euler Angles

Lecture 88 Quaternion

Lecture 89 Euler to Quaternion

Lecture 90 Euler to Quaternion

Lecture 91 TF2 Tools

Section 9: Odometry

Lecture 92 Where is the Robot?

Lecture 93 The Local Localization Challenge

Lecture 94 Wheel Odometry

Lecture 95 Differential Inverse Kinematics

Lecture 96 Differential Inverse Kinematic

Lecture 97 Differential Inverse Kinematic

Lecture 98 Wheel Odometry - Position

Lecture 99 Wheel Odometry - Orientation

Lecture 100 Wheel Odometry

Lecture 101 Wheel Odometry

Lecture 102 Publish Odometry Message

Lecture 103 Publish Odometry Message

Lecture 104 Broadcast Odometry Transform

Lecture 105 Broadcast Odometry Transform

Section 10: Probability for Robotics

Lecture 106 Motivation

Lecture 107 Random Variables

Lecture 108 Conditional Probability

Lecture 109 Probability Distributions

Lecture 110 Gaussian Distributions

Lecture 111 Total Probability Theorem

Lecture 112 Bayes Rule

Lecture 113 Sensor Noise

Lecture 114 Adding Noise to Robot Motion

Lecture 115 Adding Noise to Robot Motion

Lecture 116 Launch Noisy Controller

Lecture 117 Odometry Comparison

Section 11: Sensor Fusion

Lecture 118 Advantages of having Multiple Sensors

Lecture 119 Gyroscope

Lecture 120 Accelerometer and IMU

Lecture 121 Simulate IMU Sensor

Lecture 122 Kalman Filter

Lecture 123 Filter Initialization

Lecture 124 Filter Initialization

Lecture 125 Measurement Update

Lecture 126 Measurement Update

Lecture 127 Measurement Update

Lecture 128 State Prediction

Lecture 129 State Prediction

Lecture 130 State Prediction

Lecture 131 Localization with Kalman Filter

Lecture 132 Extended Kalman Filter (EKF)

Lecture 133 IMU Republisher

Lecture 134 IMU Republisher

Lecture 135 Sensor Fusion with robot_localization

Section 12: Conclusions

Lecture 136 Recap

Lecture 137 What's Next?

Lecture 138 BONUS Lecture

Self-Driving enthusiast,Makers and Hobbists keen on robotics,Software developers taht wants to learn ROS 2 and Robotics,Students or Engineers that wants to learn how to buid a robot from scratch,Developers that already knows ROS 2 and that want to use it in a real world application,ROS Developers that want to learn and migrate to ROS 2,Robotics Engineers that wants to develop skills in Autonomous Navigation,Beginner Python developers curious about Self-Driving,Beginner C++ developers curious about Self-Driving