Skip to content

troiwill/cmsc477-robotics-perception-and-planning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CMSC477 - Robotics: Perception and Planning

Spring 2026

Instructor: Dr. Troi Williams (troiw@umd.edu)
Teaching Assistants: Anukriti Singh (anukriti@umd.edu), Khuzema Habib (khabib@umd.edu)
Lab Manager: Ivan Penskiy (ipenskiy@umd.edu)


General Information

Course Description

The course is a hands-on introduction to perception and planning for robotics. Topics can include rigid body transformations, dynamics and control, graph-based and sampling-based planning, Bayesian/Kalman filtering, camera models, projective geometry, visual features, optical flow, pose estimation, RANSAC, structure from motion, visual odometry, and machine learning basics (visual recognition/learning).

There is one final examination, one homework, and 4 projects with the projects making up a large portion of the coursework. The projects are worked on during lab sessions.

Robotic System

RoboMaster by DJI. See RoboMaster SDK doc for links to the documentation, website, and FAQs. If you experienced any issues with the robot and solved them, please post about it on ELMS so that we can update the FAQs section.

Prerequisites

  • For RAS minor students: Linear Algebra (MATH240 or MATH461) and ENEE467.
  • For non-minor CS students: CMSC420.
  • Requirement: Must be in the Robotics and Autonomous Systems minor or have department permission.

Assignments

Assignment Percentages

  • Project 0: 5%
  • Homework 1: 10%
  • Project 1: 15%
  • Project 2: 15%
  • Project 3: 30%
  • Final Exam: 25%

Late Policy

  • Penalties: Late assignments are docked 20% for the first day, and 10% per day thereafter.
  • Grace Days: Each group has four (4) late days total to spend across Projects 0, 1, and 2.
    • Late days push the deadline back by a day.
    • They must be used as full days (no partial/half days). Example: To get full credit on an assignment submitted two (2) days late, you must use two (2) late days.
  • Restrictions: Grace/Late days cannot be used for the Final Exam or Project 3 (competition/final report).
  • Submission: If using a late day, the submission title must say "USING X LATE DAY(S)".

Policies

Excused Absences

  • Religious, Athletic Events, and Planned:
    • Students must inform the instructor during the schedule adjustment period (February 6th).
    • All other absences must be reported as soon as is practical.
  • Medical:
    • One self-signed excuse is allowed per semester for a single class (excluding major assessments).
    • Beyond the first absence, medical documentation (Doctor's note) is required. The note should have dates only. Do not include diagnostic information.

Collaboration and Honor Code

  • Citations: You must clearly cite collaborators by name at the top of reports (including ELMS posts).
  • Code: You may not share or copy code. You may discuss concepts/logic, but cannot show code.
  • Homework: You must formulate and write solutions alone. If you are using a common whiteboard, write answers separately based on your own understanding.
  • External Sources: Free/public sources (books, web) are allowed if explicitly cited. Paid services are prohibited.
  • Group Chats: Course discussion is encouraged, but sharing graded assignment solutions/pictures is prohibited and has resulted in Honor Council visits for entire groups in the past.

GitHub / Code Hosting

  • You may use private repositories only (free for students).
  • Warning: If your free premium subscription expires, your code becomes public. If another student finds and uses it to cheat, you can retroactively receive an XF grade.

AI Tools

  • Disclosure: If you use an AI tool, you must disclose the tool name and how it was used to the instructor.
  • Consequence: Failure to disclose results in a zero on that coursework and potential Honor Code action.

Study Guides and Similar

Creating collaborative study guides on Google docs is OK. Encouraged, even. Just do this before the exam, and don't bring the study guide to the exam. Don't add exam questions to the study guide after the earlier section's midterm.

This rules also applies to practice exams, worksheets, lecture examples, and ungraded lab examples.

Contact the instructor if you have any questions or concerns about the syllabus.


Course Schedule

Be mindful of due dates and the final exam!

Lecture Schedule

  • Tuesdays & Thursdays: 2:00pm – 2:50pm

Lab Schedule

  • Section 0101: Mondays 2:00pm – 4:50pm (Khuzema Habib - khabib@umd.edu)
  • Section 0102: Wednesdays 2:30pm – 5:20pm (Anukriti Singh - anukriti@umd.edu)
  • Note: One TA will be present during each lab session.

Tentative Topics and Events

Date Day Event / Topic
1/27 Tues Classes canceled due to storm
1/29 Thurs Classes canceled due to storm
2/3 Tues Course Introduction
2/5 Thurs Course and Lab Logistics

2/9


Mon


Project 0 Begins: PID control using AprilTags

2/10 Tues Graph-based Path Planning
2/12 Thurs Graph-based Path Planning

2/17


Tues


HW 1 Begins: Implement BFS, DFS, Dijkstra
Graph-based Path Planning (Lecture)

2/19 Thurs Graph-based Path Planning

2/20


Fri


Project 0 is Due
Project 1 Begins: Navigating a Maze with a Map

2/24 Tues Sampling-based Path Planning (Lecture 06)
2/26 Thurs Sampling-based Path Planning (Lecture 07)

3/6


Fri


Homework 1 is Due

3/10 Tues Extra Lab Day (Section 0101)
3/12 Thurs Extra Lab Day (Section 0102)

3/13


Fri


Project 1 is Due
Project 2 Begins: Pick and Place around Obstacle


3/15-22

Sun-Sun
Spring Break - Enjoy and be safe!


4/10


Fri


Project 2 is Due
Project 3 Begins: Competition!


5/4


Mon


Competition - Section 1


5/6


Wed


Competition - Section 2


5/8


Fri


Course Evaluations are Due

5/14 Thurs Final Exam (10:30am - 12:30pm)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages