Take Stanford's Introduction to Robotics For Free
Written by Nikos Vaggalis   
Tuesday, 14 December 2021

As part of the Stanford Engineering Everywhere initiative, which expands the Stanford experience to students and educators online and at no charge, the content of CS223A - Introduction to Robotics has been made available for free to anyone in a self-paced version.

The purpose of CS223A is to introduce you to basics of modeling, design, planning, and controlling robot systems. In essence, the material treated in this course is a brief survey of relevant results from geometry, kinematics, statics, dynamics, and control.

As in every Stanford Engineering Everywhere (SEE) course, the material that is offered is an actual campus course including lecture videos, as well as all lecture slides, reading lists and handouts, homework assignments, quizzes, examinations, and when appropriate, solution sets.

And while the course offered is well-established rather than brand new, the principles remain the same since the mathematical models that represent robotic systems,the foundations in kinematics and dynamics don't change.Those models are necessary for creating controllers to control the robot's motions.

The course is addressed to students with no prior experience on the topic as the instructor Prof. Khatib describes:

I’m going to assume that everyone has no knowledge of dynamics, control or kinematics, and I will start with the basic foundation. You shouldn’t worry about the fact that you don’t have a strong background in those areas. We will cover them from the start. We will go to what is the inertia, how did we describe the accelerations and then we will establish the dynamics, which is quite simple.

With that in mind,the main areas of focus are:

Kinematics is the way of finding a configuration that corresponds to the desired and effective position and orientation.This is used to do interpolation between where the robot is at a given point and how to move the robot to the final configuration through a trajectory smooth in velocity and acceleration and other constraints that we might impose.

The Jacobian, describes the V vector, the linear velocity, and the Omega vector, the angular velocity, and it relates those velocities to the joint velocities. It is really related to the way the axes of the robot are designed.

Namely, what is the perception in sensing you need to really build a system that has both manipulation and mobility capabilities?

You turn a robot on, it has to figure out where it is and, in particular, be able to move without running into things, be able to perform potentially some useful tasks that involve mobility. The next step up once you’ve decided where things are is you’d actually like to be able to identify where you are and what the things are in the environment.The final question is, once I know what the things are how do I interact with them?

Trajectory Planning
the underlying mathematics that plan for an object's path among other objects.

First we need to understand the dynamics of just one rigid body, and then combine these different dynamics together to understand the articulated multi-body system. To do that several formulations are used.

A lot of the projects in Experimental Robotics involve dynamic skills,throwing a ball into a basket or playing ping-pong,therefore juggling is quite challenging.The lecture gives insight on how to control that.

That's the high level overview, while the detailed syllabus is comprised of: 

  • Introduction
  • Spatial descriptions 1
  • Spatial descriptions 2
  • Forward Kinematics 1
  • Forward Kinematics 2
  • Jacobians: Velocities
  • Jacobians: Explicit Form
  • Jacobians: Static Forces
  • Inverse Kinematics/Trajectory generation
  • Dynamics: Acceleration and Inertia
  • Dynamics: Explicit Form
  • Control: PID control
  • Control: Joint space control
  • Control: Operational space control and Force control

To sum it up,this is a course leaning heavily on the valuable mathematical concepts behind controlling and moving a robot.
If instead you are looking for something more concrete that abstracts those details you better off with an operating system like ROS.


More Information

CS223A - Introduction to Robotics

Related Articles

Take Stanford's Natural Language Processing with Deep Learning For Free

Triple Treat Machine Learning

Gazebo Robot Simulator Makes Version 7

Dashing Diademata, the Future of ROS

PyRobot - Python for Robotics


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


What Is the Shift-Left Approach in DevOps?

The short answer is that it is a methodology that brings software testing into earlier stages of the software development lifecycle. We look at the importance of this new approach and how to impl [ ... ]

Computer Music - Floppotron 3

Computer-generated music is an art form in its own right. But what about music made by obsolete computer hardware? The third generation PC hardware orchestra, Floppotron 3.0, from Paweł Zadrożn [ ... ]

More News





or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 14 December 2021 )