Robotics Specialization Upenn PMYP

Please login or register to see price

Please Register Now

Learn the Building Blocks for a Career in Robotics

Gain experience programming robots to perform in situations and for use in crisis management

About This Specialization

The Introduction to Robotics Specialization introduces you to the concepts of robot flight and movement, how robots perceive their environment, and how they adjust their movements to avoid obstacles, navigate difficult terrains and accomplish complex tasks such as construction and disaster recovery. You will be exposed to real world examples of how robots have been applied in disaster situations, how they have made advances in human health care and what their future capabilities will be. The courses build towards a capstone in which you will learn how to program a robot to perform a variety of movements such as flying and grasping objects.

Created by:

courses

6 courses

Follow the suggested order or choose your own.

projects

Projects

Designed to help you practice and apply the skills you learn.

certificates

Certificates

Highlight your new skills on your resume or LinkedIn.

COURSE 1

Robotics: Aerial Robotics

Upcoming session: Jun 5 — Jul 10.
Subtitles
English

About the Course

How can we create agile micro aerial vehicles that are able to operate autonomously in cluttered indoor and outdoor environments? You will gain an introduction to the mechanics of flight and the design of quadrotor flying robots and will be able to develop dynamic models, derive controllers, and synthesize planners for operating in three dimensional environments. You will be exposed to the challenges of using noisy sensors for localization and maneuvering in complex, three-dimensional environments. Finally, you will gain insights through seeing real world examples of the possible applications and challenges for the rapidly-growing drone industry. Mathematical prerequisites: Students taking this course are expected to have some familiarity linear algebra, single variable calculus, and differential equations Programming prerequisites: Some experience programming with MATLAB or Octave is recommended (we will use MATLAB in this course.) MATLAB will require the use of a 64-bit computer.
Hide Details

Show or hide details about course Robotics: Aerial Robotics


WEEK 1
Introduction to Aerial Robotics
Welcome to Week 1! In this week, you will be introduced to the exciting field of Unmanned Aerial Robotics (UAVs) and quadrotors in particular. You will learn about their basic mechanics and control strategies and realize how careful component selection and design affect the vehicles’ performance. This week also provides you with instructions on how to download and install Matlab. This software will be used throughout this course in exercises and assignments, so it is strongly recommended to familiarize yourself with Matlab soon. Tutorials to help you get started are also provided in this week.

 

Video · Unmanned Aerial Vehicles

 

Video · Quadrotors

 

Video · Key Components of Autonomous Flight

 

Video · State Estimation

 

Video · Applications

 

Quiz · 1.1

 

Video · Meet the TAs

 

Reading · Setting up your Matlab programming environment

 

Reading · Matlab Tutorials – Introduction to the Matlab Environment

 

Reading · Matlab Tutorials – Programming Basics

 

Reading · Matlab Tutorials – Advanced Tools

 

Video · Basic Mechanics

 

Video · Dynamics and 1-D Linear Control

 

Video · Design Considerations

 

Video · Design Considerations (continued)

 

Video · Agility and Maneuverability

 

Video · Component Selection

 

Video · Effects of Size

 

Quiz · 1.2

 

Video · Supplementary Material: Introduction

 

Video · Supplementary Material: Dynamical Systems

 

Video · Supplementary Material: Rates of Convergence

WEEK 2
Geometry and Mechanics
Welcome to Week 2 of the Robotics: Aerial Robotics course! We hope you are having a good time and learning a lot already! In this week, we will first focus on the kinematics of quadrotors. Then, you will learn how to derive the dynamic equations of motion for quadrotors. To build a better understanding on these notions, some essential mathematical tools are discussed in supplementary material lectures. In this week, you will also complete your first programming assignment on 1-D quadrotor control. If you have not done so already, please download, install, and learn about Matlab before starting the assignment.

 

Video · Transformations

 

Video · Rotations

 

Video · Euler Angles

 

Video · Axis/Angle Representations for Rotations

 

Video · Angular Velocity

 

Quiz · 2.1

 

Video · Supplementary Material: Rigid-Body Displacements

 

Video · Supplementary Material: Properties of Functions

 

Video · Supplementary Material: Symbolic Calculations in Matlab

 

Video · Supplementary Material: The atan2 Function

 

Video · Supplementary Material: Eigenvalues and Eigenvectors of Matrices

 

Video · Supplementary Material: Quaternions

 

Video · Supplementary Material: Matrix Derivative

 

Video · Supplementary Material: Skew-Symmetric Matrices and the Hat Operator

 

