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]
- 3/14 Reading Discussion
Slides: [PDF] - 3/12 Actions in ROS
Slides: [PDF]
Assigned Reading:
- Burgard, Wolfram, et al. "Experiences with an interactive museum tour-guide robot." Artificial intelligence 114.1-2 (1999): 3-55. [VIDEO]
- 3/7 Localization
Slides: [PDF]
- 3/5 Introduction to Image Processing
Slides: [PDF]
Code from class: [ZIP]
Assigned Reading:
- O'Regan, J. Kevin, and Alva Noe. "A sensorimotor account of vision and visual consciousness." Behavioral and brain sciences 24.5 (2001): 939-973.
- 2/26 Research Talk: Aylin Caliskan @ Halligan 102
Assigned Homework: Homework 5: Planning with PDDL (see trunk, due 3/12)
Assigned Readings:
- Chapter 6 from: Walde, M. "Introduction to Autonomous Robots" (2016)
- Lee, Jinhan, et al. "Vision-based contingency detection." Proceedings of the 6th international conference on Human-robot interaction. ACM, 2011.
- Nagai, Yukie. "From bottom-up visual attention to robot action learning." IEEE 8th International Conference on Development and Learning, 2009.
- Butko, Nicholas J., and Javier R. Movellan. "Learning to look." IEEE 9th International Conference on Development and Learning (ICDL), 2010.
- 2/22 Research Talk: Derry Wijaya @ Halligan 102
- 2/21 Planning
Slides: [PDF]
Assigned Readings:
- Chapter 5 from: Walde, M. "Introduction to Autonomous Robots" (2016)
- Chapter 11: Planning from "Artificial Intelligence: A Modern Approach"
- No reading response due this week
- 2/14 Robot Bodies in ROS: URDF
Assigned Homework: Homework 4: Robot Training + URDF (see trunk, due 2/26)
Slides: [PDF]
- 2/12 Embodiment in Robots
Slides: [PDF]
Assigned Readings:
- Chapter 4 from: Walde, M. "Introduction to Autonomous Robots" (2016)
- Research Article: R. Brooks (1991). "Intelligence Without Representation", Artificial Intelligence, Volume 47, Issue 1-3.
- Research Article: Brooks, R. (1986). "A robust layered control system for a mobile robot". IEEE journal on robotics and automation, 2(1), p. 14-23.
- 2/7 In-class Turtlesim Exercises
Slides: [PDF]
- 2/5 Video Talk: Dr. Cynthia Breazeal - The Personal Side Of Robots
Slides: [PDF]
Assigned Readings:
- Chapter 3 from: Walde, M. "Introduction to Autonomous Robots" (2016)
- Research Article: Stoytchev, Alexander. "Some basic principles of developmental robotics." IEEE Transactions on Autonomous Mental Development 1.2 (2009): 122-130.
- 1/31 Reading Discussion + ROS Intro (part 3)
Slides: [PDF]
Assigned Homework: Homework 3: Travevling Salesturtle (see trunk, due 2/14)
- 1/29 Introduction to ROS (part 2)
Slides: [PDF]
Assigned Homework: Homework 2: First ROS Node (see trunk)
Assigned Readings:
- Chapter 2 from: Walde, M. "Introduction to Autonomous Robots" (2016)
- Research Article: Khandelwal, Piyush, et al. "BWIbots: A platform for bridging the gap between AI and human-robot interaction research." The International Journal of Robotics Research 36.5-7 (2017): 635-659.
- (Optional) Chapters 1-3 of A Gentle Introduction to ROS.
- 1/24 Introduction to ROS + Shakey documentary
Slides: [PDF]
- 1/22 Class Introduction
Slides: [PDF]
Assigned Homework: See slides
Assigned Readings:
- Chapter 1 from: Walde, M. "Introduction to Autonomous Robots" (2016)
- "How to (seriously) read a scientific paper" by Elisabeth Pain
- Research Article: Hawes, Nick, et al. "The strands project: Long-term autonomy in everyday environments." IEEE Robotics & Automation Magazine 24.3 (2017): 146-156.
Final Projects [top]
Class Projects:
-
Title: Turtlebot Robotic Arm
Team: Justin Stearns, Jonathan Chang, Josh Bowman
Proposal: [PDF] -
Title: SAM - Semantic Autonomous Mapping
Team: Mateo Guaman, Chris Mitsopoulos, Brandon Chung
Proposal: [PDF] -
Title: Fencing Referee Bot
Team: Elliot Pavlovich, Jia Wen Goh, Quinn Collins
Proposal: [PDF] -
Title: Greeter Robot
Team: Leah Holden, Lauren Dierker, Anne Oursler
Proposal: [PDF] -
Title: ReVRSR: Remote Virtual Reality for Service Robots
Team: Faizan Muhammad, Amel Hassan, Ahmed Ehab Gado
Proposal: [PDF] -
Title: Telepresence in a University Environment
Team: Selena Groh, Serena Thoma, Trung Truong
Proposal: [PDF] -
Title: Autonomous Search and Identification
Team: Joe Howarth, Matthew Lee, Kostas Tsiampouris
Proposal: [PDF] -
Title: Box Stacking Bot
Team: Martin Iotchev, Panos Skoufalos, Tory Kolbjornsen
Proposal: [PDF] -
Title: Your Friendly Halligan Mail-bot
Team: Margo Urheim and Emma Resor
Proposal: [PDF] -
Title: Gesture-controlled Robot "Dog"
Team: Shucheng Tian, Shukun Zhang, Yirong Tang
Proposal: [PDF] -
Title: GuardBot
Team: Matthew Carrington-Fair, Matthew Epstein, Ben Francis
Proposal: [PDF] - Title: TrashBot
Team: Josh Etkind, Megan Toner, Grant Sisson
Proposal: [PDF]
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 (http://www.ros.org/).
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 (http://www.turtlebot.com/turtlebot2). 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
- class participation (10%);
- written responses to readings (10%)
- preliminary programming assignments (50%)
- a final project (30%)
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:
- Insightful questions;
- Clarification questions about ambiguities;
- Comments about the relation of the reading to previous readings;
- Critiques on the research;
- Critiques on the writing style or clarity;
- Thoughts on what you would like to learn about in more detail;
- Possible extensions or related studies;
- Thoughts on the paper's importance; and
- Summaries of the most important things you learned.
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:
- Walde, Matthias. Introduction to Auonomous Robots. 2016.
- O'Kane, Jason M. A Gentle Introduction to ROS. 2016.
- Thrun, Sebastian, Wolfram Burgard, and Dieter Fox. Probabilistic robotics. MIT press, 2005.
- Murphy, Robin. Introduction to AI robotics. MIT press, 2000.
Robotics and ROS 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 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]