Introduction to Robotics (CIS 4930)

This course provides a computer scientist’s perspective of how autonomous robots perceive the environment and plan their actions accordingly. Topics include: Coordinate Systems, Sensors for mobile robots, including cameras, wheel/motor sensors, obstacle avoiding sensors, etc., Localization of mobile robots and mapping of an environment (SLAM), Path/motion planning algorithms such as Bug, A*, D*, PRM, RRT etc., and multi-robot systems.

The students will learn about the above-mentioned techniques and implement a few of them in simulation using high-fidelity simulators like V-Rep, Webots, and/or Gazebo. Students will also gain experience in the Robot Operating System (ROS) and will potentially implement algorithms on real TurtleBot 3, AR Drone, or Bebop 2 robots as part of their final class projects.


Cover page of the textbook
Correll, N. (2015). Introduction to Autonomous Robots-Kinematics, Perception, Localization and Planning (Free downloadable version on GitHub). (Required)

Siegwart, R., Nourbakhsh, I. R., Scaramuzza, D., & Arkin, R. C. (Second edition, 2011). Introduction to autonomous mobile robots. MIT press. (Recommended)

LaValle, S. M. (2006). Planning algorithms. Cambridge University Press (Free downloadable version from the author’s website). (Recommended)

Prerequisites COP 3530/3538 Data Structures
Student Outcomes

The student will:

1.       Represent the position and orientation of a robot.

2.      Understand and model various sources of noise in a robot’s perceptions.

3.      Implement vision-based algorithms for object detection and obstacle avoidance.

4.      Design techniques for mapping an environment.

5.      Understand and implement state-of-the-art localization techniques.

6.      Implement and optimize state-of-the-art path/motion planning algorithms.



A* animation (Wikipedia)


–       Introduction: History and Overview

–       Locomotion and manipulation and their “degrees of freedom”

–       Coordinate systems and frames of reference

–       Different sensors used in mobile autonomous robots: Accelerometer, IMU, Gyroscope, GPS, laser, encoders etc.

–       Noise representation in sensors

–       Configuration space and its discretization

–       Path/motion planning algorithms: A*, D*, Sampling-based methods such as PRM, RRT etc.

–       Simultaneous localization and mapping (SLAM)

–       Multi-robot systems: coverage path planning, communication

Student Project Demo

A Baxter robot is serving drinks to the customers based on their (April)tags.