Video · Formulation

 

Video · Newton-Euler Equations

 

Video · Principal Axes and Principal Moments of Inertia

 

Video · Quadrotor Equations of Motion

 

Programming Assignment · 1-D Quadrotor Control

 

Video · Supplementary Material: State-Space Form

 

Video · Supplementary Material: Getting Started With the First Programming Assignment

WEEK 3
Planning and Control
Welcome to Week 3! We have developed planar and three-dimensional dynamic models of the quadrotor. This week, you will learn more about how to develop linear controllers for these models. With this knowledge, you will be required to complete the second programming assignment of this course, which focuses on controlling the quadrotor in two dimensions. We encourage you to start working on the assignment soon. This week ends with a discussion on motion planning for quadrotors.

 

Video · 2-D Quadrotor Control

 

Video · 3-D Quadrotor Control

 

Programming Assignment · 2-D Quadrotor Control

 

Video · Time, Motion, and Trajectories

 

Video · Time, Motion, and Trajectories (continued)

 

Video · Motion Planning for Quadrotors

 

Video · Supplementary Material: Minimum Velocity Trajectories from the Euler-Lagrange Equations

 

Video · Supplementary Material: Solving for Coefficients of Minimum Jerk Trajectories

 

Video · Supplementary Material: Minimum Velocity Trajectories

 

Video · Supplementary Material: Linearization of Quadrotor Equations of Motion

 

Quiz · 3

WEEK 4
Advanced Topics
Welcome to Week 4! So far, we have gone over the basics of developing linear controllers for quadrotors and motion planning. In this last week of the course, we will discuss some more advanced material on how to enable quadrotors to perform more agile maneuvers and to operate autonomously in teams. Note that the last programming assignment on quadrotor control in three dimensions uses material from the previous weeks. It is strongly recommended to start the assignment as soon as possible.

 

Video · Sensing and Estimation

 

Video · Nonlinear Control

 

Video · Control of Multiple Robots

 

Video · Adjourn

 

Quiz · 4

 

Programming Assignment · 3-D Quadrotor Control

 

Video · Supplementary Material: Introduction to the Motion Capture System by Matthew Turpin

COURSE 2

Robotics: Computational Motion Planning

Upcoming session: Jun 5 — Jul 10.
Subtitles
English

About the Course

Robotic systems typically include three components: a mechanism which is capable of exerting forces and torques on the environment, a perception system for sensing the world and a decision and control system which modulates the robot’s behavior to achieve the desired ends. In this course we will consider the problem of how a robot decides what to do to achieve its goals. This problem is often referred to as Motion Planning and it has been formulated in various ways to model different situations. You will learn some of the most common approaches to addressing this problem including graph-based methods, randomized planners and artificial potential fields. Throughout the course, we will discuss the aspects of the problem that make planning challenging.
Hide Details

Show or hide details about course Robotics: Computational Motion Planning


WEEK 1
Introduction and Graph-based Plan Methods
Welcome to Week 1! In this module, we will introduce the problem of planning routes through grids where the robot can only take on discrete positions. We can model these situations as graphs where the nodes correspond to the grid locations and the edges to routes between adjacent grid cells. We present a few algorithms that can be used to plan paths between a start node and a goal node including the breadth first search or grassfire algorithm, Dijkstra’s algorithm and the A Star procedure.

 

Video · 1.1: Introduction to Computational Motion Planning

 

Reading · Computational Motion Planning Honor Code

 

Reading · MATLAB Tutorial I – Getting Started with MATLAB

 

Reading · Resources for Computational Motion Planning

 

Video · 1.2: Grassfire Algorithm

 

Video · 1.3: Dijkstra’s Algorithm

 

Video · 1.4: A* Algorithm

 

Quiz · Graph-based Planning Methods

 

Reading · MATLAB Tutorial II – Programming

 

Programming Assignment · Graph-based Planning

 

Video · Getting Started with the Programming Assignments

WEEK 2
Configuration Space
Welcome to Week 2! In this module, we begin by introducing the concept of configuration space which is a mathematical tool that we use to think about the set of positions that our robot can attain. We then discuss the notion of configuration space obstacles which are regions in configuration space that the robot cannot take on because of obstacles or other impediments. This formulation allows us to think about path planning problems in terms of constructing trajectories for a point through configuration space. We also describe a few approaches that can be used to discretize the continuous configuration space into graphs so that we can apply graph-based tools to solve our motion planning problems.

 

Video · 2.1: Introduction to Configuration Space

 

Video · 2.2: RR arm

 

