Perception, Planning and Control for Mobile Robots

ECE 417/598: Introduction to Mobile Robotics

Spring 2022

Vikas Dhiman


The definition of Robots has been a receding definition. Humanoids that can do everything autonomously have always been and still called Robots; but Roombas are just “smart” vacuum cleaners now and Teslas are just “Full Self Driving” vehicles—no longer Robots. This course focuses on Mobile Robots: the robots like Roombas and Teslas that move around. This is in contrast to Robotic arms installed in factories for automatic production. We will spend a lecture or two on Robotic arms, but there is an entire course dedicated to those: MEE 444. In this course, we will focus on getting a taste of and understanding the basics of a wide range of Robotics technology, using the open-source Robotic Operating Systems (ROS) framework as an entry point. ROS supports many programming languages, including Python and C++. We will cover basic algorithms for robotic Perception (understanding the world around the robot), Planning and control (taking action on the world to achieve a desired outcome).

Instructors and office hours


  • Programming knowledge to learn Python/C++.
  • Math knowledge equivalent to MAT 128.


Robotics, Vision & Control, Peter Corke, Springer Verlag (2011). Search on for a pdf.

Additional references

  • Programming Robots with ROS, O’Reilly Media, Inc (2015).
  • Probabilistic Robotics. Sebastian Thrun, Wolfram Burgard, and Dieter Fox. (2005, MIT Press.)

Background references

  • Introduction to Linear Algebra, Fifth Edition (2016) by Gilbert Strang.
  • Programming – Principles and Practice Using C++ (2014) by Bjarne Stroustrup.

Topics (tentative)

  • Introduction to Robotics
  • Representing position and orientation (Chapter 2)
  • Robot Operating Systems
  • Mobile Robotics/Test system
  • Sensing / GNSS
  • Images (Chapter 11)
  • Image Processing (Object detection, Chapter 12)
  • Visual Tracking (Chapter 15)
  • Visual Servoing (Chapter 16)
  • Mapping (Chapter 6)
  • Kalman
  • Localization and Mapping (Chapter 6)
  • Planning - Spaces and Search (Chapter 5)
  • Planning - Sampling based methods (Chapter 5)
  • Grasping & Hands
  • Human Robot Interaction
  • Architectures
  • Ethics

Evaluation Components

Homework: 25%; Midterm Exam: 20%; Labs: 25%; and Final project: 30%

Similar courses

Student Learning Outcomes (SLOs)

Upon completion of the course, students will be able to:

  • SLO 1: Use and extend open-source framework for Robotics: ROS
  • SLO 2: Understand basic Robotics algorithms in: Exploration, Perception, Planning, Control
  • SLO 3: Understand basic AI algorithms for object detection, segmentation, RL

COVID-19 Statement

To keep our campus safe, students are expected to comply with all University policies related to the COVID-19 pandemic. For the latest guidance, please visit and

Academic Honesty Statement

Academic honesty is very important. It is dishonest to cheat on exams, to copy term papers, to submit papers written by another person, to fake experimental results, or to copy or reword parts of books or articles into your own papers without appropriately citing the source. Students committing or aiding in any of these violations may be given failing grades for an assignment or for an entire course, at the discretion of the instructor. In addition to any academic action taken by an instructor, these violations are also subject to action under the University of Maine Student Conduct Code. The maximum possible sanction under the student conduct code is dismissal from the University. Please see the University of Maine System’s Academic Integrity Policy listed in the Board Policy Manual as Policy 314

Sexual Discrimination Reporting

The University of Maine is committed to making campus a safe place for students. Because of this commitment, if you tell any of your teachers about sexual discrimination involving members of the campus, your teacher is required to report this information to Title IX Student Services or the Office of Equal Opportunity.

Behaviors that can be “sexual discrimination” include sexual assault, sexual harassment, stalking, relationship abuse (dating violence and domestic violence), sexual misconduct, and gender discrimination. Therefore, all of these behaviors must be reported.

Why do teachers have to report sexual discrimination?

The university can better support students in trouble if we know about what is happening. Reporting also helps us to identify patterns that might arise – for example, if more than one victim reports having been assaulted or harassed by the same individual.

What will happen to a student if a teacher reports?

An employee from Title IX Student Services or the Office of Equal Opportunity will reach out to you and offer support, resources, and information. You will be invited to meet with the employee to discuss the situation and the various options available to you.

If you have requested confidentiality, the University will weigh your request that no action be taken against the institution’s obligation to provide a safe, nondiscriminatory environment for all students. If the University determines that it can maintain confidentiality, you must understand that the institution’s ability to meaningfully investigate the incident and pursue disciplinary action, if warranted, may be limited. There are times when the University may not be able to honor a request for confidentiality because doing so would pose a risk to its ability to provide a safe, nondiscriminatory environment for everyone. If the University determines that it cannot maintain confidentiality, the University will advise you, prior to starting an investigation and, to the extent possible, will share information only with those responsible for handling the institution’s response

The University is committed to the well-being of all students and will take steps to protect all involved from retaliation or harm.

If you want to talk in confidence to someone about an experience of sexual discrimination, please contact these resources:

For confidential resources on campus: Counseling Center: 207-581-1392 or Cutler Health Center: at 207-581-4000.

For confidential resources off campus: Rape Response Services: 1-800-871-7741 or Partners for Peace: 1-800-863-9909.

Other resources: The resources listed below can offer support but may have to report the incident to others who can help:

For support services on campus: Title IX Student Services: 207-581-1406, Office of Community Standards: 207-581-1409, University of Maine Police: 207-581-4040 or 911. Or see the OSAVP website for a complete list of services.

Students Accessibility Services Statement

If you have a disability for which you may be requesting an accommodation, please contact Student Accessibility Services, 121 East Annex, 581.2319, as early as possible in the term. Students who have already been approved for accommodations by SAS and have a current accommodation letter should meet with me (the instructor of the course) privately as soon as possible.

Course Schedule Disclaimer

In the event of an extended disruption of normal classroom activities (due to COVID-19 or other long-term disruptions), the format for this course may be modified to enable its completion within its programmed time frame. In that event, you will be provided an addendum to the syllabus that will supersede this version.

Observance of Religious Holidays/Events

The University of Maine recognizes that when students are observing significant religious holidays, some may be unable to attend classes or labs, study, take tests, or work on other assignments. If they provide adequate notice (at least one week and longer if at all possible), these students are allowed to make up course requirements as long as this effort does not create an unreasonable burden upon the instructor, department or University. At the discretion of the instructor, such coursework could be due before or after the examination or assignment. No adverse or prejudicial effects shall result to a student’s grade for the examination, study, or course requirement on the day of religious observance. The student shall not be marked absent from the class due to observing a significant religious holiday. In the case of an internship or clinical, students should refer to the applicable policy in place by the employer or site.