Term 2

Week 1

Welcome to Term 2! In the first week, you will learn about robotic hardware, the NVIDIA Jetson TX2, robotic inference, DIGITS Workspace and start to think about your personal inference project.

Watch:

  • Introduction to Term 2
  • Inference Development
  • Inference Application in Robotics
  • Project: Robotics Inference

Project 1 Robotic Inference: Supplied Dataset Validation

You will build your inference system in this project. First off, you need to build a Classification model for the supplied dataset classifying candy box and bottle. Follow the instruction in the Workspace and run 'evaluate' command to make sure everything is working fine!

Optional:

You could build fantastic robots with the powerful Jetson TX2. But first, let us start from the basics!

  • The Jetson TX2
  • Interacting with Robotics Hardware
  • Lab: Hardware Hello World
  • Robotics Sensor Options

Week 2

This week you need to build your own inference project and complete the write-up. It does not need to be perfect and has 99.99% accuracy; instead, observe the outcome and discuss with your mentor and/or other students. Submit the write-up and iterate!

When you are waiting for the reviewer to get back to you, get started on the localization.

Project 1 Robotic Inference Due!

Build your own dataset and inference model, then document your work in the write-up. Submit your write-up and model files. Feel free to share your inference idea in the #udacity_inference channel and discuss with other students!

Watch:

  • Introduction to Localization

Optional:

Deploy your inference model to the Jetson TX2 and build a mobile classification device!

Week 3

Welcome to localization! This week you will learn Kalman Filter and Monte-Carlo Localization. You will complete two labs: localize the robot using EKF and build MCL in C++. Then you will head to the project overview and think about the cool robot you will build!

Watch:

  • Kalman Filters
  • Lab: Kalman Filters
  • Monte Carlo Localization
  • Build MCL in C++
  • Project: Where Am I?

Project 2 Where Am I: Overview

Week 4

This week you will continue your work on the Where Am I? project. You will build your robot model and ROS package from scratch, explore the ROS documentation about AMCL and Localization parameters, and 'guide' your robot to navigate in the race track! Don't forget to take a screenshot - so you do not need to run it over again for the write-up.

Watch:

  • Project: Where Am I?

Project 2 Where Am I Due!

First you need to setup the environment, and build a simple robot to navigate. Then you will configure and tune the parameter for localization, and successfully navigate the robot to the goal position.

Now it's time to build your own robot and make it running and localize itself. Post your cute robot in the #udacity_where_am_i Slack channel to share it with other students! If you have trouble tuning parameter, this channel is also the place to go.

Build your personal robot, then navigate it to reach to goal position. Observe how well it localizes itself. Also, document your hard work and complete your write-up!

Week 5

Wrap up your localization project and you will dive into SLAM! This week you will learn the basics of SLAM, Occupancy Grid Mapping, as well as Grid based FastSLAM. In the FastSLAM Lab, you will use gmapping ROS package to build a 2D map using LIDAR sensor data.

You may want to familiarize yourself with the Udacity Workspace - a complete ROS Linux system right in your classroom. No need to use the VM!

Watch:

  • Introduction to Mapping and SLAM
  • Occupancy Grid Mapping
  • Grid-based FastSLAM

Week 6

You will move on to GraphSLAM and get started on your project: Map My World. This time there will not be line-by-line code available for your to use; you will need to build your package using the ROS knowledge you learned from Term 1 and previous parts. Also, be prepared to debug the project using a couple of tools provided by ROS.

Watch:

  • Graph SLAM
  • Project: Map My World

Project 3 Map My World: Problem Setup

This week you will start building the Map My World project. Use what you learned in the previous projects and labs and setup the problem. This might take a while but it is a great opportunity to learn more about the structure of ROS. Try to map the supplied world using your robot, and start building your own world!

Week 7

This week you should be able to build a nice 3D map using your own robot and RTAB-Mapping package. Build your own world in Gazebo and test the SLAM package in it. Again, document your work in the write-up and take screenshots.

Project 3 Map My World: Map your world!

Create a 3D map of the supplied environment, achieve required loop closures to beat the benchmark.

Design and build your personal world in Gazebo and map it; compare the performance of your robot in both environments. Now that you have mapped both the supplied world and your own world, it's time to complete the write-up and submit for review!

Week 8

Now let us step away from ROS and dive into Reinforcement for Robotics.

We will start at the basics. Next week you will start working on Q-Learning and Deep RL in Robotics. It would be great to start with the introduction to RL now!

Watch:

  • Introduction to Reinforcement Learning for Robotics
  • RL Basics

Week 9

This week we will be focusing on Q-Learning, a technique used in deep reinforcement learning. Learn about the power of DQN and how it can be applied to solve complicated problems in the robotic's domain.

Watch:

  • Q-Learning Lab
  • Deep RL
  • DQN Lab

Week 10

Now that you are familiar with DQN, learn how to apply in Gazebo to manipulate a robotic arm!

Submit the code and a brief write-up to complete the project!

Watch:

  • Deep RL Manipulator
  • Project: Deep RL Arm Manipulator

Project 4: Deep RL Arm Manipulator

Week 11

For this week, we will focus on path planning and guiding the robot through an environment.

Watch:

  • Intro to Path Planning and Navigation
  • Classic Path Planning
  • Lab: Path Planning

Week 12

Watch

  • Sample-Based and Probabilistic Path Planning
  • Research in Navigation

Project 5: Home Service Robot

Build your full ROS package to perform SLAM, localization and path planning tasks! Deploy the package on real robot and build your very own home service robot.

Week 13 & 14

Wrap up the program and start your career search! Now that you have completed the projects, it's time to prepare for the next steps. Polish your GitHub repositories and LinkedIn profiles as they will help you along the way!

Alternatively, you could also use this time to catch up with the program if you still have tasks to complete. Don't wait until the last minute to submit your projects! If you are stuck, check out the Slack community and Knowledge for answers.

Congratulations! You have completed all projects and graduated from the Robotics Software Engineer Nanodegree Program! Share your success in your network and community!