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
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