ROS2
What is ROS2?
- The Robot Operating System (ROS) is a set of software libraries and tools for building robot applications. From drivers and state-of-the-art algorithms to powerful developer tools, ROS has the open source tools you need for your next robotics project.
- It is used to communicate between different parts of any systems, by wrapping the data in a standard format and sending it over a network.
- It is also used to create a system that can be easily extended and modified.
- If you have Ubuntu 20.04 LTS, you can install ROS2 here
- If you have Ubuntu 22.04 LTS, you can install ROS2 here
ROS2 concepts and why we use them
I would suggest you walk through the following tutorials to get a better understanding of ROS2 concepts and why we use them. I feel like its better to read and learn from the source rather than me explaining it here.
Though if you have a hard time understanding the tutorials, feel free to ask me any questions you have. And its totally fine if you don't get it the first time, I'd dive into our
2022-23 Drive codeto get a better understanding of how we use ROS2. There we used the simplest form of ROS2, which is thePublisher-Subscriberarchitecture.Beginner: CLI tools
Beginner: Client libraries
- Using colcon to build packages
- Creating a workspace
- Creating a package
- Writing a simple publisher and subscriber (C++)
- Writing a simple publisher and subscriber (Python)
- Writing a simple service and client (C++)
- Writing a simple service and client (Python)
- Creating custom msg and srv files
- Implementing custom interfaces
- Using parameters in a class (C++)
- Using parameters in a class (Python)
Intermediate
ROS2 architecture
- Example of each architecture of each type of ROS2 node can found here
- There are 4 types of nodes in ROS2
- Publisher-Subscriber ::
(Constant stream of publishing and subscribing from each node's data) - Service-Client ::
(Stream of request then response from each node's data) - Action Server-Client ::
(Stream of request then response from each node's data, but with a goal)
- Publisher-Subscriber ::