Video · 2.3: Piano Mover’s Problem

 

Reading · Setting Up your MATLAB Environment

 

Video · 2.4: Visibility Graph

 

Video · 2.5: Trapezoidal Decomposition

 

Video · 2.6: Collision Detection and Freespace Sampling Methods

 

Quiz · Configuration Space

 

Programming Assignment · Configuration Space

WEEK 3
Sampling-based Planning Methods
Welcome to Week 3! In this module, we introduce the concept of sample-based path planning techniques. These involve sampling points randomly in the configuration space and then forging collision free edges between neighboring sample points to form a graph that captures the structure of the robots configuration space. We will talk about Probabilistic Road Maps and Randomly Exploring Rapid Trees (RRTs) and their application to motion planning problems.

 

Video · 3.1: Introduction to Probabilistic Road Maps

 

Video · 3.2: Issues with Probabilistic Road Maps

 

Video · 3.3: Introduction to Rapidly Exploring Random Trees

 

Quiz · Sampling-based Methods

 

Programming Assignment · Random Sampling-based Approaches

WEEK 4
Artificial Potential Field Methods
Welcome to Week 4, the last week of the course! Another approach to motion planning involves constructing artificial potential fields which are designed to attract the robot to the desired goal configuration and repel it from configuration space obstacles. The robot’s motion can then be guided by considering the gradient of this potential function. In this module we will illustrate these techniques in the context of a simple two dimensional configuration space.

 

Video · 4.1: Constructing Artificial Potential Fields

 

Video · 4.2: Issues with Local Minima

 

Video · 4.3: Generalizing Potential Fields

 

Quiz · Artificial Potential Fields

 

Programming Assignment · Gradient-based Planner

 

Video · 4.4: Course Summary

Robotics: Mobility

Upcoming session: Jun 5 — Jul 10.
Commitment
4 weeks of study, 2-4 hours/week
Subtitles
English

About the Course

How can robots use their motors and sensors to move around in an unstructured environment? You will understand how to design robot bodies and behaviors that recruit limbs and more general appendages to apply physical forces that confer reliable mobility in a complex and dynamic world. We develop an approach to composing simple dynamical abstractions that partially automate the generation of complicated sensorimotor programs. Specific topics that will be covered include: mobility in animals and robots, kinematics and dynamics of legged machines, and design of dynamical behavior via energy landscapes.
Hide Details

Show or hide details about course Robotics: Mobility


WEEK 1
Introduction: Motivation and Background
We start with a general consideration of animals, the exemplar of mobility in nature. This leads us to adopt the stance of bioinspiration rather than biomimicry, i.e., extracting principles rather than appearances and applying them systematically to our machines. A little more thinking about typical animal mobility leads us to focus on appendages – limbs and tails – as sources of motion. The second portion of the week offers a bit of background on the physical and mathematical foundations of limbed robotic mobility. We start with a linear spring-mass-damper system and consider the second order ordinary differential equation that describes it as a first order dynamical system. We then treat the simple pendulum – the simplest revolute kinematic limb – in the same manner just to give a taste for the nature of nonlinear dynamics that inevitably arise in robotics. We’ll finish with a treatment of stability and energy basins. Link to bibliography: https://www.coursera.org/learn/robotics-mobility/resources/pqYOc

 

Video · 0.0.0 What you will learn in this course

 

Video · 1.0.0 What you will learn this week

 

Video · 1.1.1 Why and how do animals move?

 

Quiz · 1.1.1 Why and how do animals move

 

Video · 1.1.2 Bioinspiration

 

Quiz · 1.1.2 Bioinspiration

 

Video · 1.1.3 Legged Mobility: dynamic motion and the management of energy

 

Quiz · 1.1.3 Legged Mobility: dynamic motion and the management of energy

 

Reading · Setting up your MATLAB environment

 

Reading · MATLAB Tutorial I – Getting Started with MATLAB

 

Reading · MATLAB Tutorial II – Programming

 

Video · 1.2.1 Review LTI Mechanical Dynamical Systems

 

Video · 1.2.2 Introduce Nonlinear Mechanical Dynamical Systems: the dissipative pendulum in gravity

 

Practice Quiz · 1.2.2 Nonlinear mechanical systems

 

Video · 1.2.3 Linearization & Normal Forms

 

Practice Quiz · 1.2.3 Linearizations

