Ros2 For Beginners Level 3 - Advanced Concepts
Published 10/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 6.75 GB | Duration: 11h 39m
Published 10/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 6.75 GB | Duration: 11h 39m
Get Your ROS 2 Skills to the Next Level - ROS2 Actions, Lifecycle Nodes, Executors, Components, and More.
What you'll learn
Master ROS 2 intermediate and advanced concepts
ROS2 Actions, Lifecycle Nodes, Executors, Components
Take your ROS2 skills to the next level
Generate and build an Action Definition
Write a complete Action server and client
Choose and implement an Action goal policy
Use Lifecycle nodes to create an initialization sequence for your nodes
Understand how the spin works
Use the single threaded and multi threaded executors
Add several nodes in one executable (composition)
Create a ROS2 component to load at run time
Discover more ROS2 command line tools
Learn the best practices right from the start
Practice with extra challenges and projects
Requirements
You need to have some ROS 2 basics. If you’re new to ROS 2, I suggest starting with my “ROS2 For Beginners” course (level 1)
You can also take the level 2 course, however a direct bridge between level 1 and level 3 is possible.
You need to have Ubuntu installed on your computer (best as a dual boot)
Description
You have learned ROS2 basic concepts and you want to:dive into more advanced core concepts,so you can take advantage of all the ROS2 features,and create better robotics applications ?And maybe you are already stuck and you feel lost in documentation?This course is for you. Read on to learn more.– Why this course?I still remember when I first learned ROS2. Understanding the basic concepts was already super hard, but then when diving into the more intermediate/advanced stuff, I really understood what the word “frustration” means.It was so hard to find valuable information and then to make sense of all of it. In the end, it took me a lot of trial and error.Now that I understand and use those concepts, I just created the course I wish I had at the beginning, so that you can save a lot of time, and learn without frustration.And the concepts you will see here will not only help you create better robotics applications, but they will also be super helpful when you start to learn about ros2_control, nav2, or moveit2. (Note: I don’t teach those frameworks in this course, but they use the advanced ROS2 concepts extensively, so this course will help you learn the frameworks faster)– How do I teach?If you’ve taken other ROS 2 courses from me you know that I’m not here to waste your time.My teaching method is quite simple:Step by stepGoing to the pointLearn while doingAlso I strongly focus on the “why” behind what you learn. The goal is not just to make you blindly repeat some steps, but to understand why those steps matter.And don’t take my word for it - here are some reviews from fellow students/researchers/engineers/teachers who took my ROS2 courses on Udemy:“Best course on ROS2 I’ve taken! Other courses (different sites/platforms) made it confusing but this course makes it so clear and easy to understand while letting you try on your own. I am definitely learning a lot in a painless and simple way. I should have gotten this course from the beginning.” - Miguel Martinez G.“Overall very satisfied. I’ve a strong background in programming, but at a higher level (web mostly) and the elegant, fluent and clean approach of this course has leveraged my introduction to the ROS environment in a short amount of time, without the struggle of going through a lot of documentation” - Devis D.“I think I learned all that I need to develop a ROS2 project from scratch. I will recommend 100% this course to anyone who wants to learn the fundamentals of ROS2.” - Javier D.“This course is awesome. I finally get to understand the development of packages/nodes in a simple progressive way, which helps to understand how the framework works and therefore helps to get into it easily.” - Christophe K.“Edouard has excellent teaching philosophy. He explains concepts clearly and demonstrates them practically which could be understood and applied easily. Thank you Edouard Renard.” – Farhan A.– What will you do and learn in the course?This course is divided into 4 main parts:ActionsLifecycle NodesExecutorsComponentsEach part can be seen as a mini-course inside the course, which means that you can learn them independently from each other.For each part, I teach you the concept step by step, with a clear structure, and you learn by doing and writing the code.In addition to that, I also give you additional practice to make you think on your own, and learn how to combine several concepts in the same application.So, if you want to take your ROS2 skills to the next level, enroll in the course today!You don’t take any risk here, because you also get a 30-day money back guarantee if you’re not fully satisfied - no questions asked.See you in the course!Note - this course is not for you if:You know nothing about ROS 2. In this case, I suggest you start with my “ROS2 for Beginners” course (level 1).
Overview
Section 1: Introduction
Lecture 1 Welcome!
Lecture 2 How to follow this course
Lecture 3 Setup Your Environment (+ Tools)
Lecture 4 Node OOP Template
Section 2: ROS2 Actions - Python ROS2 Action
Lecture 5 Intro
Lecture 6 Why and When to use ROS 2 Actions
Lecture 7 How do ROS 2 Actions Work?
Lecture 8 Create an Action Definition
Lecture 9 Write a Minimal Python Action Server
Lecture 10 Write a Minimal Python Action Client
Lecture 11 Accept or Reject a Goal
Lecture 12 Goal State Machine Explained
Lecture 13 Set a Goal as Succeeded or Aborted
Lecture 14 Send Goal Feedback
Lecture 15 Cancel a Goal
Lecture 16 Introspect Actions with ros2 action (command line)
Lecture 17 Goal Policy: Multiple goals in parallel
Lecture 18 Goal Policy: Refuse new goal if current goal is active
Lecture 19 Goal policy: Preempt current goal if new goal received
Lecture 20 Goal policy: Queue goals
Section 3: C++ ROS2 Actions
Lecture 21 Intro
Lecture 22 C++ Action Server
Lecture 23 C++ Action Client
Lecture 24 Accept or Reject a Goal
Lecture 25 Set a Goal as Succeeded or Aborted
Lecture 26 Send Goal Feedback
Lecture 27 Cancel a Goal
Lecture 28 Goal Policy: Multiple goals in parallel
Lecture 29 Goal Policy: Refuse new goal if current goal is active
Lecture 30 Goal Policy: Preempt current goal if new goal received
Lecture 31 Goal Policy: Queue goals
Section 4: ROS2 Actions - Challenge
Lecture 32 Intro - Project Overview
Lecture 33 Step 1 - Create and Generate the Action
Lecture 34 Step 2 - Action Server
Lecture 35 Step 3 - Action Client
Lecture 36 Step 4 - Accept Goal and Goal Policy
Lecture 37 Step 5 - Cancel with a Subscriber
Lecture 38 Actions Challenge - C++ Code
Section 5: ROS2 Lifecycle Nodes
Lecture 39 Intro
Lecture 40 What are Lifecycle Nodes, When to Use Them
Lecture 41 Code Setup
Lecture 42 Write a Lifecycle Node in Python
Lecture 43 Transition Between States (with ros2 lifecycle cmd line)
Lecture 44 Processing Errors
Lecture 45 Lifecycle Node Manager (using Lifecycle Services)
Lecture 46 Create a Launch File for Lifecycle Nodes
Lecture 47 Write a Lifecycle Node in C++
Section 6: ROS2 Lifecycle Nodes - Challenge
Lecture 48 Intro
Lecture 49 Step 1 - Transform the Node Into a Lifecycle Node
Lecture 50 Step 2 - Start Several Nodes (Params + Launch File)
Lecture 51 Step 3 - Lifecycle Manager
Lecture 52 Lifecycle Node Challenge - C++
Section 7: ROS2 Executors
Lecture 53 Intro
Lecture 54 Understand How Callbacks and Spin Work
Lecture 55 The SingleThreaded Executor
Lecture 56 Multi Threaded Executor and Callback Groups
Lecture 57 Which Executor/Callback Group Should You Use?
Lecture 58 Going back to the Actions Server Example
Lecture 59 Run Several Nodes in One Executable
Lecture 60 Executors With C++
Section 8: ROS2 Components
Lecture 61 Intro
Lecture 62 Manual Composition with Python
Lecture 63 Manual Composition with C++
Lecture 64 Create a ROS2 Component (plugin)
Lecture 65 Load a Component at Run-Time with ros2 component cmd line
Lecture 66 Load Components From a Launch File
ROS developers who know the basics and want to take their skills to the next level.,Engineers/Teachers/Researchers/Anyone who wants to fully exploit the intermediate and advanced features of ROS2, to create better robotics applications.,ROS developers who are interested in understanding the underlying ROS2 core concepts of ros2_control, nav2, and moveit2.,Anyone lost in documentation, or who doesn’t understand what they do.