New!
Nanodegree Program

Become a Robotics Software Engineer

Build hands-on projects to acquire core robotics software engineering skills: ROS, Gazebo, Localization, Mapping, SLAM, Navigation, and Path Planning.

  • Estimated Time
    4 Months

    At 10-15 hrs/week

  • Enroll by
    September 24, 2019

    Get access to classroom immediately on enrollment

  • Prerequisites
    Mathematics & Programming

    See prerequisites in detail

What You Will Learn

Download Syllabus
Syllabus

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.

Program robots using ROS, C++, and the robotics algorithms that you’ll learn in this program.

Hide details

4 months to complete

Prerequisite Knowledge

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.See detailed requirements.

  • Introduction To Robotics

    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.

    Build My 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++.

    Go Chase It!
  • Localization

    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).

    Where Am I?
  • 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.

    Map My World
  • 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!

    Home Service Robot
Icon - Dark upwards trend arrow

According to Glassdoor, the average base salary for a robotics software engineer in the U.S. is $103k!

All Our Nanodegree Programs Include:

Real-world projects from industry experts

With real world projects and immersive content built in partnership with top tier companies, you’ll master the tech skills companies want.

1-on-1 technical mentor

Get a knowledgeable mentor who guides your learning and is focused on answering your questions, motivating you and keeping you on track.

Personal career coach and career services

You’ll have access to career coaching sessions, interview prep advice, and resume and online professional profile reviews to help you grow in your career.

Flexible learning program

Get a custom learning plan tailored to fit your busy life. Along with easy monthly payments you can learn at your own pace and reach your personal goals.
Program OfferingsFull list of offerings included:
Subscription includes:
Class content
Real-world projects
icon-checkmarkCheckmark
Project reviews
icon-checkmarkCheckmark
Project feedback from experienced reviewers
icon-checkmarkCheckmark
Student Services
1-on-1 technical mentor
New
icon-checkmarkCheckmark
Check-ins with mentor
New
icon-checkmarkCheckmark
Student community
Improved
icon-checkmarkCheckmark
Career services
Personal career coaching
New
icon-checkmarkCheckmark
Interview preparations
icon-checkmarkCheckmark
Resume services
icon-checkmarkCheckmark
Github review
icon-checkmarkCheckmark
LinkedIn profile review
icon-checkmarkCheckmark
Resume shared with 500+ employers
New
icon-checkmarkCheckmark
Succeed with Personalized Services
We provide services customized for your needs at every step of your learning journey to ensure your success!
Experienced Project Reviewers
Individual 1-on-1 Mentorship
Personal Career Coach
Experienced Project Reviewers
Reviews By the numbers
2000+ project reviewers
1.8M projects reviewed
4.85/5 reviewer ratings
3 hour avg project review turnaround time
Reviewer Services
  • Personalized feedback
  • Unlimited submissions and feedback loops
  • Practical tips and industry best practices
  • Additional suggested resources to improve
Succeed with Personalized Services
We provide services customized for your needs at every step of your learning journey to ensure your success!
Project Reviewers
1-on-1 Mentors
Career Coaching
Experienced Project Reviewers
Reviews By the numbers
2000+ project reviewers
1.8M projects reviewed
4.85/5 reviewer ratings
3 hour avg project review turnaround time
Reviewer Services
  • Personalized feedback
  • Unlimited submissions and feedback loops
  • Practical tips and industry best practices
  • Additional suggested resources to improve

Learn with the best

Sebastian Thrun
Sebastian Thrun

Instructor

As the founder and president of Udacity, Sebastian’s mission is to democratize education. He is also the founder of Google X, where he led projects including the Self-Driving Car, Google Glass, and more.

David Silver
David Silver

Curriculum Lead

David Silver leads the School of Autonomous Systems at Udacity. Before Udacity, David was a research engineer on the autonomous vehicle team at Ford. He has an MBA from Stanford, and a BSE in computer science from Princeton.

Karim Chamaa
Karim Chamaa

Course Developer

Karim started his early career as a Mechanical Engineer. He earned his M.S. in Mechatronics and Robotics Engineering from NYU. His specialties include Kinematics, Control, and Electronics.

Julia Chernushevich
Julia Chernushevich

Course Developer

Julia is an experienced educator and robotics specialist. Her previous work experiences include teaching Mechatronics Engineering at the University of Waterloo and designing electric vehicles for underground mines.

Get started with

Robotics Software Engineer

Icon-Pie-Chart
Learn
Learn core robotics algorithms and implement them with C++, ROS, and Gazebo.
Icon - Clock -Blue
Average Time
On average, successful students take 4 months to complete this Nanodegree program.
Icon - Project - Blue
Benefits include
  • Real-world projects from industry experts
  • 1-on-1 technical mentor
  • Personal career coach & career services

Best Deal!

4 months access
$1436 $399 $359 per month

Pay up-front and save! Switch to the monthly price afterwards if more time is needed.

Buy with payments as low as $120 per month at 0% APR.

Learn More
Pay as you go
$399per month

Life can be unpredictable. Get maximum flexibility to learn at your own pace.

Buy with payments as low as $120 per month at 0% APR.

Learn More
The Udacity Impact

Numbers don't lie. See what difference it makes in career searches.*

84%
Better Jobs

