Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Columbia University


Columbia University via edX

This course may be unavailable.


We think of Robotics as the science of building devices that physically interact with their environment. The most useful robots do it precisely, powerfully, repeatedly, tirelessly, fast, or some combinations of these. The most interesting robots maybe even do it intelligently. This course will cover the fundamentals of robotics, focusing on both the mind and the body.

We will learn about two core robot classes: kinematic chains (robot arms) and mobile bases. For both robot types, we will introduce methods to reason about 3-dimensional space and relationships between coordinate frames. For robot arms, we will use these to model the task of delivering a payload to a specified location. For mobile robots, we will introduce concepts for autonomous navigation in the presence of obstacles.

Class projects will make use of ROS - the open-source Robot Operating System ( widely used in both research and industry. Computer requirements for working on the projects will include a computer set up with Ubuntu Linux and high bandwidth internet access for downloading and installing ROS packages.


Week 1

  • Introduction to Robotics
  • Homogenous coordinates and transform representations

Week 2

  • Kinematic chains
  • Forward kinematics

Week 3

  • Inverse kinematics: analytical methods

Week 4

  • Differential kinematics: Jacobian computation, singular configurations

Week 5

  • Configuration space operation

Week 6

  • Mobile robots
  • Differential drive kinematics

Week 7

  • Motion planning in robotics

Taught by

Professor Matei Ciocarlie


3.0 rating, based on 2 Class Central reviews

Start your review of Robotics

  • Anonymous
    The problems killed me: You have to download 3MB (!) of code that you have to get running on your system.

    The concept of programming robot simulation is a good idea but the execution is very bad. I spend 80% of my time fighting with tools and re-engineering the provided source code or deciphering the explanation. Yes, it looks nice once you got it working but if you have not worked with all the software before, this course makes you HATE robotics forever!

    Worse: The programming projects count for ¾ (!) of the class. If you are not familiar with the tools used, you are doomed from the start.

    The good: Prof. Ciocarlie’s explanations are good.

  • Profile image for Jinqiang Zhang
    Jinqiang Zhang
    The content is relatively complete in terms of controlling robotic arms, including forward and inverse kinematics, Cartesian and Null Space control, ended with motion planning avoiding obstacles.
    The projects are using ROS framework to solve problems mentioned above, you get to see robotic arms moving in simulation, using industrial practice -- DH parameters.

    I reckon Professor Ciocarlie is too smart, he explains the ideas so well that I feel I understood the knowledge intuitively.

    Best part of course is how pseudo inverse is used to resolve singular situation. Linear Algebra is the hero in the end.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.