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 humanmachine systems.
Credit Hours: 3
Instructor: Simon Leonard
Lectures: Tue, Thu 12h00 – 1h15PM (Hackerman B17)
Email: sleonard at jhu dot edu
Office hours: Monday 5PM6PM Thursday 3PM4PM (Zoom link in syllabus)
Course Assistants office hours:
 TBD
Resources:
Wyman 170: 12 desktops with Ubuntu 22.04 and ROS2 Humble.
(Primary book) Principles of Robot Motion (Choset et. al.), MIT Press, 2005
Additional online resources will be made available for the assignments.
Other resources
Probabilistic Robotics, Thrun, Burgard, Fox, MIT Press, 2006.
Planning Algorithms, Steve Lavalle, Cambridge University Press, 2006. book
ROS https://docs.ros.org/en/humble/index.html
Course Preparation
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 45% on the assignments and 25% for each exam and 5% in class quizzes. All students will need to use real robots by the of the term to earn their final mark.
Assignment due dates:
Assignment 1: Feb 15th 2024
Assignment 2: Feb 29th 2024
Assignment 3: Mar 28th 2024
Assignment 4: Apr 11th 2024
Assignment 5: Apr 25th 2024
Midterm: Mar 7th 2024
Final: TBD
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 Canvas. No email.
Piazza is used for asking questions and posting comments. Please consider anonymous public comments/questions instead of private ones.
Schedule
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.
Suggested readings:
 Choset, H., Lynch, K.M., Principles of Robot Motion: Theory, Algorithms, and Implementations (Chapter 3).
 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: Handeye calibration.
 F. Park, B. Martin Robot Sensor Calibration: Solving AX=XB on the Euclidian Group. IEEE Trans. Rob.Aut. 10(5):717721, October 1994
Week 4: Potential fi elds. Attractive and repulsive potentials. Implementation of sensor constraints as potentials.
Suggested readings:
 Choset, H., Lynch, K.M., Principles of Robot Motion: Theory, Algorithms, and Implementations (Chapter 4).
 Mezouar, Y., Chaumette, F., Path Planning for Robust Imagebased Control, IEEE Tr. on Robotics 2002.
Week 5: Graphbased path planning. Visibility maps, generalized Voronoi diagram, cell decompositions and Minkowski sum.
Suggested readings:
 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: Samplebased path planning. Probabilistic roadmaps, rapidlyexploring random trees.
Suggested readings:
 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.
Week 8, 9: Kalman filter, dynamic linear systems. Extended Kalman filter, dynamic nonlinear systems.
Suggested readings:
 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: RealTime 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 fi lter.
Suggested readings:
 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, Artifi cial Intelligence 2000.
 Doucet, A., de Freitas, N., Murphy, K., Russel, S., RaoBlackwellized particle fi ltering for dynamic Bayesian networks, Uncertainty in Artifi cial 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:
Regarding plagiarism:
The strength of the university depends on academic and personal integrity. In this course, you must be honest and truthful. Ethical violations include cheating on exams, plagiarism, reuse of assignments, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition.
In addition, the specific ethics guidelines for this course are:
 No teamwork or collaboration on assignments
 Public or private sharing of code, assignments and exams
Report any violations you witness to the instructor. You may consult the associate dean of student conduct (or designee) by calling the Office of the Dean of Students at 4105168208 or via email at [email protected]. For more information, see the Homewood Student Affairs site on academic ethics: https://studentaffairs.jhu.edu/policiesguidelines/undergradethics
Read the Graduate Academic Misconduct Policy:
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 share your assignments to someone else (facilitating academic dishonesty).
 You cannot use any material from a classmate or student who took the course in previous semesters.
 You cannot share any material from this course in future semester.
 You cannot use any online tools (AIbased or otherwise) such as ChatGTP or Copilot.
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).