Build hands-on projects to acquire core robotics software engineering skills: ROS, Gazebo, Localization, Mapping, SLAM, Navigation, and Path Planning.
Robotics Software Engineer
Begin your exploration into the world of robotics software engineering with a practical, system-focused approach to programming robots using the ROS framework and C++. In addition, learn and apply robotics software engineering algorithms such as localization, mapping, and navigation.
4 months to complete
To optimize your chances of success in the Robotics Software Engineer Nanodegree program, we’ve created a list of prerequisites and recommendations to prepare you for the program curriculum.
Learn the essential elements of robotics, meet your instructors, and get familiar with the tools that will help you succeed in this program.
- Gazebo World
Learn how to simulate your first robotic environment with Gazebo, the most common simulation engine used by Roboticists around the world.
- ROS Essentials
Discover how ROS provides a flexible and unified software environment for developing robots in a modular and reusable manner. Learn how to manage existing ROS packages within a project, and how to write ROS Nodes of your own in C++.
Learn how Gaussian filters can be used to estimate noisy sensor readings, and how to estimate a robot’s position relative to a known map of the environment with Monte Carlo Localization (MCL).
- Mapping and SLAM
Learn how to create a Simultaneous Localization and Mapping (SLAM) implementation with ROS packages and C++. You’ll achieve this by combining mapping algorithms with what you learned in the localization lessons.
- Path Planning and Navigation
Learn different Path Planning and Navigation algorithms. Then, combine SLAM and Navigation into a home service robot that can autonomously transport objects in your home!