Video description
In this course, and in a few hours, I will take you step by step from a complete beginner to a ROS2 developer who writes scalable robotics applications. Are you learning ROS2 from scratch? You might be asking yourself, “Where do I start? How do I learn this material? What to do first?”
When I first started using the Robot Operating System (ROS), it was hard for me to answer those questions. Thus, learning ROS/ROS2 was difficult. But it doesn’t have to be that way if you learn with the right resources.
Also, something I noticed is that when people teach ROS2, they often make comparisons with ROS1. What if you don’t know ROS1?
I created this course so that you can properly learn ROS2 from the beginning, with no prior knowledge of ROS and without having to waste weeks or even months trying to find out what to do. After completing this course, you can say goodbye to the big learning curve everyone faces when learning ROS2.
The course is structured so that you can follow it one step at a time and get everything you need in the right order. At the end of the course, you’ll be confident enough to start your own ROS2 application.
You will have the opportunity to work on a complete project using the Turtlesim simulation. This will help you practice more on everything you’ll learn in the course. That will be your first real project from A to Z.
Along the way, you’ll also learn how to use ROS2 tools to debug your application, to monitor what’s going on, and to build your code. With everything you’ll learn, along with the best practices I’ll give you, you will be ready to start any ROS2 project with a good foundation.
Distributed by Manning Publications
This course was created independently by Edouard Renard and is distributed by Manning through our exclusive liveVideo platform.
About the Technology
About the Video
What's Inside
- Master ROS2 core concepts
- Build a complete ROS2 application from A to Z
- Use ROS 2 with both Python and CPP
- Discover ROS2 tools and how to use them
- Best practices for ROS2 development
- Practice with many activities and a final project
- ROS2 nodes, topics, services, parameters, launch files, and more
About the Reader
- Programming basics in Python and/or C++
- Some basics of Object Oriented Programming (OOP) will be an advantage
- You need to know how to use basic commands in a terminal
About the Author
Edouard Renard is a software engineer, entrepreneur, and robotics teacher. He enjoys teaching new technologies to people and makes complex stuff easy to understand. His method is simple and contains only three words—step by step.
He knows how hard it can be to learn a new topic and to be lost in an ocean of information without knowing what to do. In his courses, he makes sure that his students learn one step at a time through practicing and that students also learn the best practices.
Edouard is passionate about robotics. He cofounded a robotics startup in 2016, building a complete robotic arm from scratch with Arduino, Raspberry Pi, Ubuntu, and ROS. He likes building cool new robotics projects in his free time.
Quotes
Table of contents
- Introduction
-
Install ROS2 and Set Up Your Environment
- Introduction
- Which ROS2 Distribution to Use
- Install Ubuntu 22.04 on a Virtual Machine (If You Use ROS2 Humble)
- Install Ubuntu 20.04 on a Virtual Machine (If You Use ROS2 Foxy)
- Programming Tools Used in This Course
- Install ROS2 Humble on Ubuntu 22.04 (If You Use ROS2 Humble)
- Install ROS2 Foxy on Ubuntu 20.04 (If You Use ROS2 Foxy)
- Set Up Your Environment for ROS2
- Launch a ROS2 Program
-
Write Your First ROS2 Program
- Introduction
- Install Colcon, the ROS2 Build Tool
- Create a ROS2 Workspace
- Create a Python Package
- Create a C++ Package
- What is a ROS2 Node?
- Write a Python Node (Minimal Code)
- Write a Python Node - With OOP
- Write a C++ Node (Minimal Code)
- Write a C++ Node With OOP
- OOP Template for Your Nodes
- More about the ROS2 Client Libraries for Different Languages
- Introduction to ROS2 Tools
-
ROS2 Topics: Make Your Nodes Communicate with Each Other
- Introduction
- What is a ROS2 Topic?
- Write a Python Publisher
- Write a Python Subscriber
- Write a C++ Publisher
- Write a C++ Subscriber
- Debug ROS2 Topics with Command-Line Tools
- Remap a Topic at Run Time
- Monitor Topics with rqt and rqt_graph
- Experiment on Topics with Turtlesim
- Activity 2: ROS2 Topics
- Activity 2: Solution, Part 1
- Activity 2: Solution, Part 2
-
ROS2 Services - Client/Server Communication Between Nodes
- Introduction
- What is a ROS2 Service?
- Write a Python Service Server
- Write a Python Service Client (No OOP)
- Write a Python Service Client (OOP)
- Write a C++ Service Server
- Write a C++ Service Client (No OOP)
- Write a C++ Service Client (OOP)
- Debug Services with ROS2 Tools
- Remap a Service at Run Time
- Experiment on Services with Turtlesim
- Activity 3: ROS2 Services
- Activity 3: Solution
-
Create Custom ROS2 Interfaces (Msg and Srv)
- Introduction
- What are ROS2 Interfaces?
- Create and Build Your First Custom Msg Interface
- Use Your Custom Msg in a Python Node
- Use Your Custom Msg in a C++ Node
- Create and Build Your First Custom Srv Interface
- Debug Msg and Srv with ROS2 Tools
- Activity 4: ROS2 Custom Interfaces
- Activity 4: Solution, Part 1
- Activity 4: Solution, Part 2
- Activity 4: Solution, Part 3
- Change Node Settings at Run Time with ROS2 Parameters
- Scale Your Application with ROS2 Launch Files
- Complete Project with Turtlesim
- Extra
- Conclusion
Product information
- Title: ROS2 for Beginners
- Author(s):
- Release date: August 2022
- Publisher(s): Manning Publications
- ISBN: 10000DIVC2022146
You might also like
video
The Complete Java Developer Course: From Beginner to Master
Be it websites, mobile apps, or desktop software, Java remains one of the most popular programming …
video
Learn Git in 3 Hours
Git Version Control Systems (VCS) changes your approach to modern software engineering. Using Git, you can …
video
Clean Code Fundamentals
Expanded Edition (Updated February 2022) Updated with episodes from SOLID Principles and Advanced TDD in the …
book
Flutter for Beginners - Second Edition
Develop the real-world experience you need to build and launch your own Flutter apps with this …