This course surveys the development of robotic systems for navigating in an environment from an algorithmic perspective. It will cover basic kinematics, configuration space concepts, motion planning, and localization and mapping. It will describe these concepts in the context of the ROS software system, and will present examples relevant to mobile platforms, manipulation, robotics surgery, and human-machine systems.
Credit Hours: 3
Professor: Simon Leonard
Meetings: Tue, Thu 12h00-13h15 Shaffer 301
E-mail: sleonard at jhu dot edu
Office: Hackerman 137B, Homewood Campus
Office hours: Thursday 13h30-15h00
Teaching Assistant: Will Pryor (willpryor at jhu dot edu)
Office hours: Tuesday 5-6h30 Hackerman 306
Course Assistants office hours:
Wenkai Ren: Monday 1h30-3h Malone 228
Wyman 157: 14 desktops with Ubuntu 16.04 and ROS Kinetic
Wyman 170: 6 UR-5, 2 Jackal, 9 desktops with Ubuntu 16.04 and ROS Kinetic
(Primary book) Principles of Robot Motion (Choset et. al.), MIT Press, 2005
Additional online resources will be made available for the assignments.
Probabilistic Robotics, Thrun, Burgard, Fox, MIT Press, 2006.
Planning Algorithms, Steve Lavalle, Cambridge University Press, 2006. book
This course is intended for advanced undergraduates and first year graduate students. I assume students have a rudimentary understanding of linear algebra, calculus, and are able to program in C++ and Matlab.
Goals and Evaluation
There will be five assignments and two exams. Grading will be 50% on the assignments and 25% for each exam. All students will need to use real robots by the of the term to earn their final mark.
Assignment due dates:
Assignment 1: February 21st 2019
Assignment 2: March 7th 2019
Assignment 3: April 4th 2019
Assignment 4: April 18th 2019
Assignment 5: May 2nd 2019
Midterm: March 14th 2019
Assignments are due by 23:59 EST on the day it is due. 10% per day of the grade is deducted for late submission. Deadlines are provided way ahead of time so work around them. Procrastinate at your own risk.
Turn in assignments on Blackboard
Piazza is used for asking questions (public or private) and posting comments. Please consider anonymous public comments/questions instead of private ones.
Week 1: Introduction
Week 2: Rigid body motion and velocity. Review of linear algebra used to describe relative 3D motion and velocity between rigid bodies. Kinematics: Forward/inverse kinematics of kinematics chains and mobile robots and manipulator Jacobian.
- Choset, H., Lynch, K.M., Principles of Robot Motion: Theory, Algorithms, and Implementations (Chapter C, E).
- Murray, R.M., Li, Z., Sastry, S.S., A Mathematical Introduction to Robotic Manipulation (Chapter 2).
- Siciliano. B., Khatib, O., Springer Handbook of Robotics (Chapter 1).
Week 3: Hand-eye calibration.
- F. Park, B. Martin Robot Sensor Calibration: Solving AX=XB on the Euclidian Group. IEEE Trans. Rob.Aut. 10(5):717-721, October 1994
Week 4: Potential fields. Attractive and repulsive potentials. Implementation of sensor constraints as potentials.
- Choset, H., Lynch, K.M., Principles of Robot Motion: Theory, Algorithms, and Implementations (Chapter 4).
- Mezouar, Y., Chaumette, F., Path Planning for Robust Image-based Control, IEEE Tr. on Robotics 2002.
Week 5: Graph-based path planning. Visibility maps, generalized Voronoi diagram, cell decompositions and Minkowski sum.
- Choset, H., Lynch, K.M., Principles of Robot Motion: Theory, Algorithms, and Implementations (Chapters 5, 6).
- de Berg, M., Cheong, O., van Kreveld, M., Overmars, M., Computational Geometry: Algorithms and Applications (Chapters 6, 7, 13, 15).
Week 6: Sample-based path planning. Probabilistic roadmaps, rapidly-exploring random trees.
- Choset, H., Lynch, K.M., Principles of Robot Motion: Theory, Algorithms, and Implementations (Chapters 7).
- LaValle, S., Planning Algorithms (Chapter 5).
Week 7: Review and midterm.
- Choset, H., Lynch, K.M., Principles of Robot Motion: Theory, Algorithms, and Implementations (Chapters 8).
- Davison, A.J., Reid, I.D., Molton, N.D., Stasse, O., MonoSLAM: Real-Time Single Camera SLAM, PAMI 2007.
- Harris, C., Geometry from visual motion. In Active Vision 1993.
Week 10, 11, 12: Bayesian filtering and multiple hyphotheses. Particle filtering, Rao-Blackwellized particle filters.
- Choset, H., Lynch, K.M., Principles of Robot Motion: Theory, Algorithms, and Implementations (Chapters 9).
- Thrun, S., Fox, D., Burgard, W., Dellaert, F., Robust Monte Carlo localization for mobile robots, Artificial Intelligence 2000.
- Doucet, A., de Freitas, N., Murphy, K., Russel, S., Rao-Blackwellized particle filtering for dynamic Bayesian networks, Uncertainty in Artificial Intelligence 2000.
Week 13: Review
Honor Code: Above all, you must not misrepresent someone else’s work as your own. You can avoid this in several ways:
Examples of academic misconduct:
- Use of material produced by another person without acknowledging its source
- Submission of the same or substantially similar work of another person (e.g., an author, a classmate, etc.)
Intentionally or knowingly aiding another student to commit an academic ethics violation
Allowing another student to copy from one’s own assignment, test, or examination
Making available copies of course materials whose circulation is prohibited (e.g., old assignments, texts or examinations, etc.)
Teamwork for assignments is not allowed. You cannot use work from someone else (plagiarism). You cannot provide your assignments to someone else (facilitating academic dishonesty).
- You cannot use any material from a classmate or student who took the course in previous term.
- You cannot distribute any material from this course in future semester.
Any academic misconducts (big or small) will be reported to Graduate Affairs (or Office of the Dean) and will be at least sanctioned by an “F” course grade. No negotiation. I will retroactively sanction plagiarism (i.e. a student plagiarize your assignment in future semesters).