1. Python programming
2. Object-oriented programming
3. Basics of robotics
4. Basics of Ubuntu OS
5. Understanding version control system git
6. Basics of Docker - Optional
1. Introduction
Robot Operating System (ROS) historical background
Modern applications and use cases
2. ROS 2 basic concepts
Overview of the ROS 2 architecture and philosophy
Setting up the workspace environment
ROS 2 nodes, topics, and messages
Using ROS 2 command line interface
Working with the colcon build system
3. Creating a ROS 2 package
Setting up a ROS 2 project in vscode
Using the ROS 2 Python client library rclpy
Writing a simple ROS 2 subscriber and publisher
Working with launch files
Using parameters and config files
4. ROS 2 nodes communication strategies
Overview of the possible communication strategies
ROS 2 services
ROS 2 actions
5. Tools
Utilizing the transformation system ( tf )
Robot modeling and visualization tools ( URDF and rviz2 )
Storing message data ( rosbag )
ROS 2 GUI interface ( rqt )
6. Simulation
Gazebo simulator
Gazebo plugins
Interacting with a simulated robot