Udacity - Robotics Software Engineer Nanodegree
Udacity | Duration: 19 h 50 m | Video: H264 1280x720 | Audio: AAC 44,1 kHz 2ch | 4,93 GB | Language: English | 2018
Description
The field of robotics is growing at an incredible rate, and demand for software engineers with the right skills far exceeds the current supply. This makes this an ideal time to enter this field, and this groundbreaking program represents a unique opportunity to develop these in-demand skills as you'll learn topics including, but not limited to: Perception, Kinematics, Localization, Control, SLAM, Deep Learning, and Reinforcement Learning. You will learn the basics of what goes into a robotics system by using the Robot Operating System (ROS), and you'll have the opportunity to gain familiarity with the NVIDIA Jetson TX2 Developer Kit.
Expert instructors, personalized project reviews, and exclusive hiring opportunities are hallmarks of this 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 the most cutting-edge learning experience currently available.
You will graduate from this program having completed several hands-on robotics projects in simulation that will serve as portfolio pieces demonstrating the skills you've acquired. This will enable you to pursue a rewarding career in the robotics field.
Over the course of the program, you'll also have the opportunity to learn about robotics hardware such as the NVIDIA Jetson TX2 Developer Kit—eligible students will even 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.
You will learn the practical application of robotics concepts like perception, localization, path planning and controls, using the languages and frameworks that are in demand in the industry (Python, C++, ROS, Gazebo). In addition, you'll work on deep learning projects that use NVIDIA's DIGITS, TensorFlow, and PyTorch.
True! 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. The education discount varies by region. For most countries the discount is 50% off the retail price.
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.
Please note: 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.
Our focus in this program is on the role of a Robotics Software Engineer, so while you will gain a broad understanding of robotics as a field that combines multiple engineering disciplines—including electrical, mechanical, and systems—the specific skills you will master are geared towards developing robotics software solutions.
Nanodegree 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 as the other two programs, and it does not specialize to the same extent.
Note: The Machine Learning Engineer program is not an official 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.
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 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 self-driving cars, 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.
Students should have the following skills coming into the program:
- Linear algebra and calculus
- Probability and statistics
- Basic physics (Newtonian Mechanics)
- Unix / Linux command line familiarity
- Intermediate-level programming experience in Python or similar language
- ROS, C++ and machine learning experience are helpful but not required
Code:
Table of Contents
1 Welcome
2 What is a Robot
3 Search and Sample Return
4 Career Support Overview
5 Introduction to ROS
6 Packages & Catkin Workspaces
7 Write ROS Nodes
8 GitHub
9 Udacity Explores – Biologically Inspired Robots
10 6 Questions on Robotics Careers
11 Intro to Kinematics
12 Forward and Inverse Kinematics
13 Project Robotic Arm Pick & Place
14 Udacity Explores – Human Robot Interaction & Robot Ethics
15 Product Pitch
16 Perception Overview
17 Introduction to 3D Perception
18 Calibration, Filtering, and Segmentation
19 Clustering for Segmentation
20 Object Recognition
21 3D Perception Project
22 Udacity Explores – Soft Robotics
23 Udacity Explores – Robot Grasping
24 Introduction to Controls
25 Quadrotor Control using PID
26 Udacity Explores Swarm Robotics
27 Networking in Robotics
28 Intro to Neural Networks
29 TensorFlow for Deep Learning
30 Deep Neural Networks
31 Convolutional Neural Networks
32 Fully Convolutional Networks
33 Lab Semantic Segmentation
34 Project Follow Me
35 Term 1 Outro
36 Introduction to C++ for Robotics
37 Introduction to Term 2
38 The Jetson TX2
39 Interacting with Robotics Hardware
40 Lab Hardware Hello World
41 Robotics Sensor Options
42 Inference Development
43 Inference Applications in Robotics
44 Project Robotic Inference
45 Introduction to Localization
46 Kalman Filters
47 Lab Kalman Filters
48 Monte Carlo Localization
49 Build MCL in C++
50 Project Where Am I
51 Introduction to Mapping and SLAM
52 Occupancy Grid Mapping
53 Grid-based FastSLAM
54 GraphSLAM
55 Project Map My World Robot
56 Intro to RL for Robotics
57 RL Basics
58 Q-Learning Lab
59 Deep RL
60 DQN Lab
61 Deep RL Manipulator
62 Project Deep RL Arm Manipulation
63 Intro to Path Planning and Navigation
64 Classic Path Planning
65 Lab Path Planning
66 Sample-Based and Probabilistic Path Planning
67 Research in Navigation
68 Project Home Service Robot
69 Strengthen Your Online Presence Using LinkedIn
70 Optimize Your GitHub Profile
71 Completing the Program
72 Project Introduction
73 Introduction to ROS
74 Packages & Catkin Workspaces
75 Write ROS Nodes
76 Search
77 Project Details
يجب عليك زيارة صفحة الكورس وقراءة مسار الكورس قبل التحميل لأن فيه أشياء هامة، منها متطلبات هذه الدرجة المُصغرة (موصي بتوافرها في الدارس)
Code:
https://mena.udacity.com/course/robotics-software-engineer--nd209
مسار الكورس | syllabus
Code:
https://s3-us-west-1.amazonaws.com/udacity-content/PDFs/Syllabus-RoboticsSoftwareEngineerNanodegree.pdf