CSCI8920 Fundamentals of Robotics (Spring 2024)
Graduate course, UNO, 2024
This course will cover the fundamentals of robotics and application of artificial intelligence techniques to robotics. Topics include, but not limited to, probabilistic inference, learning theory, modeling development, perception, planning, and search algorithms, localization, tracking and basic control, and programming the robotic system. These techniques will be simulated in a programming infrastructure, the Robot Operating System (ROS), which enables efficient integration of independently developed subsystems into a single system, enabling autonomous robot operation. ROS offers an environment for developing modular control software, a communication infrastructure to connect the software components and an open source library of implemented algorithms. In the scope of this course, we shall cover the practical development of software modules in the ROS environment and integrate the techniques in artificial intelligence into a completely functional system for robot control.
Administrative Information
- Instructor: Pei-Chi Huang
- Email: phuang at unomaha dot edu
- Office Hour: Wednesday 1:45 - 3:00 PM via Zoom or by appointment
- Class Info: MW 12:00PM - 1:15PM, Remote Learning
- Course Schedule
Prerequisites:
CCSCI 3320 Data Structures AND any course equivalent to this course. Basic Python or C++ programming knowledge is recommended. You can take these courses in the same semester. However, if you have not taken these courses before or any concerns, you will need to contact the instructor of the course for approval.
Suggested preparatory courses:
Math/STAT 4450/8456 Introduction to Machine Learning and Data Mining; Knowledge of Python and C++, and familiar with Linux operating system , and GitHub for version control.
Recommended Textbooks
- Robot Operating System (ROS) website
- Joseph, L. (2018). Learning Robotics using Python: Design, simulate, program, and prototype an autonomous mobile robot using ROS, OpenCV, PCL, and Python. Packt Publishing Ltd. This will be used as a reference, rather than as a textbook, but we will use quite a few methods from it, and it is a valuable addition to your professional library.
Supplemental materials
- Martinez, Aaron, and Enrique Fernández. Learning ROS for robotics programming. Packt Publishing Ltd, 2013.
- Quigley, M., Gerkey, B., & Smart, W. D. (2015). Programming Robots with ROS: a practical introduction to the Robot Operating System. “ O’Reilly Media, Inc.”.
- Corke, P. (2017). Robotics, vision and control: fundamental algorithms in MATLAB® second, completely revised (Vol. 118). Springer.
Grading
- Programming Assignments: 50%
- Group Project: 20%
- Group Report and Presentation: 30%
- Canvas Discussion/Class Participation: ~5%
If you have questions regarding the grading of programming assignments, group project and report and presentation, you MUST email or come to see the instructor WITHIN ONE WEEK after the date your assignments have been returned to you.
Grading Type
Letter grades will be determined using the weighted average of the various items used to evaluate students. A typical grade mapping is illustrated below.
Points | Grade |
---|---|
97 – 100% | A+ |
93 – 96% | A |
90 – 92% | A- |
87 – 89% | B+ |
83 – 86% | B |
80 – 82% | B- |
77 – 79% | C+ |
73 – 76% | C |
70 – 72% | C- |
67 – 69% | D+ |
63 – 66% | D |
60 – 62% | D- |
0 – 59% | F |
Late Policy
Programming Assignments and Projects are subject to late penalty. Here is the point deduction policy: 20% deduction (late by 1 day), 40% deduction (late by 2 days), 80% deduction (late by 3 days), and no credit if late by more than three days.
Contact the instructor in case of a medical emergency, and a written proof from your doctor is required. You are allowed to extend one more day after the approval.
Academic Integrity
You may discuss the homeworks and assignments with anyone and use any reference materials, but provided you do not copy any other person’s work. We will follow the University Policy on Academic Integrity regarding any cheating and plagiarism. Take the time to familiarize yourself with the contents of this page, as you are responsible for its contents.
Accommodations
Reasonable accommodations are provided for students who are registered with Accessibility Services Center (ASC) and make their requests sufficiently in advance. For more information, contact ASC (Location: 104 H&K, Phone: 402.554.2872, Email: unoaccessibility@unomaha.edu
Schedule
This schedule, and the links contained in it, are subject to change during the semester.
Date | Topic | Assignment | |
---|---|---|---|
Mon | Jan. 22 | [Introduction & Themes] | Reading: Building Machines That Learn and Think Like People, Brenden M. Lake, Tomer D. Ullman, Joshua B. Tenenbaum, Samuel J. Gershman (2016) |
Wed | Jan. 24 | [Robot Mechanisms] | Reading: [Robot Mechanisms notes] |
Mon | Jan. 29 | [Robot Mechanisms] | Reading: Ch1 |
Wed | Jan. 31 | [Getting_Started_with_ROS] | [Project Announcement] Reading: [Simulation and Numerical Methods notes] |
Mon | Feb. 5 | [Getting_Started_with_PyBullet] | Reading: ch2 Program 1 Available |
Wed | Feb. 7 | [Robot Simulation] | Reading: ch3 Project Proposal (the title, project description, motivation, the references) (1 page submission each team) |
Mon | Feb. 12 | [Introduction to ROS Basic Commands] | Reading: Ch4, Core ROS Tutorials: Beginner Level |
Wed | Feb. 14 | [Introduction to ROS Build System] | Reading: Core ROS Tutorials: Beginner Level |
Mon | Feb. 19 | [Introduction to ROS Build System] | Reading: Core ROS Tutorials: Beginner Level |
Wed | Feb. 21 | [Introduction to ROS Publishers and subscribers] | Reading: Core ROS Tutorials: Beginner Level Program 1 Due, 11:59pm Program 2 Available |
Mon | Feb. 26 | [Introduction to ROS Publishers and subscribers] | [Project Checkpoint 1] (at least 2 pages submission each team; please follow IEEE format.) Reading: ch4 Gazebo Tutorials |
Wed | Feb. 28 | [Sensing and Perception in Simulation (Basic)] | Reading: ch4 Gazebo Tutorials |
Mon | Mar. 4 | [Sensing and Perception in Simulation (Basic)] | [Project Checkpoint 1] (3 mins presentation) |
Wed | Mar. 6 | [Sensing and Perception in Simulation (Basic)] | Reading: ch5, Gazebo Tutorials Intermediate |
Mon | Mar. 11 | Spring Vacation (Student Holiday) - No class | |
Wed | Mar. 13 | Spring Vacation (Student Holiday) - No class | |
Mon | Mar. 18 | [Sensing and Perception in Simulation (Advanced)] | Program 2 Due, 11:59pm Program 3 Available Reading: ch5, Gazebo Tutorials Intermediate URDF Tutorials |
Wed | Mar. 20 | [Sensing and Perception in Simulation (Advanced)] | [Project Checkpoint 2] (at least 2 pages submission each team) Reading: Gazebo Tutorials Intermediate, URDF Tutorials |
Mon | Mar. 25 | [Planning: Representation and Fundamentals] | Reading: URDF Tutorials, Using a URDF in Gazebo |
Wed | Mar. 27 | [Planning: Representation and Fundamentals] | Reading: ch8 |
Mon | Apr. 1 | [Auto-Navigation Planner] | |
Wed | Apr. 3 | [Auto-Navigation Planner] | Reading: Ch.8, ROS Navigation Tutorials Program 3 Due at 11:59pm |
Mon | Apr. 8 | [Auto-Navigation Planner] | Reading: Ch.7 [Project Checkpoint 3] (at least 2 pages submission each team) |
Wed | Apr. 10 | [OpenCV + ROS] | Reading: OpenCV tutorials Program 4 Available |
Mon | Apr. 15 | [Learning-Based Robotics] | Reading: Reinforcement Learning in Robotics: A Survey. Jens Kober, J. Andrew Bagnell, Jan Peters (2013), Recent Advances in Robot Learning from Demonstration. Harish Ravichandar, Athanasios S. Polydoros, Sonia Chernova, Aude Billard (2020) |
Wed | Apr. 17 | [Learning-Based Robotics] | Reading: Soft Actor-Critic Algorithms and Applications. Tuomas Haarnoja, Aurick Zhou, Kristian Hartikainen, George Tucker, Sehoon Ha, Jie Tan, Vikash Kumar, Henry Zhu, Abhishek Gupta, Pieter Abbeel, Sergey Levine (2018), Continuous Control with Deep Reinforcement Learning. Timothy P. Lillicrap, Jonathan J. Hunt, Alexander Pritzel, Nicolas Heess, Tom Erez, Yuval Tassa, David Silver, Daan Wierstra (2015) |
Mon | Apr. 22 | [Reinforcement learning] | Reading: Reinforcement learning: A survey. Kaelbling, Leslie Pack, Michael L. Littman, and Andrew W. Moore, Journal of artificial intelligence research 4 (1996): 237-285, Reinforcement learning in robotics: A survey, The International Journal of Robotics Research 32, no. 11 (2013): 1238-1274. |
Wed | Apr. 24 | [Reinforcement learning] | Reading: Reinforcement learning: A survey. Kaelbling, Leslie Pack, Michael L. Littman, and Andrew W. Moore, Journal of artificial intelligence research 4 (1996): 237-285, Reinforcement learning in robotics: A survey, The International Journal of Robotics Research 32, no. 11 (2013): 1238-1274 [Project Checkpoint 4] (at least 2 pages submission each team) |
Mon | Apr. 29 | Presentation | Program 4 Due at 11:59pm |
Wed | May 1 | Presentation | |
Wed. | May 8 | Final Report and Recorded Demo Due | Report Template Report and Demo Due 11:59pm Submission: 1) A report, 2) Presentation slides, 3) Presentation video, and 4) Demo video. |