WEEK 2
Behavioral (Templates) & Physical (Bodies)
We’ll start with behavioral components that take the form of what we call “templates:” very simple mechanisms whose motions are fundamental to the more complex limbed strategies employed by animal and robot locomotors. We’ll focus on the “compass gait” (the motion of a two spoked rimless wheel) and the spring loaded inverted pendulum – the abbreviated versions of legged walkers and legged runners, respectively.We’ll then shift over to look at the physical components of mobility. We’ll start with the notion of physical scaling laws and then review useful materials properties and their associated figures of merit. We’ll end with a brief but crucial look at the science and technology of actuators – the all important sources of the driving forces and torques in our robots. Link to bibliography: https://www.coursera.org/learn/robotics-mobility/resources/pqYOc

 

Video · 2.0.0 What you will learn this week

 

Video · 2.1.1 Walking like a rimless wheel

 

Quiz · 2.1.1 Walking like a rimless wheel

 

Video · 2.1.2 Running like a spring-loaded pendulum

 

Quiz · 2.1.2 Running like a spring-loaded pendulum

 

Video · 2.1.3 Controlling the spring-loaded inverted pendulum

 

Quiz · 2.1.3 Controlling the spring-loaded inverted pendulum

 

Video · 2.2.1 Metrics and Scaling: mass, length, strength

 

Quiz · 2.2.1 Metrics and Scaling: mass, length, strength

 

Video · 2.2.2 Materials, manufacturing, and assembly

 

Quiz · 2.2.2 Materials, manufacturing, and assembly

 

Video · 2.2.3 Design: figures of merit, robustness

 

Quiz · 2.2.3 Design: figures of merit, robustness

 

Video · 2.3.1 Actuator technologies

 

Quiz · 2.3.1 Actuator technologies

WEEK 3
Anchors: Embodied Behaviors
Now we’ll put physical links and joints together and consider the geometry and the physics required to understand their coordinated motion. We’ll learn about the geometry of degrees of freedom. We’ll then go back to Newton and learn a compact way to write down the physical dynamics that describes the positions, velocities and accelerations of those degrees of freedom when forced by our actuators.Of course there are many different ways to put limbs and bodies together: again, the animals can teach us a lot as we consider the best morphology for our limbed robots. Sprawled posture runners like cockroaches have six legs which typically move in a stereotyped pattern which we will consider as a model for a hexapedal machine. Nature’s quadrupeds have their own varied gait patterns which we will match up to various four-legged robot designs as well. Finally, we’ll consider bipedal machines, and we’ll take the opportunity to distinguish human-like robot bipeds that are almost foredoomed to be slow quasi-static machines from a number of less animal-like bipedal robots whose embrace of bioinspired principles allows them to be fast runners and jumpers. Link to bibliography: https://www.coursera.org/learn/robotics-mobility/resources/pqYOc

 

Video · 3.0.0 What you will learn this week

 

Video · 3.1.1 Review of kinematics

 

Quiz · 3.1.1 Review of kinematics (MATLAB)

 

Video · 3.1.2 Introduction to dynamics and control

 

Quiz · 3.1.2 Introduction to dynamics and control

 

Video · 3.2.1 Sprawled posture runners

 

Quiz · 3.2.1 Sprawled posture runners

 

Video · 3.2.2 Quadrupeds

 

Quiz · 3.2.2 Quadrupeds

 

Video · 3.2.3 Bipeds

 

Quiz · 3.2.3 Bipeds

 

Quiz · Simply stabilized SLIP (MATLAB)

WEEK 4
Composition (Programming Work)
We now introduce the concept of dynamical composition, reviewing two types: a composition in time that we term “sequential”; and composition in space that we call “parallel.” We’ll put a bit more focus into that last concept, parallel composition and review what has been done historically, and what can be guaranteed mathematically when the simple templates of week 2 are tasked to worked together “in parallel” on variously more complicated morphologies. The final section of this week’s lesson brings you to the horizons of research into legged mobility. We give examples of how the same composition can be anchored in different bodies, and, conversely, how the same body can be made to run using different compositions. We will conclude with a quick look at the ragged edge of what is known about transitional behaviors such as leaping. Link to bibliography: https://www.coursera.org/learn/robotics-mobility/resources/pqYOc

 

Video · 4.0.0 What you will learn this week

 

Video · 4.1.1 Sequential and Parallel Composition

 

Quiz · 4.1.1 Sequential and Parallel Composition

 

Video · 4.2.1 Why is parallel hard?

 

Quiz · 4.2.1 Why is parallel hard?

 

Video · (SUPPLEMENTARY) 4.2.2 SLIP as a parallel vertical hopper and rimless wheel

 

