CS 141: Probabilistic Robotics for Human-Robot Interaction

Spring 2023

Instructor: Jivko Sinapov
Department of Computer Science

Tuesday, Thursday 1:30 - 2:45 pm
Classroom: JCC 260

Office hours

Jivko Sinapov (Instructor)

Time: Thursdays 10 am - 11 am
Office: JCC 467
Email: jivko--DOT--sinapov--AT--tufts--DOT--edu

Mavis Murdock

Time: Mondays 11:30 am to 1:30 pm and Thursdays 4:00 pm to 6:00 pm
Office: JCC 435
Email: Mavis -- DOT -- Murdock -- AT -- tufts -- DOT -- edu

Class Diary (including links to slides and readings) [top]

All slides are available here.

Final Projects [top]

Important Dates:

Team Formation (2-3 people per team): February 23rd

Preliminary Proposal Presentations: In class, March 14th and 16th

Project Proposal Writeup due: March 24th

Final Project Presentations: TBD

Final Project Report and Deliverables: TBD


Course Overview [top]

This graduate-level course will introduce various techniques for probabilistic state estimation and examine their application to problems such as robot localization, mapping, perception, and planning in the context of Human-Robot Interaction. The course will also provide a problem-oriented introduction to relevant machine learning and computer vision techniques that are commonly used by robots interacting with humans. Topics include: Overview of mobile robotics (hardware, software architectures, sensors), probabilistic models of sensing and acting, Bayesian state estimation and filtering (e.g., Kalman and particle filters), localization and mapping, computer vision for robot perception (e.g., human activity recognition), and models of robot decision making and learning (e.g., Markov decision processes, reinforcement learning). The main components of the course include several programming assignments along with a final project. You will be able to use Turtlebot2 robots for homework and projects, along with any other robots (or robot simulators) you have access to through your current research activities.

Course Requirements [top]

Grades will be based on


Class Participation

You are expected to attend each class and actively participate by taking part in discussions and activities, and asking questions. If you anticipate missing a class, let me know as soon as you are able.


Homework Assignments

Students will complete four minor programming assignments. The reports, all relevant code and data should be submitted on canvas. Non-programming assignments may also be assigned over the course of the semester.


Final Projects

Over the course of the semester, you will comlete a project of your choosing in teams of two (if you really want to work alone, I will not stop you). Additional information about project-related assignments will become available in a timely manner. Project components will include a project proposal, final report, code and deliverables, and a short presentation summarizing the results.


Text and Website [top]

The main reference used throughout the course will be "Probabilistic Robotics"

In addition, relevant research papers and book chapters will also be assigned, and later chosen by the students following their project topic.

Software Resources [top]

Tufts Service Robotics Git Repo: [LINK]

Robot Operating System Framework: http://wiki.ros.org/

Installinng ROS in VirtualBox for Max OS X: https://wiki.epfl.ch/roscontrol/rosinstall (note: this works on Windows just the same. Use Ubuntu 16.04 LTS as the Linux OS and then install ROS Kinetic)

Running ROS on the cloud:
1) Create an account (or use an existing google or Facebook account) for the Robot Ignite Academy 2) Use the account to log into the ROS Development Studio (scroll down to the bottom and pick the free plan)

New to Linux? You may find this UNIX/Linux Tutorial useful.

New to C++? Then do these tutorials ASAP.

The Brown-UMBC Reinforcement Learning and Planning java code library: BURLAP

Reinforcement Learning with PyTorch: [LINK]

Academic Dishonesty Policy [top]

You are encouraged to form study groups and discuss the reading materials assigned for this class. You are allowed to discuss the reading response assignments with your colleagues. You are also allowed to discuss the programming assignments (e.g., in front of a white board). However, each student will be expected to write their own response and code. Sharing of code is not allowed!

Collaboration is expected for the final projects -- as soon as you can, you will form teams of 2 members. If you absolutely insist on working alone, I won't stop you but you'll be facing a larger work load. For the final project, you're allowed to (and expected to) use various open-source libraries, published code, algorithms, datasets, etc. As long as you cite everything you use that was developed by someone else, you'll be fine.

IMPORTANT: Cheating, plagiarism, and other academic misconducts will not be tolerated and will be handled according to Tufts' policy on academic dishonesty. According to that policy, if I find any evidence of dishonesty, I am required to report it.


[Back to Department Homepage]