COMP 50: Autonomous Intelligent Robotics

Spring 2018

Instructor: Jivko Sinapov
Department of Computer Science

Monday, Wednesday 15:00- 4:15
Classroom: Halligan 111A

Office hours

Jivko Sinapov (Instructor)

Time: Thursdays 1:00-3:00 pm or by appointment
Office: Halligan 213
Email: jsinapov--AT--cs--DOT--tufts--DOT--edu

Srijith Rajeev (Teaching Assistant)

Time: 1:30 pm to 2:45 pm on Monday, and 4:30 pm to 5:45 pm on Tuesdays and Wednesdays
Office: Halligan 228 A-B
Email: srijith2311 -- AT -- gmail -- DOT -- com

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

Final Projects [top]

Class Projects:

Important Dates:

Team Formation (2-3 people): Friday Feb 23rd

Preliminary Project Proposal "Presentations": In class, Feb 28th

Project Proposal Writeup due: March 16th

Final Project Presentations/Videos: Friday, May 4th, 3:30 pm - 5:30 pm

Final Project Report and Deliverables: Friday, May 11th

Course Overview [top]

What is intelligence and how can it be implemented in a physical robot? If this question sparks your curiosity, then this course is for you. We will cover algorithms and representations that allow robots to operate autonomously and intelligently in the real world. Topics include mapping and localization, 2D and 3D visual perception for robots, planning and control, machine learning for robots, and human-robot interaction. Through the course, you will learn to program robot applications using the Robot Operating System (ROS), the largest and most popular open-source framework for autonomous robots (

Assignments will include several small C++ programming projects aimed at learning ROS, followed by a team final project on a topic of your choosing. For the assignments and final projects, you will use the TurtleBot2 mobile robots ( At the end of the course, 1) you will have been exposed to the state-of-the-art in autonomous robotics; 2) you will have an understanding of the current research areas, challenges, and open problems; and 3) you will be able to write applications and software modules for robots using ROS.

Course Requirements [top]

Grades will be based on

Students should post responses to the readings on a Trunk forum. Reading response assignments will be announced in class. Credit will be based on evidence that you have done the readings carefully. You are encouraged to also read some of your peers' responses. The response should include a summary of the reading along with any of the following:

Prerequisites [top]

A strong interest in the question, ``What is intelligence and how can it be implemented in a physical robot?''

For best results take two lectures weekly. Common side effects may include sleepless nights, broken robots, nervousness, and banging head on keyboard. Frequent visits to the instructor and the TA have been shown to alleviate some of those symptoms. Talk to your instructor if this class is right for you.

Finally, you are expected to have 1+ years of programming experience.

Text and Website [top]

There is no textbook for this course. Instead, relevant research papers and book chapters will be initially assigned, and later chosen by the students following their interests.

Some useful books include:

Robotics and ROS Resources [top]

Tufts Service Robotics Git Repo: [LINK]

Robot Operating System Framework:

Installinng ROS in VirtualBox for Max OS X: (note: this works on Windows just the same. Use Ubuntu 14.04 LTS as the Linux OS and then install ROS Indigo)

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.

Related Conferences and Journals [top]

Joint IEEE International Conference on Development and Learning: Proceedings

IEEE RAS International Conference on Humanoid Robots: Proceedings

IEEE/RSJ International Conference on Intelligent Robots and Systems: Proceedings

Conference on Robot Learning (CoRL 2017): Accepted Papers

IEEE Transactions on Autonomous Mental Development

Credits and Similar Courses [top]

This class is heavily inspired by a course on Developmental Robotics taught at Iowa State University by Alexander Stoytchev. Feel free to thank him if you enjoy it.

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-3 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. In fact, doing anything in robotics from scratch is next to impossible :) 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]