Practice Quiz · (SUPPLEMENTARY) 4.2.2 SLIP as a parallel composition

 

Video · 4.2.3a RHex: A Simple & Highly Mobile Biologically Inspired Hexapod Runner

 

Quiz · 4.2.3a RHex

 

Video · (SUPPLEMENTARY) 4.2.3b Clocked RHex gaits

 

Practice Quiz · (SUPPLEMENTARY) 4.2.3b Clocked RHex gaits

 

Video · 4.3.1 Compositions of vertical hoppers

 

Quiz · 4.3.1 Compositions of vertical hoppers

 

Quiz · MATLAB: composition of vertical hoppers

 

Video · 4.3.2 Same composition, different bodies

 

Quiz · 4.3.2 Same composition, different bodies

 

Video · 4.3.3 Same body, different compositions

 

Quiz · 4.3.3 Same body, different compositions

 

Video · 4.3.4 Transitions: RHex, Jerboa, and Minitaur leaping

 

Quiz · 4.3.4 Transitions

COURSE 4

Robotics: Perception

Upcoming session: Jun 12 — Jul 17.
Commitment
4 weeks of study, 3-5 hours/week
Subtitles
English

About the Course

How can robots perceive the world and their own movements so that they accomplish navigation and manipulation tasks? In this module, we will study how images and videos acquired by cameras mounted on robots are transformed into representations like features and optical flow. Such 2D representations allow us then to extract 3D information about where the camera is and in which direction the robot moves. You will come to understand how grasping objects is facilitated by the computation of 3D posing of objects and navigation can be accomplished by visual odometry and landmark-based localization.
Hide Details

Show or hide details about course Robotics: Perception


WEEK 1
Geometry of Image Formation
Welcome to Robotics: Perception! We will begin this course with a tutorial on the standard camera models used in computer vision. These models allow us to understand, in a geometric fashion, how light from a scene enters a camera and projects onto a 2D image. By defining these models mathematically, we will be able understand exactly how a point in 3D corresponds to a point in the image and how an image will change as we move a camera in a 3D environment. In the later modules, we will be able to use this information to perform complex perception tasks such as reconstructing 3D scenes from video.

 

Video · Introduction

 

Video · Camera Modeling

 

Video · Single View Geometry

 

Video · More on Perspective Projection

 

Quiz · Introduction

 

Video · Glimpse on Vanishing Points

 

Quiz · Vanishing Points

 

Video · Perspective Projection I

 

Video · Perspective Projection II

 

Video · Point-Line Duality

 

Quiz · Perspective Projection

 

Video · Rotations and Translations

 

Quiz · Rotations and Translations

 

Video · Pinhole Camera Model

 

Video · Focal Length and Dolly Zoom Effect

 

Video · Intrinsic Camera Parameter

 

Video · 3D World to First Person Transformation

 

Quiz · Dolly Zoom

 

Quiz · Feeling of Camera Motion

 

Video · How to Compute Intrinsics from Vanishing Points

 

Quiz · How to Compute Intrinsics from Vanishing Points

 

Video · Camera Calibration

 

Quiz · Camera Calibration

 

Reading · Setting up MATLAB

 

Programming Assignment · Dolly Zoom

WEEK 2
Projective Transformations
Now that we have a good camera model, we will explore the geometry of perspective projections in depth. We will find that this projection is the cause of the main challenge in perception, as we lose a dimension that we can no longer directly observe. In this module, we will learn about several properties of projective transformations in depth, such as vanishing points, which allow us to infer complex information beyond our basic camera model.

 

Video · Vanishing Points; How to Compute Camera Orientation

 

Quiz · Homogeneous Coordinates

 

Video · Compute Projective Transformations

 

Quiz · Projective Transformations

 

Video · Projective Transformations and Vanishing Points

 

Quiz · Vanishing Points

 

Video · Cross Ratios and Single View Metrology

 

Quiz · Cross Ratios and Single View Metrology

 

Video · Two View Soccer Metrology

 

Programming Assignment · Image Projection using Homographies

WEEK 3
Pose Estimation
In this module we will be learning about feature extraction and pose estimation from two images. We will learn how to find the most salient parts of an image and track them across multiple frames (i.e. in a video sequence). We will then learn how to use features to find the position of the camera with respect to another reference frame on a plane using Homographies. We will also learn about how to make these techniques more robust, using least squares to hand noisy feature points or RANSAC to remove completely erroneous feature points.

 

Video · Visual Features

 

Quiz · Visual Features

 

Video · Singular Value Decomposition

 

Quiz · Singular Value Decomposition

 

Video · RANSAC: Random Sample Consensus I

 

Quiz · RANSAC

 

Video · Where am I? Part 1

 

Video · Where am I? Part 2

 

Video · Pose from 3D Point Correspondences: The Procrustes Problem

 

Quiz · 3D-3D Pose

 

Video · Pose from Projective Transformations

 

Video · Pose from Point Correspondences P3P

 

Quiz · Pose Estimation

 

Programming Assignment · Image Projection

WEEK 4
Multi-View Geometry
Now we will use what we learned from two view geometry and extend it to sequences of images, such as a video. We will explain the fundamental geometric constraints between point features in images, the Epipolar constraint, and learn how to use it to extract the relative poses between multiple frames. We will finish by combining all this information together for the application of Structure from Motion, where we will compute the trajectory of a camera and a map throughout many frames and refine our estimates using Bundle adjustment.

 

Video · Epipolar Geometry I

 

Video · Epipolar Geometry II

 

Video · Epipolar Geometry III

 

Quiz · Epipolar Geometry

 

Video · RANSAC: Random Sample Consensus II

 

Video · Nonlinear Least Squares I

 

Video · Nonlinear Least Squares II

 

Video · Nonlinear Least Squares III

 

Quiz · Nonlinear Least Squares

 

Video · Optical Flow: 2D Point Correspondences

 

Video · 3D Velocities from Optical Flow

 

Quiz · 3D Velocities from Optical Flow

 

Video · 3D Motion and Structure from Multiple Views

 

Video · Visual Odometry

 

Video · Bundle Adjustment I

 

Video · Bundle Adjustment II

 

Video · Bundle Adjustment III

 

Quiz · Bundle Adjustment

 

Programming Assignment · Structure from Motion

COURSE 5

Robotics: Estimation and Learning

Upcoming session: Jun 12 — Jul 17.
Commitment
4 weeks of study, 3-4 hours/week
Subtitles
English, Chinese (Simplified)

About the Course

How can robots determine their state and properties of the surrounding environment from noisy sensor measurements in time? In this module you will learn how to get robots to incorporate uncertainty into estimating and learning from a dynamic and changing world. Specific topics that will be covered include probabilistic generative models, Bayesian filtering for localization and mapping.
Hide Details

Show or hide details about course Robotics: Estimation and Learning


WEEK 1
Gaussian Model Learning
We will learn about the Gaussian distribution for parametric modeling in robotics. The Gaussian distribution is the most widely used continuous distribution and provides a useful way to estimate uncertainty and predict in the world. We will start by discussing the one-dimensional Gaussian distribution, and then move on to the multivariate Gaussian distribution. Finally, we will extend the concept to models that use Mixtures of Gaussians.

 

Video · Course Introduction

 

Reading · MATLAB Tutorial – Getting Started with MATLAB

 

Reading · Setting Up your MATLAB Environment

 

Reading · Basic Probability

 

Video · WEEK 1 Introduction

 

Video · 1.2.1. 1D Gaussian Distribution

 

Video · 1.2.2. Maximum Likelihood Estimate (MLE)

 

Video · 1.3.1. Multivariate Gaussian Distribution

 

Video · 1.3.2. MLE of Multivariate Gaussian

 

Video · 1.4.1. Gaussian Mixture Model (GMM)

 

Video · 1.4.2. GMM Parameter Estimation via EM

 

Programming Assignment · Color Learning and Target Detection

 

Video · 1.4.3. Expectation-Maximization (EM)

WEEK 2
Bayesian Estimation – Target Tracking
We will learn about the Gaussian distribution for tracking a dynamical system. We will start by discussing the dynamical systems and their impact on probability distributions. This linear Kalman filter system will be described in detail, and, in addition, non-linear filtering systems will be explored.

 

Video · WEEK 2 Introduction

 

Video · Kalman Filter Motivation

 

Video · System and Measurement Models

 

Video · Maximum-A-Posterior Estimation

 

Programming Assignment · Kalman Filter Tracking

 

Video · Extended Kalman Filter and Unscented Kalman Filter

WEEK 3
Mapping
We will learn about robotic mapping. Specifically, our goal of this week is to understand a mapping algorithm called Occupancy Grid Mapping based on range measurements. Later in the week, we introduce 3D mapping as well.

 

Video · WEEK 3 Introduction

 

Video · Introduction to Mapping

 

Video · 3.2.1. Occupancy Grid Map

 

Video · 3.2.2. Log-odd Update

 

Video · 3.2.3. Handling Range Sensor

 

