CSCI8920_Fundamentals_of_Robotics (Spring 2021)

Graduate course, UNO, 2021

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
  • Date: January 11, 2021 - May 6, 2021
  • Office Hour: Wednesday 7:15PM - 8:15 PM via Zoom or by appointment
  • Class Info: MW 6:00PM - 7:15PM, Remote Learning
  • Course Schedule


CSCI 3320 Data Structures AND any course equivalent to this course. CSCI 4500 Operating Systems AND any course equivalent to this course. CSCI 4450 Introduction to Artificial Intelligence AND any course equivalent to this course. Basic Python or C++ programming knowledge are recommended. You can take these courses in the same semester. However, if you have not taken these courses before or any concern, 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.

  • 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.

Get Odin account

You need to apply for an account at Odin: IS&T Core Linux Server to download our programming assignments. More details are shown below: Please email to UNO IST support (Email: uno-ist-support at unomaha dot edu) if you have any questions about Odin. **Please get one asap. Don’t wait until the last-minute, always finish ahead of deadlines. **


There will be 3 programming assignments, one group project. The final course grade will be computed as follows:

  • 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.

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 2days), 80% deduction (late by 3 days), and no credit if late by more than three days.

Contact the instructor in case of 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.


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:


This schedule, and the links contained in it, are subject to change during the semester.

MonJan. 11Introduction & ThemesReading: Building Machines That Learn and Think Like People, Brenden M. Lake, Tomer D. Ullman, Joshua B. Tenenbaum, Samuel J. Gershman (2016)
WedJan. 13Robot MechanismsReading: Robot Mechanisms
MonJan. 18Martin Luther King Day (Student Holiday) - No class 
WedJan. 20Robot Mechanisms
Reading: Ch1
MonJan. 25[Robot Simulation]Program 1 Available
WedJan. 27[Introduction to ROS I] 
MonFeb. 1[Introduction to ROS I] Project Proposal (1 page submission each team)
WedFeb. 3[Introduction to ROS II] 
MonFeb. 8[Introduction to ROS II] 
WedFeb. 10[Sensing and Perception I] 
MonFeb. 15[Sensing and Perception I] 
WedFeb. 17[Sensing and Perception I] 
MonFeb. 22[Sensing and Perception II] 
WedFeb. 24[Sensing and Perception II] Program 1 Due, 11:59pm
MonMarch 1[Plan Planning: Representation and Fundamentals] Project Milestone (1 page submission each team)
Program 2 Available
WedMarch 3[Planning as Search] 
MonMarch 8[Sample-based Path Planning] 
WedMarch 10[Robot Manipulators and Kinematics] 
MonMarch 15Spring Vacation (Student Holiday) - No class 
WedMarch 17Spring Vacation (Student Holiday) - No class 
MonMarch 22[Robot Grasping] 
WedMarch 24[Simultaneous Localization and Mapping] 
MonMarch 29[Learning-Based Robotics]Program 2 Due at 11:59pm </span>
WedMarch 31[Imitation Learning]Program 3 Available
MonApr. 5[Self-supervised Learning] Project Checkpoint (1 page submission each team)
WedApr. 7[Reinforcement learning I] 
MonApr. 12[Reinforcement learning II] 
WedApr. 14[Follow the Gap & Robotics Application] 
MonApr. 19Presentation 
WedApr. 21Presentation 
MonApr. 26Prep week - No class 
WedApr. 28Prep week - No class Program 3 Due at 11:59pm
SunMay 2Report and Demo Due (TBD)Report Template
Report and Demo Due 11:59pm
Submission: 1) A report, 2) Presentation slides, and 3) Demo video.