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.
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
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
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
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
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
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
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.
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.
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.
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.
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.
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.
Daniel E. Koditschek, Kostas Daniilidis, CJ Taylor, Dan Lee and Vijay Kumar