Nanodegree Program

Robotics Software Engineer Nanodegree

Master advanced robotics software engineering skills, and gain hands-on experience developing solutions that solve challenging robotics and AI problems.


  • Time
    Two 4-month terms

    Study 15 hrs/week and complete in 8 mo.

  • Classroom Opens
    December 11, 2018
  • Prerequisites
    Mathematics & Programming

    See prerequisites in detail

  • Language

    Sound and subtitles in english

In Collaboration with
  • Nvidia
  • Electric Movement

Why Take This Nanodegree Program?

In this program, you’ll gain hands-on experience developing robotics solutions as you cover topics such as: Robot Operating System (ROS), Kinematics, Control, Simultaneous Localization and Mapping (SLAM), and more. You’ll learn cutting-edge techniques like Deep Reinforcement Learning through our partnership with NVIDIA's Deep Learning Institute. You’ll master the key skills necessary to become a software engineer in the transformational field of robotics and applied artificial intelligence.

Why Take This Nanodegree Program?

In 2019, spending on robotics and related services will hit
$135.4 B

World-Class Curriculum Partners

World-Class Curriculum Partners

Udacity has joined forces with NVIDIA and Electric Movement to create a groundbreaking learning experience that features world-class curriculum. You’ll master cutting-edge skills and techniques, gain hands-on experience, and build unique projects focused on the most important concepts and topics in the field of robotics.

Career-Ready Skills

Career-Ready Skills

Graduates of this program will emerge fully prepared to join innovative robotics teams, and develop pioneering robotics solutions. You’ll be perfectly positioned to take advantage of rapidly-increasing demand for robotics talent, and the projects you build in this program will become part of a portfolio that demonstrates your mastery of career-ready robotics skills.

What You Will Learn

Download Syllabus

ROS Essentials, Perception, and Control

Begin your exploration into the world of robotics software with a practical, system-focused approach to programming robots using the ROS framework. Leverage classical mechanics and modern deep learning techniques to implement the key robotic functions of perception and control.

Apply modern machine learning and classical mechanics to the key robot functions of perception and control using ROS.

See details

4 months to complete


Localization, Mapping, and Navigation

In this term, you’ll study curriculum developed in partnership with NVIDIA's Deep Learning Institute as you learn to leverage probabilistic and deep reinforcement learning algorithms to solve problems of localization, mapping, and navigation.

Explore probabilistic and deep reinforcement learning algorithms to solve localization, mapping, and navigation problems.

See details

4 months to complete

The NVIDIA Deep Learning Institute and Udacity share a common vision—to provide students with hands-on training and challenging curriculum to accelerate their careers. We’re working with Udacity to build a world-class AI and deep learning program so that students can go on to become leading developers, researchers and academics in a variety of fields.

Learn with the best

Sebastian Thrun
Sebastian Thrun

Udacity, President

Scientist, educator, inventor, and entrepreneur, Sebastian led the self-driving car project at Google X, and founded Udacity with a mission to democratize education by providing lifelong learning opportunities to millions of students around the world.

Dana Sheahen
Dana Sheahen


Dana is an electrical engineer with a Masters in Computer Science from Georgia Tech. Her work experience includes software development for embedded systems in the Automotive Group at Motorola, where she was awarded a patent for an onboard operating system.

Ryan Keenan
Ryan Keenan


Ryan has a PhD in Astrophysics from the University of Wisconsin-Madison. He is also a lead instructor for the Self-Driving Car and Flying Car Nanodegree programs.

Anthony Navarro
Anthony Navarro


Anthony is a US Army combat veteran with an M.S. in Computer Engineering from Colorado State University. Prior to being a Product Lead at Udacity, he was a Senior Software Engineer at Lockheed Martin in their Autonomous Systems R&D division.

Julia Chernushevich
Julia Chernushevich


Julia is an instructor of Mechatronics Engineering at the University of Waterloo. Her previous work experiences include designing electric vehicles for underground mines and leading a prestigious STEM enrichment program for gifted high-school students.

Karim Chamaa
Karim Chamaa


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.



NVIDIA is a company built upon great minds and groundbreaking research. GPU deep learning has ignited modern AI - the next era of computing - with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world.



Electric Movement is a robotics engineering firm that brings to our program invaluable insights about real-world robotics applications, and deep, market-vetted expertise in ROS, robotics, automation, embedded systems, and agile development.


Learn now, pay later

To make it even easier to learn, you can finance your Nanodegree through Affirm.

  • Calendar

    Easy monthly payments

    As low as US$100 per month at 0% APR.

    Learn more.

  • Finance

    Flexible Payments

    Pay your monthly bill using a bank transfer, check, or debit card.

Term 1
Robotics Software Engineer Nanodegree
$1199 USD


Using ROS, learn to solve robotics problems around perception, control, and deep learning.

Term 2
Advanced Robotics Software
$1199 USD


Learn to apply SLAM and reinforcement learning techniques for solving robotics problems.

