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)
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.
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.
- 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.
- Project 0: 5%
- Homework 1: 10%
- Project 1: 15%
- Project 2: 15%
- Project 3: 30%
- Final Exam: 25%
- 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)".
- 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.
- 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.
- 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.
- 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.
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.
Be mindful of due dates and the final exam!
- Tuesdays & Thursdays: 2:00pm – 2:50pm
- 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.
| 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) |