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.
Robotics: Aerial Robotics
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 with 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.
Robotics: Computational Motion Planning
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.
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.
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.
Robotics: Estimation and Learning
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.
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
No particular background is necessary, however, some knowledge of engineering and mathematics is helpful.