Programming Assignment · 2D Occupancy Grid Mapping

 

Video · Introduction to 3D Mapping

WEEK 4
Bayesian Estimation – Localization
We will learn about robotic localization. Specifically, our goal of this week is to understand a how range measurements, coupled with odometer readings, can place a robot on a map. Later in the week, we introduce 3D localization as well.

 

Video · WEEK 4 Introduction

 

Video · Odometry Modeling

 

Video · Map Registration

 

Video · Particle Filter

 

Programming Assignment · Particle Filter Based Localization

 

Video · Iterative Closest Point

 

Video · Closing

COURSE 6

Robotics: Capstone

Upcoming session: May 29 — Jul 17.
Commitment
6 weeks of study, 2-4 hours/week
Subtitles
English

About the Capstone Project

In our 6 week Robotics Capstone, we will give you a chance to implement a solution for a real world problem based on the content you learnt from the courses in your robotics specialization. It will also give you a chance to use mathematical and programming methods that researchers use in robotics labs. You will choose from two tracks – In the simulation track, you will use Matlab to simulate a mobile inverted pendulum or MIP. The material required for this capstone track is based on courses in mobility, aerial robotics, and estimation. In the hardware track you will need to purchase and assemble a rover kit, a raspberry pi, a pi camera, and IMU to allow your rover to navigate autonomously through your own environment Hands-on programming experience will demonstrate that you have acquired the foundations of robot movement, planning, and perception, and that you are able to translate them to a variety of practical applications in real world problems. Completion of the capstone will better prepare you to enter the field of Robotics as well as an expansive and growing number of other career paths where robots are changing the landscape of nearly every industry. Please refer to the syllabus below for a week by week breakdown of each track. Week 1 Introduction MIP Track: Using MATLAB for Dynamic Simulations AR Track: Dijkstra’s and Purchasing the Kit Quiz: A1.2 Integrating an ODE with MATLAB Programming Assignment: B1.3 Dijkstra’s Algorithm in Python Week 2 MIP Track: PD Control for Second-Order Systems AR Track: Assembling the Rover Quiz: A2.2 PD Tracking Quiz: B2.10 Demonstrating your Completed Rover Week 3 MIP Track: Using an EKF to get scalar orientation from an IMU AR Track: Calibration Quiz: A3.2 EKF for Scalar Attitude Estimation Quiz: B3.8 Calibration Week 4 MIP Track: Modeling a Mobile Inverted Pendulum (MIP) AR Track: Designing a Controller for the Rover Quiz: A4.2 Dynamical simulation of a MIP Peer Graded Assignment: B4.2 Programming a Tag Following Algorithm Week 5 MIP Track: Local linearization of a MIP and linearized control AR Track: An Extended Kalman Filter for State Estimation Quiz: A5.2 Balancing Control of a MIP Peer Graded Assignment: B5.2 An Extended Kalman Filter for State Estimation Week 6 MIP Track: Feedback motion planning for the MIP AR Track: Integration Quiz: A6.2 Noise-Robust Control and Planning for the MIP Peer Graded Assignment: B6.2 Completing your Autonomous Rover
Hide Details

Show or hide details about course Robotics: Capstone


WEEK 1
Week 1
Welcome to Robotics Capstone! This week you will choose between two tracks available to you for your capstone. Please make sure you watch the videos carefully to make the choice. In the MIP track, you will learn how to use MATLAB (your numerical tool for this capstone track) to simulate dynamical systems numerically.In the AR track, you will learn to use the rover simulator, purchase the kit and implement Dijkstra’s algorithm in python.

 

Video · Capstone Introduction and Choosing the Capstone Project

 

Video · Introduction to the Mobile Inverted Pendulum (MIP) Track

 

Video · Introduction to the Autonomous Rover (AR) Track

 

Video · A1.1 Using MATLAB for Dynamic Simulations

 

Quiz · A1.2 Integrating an ODE with MATLAB

 

Video · (Review) Dijkstra’s Algorithm

 

Reading · B1.1 Purchasing the Robot Kit

 

Reading · B1.2 The Rover Simulator

 

Programming Assignment · B1.3 Dijkstra’s Algorithm in Python

WEEK 2
Week 2
In the MIP track, you will learn a simple control idea that can provably stabilize linear systems: PD control. You will work on some MATLAB exercises that tune parameters for a PD controller in a simple double-integrator (a.k.a force-controlled) system, and also apply this idea to a nonlinear system, a two-DOF manipulator arm. In the AR track, you will assemble your robot, which includes soldering, assembly and flashing your SD card. You will then perform a basic routine to allow the robot to move at a set velocity.

 

