This repository documents key concepts, lessons, and project summaries from the programm Robotics Software Engineer.
The Robotics Software Engineer Nanodegree teaches how to build robotic systems using:
- ROS (Robot Operating System)
- Gazebo simulation
- Localization & SLAM algorithms
- Path planning & navigation
- C++ robotics programming
- Gazebo Simulation — Building custom robot environments
- ROS Essentials — Nodes, topics, packages, Catkin workspace
- Localization — Kalman Filters, Extended KF, Particle Filters, Monte Carlo Localization
- Mapping & SLAM — Occupancy grid mapping, FastSLAM, GraphSLAM
- Path Planning & Navigation — BFS, A*, sampling-based planning, C++ implementation
- L1: Gazebo Basics — Build your first simulation
- Project: Build My World
- Create a custom Gazebo world with multiple models
- Use it as the environment for future projects
- L1: Introduction to ROS — Architecture & environment setup
- L2: Packages & Catkin Workspaces — Manage and build ROS packages
- L3: Writing ROS Nodes (C++)
- Build a mobile robot
- Add it to your Gazebo world
- Implement C++ ROS nodes for autonomous ball-chasing behavior
- L1: Introduction to Localization
- L2: Kalman Filters & EKF
- L3: Lab — Apply EKF in ROS
- L4: Monte Carlo Localization (MCL)
- L5: Coding MCL in C++
- Implement Adaptive MCL in ROS
- Localize a robot in a provided map
- L1: SLAM Overview
- L2: Occupancy Grid Mapping
- L3: Grid-based FastSLAM
- L4: GraphSLAM
- Deploy RTAB-Map on your robot
- Generate 2D and 3D environmental maps
- L1: Path Planning Overview
- L2: Classic Path Planning (BFS, A)*
- L3: Lab — Implement BFS & A*
- L4: Sample-Based & Probabilistic Planning
- Combine SLAM + navigation
- Build a robot that maps, navigates, picks up, and delivers objects autonomously
- Plan a path for a KUKA manipulator arm
- Test your motion planning algorithm on real robot hardware
Note: This project uses the official Udacity Fixed-Wing Simulator and includes partial control code intended for educational and practice purposes.