Carnegie Mellon University Robotics Institute

Spring Semester

Mobile Robotics  16-761

draft 31 October 2016 (subject to change!)
Warning: The following information is for general information only. Each year  the course is changed in different ways to react to student comments from the year before. If you have a CMU andrew account, the latest course  webpage is available here.

Lectures:       Tuesdays and Thursdays, 10:30-12:00pm, NSH 3002

Website:         http://www.andrew.cmu.edu/course/16-761

Instructor:      Alonzo Kelly

Office: NSH 3209

Email: alonzo@cmu.edu

Office Hours: by appointment

Al Kelly image

Alonzo Kelly

rover image

JPL Rover

Units: 12 units

Course Description: This course covers aspects of perception, planning, control, position estimation, and mechanical configuration that are unique or common to mobile robot systems. The course is targeted to senior undergraduates and graduate level students. Emphasis will be given to fundamentals and sophisticated, though practical solutions to real problems. The lectures will develop the fundamentals of this emerging sub-field of robotics by calling on the experience of practitioners, the common themes of the literature, and relevant material from more basic fields such as computer vision, mathematics, and physics.

Prerequisites: There are no formal prerequisites for the course. However, you will get more out of the course if you have done computer vision and robot manipulation courses already. Robotics PhD students are automatically admitted. Other students are admitted subject to approval of the instructor. The curriculum is multidisciplinary. Background in various fields such as computer vision, control theory, robotic manipulation, and computer science will be helpful. Students lacking a sound background in mathematics and programming may not be qualified to take the course.

Textbook: Kelly, A, Mobile Robotics: Mathematics, Models, and Methods, Cambridge. This text was written as a summary and embellishment of the course notes, so it deliberately follows the lecture content very closely.

Lectures: Lectures occur twice per week and they are based on presentation slides.

retail robot imageRobot Salesperson
crusher robot image "Crusher" Offroad Mobile Robot

Assignments: Assignments are a mixture of Java programming tasks and closely related written assignments.  Each is intended to expose the student to the hands-on details of core ideas. There will be an assignment every 2-3 weeks and it should take about 12-18 hours for a well prepared student to do well on each.

CourseWare: An updated version of the mobile robot simulator that has been used in the past will be made available. This will enhance the quality of the course, but it has to be available to everyone. Access to a Windows computer will be necessary to do the assignments.

Auxiliary Course Materials: Various course documents (class notes, problem sets, software, etc.) will be posted to the web site as the course progresses. In the event that postings are not timely, equivalent material from the previous year is always available.

Grading Policy: All students are graded to an equal standard regardless of the level of their anticipated degree. Grading is based on homework assignments. Each is given equal weight. 80% and above will be an A, 70%-79.9% will be a B, etc.

Ethics Policy: Discussion among students on how to interpret assignments is encouraged but each person must present their own solution for each assignment. Sharing your write up, code sharing or reuse of code from previous years is forbidden. Violations of ethics policies will be prosecuted at the university level.

Learning Objectives: By the end of this course, students are expected to be able to do the following:

1.    Literacy: be able to read and understand some mobile robot research.

2.    Depth: demonstrate a capacity to implement working instances of important and nontrivial (graduate level) algorithms for a mobile robot.

3.    Breadth: develop a broad appreciation of the physics and mathematical principles that govern what is possible with mobile robot technology.

4.    Judgement: develop good intuition for what is easy and hard in order to enable sound decision-making and sound planning.

5.    Analysis: appreciate the tradeoffs and constraints that govern major design decisions to enable sound system design.

Grading Policy: All students are graded to an equal standard regardless of the level of their anticipated degree. Grading is based on homework assignments. Each is given equal weight. 80% and above will be an A, 70%-79.9% will be a B, etc.

Ethics Policy: Discussion among students on how to interpret assignments is encouraged but each person must present their own solution for each assignment. Sharing your write up, code sharing or reuse of code from previous years is forbidden. Violations of ethics policies will be prosecuted at the university level.

Learning Objectives: By the end of this course, students are expected to be able to do the following:

1.    Literacy: be able to read and understand some mobile robot research.

2.    Depth: demonstrate a capacity to implement working instances of important and nontrivial (graduate level) algorithms for a mobile robot.

3.    Breadth: develop a broad appreciation of the physics and mathematical principles that govern what is possible with mobile robot technology.

4.    Judgement: develop good intuition for what is easy and hard in order to enable sound decision-making and sound planning.

5.    Analysis: appreciate the tradeoffs and constraints that govern major design decisions to enable sound system design.

Course Calendar (Subject to Change): The order of the lectures follows one typical implementation path for mobile robots from simple to more complex capabilities. The first step, at least for a retrofitted vehicle, is to render the actuators computer controllable with hardware and software. Then, the vehicle can move. Next position feedback is provided by the addition of hardware and software. At this stage, the vehicle can follow a predetermined path "blindly". With the addition of perception hardware and software, the vehicle is now able to avoid obstacles, use landmarks for positioning, and follow environmental features such as a road. Finally, with the addition of strategic planning capabilities, the system can navigate freely and perform a complex function. The last part of the course is devoted to the case where a vehicle is custom designed to be a robot to serve a particular need.

In order to allow for student involvement, this schedule is subject to modification. Topics may be added, deleted, or moved as necessary to accommodate various constraints that cannot be predicted

Wk

Topics

Category

1 Course Outline: Intro to course
Intro 1: Intro to Mobile Robots
Introduction
2 Kin 1: Orthogonal Transforms
Kin 2: Kinematics of Mechanisms
Kinematics
3 Kin 3: Kinematics Models of Sensors and Actuators
Kin 4: Transform Graphs & Pose Networks
Kinematics
4 Unc 1: Fundamentals of Uncertainty
Unc 2: Combining Uncertain Measurements
Uncertainty
5 Unc 3: Kalman Filters
Unc 4: Applications of Bayes Rule
Unc 5: Particle Filters etc
Uncertainty
6 Dyn 1: Aspects of Ground Vehicle Dynamics
Dyn 2: Linear Systems Theory and Stochastic Calculus
Dynamics
7 Pos 1: Physics of Measurement
Pos 2: Mathematics of PosEstimation
Pos 3: Sensors for Pos Estimation
Position Estimation
8 Pos 4: Inertial Navigation Systems
Pos 5: Satellite Navigation Systems
Pos 6: Stability Estimation
Position Estimation
9 Spring Break  
10 Ctr 1: Hierarchical Ctrl / Mot Auton.
Ctr 2: Kinematics of WMRs
Ctr 3: Trajectory Generation
Control
11 Ctr 4: Obstacle Avoidance
Ctr 5: Path and Trajectory Following
Per 1: Mathematics for Perception
Control
12 Per2: Physics of Radiative Sensors
Per 3: Sensors for Perception
Per 4: Perception Algorithms
Perception
13 Per 5: Visual Tracking & Servoing
Map 1: Intro to Maps and Representation
Map 2: Perception Based Localization
Perception, Mapping
14 Map 3: Globally Consistent Mapping
Map 4: SLAM
Pln 1: Introduction to Motion Planning
Mapping, Planning
15 Pln 2: Algorithms for Motion Planning
Pln 3: Real-Time Planning & Dynamic Environments.
Pln 4: Nonholonomic Motion Planning
Planning
Course Calendar