Career-seeking and job-ready graduates found a new, better job within six months of graduation.

$24,000
Salary Increase

Average salary increase for graduates who found a new, better job within six months of graduation.

Program Details

    PROGRAM OVERVIEW - WHY SHOULD I TAKE THIS PROGRAM?
  • Why should I enroll?

    Demand for software engineers with advanced robotics skills far exceeds the current supply of qualified talent. This makes this an ideal time to pursue career advancement in this field, and this program represents a great opportunity to develop and practice core robotics skills such as C++, ROS, and probabilistic robotics algorithms such as Localization, Mapping, SLAM, Path Planning and Navigation.

    You will graduate from this Nanodegree program having completed five hands-on robotics projects in the Gazebo simulator; these will serve as portfolio pieces demonstrating your acquired skills to hiring managers and recruiters. These skills will help you pursue and advance a career in the robotics field.

  • What jobs will this program prepare me for?

    As a Robotics Software Engineer, you'll be equipped to bring value to a wide array of industries and be eligible for many roles.

    Your opportunities might include:

    • developing pick and place robotics systems for advanced manufacturing.
    • developing the next surgical robot for the healthcare industry.
    • building the next form of package delivery either on the ground or in the air.
    • designing exploratory robots that can be deployed to discover new planets.
    • designing rescue robots to assist people in disasters.
  • How do I know if this program is right for me?

    The Robotics Software Engineer Nanodegree program is designed for those looking to pursue or advance a career in the robotics field. In this program, you will learn and practice the core robotics skills that employers have told us serve as the foundation for the work robotics engineers do: C++, ROS, Gazebo, and robotics algorithms such as Localization, Mapping, SLAM, Path Planning, and Navigation amongst others.

    If you want to work in a field where you get to see your solutions come to life, and solve some of the world’s most difficult and exciting problems, the Robotics Software Engineer Nanodegree program is right for you.

  • How is the Robotics Software Engineer Nanodegree program different from your Machine Learning Engineer Nanodegree program or your Self-Driving Car Engineer Nanodegree program?

    The Robotics Software Engineer Nanodegree program focuses on teaching the core robotics skills needed for a successful robotics software engineering career. The program focuses on Localization, Mapping, SLAM, Path Planning, and Navigation. These are taught using C++ and the Robot Operating System (ROS) framework.

    The Self-Driving Car Engineer Nanodegree program focuses entirely on a specialized application of robotics—it uses robotics concepts and applies them to a self-driving car. If your primary interest is in the application of robotics, machine learning, and artificial intelligence to autonomous vehicles, then this is the program for you. However, if you want to learn and practice core robotics skills in C++ and ROS, with an emphasis on robotics algorithms, then the Robotics Software Engineer Nanodegree program is your best option.

  • I have graduated from the Robotics Software Engineer Nanodegree program but I want to keep learning. Where should I go from here?

    Both our Self-Driving Car Engineer and Flying Car and Autonomous Flight Engineer Nanodegree programs address specific areas of robotics and autonomous systems. If you want to continue your education either on the ground or in the air, take one of these exciting Nanodegree programs next!

    ENROLLMENT AND ADMISSION
  • Do I need to apply? What are the admission criteria?

    There is no application. This Nanodegree program accepts everyone, regardless of experience and specific background.

  • What are the prerequisites for enrollment?

    To succeed in this Nanodegree program, you should have experience with the following:

    • Advanced knowledge in any object-oriented programming language, preferably C++
    • Intermediate Probability
    • Intermediate Calculus
    • Intermediate Linear Algebra
    • Basic Linux Command Lines
  • If I do not meet the requirements to enroll, what should I do?

    We created the Intro to Self-Driving Cars Nanodegree program to help prepare prospective students for more advanced programs. That introductory program will teach you the skills you need to be successful in the Robotics Software Engineer Nanodegree program, including C++, linear algebra, calculus, and statistics.

    TUITION AND TERMS OF PROGRAM
  • How is this Nanodegree program structured?

    The Robotics Software Engineer Nanodegree program is comprised of content and curriculum to support five (5) projects. Once you subscribe to a Nanodegree program, you will have access to the content and services for the length of time specified by your subscription. We estimate that students can complete the program in four (4) months working 10 hours per week.

    Each project will be reviewed by the Udacity reviewer network. Feedback will be provided and if you do not pass the project, you will be asked to resubmit the project until it passes.

  • How long is this Nanodegree program?

    Access to this Nanodegree program runs for the length of time specified in your subscription plan. See the Terms of Use and FAQ for other policies around the terms of access to our Nanodegree programs.

  • Can I switch my start date? Can I get a refund?

    Please see the Udacity Nanodegree program FAQs for policies on enrollment in our programs.

    SOFTWARE AND HARDWARE - WHAT DO I NEED FOR THIS PROGRAM?
  • What special hardware will I need in this program?

    The core of this Nanodegree program focuses on robotics applications in software. You will learn and practice robotics skills using the Gazebo simulator.

  • What software and versions will I need in this program?

    For this Nanodegree program, you will use the Robot Operating System (ROS) and Gazebo. You will code primarily with C++. These platforms and languages are freely available.

    We will provide you with a GPU-enabled Linux Workspace that runs in your browser, and an internet connection is required. Optionally, you can install the Linux image on a Virtual Machine.

Robotics Software Engineer