Video · (Review) Newton’s Laws; Damped and Undamped

 

Video · (Review) PD Control for a Point Particle in Space

 

Video · A2.1 PD Control for Second-Order Systems

 

Video · (Review) Infinitesimal Kinematics; RR Arm

 

Quiz · A2.2 PD Tracking

 

Video · B2.1 Building the Autonomous Rover (AR)

 

Reading · B2.2 Soldering tips

 

Reading · B2.3 Soldering the Motor Hat and IMU

 

Reading · B2.4 Flashing your Raspberry Pi SD Card

 

Reading · B2.5 Assembling the Robot

 

Video · B2.6 Connecting to the Pi

 

Reading · B2.7 Expanding the SD Card Partition

 

Reading · B2.8 Remote Access to the Pi

 

Reading · B2.9 Controlling the Rover

 

Peer Review · B2.10 Demonstrating your Completed Rover

WEEK 3
Week 3
In the MIP track, you will learn how to interface with noisy and incomplete sensor data. We will use an extended Kalman filter (EKF): a model-based filtering scheme that optimally integrates incoming data with our current state belief. The particular example you will work on is estimating orientation from data recorded by a MEMS accelerometer/gyroscope. In the AR track, you will perform a set of crucial calibration steps that allow you to use the sensors and motor drivers onboard the rover.

 

Video · (Review) Extended Kalman Filter

 

Video · A3.1 Using an EKF to get Scalar Orientation from an IMU

 

Quiz · A3.2 EKF for Scalar Attitude Estimation

 

Video · B3.1 Calibration

 

Video · B3.2 Camera Calibration

 

Reading · B3.3 Motor Calibration

 

Video · (Review) Rotations and Translations

 

Video · B3.4 Camera to body calibration

 

Video · B3.5 Introduction to Apriltags

 

Reading · B3.6 Printing your own AprilTags

 

Reading · B3.7 Optional: IMU Accelerometer Calibration

 

Quiz · B3.8 Calibration

WEEK 4
Week 4
In the MIP track, you will learn how to build a model of the mobile inverted pendulum using a Lagrangian formulation to get equations of motion. This will help you build a simulation of a physical MIP that you can test your control ideas on. In the AR track, you will learn to design a controller that allows the rover to move to any target position when given its pose. You will then use this controller to get the rover to follow an AprilTag that you hold.

 

Video · (Review) Lagrangian Dynamics

 

Video · A4.1 Modeling a Mobile Inverted Pendulum (MIP)

 

Quiz · A4.2 Dynamical simulation of a MIP

 

Video · (Review) 2-D Quadrotor Control

 

Video · B4.1 Designing a Controller for the Rover

 

Peer Review · B4.2 Programming a Tag Following Algorithm

WEEK 5
Week 5
In the MIP track, you will begin to apply the control ideas from Week 2 to your newly developed MIP simulation from Week 4. In particular, you will have exercises that show you how to balance the MIP using its wheel actuators. In the AR track, you will learn to design an Extended Kalman Filter to fuse the camera measurements from the AprilTags with the IMU gyroscope measurements to get a better estimate of the rover’s pose.

 

Video · (Review) Linearization

 

Video · A5.1 Local Linearization of a MIP and Linearized Control

 

Quiz · A5.2 Balancing Control of a MIP

 

Video · (Review) Kalman Filter Model

 

Video · (Review) Extended Kalman Filter Model

 

Video · B5.1 An Extended Kalman Filter for the Rover

 

Peer Review · B5.2 An Extended Kalman Filter for State Estimation

WEEK 6
Week 6
In the MIP track, you will first attempt to replicate the balancing control from last week, but now with noisy sensor data (as you might expect on a physical platform). Next, you will build on your balance controller and allow the MIP to be moved around to desired positions whilst balancing. In the AR track, you will combine all of the previous weeks’ work, to allow your rover to autonomously navigate through an environment of your design.

 

Video · (Review) Motion Planning for Quadrotors

 

Video · A6.1 Feedback Motion Planning for the MIP

 

Quiz · A6.2 Noise-Robust Control and Planning for the MIP

 

Video · B6.1 Integration

 

Peer Review · B6.2 Completing your Autonomous Rover

Related Products

7 months ago
12
0
7 months ago
13
0
- 100% Graphic Design Specialization PMYP
Please login or register to see price

Graphic Design Specialization PMYP

7 months ago
4
0
Reset Password