C++ ROS2 Roadmap
C++ ROS2 Roadmap
Week 2 Functions & Arrays Functions, Function Arguments, Reverse an Array, Find Maximum
Arrays (1D, 2D) in an Array
Week 3 Pointers & Memory Pointers, Dynamic Memory Dynamic Array Allocation, Simple
Allocation, Smart Pointers Memory Management System
Week 4 Object-Oriented Classes, Objects, Access Modifiers, Robot Class, Vector Operator
Programming (OOP) Constructors, Operator Overloading
Overloading
Week 5 Advanced OOP & Inheritance Inheritance, Function Overriding, Hierarchical Robot Class
Virtual Functions, Abstract Classes (Wheeled, Legged)
Week 6 STL & Multi-threading STL: vector, map, set, queue, stack; Task Queue, Multi-threaded
Multi-threading: std::thread, Sensor Simulation
Mutex
Week 7 File & Exception Handling File I/O (ifstream, ofstream), Robot Log File System
Exception Handling (try-catch)
Week 8 Advanced Topics & Final Function Pointers, Lambda Robot Path Planner using C++
Project Functions, Templates Classes
ROS 2 Jazzy Jalisco Roadmap (8 Weeks)
Week Topics Details Practice Projects
Week 1 ROS 2 Setup & Basics Install ROS 2, Create a Workspace, Hello World ROS 2 Node
Package Structure, Simple Node
Week 2 ROS 2 Topics Publishers & Subscribers, Sending Sensor Data Publisher
Sensor Data (Temperature, Distance)
Week 3 ROS 2 Services & Actions Request-Response Model, ROS 2 Battery Status Service
Service Creation, Actions
Week 4 ROS 2 Parameters & Launch Parameter Server, YAML Config, Configurable Robot using ROS 2
Files Launching Nodes Parameters
Week 5 TF2 & Odometry Transform Library (TF2), Robot Robot Localization System with
Localization, Publishing Frames TF2
Week 6 Simulation with Gazebo & ROS 2 Simulation, Simulating Simulate Differential Drive Robot
RViz Robots, RViz Visualization in Gazebo
Week 7 Autonomous Navigation Navigation Stack, Path Planning, ROS 2-based Robot Path Planner
(Nav2) SLAM, Obstacle Avoidance
Week 8 Final ROS 2 Project Integrate Nodes, Sensors, Develop a ROS 2-based
Navigation, Control Autonomous Robot