18-799-L   Robotics: Principles and Practice

Location: Africa

Units: 12

Semester Offered: Fall

Course discipline


Course description

Robotics is the discipline that is concerned with physical, autonomous systems that can sense their environment and act on it to achieve goals, either by moving around their environment, moving objects in their environment, or both. This course explains how they do this, covering the theoretical knowledge required to sense the state of the robot and its environment and control the robot to accomplish its tasks. This theory is put into practice throughout the course using robot simulators and physical robots. Students will gain a greater understanding of each topic through a series of individual and group assignments and exercises, using the principles they have learned to write software that allows a robot to navigate to given targets and manipulate objects based on visual sensing. This course is an ideal foundation for further study in the field of robotics. Student progress is assessed by a series of multiple-choice tests and written individual & group assignments.

Learning objectives

Students will be introduced to the different types of robots and the components, effectors, actuators, sensors, and control systems that are used for visual sensing, locomotion, and object manipulation. For mobile robots, students will learn the main principles of odometry, position estimation, kinematics, inverse kinematics, control, locomotion, path planning, and navigation. For robot manipulators, they will learn the theory required for pose specification, object manipulation, and task-level robot programming. For visual sensing, students will learn the fundamentals of image processing, image analysis, feature extraction, classification, camera calibration, and 2D & 3D computer vision. They will learn how to program robots using ROS (Robot Operating System), C/C++, and OpenCV, putting into practice in the lab what they have learned in the classroom.


After completing this course, students will be able to:

  • Explain the operation of the different components of a robot, including sensors, actuators, effectors, and control systems.
  • Describe the different types of robot and their applications.
  • Explain how mobile robots control their effectors for locomotion using odometry and absolute position estimation.
  • Use graph-based techniques to plan an effective path to a goal position and orientation.
  • Use homogeneous transformations, vectors, and quaternions to specify the position and orientation of objects.
  • Write task-level robot programs to manipulate objects.
  • Use robot vision to detect objects and determine their position and orientation.
  • Apply their knowledge to write ROS-based computer programs that control mobile robots and robot arms, enabling the robots to recognize and manipulate objects and navigate their environments.

Content details

  • Overview of robotics
  • Robot components
  • Sensors, actuators, effectors, control systems
  • The Robot Operating System (ROS)
  • Writing ROS software: publishers, subscribers, and services
  • Mobile robots
  • Absolute and relative position estimation
  • Robot kinematics, odometry, locomotion, navigation, path planning
  • Robot manipulators
  • Coordinate reference frames, homogeneous transformations, and pose specifications
  • Task-level programming, pick-and-place applications
  • Inverse kinematics
  • Robot vision
  • Optics and sensors
  • Image acquisition and representation
  • Image processing and image analysis
  • Feature extraction and classification
  • Camera models, inverse perspective transformations, and stereo vision




David Vernon