Program Details

  • Why should I enroll?

    Demand for software engineers with the right skills in robotics far exceeds the current supply of qualified talent. This makes this an ideal time to enter this field, and this groundbreaking program represents a unique opportunity to develop in-demand skills.

    Expert instructors and detailed project reviews are among hallmarks of this Nanodegree program, and in collaboration with the NVIDIA Deep Learning Institute—one of the most exciting and innovative companies in the world—we have built an unrivalled curriculum that offers a cutting-edge learning experience.

    You will graduate from this Nanodegree program having completed several hands-on robotics projects in simulation that will serve as portfolio pieces demonstrating acquired skills. These skills will enable you to pursue a rewarding career in the robotics field.

    Over the course of the Nanodegree program, you'll also have the opportunity to learn about robotics hardware such as the NVIDIA Jetson TX2 Developer Kit. Eligible students will also have access to a special education discount on the Jetson TX2 through our collaboration with NVIDIA.

    For anyone seeking to launch or advance a career as a Robotics Software Engineer, and who wishes to be a part of the incredible world of robotics, this is the ideal program.

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

    Robotics Software Engineers 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.
  • How do I know if this program is right for me?

    A career in robotics is exciting presenting changing challenges and new approaches constantly. If you want to work in an area where you get to see your solutions come to life and solve some of the world’s most difficult problems, a career in robotics is right for you! The Robotics Software Engineer Nanodegree program is here to provide you a great entry into the world of robotics and jumpstart your career in the field. You will gain the knowledge to create robotic systems in simulation and have the opportunity to turn those projects into real-world platforms if you purchase an NVIDIA TX2.

  • 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 provides an introduction to software and artificial intelligence as applied to robotics. The areas we focus on are perception, localization, path planning, deep learning, reinforcement learning, and control. These are taught using the Robot Operating System (ROS) framework. All of the techniques required to complete the projects in the Robotics Software Engineer Nanodegree program (including machine learning) are taught as part of the program.

    The Machine Learning Engineer Nanodegree program is the most general of the three programs. It offers a great foundation, and is an excellent choice for anyone pursuing a career in a field where machine learning techniques are used. However, the curriculum is not as advanced or specialized as the other two programs.

    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 a broader and more comprehensive robotics curriculum, with an emphasis on software engineering, then the Robotics Software Engineer Nanodegree program is your best option.

    Note: The Machine Learning Engineer program is not a prerequisite for either the Self-Driving Car or Robotics Software Engineer programs, but it may be beneficial to some students to complete this program first, depending on your existing knowledge and experience.

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

    No. This Nanodegree program accepts all applicants regardless of experience and specific background.

  • What are the prerequisites for enrollment?

    To succeed in this Nanodegree program, you need to have significant experience with:

    • Calculus and Linear Algebra
    • Statistics and Probability
    • Intermediate Python
    • Unix/Linux Command Line Basics
    • Basic Physics (Newtonian Mechanics)
    • English Skills

    Background in the following is recommended but not required:

    • Intermediate C++
    • Programming for ROS
    • Machine Learning
  • If I do not meet the requirements to enroll, what should I do?

    We have a number of Nanodegree programs and free courses that can help you prepare, including:

    • Machine Learning Engineer, Nanodegree program, by Udacity
    • AI for Robotics, by Udacity
    • Programming Foundations with Python, by Udacity
    • C++ tutorial, by Sololearn
    • Linux Command Line Basics, by Udacity
    • Statistics and Probability, by Khan Academy
    • Linear Algebra, by Khan Academy
    • Multivariable Calculus, by Khan Academy
    • ROS Tutorials
  • How is this Nanodegree program structured?

    The program is comprised of two (2) terms of four (4) months with fixed start and end dates. Students must successfully complete all assigned projects by the end date for each term to graduate from the full Nanodegree program. There are either 4 or 5 projects per Term, which give you an opportunity to apply the skills you've learned.

    To graduate, students must successfully complete the required projects, which give you the opportunity to apply and demonstrate new skills that you learn in the lessons. Each project will be reviewed by the Udacity reviewer network and platform. 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 period noted in the Term length section above.

    See the Terms of Use and FAQs 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 found here for policies on enrollment in our programs.

  • 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 and Flying Car 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!

  • 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 wl code primarily with Python in Term 1 and C++ in Term 2. These platforms and languages are freely available. There will also be various packages utilized, so an active internet connection is needed to download these. The projects are designed to run on a Linux operating system, which can be accommodated with the use of a virtual machine on other types of systems. Term 2 also features the use of a the new GPU-enabled Udacity Workspace within your browser for most of the projects and labs.

  • What special hardware will I need in this program?

    The core of this Nanodegree program focuses on robotics applications in software. You can master the skills, and complete every project, while focusing entirely on software, and working in simulation.

    We are also excited that our collaboration with NVIDIA DLI makes it possible for eligible Term 2 students to receive an education discount that can be applied to the purchase of an NVIDIA Jetson TX2 Developer Kit! Eligible students are encouraged to take advantage of this special offer, as this embedded supercomputing platform will enable you to take classroom projects (and your own personal projects) out of simulation and bring them into real-world scenarios.

  • What is the NVIDIA Jetson TX2 Developer Kit?

    NVIDIA Jetson is the world's leading platform for “AI at the edge.” Its high-performance, low-power computing for deep learning and computer vision makes it the ideal platform for compute-intensive robotics projects.

    For more information, see the NVIDIA Jetson Developer Zone.

  • I understand that as a benefit of being enrolled in this program, I have the opportunity to purchase the NVIDIA Jetson TX2 at a discount, is that true?

    Yes! As an enrolled student of the Robotics Software Engineer Nanodegree program, you are eligible to receive a special education discount that can be applied to the purchase of a Jetson TX2 Developer Kit.

  • What is the education discount?

    The education discount varies by region. For most countries the discount is 50% off the retail price of the Jetson TX2 Developer Kit.

  • How do I get the discount, and make the purchase?

    Upon successfully enrolling in Term 2 of the program, you'll receive an email with detailed instructions for buying the Jetson TX2 developer kit at the discounted price from the NVIDIA store, or the local distributor, depending on the country of residence.

    *Students must meet eligibility requirements as defined by NVIDIA on their site to purchase the Jetson TX2 Developer Kit with the education discount.

  • If I have an issue with my Jetson TX2 Developer Kit, who should I contact?

    NVIDIA will be supporting the Jetson TX2 hardware directly. You can find more information about support options here.

  • If I have an issue with the shipping of my Jetson TX2 Developer Kit, who should I contact?

    When you place your order, you should receive confirmation emails and contact information for the distributor who will be handling your order. Contact the distributor with your order number for any assistance needed.

  • When is my tuition payment due?

    You pay your full tuition fee before the start of each term.

  • Is there a free preview for this program?

    Yes! Click here to start your free preview!

  • Are there scholarships or financial aid available?

    All current scholarship opportunities are posted on our Scholarships page.

  • How is this Nanodegree program structured?

    The program is comprised of 2 terms (4 months each) with fixed start and end dates. Students must successfully complete all assigned projects by the end date for each term to graduate. There are 4-5 projects per term, which give you an opportunity to apply the skills you've learned in the lessons. Each project must be submitted for review by one of the expert project reviewers in the Udacity Robotics network. Your reviewer will give you detailed feedback on your work and let you know where your project needs improvement if necessary. You may submit each project as many times as you like.

  • Are there Udacity Connect sessions held for this program?

    No, not currently. Students of this program are welcome to attend Connect sessions, but we will not provide curriculum support at the sessions, nor will there be session leads onsite who are equipped to provide specific program guidance and input.

  • Do you offer the opportunity for students to pause their studies for this program?

    No, this is not an option. The fixed-term nature of the program, and the need for maintaining a consistent and stable student body throughout, doesn't allow for offering the option to pause your studies.

  • Is this program self-paced?

    The start and end dates of each term are fixed, and you must complete all assigned projects by the end dates, so to that extent, the answer is “no, it is not self-paced.” You must complete the program within a fixed time period. However, projects may be submitted at any time during the term, and individual project deadlines are recommendations, not requirements. So within the boundaries of a given term, there is some opportunity to work at your own pace. But you should plan to follow our recommended timeline, as this will best enable you to keep pace with your peers, and complete the program on time.

  • When we use the term "deadline" with regards to Nanodegree Program projects, we use it in one of two ways:

    • To mean a final deadline for submitting all projects
    • To refer to ongoing suggested deadlines for individual projects

    It is very important to understand the distinctions between the two, as your progress in the program is measured against the deadlines we've established. Please see below for an explanation of what each usage means.

  • A final deadline for submitting all projects

    In order to graduate a term, you must submit all projects by the last day of the term and pass all projects once they are reviewed by a Udacity Reviewer (the review may take place after the last day of the term). Passing a project means a Udacity Reviewer has marked a project as "Meets Specifications."

    If you do not submit all projects by the end of the term, and also pass all projects once they are reviewed, you will receive a 4-week extension to complete any outstanding projects. You will only receive this extension a maximum of once. Once you submit and pass all projects, you can enroll in the next term, which will potentially be with a later class. If you do not submit and pass all projects within the 4-week extension, you will be removed from the program.

  • Ongoing suggested deadlines for individual projects

    The deadlines you see in your classroom are suggestions for when you should ideally pass each project. They are meant to help keep you on track so that you maintain an appropriate pace throughout the program—one that will see you graduate on time!

    Please note that you can submit your project as many times as you need to. There are no penalties if you miss these deadlines. However, you will be at risk of not passing all projects on time if you miss these deadlines, and fall behind, so it is a recommended best practice to try and meet each suggested deadline.

Robotics Software Engineer Nanodegree